@loomfsm/mcp-server 0.1.0 → 0.1.2
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/cc-adapter/commands/task.md +2 -2
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/server.d.ts +2 -1
- package/dist/src/server.js +21 -0
- package/dist/src/server.js.map +1 -1
- package/dist/src/tools/continue-task.js +4 -0
- package/dist/src/tools/continue-task.js.map +1 -1
- package/dist/src/tools/get-spawn-prompt.d.ts +7 -0
- package/dist/src/tools/get-spawn-prompt.js +69 -0
- package/dist/src/tools/get-spawn-prompt.js.map +1 -0
- package/dist/src/transport-adapter.js +13 -4
- package/dist/src/transport-adapter.js.map +1 -1
- package/dist/src/types.d.ts +14 -0
- package/package.json +5 -5
|
@@ -20,8 +20,8 @@ Call `mcp__loom__pipeline_run_task({ project_dir: <cwd>, task: "$ARGUMENTS", cli
|
|
|
20
20
|
|
|
21
21
|
Then loop on the returned response's `status`:
|
|
22
22
|
|
|
23
|
-
- **`spawn-agent`** → run the spawn with the Task tool using `spawn_request.{description, prompt, model}` (plus `subagent_type` from `spawn_request.extras` when present). Deliver the result back: `mcp__loom__pipeline_continue_task({ project_dir, driver_state_id, input: { type: "agent-result", agent_run_id, agent_output } })`.
|
|
24
|
-
- **`spawn-agents-parallel`** → run every entry in `spawns` the same way,
|
|
23
|
+
- **`spawn-agent`** → run the spawn with the Task tool using `spawn_request.{description, prompt, model}` (plus `subagent_type` from `spawn_request.extras` when present). Deliver the result back: `mcp__loom__pipeline_continue_task({ project_dir, driver_state_id, input: { type: "agent-result", agent_run_id, agent_output, files_modified, files_created } })`. For `files_modified` / `files_created`: if `project_dir` is a git working tree, gather them after the spawn returns — `files_modified` from `git -C <project_dir> diff --name-only HEAD` and `files_created` from `git -C <project_dir> ls-files --others --exclude-standard` (both relative paths). The server unions them, so reporting the full current set on every delivery is correct and idempotent; a spawn that changed nothing contributes nothing. Omit both fields when the project is not a git repo.
|
|
24
|
+
- **`spawn-agents-parallel`** → run every entry in `spawns` the same way. When the response has `prompts_by_reference: true`, each `spawn_request` omits `prompt` — fetch it per entry with `mcp__loom__pipeline_get_spawn_prompt({ project_dir, driver_state_id, agent_run_id })` and use the returned `prompt` (still take `description` / `model` / `extras` from the entry's `spawn_request`). Then deliver all results together: `mcp__loom__pipeline_continue_task({ project_dir, driver_state_id, input: { type: "agents-results", results: [{ agent_run_id, agent_output }, …] } })`. (A parallel batch is review-only; gather file accounting on the single-spawn deliveries above, where the working tree actually changes.)
|
|
25
25
|
- **`ask-user`** → show `message` and `valid_answers` to the user **verbatim** (the schema names exactly which replies are accepted and what each produces — do not invent or filter options). Deliver their choice: `mcp__loom__pipeline_continue_task({ project_dir, driver_state_id, input: { type: "user-answer", gate_event_id, … } })` with the fields the chosen option declares.
|
|
26
26
|
- **`complete`** → display `summary`, suggest `/done`, and stop.
|
|
27
27
|
- **`error`** → display `message` and `recovery_options` verbatim, then call `mcp__loom__pipeline_recover({ project_dir, driver_state_id, choice })` with the option the user picks (passing `agent_run_ids` when that option lists them).
|
package/dist/src/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export { createRunTaskTool } from "./tools/run-task.js";
|
|
|
8
8
|
export type { RunTaskDeps } from "./tools/run-task.js";
|
|
9
9
|
export { createContinueTaskTool } from "./tools/continue-task.js";
|
|
10
10
|
export type { ContinueTaskDeps } from "./tools/continue-task.js";
|
|
11
|
+
export { createGetSpawnPromptTool } from "./tools/get-spawn-prompt.js";
|
|
12
|
+
export type { GetSpawnPromptDeps } from "./tools/get-spawn-prompt.js";
|
|
11
13
|
export { createRecoverTool } from "./tools/recover.js";
|
|
12
14
|
export type { RecoverDeps } from "./tools/recover.js";
|
|
13
15
|
export { createIssueCrossOwnerMarkerTool } from "./tools/issue-marker.js";
|
|
@@ -18,4 +20,4 @@ export { createRestoreTool } from "./tools/restore.js";
|
|
|
18
20
|
export type { RestoreDeps } from "./tools/restore.js";
|
|
19
21
|
export { createTransportAdapter, shape } from "./transport-adapter.js";
|
|
20
22
|
export { FLAG_TO_PRESET, parseTaskArgs } from "./lib/parse-task-args.js";
|
|
21
|
-
export type { BackupInput, BackupResponse, BypassMarkerInput, ClientCapabilities, ContinueTaskRequestInput, ContinueTaskResponse, ExtensionsListEntry, ExtensionsListInput, ExtensionsListResponse, ExtensionStatus, IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse, MetaBundle, MetaInput, MetaProviders, MetaSandbox, MetaTransports, ParsedTaskArgs, PipelineMetaResponse, PipelineStateView, RecoverTaskInput, RecoverTaskResponse, RecoveryChoiceInput, RestoreInput, RestoreResponse, RunTaskInput, RunTaskResponse, SpawnRequest, StateGetFormat, StateGetInput, ToolHandler, TransportResponse, } from "./types.js";
|
|
23
|
+
export type { BackupInput, BackupResponse, BypassMarkerInput, ClientCapabilities, ContinueTaskRequestInput, ContinueTaskResponse, ExtensionsListEntry, ExtensionsListInput, ExtensionsListResponse, ExtensionStatus, GetSpawnPromptInput, GetSpawnPromptResponse, IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse, MetaBundle, MetaInput, MetaProviders, MetaSandbox, MetaTransports, ParsedTaskArgs, PipelineMetaResponse, PipelineStateView, RecoverTaskInput, RecoverTaskResponse, RecoveryChoiceInput, RestoreInput, RestoreResponse, RunTaskInput, RunTaskResponse, SpawnRequest, StateGetFormat, StateGetInput, ToolHandler, TransportResponse, } from "./types.js";
|
package/dist/src/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { createStateGetTool } from "./tools/state-get.js";
|
|
|
7
7
|
export { createExtensionsListTool } from "./tools/extensions-list.js";
|
|
8
8
|
export { createRunTaskTool } from "./tools/run-task.js";
|
|
9
9
|
export { createContinueTaskTool } from "./tools/continue-task.js";
|
|
10
|
+
export { createGetSpawnPromptTool } from "./tools/get-spawn-prompt.js";
|
|
10
11
|
export { createRecoverTool } from "./tools/recover.js";
|
|
11
12
|
export { createIssueCrossOwnerMarkerTool } from "./tools/issue-marker.js";
|
|
12
13
|
export { createBackupTool } from "./tools/backup.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,qEAAqE;AACrE,yBAAyB;AAEzB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,qEAAqE;AACrE,yBAAyB;AAEzB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Registry } from "@loomfsm/kernel";
|
|
2
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
3
|
import { type MetaInputWithProject } from "./tools/meta.js";
|
|
4
|
-
import type { BackupInput, BackupResponse, ContinueTaskRequestInput, ContinueTaskResponse, ExtensionsListInput, ExtensionsListResponse, IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse, PipelineMetaResponse, PipelineStateView, RecoverTaskInput, RecoverTaskResponse, RestoreInput, RestoreResponse, RunTaskInput, RunTaskResponse, StateGetInput, ToolHandler } from "./types.js";
|
|
4
|
+
import type { BackupInput, BackupResponse, ContinueTaskRequestInput, ContinueTaskResponse, ExtensionsListInput, ExtensionsListResponse, GetSpawnPromptInput, GetSpawnPromptResponse, IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse, PipelineMetaResponse, PipelineStateView, RecoverTaskInput, RecoverTaskResponse, RestoreInput, RestoreResponse, RunTaskInput, RunTaskResponse, StateGetInput, ToolHandler } from "./types.js";
|
|
5
5
|
export interface ServerDeps {
|
|
6
6
|
resolveRegistry?: (projectDir: string) => Promise<Registry> | Registry;
|
|
7
7
|
allowlistPath?: string;
|
|
@@ -12,6 +12,7 @@ export interface ToolRegistry {
|
|
|
12
12
|
pipeline_extensions_list: ToolHandler<ExtensionsListInput, ExtensionsListResponse>;
|
|
13
13
|
pipeline_run_task: ToolHandler<RunTaskInput, RunTaskResponse>;
|
|
14
14
|
pipeline_continue_task: ToolHandler<ContinueTaskRequestInput, ContinueTaskResponse>;
|
|
15
|
+
pipeline_get_spawn_prompt: ToolHandler<GetSpawnPromptInput, GetSpawnPromptResponse>;
|
|
15
16
|
pipeline_recover: ToolHandler<RecoverTaskInput, RecoverTaskResponse>;
|
|
16
17
|
pipeline_issue_cross_owner_marker: ToolHandler<IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse>;
|
|
17
18
|
pipeline_backup: ToolHandler<BackupInput, BackupResponse>;
|
package/dist/src/server.js
CHANGED
|
@@ -8,6 +8,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
|
|
|
8
8
|
import { createBackupTool } from "./tools/backup.js";
|
|
9
9
|
import { createContinueTaskTool } from "./tools/continue-task.js";
|
|
10
10
|
import { createExtensionsListTool } from "./tools/extensions-list.js";
|
|
11
|
+
import { createGetSpawnPromptTool } from "./tools/get-spawn-prompt.js";
|
|
11
12
|
import { createIssueCrossOwnerMarkerTool } from "./tools/issue-marker.js";
|
|
12
13
|
import { createMetaTool } from "./tools/meta.js";
|
|
13
14
|
import { createRecoverTool } from "./tools/recover.js";
|
|
@@ -109,6 +110,22 @@ const TOOL_DESCRIPTORS = [
|
|
|
109
110
|
required: ["project_dir", "driver_state_id", "input"],
|
|
110
111
|
},
|
|
111
112
|
},
|
|
113
|
+
{
|
|
114
|
+
name: "pipeline_get_spawn_prompt",
|
|
115
|
+
description: "Fetches one fanout agent's rendered prompt by reference. A wide " +
|
|
116
|
+
"spawn-agents-parallel response omits each prompt (prompts_by_reference) " +
|
|
117
|
+
"to stay under the inline-response cap; call this once per agent_run_id " +
|
|
118
|
+
"to retrieve the prompt before dispatching that spawn. Read-only.",
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: "object",
|
|
121
|
+
properties: {
|
|
122
|
+
project_dir: { type: "string" },
|
|
123
|
+
driver_state_id: { type: "string" },
|
|
124
|
+
agent_run_id: { type: "string" },
|
|
125
|
+
},
|
|
126
|
+
required: ["project_dir", "driver_state_id", "agent_run_id"],
|
|
127
|
+
},
|
|
128
|
+
},
|
|
112
129
|
{
|
|
113
130
|
name: "pipeline_recover",
|
|
114
131
|
description: "Recovers a stuck task. Five choices: abandon | force-close | retry | " +
|
|
@@ -193,6 +210,7 @@ export function createServer(deps = {}) {
|
|
|
193
210
|
pipeline_extensions_list: createExtensionsListTool(),
|
|
194
211
|
pipeline_run_task: createRunTaskTool(deps),
|
|
195
212
|
pipeline_continue_task: createContinueTaskTool(deps),
|
|
213
|
+
pipeline_get_spawn_prompt: createGetSpawnPromptTool(deps),
|
|
196
214
|
pipeline_recover: createRecoverTool(deps),
|
|
197
215
|
pipeline_issue_cross_owner_marker: createIssueCrossOwnerMarkerTool(deps),
|
|
198
216
|
pipeline_backup: createBackupTool(deps),
|
|
@@ -228,6 +246,9 @@ async function dispatch(tools, name, args) {
|
|
|
228
246
|
if (name === "pipeline_continue_task") {
|
|
229
247
|
return await tools.pipeline_continue_task(args);
|
|
230
248
|
}
|
|
249
|
+
if (name === "pipeline_get_spawn_prompt") {
|
|
250
|
+
return await tools.pipeline_get_spawn_prompt(args);
|
|
251
|
+
}
|
|
231
252
|
if (name === "pipeline_recover") {
|
|
232
253
|
return await tools.pipeline_recover(args);
|
|
233
254
|
}
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,iEAAiE;AACjE,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAA6B,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,10 @@ export function createContinueTaskTool(deps = {}) {
|
|
|
63
63
|
driver_state_id: driverStateId,
|
|
64
64
|
resolveOutputKind: (agent) => registry.agents.get(agent)?.output_kind,
|
|
65
65
|
vocabularies: registry.vocabularies,
|
|
66
|
+
// The human-answer path resolves the gate's on_resume + the active
|
|
67
|
+
// flow from here, so a revise walks back and an abandon completes
|
|
68
|
+
// rejected instead of advancing like an accept.
|
|
69
|
+
registry,
|
|
66
70
|
});
|
|
67
71
|
const taskId = await readTaskId(tx);
|
|
68
72
|
await writeAuditRow(tx, "pipeline_continue_task", taskId, driverStateId, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-task.js","sourceRoot":"","sources":["../../../src/tools/continue-task.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"continue-task.js","sourceRoot":"","sources":["../../../src/tools/continue-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Registry } from "@loomfsm/kernel";
|
|
2
|
+
import type { GetSpawnPromptInput, GetSpawnPromptResponse, ToolHandler } from "../types.js";
|
|
3
|
+
export interface GetSpawnPromptDeps {
|
|
4
|
+
resolveRegistry?: (projectDir: string) => Promise<Registry> | Registry;
|
|
5
|
+
allowlistPath?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function createGetSpawnPromptTool(deps?: GetSpawnPromptDeps): ToolHandler<GetSpawnPromptInput, GetSpawnPromptResponse>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// pipeline_get_spawn_prompt — fetch one fanout agent's prompt by reference.
|
|
2
|
+
//
|
|
3
|
+
// A wide fanout directive lists each agent + its model/extras but omits the
|
|
4
|
+
// bulky prompt (see the transport adapter's `prompts_by_reference` path):
|
|
5
|
+
// inlining N full prompts in one envelope blows past the MCP client's
|
|
6
|
+
// inline-response cap. The host calls this once per agent_run_id to fetch
|
|
7
|
+
// the prompt just before dispatching that spawn.
|
|
8
|
+
//
|
|
9
|
+
// The prompt is RE-DERIVED, not stored: `buildPrompt(state, agent, registry)`
|
|
10
|
+
// is a pure function of the loaded state, so reading it back here reproduces
|
|
11
|
+
// exactly what the fanout interpreter rendered. Nothing was persisted at
|
|
12
|
+
// fanout time, so the kernel stays free of a prompt-blob column. The pending
|
|
13
|
+
// agent row (written when the fanout launched) supplies the agent name +
|
|
14
|
+
// model the directive carried.
|
|
15
|
+
//
|
|
16
|
+
// Read-only: one `withReadTransaction` snapshot, no state mutation.
|
|
17
|
+
import { assertProjectDirAllowed, buildPrompt, loadState, withReadTransaction, KernelError, } from "@loomfsm/kernel";
|
|
18
|
+
export function createGetSpawnPromptTool(deps = {}) {
|
|
19
|
+
return async (input) => {
|
|
20
|
+
// 1. Project-dir allowlist.
|
|
21
|
+
try {
|
|
22
|
+
await assertProjectDirAllowed(input.project_dir, deps.allowlistPath !== undefined ? { allowlistPath: deps.allowlistPath } : undefined);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
return refusal(err);
|
|
26
|
+
}
|
|
27
|
+
if (deps.resolveRegistry === undefined) {
|
|
28
|
+
return errorResponse("REGISTRY_UNAVAILABLE", "no registry resolver is wired for the active-task path");
|
|
29
|
+
}
|
|
30
|
+
const registry = await deps.resolveRegistry(input.project_dir);
|
|
31
|
+
try {
|
|
32
|
+
return await withReadTransaction(input.project_dir, async (tx) => {
|
|
33
|
+
const pending = await readPendingAgent(tx, input.agent_run_id);
|
|
34
|
+
if (pending === null) {
|
|
35
|
+
return errorResponse("PENDING_AGENT_NOT_FOUND", `no pending_agents row for agent_run_id '${input.agent_run_id}'`);
|
|
36
|
+
}
|
|
37
|
+
const agent = registry.agents.get(pending.agent);
|
|
38
|
+
if (agent === undefined) {
|
|
39
|
+
return errorResponse("AGENT_NOT_REGISTERED", `agent '${pending.agent}' is not in the active registry`);
|
|
40
|
+
}
|
|
41
|
+
const state = await loadState(tx);
|
|
42
|
+
const prompt = buildPrompt(state, agent, registry);
|
|
43
|
+
return { prompt, agent: pending.agent, model: pending.model };
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
return refusal(err);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function readPendingAgent(tx, agentRunId) {
|
|
52
|
+
const row = await tx.queryRow("SELECT agent, model FROM pending_agents WHERE agent_run_id = ?", [agentRunId]);
|
|
53
|
+
if (row === null)
|
|
54
|
+
return null;
|
|
55
|
+
return {
|
|
56
|
+
agent: String(row.agent),
|
|
57
|
+
model: row.model === null ? null : String(row.model),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function refusal(err) {
|
|
61
|
+
if (err instanceof KernelError) {
|
|
62
|
+
return errorResponse(err.code, err.message);
|
|
63
|
+
}
|
|
64
|
+
throw err;
|
|
65
|
+
}
|
|
66
|
+
function errorResponse(code, message) {
|
|
67
|
+
return { prompt: null, agent: null, model: null, error: { code, message } };
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=get-spawn-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-spawn-prompt.js","sourceRoot":"","sources":["../../../src/tools/get-spawn-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,17 +37,25 @@ export function shape(directive, ctx) {
|
|
|
37
37
|
driver_state_id: ctx.driver_state_id,
|
|
38
38
|
agent_run_id: intent.agent_run_id,
|
|
39
39
|
agent: intent.agent,
|
|
40
|
-
|
|
40
|
+
// A single spawn carries its one prompt inline — no reference round
|
|
41
|
+
// trip for the common case.
|
|
42
|
+
spawn_request: toSpawnRequest(intent, { inlinePrompt: true }),
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
case "shuttle-batch":
|
|
46
|
+
// Fanout prompts go by reference: each descriptor carries model +
|
|
47
|
+
// extras (small, host needs them to dispatch) but NOT the prompt, so
|
|
48
|
+
// this envelope's size scales with the agent count, not the sum of
|
|
49
|
+
// every prompt. The host fetches each prompt via a read-only call
|
|
50
|
+
// keyed by agent_run_id.
|
|
44
51
|
return {
|
|
45
52
|
status: "spawn-agents-parallel",
|
|
46
53
|
driver_state_id: ctx.driver_state_id,
|
|
54
|
+
prompts_by_reference: true,
|
|
47
55
|
spawns: directive.spawns.map((intent) => ({
|
|
48
56
|
agent_run_id: intent.agent_run_id,
|
|
49
57
|
agent: intent.agent,
|
|
50
|
-
spawn_request: toSpawnRequest(intent),
|
|
58
|
+
spawn_request: toSpawnRequest(intent, { inlinePrompt: false }),
|
|
51
59
|
})),
|
|
52
60
|
};
|
|
53
61
|
case "ask-user":
|
|
@@ -80,13 +88,14 @@ export function shape(directive, ctx) {
|
|
|
80
88
|
}
|
|
81
89
|
}
|
|
82
90
|
}
|
|
83
|
-
function toSpawnRequest(intent) {
|
|
91
|
+
function toSpawnRequest(intent, opts) {
|
|
84
92
|
const req = {
|
|
85
93
|
runner_hint: RUNNER_HINT,
|
|
86
94
|
description: `${intent.agent} (${intent.phase})`,
|
|
87
|
-
prompt: intent.prompt,
|
|
88
95
|
model: intent.model,
|
|
89
96
|
};
|
|
97
|
+
if (opts.inlinePrompt)
|
|
98
|
+
req.prompt = intent.prompt;
|
|
90
99
|
if (intent.extras !== undefined)
|
|
91
100
|
req.extras = intent.extras;
|
|
92
101
|
return req;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-adapter.js","sourceRoot":"","sources":["../../src/transport-adapter.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,sBAAsB;AACtB,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,iCAAiC;AACjC,EAAE;AACF,iEAAiE;AACjE,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,gCAAgC;AAShC,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC,MAAM,UAAU,sBAAsB;IACpC,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,SAA0B,EAC1B,GAAgC;IAEhC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EACL,oFAAoF;gBACtF,gBAAgB,EAAE,EAAE;aACrB,CAAC;QACJ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;YAC/B,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"transport-adapter.js","sourceRoot":"","sources":["../../src/transport-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -100,6 +100,20 @@ export interface ContinueTaskRequestInput {
|
|
|
100
100
|
export interface ContinueTaskResponse {
|
|
101
101
|
response: TransportResponse;
|
|
102
102
|
}
|
|
103
|
+
export interface GetSpawnPromptInput {
|
|
104
|
+
project_dir: string;
|
|
105
|
+
driver_state_id: string;
|
|
106
|
+
agent_run_id: string;
|
|
107
|
+
}
|
|
108
|
+
export interface GetSpawnPromptResponse {
|
|
109
|
+
prompt: string | null;
|
|
110
|
+
agent: string | null;
|
|
111
|
+
model: string | null;
|
|
112
|
+
error?: {
|
|
113
|
+
code: string;
|
|
114
|
+
message: string;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
103
117
|
export type RecoveryChoiceInput = "abandon" | "force-close" | "retry" | "retry-failed" | "cancel-pending";
|
|
104
118
|
export interface BypassMarkerInput {
|
|
105
119
|
issued_at: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loomfsm/mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP transport for loom — exposes the pipeline tools over stdio and assembles the runnable registry.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
29
|
-
"@loomfsm/
|
|
30
|
-
"@loomfsm/
|
|
31
|
-
"@loomfsm/provider-claude-code-shuttle": "0.1.
|
|
32
|
-
"@loomfsm/transport-types": "0.1.
|
|
29
|
+
"@loomfsm/kernel": "0.1.2",
|
|
30
|
+
"@loomfsm/bundle-code": "0.1.2",
|
|
31
|
+
"@loomfsm/provider-claude-code-shuttle": "0.1.2",
|
|
32
|
+
"@loomfsm/transport-types": "0.1.2"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@loomfsm/provider-ollama": "0.0.0"
|