@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.
- package/dist/bin-identity.d.ts +11 -0
- package/dist/bin-identity.d.ts.map +1 -0
- package/dist/bin-identity.js +47 -0
- package/dist/bin-identity.js.map +1 -0
- package/dist/brand.d.ts +3 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +7 -0
- package/dist/brand.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/json-trace-buffer-store.d.ts +44 -31
- package/dist/json-trace-buffer-store.d.ts.map +1 -1
- package/dist/json-trace-buffer-store.js +72 -49
- package/dist/json-trace-buffer-store.js.map +1 -1
- package/dist/protocol/generator.js +2 -2
- package/dist/protocol/generator.js.map +1 -1
- package/dist/server.d.ts +13 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +30 -4
- package/dist/server.js.map +1 -1
- package/dist/test-support/declared.d.ts +2 -0
- package/dist/test-support/declared.d.ts.map +1 -0
- package/dist/test-support/declared.js +9 -0
- package/dist/test-support/declared.js.map +1 -0
- package/dist/tools/abandon-run.d.ts.map +1 -1
- package/dist/tools/abandon-run.js +2 -0
- package/dist/tools/abandon-run.js.map +1 -1
- package/dist/tools/append-trace.d.ts +2 -0
- package/dist/tools/append-trace.d.ts.map +1 -1
- package/dist/tools/append-trace.js +18 -70
- package/dist/tools/append-trace.js.map +1 -1
- package/dist/tools/assert-tool-stores.d.ts +26 -0
- package/dist/tools/assert-tool-stores.d.ts.map +1 -0
- package/dist/tools/assert-tool-stores.js +54 -0
- package/dist/tools/assert-tool-stores.js.map +1 -0
- package/dist/tools/create-workflow.d.ts.map +1 -1
- package/dist/tools/create-workflow.js +2 -0
- package/dist/tools/create-workflow.js.map +1 -1
- package/dist/tools/execute-step.d.ts.map +1 -1
- package/dist/tools/execute-step.js +15 -0
- package/dist/tools/execute-step.js.map +1 -1
- package/dist/tools/get-run-state.d.ts +27 -1
- package/dist/tools/get-run-state.d.ts.map +1 -1
- package/dist/tools/get-run-state.js +59 -2
- package/dist/tools/get-run-state.js.map +1 -1
- package/dist/tools/get-workflow-protocol.d.ts.map +1 -1
- package/dist/tools/get-workflow-protocol.js +2 -0
- package/dist/tools/get-workflow-protocol.js.map +1 -1
- package/dist/tools/list-workflows.d.ts.map +1 -1
- package/dist/tools/list-workflows.js +2 -0
- package/dist/tools/list-workflows.js.map +1 -1
- package/dist/tools/start-run-batch.d.ts.map +1 -1
- package/dist/tools/start-run-batch.js +7 -0
- package/dist/tools/start-run-batch.js.map +1 -1
- package/dist/tools/start-run.d.ts +8 -1
- package/dist/tools/start-run.d.ts.map +1 -1
- package/dist/tools/start-run.js +11 -2
- package/dist/tools/start-run.js.map +1 -1
- package/dist/tools/submit-human-response.d.ts +36 -0
- package/dist/tools/submit-human-response.d.ts.map +1 -1
- package/dist/tools/submit-human-response.js +101 -12
- package/dist/tools/submit-human-response.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- 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
|
|
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,
|
|
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.
|
package/dist/server.d.ts.map
CHANGED
|
@@ -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;
|
|
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:
|
|
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
|
-
|
|
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
|
|
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
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,UAAU,EACV,8BAA8B,GAG/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
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,
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
|
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
|
|
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
|
|
254
|
-
// re-
|
|
255
|
-
//
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
//
|
|
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
|
|
261
|
-
|
|
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;
|
|
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);
|