@sensigo/realm-mcp 0.45.0 → 0.46.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.
Files changed (69) hide show
  1. package/dist/bin-identity.d.ts +11 -0
  2. package/dist/bin-identity.d.ts.map +1 -0
  3. package/dist/bin-identity.js +47 -0
  4. package/dist/bin-identity.js.map +1 -0
  5. package/dist/brand.d.ts +3 -0
  6. package/dist/brand.d.ts.map +1 -0
  7. package/dist/brand.js +7 -0
  8. package/dist/brand.js.map +1 -0
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/json-trace-buffer-store.d.ts +44 -31
  14. package/dist/json-trace-buffer-store.d.ts.map +1 -1
  15. package/dist/json-trace-buffer-store.js +72 -49
  16. package/dist/json-trace-buffer-store.js.map +1 -1
  17. package/dist/protocol/generator.js +2 -2
  18. package/dist/protocol/generator.js.map +1 -1
  19. package/dist/server.d.ts +13 -2
  20. package/dist/server.d.ts.map +1 -1
  21. package/dist/server.js +30 -4
  22. package/dist/server.js.map +1 -1
  23. package/dist/test-support/declared.d.ts +2 -0
  24. package/dist/test-support/declared.d.ts.map +1 -0
  25. package/dist/test-support/declared.js +9 -0
  26. package/dist/test-support/declared.js.map +1 -0
  27. package/dist/tools/abandon-run.d.ts.map +1 -1
  28. package/dist/tools/abandon-run.js +2 -0
  29. package/dist/tools/abandon-run.js.map +1 -1
  30. package/dist/tools/append-trace.d.ts +2 -0
  31. package/dist/tools/append-trace.d.ts.map +1 -1
  32. package/dist/tools/append-trace.js +18 -70
  33. package/dist/tools/append-trace.js.map +1 -1
  34. package/dist/tools/assert-tool-stores.d.ts +26 -0
  35. package/dist/tools/assert-tool-stores.d.ts.map +1 -0
  36. package/dist/tools/assert-tool-stores.js +54 -0
  37. package/dist/tools/assert-tool-stores.js.map +1 -0
  38. package/dist/tools/create-workflow.d.ts.map +1 -1
  39. package/dist/tools/create-workflow.js +2 -0
  40. package/dist/tools/create-workflow.js.map +1 -1
  41. package/dist/tools/execute-step.d.ts.map +1 -1
  42. package/dist/tools/execute-step.js +15 -0
  43. package/dist/tools/execute-step.js.map +1 -1
  44. package/dist/tools/get-run-state.d.ts +27 -1
  45. package/dist/tools/get-run-state.d.ts.map +1 -1
  46. package/dist/tools/get-run-state.js +59 -2
  47. package/dist/tools/get-run-state.js.map +1 -1
  48. package/dist/tools/get-workflow-protocol.d.ts.map +1 -1
  49. package/dist/tools/get-workflow-protocol.js +2 -0
  50. package/dist/tools/get-workflow-protocol.js.map +1 -1
  51. package/dist/tools/list-workflows.d.ts.map +1 -1
  52. package/dist/tools/list-workflows.js +2 -0
  53. package/dist/tools/list-workflows.js.map +1 -1
  54. package/dist/tools/start-run-batch.d.ts.map +1 -1
  55. package/dist/tools/start-run-batch.js +7 -0
  56. package/dist/tools/start-run-batch.js.map +1 -1
  57. package/dist/tools/start-run.d.ts +8 -1
  58. package/dist/tools/start-run.d.ts.map +1 -1
  59. package/dist/tools/start-run.js +11 -2
  60. package/dist/tools/start-run.js.map +1 -1
  61. package/dist/tools/submit-human-response.d.ts +36 -0
  62. package/dist/tools/submit-human-response.d.ts.map +1 -1
  63. package/dist/tools/submit-human-response.js +101 -12
  64. package/dist/tools/submit-human-response.js.map +1 -1
  65. package/dist/version.d.ts +2 -0
  66. package/dist/version.d.ts.map +1 -0
  67. package/dist/version.js +3 -0
  68. package/dist/version.js.map +1 -0
  69. package/package.json +4 -4
@@ -1,7 +1,7 @@
1
1
  import { classifyStepTrust, buildTrustRefusal, renderTrustValue } from '@sensigo/realm';
2
2
  const DEFAULT_RULES = [
3
3
  'Follow the next_action instruction in each response exactly.',
4
- "When you receive status 'confirm_required', read gate.agent_hint for instructions, present gate.display to the user verbatim, wait for their response, then call submit_human_response with their choice and the gate_id.",
4
+ "When you receive status 'confirm_required', read gate.agent_hint for instructions, present gate.display to the user verbatim, wait for their response, then call submit_human_response by copying the call in next_actions[0].instruction.call_with and filling in their choice.",
5
5
  'Do NOT auto-confirm any human gate. The user must decide.',
6
6
  'Do NOT ask the user for permission between steps unless the system tells you to.',
7
7
  ];
