@loomfsm/mcp-server 0.1.1 → 0.1.3

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.
@@ -5,10 +5,17 @@ mcp_protocol_required: "^3.0"
5
5
  # /done — review a finished task
6
6
 
7
7
  <!--
8
- Read-only by design. The task is already finalized by the server when it
9
- reaches its terminal step; this command never mutates state and never
10
- acts on the user's behalf. If the task is stuck, the only repair path is
11
- the server-issued recovery options never a hand-edit of the state DB.
8
+ Read-then-rotate by design. This command presents the finished task's
9
+ review WITHOUT altering its outcome, then rotates the finished record into
10
+ history so the project is clear for the next task. The only state
11
+ transition it performs is that post-review archival of an ALREADY-FINISHED
12
+ task; it never edits a task's content, never acts on the user's behalf (no
13
+ commit, no code change), and never hand-edits the state DB. If the task is
14
+ stuck, the only repair path is the server-issued recovery options.
15
+
16
+ Sequencing matters: read and display the record FIRST, archive LAST — the
17
+ archive moves the state DB aside, so reading it afterward would find
18
+ nothing.
12
19
 
13
20
  Bundle-neutral: it renders whatever the kernel's summary carries
14
21
  (verdict, counts, outputs) and never assumes a particular kind of work.
@@ -22,9 +29,11 @@ mcp_protocol_required: "^3.0"
22
29
 
23
30
  Call `mcp__loom__pipeline_state_get({ project_dir: <cwd>, format: "summary" })` to check readiness.
24
31
 
32
+ - If there is **no active task** (the summary reports none — e.g. it was already finished and archived) → tell the user there is nothing to review and stop.
25
33
  - If the task is in an **error / stuck** state (or still has pending agents or an unanswered gate) → display the recovery options verbatim and call `mcp__loom__pipeline_recover({ project_dir, driver_state_id, choice })` with the option the user picks. Stop here; rerun `/done` once the task settles.
26
34
  - Otherwise (in progress with nothing pending, or already completed):
27
35
  1. Call `mcp__loom__pipeline_state_get({ project_dir, format: "json" })` for the final metrics.
28
36
  2. Display the kernel summary to the user verbatim — verdict, agent count, outputs, key findings.
29
37
  3. Optionally suggest a sensible next step for that result (for a code task that is usually a commit message). It is a suggestion only — the user acts on it.
30
38
  4. Do **not** perform the next step yourself, do **not** auto-commit, and do **not** mutate state.
