@sensigo/realm-mcp 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export { createRealmMcpServer, createDefaultRegistry } from './server.js';
2
2
  export type { RealmMcpServerOptions } from './server.js';
3
3
  export { generateProtocol } from './protocol/generator.js';
4
4
  export type { WorkflowProtocol, ProtocolStep } from './protocol/generator.js';
5
- export declare const VERSION = "0.9.0";
5
+ export declare const VERSION = "0.10.1";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @sensigo/realm-mcp — MCP server for AI agent connections
2
2
  export { createRealmMcpServer, createDefaultRegistry } from './server.js';
3
3
  export { generateProtocol } from './protocol/generator.js';
4
- export const VERSION = '0.9.0';
4
+ export const VERSION = '0.10.1';
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAYxB,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;qEACiE;IACjE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAgC/E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAaxB,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;qEACiE;IACjE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CA4C/E"}
package/dist/server.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // realm-mcp — MCP server exposing the Realm workflow engine to AI agents.
3
3
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
- import { JsonFileStore, createDefaultRegistry, } from '@sensigo/realm';
5
+ import { JsonWorkflowStore, JsonFileStore, createDefaultRegistry, } from '@sensigo/realm';
6
6
  import { JsonTraceBufferStore } from './json-trace-buffer-store.js';
7
7
  import { registerListWorkflows } from './tools/list-workflows.js';
8
8
  import { registerGetWorkflowProtocol } from './tools/get-workflow-protocol.js';
@@ -10,6 +10,7 @@ import { registerStartRun } from './tools/start-run.js';
10
10
  import { registerExecuteStep } from './tools/execute-step.js';
11
11
  import { registerSubmitHumanResponse } from './tools/submit-human-response.js';
12
12
  import { registerGetRunState } from './tools/get-run-state.js';
13
+ import { registerAbandonRun } from './tools/abandon-run.js';
13
14
  import { registerCreateWorkflow } from './tools/create-workflow.js';
14
15
  import { registerAppendTrace } from './tools/append-trace.js';
15
16
  import { registerStartRunBatch } from './tools/start-run-batch.js';
