Skip to content

Commit 38ba778

Browse files
feat: Cross-Language SDK — Phases 2-4 + gRPC debt fix + dogfooding
TypeScript/Napi-RS bindings (Phase 2): - 4 kernel classes: AmplifierSession, Coordinator, HookRegistry, CancellationToken - JsToolBridge for TypeScript module authoring - 64 Vitest tests, CI split into separate node-tests job gRPC Phase 2 debt fix: - 5 proto optional fields, full bidirectional conversions - All 9 KernelService RPCs implemented (was 1 of 9) - Session holds Arc<Coordinator> with coordinator_shared() WASM module loading (Phase 3): - 6 WASM bridges via Component Model (Tool, Hook, Context, Approval, Provider, Orchestrator) - amplifier-guest crate with export macros - WIT interface definitions for all 6 module types - 6 test fixture .wasm binaries Cross-language module resolver (Phase 4): - Auto-detect transport: .wasm → WASM, amplifier.toml → gRPC, __init__.py → Python - WASM component metadata parsing for module type detection - PyO3 + Napi-RS bindings for resolver - loader_dispatch.py wired to Rust Dogfooding: - _session_init.py routes through loader_dispatch - Mixed-transport E2E: native + WASM modules in same session - Python and TypeScript WASM session examples Security fixes: - pyo3 0.28.1 → 0.28.2 (HIGH severity) - wasmtime 29 → 42 (8 alerts cleared) 🤖 Generated with Amplifier Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
1 parent 950f282 commit 38ba778

123 files changed

Lines changed: 34727 additions & 629 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/rust-core-ci.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,32 @@ jobs:
1919
- name: Run Rust tests
2020
run: cargo test -p amplifier-core --verbose
2121
- name: Check workspace
22-
run: cargo check --workspace
22+
run: cargo check -p amplifier-core -p amplifier-core-py
2323
- name: Rustfmt
24-
run: cargo fmt --check
24+
run: cargo fmt -p amplifier-core -p amplifier-core-py --check
2525
- name: Clippy
26-
run: cargo clippy --workspace -- -D warnings
26+
run: cargo clippy -p amplifier-core -p amplifier-core-py -- -D warnings
27+
28+
node-tests:
29+
name: Node.js Binding Tests
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v4
33+
- uses: dtolnay/rust-toolchain@stable
34+
- uses: Swatinem/rust-cache@v2
35+
- uses: actions/setup-node@v4
36+
with:
37+
node-version: '20'
38+
- name: Build native module
39+
working-directory: bindings/node
40+
run: |
41+
npm install
42+
npm run build
43+
- name: Run tests
44+
working-directory: bindings/node
45+
run: npx vitest run
46+
- name: Clippy (Node binding)
47+
run: cargo clippy -p amplifier-core-node -- -D warnings
2748

2849
python-tests:
2950
name: Python Tests (${{ matrix.python-version }})

0 commit comments

Comments
 (0)