@@ -83,7 +83,7 @@ export function generateProtocol(definition) {
83
83
  }
84
84
  else if (step.execution === 'auto' && hasGate) {
85
85
  agent_involvement =
86
- 'YOU will receive `status: confirm_required` after this step runs — the engine executes it automatically, then opens a gate. Read `gate.agent_hint` for presentation instructions, present `gate.display` to the user verbatim, collect their choice from `gate.response_spec.choices`, and call `submit_human_response`.';
86
+ 'YOU will receive `status: confirm_required` after this step runs — the engine executes it automatically, then opens a gate. Read `gate.agent_hint` for presentation instructions, present `gate.display` to the user verbatim, collect their choice from `gate.response_spec.choices`, and call `submit_human_response` by copying the call in `next_actions[0].instruction.call_with` and filling in the choice.';
87
87
  possible_gate = { choices: ['approve', 'reject'] };
88
88
  autoStepCount++;
89
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/protocol/generator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAuCxF,MAAM,aAAa,GAAG;IACpB,8DAA8D;IAC9D,2NAA2N;IAC3N,2DAA2D;IAC3D,kFAAkF;CACnF,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC7C,aAAa,EACX,uIAAuI;IACzI,cAAc,EACZ,qHAAqH;IACvH,oBAAoB,EAClB,mIAAmI;IACrI,IAAI,EAAE,wFAAwF;IAC9F,cAAc,EACZ,0QAA0Q;IAC5Q,gBAAgB,EACd,8fAA8f;CACjgB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAA8B;IAC7D,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,mFAAmF;IACnF,sFAAsF;IACtF,mDAAmD;IACnD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,YAAY,KAAK,OAAO,CAAC;QAEzC,IAAI,iBAAyB,CAAC;QAC9B,IAAI,aAA2C,CAAC;QAEhD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YACjE,sFAAsF;YACtF,gFAAgF;YAChF,yFAAyF;YACzF,gFAAgF;YAChF,wFAAwF;YACxF,wFAAwF;YACxF,uFAAuF;YACvF,eAAe;YACf,EAAE;YACF,wFAAwF;YACxF,uFAAuF;YACvF,wFAAwF;YACxF,uFAAuF;YACvF,wFAAwF;YACxF,2FAA2F;YAC3F,8EAA8E;YAC9E,EAAE;YACF,sFAAsF;YACtF,qFAAqF;YACrF,uFAAuF;YACvF,uFAAuF;YACvF,wFAAwF;YACxF,sEAAsE;YACtE,MAAM,SAAS,GACb,IAAI,CAAC,KAAK,KAAK,SAAS;gBACtB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,YAAY,KAAK,gBAAgB;oBACjC,CAAC,CAAC,gCAAgC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,oBAAoB;oBAC3H,CAAC,CAAC,gCAAgC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,SAAS,yEAAyE,CAAC;YAC9L,iBAAiB,GAAG,+BAA+B,IAAI,CAAC,SAAS,uDAAuD,SAAS,GAAG,CAAC;QACvI,CAAC;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,sFAAsF;YACtF,oFAAoF;YACpF,wFAAwF;YACxF,0FAA0F;YAC1F,wFAAwF;YACxF,0FAA0F;YAC1F,yFAAyF;YACzF,8BAA8B;YAC9B,iBAAiB,GAAG,iBAAiB,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,gBAAgB,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACjD,iBAAiB,GAAG,0CAA0C,CAAC;YAC/D,aAAa,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC;YAChD,iBAAiB;gBACf,0TAA0T,CAAC;YAC7T,aAAa,GAAG,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,aAAa,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAClD,iBAAiB,GAAG,0DAA0D,EAAE,4BAA4B,CAAC;YAE7G,gFAAgF;YAChF,iFAAiF;YACjF,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAC7D,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,SAAS,KAAK,MAAM;gBACtB,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO;gBACnD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC3B,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CACzB,CAAC;YACF,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,IAAI,qHAAqH,iBAAiB,CAAC,CAAC,CAAC,mCAAmC,CAAC;YACpM,CAAC;YAED,cAAc,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,iBAAiB,GAAG,0DAA0D,EAAE,2FAA2F,CAAC;YAC5K,aAAa,GAAG,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,cAAc,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAiB;YACjC,EAAE;YACF,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB;SAClB,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAChD,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YACnF,YAAY,CAAC,0BAA0B,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAC1F,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,6FAA6F;IAC7F,4FAA4F;IAC5F,+FAA+F;IAC/F,MAAM,mBAAmB,GACvB,GAAG,cAAc,OAAO,UAAU,IAAI,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG;QAC5E,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,iBAAiB;QACjE,GAAG,aAAa,IAAI,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC;IAElF,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,aAAa,CAAC;IAE1D,4FAA4F;IAC5F,wFAAwF;IACxF,uFAAuF;IACvF,iFAAiF;IACjF,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC5D,4FAA4F;IAC5F,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,mFAAmF;IACnF,8FAA8F;IAC9F,MAAM,WAAW,GACf,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE;QAClE,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,gBAAgB,GAAG,CAAC;YACpB,CAAC,CAAC,kFAAkF;gBAClF,sFAAsF;gBACtF,kFAAkF;gBAClF,sFAAsF;gBACtF,oFAAoF;gBACpF,qFAAqF;gBACrF,sFAAsF;gBACtF,yEAAyE;gBACzE,oCAAoC,UAAU,CAAC,EAAE,MAAM,gBAAgB,uBAAuB,UAAU,IAAI,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,sWAAsW;YACliB,CAAC,CAAC,cAAc,GAAG,CAAC;gBAClB,CAAC,CAAC,oCAAoC,UAAU,CAAC,EAAE,oLAAoL;gBACvO,CAAC,CAAC,oCAAoC,UAAU,CAAC,EAAE,sHAAsH,CAAC;IAElL,MAAM,QAAQ,GAAqB;QACjC,WAAW,EAAE,UAAU,CAAC,EAAE;QAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK;QACL,mBAAmB;QACnB,KAAK;QACL,cAAc,EAAE,cAAc;QAC9B,WAAW;KACZ,CAAC;IAEF,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC3C,QAAQ,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACzC,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/protocol/generator.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import { ExtensionRegistry, JsonWorkflowStore, createDefaultRegistry, type RunStore, type TraceBufferStore } from '@sensigo/realm';
3
+ import { ExtensionRegistry, JsonWorkflowStore, createDefaultRegistry, type Attributed, type RunStore, type TraceBufferStore } from '@sensigo/realm';
4
4
  import type { WorkflowDefinition } from '@sensigo/realm';
5
5
  import type { FailedAttemptStoreLike } from './tools/start-run.js';
6
6
  export interface RealmMcpServerOptions {
@@ -43,7 +43,9 @@ export interface RealmMcpServerOptions {
43
43
  /**
44
44
  * Trace-buffer WAL store for incremental agent-trace ingestion (B-lite). Object injection, not
45
45
  * a path string — a Postgres/object-storage-backed run store has no filesystem directory to
46
- * derive one from. See the co-location contract on `runStore` above.
46
+ * derive one from. See the co-location contract on `runStore` above. Its run reader must read the
47
+ * same runs as `runStore`: the fenced writes are checked against the trace buffer's own reader
48
+ * (issue #616), never against `runStore`.
47
49
  */
48
50
  traceBufferStore?: TraceBufferStore;
49
51
  /**
@@ -51,6 +53,15 @@ export interface RealmMcpServerOptions {
51
53
  * co-location contract on `runStore` above.
52
54
  */
53
55
  failedAttemptStore?: FailedAttemptStoreLike;
56
+ /**
57
+ * Issue #625 (holder slice): the host PROGRAM this server runs as — its name, how that name is
58
+ * known, and its channel (a short word the host chooses). Written as `holder` on the claim of
59
+ * every step a tool call takes, as `driven_by` on that call's evidence, and on the cleanup steps
60
+ * an answer drains; the answer's own entry names its person by `responded_by`, never by this. A
61
+ * label for people and replies: never compared, never a reason to refuse. A malformed value is
62
+ * refused by the engine (`VALIDATION_ACTOR_INVALID`) on the first call. Absent ⇒ none recorded.
63
+ */
64
+ driver?: Attributed;
54
65
  }
55
66
  /**
56
67
  * Returns an ExtensionRegistry pre-populated with Realm's built-in adapters.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAIjB,qBAAqB,EAErB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAKzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AASnE,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClF;qEACiE;IACjE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAuF/E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAIjB,qBAAqB,EAErB,KAAK,UAAU,EAGf,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AASnE,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClF;qEACiE;IACjE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAyH/E"}
package/dist/server.js CHANGED
@@ -4,8 +4,10 @@ import { realpathSync } from 'node:fs';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
6
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
7
- import { JsonWorkflowStore, JsonFileStore, FailedAttemptStore, WorkflowError, createDefaultRegistry, validateTraceCapabilities, } from '@sensigo/realm';
7
+ import { ExtensionRegistry, JsonWorkflowStore, JsonFileStore, FailedAttemptStore, WorkflowError, createDefaultRegistry, validateTraceCapabilities, assertReleaseLine, assertRegistryLine, } from '@sensigo/realm';
8
8
  import { JsonTraceBufferStore } from './json-trace-buffer-store.js';
9
+ import { VERSION } from './version.js';
10
+ import { composeBinIdentity } from './bin-identity.js';
9
11
  import { registerListWorkflows } from './tools/list-workflows.js';
10
12
  import { registerGetWorkflowProtocol } from './tools/get-workflow-protocol.js';
11
13
  import { registerStartRun } from './tools/start-run.js';
@@ -42,8 +44,28 @@ export { createDefaultRegistry };
42
44
  export function createRealmMcpServer(options) {
43
45
  const server = new McpServer({
44
46
  name: 'realm',
45
- version: '0.45.0',
47
+ version: VERSION,
46
48
  });
49
+ // issue #620 PR-C: every store a host hands realm must carry this realm's release line — checked
50
+ // on the raw options, before any defaulting or derivation (the trace buffer derived below is this
51
+ // package's own and needs no check).
52
+ if (options !== undefined) {
53
+ if (options.workflowStore !== undefined) {
54
+ assertReleaseLine(options.workflowStore, 'the workflow store handed to createRealmMcpServer');
55
+ }
56
+ if (options.runStore !== undefined) {
57
+ assertReleaseLine(options.runStore, 'the run store handed to createRealmMcpServer');
58
+ }
59
+ if (options.traceBufferStore !== undefined) {
60
+ assertReleaseLine(options.traceBufferStore, 'the trace buffer handed to createRealmMcpServer');
61
+ }
62
+ if (options.failedAttemptStore !== undefined) {
63
+ assertReleaseLine(options.failedAttemptStore, 'the failed-attempt store handed to createRealmMcpServer');
64
+ }
65
+ // A static registry is checked here too, like the stores — refused only on proof. A
66
+ // registryProvider's result is checked per tool call, where it is resolved.
67
+ assertRegistryLine(options.registry, 'the registry handed to createRealmMcpServer', ExtensionRegistry);
68
+ }
47
69
  // When no registry is provided, use the default registry that pre-registers built-in
48
70
  // adapters. When a registry is provided, the caller is responsible for its contents.
49
71
  const effectiveRegistry = options?.registry ?? createDefaultRegistry();
@@ -77,7 +99,10 @@ export function createRealmMcpServer(options) {
77
99
  // path), this is byte-identical to pre-#188 behavior. A store the caller DID inject here
78
100
  // (a partial injection) is still respected, never silently overridden.
79
101
  const runsDirPath = effectiveRunStore.runsDirPath;
80
- traceBufferStore = options?.traceBufferStore ?? new JsonTraceBufferStore(runsDirPath);
102
+ // The run reader is the server's run store: every fence predicate is evaluated against it,
103
+ // inside the trace buffer's own critical section (issue #616 PR-0).
104
+ traceBufferStore =
105
+ options?.traceBufferStore ?? new JsonTraceBufferStore(runsDirPath, effectiveRunStore);
81
106
  failedAttemptStore = options?.failedAttemptStore ?? new FailedAttemptStore(runsDirPath);
82
107
  }
83
108
  else {
@@ -134,7 +159,8 @@ function isRunDirectly() {
134
159
  }
135
160
  }
136
161
  if (isRunDirectly()) {
137
- const server = createRealmMcpServer();
162
+ const driver = composeBinIdentity();
163
+ const server = createRealmMcpServer(driver !== undefined ? { driver } : undefined);
138
164
  const transport = new StdioServerTransport();
139
165
  await server.connect(transport);
140
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function declared<T extends object>(double: T): T;
2
+ //# sourceMappingURL=declared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared.d.ts","sourceRoot":"","sources":["../../src/test-support/declared.ts"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAGvD"}
@@ -0,0 +1,9 @@
1
+ // issue #620 PR-C — test support: a test double (a plain object, a mock, a cast) declares this realm's
2
+ // release line, as every store realm runs against must. Returns its argument, so a factory or a literal
3
+ // is wrapped in one place: `return declared({ get, update } as unknown as RunStore)`.
4
+ import { declareReleaseLine } from '@sensigo/realm';
5
+ export function declared(double) {
6
+ declareReleaseLine(double);
7
+ return double;
8
+ }
9
+ //# sourceMappingURL=declared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared.js","sourceRoot":"","sources":["../../src/test-support/declared.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,wGAAwG;AACxG,sFAAsF;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,UAAU,QAAQ,CAAmB,MAAS;IAClD,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"abandon-run.d.ts","sourceRoot":"","sources":["../../src/tools/abandon-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAUD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACrD,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAgEzF"}
1
+ {"version":3,"file":"abandon-run.d.ts","sourceRoot":"","sources":["../../src/tools/abandon-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAIxB,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,QAAQ,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAUD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACrD,MAAM,CAAC,EAAE,sBAAsB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAgEzF"}
@@ -2,6 +2,7 @@
2
2
  import { z } from 'zod';
3
3
  import { ABANDON_KILL_ADVISORY, JsonFileStore, WorkflowError, abandonRun, resolvePreExecutionAgentAction, } from '@sensigo/realm';
4
4
  import { sseJsonStringify } from '../sse-json.js';
5
+ import { assertToolStores } from './assert-tool-stores.js';
5
6
  /** issue #558 PR-C: ONE mint, homed in core (`ABANDON_KILL_ADVISORY`) and shared byte-identically
6
7
  * with `realm run abandon`'s third line — both packages depend on `@sensigo/realm`, so the two
7
8
  * surfaces cannot drift (the #444/#508 one-mint rule). This alias keeps the local name. */
@@ -13,6 +14,7 @@ const ABANDON_NO_OP_NOTE = 'already abandoned (no change this call).';
13
14
  * primitive and returns a minimal state summary.
14
15
  */
15
16
  export async function handleAbandonRun(args, stores) {
17
+ assertToolStores(stores, 'handleAbandonRun');
16
18
  const runStore = stores?.runStore ?? new JsonFileStore();
17
19
  // issue #367: read first, so the response can say whether THIS call changed anything. Core's
18
20
  // `abandonRun` is idempotent — a second abandon returns the stored record untouched — and the
@@ -1 +1 @@
1
- {"version":3,"file":"abandon-run.js","sourceRoot":"","sources":["../../src/tools/abandon-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abandon-run.js","sourceRoot":"","sources":["../../src/tools/abandon-run.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export interface HandleAppendTraceStores {
4
4
  /** Any `RunStore` implementation (issue #188, PR-1 — was `JsonFileStore`-only). */
5
5
  runStore?: RunStore;
6
6
  workflowStore?: JsonWorkflowStore;
7
+ /** The trace buffer the entries land in. Its run reader must read the same runs as `runStore`:
8
+ * the write-time fence reads the trace buffer's own reader (issue #616), never `runStore`. */
7
9
  traceBufferStore?: TraceBufferStore;
8
10
  }
9
11
  export type AppendTraceOkResult = {
@@ -1 +1 @@
1
- {"version":3,"file":"append-trace.d.ts","sourceRoot":"","sources":["../../src/tools/append-trace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EACL,iBAAiB,EAOjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AASxB,MAAM,WAAW,uBAAuB;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,YAAY,GAAG;IAChE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,IAAI,CAAC;CAC7B,CAAC;AAuIJ;mGACmG;AACnG,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AA6BD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,EACD,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAiM9B;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAmE3F"}
1
+ {"version":3,"file":"append-trace.d.ts","sourceRoot":"","sources":["../../src/tools/append-trace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EACL,iBAAiB,EAUjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAUxB,MAAM,WAAW,uBAAuB;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;mGAC+F;IAC/F,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,YAAY,GAAG;IAChE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,IAAI,CAAC;CAC7B,CAAC;AA0FJ;mGACmG;AACnG,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AA6BD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,EACD,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CA2K9B;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAmE3F"}
@@ -1,8 +1,9 @@
1
1
  // append-trace.ts — append_trace MCP tool for incremental mid-step trace ingestion.
2
2
  import { z } from 'zod';
3
- import { JsonWorkflowStore, JsonFileStore, WorkflowError, buildPreExecutionErrorEnvelope, deriveRunPhase, storeDeclaresNonceCarriage, getWorkflowForRun, } from '@sensigo/realm';
3
+ import { JsonWorkflowStore, JsonFileStore, WorkflowError, buildPreExecutionErrorEnvelope, deriveRunPhase, storeDeclaresNonceCarriage, getWorkflowForRun, stepStateOf, stepNotEligibleError, } from '@sensigo/realm';
4
4
  import { traceEntrySchema, validateWriterNonceShape, isWriterNonceRequired, writerNonceRequiredError, } from './execute-step.js';
5
5
  import { sseJsonStringify } from '../sse-json.js';
6
+ import { assertToolStores } from './assert-tool-stores.js';
6
7
  /**
7
8
  * Fill-ratio threshold (issue #208) at which `append_trace` starts advising the calling agent
8
9
  * that this step's trace buffer is approaching `BUFFER_FULL` — a concrete instantiation of the
@@ -68,40 +69,10 @@ function capacityWarning(result) {
68
69
  'tracing verbosity or call execute_step to finalize the step before further appends are ' +
69
70
  'refused with BUFFER_FULL');
70
71
  }
71
- /** The specific settled/in-flight state for a step, or `undefined` if none apply — the granular
72
- * counterpart to `isStepSettledOrInFlight` (issue #207 PR-2). `append_trace`'s refusal detail
73
- * must name WHICH state applies: agent guidance differs by state (`in_progress` invites a retry
74
- * once `execute_step` finishes; `completed`/`failed`/`skipped` are permanent). Checked in a fixed
75
- * priority order, reused identically pre-CS and inside the `appendFenced` guard so both paths
76
- * agree on the same taxonomy. */
77
- function stepStateOf(run, stepId) {
78
- if (run.completed_steps.includes(stepId))
79
- return 'completed';
80
- if (run.failed_steps.includes(stepId))
81
- return 'failed';
82
- if (run.skipped_steps.includes(stepId))
83
- return 'skipped';
84
- if (run.in_progress_steps.includes(stepId))
85
- return 'in_progress';
86
- return undefined;
87
- }
88
- function stepNotEligibleError(stepId, runVersion, stepState, extraDetails) {
89
- const messages = {
90
- completed: `Step '${stepId}' has already completed.`,
91
- failed: `Step '${stepId}' has already failed.`,
92
- skipped: `Step '${stepId}' was skipped.`,
93
- in_progress: `Step '${stepId}' is currently being executed by execute_step.`,
94
- run_terminal: `Run is terminal — trace entries can no longer be adopted by any step.`,
95
- run_not_found: `Run not found at write time — trace entries can no longer be adopted.`,
96
- };
97
- return new WorkflowError(messages[stepState], {
98
- code: 'STATE_STEP_NOT_ELIGIBLE',
99
- category: 'STATE',
100
- agentAction: stepState === 'in_progress' ? 'resolve_precondition' : 'report_to_user',
101
- retryable: false,
102
- details: { step_id: stepId, step_state: stepState, run_version: runVersion, ...extraDetails },
103
- });
104
- }
72
+ // `stepStateOf`, `StepEligibilityState` and `stepNotEligibleError` (issue #207 PR-2) moved into
73
+ // core with the `step_open_for_trace` fence predicate (issue #616 PR-0): the refusal is minted by
74
+ // `evaluateFence` inside the trace buffer's critical section, and this tool's pre-lock check below
75
+ // uses the same classifier and the same builder, so both paths agree on one taxonomy.
105
76
  /** Store-constructor names already warned about lacking the fenced trio (issue #207 PR-2) —
106
77
  * module-level so a long-lived process warns once per store type, not once per call. Exported
107
78
  * ONLY for test isolation (`resetUnfencedTraceStoreWarnings`) — production code never calls it. */
@@ -142,12 +113,13 @@ function buildAppendOkResult(result, writerNonce, carriageActive, extraWarnings)
142
113
  * registerAppendTrace) catch and convert to ResponseEnvelope.
143
114
  */
144
115
  export async function handleAppendTrace(args, stores) {
116
+ assertToolStores(stores, 'handleAppendTrace');
145
117
  const workflowStore = stores?.workflowStore ?? new JsonWorkflowStore();
146
118
  const runStore = stores?.runStore ?? new JsonFileStore();
147
119
  const traceBufferStore = stores?.traceBufferStore;
148
120
  // 1. Load the run. Throws STATE_RUN_NOT_FOUND if missing.
149
121
  const run = await runStore.get(args.run_id);
150
- // 1b. issue #187: reject a terminal run BEFORE any step guard or WAL write. A WAL appended to
122
+ // 1b. issue #187: reject a terminal run BEFORE the fence or any WAL write. A WAL appended to
151
123
  // a completed/failed/abandoned/aborted run is always unreadable residue — the step it names
152
124
  // will never finalize again, so nothing will ever adopt or delete it. This is the one orphan
153
125
  // source correct purge ordering structurally can't reach (a WAL born after purge's snapshot
@@ -203,7 +175,7 @@ export async function handleAppendTrace(args, stores) {
203
175
  });
204
176
  }
205
177
  // 5. Pre-CS fast-fail eligibility check (issue #207 PR-2): granular step_state values aligned
206
- // to the guard taxonomy (stepStateOf/stepNotEligibleError, above) — 'skipped' is a NEW check
178
+ // to the fence's taxonomy (core's stepStateOf/stepNotEligibleError) — 'skipped' is a NEW check
207
179
  // (the latent omission D3 identified: a skipped step could previously still accept a trace
208
180
  // append). Race-invariant: step existence and execution === 'agent' were already closed over
209
181
  // above: this check only reads the four step-membership arrays off the SAME pre-CS `run` load.
@@ -250,40 +222,16 @@ export async function handleAppendTrace(args, stores) {
250
222
  }
251
223
  // 7. Append entries to the buffer.
252
224
  if (typeof traceBufferStore.appendFenced === 'function') {
253
- // Capability present (issue #207 PR-2): guard = ONE fresh lock-free runStore.get,
254
- // re-verifying the exact same premise the pre-CS check above already established, but at
255
- // write time — this is what closes append-trace.ts's Window A (D3 problem statement): a
256
- // concurrent execute_step claiming/settling the step between the pre-CS load and the
257
- // physical write. The guard performs exactly one store read and nothing else, per the fenced
258
- // trio's own contract.
225
+ // Capability present (issue #207 PR-2; data since #616 PR-0): the `step_open_for_trace` fence
226
+ // re-verifies, at write time and inside the store's own critical section (one fresh read of
227
+ // the run), the exact premise the pre-lock check above established — this is what closes
228
+ // append-trace.ts's Window A (D3 problem statement): a concurrent execute_step claiming or
229
+ // settling the step between the pre-lock load and the physical write. `run_version` is the
230
+ // version THIS call observed: the `run_not_found` refusal reports it (the run is gone, so
231
+ // there is no fresher version to report).
259
232
  const appendFenced = traceBufferStore.appendFenced.bind(traceBufferStore);
260
- const guard = async () => {
261
- let freshRun;
262
- try {
263
- freshRun = await runStore.get(args.run_id);
264
- }
265
- catch (err) {
266
- if (err instanceof WorkflowError && err.code === 'STATE_RUN_NOT_FOUND') {
267
- throw stepNotEligibleError(args.step_id, run.version, 'run_not_found');
268
- }
269
- // Any other failure propagates UNWRAPPED, per the fenced trio's own guard contract —
270
- // never assume every guard failure fits this tool's own eligibility taxonomy.
271
- throw err;
272
- }
273
- // issue #279 (increment 2, PR-C — D-3 leg v): keyed on terminal_state; derive-for-message
274
- // at this guard's own details line (enumeration gap found at the PR-C prompt audit).
275
- if (freshRun.terminal_state === true) {
276
- throw stepNotEligibleError(args.step_id, freshRun.version, 'run_terminal', {
277
- run_phase: deriveRunPhase(freshRun),
278
- persisted_run_phase: freshRun.run_phase,
279
- });
280
- }
281
- const freshState = stepStateOf(freshRun, args.step_id);
282
- if (freshState !== undefined) {
283
- throw stepNotEligibleError(args.step_id, freshRun.version, freshState);
284
- }
285
- };
286
- const result = await appendFenced(args.run_id, args.step_id, args.entries, guard, nonceOptions);
233
+ const fence = { kind: 'step_open_for_trace', run_version: run.version };
234
+ const result = await appendFenced(args.run_id, args.step_id, args.entries, fence, nonceOptions);
287
235
  return buildAppendOkResult(result, args.writer_nonce, carriageActive, []);
288
236
  }
289
237
  // Capability absent (issue #207 PR-2): legacy unfenced append() — Window A stays open for this
@@ -1 +1 @@
1
- {"version":3,"file":"append-trace.js","sourceRoot":"","sources":["../../src/tools/append-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"append-trace.js","sourceRoot":"","sources":["../../src/tools/append-trace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** The stores a tool handler may be handed. Absent ones are realm's own defaults: not checked. */
2
+ export interface ToolStores {
3
+ workflowStore?: unknown;
4
+ runStore?: unknown;
5
+ traceBufferStore?: unknown;
6
+ failedAttemptStore?: unknown;
7
+ }
8
+ /**
9
+ * Checks every store a host injected into `handlerName`: each must carry this realm's release
10
+ * line. Throws core's `ENGINE_RELEASE_LINE_UNDECLARED` / `ENGINE_RELEASE_LINE_MISMATCH`.
11
+ */
12
+ export declare function assertToolStores(stores: ToolStores | undefined, handlerName: string): void;
13
+ /** Marks the stores a registered MCP tool hands its handler (see {@link registryRole}). */
14
+ export declare function markServedByTool(stores: object | undefined): void;
15
+ /**
16
+ * The role a registry refusal names. When the MCP server's tool resolved the registry from the
17
+ * host's `registryProvider`: `the registry the server's registry provider returned for <tool>`.
18
+ * Otherwise (a registry handed to a published handler directly): `the registry handed to
19
+ * <handler>`.
20
+ */
21
+ export declare function registryRole(stores: {
22
+ registryProvider?: unknown;
23
+ } | undefined, toolName: string, handlerName: string): string;
24
+ /** True for the two hand-off refusals: a catch that files or discards errors must rethrow these. */
25
+ export declare function isReleaseLineRefusal(err: unknown): boolean;
26
+ //# sourceMappingURL=assert-tool-stores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-tool-stores.d.ts","sourceRoot":"","sources":["../../src/tools/assert-tool-stores.ts"],"names":[],"mappings":"AAMA,kGAAkG;AAClG,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAM1F;AASD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,EAClD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAMR;AAED,oGAAoG;AACpG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAK1D"}
@@ -0,0 +1,54 @@
1
+ // issue #620 PR-C: the hand-off check every published tool handler runs first. A host may call a
2
+ // handler directly, without `createRealmMcpServer` (bradley-max's reader does), so the check lives
3
+ // at the handler's entry, before the handler defaults any store. Core composes every refusal; this
4
+ // file only names the store and the handler.
5
+ import { assertReleaseLine, WorkflowError } from '@sensigo/realm';
6
+ const ROLE_NAMES = [
7
+ ['workflowStore', 'the workflow store'],
8
+ ['runStore', 'the run store'],
9
+ ['traceBufferStore', 'the trace buffer'],
10
+ ['failedAttemptStore', 'the failed-attempt store'],
11
+ ];
12
+ /**
13
+ * Checks every store a host injected into `handlerName`: each must carry this realm's release
14
+ * line. Throws core's `ENGINE_RELEASE_LINE_UNDECLARED` / `ENGINE_RELEASE_LINE_MISMATCH`.
15
+ */
16
+ export function assertToolStores(stores, handlerName) {
17
+ if (stores === undefined)
18
+ return;
19
+ for (const [field, name] of ROLE_NAMES) {
20
+ const value = stores[field];
21
+ if (value !== undefined)
22
+ assertReleaseLine(value, `${name} handed to ${handlerName}`);
23
+ }
24
+ }
25
+ /**
26
+ * The stores objects a registered MCP tool (`registerX`) hands its handler (issue #620 PR-C round
27
+ * 4). A registry a host's `registryProvider` returns through one of them is named by the tool the
28
+ * MCP caller called and its source — never by the handler's internal name.
29
+ */
30
+ const SERVED_BY_A_TOOL = new WeakSet();
31
+ /** Marks the stores a registered MCP tool hands its handler (see {@link registryRole}). */
32
+ export function markServedByTool(stores) {
33
+ if (stores !== undefined)
34
+ SERVED_BY_A_TOOL.add(stores);
35
+ }
36
+ /**
37
+ * The role a registry refusal names. When the MCP server's tool resolved the registry from the
38
+ * host's `registryProvider`: `the registry the server's registry provider returned for <tool>`.
39
+ * Otherwise (a registry handed to a published handler directly): `the registry handed to
40
+ * <handler>`.
41
+ */
42
+ export function registryRole(stores, toolName, handlerName) {
43
+ return stores !== undefined &&
44
+ stores.registryProvider !== undefined &&
45
+ SERVED_BY_A_TOOL.has(stores)
46
+ ? `the registry the server's registry provider returned for ${toolName}`
47
+ : `the registry handed to ${handlerName}`;
48
+ }
49
+ /** True for the two hand-off refusals: a catch that files or discards errors must rethrow these. */
50
+ export function isReleaseLineRefusal(err) {
51
+ return (err instanceof WorkflowError &&
52
+ (err.code === 'ENGINE_RELEASE_LINE_MISMATCH' || err.code === 'ENGINE_RELEASE_LINE_UNDECLARED'));
53
+ }
54
+ //# sourceMappingURL=assert-tool-stores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert-tool-stores.js","sourceRoot":"","sources":["../../src/tools/assert-tool-stores.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,mGAAmG;AACnG,mGAAmG;AACnG,6CAA6C;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUlE,MAAM,UAAU,GAAuD;IACrE,CAAC,eAAe,EAAE,oBAAoB,CAAC;IACvC,CAAC,UAAU,EAAE,eAAe,CAAC;IAC7B,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACxC,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA8B,EAAE,WAAmB;IAClF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO;IACjC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,IAAI,cAAc,WAAW,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAU,CAAC;AAE/C,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAkD,EAClD,QAAgB,EAChB,WAAmB;IAEnB,OAAO,MAAM,KAAK,SAAS;QACzB,MAAM,CAAC,gBAAgB,KAAK,SAAS;QACrC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,4DAA4D,QAAQ,EAAE;QACxE,CAAC,CAAC,0BAA0B,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CACL,GAAG,YAAY,aAAa;QAC5B,CAAC,GAAG,CAAC,IAAI,KAAK,8BAA8B,IAAI,GAAG,CAAC,IAAI,KAAK,gCAAgC,CAAC,CAC/F,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/create-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAML,iBAAiB,EAQjB,KAAK,gBAAgB,EAGrB,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtE;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;gCAuBpB,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;gCAQX,CAAC;AAEjB;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCASrB,CAAC;AAEjB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAyQD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,GAClE,OAAO,CAAC,gBAAgB,CAAC,CAoJ3B;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAyDtF"}
1
+ {"version":3,"file":"create-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/create-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAML,iBAAiB,EAQjB,KAAK,gBAAgB,EAGrB,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItE;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;gCAuBpB,CAAC;AAEJ;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;gCAQX,CAAC;AAEjB;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCASrB,CAAC;AAEjB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAyQD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,GAClE,OAAO,CAAC,gBAAgB,CAAC,CAqJ3B;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAyDtF"}
@@ -4,6 +4,7 @@ import { createHash } from 'node:crypto';
4
4
  import { compileSchema, isStrictModeRefusal, describeSchemaFailure, SCHEMA_KEY_CONSEQUENCE, composeSchemaFailure, JsonWorkflowStore, WorkflowError, resolvePreExecutionAgentAction, findUnknownKeys, renderLoaderWarning, assessStructuredOutputEligibility, renderIneligibleMessage, CURRENT_WORKFLOW_SCHEMA_VERSION, } from '@sensigo/realm';
5
5
  import { handleStartRun } from './start-run.js';
6
6
  import { sseJsonStringify } from '../sse-json.js';
7
+ import { assertToolStores } from './assert-tool-stores.js';
7
8
  /**
8
9
  * The step-shape allow-list (issue #169): `Object.keys(stepSchema.shape)` is the single source
9
10
  * of truth for detecting unknown step keys in create_workflow submissions — no hand-maintained
@@ -305,6 +306,7 @@ function buildWorkflowDefinition(workflowId, args) {
305
306
  * Validates steps, derives a workflow ID, registers the definition, and starts a run.
306
307
  */
307
308
  export async function handleCreateWorkflow(args, stores) {
309
+ assertToolStores(stores, 'handleCreateWorkflow');
308
310
  const { errors, caveats: structuredOutputCaveats } = validateArgs(args);
309
311
  if (errors.length > 0) {
310
312
  return makeErrorEnvelope(errors);