Skip to content

Remove minijinja from sys_llm and LSP/diagnostics - #4229

Closed
codeshaunted wants to merge 4 commits into
canaryfrom
avery/b-1024
Closed

Remove minijinja from sys_llm and LSP/diagnostics#4229
codeshaunted wants to merge 4 commits into
canaryfrom
avery/b-1024

Conversation

@codeshaunted

@codeshaunted codeshaunted commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Issue Reference

Changes

  • Migrate every test that exercised the legacy Jinja render path to BEP-049 backtick prompts: bex_engine integration tests, the baml_tests corpus and drivers, baml_cli profiles e2e, and sdk_tests fixtures. Direct Rust-level sys_llm::render_prompt tests are rewritten BAML-level; jinja-macro template_string tests become plain expression functions; 3-arg baml.llm.render_prompt/build_request calls go through the compiled Fn$render_prompt/Fn$build_request companions.
  • Delete the Jinja engine: sys_llm/src/jinja, the sys_jinja and sys_jinja_types crates, and the minijinja/minijinja-contrib workspace deps (the boundaryml fork). Cargo.lock no longer resolves minijinja; expected baml-cli size reduction is the ~0.5 MB discussed on the ticket (size gate will report the exact delta).
  • stdlib: render_specialized_prompt(return_type, prompt_closure) drops its template/args params; a null closure (legacy #"..."# function) throws baml.errors.RenderPrompt with a migration hint instead of rendering. The retry/fallback orchestrators rethrow RenderPrompt instead of burying it under "All orchestration steps failed" (it is deterministic; retrying cannot help). get_jinja_template, prompt_template_for, PrimitiveClient.render_prompt, and the ExecutionContext.jinja_string/args threading are gone. Legacy syntax still parses; removing it from the grammar is M6.
  • Remove the template-string {% macro %} emit pass and its plumbing (CompiledUnit.template_macros, Program/BytecodeProgram/SysOpContext.template_strings_macros, FunctionMeta::Llm.prompt_template), plus the now write-only legacy prompt data (LlmBodyDef.prompt, RawPrompt, TemplateStringDef.body through HIR/PPIR). bex_cache::FORMAT_VERSION bumps to 4 for the wire-format change.
  • LSP/diagnostics: remove check_jinja_templates and the sys_jinja_types validator; retire E0070-E0087 (codes are not reused) and the dead TypeError::Jinja* variants; drop the fixtures that pinned validator output.
  • Media in backtick prompts: assemble_prompt_ast now receives the raw interpolation values alongside their rendered string forms, so ${img} becomes a media content part (both baml.media.* instances and host-injected media ADTs), matching the legacy renderer's trim/drop semantics. prompt_role_name matches baml.llm.Role exactly so a user class named Role is no longer mistaken for a chat-role marker. The previously-ignored openai/anthropic mixed text+image tests are enabled, re-pinned to current deliberate builder behavior (media messages promote to the user role; anthropic max_tokens defaults to 8192).

Dropped intentionally: ctx.enums rendering (production always passed empty enum maps; it was reachable only from a Rust-level test API) and the string_methods pycompat fixture (existed solely to exercise the deleted validator).

Known follow-up: media nested in composites (${images} for an image[] param, class fields, map values) is stringified with its container; only top-level media interpolations become media parts (noted at prompt_media_value). The legacy converter recursed into composites.

Testing

  • cargo nextest run --all-features --workspace --exclude baml_tests --exclude baml_cli --exclude baml_lsp2_actions --exclude "sdk_test_*" --exclude baml_bridge (4677 passed)
  • cargo test -p baml_tests (corpus 2551+, all tiers; snapshots regenerated for the stdlib/describe/package-item churn)
  • cargo test -p baml_cli -p baml_lsp2_actions -p baml_lsp2_actions_tests -p bex_engine
  • cargo nextest run -p sdk_test_python_pydantic2 / rust / typescript / typescript_web / java / go / swift / cpp / llm_recordings -E 'test(llm_functions)' (csharp verified through the harness compile + sdkgen path; no dotnet locally)
  • mise run fmt, mise run stow, mise run clippy, mise run clippy-wasm, prek run --all-files
  • rg minijinja across the workspace: only the bex_cache format-version history comment remains

Summary by CodeRabbit

  • New Features

    • Added unified backtick-based prompt rendering with ${...} interpolation for LLM calls, streaming, rendering/preview, roles, and media handling.
  • Bug Fixes

    • Deterministic prompt rendering failures are surfaced immediately (rather than retried/suppressed).
    • Provider request bodies now match the rendered prompt output byte-for-byte.
    • Prevented user-defined Role classes from being treated as chat role markers.
  • Refactor

    • Removed legacy template rendering and validation, including related compiler/LSP diagnostics.
    • Updated prompt compilation artifacts and prompt assembly to rely on precompiled prompt closures.
    • Bumped on-disk cache format and invalidated older entries.

Rewrite every test that exercises the legacy jinja render path to the
BEP-049 backtick prompt system: bex_engine integration tests, baml_tests
corpus + drivers, baml_cli profiles e2e, and sdk_tests fixtures.
Direct sys_llm::render_prompt Rust-level tests are rewritten BAML-level
via hand-built baml.llm.Context + prompt closures; template_string jinja
macros become plain expression functions; 3-arg baml.llm.render_prompt /
build_request calls go through the compiled Fn$render_prompt /
Fn$build_request companions.

Still on legacy syntax (blocked on new-system gaps, addressed next):
- three ignored media interpolation tests (structural assembler renders
  media values as empty text)
- test_render_prompt_with_enums (ctx.enums; production always passed
  empty enum maps, so this is test-only surface)
Delete the legacy Jinja prompt engine now that every runtime test renders
through the BEP-049 backtick prompt closures:

- sys_llm: drop the jinja render module and execute_render_prompt_from_owned;
  re-export OutputFormatContent from types directly.
- Delete the sys_jinja and sys_jinja_types crates and the minijinja /
  minijinja-contrib workspace dependencies (boundaryml fork, ~0.5 MB of
  binary size).
- stdlib: render_specialized_prompt loses its template/args params and throws
  root.errors.RenderPrompt with a migration hint for null-closure (legacy
  #"..."#) functions; remove get_jinja_template, prompt_template_for,
  PrimitiveClient.render_prompt, and the ExecutionContext jinja_string/args
  threading. Legacy syntax still parses; removing it is a follow-up (M6).
- Remove the template-string {% macro %} emit pass and its plumbing
  (CompiledUnit.template_macros, Program/BytecodeProgram/SysOpContext
  template_strings_macros, FunctionMeta::Llm prompt_template); bump
  bex_cache FORMAT_VERSION to 4 for the wire-format change.
- LSP: remove check_jinja_templates and its sys_jinja_types-based validator;
  retire diagnostics E0070-E0087 and the dead TypeError::Jinja* variants.
- Media in backtick prompts: assemble_prompt_ast now takes the raw values
  alongside their rendered string forms, so ${img} becomes a media content
  part (matching the legacy renderer's trim/drop semantics) for both
  in-language and host-injected media representations.
- Migrate the remaining direct-call tests (stream_llm_function type-args pin,
  env.rs assemble calls, media build_request tests); drop the jinja halves of
  the prompt_tag_e2e parity tests, the ctx.enums render test (that context was
  never populated in production), and the string_methods pycompat fixture.
- Regenerate stdlib, describe, and package-item snapshots.
- prompt_role_name now matches baml.llm.Role exactly: with raw values
  reaching the assembler, the old .Role suffix match swallowed user-defined
  classes named Role as chat-role markers (corpus regression test added).
- Enable the openai and anthropic mixed text+image build_request tests,
  re-pinned to current deliberate builder behavior (media messages promote
  to the user role; anthropic max_tokens defaults to 8192), and add sys_ops
  unit tests covering the assembler's media shapes and legacy trim parity.
- Fail fast on RenderPrompt in the retry and fallback orchestrators: the
  error is deterministic, so surface the migration hint instead of the
  generic "All orchestration steps failed".
- Remove the now write-only legacy prompt data: LlmBodyDef.prompt, RawPrompt,
  Interpolation, TemplateStringDef.body and its HIR/PPIR copies (their last
  readers went with the jinja validator and macro emit pass).
- Refresh stale comments that still described the deleted jinja engine
  (dedent.rs, lower_cst.rs, companions.rs, sys_llm docs, stdlib Context and
  render_prompt_values docs) and regenerate the architecture crate graph.
- Known follow-up: media nested in composites (${images} for image[]) is
  stringified with its container; only top-level media interpolations become
  media parts (noted at prompt_media_value).
@linear

linear Bot commented Jul 27, 2026

Copy link
Copy Markdown

B-1024

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
beps Ready Ready Preview, Comment Jul 27, 2026 10:31pm
promptfiddle Ready Ready Preview, Comment Jul 27, 2026 10:31pm
promptfiddle2 Ready Ready Preview, Comment Jul 27, 2026 10:31pm

Request Review

@github-actions

Copy link
Copy Markdown

⏭️ Performance benchmarks were skipped

Perf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to canary/main.

To run them on this PR, do any of the following, then push a commit (or re-run CI):

  • Add RUN_CODSPEED=1 to the PR description, or
  • Include run-perf or /perf in the PR title or any commit message.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 352a5e42-e97d-4212-9834-00830d55d743

📥 Commits

Reviewing files that changed from the base of the PR and between 5cd25b1 and f1224d3.

⛔ Files ignored due to path filters (5)
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____03_ppir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/tests/bytecode_format/snapshots/bytecode_format__bytecode_display_expanded.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/tests/bytecode_format/snapshots/bytecode_format__bytecode_display_expanded_unoptimized.snap is excluded by !**/*.snap
📒 Files selected for processing (2)
  • baml_language/crates/baml_lsp2_actions/src/check.rs
  • baml_language/crates/baml_tests/src/compiler2_tir/phase3a.rs
🚧 Files skipped from review as they are similar to previous changes (2)
  • baml_language/crates/baml_tests/src/compiler2_tir/phase3a.rs
  • baml_language/crates/baml_lsp2_actions/src/check.rs

📝 Walkthrough

Walkthrough

The pull request removes the legacy MiniJinja prompt pipeline and migrates LLM rendering to compiled backtick prompt closures. Compiler metadata, runtime layouts, diagnostics, LSP validation, dependencies, cache formats, and related tests are updated accordingly.

Changes

Prompt rendering migration

Layer / File(s) Summary
Closure-based prompt execution
baml_language/crates/baml_builtins2/..., baml_language/crates/sys_ops/src/lib.rs
LLM rendering and request construction use prompt closures; structural assembly separates raw values from rendered values and handles roles and media.
Compiler and runtime metadata
baml_language/crates/baml_compiler2_..., baml_language/crates/bex_vm*, baml_language/crates/sys_types/src/lib.rs, baml_language/crates/bex_cache/src/lib.rs
Legacy prompt-template and macro fields are removed from compiler data, bytecode structures, runtime contexts, function metadata, and cache format version 4.
Jinja removal
baml_language/crates/sys_jinja*, baml_language/crates/sys_llm/..., baml_language/crates/baml_lsp2_actions/..., baml_language/crates/baml_compiler_diagnostics/...
MiniJinja dependencies, runtime APIs, LSP validation, and Jinja diagnostic variants are removed.
Prompt migration coverage
baml_language/crates/bex_engine/tests/*, baml_language/crates/baml_tests/*, baml_language/sdk_tests/*
Prompt fixtures and assertions migrate to backtick interpolation, companion rendering, explicit prompt closures, and structural role/media behavior.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

Poem

A rabbit hops through prompts anew,
With backticks bright and closures true.
Old Jinja trails fade from sight,
Roles and media assemble right.
Cache numbers thump, tests cheer—
Fresh compiled prompts are here!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change by describing the Minijinja/Jinja removal from sys_llm and LSP/diagnostics.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch avery/b-1024

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

Binary size checks passed

7 passed

Artifact Platform File Gzip Gated on Baseline Delta Status
baml-cli Linux 🔒 26.4 MB 11.2 MB file 27.3 MB -898.1 KB (-3.3%) OK
packed-program Linux 🔒 16.9 MB 7.0 MB file 17.7 MB -763.4 KB (-4.3%) OK
baml-cli macOS 🔒 20.5 MB 9.8 MB file 21.2 MB -696.8 KB (-3.3%) OK
packed-program macOS 🔒 13.2 MB 6.1 MB file 13.8 MB -581.0 KB (-4.2%) OK
baml-cli Windows 🔒 22.1 MB 10.0 MB file 22.8 MB -718.3 KB (-3.1%) OK
packed-program Windows 🔒 14.1 MB 6.2 MB file 14.7 MB -632.3 KB (-4.3%) OK
bridge_wasm WASM 15.6 MB 🔒 4.2 MB gzip 4.5 MB -266.7 KB (-5.9%) OK

🔒 = the size this artifact is GATED on (ceiling + delta). Binaries gate on file size (installed binary); WASM gates on gzip (download size). The other size is shown for information only.


Generated by cargo size-gate · workflow run

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
baml_language/crates/baml_compiler2_ast/src/lower_cst.rs (1)

2398-2424: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Emit a deprecation diagnostic for legacy template_string bodies.

parse_template_string() still reads the raw-string body and the HIR/PPIT data only carry name and params; this path currently records the item and drops its prompt body with no migration/no-op warning.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/baml_compiler2_ast/src/lower_cst.rs` around lines 2398 -
2424, Update lower_template_string to emit a deprecation diagnostic when a
legacy template_string body is present, while preserving the existing name and
parameter lowering. Reuse the parser’s raw-body presence information and the
established diagnostic type/message conventions, ensuring the body remains
intentionally ignored after the warning.
🧹 Nitpick comments (1)
baml_language/crates/bex_engine/tests/build_request.rs (1)

1059-1099: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Stale ignored test — the correct expected values are already documented in the #[ignore] message.

test_anthropic_audio_url's ignore reason states the builder actually emits max_tokens: 8192 and "type": "input_audio", but the assertion body still pins the old 4096/"audio" values. Since the PR's own goal is "enabling related provider tests" for media, and test_anthropic_mixed_text_and_image was just fixed to pin 8192 for the analogous case, updating this assertion to match and re-enabling the test looks like a straightforward, low-risk win.

♻️ Proposed fix (pending confirmation of actual builder output)
-#[ignore = "request builder emits max_tokens 8192 and type input_audio; assertion pins 4096 and audio"]
 async fn test_anthropic_audio_url() {
     ...
     assert_eq!(
         body,
         serde_json::json!({
             "model": "claude-3-5-sonnet-20241022",
-            "max_tokens": 4096,
+            "max_tokens": 8192,
             "messages": [
                 {
                     "role": "user",
                     "content": [
                         {"type": "text", "text": "Transcribe this audio:"},
-                        {"type": "audio", "source": {"type": "url", "url": "https://example.com/speech.mp3"}}
+                        {"type": "input_audio", "source": {"type": "url", "url": "https://example.com/speech.mp3"}}
                     ]
                 }
             ]
         })
     );
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@baml_language/crates/bex_engine/tests/build_request.rs` around lines 1059 -
1099, Update test_anthropic_audio_url to assert the builder’s current output:
max_tokens 8192 and the input_audio content type, then remove its #[ignore]
attribute so the test runs. Preserve the existing model, URL, and message
structure assertions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@baml_language/crates/baml_compiler2_ast/src/lower_cst.rs`:
- Around line 2398-2424: Update lower_template_string to emit a deprecation
diagnostic when a legacy template_string body is present, while preserving the
existing name and parameter lowering. Reuse the parser’s raw-body presence
information and the established diagnostic type/message conventions, ensuring
the body remains intentionally ignored after the warning.

---

Nitpick comments:
In `@baml_language/crates/bex_engine/tests/build_request.rs`:
- Around line 1059-1099: Update test_anthropic_audio_url to assert the builder’s
current output: max_tokens 8192 and the input_audio content type, then remove
its #[ignore] attribute so the test runs. Preserve the existing model, URL, and
message structure assertions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 73ddad96-1529-4677-8889-327b23fe6233

📥 Commits

Reviewing files that changed from the base of the PR and between 0e87fd6 and 5cd25b1.

⛔ Files ignored due to path filters (22)
  • baml_language/Cargo.lock is excluded by !**/*.lock
  • baml_language/architecture/architecture.svg is excluded by !**/*.svg
  • baml_language/crates/baml_cli/src/snapshots/baml_cli__describe_command_tests__render_builtin_namespace_llm.snap is excluded by !**/*.snap
  • baml_language/crates/baml_cli/src/snapshots/baml_cli__describe_command_tests__render_builtin_package_listing.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/google_llm_env.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/parse_companions.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/prompt_tag_runtime.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/streaming_parsing.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/baml_src/type_reflection.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____03_ppir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/__baml_std__/baml_tests__compiles____baml_std____06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/string_methods/baml_tests__compiles__string_methods__03_ppir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/string_methods/baml_tests__compiles__string_methods__04_5_mir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/string_methods/baml_tests__compiles__string_methods__04_tir.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/string_methods/baml_tests__compiles__string_methods__05_diagnostics.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/string_methods/baml_tests__compiles__string_methods__06_codegen.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/snapshots/compiles/string_methods/baml_tests__compiles__string_methods__10_formatter__string_methods.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/src/compiler2_tir/snapshots/baml_tests__compiler2_tir__phase5__snapshot_baml_package_items.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/tests/bytecode_format/snapshots/bytecode_format__bytecode_display_expanded.snap is excluded by !**/*.snap
  • baml_language/crates/baml_tests/tests/bytecode_format/snapshots/bytecode_format__bytecode_display_expanded_unoptimized.snap is excluded by !**/*.snap
📒 Files selected for processing (80)
  • baml_language/Cargo.toml
  • baml_language/crates/baml_base/src/dedent.rs
  • baml_language/crates/baml_builtins2/baml_std/baml/ns_llm/llm.baml
  • baml_language/crates/baml_builtins2/baml_std/baml/ns_llm/llm_types.baml
  • baml_language/crates/baml_builtins2_codegen/src/extract.rs
  • baml_language/crates/baml_cli/tests/test_profiles_e2e.rs
  • baml_language/crates/baml_compiler2_ast/src/ast.rs
  • baml_language/crates/baml_compiler2_ast/src/companions.rs
  • baml_language/crates/baml_compiler2_ast/src/lower_cst.rs
  • baml_language/crates/baml_compiler2_emit/src/lib.rs
  • baml_language/crates/baml_compiler2_hir/src/item_tree/builder.rs
  • baml_language/crates/baml_compiler2_hir/src/item_tree/template_strings.rs
  • baml_language/crates/baml_compiler2_ppir/src/item_data/functions.rs
  • baml_language/crates/baml_compiler2_ppir/src/item_data/template_strings.rs
  • baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/baml_lsp2_actions/Cargo.toml
  • baml_language/crates/baml_lsp2_actions/src/check.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/completion/prompt_ctx.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/completion/prompt_ctx_client.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/completion/prompt_underscore.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/semantic_tokens/type_aliases_jinja.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/class/type_aliases_jinja.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/enum/enums_in_jinja.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/enum/nullable_enums_in_jinja.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/prompt_errors/prompt1.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/prompt_errors/prompt2.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/prompt_errors/role.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/valid.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/template_string/bad_calls.baml
  • baml_language/crates/baml_tests/baml_src/ns_google_llm_env/google_llm_env.baml
  • baml_language/crates/baml_tests/baml_src/ns_parse_companions/parse_companions.baml
  • baml_language/crates/baml_tests/baml_src/ns_prompt_tag_runtime/prompt_tag_runtime.baml
  • baml_language/crates/baml_tests/baml_src/ns_streaming_parsing/streaming_parsing.baml
  • baml_language/crates/baml_tests/baml_src/ns_type_reflection/type_reflection.baml
  • baml_language/crates/baml_tests/projects/compiles/string_methods/string_methods.baml
  • baml_language/crates/baml_tests/src/compiler2_tir/phase3a.rs
  • baml_language/crates/baml_tests/tests/env.rs
  • baml_language/crates/baml_tests/tests/google_llm_env.rs
  • baml_language/crates/baml_tests/tests/parse_companions.rs
  • baml_language/crates/baml_tests/tests/prompt_tag_e2e.rs
  • baml_language/crates/baml_tests/tests/streaming_parsing.rs
  • baml_language/crates/bex_cache/src/lib.rs
  • baml_language/crates/bex_engine/Cargo.toml
  • baml_language/crates/bex_engine/src/lib.rs
  • baml_language/crates/bex_engine/tests/build_request.rs
  • baml_language/crates/bex_engine/tests/collect_tests.rs
  • baml_language/crates/bex_engine/tests/common/mod.rs
  • baml_language/crates/bex_engine/tests/llm_render.rs
  • baml_language/crates/bex_engine/tests/orchestration.rs
  • baml_language/crates/bex_engine/tests/prof_gate.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm_types/src/link.rs
  • baml_language/crates/bex_vm_types/src/types.rs
  • baml_language/crates/bex_vm_types/src/types/function.rs
  • baml_language/crates/bex_vm_types/src/unit.rs
  • baml_language/crates/sys_jinja/Cargo.toml
  • baml_language/crates/sys_jinja/src/lib.rs
  • baml_language/crates/sys_jinja_types/Cargo.toml
  • baml_language/crates/sys_jinja_types/src/evaluate_type/expr.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/mod.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/pretty_print.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/stmt.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/test_expr.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/test_stmt.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/types.rs
  • baml_language/crates/sys_jinja_types/src/lib.rs
  • baml_language/crates/sys_llm/Cargo.toml
  • baml_language/crates/sys_llm/src/jinja/error.rs
  • baml_language/crates/sys_llm/src/jinja/mod.rs
  • baml_language/crates/sys_llm/src/jinja/output_format_object.rs
  • baml_language/crates/sys_llm/src/jinja/render.rs
  • baml_language/crates/sys_llm/src/jinja/value_conversion.rs
  • baml_language/crates/sys_llm/src/lib.rs
  • baml_language/crates/sys_ops/src/lib.rs
  • baml_language/crates/sys_types/src/lib.rs
  • baml_language/sdk_tests/crates/csharp/phase10_stream/baml_src/ns_csharp_phase10/main.baml
  • baml_language/sdk_tests/fixtures/llm_functions/baml_src/ns_ipsum/functions.baml
  • baml_language/sdk_tests/fixtures/llm_functions/baml_src/ns_lorem/functions.baml
💤 Files with no reviewable changes (44)
  • baml_language/crates/sys_jinja_types/src/evaluate_type/expr.rs
  • baml_language/crates/sys_jinja/Cargo.toml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/completion/prompt_underscore.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/completion/prompt_ctx.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/prompt_errors/role.baml
  • baml_language/crates/bex_engine/Cargo.toml
  • baml_language/crates/sys_jinja_types/Cargo.toml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/completion/prompt_ctx_client.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/enum/nullable_enums_in_jinja.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/prompt_errors/prompt2.baml
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/template_string/bad_calls.baml
  • baml_language/crates/sys_jinja_types/src/evaluate_type/test_expr.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/class/type_aliases_jinja.baml
  • baml_language/crates/baml_compiler2_hir/src/item_tree/builder.rs
  • baml_language/crates/sys_llm/src/jinja/mod.rs
  • baml_language/crates/sys_jinja_types/src/lib.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/prompt_errors/prompt1.baml
  • baml_language/crates/sys_llm/src/jinja/error.rs
  • baml_language/crates/sys_llm/Cargo.toml
  • baml_language/crates/baml_lsp2_actions/Cargo.toml
  • baml_language/crates/sys_jinja_types/src/evaluate_type/test_stmt.rs
  • baml_language/crates/baml_compiler2_ppir/src/item_data/functions.rs
  • baml_language/crates/baml_compiler2_ppir/src/item_data/template_strings.rs
  • baml_language/crates/baml_compiler2_hir/src/item_tree/template_strings.rs
  • baml_language/crates/sys_llm/src/jinja/value_conversion.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/semantic_tokens/type_aliases_jinja.baml
  • baml_language/crates/baml_tests/projects/compiles/string_methods/string_methods.baml
  • baml_language/crates/sys_jinja/src/lib.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/pretty_print.rs
  • baml_language/crates/sys_llm/src/jinja/output_format_object.rs
  • baml_language/crates/bex_vm_types/src/types.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/mod.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/stmt.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/enum/enums_in_jinja.baml
  • baml_language/crates/sys_llm/src/jinja/render.rs
  • baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/functions_v2/valid.baml
  • baml_language/Cargo.toml
  • baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
  • baml_language/crates/bex_vm_types/src/link.rs
  • baml_language/crates/sys_jinja_types/src/evaluate_type/types.rs
  • baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
  • baml_language/crates/bex_vm/src/vm.rs
  • baml_language/crates/bex_vm_types/src/unit.rs
  • baml_language/crates/sys_types/src/lib.rs

Conflicts: the two bytecode_format display snapshots, regenerated from the
merged tree.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant