deadbyte-mcp 0.15.48 → 0.15.50
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/MANIFEST.SHA256 +121 -91
- package/PROVENANCE.json +11 -22
- package/README.txt +18 -18
- package/RELEASE.json +368 -378
- package/SBOM.cdx.json +2 -2
- package/TEST-MATRIX.json +2 -2
- package/bench/r121-epoch-readhead.mjs +54 -0
- package/bench/r124-epoch-predecessor.mjs +53 -0
- package/controller/deadbyte-process-policy.json +4 -4
- package/docs/HARNESS2-ADAPTATION-20261020.md +24 -0
- package/docs/R128-RELEASE-CANDIDATE.md +26 -0
- package/docs/R130-SDK-SECURITY-PATCH.md +34 -0
- package/node_modules/@modelcontextprotocol/client/README.md +1 -7
- package/node_modules/@modelcontextprotocol/client/dist/{index-BCtJi0p5.d.mts → index-B-4n9P0J.d.mts} +5 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-B-4n9P0J.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/{index-CEk3qkZM.d.cts → index-J2FaQ-KY.d.cts} +5 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-J2FaQ-KY.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/index.cjs +175 -76
- package/node_modules/@modelcontextprotocol/client/dist/index.cjs.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.d.cts +214 -35
- package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.d.mts +214 -35
- package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.mjs +175 -76
- package/node_modules/@modelcontextprotocol/client/dist/index.mjs.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/{src-D0qEN74R.cjs → src-DpAS0jfg.cjs} +125 -11
- package/node_modules/@modelcontextprotocol/client/dist/src-DpAS0jfg.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/{src-DDAAhLnO.mjs → src-WCy6ifGf.mjs} +102 -12
- package/node_modules/@modelcontextprotocol/client/dist/src-WCy6ifGf.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.d.cts +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.d.mts +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +1 -1
- package/node_modules/@modelcontextprotocol/client/package.json +5 -5
- package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts → auth-Anm-lwWi.d.mts} +9 -8
- package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts.map → auth-Anm-lwWi.d.mts.map} +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs → auth-BNDyLTqp.mjs} +5 -3
- package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs.map → auth-BNDyLTqp.mjs.map} +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs → auth-D1CeV_Jr.cjs} +5 -3
- package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs.map → auth-D1CeV_Jr.cjs.map} +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts → auth-V9XJSCfa.d.cts} +9 -8
- package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts.map → auth-V9XJSCfa.d.cts.map} +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/index.cjs +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/index.mjs +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +1 -1
- package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +1 -1
- package/node_modules/@modelcontextprotocol/core/package.json +2 -2
- package/node_modules/@modelcontextprotocol/server/README.md +1 -7
- package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-Bt6U_Fqb.d.mts → createMcpHandler-D4NN8WsG.d.mts} +35 -13
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-BLVe3qmU.d.cts → createMcpHandler-DZmmlN8e.d.cts} +35 -13
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.cjs +32 -5
- package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +41 -5
- package/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +41 -5
- package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/index.mjs +32 -5
- package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/{mcp-DUcCQSTW.cjs → mcp-BumlNux0.cjs} +73 -23
- package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/{mcp-Dw2OlZ1f.mjs → mcp-DIH4cS6P.mjs} +73 -23
- package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/{src-CgFsfg3E.cjs → src-BhnGYybN.cjs} +29 -11
- package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/{src-D-y6h4N7.mjs → src-Cqbh3MYc.mjs} +29 -11
- package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +2 -2
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +2 -2
- package/node_modules/@modelcontextprotocol/server/package.json +4 -4
- package/node_modules/which/CHANGELOG.md +166 -0
- package/package.json +3 -3
- package/scripts/npm-release-r48.mjs +0 -4
- package/scripts/verify-authority-epoch-history.mjs +38 -0
- package/src/activation-continuity-engine-r65.mjs +9 -15
- package/src/agent-eval-r42.mjs +30 -0
- package/src/authority-continuity-r65.mjs +182 -13
- package/src/autonomous-local-supervisor.mjs +77 -47
- package/src/deadbyte-cli.mjs +18 -28
- package/src/remote-live-log.mjs +15 -8
- package/src/remote-log-decode-r60.mjs +65 -0
- package/src/remote-session-guardian.mjs +4 -5
- package/src/version.mjs +1 -1
- package/test/autonomous-local-supervisor.test.mjs +1 -1
- package/test/harness2-eval-context-isolation.test.mjs +90 -0
- package/test/r108-remote-powershell-path.test.mjs +59 -0
- package/test/r110-supervisor-powershell-path.test.mjs +28 -0
- package/test/r111-supervisor-marker-cas.test.mjs +116 -0
- package/test/r112-supervisor-claim-cas.test.mjs +63 -0
- package/test/r113-supervisor-cleanup-terminality.test.mjs +100 -0
- package/test/r114-supervisor-absence-proof.test.mjs +45 -0
- package/test/r115-posix-continuity-entrypoint.test.mjs +17 -0
- package/test/r116-authority-crash-matrix.test.mjs +83 -0
- package/test/r117-concurrent-orphan-recovery.test.mjs +54 -0
- package/test/r118-cross-process-orphan-recovery.test.mjs +99 -0
- package/test/r119-recovery-crash-after-commit.test.mjs +91 -0
- package/test/r120-authority-history-audit.test.mjs +103 -0
- package/test/r121-signed-transition-invariant.test.mjs +132 -0
- package/test/r122-epoch-bounded-read.test.mjs +58 -0
- package/test/r123-recovery-bounded-read.test.mjs +64 -0
- package/test/r124-live-log-integrity.test.mjs +66 -0
- package/test/r124-live-log-tail-boundaries.test.mjs +57 -0
- package/test/r124-signed-predecessor-shape.test.mjs +66 -0
- package/test/r125-restore-binding-types.test.mjs +63 -0
- package/test/r126-restore-policy-envelope.test.mjs +89 -0
- package/test/r127-restore-append-policy-boundary.test.mjs +25 -0
- package/test/r129-sdk-security-baseline.test.mjs +38 -0
- package/test/r130-release-security-contract.test.mjs +28 -0
- package/test/r59-tool-surface-compat.test.mjs +1 -1
- package/test/r65-authority-epoch-store.test.mjs +9 -6
- package/test/r74-prepublish-contract.test.mjs +3 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-BCtJi0p5.d.mts.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-CEk3qkZM.d.cts.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BLVe3qmU.d.cts.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-Bt6U_Fqb.d.mts.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/mcp-DUcCQSTW.cjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/mcp-Dw2OlZ1f.mjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/src-CgFsfg3E.cjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/src-D-y6h4N7.mjs.map +0 -1
- package/scripts/npm-release-readiness-r108.mjs +0 -134
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-Bnu9O96Y.cjs');
|
|
2
|
-
const require_mcp = require('./mcp-
|
|
3
|
-
const require_src = require('./src-
|
|
2
|
+
const require_mcp = require('./mcp-BumlNux0.cjs');
|
|
3
|
+
const require_src = require('./src-BhnGYybN.cjs');
|
|
4
4
|
let _modelcontextprotocol_server__shims = require("@modelcontextprotocol/server/_shims");
|
|
5
5
|
|
|
6
6
|
//#region src/server/stdio.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as McpServerFactory,
|
|
1
|
+
import { c as McpServerFactory, pt as Transport, yr as JSONRPCMessage } from "./createMcpHandler-DZmmlN8e.cjs";
|
|
2
2
|
import { Readable, Writable } from "node:stream";
|
|
3
3
|
|
|
4
4
|
//#region src/server/serveStdio.d.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as McpServerFactory,
|
|
1
|
+
import { c as McpServerFactory, pt as Transport, yr as JSONRPCMessage } from "./createMcpHandler-D4NN8WsG.mjs";
|
|
2
2
|
import { Readable, Writable } from "node:stream";
|
|
3
3
|
|
|
4
4
|
//#region src/server/serveStdio.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as DEFAULT_MAX_SUBSCRIPTIONS, i as installModernOnlyHandlers, o as serverIdentityOf, t as McpServer, v as StdioListenRouter } from "./mcp-
|
|
2
|
-
import { F as carriesValidModernEnvelopeClaim, J as isJSONRPCErrorResponse, Q as isJSONRPCResultResponse, R as modernOnlyStrictRejection, X as isJSONRPCRequest, Y as isJSONRPCNotification, at as requestMetaOf, c as ReadBuffer, d as serializeMessage, ft as UnsupportedProtocolVersionError, it as hasEnvelopeClaim, mt as ProtocolErrorCode, ot as validateEnvelopeMeta, rt as envelopeClaimVersion, vt as SUPPORTED_MODERN_PROTOCOL_VERSIONS, y as setNegotiatedProtocolVersion } from "./src-
|
|
1
|
+
import { _ as DEFAULT_MAX_SUBSCRIPTIONS, i as installModernOnlyHandlers, o as serverIdentityOf, t as McpServer, v as StdioListenRouter } from "./mcp-DIH4cS6P.mjs";
|
|
2
|
+
import { F as carriesValidModernEnvelopeClaim, J as isJSONRPCErrorResponse, Q as isJSONRPCResultResponse, R as modernOnlyStrictRejection, X as isJSONRPCRequest, Y as isJSONRPCNotification, at as requestMetaOf, c as ReadBuffer, d as serializeMessage, ft as UnsupportedProtocolVersionError, it as hasEnvelopeClaim, mt as ProtocolErrorCode, ot as validateEnvelopeMeta, rt as envelopeClaimVersion, vt as SUPPORTED_MODERN_PROTOCOL_VERSIONS, y as setNegotiatedProtocolVersion } from "./src-Cqbh3MYc.mjs";
|
|
3
3
|
import { process } from "@modelcontextprotocol/server/_shims";
|
|
4
4
|
|
|
5
5
|
//#region src/server/stdio.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modelcontextprotocol/server",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Model Context Protocol implementation for TypeScript - Server package",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
6
|
"author": "Anthropic, PBC (https://anthropic.com)",
|
|
7
7
|
"homepage": "https://modelcontextprotocol.io",
|
|
8
8
|
"bugs": "https://github.com/modelcontextprotocol/typescript-sdk/issues",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
],
|
|
124
124
|
"dependencies": {
|
|
125
125
|
"zod": "^4.2.0",
|
|
126
|
-
"@modelcontextprotocol/core": "2.1
|
|
126
|
+
"@modelcontextprotocol/core": "2.3.1"
|
|
127
127
|
},
|
|
128
128
|
"devDependencies": {
|
|
129
129
|
"@cfworker/json-schema": "^4.1.1",
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
"typescript": "^5.9.3",
|
|
142
142
|
"typescript-eslint": "^8.48.1",
|
|
143
143
|
"vitest": "^4.0.15",
|
|
144
|
-
"@modelcontextprotocol/core-internal": "^2.0.
|
|
144
|
+
"@modelcontextprotocol/core-internal": "^2.0.4",
|
|
145
145
|
"@modelcontextprotocol/eslint-config": "^2.0.0",
|
|
146
146
|
"@modelcontextprotocol/test-helpers": "^2.0.0",
|
|
147
147
|
"@modelcontextprotocol/tsconfig": "^2.0.0",
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# Changes
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## 2.0.2
|
|
5
|
+
|
|
6
|
+
* Rename bin to `node-which`
|
|
7
|
+
|
|
8
|
+
## 2.0.1
|
|
9
|
+
|
|
10
|
+
* generate changelog and publish on version bump
|
|
11
|
+
* enforce 100% test coverage
|
|
12
|
+
* Promise interface
|
|
13
|
+
|
|
14
|
+
## 2.0.0
|
|
15
|
+
|
|
16
|
+
* Parallel tests, modern JavaScript, and drop support for node < 8
|
|
17
|
+
|
|
18
|
+
## 1.3.1
|
|
19
|
+
|
|
20
|
+
* update deps
|
|
21
|
+
* update travis
|
|
22
|
+
|
|
23
|
+
## v1.3.0
|
|
24
|
+
|
|
25
|
+
* Add nothrow option to which.sync
|
|
26
|
+
* update tap
|
|
27
|
+
|
|
28
|
+
## v1.2.14
|
|
29
|
+
|
|
30
|
+
* appveyor: drop node 5 and 0.x
|
|
31
|
+
* travis-ci: add node 6, drop 0.x
|
|
32
|
+
|
|
33
|
+
## v1.2.13
|
|
34
|
+
|
|
35
|
+
* test: Pass missing option to pass on windows
|
|
36
|
+
* update tap
|
|
37
|
+
* update isexe to 2.0.0
|
|
38
|
+
* neveragain.tech pledge request
|
|
39
|
+
|
|
40
|
+
## v1.2.12
|
|
41
|
+
|
|
42
|
+
* Removed unused require
|
|
43
|
+
|
|
44
|
+
## v1.2.11
|
|
45
|
+
|
|
46
|
+
* Prevent changelog script from being included in package
|
|
47
|
+
|
|
48
|
+
## v1.2.10
|
|
49
|
+
|
|
50
|
+
* Use env.PATH only, not env.Path
|
|
51
|
+
|
|
52
|
+
## v1.2.9
|
|
53
|
+
|
|
54
|
+
* fix for paths starting with ../
|
|
55
|
+
* Remove unused `is-absolute` module
|
|
56
|
+
|
|
57
|
+
## v1.2.8
|
|
58
|
+
|
|
59
|
+
* bullet items in changelog that contain (but don't start with) #
|
|
60
|
+
|
|
61
|
+
## v1.2.7
|
|
62
|
+
|
|
63
|
+
* strip 'update changelog' changelog entries out of changelog
|
|
64
|
+
|
|
65
|
+
## v1.2.6
|
|
66
|
+
|
|
67
|
+
* make the changelog bulleted
|
|
68
|
+
|
|
69
|
+
## v1.2.5
|
|
70
|
+
|
|
71
|
+
* make a changelog, and keep it up to date
|
|
72
|
+
* don't include tests in package
|
|
73
|
+
* Properly handle relative-path executables
|
|
74
|
+
* appveyor
|
|
75
|
+
* Attach error code to Not Found error
|
|
76
|
+
* Make tests pass on Windows
|
|
77
|
+
|
|
78
|
+
## v1.2.4
|
|
79
|
+
|
|
80
|
+
* Fix typo
|
|
81
|
+
|
|
82
|
+
## v1.2.3
|
|
83
|
+
|
|
84
|
+
* update isexe, fix regression in pathExt handling
|
|
85
|
+
|
|
86
|
+
## v1.2.2
|
|
87
|
+
|
|
88
|
+
* update deps, use isexe module, test windows
|
|
89
|
+
|
|
90
|
+
## v1.2.1
|
|
91
|
+
|
|
92
|
+
* Sometimes windows PATH entries are quoted
|
|
93
|
+
* Fixed a bug in the check for group and user mode bits. This bug was introduced during refactoring for supporting strict mode.
|
|
94
|
+
* doc cli
|
|
95
|
+
|
|
96
|
+
## v1.2.0
|
|
97
|
+
|
|
98
|
+
* Add support for opt.all and -as cli flags
|
|
99
|
+
* test the bin
|
|
100
|
+
* update travis
|
|
101
|
+
* Allow checking for multiple programs in bin/which
|
|
102
|
+
* tap 2
|
|
103
|
+
|
|
104
|
+
## v1.1.2
|
|
105
|
+
|
|
106
|
+
* travis
|
|
107
|
+
* Refactored and fixed undefined error on Windows
|
|
108
|
+
* Support strict mode
|
|
109
|
+
|
|
110
|
+
## v1.1.1
|
|
111
|
+
|
|
112
|
+
* test +g exes against secondary groups, if available
|
|
113
|
+
* Use windows exe semantics on cygwin & msys
|
|
114
|
+
* cwd should be first in path on win32, not last
|
|
115
|
+
* Handle lower-case 'env.Path' on Windows
|
|
116
|
+
* Update docs
|
|
117
|
+
* use single-quotes
|
|
118
|
+
|
|
119
|
+
## v1.1.0
|
|
120
|
+
|
|
121
|
+
* Add tests, depend on is-absolute
|
|
122
|
+
|
|
123
|
+
## v1.0.9
|
|
124
|
+
|
|
125
|
+
* which.js: root is allowed to execute files owned by anyone
|
|
126
|
+
|
|
127
|
+
## v1.0.8
|
|
128
|
+
|
|
129
|
+
* don't use graceful-fs
|
|
130
|
+
|
|
131
|
+
## v1.0.7
|
|
132
|
+
|
|
133
|
+
* add license to package.json
|
|
134
|
+
|
|
135
|
+
## v1.0.6
|
|
136
|
+
|
|
137
|
+
* isc license
|
|
138
|
+
|
|
139
|
+
## 1.0.5
|
|
140
|
+
|
|
141
|
+
* Awful typo
|
|
142
|
+
|
|
143
|
+
## 1.0.4
|
|
144
|
+
|
|
145
|
+
* Test for path absoluteness properly
|
|
146
|
+
* win: Allow '' as a pathext if cmd has a . in it
|
|
147
|
+
|
|
148
|
+
## 1.0.3
|
|
149
|
+
|
|
150
|
+
* Remove references to execPath
|
|
151
|
+
* Make `which.sync()` work on Windows by honoring the PATHEXT variable.
|
|
152
|
+
* Make `isExe()` always return true on Windows.
|
|
153
|
+
* MIT
|
|
154
|
+
|
|
155
|
+
## 1.0.2
|
|
156
|
+
|
|
157
|
+
* Only files can be exes
|
|
158
|
+
|
|
159
|
+
## 1.0.1
|
|
160
|
+
|
|
161
|
+
* Respect the PATHEXT env for win32 support
|
|
162
|
+
* should 0755 the bin
|
|
163
|
+
* binary
|
|
164
|
+
* guts
|
|
165
|
+
* package
|
|
166
|
+
* 1st
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deadbyte-mcp",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.50",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Authenticated MCP agentic runtime with signed skills, persistent model backends, identity-bound remote devices, durable job supervision, immutable release slots, and separately revocable machine authority.",
|
|
@@ -103,8 +103,8 @@
|
|
|
103
103
|
"zod"
|
|
104
104
|
],
|
|
105
105
|
"dependencies": {
|
|
106
|
-
"@modelcontextprotocol/client": "2.1
|
|
107
|
-
"@modelcontextprotocol/server": "2.1
|
|
106
|
+
"@modelcontextprotocol/client": "2.3.1",
|
|
107
|
+
"@modelcontextprotocol/server": "2.3.1",
|
|
108
108
|
"typescript": "5.9.3",
|
|
109
109
|
"zod": "4.4.3"
|
|
110
110
|
},
|
|
@@ -95,10 +95,6 @@ async function main() {
|
|
|
95
95
|
if (!isVerifyOnly && version==='0.15.45') assertR71NpmPublishReady(release);
|
|
96
96
|
if (!isVerifyOnly && version==='0.15.46') await assertR72NpmPublishReady(release,{root});
|
|
97
97
|
if (!isVerifyOnly && version==='0.15.47') await assertR74NpmPublishReady(release,{root});
|
|
98
|
-
if (version==='0.15.48') {
|
|
99
|
-
const {assertR108NpmPublishReady} = await import('./npm-release-readiness-r108.mjs');
|
|
100
|
-
await assertR108NpmPublishReady(release,{root,provenance});
|
|
101
|
-
}
|
|
102
98
|
if (release.parent?.release_id !== provenance.parent_release_id ||
|
|
103
99
|
release.parent?.manifest_sha256 !== provenance.parent_manifest_sha256 ||
|
|
104
100
|
release.parent?.generation_manifest_sha256 !== provenance.parent_generation_manifest_sha256) {
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import {lstat} from 'node:fs/promises';
|
|
4
|
+
import {createAuthorityEpochStore} from '../src/authority-continuity-r65.mjs';
|
|
5
|
+
|
|
6
|
+
const planes = new Set(['process', 'coding', 'autonomous', 'desktop', 'host']);
|
|
7
|
+
const sha256 = /^[0-9a-f]{64}$/;
|
|
8
|
+
|
|
9
|
+
function parse(argv) {
|
|
10
|
+
if(argv.length!==6)throw new Error('expected --runtime-dir, --plane, and --expected-head');
|
|
11
|
+
const args = {};
|
|
12
|
+
for(let i=0;i<argv.length;i+=2){
|
|
13
|
+
const flag=argv[i],value=argv[i+1];
|
|
14
|
+
if(!['--runtime-dir','--plane','--expected-head'].includes(flag)||
|
|
15
|
+
Object.hasOwn(args,flag)||typeof value!=='string'||value.length===0)
|
|
16
|
+
throw new Error('authority history audit arguments invalid');
|
|
17
|
+
args[flag]=value;
|
|
18
|
+
}
|
|
19
|
+
const runtimeDir=args['--runtime-dir'],plane=args['--plane'],expectedHead=args['--expected-head'];
|
|
20
|
+
if(!path.isAbsolute(runtimeDir)||!planes.has(plane)||!sha256.test(expectedHead))
|
|
21
|
+
throw new Error('authority history audit subject invalid');
|
|
22
|
+
return {runtimeDir,plane,expectedHead};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async function main() {
|
|
26
|
+
const {runtimeDir,plane,expectedHead}=parse(process.argv.slice(2));
|
|
27
|
+
const stat=await lstat(runtimeDir);
|
|
28
|
+
if(!stat.isDirectory()||stat.isSymbolicLink())throw new Error('authority history audit runtime root invalid');
|
|
29
|
+
const result=await createAuthorityEpochStore({runtimeDir}).auditHistory({plane});
|
|
30
|
+
if(result.status!=='PASS'||result.event_sha256!==expectedHead)
|
|
31
|
+
throw new Error('authority history audit expected head mismatch');
|
|
32
|
+
process.stdout.write(JSON.stringify(result)+'\n');
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
main().catch(error=>{
|
|
36
|
+
process.stderr.write(`AUTHORITY_HISTORY_AUDIT_FAIL ${String(error?.message??error)}\n`);
|
|
37
|
+
process.exitCode=1;
|
|
38
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {createHash,randomBytes} from 'node:crypto';
|
|
2
|
-
import {open,readFile
|
|
2
|
+
import {open,readFile} from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import {canonicalJson} from './canonical-json.mjs';
|
|
5
5
|
import {decodeUtf8Strict} from './text-policy.mjs';
|
|
@@ -44,20 +44,12 @@ async function writeExclusive(file,bytes){
|
|
|
44
44
|
async function removeIfExact(file,expectedSha256){
|
|
45
45
|
// The Windows native disposition pins a single handle from read/hash through deletion.
|
|
46
46
|
// Never use a pathname removal after confirming only a previous snapshot.
|
|
47
|
-
if(process.platform
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
// Legacy non-Windows behavior is retained for source/test compatibility.
|
|
55
|
-
// It is NOT a cross-platform pinned-deletion security guarantee.
|
|
56
|
-
const current=await readOptional(file);
|
|
57
|
-
if(current===null)return {removed:false,reason:'absent'};
|
|
58
|
-
if(sha(current)!==expectedSha256)return {removed:false,reason:'replacement'};
|
|
59
|
-
await rm(file,{force:true});
|
|
60
|
-
return {removed:true,reason:'matched'};
|
|
47
|
+
if(process.platform!=='win32')throw new Error('authority grant POSIX disposition unsupported');
|
|
48
|
+
const verdict=deletePinnedRemoteMarker(file,expectedSha256);
|
|
49
|
+
if(verdict==='REMOVED')return {removed:true,reason:'matched'};
|
|
50
|
+
if(verdict==='MISSING')return {removed:false,reason:'absent'};
|
|
51
|
+
if(verdict==='CHANGED')return {removed:false,reason:'replacement'};
|
|
52
|
+
throw new Error('authority grant native deletion verdict invalid');
|
|
61
53
|
}
|
|
62
54
|
function validateCapture(capture){
|
|
63
55
|
if(!plain(capture)||typeof capture.update_id!=='string'||!Array.isArray(capture.planes)||!plain(capture.records))throw new Error('authority continuity capture invalid');
|
|
@@ -100,6 +92,8 @@ function classifyConflict(head,record,updateId){
|
|
|
100
92
|
}
|
|
101
93
|
|
|
102
94
|
export function createEpochNativeContinuityEngine({stateRoot,predecessorPolicyPaths,successorPolicyPaths,updateId}={}){
|
|
95
|
+
if(process.platform!=='win32')
|
|
96
|
+
throw new Error('authority continuity POSIX mutation unsupported: native disposition unavailable');
|
|
103
97
|
const state=path.resolve(String(stateRoot??''));
|
|
104
98
|
if(!stateRoot||!plain(predecessorPolicyPaths)||typeof successorPolicyPaths!=='function'||
|
|
105
99
|
typeof updateId!=='string'||!/^[A-Za-z0-9._-]{1,96}$/.test(updateId))
|
package/src/agent-eval-r42.mjs
CHANGED
|
@@ -4,6 +4,11 @@ import { canonicalJson } from './canonical-json.mjs';
|
|
|
4
4
|
const HEX64=/^[0-9a-f]{64}$/;
|
|
5
5
|
const ID=/^[A-Za-z0-9._-]{1,96}$/;
|
|
6
6
|
const SEVERITY=new Set(['info','low','medium','high','critical']);
|
|
7
|
+
const JUDGE_ONLY_KEY=/(?:secret|token|password|answer[_-]?key|ground[_-]?truth)/i;
|
|
8
|
+
const JUDGE_ONLY_CONTEXT_KEYS=new Set([
|
|
9
|
+
'hidden_oracle','judge_result','grader_verdict','deterministic_eval_result',
|
|
10
|
+
'deterministic_eval_summary','judge_scope_and_deterministic_status'
|
|
11
|
+
]);
|
|
7
12
|
const sha=value=>createHash('sha256').update(Buffer.from(canonicalJson(value),'utf8')).digest('hex');
|
|
8
13
|
function object(value,label){if(!value||typeof value!=='object'||Array.isArray(value))throw new Error(`${label} invalid`);return value;}
|
|
9
14
|
function keys(value,allowed,label){const extra=Object.keys(value).filter(key=>!allowed.includes(key));if(extra.length)throw new Error(`${label} unknown field '${extra[0]}'`);}
|
|
@@ -11,6 +16,30 @@ function id(value,label){if(typeof value!=='string'||!ID.test(value))throw new E
|
|
|
11
16
|
function text(value,label,max=8192){if(typeof value!=='string'||value.length<1||value.length>max||value.includes('\0'))throw new Error(`${label} invalid`);return value;}
|
|
12
17
|
function textList(value,label,maxItems=32,maxLength=1024){if(!Array.isArray(value)||value.length>maxItems||value.some(item=>typeof item!=='string'||item.length<1||item.length>maxLength))throw new Error(`${label} invalid`);return [...value];}
|
|
13
18
|
|
|
19
|
+
function assertNoJudgeOnlyContextLeak(core){
|
|
20
|
+
const checkKeys=(value,depth=0)=>{
|
|
21
|
+
if(depth>32)throw new Error('eval visible context nesting exceeds safe limit');
|
|
22
|
+
if(Array.isArray(value)){for(const item of value)checkKeys(item,depth+1);return;}
|
|
23
|
+
if(value&&typeof value==='object')for(const [key,item] of Object.entries(value)){
|
|
24
|
+
if(JUDGE_ONLY_CONTEXT_KEYS.has(key.toLowerCase()))throw new Error('judge-only result leaked into generator context');
|
|
25
|
+
checkKeys(item,depth+1);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
checkKeys(core.allowed_context);
|
|
29
|
+
const visible=canonicalJson({task:core.task,allowed_context:core.allowed_context,acceptance:core.acceptance});
|
|
30
|
+
const visit=(value,secretKey=false,depth=0)=>{
|
|
31
|
+
if(depth>32)throw new Error('eval hidden oracle nesting exceeds safe limit');
|
|
32
|
+
if(typeof value==='string'){
|
|
33
|
+
if(secretKey&&value.length>0&&visible.includes(JSON.stringify(value).slice(1,-1)))
|
|
34
|
+
throw new Error('judge-only oracle value leaked into generator context');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if(Array.isArray(value)){for(const item of value)visit(item,secretKey,depth+1);return;}
|
|
38
|
+
if(value&&typeof value==='object')for(const [key,item] of Object.entries(value))visit(item,secretKey||JUDGE_ONLY_KEY.test(key),depth+1);
|
|
39
|
+
};
|
|
40
|
+
visit(core.hidden_oracle);
|
|
41
|
+
}
|
|
42
|
+
|
|
14
43
|
function normalizeCase(raw){
|
|
15
44
|
const value=object(raw,'agent eval case');keys(value,['schema','case_id','task','allowed_context','hidden_oracle','acceptance'],'agent eval case');
|
|
16
45
|
if(value.schema!=='deadbyte.agent-eval-case.v1')throw new Error('agent eval case schema invalid');
|
|
@@ -18,6 +47,7 @@ function normalizeCase(raw){
|
|
|
18
47
|
allowed_context:structuredClone(object(value.allowed_context,'eval allowed_context')),
|
|
19
48
|
hidden_oracle:structuredClone(object(value.hidden_oracle,'eval hidden_oracle')),
|
|
20
49
|
acceptance:textList(value.acceptance,'eval acceptance')};
|
|
50
|
+
assertNoJudgeOnlyContextLeak(core);
|
|
21
51
|
return Object.freeze({...core,case_sha256:sha(core)});
|
|
22
52
|
}
|
|
23
53
|
|