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.
Files changed (133) hide show
  1. package/MANIFEST.SHA256 +121 -91
  2. package/PROVENANCE.json +11 -22
  3. package/README.txt +18 -18
  4. package/RELEASE.json +368 -378
  5. package/SBOM.cdx.json +2 -2
  6. package/TEST-MATRIX.json +2 -2
  7. package/bench/r121-epoch-readhead.mjs +54 -0
  8. package/bench/r124-epoch-predecessor.mjs +53 -0
  9. package/controller/deadbyte-process-policy.json +4 -4
  10. package/docs/HARNESS2-ADAPTATION-20261020.md +24 -0
  11. package/docs/R128-RELEASE-CANDIDATE.md +26 -0
  12. package/docs/R130-SDK-SECURITY-PATCH.md +34 -0
  13. package/node_modules/@modelcontextprotocol/client/README.md +1 -7
  14. package/node_modules/@modelcontextprotocol/client/dist/{index-BCtJi0p5.d.mts → index-B-4n9P0J.d.mts} +5 -1
  15. package/node_modules/@modelcontextprotocol/client/dist/index-B-4n9P0J.d.mts.map +1 -0
  16. package/node_modules/@modelcontextprotocol/client/dist/{index-CEk3qkZM.d.cts → index-J2FaQ-KY.d.cts} +5 -1
  17. package/node_modules/@modelcontextprotocol/client/dist/index-J2FaQ-KY.d.cts.map +1 -0
  18. package/node_modules/@modelcontextprotocol/client/dist/index.cjs +175 -76
  19. package/node_modules/@modelcontextprotocol/client/dist/index.cjs.map +1 -1
  20. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts +214 -35
  21. package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +1 -1
  22. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts +214 -35
  23. package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +1 -1
  24. package/node_modules/@modelcontextprotocol/client/dist/index.mjs +175 -76
  25. package/node_modules/@modelcontextprotocol/client/dist/index.mjs.map +1 -1
  26. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +1 -1
  27. package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +1 -1
  28. package/node_modules/@modelcontextprotocol/client/dist/{src-D0qEN74R.cjs → src-DpAS0jfg.cjs} +125 -11
  29. package/node_modules/@modelcontextprotocol/client/dist/src-DpAS0jfg.cjs.map +1 -0
  30. package/node_modules/@modelcontextprotocol/client/dist/{src-DDAAhLnO.mjs → src-WCy6ifGf.mjs} +102 -12
  31. package/node_modules/@modelcontextprotocol/client/dist/src-WCy6ifGf.mjs.map +1 -0
  32. package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +1 -1
  33. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.cts +1 -1
  34. package/node_modules/@modelcontextprotocol/client/dist/stdio.d.mts +1 -1
  35. package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +1 -1
  36. package/node_modules/@modelcontextprotocol/client/package.json +5 -5
  37. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts → auth-Anm-lwWi.d.mts} +9 -8
  38. package/node_modules/@modelcontextprotocol/core/dist/{auth--n_Yzytt.d.cts.map → auth-Anm-lwWi.d.mts.map} +1 -1
  39. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs → auth-BNDyLTqp.mjs} +5 -3
  40. package/node_modules/@modelcontextprotocol/core/dist/{auth-CGP0BDVq.mjs.map → auth-BNDyLTqp.mjs.map} +1 -1
  41. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs → auth-D1CeV_Jr.cjs} +5 -3
  42. package/node_modules/@modelcontextprotocol/core/dist/{auth-4-zilcqg.cjs.map → auth-D1CeV_Jr.cjs.map} +1 -1
  43. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts → auth-V9XJSCfa.d.cts} +9 -8
  44. package/node_modules/@modelcontextprotocol/core/dist/{auth-YUQV3RRv.d.mts.map → auth-V9XJSCfa.d.cts.map} +1 -1
  45. package/node_modules/@modelcontextprotocol/core/dist/index.cjs +1 -1
  46. package/node_modules/@modelcontextprotocol/core/dist/index.d.cts +1 -1
  47. package/node_modules/@modelcontextprotocol/core/dist/index.d.mts +1 -1
  48. package/node_modules/@modelcontextprotocol/core/dist/index.mjs +1 -1
  49. package/node_modules/@modelcontextprotocol/core/dist/internal.cjs +1 -1
  50. package/node_modules/@modelcontextprotocol/core/dist/internal.d.cts +1 -1
  51. package/node_modules/@modelcontextprotocol/core/dist/internal.d.mts +1 -1
  52. package/node_modules/@modelcontextprotocol/core/dist/internal.mjs +1 -1
  53. package/node_modules/@modelcontextprotocol/core/package.json +2 -2
  54. package/node_modules/@modelcontextprotocol/server/README.md +1 -7
  55. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-Bt6U_Fqb.d.mts → createMcpHandler-D4NN8WsG.d.mts} +35 -13
  56. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts.map +1 -0
  57. package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-BLVe3qmU.d.cts → createMcpHandler-DZmmlN8e.d.cts} +35 -13
  58. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts.map +1 -0
  59. package/node_modules/@modelcontextprotocol/server/dist/index.cjs +32 -5
  60. package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
  61. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +41 -5
  62. package/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -1
  63. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +41 -5
  64. package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
  65. package/node_modules/@modelcontextprotocol/server/dist/index.mjs +32 -5
  66. package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
  67. package/node_modules/@modelcontextprotocol/server/dist/{mcp-DUcCQSTW.cjs → mcp-BumlNux0.cjs} +73 -23
  68. package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs.map +1 -0
  69. package/node_modules/@modelcontextprotocol/server/dist/{mcp-Dw2OlZ1f.mjs → mcp-DIH4cS6P.mjs} +73 -23
  70. package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs.map +1 -0
  71. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
  72. package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
  73. package/node_modules/@modelcontextprotocol/server/dist/{src-CgFsfg3E.cjs → src-BhnGYybN.cjs} +29 -11
  74. package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs.map +1 -0
  75. package/node_modules/@modelcontextprotocol/server/dist/{src-D-y6h4N7.mjs → src-Cqbh3MYc.mjs} +29 -11
  76. package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs.map +1 -0
  77. package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +2 -2
  78. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
  79. package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
  80. package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +2 -2
  81. package/node_modules/@modelcontextprotocol/server/package.json +4 -4
  82. package/node_modules/which/CHANGELOG.md +166 -0
  83. package/package.json +3 -3
  84. package/scripts/npm-release-r48.mjs +0 -4
  85. package/scripts/verify-authority-epoch-history.mjs +38 -0
  86. package/src/activation-continuity-engine-r65.mjs +9 -15
  87. package/src/agent-eval-r42.mjs +30 -0
  88. package/src/authority-continuity-r65.mjs +182 -13
  89. package/src/autonomous-local-supervisor.mjs +77 -47
  90. package/src/deadbyte-cli.mjs +18 -28
  91. package/src/remote-live-log.mjs +15 -8
  92. package/src/remote-log-decode-r60.mjs +65 -0
  93. package/src/remote-session-guardian.mjs +4 -5
  94. package/src/version.mjs +1 -1
  95. package/test/autonomous-local-supervisor.test.mjs +1 -1
  96. package/test/harness2-eval-context-isolation.test.mjs +90 -0
  97. package/test/r108-remote-powershell-path.test.mjs +59 -0
  98. package/test/r110-supervisor-powershell-path.test.mjs +28 -0
  99. package/test/r111-supervisor-marker-cas.test.mjs +116 -0
  100. package/test/r112-supervisor-claim-cas.test.mjs +63 -0
  101. package/test/r113-supervisor-cleanup-terminality.test.mjs +100 -0
  102. package/test/r114-supervisor-absence-proof.test.mjs +45 -0
  103. package/test/r115-posix-continuity-entrypoint.test.mjs +17 -0
  104. package/test/r116-authority-crash-matrix.test.mjs +83 -0
  105. package/test/r117-concurrent-orphan-recovery.test.mjs +54 -0
  106. package/test/r118-cross-process-orphan-recovery.test.mjs +99 -0
  107. package/test/r119-recovery-crash-after-commit.test.mjs +91 -0
  108. package/test/r120-authority-history-audit.test.mjs +103 -0
  109. package/test/r121-signed-transition-invariant.test.mjs +132 -0
  110. package/test/r122-epoch-bounded-read.test.mjs +58 -0
  111. package/test/r123-recovery-bounded-read.test.mjs +64 -0
  112. package/test/r124-live-log-integrity.test.mjs +66 -0
  113. package/test/r124-live-log-tail-boundaries.test.mjs +57 -0
  114. package/test/r124-signed-predecessor-shape.test.mjs +66 -0
  115. package/test/r125-restore-binding-types.test.mjs +63 -0
  116. package/test/r126-restore-policy-envelope.test.mjs +89 -0
  117. package/test/r127-restore-append-policy-boundary.test.mjs +25 -0
  118. package/test/r129-sdk-security-baseline.test.mjs +38 -0
  119. package/test/r130-release-security-contract.test.mjs +28 -0
  120. package/test/r59-tool-surface-compat.test.mjs +1 -1
  121. package/test/r65-authority-epoch-store.test.mjs +9 -6
  122. package/test/r74-prepublish-contract.test.mjs +3 -1
  123. package/node_modules/@modelcontextprotocol/client/dist/index-BCtJi0p5.d.mts.map +0 -1
  124. package/node_modules/@modelcontextprotocol/client/dist/index-CEk3qkZM.d.cts.map +0 -1
  125. package/node_modules/@modelcontextprotocol/client/dist/src-D0qEN74R.cjs.map +0 -1
  126. package/node_modules/@modelcontextprotocol/client/dist/src-DDAAhLnO.mjs.map +0 -1
  127. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-BLVe3qmU.d.cts.map +0 -1
  128. package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-Bt6U_Fqb.d.mts.map +0 -1
  129. package/node_modules/@modelcontextprotocol/server/dist/mcp-DUcCQSTW.cjs.map +0 -1
  130. package/node_modules/@modelcontextprotocol/server/dist/mcp-Dw2OlZ1f.mjs.map +0 -1
  131. package/node_modules/@modelcontextprotocol/server/dist/src-CgFsfg3E.cjs.map +0 -1
  132. package/node_modules/@modelcontextprotocol/server/dist/src-D-y6h4N7.mjs.map +0 -1
  133. 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-DUcCQSTW.cjs');