@@ -39,12 +40,22 @@ export { createDefaultRegistry };
39
40
  export function createRealmMcpServer(options) {
40
41
  const server = new McpServer({
41
42
  name: 'realm',
42
- version: '0.9.0',
43
+ version: '0.10.1',
43
44
  });
44
45
  // When no registry is provided, use the default registry that pre-registers built-in
45
46
  // adapters. When a registry is provided, the caller is responsible for its contents.
46
47
  const effectiveRegistry = options?.registry ?? createDefaultRegistry();
47
- const effectiveOptions = { ...options, registry: effectiveRegistry };
48
+ // Default the workflow store the same way (mirrors effectiveRegistry / effectiveRunStore). This is
49
+ // what lets get_run_state compute next_actions on the option-less entrypoint path — without it,
50
+ // get_run_state would silently degrade to 'workflow_unresolved'. Behaviour-preserving for every
51
+ // other tool: start_run/start_run_batch/etc. already fall back to the same default
52
+ // (`~/.realm/workflows`) internally, so receiving it explicitly changes nothing for them.
53
+ const effectiveWorkflowStore = options?.workflowStore ?? new JsonWorkflowStore();
54
+ const effectiveOptions = {
55
+ ...options,
56
+ registry: effectiveRegistry,
57
+ workflowStore: effectiveWorkflowStore,
58
+ };
48
59
  // Shared trace buffer store: one instance used by both append_trace and execute_step so
49
60
  // WAL entries written by append_trace are visible when execute_step finalizes the step.
50
61
  const effectiveRunStore = options?.runStore ?? new JsonFileStore();
@@ -56,6 +67,7 @@ export function createRealmMcpServer(options) {
56
67
  registerExecuteStep(server, { ...effectiveOptions, traceBufferStore });
57
68
  registerSubmitHumanResponse(server, effectiveOptions);
58
69
  registerGetRunState(server, effectiveOptions);
70
+ registerAbandonRun(server, effectiveOptions);
59
71
  registerCreateWorkflow(server, effectiveOptions);
60
72
  registerAppendTrace(server, {
61
73
  runStore: effectiveRunStore,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,0EAA0E;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAGL,aAAa,EACb,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAcnE;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA+B;IAClE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,qFAAqF;IACrF,qFAAqF;IACrF,MAAM,iBAAiB,GAAG,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,CAAC;IAEvE,MAAM,gBAAgB,GAA0B,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE5F,wFAAwF;IACxF,wFAAwF;IACxF,MAAM,iBAAiB,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,aAAa,EAAE,CAAC;IACnE,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjF,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChD,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtD,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChD,mBAAmB,CAAC,MAAM,EAAE,EAAE,GAAG,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACvE,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtD,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,mBAAmB,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,iBAAiB;QAC3B,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gEAAgE;AAChE,IACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;IAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAC7D,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { JsonFileStore, type RunPhase } from '@sensigo/realm';
3
+ export interface HandleAbandonRunStores {
4
+ runStore?: JsonFileStore;
5
+ }
6
+ export interface AbandonRunSummary {
7
+ run_id: string;
8
+ run_phase: RunPhase;
9
+ terminal_state: boolean;
10
+ terminal_reason: string | undefined;
11
+ }
12
+ /**
13
+ * Business logic for the abandon_run tool. Abandons a non-terminal run via the shared core
14
+ * primitive and returns a minimal state summary.
15
+ */
16
+ export declare function handleAbandonRun(args: {
17
+ run_id: string;
18
+ reason?: string | undefined;
19
+ }, stores?: HandleAbandonRunStores): Promise<AbandonRunSummary>;
20
+ /** Registers the abandon_run MCP tool on the server. */
21
+ export declare function registerAbandonRun(server: McpServer, opts?: HandleAbandonRunStores): void;
22
+ //# sourceMappingURL=abandon-run.d.ts.map
@@ -0,0 +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,EACL,aAAa,EAIb,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;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;CACrC;AAED;;;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,CAS5B;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,IAAI,CA6CzF"}
@@ -0,0 +1,60 @@
1
+ // abandon-run tool — explicitly abandons a non-terminal run (stamps the authoritative marker).
2
+ import { z } from 'zod';
3
+ import { JsonFileStore, WorkflowError, abandonRun, resolvePreExecutionAgentAction, } from '@sensigo/realm';
4
+ import { sseJsonStringify } from '../sse-json.js';
5
+ /**
6
+ * Business logic for the abandon_run tool. Abandons a non-terminal run via the shared core
7
+ * primitive and returns a minimal state summary.
8
+ */
9
+ export async function handleAbandonRun(args, stores) {
10
+ const runStore = stores?.runStore ?? new JsonFileStore();
11
+ const run = await abandonRun(runStore, args.run_id, args.reason);
12
+ return {
13
+ run_id: run.id,
14
+ run_phase: run.run_phase,
15
+ terminal_state: run.terminal_state,
16
+ terminal_reason: run.terminal_reason,
17
+ };
18
+ }
19
+ /** Registers the abandon_run MCP tool on the server. */
20
+ export function registerAbandonRun(server, opts) {
21
+ server.tool('abandon_run', 'Abandon a non-terminal workflow run (marks it terminal with phase "abandoned"). Refuses runs waiting on a human gate (resolve via submit_human_response) and already-terminal runs.', { run_id: z.string(), reason: z.string().optional() }, async (args) => {
22
+ try {
23
+ const result = await handleAbandonRun(args, opts);
24
+ return { content: [{ type: 'text', text: sseJsonStringify(result) }] };
25
+ }
26
+ catch (err) {
27
+ const agentAction = err instanceof WorkflowError ? resolvePreExecutionAgentAction(err) : 'report_to_user';
28
+ const message = err instanceof Error ? err.message : String(err);
29
+ const code = err instanceof WorkflowError ? err.code : undefined;
30
+ const contextHint = code === 'STATE_RUN_NOT_FOUND'
31
+ ? `Run '${args.run_id}' not found.`
32
+ : code === 'STATE_RUN_TERMINAL'
33
+ ? `Run '${args.run_id}' is already terminal; nothing to abandon.`
34
+ : code === 'STATE_TRANSITION_DENIED'
35
+ ? `Run '${args.run_id}' is waiting on a human gate; resolve it before abandoning.`
36
+ : `An error occurred while abandoning the run.`;
37
+ return {
38
+ content: [
39
+ {
40
+ type: 'text',
41
+ text: sseJsonStringify({
42
+ command: 'abandon_run',
43
+ run_id: args.run_id,
44
+ status: 'error',
45
+ data: {},
46
+ evidence: [],
47
+ warnings: [],
48
+ errors: [message],
49
+ ...(code !== undefined ? { error_code: code } : {}),
50
+ agent_action: agentAction,
51
+ context_hint: contextHint,
52
+ next_actions: [],
53
+ }),
54
+ },
55
+ ],
56
+ };
57
+ }
58
+ });
59
+ }
60
+ //# sourceMappingURL=abandon-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abandon-run.js","sourceRoot":"","sources":["../../src/tools/abandon-run.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,25 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { JsonFileStore, type RunPhase } from '@sensigo/realm';
2
+ import { JsonFileStore, JsonWorkflowStore, type RunPhase, type NextAction } from '@sensigo/realm';
3
3
  export interface HandleRunStateStores {
4
4
  runStore?: JsonFileStore;
5
+ /**
6
+ * Optional workflow store used to compute `next_actions`. When absent (or the workflow is not
7
+ * registered), `next_actions_status` is `'workflow_unresolved'`. Intentionally NOT defaulted to a
8
+ * fresh JsonWorkflowStore so the function stays hermetic for tests/programmatic callers.
9
+ */
10
+ workflowStore?: JsonWorkflowStore;
5
11
  }
12
+ /**
13
+ * Diagnostic classification of `next_actions`:
14
+ * - `ok` — next_actions reflects what to do next (may be empty for a healthy run with only
15
+ * downstream auto work that hasn't been triggered).
16
+ * - `auto_pending` — eligible steps exist but are all `auto` (buildNextActions drops them); the run
17
+ * is making engine-side progress, not awaiting the agent.
18
+ * - `awaiting_human` — a human gate is open.
19
+ * - `workflow_unresolved` — no workflow store provided, or the workflow is not registered.
20
+ * - `skipped_terminal` — the run is terminal; nothing to do.
21
+ */
22
+ export type NextActionsStatus = 'ok' | 'auto_pending' | 'awaiting_human' | 'workflow_unresolved' | 'skipped_terminal';
6
23
  export interface RunStateSummary {
7
24
  run_id: string;
8
25
  workflow_id: string;
@@ -27,6 +44,10 @@ export interface RunStateSummary {
27
44
  }>;
28
45
  abort_message?: string;
29
46
  };
47
+ /** Eligible agent/handler steps for this run (empty unless `next_actions_status` is `'ok'`). */
48
+ next_actions: NextAction[];
49
+ /** Diagnostic classification — distinguishes a genuinely-stuck run from "nothing pending". */
50
+ next_actions_status: NextActionsStatus;
30
51
  }
31
52
  /**
32
53
  * Business logic for the get_run_state tool.
@@ -1 +1 @@
1
- {"version":3,"file":"get-run-state.d.ts","sourceRoot":"","sources":["../../src/tools/get-run-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EACL,aAAa,EAGb,KAAK,QAAQ,EACd,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,OAAO,gBAAgB,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACpF,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EACxB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAqB1B;AAED,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAuCxF"}
1
+ {"version":3,"file":"get-run-state.d.ts","sourceRoot":"","sources":["../../src/tools/get-run-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EACL,aAAa,EACb,iBAAiB,EAKjB,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,cAAc,GACd,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,OAAO,gBAAgB,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QACpF,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,gGAAgG;IAChG,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,mBAAmB,EAAE,iBAAiB,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EACxB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsD1B;AAED,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAuCxF"}
@@ -1,6 +1,6 @@
1
1
  // get-run-state tool — returns the current state summary of a run.
2
2
  import { z } from 'zod';
3
- import { JsonFileStore, WorkflowError, resolvePreExecutionAgentAction, } from '@sensigo/realm';
3
+ import { JsonFileStore, WorkflowError, resolvePreExecutionAgentAction, buildNextActions, findEligibleSteps, } from '@sensigo/realm';
4
4
  import { sseJsonStringify } from '../sse-json.js';
5
5
  /**
6
6
  * Business logic for the get_run_state tool.
@@ -9,6 +9,40 @@ import { sseJsonStringify } from '../sse-json.js';
9
9
  export async function handleGetRunState(args, stores) {
10
10
  const runStore = stores?.runStore ?? new JsonFileStore();
11
11
  const run = await runStore.get(args.run_id);
12
+ // Compute next_actions + diagnostic status (read-only). Precedence:
13
+ // terminal → skipped_terminal; gate open → awaiting_human; no/unresolved workflow →
14
+ // workflow_unresolved; else buildNextActions/findEligibleSteps → ok | auto_pending.
15
+ let nextActions = [];
16
+ let nextActionsStatus;
17
+ if (run.terminal_state) {
18
+ nextActionsStatus = 'skipped_terminal';
19
+ }
20
+ else if (run.pending_gate !== undefined) {
21
+ nextActionsStatus = 'awaiting_human';
22
+ }
23
+ else {
24
+ const definition = stores?.workflowStore !== undefined
25
+ ? await stores.workflowStore.get(run.workflow_id).catch(() => undefined)
26
+ : undefined;
27
+ if (definition === undefined) {
28
+ nextActionsStatus = 'workflow_unresolved';
29
+ }
30
+ else {
31
+ const na = buildNextActions(definition, run);
32
+ const eligible = findEligibleSteps(definition, run);
33
+ if (na.length > 0) {
34
+ nextActions = na;
35
+ nextActionsStatus = 'ok';
36
+ }
37
+ else if (eligible.length > 0) {
38
+ // Eligible steps exist but are all auto (buildNextActions drops them).
39
+ nextActionsStatus = 'auto_pending';
40
+ }
41
+ else {
42
+ nextActionsStatus = 'ok';
43
+ }
44
+ }
45
+ }
12
46
  return {
13
47
  run_id: run.id,
14
48
  workflow_id: run.workflow_id,
@@ -25,6 +59,8 @@ export async function handleGetRunState(args, stores) {
25
59
  updated_at: run.updated_at,
26
60
  params: run.params,
27
61
  ...(run.aborted_at !== undefined ? { abort_context: run.aborted_at } : {}),
62
+ next_actions: nextActions,
63
+ next_actions_status: nextActionsStatus,
28
64
  };
29
65
  }
30
66
  /** Registers the get_run_state MCP tool on the server. */
@@ -1 +1 @@
1
- {"version":3,"file":"get-run-state.js","sourceRoot":"","sources":["../../src/tools/get-run-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-run-state.js","sourceRoot":"","sources":["../../src/tools/get-run-state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sensigo/realm-mcp",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@modelcontextprotocol/sdk": "1.29.0",
49
- "@sensigo/realm": "^0.9.0",
49
+ "@sensigo/realm": "^0.10.1",
50
50
  "zod": "^3.25.7"
51
51
  },
52
52
  "devDependencies": {