39
+ 5. **Only if the task is finished** (status `completed` or `abandoned`): free the project's slot for the next task by calling `mcp__loom__pipeline_archive_and_reset({ project_dir })` **after** the summary above has been displayed. This archives the finished task's record into `.claude/history/` and clears the live slot, so the next `/task` starts clean. If the task is still in progress, skip this — it is not finished. If the tool reports nothing to reset, the slot is already clear.
@@ -58,10 +58,23 @@ export function createAssembleRegistry(providers) {
58
58
  function makeResolver(providers, cache) {
59
59
  return function assemble(projectDir) {
60
60
  const key = resolve(projectDir);
61
+ // Re-reconcile the manifest on EVERY call, before returning the registry
62
+ // (cached or freshly built). The task store is single-task: finishing a
63
+ // task rotates the whole store into history and frees the slot, which
64
+ // also drops the project's installed-extensions rows. Without a
65
+ // re-reconcile the next task would open a fresh, bundle-less store and
66
+ // refuse with "no enabled bundle". The reconcile is idempotent and
67
+ // cheap (it runs once per tool call, not per FSM tick), so restoring the
68
+ // manifest each time is safe; the expensive registry object — the loaded
69
+ // bundle with every agent template read off disk — is still built once
70
+ // per process and cached.
71
+ const ensured = ensureProjectReconciled(projectDir);
61
72
  const cached = cache.get(key);
62
73
  if (cached !== undefined)
63
- return cached;
64
- const building = buildRegistry(projectDir, providers).catch((err) => {
74
+ return ensured.then(() => cached);
75
+ const building = ensured
76
+ .then(() => buildRegistry(projectDir, providers))
77
+ .catch((err) => {
65
78
  cache.delete(key);
66
79
  throw err;
67
80
  });
@@ -80,24 +93,29 @@ const defaultResolver = makeResolver([claudeCodeShuttleProvider], defaultResolve
80
93
  export function assembleRegistry(projectDir) {
81
94
  return defaultResolver(projectDir);
82
95
  }
83
- async function buildRegistry(projectDir, providers) {
84
- const now = captureNow();
85
- // Open the project DB so kernel migrations apply before the loader
86
- // reads the installed-extensions table.
96
+ // Ensure the project store exists (migrations apply on first open) and
97
+ // carries the bundle manifest row. Idempotent: an unchanged manifest is
98
+ // left as-is. Run on every resolver call so a store that was rotated away
99
+ // since the last build is restored before the loader / the next task reads
100
+ // the installed-extensions table.
101
+ async function ensureProjectReconciled(projectDir) {
87
102
  openDb(projectDir);
88
- // Idempotent: an unchanged manifest row is left as-is.
89
103
  await reconcileExtensions({
90
104
  manifests: [{ path: BUNDLE_MANIFEST_SOURCE, raw: codeManifest }],
91
105
  project_dir: projectDir,
92
- now,
106
+ now: captureNow(),
93
107
  });
108
+ }
109
+ async function buildRegistry(projectDir, providers) {
110
+ // The manifest is already reconciled by `ensureProjectReconciled` before
111
+ // this runs; the loader reads the installed-extensions row it left.
94
112
  return await loadBundle({
95
113
  bundle: codeBundle,
96
114
  bundle_source_dir: bundleSourceDir,
97
115
  project_dir: projectDir,
98
116
  providers,
99
117
  providers_config: readProvidersConfig(projectDir),
100
- now,
118
+ now: captureNow(),
101
119
  });
102
120
  }
103
121
  // Optional per-project provider routing, read from `.claude/providers.json`
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export { createBackupTool } from "./tools/backup.js";
18
18
  export type { BackupDeps } from "./tools/backup.js";
19
19
  export { createRestoreTool } from "./tools/restore.js";
20
20
  export type { RestoreDeps } from "./tools/restore.js";
21
+ export { createArchiveResetTool } from "./tools/archive-reset.js";
22
+ export type { ArchiveResetDeps } from "./tools/archive-reset.js";
21
23
  export { createTransportAdapter, shape } from "./transport-adapter.js";
22
24
  export { FLAG_TO_PRESET, parseTaskArgs } from "./lib/parse-task-args.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";
25
+ export type { ArchiveResetInput, ArchiveResetResponse, 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
@@ -12,6 +12,7 @@ export { createRecoverTool } from "./tools/recover.js";
12
12
  export { createIssueCrossOwnerMarkerTool } from "./tools/issue-marker.js";
13
13
  export { createBackupTool } from "./tools/backup.js";
14
14
  export { createRestoreTool } from "./tools/restore.js";
15
+ export { createArchiveResetTool } from "./tools/archive-reset.js";
15
16
  export { createTransportAdapter, shape } from "./transport-adapter.js";
16
17
  export { FLAG_TO_PRESET, parseTaskArgs } from "./lib/parse-task-args.js";
17
18
  //# sourceMappingURL=index.js.map
@@ -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,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"}
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;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
@@ -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, GetSpawnPromptInput, GetSpawnPromptResponse, IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse, PipelineMetaResponse, PipelineStateView, RecoverTaskInput, RecoverTaskResponse, RestoreInput, RestoreResponse, RunTaskInput, RunTaskResponse, StateGetInput, ToolHandler } from "./types.js";
4
+ import type { ArchiveResetInput, ArchiveResetResponse, 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;
@@ -17,6 +17,7 @@ export interface ToolRegistry {
17
17
  pipeline_issue_cross_owner_marker: ToolHandler<IssueCrossOwnerMarkerInput, IssueCrossOwnerMarkerResponse>;
18
18
  pipeline_backup: ToolHandler<BackupInput, BackupResponse>;
19
19
  pipeline_restore: ToolHandler<RestoreInput, RestoreResponse>;
20
+ pipeline_archive_and_reset: ToolHandler<ArchiveResetInput, ArchiveResetResponse>;
20
21
  }
21
22
  export interface CreateServerHandle {
22
23
  server: Server;
@@ -5,6 +5,7 @@
5
5
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
6
6
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
7
7
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
8
+ import { createArchiveResetTool } from "./tools/archive-reset.js";
8
9
  import { createBackupTool } from "./tools/backup.js";
9
10
  import { createContinueTaskTool } from "./tools/continue-task.js";
10
11
  import { createExtensionsListTool } from "./tools/extensions-list.js";
@@ -202,6 +203,23 @@ const TOOL_DESCRIPTORS = [
202
203
  required: ["project_dir", "from", "format"],
203
204
  },
204
205
  },
206
+ {
207
+ name: "pipeline_archive_and_reset",
208
+ description: "Archives this project's finished task into .claude/history/ and frees " +
209
+ "the single-task slot so the next task starts clean. A terminal task " +
210
+ "archives cleanly; an in-progress task is refused (PROJECT_TASK_ACTIVE) " +
211
+ "unless force:true. Works even when the slot is jammed (a finished task " +
212
+ "that was never cleared); a project with no active task is a no-op.",
213
+ inputSchema: {
214
+ type: "object",
215
+ properties: {
216
+ project_dir: { type: "string" },
217
+ force: { type: "boolean" },
218
+ client_identifier_unverified: { type: "string" },
219
+ },
220
+ required: ["project_dir"],
221
+ },
222
+ },
205
223
  ];
206
224
  export function createServer(deps = {}) {
207
225
  const tools = {
@@ -215,6 +233,7 @@ export function createServer(deps = {}) {
215
233
  pipeline_issue_cross_owner_marker: createIssueCrossOwnerMarkerTool(deps),
216
234
  pipeline_backup: createBackupTool(deps),
217
235
  pipeline_restore: createRestoreTool(deps),
236
+ pipeline_archive_and_reset: createArchiveResetTool(deps),
218
237
  };
219
238
  const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {} } });
220
239
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
@@ -261,6 +280,9 @@ async function dispatch(tools, name, args) {
261
280
  if (name === "pipeline_restore") {
262
281
  return await tools.pipeline_restore(args);
263
282
  }
283
+ if (name === "pipeline_archive_and_reset") {
284
+ return await tools.pipeline_archive_and_reset(args);
285
+ }
264
286
  throw new Error(`unknown tool: ${name}`);
265
287
  }
266
288
  // Stdio entry. The module never connects automatically — the binary
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ArchiveResetInput, ArchiveResetResponse, ToolHandler } from "../types.js";
2
+ export interface ArchiveResetDeps {
3
+ allowlistPath?: string;
4
+ }
5
+ export declare function createArchiveResetTool(deps?: ArchiveResetDeps): ToolHandler<ArchiveResetInput, ArchiveResetResponse>;
@@ -0,0 +1,53 @@
1
+ // pipeline_archive_and_reset — rotate this project's finished task into
2
+ // history and free the single-task slot, so the next task starts clean.
3
+ //
4
+ // Composition: project-dir allowlist → archiveAndReset (the kernel guard:
5
+ // a terminal task archives cleanly; an in-progress task is refused unless
6
+ // force:true so a live run is never discarded; no live store is a no-op).
7
+ //
8
+ // This is the manual instrument for the jammed case — a terminal task that
9
+ // was never rotated keeps blocking new tasks, and this tool clears it even
10
+ // when the normal create path refuses. It does NOT need a registry and
11
+ // runs no FSM tick, so it works regardless of the project's flow wiring.
12
+ //
13
+ // `ts` is the threaded NowToken (the archival stamp), not a fresh clock
14
+ // read, so the reported timestamp matches the archive boundary.
15
+ import { archiveAndReset, assertProjectDirAllowed, captureNow, KernelError, } from "@loomfsm/kernel";
16
+ export function createArchiveResetTool(deps = {}) {
17
+ return async (input) => {
18
+ const now = captureNow();
19
+ // 1. Project-dir allowlist.
20
+ try {
21
+ await assertProjectDirAllowed(input.project_dir, deps.allowlistPath !== undefined ? { allowlistPath: deps.allowlistPath } : undefined);
22
+ }
23
+ catch (err) {
24
+ return refusal(err, now);
25
+ }
26
+ // 2. Guarded archival. In-progress without force → PROJECT_TASK_ACTIVE.
27
+ try {
28
+ const result = await archiveAndReset(input.project_dir, now, input.force === true ? { force: true } : undefined);
29
+ return {
30
+ archived: result.archived,
31
+ task_id: result.task_id,
32
+ history_path: result.history_path,
33
+ ts: now,
34
+ };
35
+ }
36
+ catch (err) {
37
+ return refusal(err, now);
38
+ }
39
+ };
40
+ }
41
+ function refusal(err, ts) {
42
+ if (err instanceof KernelError) {
43
+ return {
44
+ archived: false,
45
+ task_id: null,
46
+ history_path: null,
47
+ ts,
48
+ error: { code: err.code, message: err.message },
49
+ };
50
+ }
51
+ throw err;
52
+ }
53
+ //# sourceMappingURL=archive-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-reset.js","sourceRoot":"","sources":["../../../src/tools/archive-reset.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AACxE,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,EAAE;AACF,wEAAwE;AACxE,gEAAgE;AAEhE,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAQzB,MAAM,UAAU,sBAAsB,CACpC,OAAyB,EAAE;IAE3B,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QAEzB,4BAA4B;QAC5B,IAAI,CAAC;YACH,MAAM,uBAAuB,CAC3B,KAAK,CAAC,WAAW,EACjB,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CACrF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,KAAK,CAAC,WAAW,EACjB,GAAG,EACH,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CACnD,CAAC;YACF,OAAO;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,EAAE,EAAE,GAAG;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAY,EAAE,EAAU;IACvC,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,EAAE;YACF,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;SAChD,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,CAAC;AACZ,CAAC"}
@@ -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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"}
@@ -20,7 +20,7 @@
20
20
  // refusals) become structured error envelopes; the MCP client sees the
21
21
  // same wire shape for a refusal as for the happy path. Only programmer
22
22
  // errors throw.
23
- import { assertProjectDirAllowed, captureNow, initializeTask, KernelError, loadState, openDb, readLedgerRow, runFSM, TransactionImpl, withStateTransaction, writeLedgerRow, } from "@loomfsm/kernel";
23
+ import { archiveStateDb, assertProjectDirAllowed, captureNow, initializeTask, KernelError, loadState, openDb, peekArchiveSlot, readLedgerRow, runFSM, TransactionImpl, withStateTransaction, writeLedgerRow, } from "@loomfsm/kernel";
24
24
  import { parseTaskArgs } from "../lib/parse-task-args.js";
25
25
  import { persistDriverStepIndex } from "../lib/persist-progress.js";
26
26
  import { createTransportAdapter } from "../transport-adapter.js";
@@ -46,6 +46,21 @@ export function createRunTaskTool(deps = {}) {
46
46
  const cached = await readCachedCreation(input.project_dir, input.client_idempotency_uuid);
47
47
  if (cached !== null)
48
48
  return cached;
49
+ // 3b. Free a finished slot before creating the next task. A single-task
50
+ // store holds one task at a time, so a prior task's TERMINAL record
51
+ // is rotated into history here — the belt-and-suspenders path for a
52
+ // user who never ran the graceful finish. An in-progress task is
53
+ // NEVER auto-rotated; the create tx below refuses it with a typed
54
+ // PROJECT_TASK_ACTIVE error rather than discarding a live run.
55
+ try {
56
+ const slot = await peekArchiveSlot(input.project_dir);
57
+ if (slot !== null && (slot.status === "completed" || slot.status === "abandoned")) {
58
+ await archiveStateDb(input.project_dir, captureNow(), { reason: "auto-rotate" });
59
+ }
60
+ }
61
+ catch (err) {
62
+ return refusal(err);
63
+ }
49
64
  if (deps.resolveRegistry === undefined) {
50
65
  return {
51
66
  response: errorResponse(UNKNOWN_DRIVER, "REGISTRY_UNAVAILABLE", "no registry resolver is wired for the active-task path"),
@@ -1 +1 @@
1
- {"version":3,"file":"run-task.js","sourceRoot":"","sources":["../../../src/tools/run-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-task.js","sourceRoot":"","sources":["../../../src/tools/run-task.ts"],"names":[],"mappings":"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"}
@@ -182,4 +182,19 @@ export interface RestoreResponse {
182
182
  message: string;
183
183
  };
184
184
  }
185
+ export interface ArchiveResetInput {
186
+ project_dir: string;
187
+ force?: boolean;
188
+ client_identifier_unverified?: string;
189
+ }
190
+ export interface ArchiveResetResponse {
191
+ archived: boolean;
192
+ task_id: string | null;
193
+ history_path: string | null;
194
+ ts: string;
195
+ error?: {
196
+ code: string;
197
+ message: string;
198
+ };
199
+ }
185
200
  export type ToolHandler<I, O> = (input: I) => Promise<O>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomfsm/mcp-server",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
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/bundle-code": "0.1.1",
30
- "@loomfsm/kernel": "0.1.1",
31
- "@loomfsm/provider-claude-code-shuttle": "0.1.1",
32
- "@loomfsm/transport-types": "0.1.1"
29
+ "@loomfsm/bundle-code": "0.1.3",
30
+ "@loomfsm/kernel": "0.1.3",
31
+ "@loomfsm/provider-claude-code-shuttle": "0.1.3",
32
+ "@loomfsm/transport-types": "0.1.3"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@loomfsm/provider-ollama": "0.0.0"