macp-sdk-typescript 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,47 @@ All notable changes to `macp-sdk-typescript` are documented here. The format
4
4
  follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the
5
5
  project uses [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [0.6.0](https://github.com/multiagentcoordinationprotocol/macp-sdk-typescript/compare/v0.5.0...v0.6.0) (2026-07-10)
8
+
9
+
10
+ ### Features
11
+
12
+ * export package VERSION constant ([#37](https://github.com/multiagentcoordinationprotocol/macp-sdk-typescript/issues/37)) ([4ae5cda](https://github.com/multiagentcoordinationprotocol/macp-sdk-typescript/commit/4ae5cda23255b82339490f740a30ca0b7fee0d5a))
13
+
14
+ ## [Unreleased]
15
+
16
+ ### Changed
17
+
18
+ - **BREAKING: requires Node.js >= 20** (`engines.node`). Node 18 reached
19
+ end-of-life in April 2025 and was never exercised in CI; the CI matrix now
20
+ tests Node 20, 22, and 24.
21
+ - CI installs with `npm ci` against the committed lockfile (regenerated so all
22
+ platform-specific optional binaries are recorded), with npm caching and a
23
+ concurrency group that cancels superseded PR runs. The advisory-only
24
+ `npm audit` job is replaced by Dependabot (weekly grouped npm and
25
+ github-actions updates). All workflow actions are pinned by commit SHA.
26
+ - Publishing now runs the full `prepublishOnly` gate (check + lint +
27
+ format:check + test + build) against the exact tree being published —
28
+ the `--ignore-scripts` workaround is gone.
29
+ - Pull requests get a coverage summary comment from CI.
30
+
31
+ ### Added
32
+
33
+ - Extensive unit coverage for previously integration-only surface: the
34
+ `MacpStream` data path (envelope unwrapping, inline errors, timeouts,
35
+ end-of-stream semantics), the entire `MacpClient` unary RPC surface and its
36
+ metadata/deadline dispatch, the `watch*` stream factories, session
37
+ `cancel`/`suspend`/`resume` delegation for all five modes, `BaseSession`/
38
+ `BaseProjection` extension-point behavior, and the `Participant` run loop
39
+ (terminal dispatch, cancel-callback wiring, initiator kickoff defaults).
40
+ Coverage thresholds raised to lines 94 / branches 88 / functions 90 /
41
+ statements 94.
42
+ - Conformance: `ext.multi_round.v1` fixtures now replay with real assertions
43
+ (previously silently skipped); fixtures for unmapped modes fail loudly; and
44
+ reject-path fixtures are contract-checked (canonical `expected_error_code`,
45
+ resolvable `payload_type`) with explicit skip markers pointing at the
46
+ runtime conformance oracle for the NACK behavior itself.
47
+
7
48
  ## [0.5.0] - 2026-07-06
8
49
 
9
50
  Absorbs `macp-runtime` 0.5.0 and `@multiagentcoordinationprotocol/proto` 0.1.6
package/README.md CHANGED
@@ -2,8 +2,14 @@
2
2
 
3
3
  TypeScript SDK for the [Multi-Agent Coordination Protocol (MACP)](https://github.com/multiagentcoordinationprotocol/multiagentcoordinationprotocol) runtime. Connects TypeScript/Node.js applications to the Rust MACP runtime over gRPC.
4
4
 
5
+ SDK documentation lives in [`docs/`](docs/index.md) and covers the TypeScript API.
6
+ Protocol semantics are normative in the [spec repo's docs and RFCs](https://github.com/multiagentcoordinationprotocol/multiagentcoordinationprotocol/tree/main/rfcs);
7
+ runtime behavior is documented in the [runtime repo's docs](https://github.com/multiagentcoordinationprotocol/macp-runtime/blob/main/docs/getting-started.md).
8
+
5
9
  ## Install
6
10
 
11
+ Requires Node.js >= 20.
12
+
7
13
  ```bash
8
14
  npm install macp-sdk-typescript
9
15
  ```
@@ -287,7 +293,7 @@ reference: [`docs/api/strategies.md`](docs/api/strategies.md).
287
293
  ### Cancel Callback
288
294
 
289
295
  Long-running agents can expose an HTTP endpoint that an orchestrator POSTs to
290
- in order to request a clean shutdown (RFC-MACP-0001 §7.2 Option A). Bootstrap
296
+ in order to request a clean shutdown ([RFC-MACP-0001 (Core)](https://github.com/multiagentcoordinationprotocol/multiagentcoordinationprotocol/blob/main/rfcs/RFC-MACP-0001-core.md) §7.2 Option A). Bootstrap
291
297
  JSON with a `cancel_callback: { host, port, path }` block auto-wires the
292
298
  server via `fromBootstrap()`; for the manual path use
293
299
  `startCancelCallbackServer(...)` + `Participant.attachCancelCallbackServer(...)`.
@@ -323,7 +329,7 @@ await session.vote({
323
329
 
324
330
  ## TLS
325
331
 
326
- TLS is on by default (RFC-MACP-0006 §3). To connect to an insecure runtime
332
+ TLS is on by default ([RFC-MACP-0006 (Transport Bindings)](https://github.com/multiagentcoordinationprotocol/multiagentcoordinationprotocol/blob/main/rfcs/RFC-MACP-0006-transport-bindings.md) §3). To connect to an insecure runtime
327
333
  during local development, you must opt out explicitly:
328
334
 
329
335
  ```typescript
@@ -405,10 +411,14 @@ npm run lint # ESLint
405
411
  npm run format # Prettier
406
412
  npm test # Run unit + conformance tests
407
413
  npm run test:watch # Watch mode
408
- npm run test:coverage # With coverage
409
- npm run test:integration # Integration tests (requires Docker runtime)
414
+ npm run test:coverage # With coverage (CI enforces thresholds from vitest.config.ts)
415
+ npm run test:integration # Integration tests (requires Docker runtime; not run in CI)
410
416
  ```
411
417
 
418
+ CI (GitHub Actions) runs type-check, lint, format check, the coverage-gated
419
+ test suite, and the build on Node 20, 22, and 24 for every push and pull
420
+ request, and posts a coverage summary comment on PRs.
421
+
412
422
  ### Integration Tests
413
423
 
414
424
  Run the full SDK against a live MACP runtime:
package/dist/index.d.ts CHANGED
@@ -16,5 +16,6 @@ export * from './quorum';
16
16
  export * from './task';
17
17
  export * from './types';
18
18
  export * from './validation';
19
+ export { VERSION } from './version';
19
20
  export * from './watchers';
20
21
  export * as agent from './agent';
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.agent = exports.Auth = void 0;
39
+ exports.agent = exports.VERSION = exports.Auth = void 0;
40
40
  // Auth: export only the public constructors and types. The helpers
41
41
  // `validateAuth`, `authSender`, `assertSenderMatchesIdentity`, and
42
42
  // `metadataFromAuth` are SDK-internal — importable from the `./auth`
@@ -61,5 +61,7 @@ __exportStar(require("./quorum"), exports);
61
61
  __exportStar(require("./task"), exports);
62
62
  __exportStar(require("./types"), exports);
63
63
  __exportStar(require("./validation"), exports);
64
+ var version_1 = require("./version");
65
+ Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
64
66
  __exportStar(require("./watchers"), exports);
65
67
  exports.agent = __importStar(require("./agent"));
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The installed `macp-sdk-typescript` package version.
3
+ *
4
+ * Kept in sync with package.json by release-please (see the
5
+ * `x-release-please-version` annotation).
6
+ */
7
+ export declare const VERSION = "0.6.0";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERSION = void 0;
4
+ /**
5
+ * The installed `macp-sdk-typescript` package version.
6
+ *
7
+ * Kept in sync with package.json by release-please (see the
8
+ * `x-release-please-version` annotation).
9
+ */
10
+ exports.VERSION = '0.6.0'; // x-release-please-version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "macp-sdk-typescript",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "TypeScript SDK for the MACP Rust runtime",
5
5
  "license": "Apache-2.0",
6
6
  "type": "commonjs",
@@ -39,7 +39,7 @@
39
39
  "prepublishOnly": "npm run check && npm run lint && npm run format:check && npm test && npm run build"
40
40
  },
41
41
  "engines": {
42
- "node": ">=18"
42
+ "node": ">=20"
43
43
  },
44
44
  "keywords": [
45
45
  "macp",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@grpc/grpc-js": "^1.14.3",
57
57
  "@grpc/proto-loader": "^0.8.0",
58
- "@multiagentcoordinationprotocol/proto": "^0.1.6",
58
+ "@multiagentcoordinationprotocol/proto": "^0.1.8",
59
59
  "protobufjs": "^8.6.5"
60
60
  },
61
61
  "devDependencies": {