@sensigo/realm-mcp 0.44.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 (70) 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 +28 -6
  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 +22 -71
  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 +19 -1
  43. package/dist/tools/execute-step.js.map +1 -1
  44. package/dist/tools/get-run-state.d.ts +33 -1
  45. package/dist/tools/get-run-state.d.ts.map +1 -1
  46. package/dist/tools/get-run-state.js +99 -4
  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 +43 -6
  52. package/dist/tools/list-workflows.d.ts.map +1 -1
  53. package/dist/tools/list-workflows.js +43 -4
  54. package/dist/tools/list-workflows.js.map +1 -1
  55. package/dist/tools/start-run-batch.d.ts.map +1 -1
  56. package/dist/tools/start-run-batch.js +7 -0
  57. package/dist/tools/start-run-batch.js.map +1 -1
  58. package/dist/tools/start-run.d.ts +9 -1
  59. package/dist/tools/start-run.d.ts.map +1 -1
  60. package/dist/tools/start-run.js +25 -3
  61. package/dist/tools/start-run.js.map +1 -1
  62. package/dist/tools/submit-human-response.d.ts +36 -0
  63. package/dist/tools/submit-human-response.d.ts.map +1 -1
  64. package/dist/tools/submit-human-response.js +105 -13
  65. package/dist/tools/submit-human-response.js.map +1 -1
  66. package/dist/version.d.ts +2 -0
  67. package/dist/version.d.ts.map +1 -0
  68. package/dist/version.js +3 -0
  69. package/dist/version.js.map +1 -0
  70. package/package.json +4 -4
@@ -1,20 +1,59 @@
1
1
  import { JsonWorkflowStore } from '@sensigo/realm';
2
2
  import { sseJsonStringify } from '../sse-json.js';
3
+ import { assertToolStores } from './assert-tool-stores.js';
4
+ const HEALTHY_HINT = 'Call get_workflow_protocol with a workflow_id before calling start_run. If no workflow matches your task, use create_workflow to define and start your own plan.';
3
5
  /**
4
6
  * Business logic for the list_workflows tool.
5
- * Returns a summary of all registered workflows.
7
+ * Returns a summary of all registered workflows AND every registered copy that could not be read.
8
+ * The "use create_workflow" steer is offered only when every copy was read: a copy that could not
9
+ * be read may still be a registered workflow that only needs its file repaired, and realm cannot
10
+ * tell which until an operator looks — so the steer is withdrawn rather than guessed.
6
11
  */
7
12
  export async function handleListWorkflows(stores) {
13
+ assertToolStores(stores, 'handleListWorkflows');
8
14
  const store = stores?.workflowStore ?? new JsonWorkflowStore();
9
- const workflows = await store.list();
15
+ const { workflows, unreadable } = await store.listWithDiagnostics();
16
+ const broken = unreadable.find((u) => u.class === 'registry_broken');
17
+ if (broken !== undefined) {
18
+ return {
19
+ status: 'error',
20
+ error_code: 'STATE_WORKFLOW_UNREADABLE',
21
+ error_details: {
22
+ class: 'registry_broken',
23
+ ...(broken.errno !== undefined ? { errno: broken.errno } : {}),
24
+ path: broken.file,
25
+ },
26
+ errors: [
27
+ `${broken.reason}.${broken.repair !== undefined ? ` To repair: ${broken.repair}.` : ''}`,
28
+ ],
29
+ agent_action: 'stop',
30
+ workflows: [],
31
+ unreadable: [],
32
+ // (audit round 2, S1: no claim about what the registry holds — realm could not read it.)
33
+ hint: 'Realm could not read the registry directory, so it cannot tell you what is registered there; nothing can be listed or started until an operator repairs it. Do not create a workflow to work around it.',
34
+ };
35
+ }
36
+ const entries = unreadable.map((u) => ({
37
+ file: u.file,
38
+ class: u.class,
39
+ ...(u.errno !== undefined ? { errno: u.errno } : {}),
40
+ reason: u.reason,
41
+ ...(u.repair !== undefined ? { repair: u.repair } : {}),
42
+ }));
43
+ const count = `${String(entries.length)} registered workflow ${entries.length === 1 ? 'copy' : 'copies'} could not be read`;
10
44
  return {
45
+ status: 'ok',
11
46
  workflows: workflows.map((w) => ({ id: w.id, name: w.name, version: w.version })),
12
- hint: 'Call get_workflow_protocol with a workflow_id before calling start_run. If no workflow matches your task, use create_workflow to define and start your own plan.',
47
+ unreadable: entries,
48
+ warnings: entries.length === 0 ? [] : [`${count} — see 'unreadable'.`],
49
+ hint: entries.length === 0
50
+ ? HEALTHY_HINT
51
+ : `${count} — 'unreadable' names each file, the reason and the repair (an operator's act). Do not create a workflow to replace one listed there until an operator has looked: the entry may be a registered workflow that only needs its file repaired. Call get_workflow_protocol with a workflow_id before calling start_run.`,
13
52
  };
14
53
  }