3
- const require_src = require('./src-CgFsfg3E.cjs');
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
  let _modelcontextprotocol_core_internal = require("@modelcontextprotocol/core/internal");
6
6
 
@@ -341,6 +341,10 @@ async function readRequestBody(request, maxBytes = DEFAULT_MAX_REQUEST_BODY_SIZE
341
341
  * @example Hono.js
342
342
  * ```ts source="./streamableHttp.examples.ts#WebStandardStreamableHTTPServerTransport_hono"
343
343
  * app.all('/mcp', async c => {
344
+ * // Stateless example: create a server and a transport per request.
345
+ * const server = new McpServer({ name: 'my-server', version: '1.0.0' });
346
+ * const transport = new WebStandardStreamableHTTPServerTransport({ sessionIdGenerator: undefined });
347
+ * await server.connect(transport);
344
348
  * return transport.handleRequest(c.req.raw);
345
349
  * });
346
350
  * ```
@@ -349,6 +353,10 @@ async function readRequestBody(request, maxBytes = DEFAULT_MAX_REQUEST_BODY_SIZE
349
353
  * ```ts source="./streamableHttp.examples.ts#WebStandardStreamableHTTPServerTransport_workers"
350
354
  * const worker = {
351
355
  * async fetch(request: Request): Promise<Response> {
356
+ * // Stateless example: create a server and a transport per request.
357
+ * const server = new McpServer({ name: 'my-server', version: '1.0.0' });
358
+ * const transport = new WebStandardStreamableHTTPServerTransport({ sessionIdGenerator: undefined });
359
+ * await server.connect(transport);
352
360
  * return transport.handleRequest(request);
353
361
  * }
354
362
  * };
@@ -357,6 +365,7 @@ async function readRequestBody(request, maxBytes = DEFAULT_MAX_REQUEST_BODY_SIZE
357
365
  var WebStandardStreamableHTTPServerTransport = class {
358
366
  sessionIdGenerator;
359
367
  _started = false;
368
+ _hasHandledRequest = false;
360
369
  _closed = false;
361
370
  _streamMapping = /* @__PURE__ */ new Map();
362
371
  _requestToStreamMapping = /* @__PURE__ */ new Map();
@@ -478,6 +487,8 @@ var WebStandardStreamableHTTPServerTransport = class {
478
487
  */
479
488
  async handleRequest(req, options) {
480
489
  if (this._closed) return this.createJsonErrorResponse(404, -32001, "Session not found");
490
+ if (!this.sessionIdGenerator && this._hasHandledRequest) throw new Error("Stateless transport cannot be reused across requests. Create a new transport per request.");
491
+ this._hasHandledRequest = true;
481
492
  const validationError = this.validateRequestHeaders(req);
482
493
  if (validationError) return validationError;
483
494
  switch (req.method) {
@@ -1029,6 +1040,10 @@ function toError(value) {
1029
1040
  function internalServerErrorResponse(id = null) {
1030
1041
  return jsonRpcErrorResponse(500, -32603, "Internal server error", void 0, id);
1031
1042
  }
1043
+ /** Throws when the factory returned an instance that is still connected to another exchange. */
1044
+ function assertNotServing(server) {
1045
+ if (server.transport !== void 0) throw new Error("The factory returned an instance that is still serving another request. Return a new instance for each request.");
1046
+ }
1032
1047
  /**
1033
1048
  * The entry's default legacy serving (`legacy: 'stateless'`): per-request
1034
1049
  * stateless serving of 2025-era traffic using the same factory as the modern
@@ -1367,6 +1382,7 @@ function createMcpHandler(factory, options = {}) {
1367
1382
  requestInfo: request
1368
1383
  });
1369
1384
  const server = product instanceof require_mcp.McpServer ? product.server : product;
1385
+ assertNotServing(server);
1370
1386
  if (route.messageKind === "request" && route.message.method === "subscriptions/listen") {
1371
1387
  const capabilities = server.getCapabilities();
1372
1388
  const serverInfo = require_mcp.serverIdentityOf(server);
@@ -1400,6 +1416,7 @@ function createMcpHandler(factory, options = {}) {
1400
1416
  reportError(toError(error));
1401
1417
  return internalServerErrorResponse(route.message.id);
1402
1418
  }
1419
+ assertNotServing(server);
1403
1420
  require_src.setNegotiatedProtocolVersion(server, claimedRevision);
1404
1421
  require_mcp.installModernOnlyHandlers(server, require_src.SUPPORTED_MODERN_PROTOCOL_VERSIONS);
1405
1422
  if (meta !== void 0) require_mcp.seedClientIdentityFromEnvelope(server, {
@@ -1408,10 +1425,12 @@ function createMcpHandler(factory, options = {}) {
1408
1425
  });
1409
1426
  const previousOnClose = server.onclose;
1410
1427
  inflight.add(server);
1411
- server.onclose = () => {
1428
+ const onExchangeClose = () => {
1412
1429
  inflight.delete(server);
1430
+ if (server.onclose === onExchangeClose) server.onclose = previousOnClose;
1413
1431
  previousOnClose?.();
1414
1432
  };
1433
+ server.onclose = onExchangeClose;
1415
1434
  try {
1416
1435
  const response = await invoke(product, route.message, {
1417
1436
  classification: route.classification,
@@ -1569,14 +1588,22 @@ function hostHeaderValidationResponse(req, allowedHostnames) {
1569
1588
  * and only browser-originated requests carry the header this check defends against.
1570
1589
  * - Allowlist items are hostnames only (no scheme, no port), the same convention as
1571
1590
  * `validateHostHeader`. For IPv6, include brackets (e.g. `[::1]`).
1591
+ * - A browser extension's origin carries its extension ID as the hostname; list the
1592
+ * ID to allow one extension. An allowlist item of the form `<scheme>://*`
1593
+ * (lowercase, e.g. `moz-extension://*`) allows every origin of that scheme, which
1594
+ * Firefox needs because its extension IDs differ on every install.
1595
+ * `http://*` and `https://*` are not honoured: list websites by hostname.
1572
1596
  * - Any present value that cannot be parsed as an origin URL — including the literal
1573
1597
  * `null` origin browsers send for opaque contexts — is rejected (deny on failure).
1574
1598
  */
1575
1599
  function validateOriginHeader(originHeader, allowedOriginHostnames) {
1576
1600
  if (originHeader === null || originHeader === void 0 || originHeader === "") return { ok: true };
1577
1601
  let hostname;
1602
+ let scheme;
1578
1603
  try {
1579
- hostname = new URL(originHeader).hostname;
1604
+ const url = new URL(originHeader);
1605
+ hostname = url.hostname;
1606
+ scheme = url.protocol;
1580
1607
  } catch {
1581
1608
  return {
1582
1609
  ok: false,
@@ -1591,7 +1618,7 @@ function validateOriginHeader(originHeader, allowedOriginHostnames) {
1591
1618
  message: `Invalid Origin header: ${originHeader}`,
1592
1619
  originHeader
1593
1620
  };
1594
- if (!allowedOriginHostnames.includes(hostname)) return {
1621
+ if (!(scheme !== "http:" && scheme !== "https:" && allowedOriginHostnames.includes(`${scheme}//*`)) && !allowedOriginHostnames.includes(hostname)) return {
1595
1622
  ok: false,
1596
1623
  errorCode: "invalid_origin",
1597
1624
  message: `Invalid Origin: ${hostname}`,