Repository navigation
chore: delete watch - #4003
chore: delete watch#4003sxlijin wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
⏭️ Performance benchmarks were skippedPerf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to To run them on this PR, do any of the following, then push a commit (or re-run CI):
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (13)
📒 Files selected for processing (84)
📝 WalkthroughWalkthroughThe PR removes the ChangesWatch system removal
Bridge call and host-error updates
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ast-grep (0.44.1)baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.jsast-grep timed out on this file 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. Comment |
There was a problem hiding this comment.
💡 Codex Review
When a generated/packed project is loaded, baml generate stores a Borsh-encoded Program and new_from_bytecode deserializes it before execution. Removing the middle Instruction variants shifts the Borsh tag for Call and every later instruction, so bytecode produced before this change that contains ordinary calls can deserialize as the wrong opcode or fail after reading the wrong payload. Keep dead/reserved variants in this slot or add explicit bytecode versioning/migration before changing the tag space.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| /// Only recursive aliases survive lower_ty; non-recursive are expanded. | ||
| #[axis(special)] | ||
| TypeAlias(TypeName, TyAttr), |
There was a problem hiding this comment.
Preserve type-family discriminants when removing WatchAccessor
Generated and packed bytecode persists Program values with Borsh, and those programs contain RuntimeTy/TyTemplate values. This master enum uses declaration order for Borsh tags, so deleting the middle WatchAccessor slot reindexes TypeAlias, TypeVar, AssociatedTypeProjection, BuiltinUnknown, and the rest of the tail; existing bytecode with any of those common types can decode as a different type or fail. Leave a deprecated/reserved variant in this position or version/migrate the serialized format instead of collapsing the tags.
Useful? React with 👍 / 👎.
Binary size checks passed✅ 7 passed
Generated by |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
baml_language/crates/bex_engine/README.md (1)
101-107: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winDocument the
Eventvariant in the state table.The diagram now shows
Event (custom), andbaml_language/crates/bex_engine/src/lib.rshandlesVmExecState::Eventat Line 5046, but this “VmExecState Variants” table lists onlyComplete,ScheduleFuture, andAwait. Add the custom event row and its stack/resume behavior.🤖 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/README.md` around lines 101 - 107, Update the “VmExecState Variants” table in README.md to add the Event variant, documenting its custom-event purpose and the corresponding stack/resume behavior handled by VmExecState::Event in lib.rs. Keep the existing variant descriptions unchanged.baml_language/crates/bex_engine/src/lib.rs (1)
1453-1479: 🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy liftHandle
EarlyYieldduring$init.VmExecState::EarlyYieldis a real VM state and the main loop parks at the safepoint, but this init loop treats it asInitFailed. Route it through the same safepoint path here, or make$initexplicitly non-yielding.🤖 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/src/lib.rs` around lines 1453 - 1479, Handle VmExecState::EarlyYield in the $init execution loop alongside other safepoint-yielding states, routing it through the same continuation/safepoint handling used by the main VM loop instead of returning InitFailed. Preserve completion, event handling, and unexpected-state behavior in the surrounding vm.exec match.Source: Coding guidelines
baml_language/crates/bex_vm_types/src/bytecode.rs (1)
494-499: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winKeep
Instructiondiscriminants stable.baml packborsh-serializesProgram(which containsFunction.bytecode.instructions), andbex_project::new_from_bytecodedeserializes that payload, so removing variants from the middle will break existing packed artifacts.🤖 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_vm_types/src/bytecode.rs` around lines 494 - 499, Preserve stable numeric discriminants for the Instruction enum around AwaitAny and subsequent variants, since serialized Program bytecode depends on them. Do not remove or reorder existing variants; retain deprecated entries in place and append any new variants only at the end.baml_language/crates/baml_compiler2_emit/src/verifier.rs (1)
84-86: 🎯 Functional Correctness | 🔴 Critical | ⚡ Quick winTest module needs
LocalandStatementKindin scope
stmt_assignstill uses both, and the switch tests callstmt_assign(Local(0), 1). Add them to the test import instead of the production import to avoid an unused-import warning there.🤖 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_emit/src/verifier.rs` around lines 84 - 86, Update the verifier test module’s imports to bring Local and StatementKind into scope, allowing stmt_assign and switch tests to compile. Keep these symbols out of the production import list so it does not gain unused-import warnings.Source: Coding guidelines
🧹 Nitpick comments (1)
baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py (1)
27-27: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winRemoved
watch_accessorfield number likely not reserved in source.proto.Decoding the embedded descriptor bytes shows the
BamlTyoneof jumps fromvoid(field 20) straight totype_var(field 22), with no evidence of areservedrange covering the dropped field 21 (formerlywatch_accessor). Per protobuf best practice, deleted field numbers/names should be explicitly reserved in the.protosource to prevent accidental reuse in future schema changes, since reusing a field number with a different type can corrupt wire data for mixed old/new binaries.This file is generated from
baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto(part of a different layer in this PR stack), so the actual fix belongs there (e.g.reserved 21; reserved "watch_accessor";insideBamlTy).🤖 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/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py` at line 27, Update the BamlTy message in the source protobuf definition to reserve field number 21 and the removed watch_accessor field name, then regenerate the Python descriptor output so it reflects the reserved schema.
🤖 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_emit/src/verifier.rs`:
- Around line 84-86: Update the verifier test module’s imports to bring Local
and StatementKind into scope, allowing stmt_assign and switch tests to compile.
Keep these symbols out of the production import list so it does not gain
unused-import warnings.
In `@baml_language/crates/bex_engine/README.md`:
- Around line 101-107: Update the “VmExecState Variants” table in README.md to
add the Event variant, documenting its custom-event purpose and the
corresponding stack/resume behavior handled by VmExecState::Event in lib.rs.
Keep the existing variant descriptions unchanged.
In `@baml_language/crates/bex_engine/src/lib.rs`:
- Around line 1453-1479: Handle VmExecState::EarlyYield in the $init execution
loop alongside other safepoint-yielding states, routing it through the same
continuation/safepoint handling used by the main VM loop instead of returning
InitFailed. Preserve completion, event handling, and unexpected-state behavior
in the surrounding vm.exec match.
In `@baml_language/crates/bex_vm_types/src/bytecode.rs`:
- Around line 494-499: Preserve stable numeric discriminants for the Instruction
enum around AwaitAny and subsequent variants, since serialized Program bytecode
depends on them. Do not remove or reorder existing variants; retain deprecated
entries in place and append any new variants only at the end.
---
Nitpick comments:
In `@baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py`:
- Line 27: Update the BamlTy message in the source protobuf definition to
reserve field number 21 and the removed watch_accessor field name, then
regenerate the Python descriptor output so it reflects the reserved schema.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: e759d35a-3388-4074-9291-ce25ea015259
⛔ Files ignored due to path filters (13)
baml_language/crates/baml_tests/snapshots/baml_src/_root.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/baml_src/lambdas.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/baml_src/watch.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snapis excluded by!**/*.snapbaml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.gois excluded by!**/*.pb.gobaml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.tsis excluded by!**/dist/**baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.jsis excluded by!**/dist/**
📒 Files selected for processing (75)
baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yamlbaml_language/crates/baml_cli/src/paint.rsbaml_language/crates/baml_compiler2_ast/src/ast.rsbaml_language/crates/baml_compiler2_ast/src/disambiguate.rsbaml_language/crates/baml_compiler2_ast/src/lower_expr_body.rsbaml_language/crates/baml_compiler2_emit/src/analysis.rsbaml_language/crates/baml_compiler2_emit/src/emit.rsbaml_language/crates/baml_compiler2_emit/src/pull_semantics.rsbaml_language/crates/baml_compiler2_emit/src/stack_carry.rsbaml_language/crates/baml_compiler2_emit/src/verifier.rsbaml_language/crates/baml_compiler2_mir/src/builder.rsbaml_language/crates/baml_compiler2_mir/src/ir.rsbaml_language/crates/baml_compiler2_mir/src/lower.rsbaml_language/crates/baml_compiler2_mir/src/optimize.rsbaml_language/crates/baml_compiler2_mir/src/pretty.rsbaml_language/crates/baml_compiler2_tir/src/builder.rsbaml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rsbaml_language/crates/baml_compiler2_tir/src/exhaustiveness.rsbaml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rsbaml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rsbaml_language/crates/baml_compiler2_tir/src/normalize.rsbaml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rsbaml_language/crates/baml_compiler_diagnostics/src/diagnostic.rsbaml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rsbaml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rsbaml_language/crates/baml_compiler_lexer/src/tokens.rsbaml_language/crates/baml_compiler_parser/src/parser.rsbaml_language/crates/baml_compiler_syntax/src/ast.rsbaml_language/crates/baml_compiler_syntax/src/syntax_kind.rsbaml_language/crates/baml_exec/src/auto_cli.rsbaml_language/crates/baml_fmt/src/ast/statements.rsbaml_language/crates/baml_fmt/src/ast/tokens.rsbaml_language/crates/baml_lsp2_actions/src/completions_tests.rsbaml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.bamlbaml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.bamlbaml_language/crates/baml_project/src/client_codegen.rsbaml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.bamlbaml_language/crates/baml_tests/baml_src/ns_watch/watch.bamlbaml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.bamlbaml_language/crates/baml_tests/tests/incremental_typing_repro.rsbaml_language/crates/baml_type/src/family.rsbaml_language/crates/baml_type/src/lib.rsbaml_language/crates/baml_type/src/normalize.rsbaml_language/crates/baml_type/src/runtime_ty.rsbaml_language/crates/baml_type/src/template.rsbaml_language/crates/baml_type/tests/simplify_sap_tests.rsbaml_language/crates/bex_engine/README.mdbaml_language/crates/bex_engine/src/conversion.rsbaml_language/crates/bex_engine/src/lib.rsbaml_language/crates/bex_engine/src/trace_value_encode.rsbaml_language/crates/bex_events/src/prof/proto/bamlprof.protobaml_language/crates/bex_sap/src/sap_model/convert.rsbaml_language/crates/bex_vm/README.mdbaml_language/crates/bex_vm/src/debug.rsbaml_language/crates/bex_vm/src/lib.rsbaml_language/crates/bex_vm/src/package_baml/json.rsbaml_language/crates/bex_vm/src/package_baml/resolve.rsbaml_language/crates/bex_vm/src/type_match.rsbaml_language/crates/bex_vm/src/vm.rsbaml_language/crates/bex_vm/src/watch.rsbaml_language/crates/bex_vm/tests/call_notifications.rsbaml_language/crates/bex_vm/tests/deep_equals_bigint.rsbaml_language/crates/bex_vm/tests/watch_gc.rsbaml_language/crates/bex_vm_types/src/bytecode.rsbaml_language/crates/bex_vm_types/src/errors.rsbaml_language/crates/bridge_ctypes/src/ty_decode.rsbaml_language/crates/bridge_ctypes/src/ty_encode.rsbaml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.protobaml_language/crates/sys_llm/src/types/output_format.rsbaml_language/crates/tools_onionskin/src/compiler.rsbaml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.tsbaml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.jsbaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pybaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyibaml_language/sdks/python/src/baml_bridge/proto.py
💤 Files with no reviewable changes (35)
- baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
- baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
- baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
- baml_language/crates/bex_vm/tests/watch_gc.rs
- baml_language/crates/tools_onionskin/src/compiler.rs
- baml_language/crates/baml_compiler2_mir/src/pretty.rs
- baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
- baml_language/crates/baml_cli/src/paint.rs
- baml_language/crates/baml_fmt/src/ast/tokens.rs
- baml_language/crates/baml_compiler2_tir/src/builder.rs
- baml_language/crates/bex_vm/src/lib.rs
- baml_language/crates/bex_vm/tests/call_notifications.rs
- baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
- baml_language/crates/baml_compiler2_ast/src/ast.rs
- baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
- baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
- baml_language/crates/bex_engine/src/trace_value_encode.rs
- baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
- baml_language/crates/baml_compiler2_mir/src/ir.rs
- baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
- baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
- baml_language/crates/bex_vm/src/watch.rs
- baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
- baml_language/crates/baml_type/src/family.rs
- baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
- baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
- baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
- baml_language/crates/bridge_ctypes/src/ty_decode.rs
- baml_language/crates/sys_llm/src/types/output_format.rs
- baml_language/crates/baml_type/src/runtime_ty.rs
- baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
- baml_language/crates/bex_vm/src/package_baml/json.rs
- baml_language/crates/bex_vm/src/type_match.rs
- baml_language/crates/bex_vm_types/src/errors.rs
- baml_language/crates/bex_sap/src/sap_model/convert.rs
199a07c to
98bcd5c
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (2)
baml_language/sdks/go/bridge_go/pkg/host_value.go (1)
580-611: 🗄️ Data Integrity & Integration | 🔵 Trivial | 💤 Low valueRemove the unused host-call error category plumbing
sendHostCallableErrordropshostCallableErrorCategory, andbuildHostCallableInboundhas no field for it, so the enum/arg currently adds dead code. Either thread it through the payload or delete the type/constants and unused parameter.🤖 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/sdks/go/bridge_go/pkg/host_value.go` around lines 580 - 611, Remove the unused hostCallableErrorCategory type and its constants, then remove the corresponding parameter from sendHostCallableError and update all call sites to match the simplified signature. Keep the existing payload construction and error-marshaling behavior unchanged.baml_language/crates/baml_lsp2_actions/src/completions_tests.rs (1)
720-720: 🎯 Functional Correctness | 🔵 TrivialRun
cargo test --lib -p baml_lsp2_actionsfrombaml_language/.🤖 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_lsp2_actions/src/completions_tests.rs` at line 720, Run the library test suite for the baml_lsp2_actions package from the baml_language workspace, using cargo test --lib -p baml_lsp2_actions, and verify the completion tests involving SimulateHumanGuess pass.Source: Coding guidelines
🤖 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.
Nitpick comments:
In `@baml_language/crates/baml_lsp2_actions/src/completions_tests.rs`:
- Line 720: Run the library test suite for the baml_lsp2_actions package from
the baml_language workspace, using cargo test --lib -p baml_lsp2_actions, and
verify the completion tests involving SimulateHumanGuess pass.
In `@baml_language/sdks/go/bridge_go/pkg/host_value.go`:
- Around line 580-611: Remove the unused hostCallableErrorCategory type and its
constants, then remove the corresponding parameter from sendHostCallableError
and update all call sites to match the simplified signature. Keep the existing
payload construction and error-marshaling behavior unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 563c4aad-8bac-47b4-9be0-e8ac9323f882
⛔ Files ignored due to path filters (13)
baml_language/crates/baml_tests/snapshots/baml_src/_root.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/baml_src/lambdas.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/baml_src/watch.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snapis excluded by!**/*.snapbaml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.gois excluded by!**/*.pb.gobaml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.tsis excluded by!**/dist/**baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.jsis excluded by!**/dist/**
📒 Files selected for processing (82)
baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yamlbaml_language/crates/baml_cli/src/paint.rsbaml_language/crates/baml_compiler2_ast/src/ast.rsbaml_language/crates/baml_compiler2_ast/src/disambiguate.rsbaml_language/crates/baml_compiler2_ast/src/lower_expr_body.rsbaml_language/crates/baml_compiler2_emit/src/analysis.rsbaml_language/crates/baml_compiler2_emit/src/emit.rsbaml_language/crates/baml_compiler2_emit/src/pull_semantics.rsbaml_language/crates/baml_compiler2_emit/src/stack_carry.rsbaml_language/crates/baml_compiler2_emit/src/verifier.rsbaml_language/crates/baml_compiler2_mir/src/builder.rsbaml_language/crates/baml_compiler2_mir/src/ir.rsbaml_language/crates/baml_compiler2_mir/src/lower.rsbaml_language/crates/baml_compiler2_mir/src/optimize.rsbaml_language/crates/baml_compiler2_mir/src/pretty.rsbaml_language/crates/baml_compiler2_tir/src/builder.rsbaml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rsbaml_language/crates/baml_compiler2_tir/src/exhaustiveness.rsbaml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rsbaml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rsbaml_language/crates/baml_compiler2_tir/src/normalize.rsbaml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rsbaml_language/crates/baml_compiler_diagnostics/src/diagnostic.rsbaml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rsbaml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rsbaml_language/crates/baml_compiler_lexer/src/tokens.rsbaml_language/crates/baml_compiler_parser/src/parser.rsbaml_language/crates/baml_compiler_syntax/src/ast.rsbaml_language/crates/baml_compiler_syntax/src/syntax_kind.rsbaml_language/crates/baml_exec/src/auto_cli.rsbaml_language/crates/baml_fmt/src/ast/statements.rsbaml_language/crates/baml_fmt/src/ast/tokens.rsbaml_language/crates/baml_lsp2_actions/src/completions_tests.rsbaml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.bamlbaml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.bamlbaml_language/crates/baml_project/src/client_codegen.rsbaml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.bamlbaml_language/crates/baml_tests/baml_src/ns_watch/watch.bamlbaml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.bamlbaml_language/crates/baml_tests/tests/incremental_typing_repro.rsbaml_language/crates/baml_type/src/family.rsbaml_language/crates/baml_type/src/lib.rsbaml_language/crates/baml_type/src/normalize.rsbaml_language/crates/baml_type/src/runtime_ty.rsbaml_language/crates/baml_type/src/template.rsbaml_language/crates/baml_type/tests/simplify_sap_tests.rsbaml_language/crates/bex_engine/README.mdbaml_language/crates/bex_engine/src/conversion.rsbaml_language/crates/bex_engine/src/lib.rsbaml_language/crates/bex_engine/src/trace_value_encode.rsbaml_language/crates/bex_events/src/prof/proto/bamlprof.protobaml_language/crates/bex_sap/src/sap_model/convert.rsbaml_language/crates/bex_vm/README.mdbaml_language/crates/bex_vm/src/debug.rsbaml_language/crates/bex_vm/src/lib.rsbaml_language/crates/bex_vm/src/package_baml/json.rsbaml_language/crates/bex_vm/src/package_baml/resolve.rsbaml_language/crates/bex_vm/src/type_match.rsbaml_language/crates/bex_vm/src/vm.rsbaml_language/crates/bex_vm/src/watch.rsbaml_language/crates/bex_vm/tests/call_notifications.rsbaml_language/crates/bex_vm/tests/deep_equals_bigint.rsbaml_language/crates/bex_vm/tests/watch_gc.rsbaml_language/crates/bex_vm_types/src/bytecode.rsbaml_language/crates/bex_vm_types/src/errors.rsbaml_language/crates/bridge_ctypes/src/ty_decode.rsbaml_language/crates/bridge_ctypes/src/ty_encode.rsbaml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.protobaml_language/crates/sys_llm/src/types/output_format.rsbaml_language/crates/tools_onionskin/src/compiler.rsbaml_language/sdks/go/bridge_go/cffi/bridge.hbaml_language/sdks/go/bridge_go/cffi/lib.gobaml_language/sdks/go/bridge_go/pkg/host_value.gobaml_language/sdks/go/bridge_go/pkg/host_value_internal_test.gobaml_language/sdks/go/bridge_go/pkg/proto.gobaml_language/sdks/go/bridge_go/pkg/runtime.gobaml_language/sdks/go/bridge_go/pkg/tests/call_function_test.gobaml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.tsbaml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.jsbaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pybaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyibaml_language/sdks/python/src/baml_bridge/proto.py
💤 Files with no reviewable changes (35)
- baml_language/crates/bex_vm/tests/watch_gc.rs
- baml_language/crates/baml_compiler2_ast/src/ast.rs
- baml_language/crates/baml_fmt/src/ast/tokens.rs
- baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
- baml_language/crates/baml_cli/src/paint.rs
- baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
- baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
- baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
- baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
- baml_language/crates/bex_vm/src/lib.rs
- baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
- baml_language/crates/baml_type/src/family.rs
- baml_language/crates/bridge_ctypes/src/ty_decode.rs
- baml_language/crates/baml_compiler2_tir/src/builder.rs
- baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
- baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
- baml_language/crates/bex_engine/src/trace_value_encode.rs
- baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
- baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
- baml_language/crates/baml_compiler2_mir/src/pretty.rs
- baml_language/crates/bex_vm/tests/call_notifications.rs
- baml_language/crates/bex_vm_types/src/errors.rs
- baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
- baml_language/crates/bex_vm/src/watch.rs
- baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
- baml_language/crates/baml_type/src/runtime_ty.rs
- baml_language/crates/bex_sap/src/sap_model/convert.rs
- baml_language/crates/sys_llm/src/types/output_format.rs
- baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
- baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
- baml_language/crates/baml_compiler2_mir/src/ir.rs
- baml_language/crates/tools_onionskin/src/compiler.rs
- baml_language/crates/bex_vm/src/type_match.rs
- baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
- baml_language/crates/bex_vm/src/package_baml/json.rs
🚧 Files skipped from review as they are similar to previous changes (37)
- baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
- baml_language/sdks/python/src/baml_bridge/proto.py
- baml_language/crates/baml_exec/src/auto_cli.rs
- baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
- baml_language/crates/baml_project/src/client_codegen.rs
- baml_language/crates/bex_engine/README.md
- baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
- baml_language/crates/baml_type/tests/simplify_sap_tests.rs
- baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
- baml_language/crates/baml_compiler2_tir/src/normalize.rs
- baml_language/crates/bex_vm/README.md
- baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
- baml_language/crates/baml_compiler_lexer/src/tokens.rs
- baml_language/crates/baml_compiler2_mir/src/builder.rs
- baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
- baml_language/crates/bridge_ctypes/src/ty_encode.rs
- baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
- baml_language/crates/bex_vm/src/debug.rs
- baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
- baml_language/crates/baml_compiler_syntax/src/ast.rs
- baml_language/crates/baml_compiler2_mir/src/optimize.rs
- baml_language/crates/baml_compiler2_emit/src/analysis.rs
- baml_language/crates/baml_compiler2_emit/src/emit.rs
- baml_language/crates/baml_type/src/template.rs
- baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
- baml_language/crates/baml_type/src/normalize.rs
- baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
- baml_language/crates/bex_engine/src/conversion.rs
- baml_language/crates/baml_fmt/src/ast/statements.rs
- baml_language/crates/baml_compiler_parser/src/parser.rs
- baml_language/crates/baml_type/src/lib.rs
- baml_language/crates/baml_compiler2_emit/src/verifier.rs
- baml_language/crates/bex_engine/src/lib.rs
- baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
- baml_language/crates/bex_vm_types/src/bytecode.rs
- baml_language/crates/baml_compiler2_mir/src/lower.rs
- baml_language/crates/bex_vm/src/vm.rs
98bcd5c to
f02a7bd
Compare
f02a7bd to
30e8eb4
Compare
There was a problem hiding this comment.
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/bex_project/src/bex_lsp/multi_project/notification.rs (1)
180-198: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
didSaveshould not remove the overlay entry.in_memory_changesstores text and version together, so thisremove()clears the open-document version too. Keep the overlay untildidClose; otherwise later refreshes can publish this file without its saved editor version.🤖 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_project/src/bex_lsp/multi_project/notification.rs` around lines 180 - 198, The on_notification_did_save implementation must preserve the in_memory_changes entry after saving. Remove the in_memory_changes.remove call and keep the overlay, including its text and version, until the existing didClose cleanup path handles it; leave the project lookup and successful return unchanged.
🧹 Nitpick comments (1)
typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts (1)
367-403: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winTest doesn't verify the lease actually survives a reconnect.
This test only checks that both messages pass through the already-open socket verbatim — it never reconnects to confirm the mismatched-incarnation
releaseProjectRuntimeleft the standing lease intact. Contrast with the "re-sends the standing lease after every hello" test (Lines 271-332), which asserts retention via aserverClose+ reconnect +compatibleHello. As written, a regression that clears the lease on any release (regardless of incarnation) would not be caught here.♻️ Suggested addition to actually verify retention across reconnect
expect(socket.parsedSent()).toEqual([ { type: 'ensureProjectRuntime', requestId: 40, project: '/selected', incarnation: 7, }, { type: 'releaseProjectRuntime', requestId: 41, project: '/selected', incarnation: 6, }, ]); + + socket.serverClose(); + vi.useFakeTimers(); + vi.advanceTimersByTime(500); + const reconnected = FakeWebSocket.instances[1]!; + reconnected.open(); + compatibleHello(reconnected); + expect(reconnected.parsedSent()).toEqual([ + { type: 'requestState' }, + { + type: 'ensureProjectRuntime', + requestId: 40, + project: '/selected', + incarnation: 7, + }, + ]); port.dispose();🤖 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 `@typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts` around lines 367 - 403, Strengthen the test “keeps the lease when a release names a different incarnation” by closing the active socket with serverClose, creating or using the reconnecting socket, completing compatibleHello, and asserting the standing ensureProjectRuntime lease is resent with incarnation 7. Keep the existing assertions that both original messages were forwarded, and ensure the reconnect assertion proves the mismatched release did not clear the lease.
🤖 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/bex_project/src/bex_lsp/multi_project/notification.rs`:
- Around line 180-198: The on_notification_did_save implementation must preserve
the in_memory_changes entry after saving. Remove the in_memory_changes.remove
call and keep the overlay, including its text and version, until the existing
didClose cleanup path handles it; leave the project lookup and successful return
unchanged.
---
Nitpick comments:
In `@typescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.ts`:
- Around line 367-403: Strengthen the test “keeps the lease when a release names
a different incarnation” by closing the active socket with serverClose, creating
or using the reconnecting socket, completing compatibleHello, and asserting the
standing ensureProjectRuntime lease is resent with incarnation 7. Keep the
existing assertions that both original messages were forwarded, and ensure the
reconnect assertion proves the mismatched release did not clear the lease.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: c8743888-3850-4bd0-adf5-e487d44c3383
⛔ Files ignored due to path filters (14)
baml_language/Cargo.lockis excluded by!**/*.lockbaml_language/crates/baml_tests/snapshots/baml_src/_root.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/baml_src/lambdas.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/baml_src/watch.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__01_lexer__lexical_scoping.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__02_parser__lexical_scoping.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__03_hir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_5_mir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__04_tir.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__06_codegen.snapis excluded by!**/*.snapbaml_language/crates/baml_tests/snapshots/compiles/lexical_scoping/baml_tests__compiles__lexical_scoping__10_formatter__lexical_scoping.snapis excluded by!**/*.snapbaml_language/sdks/go/bridge_go/cffi/proto/baml_bridge/cffi/v1/baml_type.pb.gois excluded by!**/*.pb.gobaml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.d.tsis excluded by!**/dist/**baml_language/sdks/nodejs/bridge_nodejs/dist/proto/baml_cffi.jsis excluded by!**/dist/**
📒 Files selected for processing (125)
CONTRIBUTING.mdREADME-DEV.mdbaml_language/TEST_INSTRUCTIONS.mdbaml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yamlbaml_language/crates/baml_cli/src/paint.rsbaml_language/crates/baml_compiler2_ast/src/ast.rsbaml_language/crates/baml_compiler2_ast/src/disambiguate.rsbaml_language/crates/baml_compiler2_ast/src/lower_expr_body.rsbaml_language/crates/baml_compiler2_emit/src/analysis.rsbaml_language/crates/baml_compiler2_emit/src/emit.rsbaml_language/crates/baml_compiler2_emit/src/pull_semantics.rsbaml_language/crates/baml_compiler2_emit/src/stack_carry.rsbaml_language/crates/baml_compiler2_emit/src/verifier.rsbaml_language/crates/baml_compiler2_mir/src/builder.rsbaml_language/crates/baml_compiler2_mir/src/ir.rsbaml_language/crates/baml_compiler2_mir/src/lower.rsbaml_language/crates/baml_compiler2_mir/src/optimize.rsbaml_language/crates/baml_compiler2_mir/src/pretty.rsbaml_language/crates/baml_compiler2_tir/src/builder.rsbaml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rsbaml_language/crates/baml_compiler2_tir/src/exhaustiveness.rsbaml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rsbaml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rsbaml_language/crates/baml_compiler2_tir/src/normalize.rsbaml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rsbaml_language/crates/baml_compiler_diagnostics/src/diagnostic.rsbaml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rsbaml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rsbaml_language/crates/baml_compiler_lexer/src/tokens.rsbaml_language/crates/baml_compiler_parser/src/parser.rsbaml_language/crates/baml_compiler_syntax/src/ast.rsbaml_language/crates/baml_compiler_syntax/src/syntax_kind.rsbaml_language/crates/baml_exec/src/auto_cli.rsbaml_language/crates/baml_fmt/src/ast/statements.rsbaml_language/crates/baml_fmt/src/ast/tokens.rsbaml_language/crates/baml_lsp2_actions/src/annotations.rsbaml_language/crates/baml_lsp2_actions/src/completions_tests.rsbaml_language/crates/baml_lsp2_actions/src/lib.rsbaml_language/crates/baml_lsp2_actions/src/tokens.rsbaml_language/crates/baml_lsp2_actions_tests/Cargo.tomlbaml_language/crates/baml_lsp2_actions_tests/src/lib.rsbaml_language/crates/baml_lsp2_actions_tests/src/memoization.rsbaml_language/crates/baml_lsp2_actions_tests/src/runner.rsbaml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.bamlbaml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.bamlbaml_language/crates/baml_lsp_server/Cargo.tomlbaml_language/crates/baml_lsp_server/src/lib.rsbaml_language/crates/baml_lsp_server/src/lsp_ingress.rsbaml_language/crates/baml_lsp_server/src/lsp_runtime.rsbaml_language/crates/baml_lsp_server/src/native_lsp_sender.rsbaml_language/crates/baml_lsp_server/src/playground_server.rsbaml_language/crates/baml_project/src/client_codegen.rsbaml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.bamlbaml_language/crates/baml_tests/baml_src/ns_watch/watch.bamlbaml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.bamlbaml_language/crates/baml_tests/tests/incremental_typing_repro.rsbaml_language/crates/baml_type/src/family.rsbaml_language/crates/baml_type/src/lib.rsbaml_language/crates/baml_type/src/normalize.rsbaml_language/crates/baml_type/src/runtime_ty.rsbaml_language/crates/baml_type/src/template.rsbaml_language/crates/baml_type/tests/simplify_sap_tests.rsbaml_language/crates/bex_engine/README.mdbaml_language/crates/bex_engine/src/conversion.rsbaml_language/crates/bex_engine/src/lib.rsbaml_language/crates/bex_engine/src/trace_value_encode.rsbaml_language/crates/bex_events/src/prof/proto/bamlprof.protobaml_language/crates/bex_project/Cargo.tomlbaml_language/crates/bex_project/src/bex_lsp/mod.rsbaml_language/crates/bex_project/src/bex_lsp/multi_project/diagnostics.rsbaml_language/crates/bex_project/src/bex_lsp/multi_project/mod.rsbaml_language/crates/bex_project/src/bex_lsp/multi_project/notification.rsbaml_language/crates/bex_project/src/bex_lsp/multi_project/request.rsbaml_language/crates/bex_project/src/bex_lsp/notification.rsbaml_language/crates/bex_project/src/bex_lsp/position_codec.rsbaml_language/crates/bex_project/src/bex_lsp/request.rsbaml_language/crates/bex_project/src/bex_lsp/request_cancellation.rsbaml_language/crates/bex_project/src/lib.rsbaml_language/crates/bex_project/src/project.rsbaml_language/crates/bex_sap/src/sap_model/convert.rsbaml_language/crates/bex_vm/README.mdbaml_language/crates/bex_vm/src/debug.rsbaml_language/crates/bex_vm/src/lib.rsbaml_language/crates/bex_vm/src/package_baml/json.rsbaml_language/crates/bex_vm/src/package_baml/resolve.rsbaml_language/crates/bex_vm/src/type_match.rsbaml_language/crates/bex_vm/src/vm.rsbaml_language/crates/bex_vm/src/watch.rsbaml_language/crates/bex_vm/tests/call_notifications.rsbaml_language/crates/bex_vm/tests/deep_equals_bigint.rsbaml_language/crates/bex_vm/tests/watch_gc.rsbaml_language/crates/bex_vm_types/src/bytecode.rsbaml_language/crates/bex_vm_types/src/errors.rsbaml_language/crates/bridge_ctypes/src/ty_decode.rsbaml_language/crates/bridge_ctypes/src/ty_encode.rsbaml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.protobaml_language/crates/sys_llm/src/types/output_format.rsbaml_language/crates/tools_onionskin/src/compiler.rsbaml_language/sdks/go/bridge_go/cffi/bridge.hbaml_language/sdks/go/bridge_go/cffi/lib.gobaml_language/sdks/go/bridge_go/pkg/host_value.gobaml_language/sdks/go/bridge_go/pkg/host_value_internal_test.gobaml_language/sdks/go/bridge_go/pkg/proto.gobaml_language/sdks/go/bridge_go/pkg/runtime.gobaml_language/sdks/go/bridge_go/pkg/tests/call_function_test.gobaml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.tsbaml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.jsbaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pybaml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyibaml_language/sdks/python/src/baml_bridge/proto.pydocs/design/lsp-latency-and-mutex-fix.mdtypescript2/app-promptfiddle/src/playground/baml-lsp-worker.tstypescript2/app-vscode-ext/src/__tests__/projectRoots.test.tstypescript2/app-vscode-ext/src/extension.tstypescript2/app-vscode-ext/src/projectRoots.tstypescript2/app-vscode-webview/src/ExecutionPanel.gating.test.tsxtypescript2/pkg-playground/src/ExecutionPanel.tsxtypescript2/pkg-playground/src/FunctionSidebar.tsxtypescript2/pkg-playground/src/ports/WebSocketRuntimePort.test.tstypescript2/pkg-playground/src/ports/WebSocketRuntimePort.tstypescript2/pkg-playground/src/run-gating.test.tstypescript2/pkg-playground/src/run-gating.tstypescript2/pkg-playground/src/run-store-client.test.tstypescript2/pkg-playground/src/run-store-client.tstypescript2/pkg-playground/src/worker-protocol.ts
💤 Files with no reviewable changes (32)
- baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_when.baml
- baml_language/crates/baml_lsp2_actions_tests/test_files/syntax/expr/watch_nested.baml
- baml_language/crates/baml_builtins2/keyword_docs/baml_keywords.yaml
- baml_language/crates/baml_compiler_diagnostics/src/diagnostic.rs
- baml_language/crates/baml_compiler_diagnostics/src/to_diagnostic.rs
- baml_language/crates/baml_compiler2_visualization/src/control_flow/from_ast.rs
- baml_language/crates/bex_events/src/prof/proto/bamlprof.proto
- baml_language/crates/sys_llm/src/types/output_format.rs
- baml_language/crates/baml_tests/projects/compiles/lexical_scoping/lexical_scoping.baml
- baml_language/crates/baml_compiler2_tir/src/builder.rs
- baml_language/crates/bex_sap/src/sap_model/convert.rs
- baml_language/crates/bex_vm_types/src/errors.rs
- baml_language/crates/baml_tests/baml_src/ns_watch/watch.baml
- baml_language/crates/baml_tests/baml_src/ns_lambdas/lambdas.baml
- baml_language/crates/bex_vm/src/package_baml/json.rs
- baml_language/crates/baml_compiler2_ast/src/ast.rs
- baml_language/crates/bridge_ctypes/src/ty_decode.rs
- baml_language/crates/bex_vm/src/watch.rs
- baml_language/crates/baml_compiler2_tir/src/builder/associated_projection.rs
- baml_language/crates/baml_compiler_diagnostics/src/errors/type_error.rs
- baml_language/crates/baml_fmt/src/ast/tokens.rs
- baml_language/crates/baml_type/src/runtime_ty.rs
- baml_language/crates/bex_engine/src/trace_value_encode.rs
- baml_language/crates/bridge_ctypes/types/baml_bridge/cffi/v1/baml_type.proto
- baml_language/crates/bex_vm/tests/call_notifications.rs
- baml_language/crates/bex_vm/src/type_match.rs
- baml_language/crates/baml_compiler2_mir/src/pretty.rs
- baml_language/crates/baml_compiler_syntax/src/syntax_kind.rs
- baml_language/crates/bex_vm/src/lib.rs
- baml_language/crates/tools_onionskin/src/compiler.rs
- baml_language/crates/baml_compiler2_emit/src/pull_semantics.rs
- baml_language/crates/baml_compiler2_mir/src/ir.rs
🚧 Files skipped from review as they are similar to previous changes (41)
- baml_language/crates/baml_compiler2_ast/src/disambiguate.rs
- baml_language/crates/baml_lsp2_actions/src/completions_tests.rs
- baml_language/crates/baml_project/src/client_codegen.rs
- baml_language/crates/bex_vm/tests/deep_equals_bigint.rs
- baml_language/sdks/python/src/baml_bridge/proto.py
- baml_language/crates/baml_type/tests/simplify_sap_tests.rs
- baml_language/crates/baml_exec/src/auto_cli.rs
- baml_language/sdks/go/bridge_go/pkg/runtime.go
- baml_language/sdks/go/bridge_go/pkg/tests/call_function_test.go
- baml_language/sdks/go/bridge_go/pkg/proto.go
- baml_language/sdks/go/bridge_go/cffi/lib.go
- baml_language/sdks/go/bridge_go/cffi/bridge.h
- baml_language/crates/baml_type/src/template.rs
- baml_language/sdks/go/bridge_go/pkg/host_value_internal_test.go
- baml_language/crates/baml_tests/tests/incremental_typing_repro.rs
- baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.d.ts
- baml_language/crates/baml_compiler2_tir/src/exhaustiveness.rs
- baml_language/crates/bex_vm/src/package_baml/resolve.rs
- baml_language/crates/baml_compiler2_tir/src/interfaces/coherence.rs
- baml_language/crates/baml_compiler_lexer/src/tokens.rs
- baml_language/sdks/nodejs/bridge_nodejs/typescript_src/proto/baml_cffi.js
- baml_language/crates/bridge_ctypes/src/ty_encode.rs
- baml_language/crates/baml_compiler2_tir/src/interfaces/impl_rules.rs
- baml_language/crates/baml_compiler2_emit/src/stack_carry.rs
- baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.py
- baml_language/crates/baml_compiler2_mir/src/optimize.rs
- baml_language/crates/baml_type/src/lib.rs
- baml_language/crates/baml_compiler_syntax/src/ast.rs
- baml_language/crates/baml_compiler2_mir/src/builder.rs
- baml_language/crates/baml_compiler_parser/src/parser.rs
- baml_language/crates/baml_fmt/src/ast/statements.rs
- baml_language/sdks/python/src/baml_bridge/cffi/v1/baml_type_pb2.pyi
- baml_language/crates/baml_compiler2_emit/src/emit.rs
- baml_language/crates/bex_vm_types/src/bytecode.rs
- baml_language/crates/bex_engine/src/conversion.rs
- baml_language/sdks/go/bridge_go/pkg/host_value.go
- baml_language/crates/bex_vm/src/debug.rs
- baml_language/crates/baml_compiler2_emit/src/verifier.rs
- baml_language/crates/baml_compiler2_ast/src/lower_expr_body.rs
- baml_language/crates/bex_vm/src/vm.rs
- baml_language/crates/baml_compiler2_mir/src/lower.rs
30e8eb4 to
207d8b7
Compare
207d8b7 to
e19bc7f
Compare
Summary by CodeRabbit
watch let, thewatchkeyword, and all watch/unwatch/notify runtime behavior (including watch-accessor types across the compiler/VM and SDK/bridges).NewFunctionCall()and updated cancellation to use a 64-bit call ID.