15
54
  /** Registers the list_workflows MCP tool on the server. */
16
55
  export function registerListWorkflows(server, opts) {
17
- server.tool('list_workflows', 'List all registered Realm workflows.', async () => {
56
+ server.tool('list_workflows', 'List all registered Realm workflows; names every registered copy that could not be read, and refuses when the registry directory itself cannot be read.', async () => {
18
57
  const result = await handleListWorkflows(opts);
19
58
  return { content: [{ type: 'text', text: sseJsonStringify(result) }] };
20
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list-workflows.js","sourceRoot":"","sources":["../../src/tools/list-workflows.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMlD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB;IAErB,MAAM,KAAK,GAAG,MAAM,EAAE,aAAa,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,IAAI,EAAE,kKAAkK;KACzK,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,IAAmB;IAC1E,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"list-workflows.js","sourceRoot":"","sources":["../../src/tools/list-workflows.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start-run-batch.d.ts","sourceRoot":"","sources":["../../src/tools/start-run-batch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAYL,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQtD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,gGAAgG;QAChG,OAAO,EAAE,OAAO,CAAC;QACjB,8FAA8F;QAC9F,SAAS,EAAE,QAAQ,CAAC;QACpB,+CAA+C;QAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,4GAA4G;QAC5G,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IACH;;;;OAIG;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IACxF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;IACjF,aAAa,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD,EACD,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC,CA6I9B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAgErF"}
1
+ {"version":3,"file":"start-run-batch.d.ts","sourceRoot":"","sources":["../../src/tools/start-run-batch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAYL,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUtD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,gGAAgG;QAChG,OAAO,EAAE,OAAO,CAAC;QACjB,8FAA8F;QAC9F,SAAS,EAAE,QAAQ,CAAC;QACpB,+CAA+C;QAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,4GAA4G;QAC5G,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IACH;;;;OAIG;IACH,MAAM,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IACxF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;IACjF,aAAa,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD,EACD,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC,CAqJ9B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAiErF"}
@@ -2,11 +2,14 @@
2
2
  import { z } from 'zod';
3
3
  import { JsonWorkflowStore, JsonFileStore, WorkflowError, buildPreExecutionErrorEnvelope, validateRunParams, hashParams, unmetCapabilities, capabilityWarning, createDefaultRegistry, deriveRunPhase, } from '@sensigo/realm';
4
4
  import { sseJsonStringify } from '../sse-json.js';
5
+ import { assertToolStores, markServedByTool, registryRole } from './assert-tool-stores.js';
6
+ import { assertRegistryLine, ExtensionRegistry as RealmExtensionRegistry } from '@sensigo/realm';
5
7
  /** Lightweight structured telemetry. stderr is safe under the MCP stdio/SSE transport. */
6
8
  function logBatchDedup(fields) {
7
9
  console.error(JSON.stringify({ event: 'idempotency_dedup', ...fields }));
8
10
  }
9
11
  export async function handleStartRunBatch(args, stores) {
12
+ assertToolStores(stores, 'handleStartRunBatch');
10
13
  const workflowStore = stores?.workflowStore ?? new JsonWorkflowStore();
11
14
  const runStore = stores?.runStore ?? new JsonFileStore();
12
15
  const cap = args.max_items ?? 100;
@@ -26,6 +29,9 @@ export async function handleStartRunBatch(args, stores) {
26
29
  const registry = stores?.registryProvider !== undefined
27
30
  ? await stores.registryProvider(definition)
28
31
  : stores?.registry;
32
+ // issue #620 PR-C: the registry rule — refused only on proof (another realm version), before any
33
+ // write. Covers the provider's result and the construction-time registry alike.
34
+ assertRegistryLine(registry, registryRole(stores, 'start_run_batch', 'handleStartRunBatch'), RealmExtensionRegistry);
29
35
  // #134 pre-flight (WARN-only, never refuse): capability gaps are workflow-invariant, so compute ONCE
30
36
  // and attach to every item. Caveated — a batch item may ultimately be driven by a DIFFERENT runner
31
37
  // than the one whose registry we see at creation time. The `?? createDefaultRegistry()` fallback is the
@@ -129,6 +135,7 @@ export async function handleStartRunBatch(args, stores) {
129
135
  return { started, failed };
130
136
  }
131
137
  export function registerStartRunBatch(server, opts) {
138
+ markServedByTool(opts);
132
139
  server.tool('start_run_batch', 'Atomically enqueue multiple runs of the same workflow. All items are validated before any run is created. If idempotency keys are provided, duplicate runs are returned instead of created.', {
133
140
  workflow_id: z.string(),
134
141
  items: z.array(z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"start-run-batch.js","sourceRoot":"","sources":["../../src/tools/start-run-batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-run-batch.js","sourceRoot":"","sources":["../../src/tools/start-run-batch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { JsonWorkflowStore, type ResponseEnvelope, type RunStore, type TraceBufferStore, type FailedAttemptStore, ExtensionRegistry } from '@sensigo/realm';
2
+ import { JsonWorkflowStore, type ResponseEnvelope, type RunStore, type TraceBufferStore, type FailedAttemptStore, ExtensionRegistry, type Attributed } from '@sensigo/realm';
3
3
  /**
4
4
  * Structural (not nominal) shape of `FailedAttemptStore`'s public surface, derived via `Pick` so a
5
5
  * duck-typed cloud-backed object can satisfy it too — the concrete `FailedAttemptStore` class has
@@ -24,6 +24,13 @@ export interface HandleRunStores {
24
24
  traceBufferStore?: TraceBufferStore;
25
25
  /** Durable per-run sidecar for failed agent-attempt telemetry (observability P3). */
26
26
  failedAttemptStore?: FailedAttemptStoreLike;
27
+ /**
28
+ * Issue #625 (holder slice): the host PROGRAM this server runs as — its name, how that name is
29
+ * known, and its channel. Written as `holder` on the claim of every step a tool call takes and
30
+ * as `driven_by` on that call's evidence, and on the cleanup steps an answer drains. A label,
31
+ * never compared, never a reason to refuse. Absent ⇒ none recorded.
32
+ */
33
+ driver?: Attributed;
27
34
  }
28
35
  /**
29
36
  * Business logic for the start_run tool.
@@ -37,6 +44,7 @@ export declare function handleStartRun(args: {
37
44
  on_live_match?: 'use_existing' | 'fail' | undefined;
38
45
  }, stores?: HandleRunStores): Promise<ResponseEnvelope & {
39
46
  deduped: boolean;
47
+ rerun_of?: string;
40
48
  }>;
41
49
  /** Registers the start_run MCP tool on the server. */
42
50
  export declare function registerStartRun(server: McpServer, opts?: HandleRunStores): void;
@@ -1 +1 @@
1
- {"version":3,"file":"start-run.d.ts","sourceRoot":"","sources":["../../src/tools/start-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAEL,iBAAiB,EAajB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAQxB;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,kBAAkB,EAClB,QAAQ,GAAG,MAAM,GAAG,iBAAiB,GAAG,aAAa,CACtD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,UAAU,EAAE,OAAO,gBAAgB,EAAE,kBAAkB,KACpD,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAKD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;IACjF,aAAa,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD,EACD,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmHlD;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAwDhF"}
1
+ {"version":3,"file":"start-run.d.ts","sourceRoot":"","sources":["../../src/tools/start-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAEL,iBAAiB,EAajB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAUxB;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,kBAAkB,EAClB,QAAQ,GAAG,MAAM,GAAG,iBAAiB,GAAG,aAAa,CACtD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,UAAU,EAAE,OAAO,gBAAgB,EAAE,kBAAkB,KACpD,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAKD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iBAAiB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;IACjF,aAAa,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD,EACD,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyIrE;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CA0DhF"}
@@ -2,6 +2,8 @@
2
2
  import { z } from 'zod';
3
3
  import { validateRunParams, JsonWorkflowStore, JsonFileStore, executeChain, buildNextActions, findEligibleSteps, hashParams, WorkflowError, buildPreExecutionErrorEnvelope, unmetCapabilities, capabilityWarning, createDefaultRegistry, deriveRunPhase, } from '@sensigo/realm';
4
4
  import { sseJsonStringify } from '../sse-json.js';
5
+ import { assertToolStores, markServedByTool, registryRole } from './assert-tool-stores.js';
6
+ import { assertRegistryLine, ExtensionRegistry as RealmExtensionRegistry } from '@sensigo/realm';
5
7
  /** Lightweight structured telemetry. stderr is safe under the MCP stdio/SSE transport. */
6
8
  function logDedup(fields) {
7
9
  console.error(JSON.stringify({ event: 'idempotency_dedup', ...fields }));
@@ -13,6 +15,7 @@ const passthroughDispatcher = async () => ({});
13
15
  * Creates a run and immediately chains through any leading auto steps.
14
16
  */
15
17
  export async function handleStartRun(args, stores) {
18
+ assertToolStores(stores, 'handleStartRun');
16
19
  const workflowStore = stores?.workflowStore ?? new JsonWorkflowStore();
17
20
  const runStore = stores?.runStore ?? new JsonFileStore();
18
21
  const definition = await workflowStore.get(args.workflow_id);
@@ -28,6 +31,9 @@ export async function handleStartRun(args, stores) {
28
31
  const registry = stores?.registryProvider !== undefined
29
32
  ? await stores.registryProvider(definition)
30
33
  : stores?.registry;
34
+ // issue #620 PR-C: the registry rule — refused only on proof (another realm version), before any
35
+ // write. Covers the provider's result and the construction-time registry alike.
36
+ assertRegistryLine(registry, registryRole(stores, 'start_run', 'handleStartRun'), RealmExtensionRegistry);
31
37
  const { run, created } = await runStore.create({
32
38
  workflowId: definition.id,
33
39
  workflowVersion: definition.version,
@@ -81,6 +87,7 @@ export async function handleStartRun(args, stores) {
81
87
  input: params,
82
88
  dispatcher: passthroughDispatcher,
83
89
  ...(registry !== undefined ? { registry } : {}),
90
+ ...(stores?.driver !== undefined ? { driver: stores.driver } : {}),
84
91
  });
85
92
  // Source run_phase from the final run so the spread can't drop it.
86
93
  const finalRun = await runStore.get(run.id).catch(() => run);
@@ -91,6 +98,16 @@ export async function handleStartRun(args, stores) {
91
98
  evidence: [],
92
99
  run_phase: finalRun.run_phase,
93
100
  warnings: [...result.warnings, ...warnings],
101
+ // issue #558 PR-C (walk): a superseding run says so in the response that created it — the
102
+ // agent should not need a second call to learn that `on_terminal_match: 'rerun'` replaced a run.
103
+ ...(finalRun.rerun_of !== undefined
104
+ ? {
105
+ rerun_of: finalRun.rerun_of,
106
+ // walk 2: the hint is what an agent reads first; a supersede must be said there, not
107
+ // only carried as a key below the next_actions block.
108
+ context_hint: `${result.context_hint} This run supersedes run '${finalRun.rerun_of}' under the same idempotency key (on_terminal_match).`,
109
+ }
110
+ : {}),
94
111
  deduped,
95
112
  };
96
113
  }
@@ -106,14 +123,18 @@ export async function handleStartRun(args, stores) {
106
123
  errors: [],
107
124
  context_hint: deduped
108
125
  ? `Matched existing run '${run.id}' (idempotent) in phase '${derivedPhase}'; no new run created.`
109
- : `Run '${run.id}' created for workflow '${definition.id}'.`,
126
+ : run.rerun_of !== undefined
127
+ ? `Run '${run.id}' created for workflow '${definition.id}'; it supersedes run '${run.rerun_of}' under the same idempotency key (on_terminal_match).`
128
+ : `Run '${run.id}' created for workflow '${definition.id}'.`,
110
129
  run_phase: derivedPhase,
130
+ ...(run.rerun_of !== undefined ? { rerun_of: run.rerun_of } : {}),
111
131
  deduped,
112
132
  next_actions: nextActions,
113
133
  };
114
134
  }
115
135
  /** Registers the start_run MCP tool on the server. */
116
136
  export function registerStartRun(server, opts) {
137
+ markServedByTool(opts);
117
138
  server.tool('start_run', 'Create a new workflow run and chain through initial auto steps.', {
118
139
  workflow_id: z.string(),
119
140
  params: z.record(z.unknown()).optional().default({}),
@@ -123,12 +144,13 @@ export function registerStartRun(server, opts) {
123
144
  }, async (args) => {
124
145
  try {
125
146
  const result = await handleStartRun(args, opts);
126
- // Override command to 'start_run': MCP callers invoked start_run, not
127
- // the first auto step that executeChain may have executed.
128
147
  return {
129
148
  content: [
130
149
  {
131
150
  type: 'text',
151
+ // Override command to 'start_run': MCP callers invoked start_run, not the first auto
152
+ // step executeChain may have run. The step a non-ok reply belongs to stays named in
153
+ // `stopped_step` (issue #676 review).
132
154
  text: sseJsonStringify({ ...result, command: 'start_run' }),
133
155
  },
134
156
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"start-run.js","sourceRoot":"","sources":["../../src/tools/start-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-run.js","sourceRoot":"","sources":["../../src/tools/start-run.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,41 @@
1
+ import { z } from 'zod';
1
2
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
3
  import { type ResponseEnvelope } from '@sensigo/realm';
3
4
  import type { HandleRunStores } from './start-run.js';
5
+ /**
6
+ * Issue #625 (holder slice): one warning per argument this tool does not take, naming the near miss
7
+ * when there is one. `server.tool` strips unknown keys before the handler runs, so a misnamed
8
+ * `claimToken` used to vanish without a word and the answer read as "no claim_token passed".
9
+ */
10
+ export declare function unknownKeyWarnings(args: Record<string, unknown>): string[];
11
+ /**
12
+ * The tool's input schema. Pass-through: `registerTool` hands the handler every key, where
13
+ * `server.tool` strips them first (the form `create_workflow` already uses and documents).
14
+ *
15
+ * `claim_token` has NO minimum length on purpose: with `.min(1)` the SDK would refuse an empty
16
+ * token with `MCP error -32602` and the answer would not be recorded — the damage this argument
17
+ * must never do. The engine judges an empty string as a wrong value (`mismatch`) and records the
18
+ * answer.
19
+ */
20
+ export declare const submitHumanResponseArgsSchema: z.ZodObject<{
21
+ run_id: z.ZodString;
22
+ gate_id: z.ZodString;
23
+ choice: z.ZodString;
24
+ responded_by: z.ZodOptional<z.ZodString>;
25
+ claim_token: z.ZodOptional<z.ZodString>;
26
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
27
+ run_id: z.ZodString;
28
+ gate_id: z.ZodString;
29
+ choice: z.ZodString;
30
+ responded_by: z.ZodOptional<z.ZodString>;
31
+ claim_token: z.ZodOptional<z.ZodString>;
32
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
33
+ run_id: z.ZodString;
34
+ gate_id: z.ZodString;
35
+ choice: z.ZodString;
36
+ responded_by: z.ZodOptional<z.ZodString>;
37
+ claim_token: z.ZodOptional<z.ZodString>;
38
+ }, z.ZodTypeAny, "passthrough">>;
4
39
  /**
5
40
  * Business logic for the submit_human_response tool.
6
41
  * Validates the gate_id and choice, then advances the run past the gate.
@@ -10,6 +45,7 @@ export declare function handleSubmitHumanResponse(args: {
10
45
  gate_id: string;
11
46
  choice: string;
12
47
  responded_by?: string | undefined;
48
+ claim_token?: string | undefined;
13
49
  }, stores?: HandleRunStores): Promise<ResponseEnvelope>;
14
50
  /** Registers the submit_human_response MCP tool on the server. */
15
51
  export declare function registerSubmitHumanResponse(server: McpServer, opts?: HandleRunStores): void;
@@ -1 +1 @@
1
- {"version":3,"file":"submit-human-response.d.ts","sourceRoot":"","sources":["../../src/tools/submit-human-response.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAC5F,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAwB3B;AAED,kEAAkE;AAClE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAyD3F"}
1
+ {"version":3,"file":"submit-human-response.d.ts","sourceRoot":"","sources":["../../src/tools/submit-human-response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EASL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAiBtD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAS1E;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;gCAkB1B,CAAC;AAEjB;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,EACD,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA2D3B;AAED,kEAAkE;AAClE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAiE3F"}
@@ -1,50 +1,142 @@
1
1
  // submit-human-response tool — advances a gate-waiting run with a human choice.
2
2
  import { z } from 'zod';
3
- import { JsonWorkflowStore, JsonFileStore, submitHumanResponse, WorkflowError, buildPreExecutionErrorEnvelope, getWorkflowForRun, } from '@sensigo/realm';
3
+ import { JsonWorkflowStore, JsonFileStore, submitHumanResponse, WorkflowError, boundStatedName, identityRefusalLine, buildPreExecutionErrorEnvelope, getWorkflowForRun, } from '@sensigo/realm';
4
4
  import { sseJsonStringify } from '../sse-json.js';
5
+ import { assertToolStores, markServedByTool, registryRole } from './assert-tool-stores.js';
6
+ import { assertRegistryLine, ExtensionRegistry as RealmExtensionRegistry } from '@sensigo/realm';
7
+ /** The arguments this tool takes. Anything else is named in the reply's `warnings`, not dropped. */
8
+ const KNOWN_ARGS = ['run_id', 'gate_id', 'choice', 'responded_by', 'claim_token'];
9
+ /**
10
+ * Near misses for the one argument whose absence changes what a reply says. The house `closestKey`
11
+ * (threshold 2) cannot reach `token` or `claimToken` from `claim_token`, so the map is explicit.
12
+ */
13
+ const NEAR_MISSES = {
14
+ claimToken: 'claim_token',
15
+ token: 'claim_token',
16
+ };
17
+ /**
18
+ * Issue #625 (holder slice): one warning per argument this tool does not take, naming the near miss
19
+ * when there is one. `server.tool` strips unknown keys before the handler runs, so a misnamed
20
+ * `claimToken` used to vanish without a word and the answer read as "no claim_token passed".
21
+ */
22
+ export function unknownKeyWarnings(args) {
23
+ return Object.keys(args)
24
+ .filter((key) => !KNOWN_ARGS.includes(key))
25
+ .map((key) => {
26
+ const near = NEAR_MISSES[key];
27
+ return near !== undefined
28
+ ? `submit_human_response: unknown argument '${key}' was ignored — did you mean '${near}'?`
29
+ : `submit_human_response: unknown argument '${key}' was ignored.`;
30
+ });
31
+ }
32
+ /**
33
+ * The tool's input schema. Pass-through: `registerTool` hands the handler every key, where
34
+ * `server.tool` strips them first (the form `create_workflow` already uses and documents).
35
+ *
36
+ * `claim_token` has NO minimum length on purpose: with `.min(1)` the SDK would refuse an empty
37
+ * token with `MCP error -32602` and the answer would not be recorded — the damage this argument
38
+ * must never do. The engine judges an empty string as a wrong value (`mismatch`) and records the
39
+ * answer.
40
+ */
41
+ export const submitHumanResponseArgsSchema = z
42
+ .object({
43
+ run_id: z.string(),
44
+ gate_id: z.string(),
45
+ choice: z.string(),
46
+ responded_by: z
47
+ .string()
48
+ .optional()
49
+ .describe('Who made the choice, as the caller states it — not verified. At most 200 characters, no control characters.'),
50
+ claim_token: z
51
+ .string()
52
+ .optional()
53
+ .describe('The value from gate.claim_token on the reply that opened this question. Pass it back unchanged; it shows this answer comes from the conversation that opened the question. Never required.'),
54
+ })
55
+ .passthrough();
5
56
  /**
6
57
  * Business logic for the submit_human_response tool.
7
58
  * Validates the gate_id and choice, then advances the run past the gate.
8
59
  */
9
60
  export async function handleSubmitHumanResponse(args, stores) {
61
+ // issue #620 PR-C + the admission order (framework v1.27 §4): what the host handed in is checked
62
+ // first, then what this caller sent.
63
+ assertToolStores(stores, 'handleSubmitHumanResponse');
64
+ // Issue #625: `responded_by` is bounded exactly as `realm run respond --by` is — refused before
65
+ // anything is read or written, so nothing is recorded (#604's `responded_by` member: one helper
66
+ // guards both doors).
67
+ // The checked name (spaces at either end removed) is what is passed on and stored.
68
+ let respondedBy;
69
+ if (args.responded_by !== undefined) {
70
+ try {
71
+ respondedBy = boundStatedName(args.responded_by, 'responded_by');
72
+ }
73
+ catch (err) {
74
+ throw new WorkflowError(identityRefusalLine('responded_by', err, 'nothing was recorded'), {
75
+ code: 'VALIDATION_ACTOR_INVALID',
76
+ category: 'VALIDATION',
77
+ agentAction: 'report_to_user',
78
+ retryable: false,
79
+ details: err instanceof WorkflowError ? err.details : {},
80
+ });
81
+ }
82
+ }
10
83
  const workflowStore = stores?.workflowStore ?? new JsonWorkflowStore();
11
84
  const runStore = stores?.runStore ?? new JsonFileStore();
12
85
  const run = await runStore.get(args.run_id);
13
86
  // issue #456: code-keyed one-time-register remedy. Verb "retry" — deliberately neutral: the
14
87
  // register command in the sentence is for the human this agent's report_to_user relays to.
15
- const definition = await getWorkflowForRun(workflowStore, run, { retryVerb: 'retry' });
88
+ const definition = await getWorkflowForRun(workflowStore, run, {
89
+ retryVerb: 'retry',
90
+ verb: 'retry',
91
+ });
16
92
  // Per-definition registry (project extensions) — awaited before the call (fail-fast),
17
93
  // provider wins over `registry`. Mirrors execute-step.ts. Threaded into submitHumanResponse
18
94
  // so that resolving a gate which COMPLETES the run fires its finalizers with project handlers.
19
95
  const registry = stores?.registryProvider !== undefined
20
96
  ? await stores.registryProvider(definition)
21
97
  : stores?.registry;
98
+ // issue #620 PR-C: the registry rule — refused only on proof (another realm version), before any
99
+ // write. Covers the provider's result and the construction-time registry alike.
100
+ assertRegistryLine(registry, registryRole(stores, 'submit_human_response', 'handleSubmitHumanResponse'), RealmExtensionRegistry);
22
101
  return submitHumanResponse(runStore, definition, {
23
102
  runId: args.run_id,
24
103
  gateId: args.gate_id,
25
104
  choice: args.choice,
26
105
  ...(registry !== undefined ? { registry } : {}),
27
- // issue #279 (increment 2, PR-D; design record D-5): pass-through only, never validated.
28
- ...(args.responded_by !== undefined ? { respondedBy: args.responded_by } : {}),
106
+ // issue #279 (increment 2, PR-D; design record D-5): stored as checked above (spaces at either
107
+ // end removed); never verified.
108
+ ...(respondedBy !== undefined ? { respondedBy } : {}),
109
+ // issue #625: judged inside the answer's write, never a reason to refuse it.
110
+ ...(args.claim_token !== undefined ? { claimToken: args.claim_token } : {}),
111
+ ...(stores?.driver !== undefined ? { driver: stores.driver } : {}),
29
112
  });
30
113
  }
31
114
  /** Registers the submit_human_response MCP tool on the server. */
32
115
  export function registerSubmitHumanResponse(server, opts) {
33
- server.tool('submit_human_response', "Advance a gate-waiting run by submitting the human's choice.", {
34
- run_id: z.string(),
35
- gate_id: z.string(),
36
- choice: z.string(),
37
- // issue #279 (increment 2, PR-D; design record D-5): unenforced attribution passthrough —
38
- // pass-through only, never validated.
39
- responded_by: z.string().optional(),
40
- }, async (args) => {
116
+ markServedByTool(opts);
117
+ // issue #625: `registerTool` with a pass-through schema — `server.tool` strips unknown keys before
118
+ // the handler sees them (see `create-workflow.ts`), so a misnamed `claimToken` would vanish
119
+ // without a word.
120
+ server.registerTool('submit_human_response', {
121
+ description: "Advance a gate-waiting run by submitting the human's choice.",
122
+ inputSchema: submitHumanResponseArgsSchema,
123
+ }, async (rawArgs) => {
124
+ const args = rawArgs;
41
125
  try {
42
126
  const result = await handleSubmitHumanResponse(args, opts);
127
+ const unknown = unknownKeyWarnings(args);
43
128
  return {
44
129
  content: [
45
130
  {
46
131
  type: 'text',
47
- text: sseJsonStringify({ ...result, data: {}, evidence: [] }),
132
+ text: sseJsonStringify({
133
+ ...result,
134
+ data: {},
135
+ evidence: [],
136
+ // An unknown argument is named FIRST: a caller that sent `claimToken` reads the
137
+ // did-you-mean before the reply's own "No claim_token was passed" sentence.
138
+ ...(unknown.length > 0 ? { warnings: [...unknown, ...result.warnings] } : {}),
139
+ }),
48
140
  },
49
141
  ],
50
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"submit-human-response.js","sourceRoot":"","sources":["../../src/tools/submit-human-response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submit-human-response.js","sourceRoot":"","sources":["../../src/tools/submit-human-response.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,8BAA8B,EAC9B,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,IAAI,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEjG,oGAAoG;AACpG,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAU,CAAC;AAE3F;;;GAGG;AACH,MAAM,WAAW,GAA0D;IACzE,UAAU,EAAE,aAAa;IACzB,KAAK,EAAE,aAAa;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SACrB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAE,UAAgC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,4CAA4C,GAAG,iCAAiC,IAAI,IAAI;YAC1F,CAAC,CAAC,4CAA4C,GAAG,gBAAgB,CAAC;IACtE,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4LAA4L,CAC7L;CACJ,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAMC,EACD,MAAwB;IAExB,iGAAiG;IACjG,qCAAqC;IACrC,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACtD,gGAAgG;IAChG,gGAAgG;IAChG,sBAAsB;IACtB,mFAAmF;IACnF,IAAI,WAA+B,CAAC;IACpC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,mBAAmB,CAAC,cAAc,EAAE,GAAG,EAAE,sBAAsB,CAAC,EAAE;gBACxF,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aACzD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,IAAI,aAAa,EAAE,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE;QAC7D,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IAEH,sFAAsF;IACtF,4FAA4F;IAC5F,+FAA+F;IAC/F,MAAM,QAAQ,GACZ,MAAM,EAAE,gBAAgB,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAC3C,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;IACvB,iGAAiG;IACjG,gFAAgF;IAChF,kBAAkB,CAChB,QAAQ,EACR,YAAY,CAAC,MAAM,EAAE,uBAAuB,EAAE,2BAA2B,CAAC,EAC1E,sBAAsB,CACvB,CAAC;IAEF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC/C,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,+FAA+F;QAC/F,gCAAgC;QAChC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,6EAA6E;QAC7E,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,IAAsB;IACnF,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,mGAAmG;IACnG,4FAA4F;IAC5F,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE,6BAA6B;KAC3C,EACD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,OAAwD,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAA+B,CAAC,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,gBAAgB,CAAC;4BACrB,GAAG,MAAM;4BACT,IAAI,EAAE,EAAE;4BACR,QAAQ,EAAE,EAAE;4BACZ,gFAAgF;4BAChF,4EAA4E;4BAC5E,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC9E,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,WAAW,GACf,GAAG,YAAY,aAAa;gBAC1B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBAClE,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACT,MAAM,WAAW,GACf,WAAW,CAAC,IAAI,KAAK,0BAA0B;gBAC7C,CAAC,CAAC,gCAAgC,IAAI,CAAC,MAAM,cAAc;gBAC3D,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB;oBAC1C,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,cAAc;oBACnC,CAAC,CAAC,4DAA4D,CAAC;YACrE,MAAM,QAAQ,GAAqB,8BAA8B,CAC/D,uBAAuB,EACvB,IAAI,CAAC,MAAM,EACX,CAAC,EACD,WAAW,EACX,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "0.46.0";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ // This package's version. scripts/release.mjs rewrites the line below; keep it in exactly this form.
2
+ export const VERSION = '0.46.0';
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@sensigo/realm-mcp",
3
- "version": "0.44.0",
3
+ "version": "0.46.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "description": "MCP server for Realm — exposes 7 tools for AI agent connections over stdio or HTTP.",
7
+ "description": "MCP server for Realm: lets an AI agent run Realm workflows.",
8
8
  "license": "Apache-2.0",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "https://github.com/sensigo-hq/realm.git"
12
12
  },
13
- "homepage": "https://github.com/sensigo-hq/realm#readme",
13
+ "homepage": "https://realmengine.dev",
14
14
  "keywords": [
15
15
  "mcp",
16
16
  "model-context-protocol",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@modelcontextprotocol/sdk": "1.30.0",
49
- "@sensigo/realm": "^0.44.0",
49
+ "@sensigo/realm": "0.46.0",
50
50
  "proper-lockfile": "^4.1.2",
51
51
  "zod": "^3.25.7"
52
52
  },