Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
45f18de
docs: add Phase 2 TypeScript/Napi-RS bindings design
bkrabach Mar 4, 2026
df09caf
docs: add Phase 2 TypeScript/Napi-RS implementation plan
bkrabach Mar 4, 2026
8830036
chore: bump pyo3 to 0.28.2 and wasmtime to latest (security fixes)
bkrabach Mar 4, 2026
99e85c7
feat(node): scaffold Napi-RS crate with smoke test
bkrabach Mar 4, 2026
abe35c1
chore(node): add .gitignore for build artifacts
bkrabach Mar 4, 2026
3f4dd6d
feat(node): add data model types — enums and structs
bkrabach Mar 4, 2026
ec0270f
refactor(node): improve code quality — use alias, complete test cover…
bkrabach Mar 4, 2026
49f47d1
feat(node): add CancellationToken binding
bkrabach Mar 4, 2026
dadf5fe
test(node): add isCancelled assertions to escalation test
bkrabach Mar 4, 2026
d22d5c2
feat(node): add HookRegistry binding with JS handler bridge
bkrabach Mar 4, 2026
62faf98
refactor(node): clarify HookRegistry::from_inner creates detached reg…
bkrabach Mar 4, 2026
5685013
fix(node): add parse-failure logging in hook bridge, remove unused uu…
bkrabach Mar 4, 2026
3565cb6
refactor(node): improve HookRegistry clarity — rename from_inner to n…
bkrabach Mar 4, 2026
049b5d5
feat(node): add Coordinator binding with hybrid pattern
bkrabach Mar 4, 2026
92f90a8
test(node): strengthen config roundtrip assertion to catch serializat…
bkrabach Mar 4, 2026
fea9275
fix(node): propagate get_capability errors and tighten toDict test as…
bkrabach Mar 4, 2026
d1780a7
test(node): improve coordinator tests per code quality review
bkrabach Mar 4, 2026
ab6f768
feat(node): add AmplifierSession binding
bkrabach Mar 4, 2026
503f18b
fix(node): harden AmplifierSession quality — cache config, log lock c…
bkrabach Mar 4, 2026
65fe654
refactor(node): address code quality review suggestions
bkrabach Mar 4, 2026
637612f
docs(node): add caching guidance to coordinator() doc comment
bkrabach Mar 4, 2026
97b78a2
feat(node): add JsToolBridge module interface
bkrabach Mar 4, 2026
17705e2
style(node): add warning log on get_spec JSON fallback and edge-case …
bkrabach Mar 4, 2026
2522183
fix(node): resolve clippy warnings — add Default impls and suppress u…
bkrabach Mar 4, 2026
f7b9f1c
fix(node): add intent comment for discarded HandlerId and test for ca…
bkrabach Mar 4, 2026
30ae89b
feat(node): add error bridging — Rust errors to typed JS errors
bkrabach Mar 4, 2026
9f4847d
test(node): add coverage for unknown variant fallback in amplifierErr…
bkrabach Mar 4, 2026
69f0ecc
fix(node): suppress dead_code warning on amplifier_error_to_napi
bkrabach Mar 4, 2026
285412b
style(node): fix fmt drift, DRY error code mapping, complete test ass…
bkrabach Mar 4, 2026
fab38f6
test(node): add integration tests for full binding layer
bkrabach Mar 4, 2026
9fe891d
refactor(node): address code quality review suggestions
bkrabach Mar 4, 2026
416db59
refactor(node): extract emptyConfig fixture and document expected tes…
bkrabach Mar 4, 2026
b0607ad
style(node): replace non-null assertions with explicit type casts in …
bkrabach Mar 4, 2026
874a24b
ci: add Node.js setup and binding tests to rust-core-ci workflow
bkrabach Mar 5, 2026
faba376
ci: split Node.js binding tests into separate CI job
bkrabach Mar 5, 2026
55e5802
test: update CI workflow assertions for split node-tests job
bkrabach Mar 5, 2026
bb257a0
docs: add gRPC Phase 2 debt fix design
bkrabach Mar 5, 2026
b04653f
docs: add gRPC Phase 2 debt fix implementation plan
bkrabach Mar 5, 2026
7819114
feat: add optional semantics to 5 proto fields
bkrabach Mar 5, 2026
bf5fcd1
feat: add Role enum conversion helpers (native_role_to_proto, proto_r…
bkrabach Mar 5, 2026
de8a6bf
style: hoist repeated test imports and add negative edge case for rol…
bkrabach Mar 5, 2026
156a3ed
style: hoist role conversion imports to module level
bkrabach Mar 5, 2026
595d3a9
feat: add bidirectional Message ↔ Proto Message conversion
bkrabach Mar 5, 2026
5884586
style: align logging and reduce verbose paths in content block conver…
bkrabach Mar 5, 2026
aca0fb9
style: add deserialization warn logging and hoist HashMap import in p…
bkrabach Mar 5, 2026
a3de5ea
test: add per-variant ContentBlock roundtrip tests for all 6 non-Text…
bkrabach Mar 5, 2026
3d201a1
feat: add bidirectional ChatRequest ↔ proto conversion
bkrabach Mar 5, 2026
6570cd7
feat: add bidirectional ChatResponse ↔ proto conversion
bkrabach Mar 5, 2026
36242f4
feat: add native HookResult → proto conversion
bkrabach Mar 5, 2026
c42355c
feat: fix GrpcContextBridge — full message fidelity and provider_name
bkrabach Mar 5, 2026
4486890
feat: implement GrpcProviderBridge::complete() with full ChatRequest/…
bkrabach Mar 5, 2026
bd92989
feat: wire session_id through GrpcOrchestratorBridge
bkrabach Mar 5, 2026
2d8f76d
refactor: change Session to hold Arc<Coordinator> for sharing with Ke…
bkrabach Mar 5, 2026
9c12849
feat: implement GetCapability and RegisterCapability KernelService RPCs
bkrabach Mar 5, 2026
ed47bf7
feat: implement GetMountedModule KernelService RPC
bkrabach Mar 5, 2026
4eb297b
feat: implement AddMessage and GetMessages KernelService RPCs
bkrabach Mar 5, 2026
884461a
feat: implement EmitHook and EmitHookAndCollect KernelService RPCs
bkrabach Mar 5, 2026
e2c1395
feat: implement CompleteWithProvider KernelService RPC
bkrabach Mar 5, 2026
6887594
feat: implement CompleteWithProviderStreaming KernelService RPC (one-…
bkrabach Mar 5, 2026
acf16ee
chore: remove all TODO(grpc-v2) markers — gRPC debt fully resolved
bkrabach Mar 5, 2026
31b7425
ci: split Node.js binding tests into separate CI job
bkrabach Mar 5, 2026
c976080
revert: restore original CI workflow — node bindings not on this branch
bkrabach Mar 5, 2026
98b8952
style: apply cargo fmt to fix formatting drift
bkrabach Mar 5, 2026
df3c5a3
Merge Phase 2: TypeScript/Napi-RS bindings
bkrabach Mar 5, 2026
7d57467
Merge gRPC Phase 2 debt fix: full bridge fidelity + KernelService
bkrabach Mar 5, 2026
e8762dd
docs: add Phase 3 WASM module loading implementation plan
bkrabach Mar 5, 2026
0c81029
docs: Phase 3 WASM module loading design — all 6 module types via Com…
bkrabach Mar 5, 2026
a54e1b8
feat: add WasmEngine wrapper holding shared Arc<wasmtime::Engine>
bkrabach Mar 5, 2026
0a10ba7
feat: rewrite WasmToolBridge with full Component Model implementation
bkrabach Mar 5, 2026
fb78740
refactor: apply code quality suggestions to wasm_tool bridge
bkrabach Mar 5, 2026
c013b81
style: simplify trait-check test helper and add path context to from_…
bkrabach Mar 5, 2026
908e634
style: polish WasmToolBridge doc comments per code quality review
bkrabach Mar 5, 2026
7dd06ce
fix: relocate WASM Phase 3 files into amplifier-core submodule
bkrabach Mar 5, 2026
0984a9f
feat: add WasmHookBridge implementing HookHandler via WASM Component …
bkrabach Mar 5, 2026
ca40392
feat: add WasmContextBridge for stateful WASM context manager modules
bkrabach Mar 6, 2026
4e680f0
feat: add WasmApprovalBridge implementing ApprovalProvider via WASM C…
bkrabach Mar 6, 2026
a66fada
feat: add echo-provider WASM test fixture with Component Model support
bkrabach Mar 6, 2026
90c12d3
feat: add passthrough-orchestrator WASM fixture with kernel-service h…
bkrabach Mar 6, 2026
2f5d01b
feat: add WasmProviderBridge implementing Provider trait for WASM mod…
bkrabach Mar 6, 2026
06d3dab
feat: add WasmOrchestratorBridge with kernel-service host imports
bkrabach Mar 6, 2026
bb8798a
feat: add load_wasm_* dispatch functions for all 6 module types in tr…
bkrabach Mar 6, 2026
057c8e0
feat: add E2E test suite and build-fixtures.sh script (Task 19)
bkrabach Mar 6, 2026
49a97ec
docs: Phase 4 cross-language module resolver design
bkrabach Mar 6, 2026
4dd048f
feat(resolver): add ModuleManifest, ModuleArtifact types and module_r…
bkrabach Mar 6, 2026
aa899a6
style: improve module ordering and error format readability in module…
bkrabach Mar 6, 2026
1d768d6
fix: derive PartialEq on ModuleManifest/ModuleArtifact, add error dis…
bkrabach Mar 6, 2026
a703c5c
refactor: use full struct assert_eq in module_manifest_can_be_constru…
bkrabach Mar 6, 2026
c2bdec7
feat: add amplifier.toml reader with TOML parsing for module resolution
bkrabach Mar 7, 2026
ad10cb4
test: add unknown module type error path coverage
bkrabach Mar 7, 2026
ca21b1c
style: address code quality review suggestions
bkrabach Mar 7, 2026
3b5b664
feat: add scan_for_wasm_file to module resolver with tests
bkrabach Mar 7, 2026
89bd7ba
feat: add WASM component metadata parser for module type detection
bkrabach Mar 7, 2026
0584c13
refactor: extract parametric test helper for WASM detection tests
bkrabach Mar 7, 2026
bbd9121
feat: add Python package detector for module resolution
bkrabach Mar 7, 2026
66455c7
feat(resolver): implement resolve_module() detection pipeline
bkrabach Mar 7, 2026
f93514f
feat(resolver): add load_module() dispatch function
bkrabach Mar 7, 2026
3874693
fix(resolver): reject Resolver module type in load_module() for all t…
bkrabach Mar 7, 2026
5bb7a65
feat(resolver): expose resolve_module() and load_wasm_from_path() via…
bkrabach Mar 7, 2026
9b3943d
feat(resolver): wire WASM/gRPC branches to Rust resolver in loader_di…
bkrabach Mar 7, 2026
44bf7f1
feat(resolver): expose resolveModule() and loadWasmFromPath() via Nap…
bkrabach Mar 7, 2026
81bc186
test(resolver): add E2E integration tests for full resolve → load → e…
bkrabach Mar 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 24 additions & 3 deletions .github/workflows/rust-core-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,32 @@ jobs:
- name: Run Rust tests
run: cargo test -p amplifier-core --verbose
- name: Check workspace
run: cargo check --workspace
run: cargo check -p amplifier-core -p amplifier-core-py
- name: Rustfmt
run: cargo fmt --check
run: cargo fmt -p amplifier-core -p amplifier-core-py --check
- name: Clippy
run: cargo clippy --workspace -- -D warnings
run: cargo clippy -p amplifier-core -p amplifier-core-py -- -D warnings

node-tests:
name: Node.js Binding Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build native module
working-directory: bindings/node
run: |
npm install
npm run build
- name: Run tests
working-directory: bindings/node
run: npx vitest run
- name: Clippy (Node binding)
run: cargo clippy -p amplifier-core-node -- -D warnings

python-tests:
name: Python Tests (${{ matrix.python-version }})
Expand Down
Loading
Loading