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 +41 -0
- package/README.md +14 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/version.d.ts +7 -0
- package/dist/version.js +10 -0
- package/package.json +3 -3
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
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"));
|
package/dist/version.js
ADDED
|
@@ -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.
|
|
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": ">=
|
|
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.
|
|
58
|
+
"@multiagentcoordinationprotocol/proto": "^0.1.8",
|
|
59
59
|
"protobufjs": "^8.6.5"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|