mcp-ai-agent-guidelines 0.16.0 → 0.17.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/CHANGELOG.md +16 -0
- package/README.md +13 -2
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +119 -5
- package/dist/index.js.map +1 -1
- package/dist/memory/toon-interface.d.ts +19 -0
- package/dist/memory/toon-interface.d.ts.map +1 -1
- package/dist/memory/toon-interface.js +51 -20
- package/dist/memory/toon-interface.js.map +1 -1
- package/dist/runtime/session-bootstrap.d.ts.map +1 -1
- package/dist/runtime/session-bootstrap.js +1 -6
- package/dist/runtime/session-bootstrap.js.map +1 -1
- package/dist/runtime/session-store-utils.d.ts +17 -3
- package/dist/runtime/session-store-utils.d.ts.map +1 -1
- package/dist/runtime/session-store-utils.js +36 -9
- package/dist/runtime/session-store-utils.js.map +1 -1
- package/dist/tests/cli/local-tool-sanity.test.d.ts +2 -0
- package/dist/tests/cli/local-tool-sanity.test.d.ts.map +1 -0
- package/dist/tests/cli/local-tool-sanity.test.js +40 -0
- package/dist/tests/cli/local-tool-sanity.test.js.map +1 -0
- package/dist/tests/index.test.js +84 -1
- package/dist/tests/index.test.js.map +1 -1
- package/dist/tests/memory/toon-interface.test.js +177 -4
- package/dist/tests/memory/toon-interface.test.js.map +1 -1
- package/dist/tests/readme-installation.test.js +6 -0
- package/dist/tests/readme-installation.test.js.map +1 -1
- package/dist/tests/runtime/index-main.test.d.ts +2 -0
- package/dist/tests/runtime/index-main.test.d.ts.map +1 -0
- package/dist/tests/runtime/index-main.test.js +363 -0
- package/dist/tests/runtime/index-main.test.js.map +1 -0
- package/dist/tests/runtime/mcp-server-stdio.test.d.ts +2 -0
- package/dist/tests/runtime/mcp-server-stdio.test.d.ts.map +1 -0
- package/dist/tests/runtime/mcp-server-stdio.test.js +320 -0
- package/dist/tests/runtime/mcp-server-stdio.test.js.map +1 -0
- package/dist/tests/runtime/mcp-server.test.js +99 -2
- package/dist/tests/runtime/mcp-server.test.js.map +1 -1
- package/dist/tests/runtime/session-store-utils.test.js +75 -0
- package/dist/tests/runtime/session-store-utils.test.js.map +1 -1
- package/dist/tests/runtime/toon-architecture-contracts.test.js +5 -3
- package/dist/tests/runtime/toon-architecture-contracts.test.js.map +1 -1
- package/dist/tests/runtime/workspace-root.test.d.ts +2 -0
- package/dist/tests/runtime/workspace-root.test.d.ts.map +1 -0
- package/dist/tests/runtime/workspace-root.test.js +128 -0
- package/dist/tests/runtime/workspace-root.test.js.map +1 -0
- package/dist/tests/tools/session-tools.test.js +3 -3
- package/dist/tests/tools/session-tools.test.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +3 -11
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +3 -11
- package/dist/tools/session-tools.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,22 @@ and [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [0.17.0] - 2026-05-05
|
|
12
|
+
### Added
|
|
13
|
+
- implement workspace root anchoring for state storage and enhance ToonMemoryInterface
|
|
14
|
+
- **mcp**: implement startup onboarding memory handling and enhance tool result summarization
|
|
15
|
+
- **mcp**: allow workspace writes when uninitialized
|
|
16
|
+
|
|
17
|
+
### Documentation
|
|
18
|
+
- **mcp**: document local write behavior for .mcp-ai-agent-guidelines
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- **pr**: address PR #1467 review feedback
|
|
22
|
+
- **mcp**: make all state artifact writes atomic
|
|
23
|
+
- **mcp**: use atomic writes for memory artifacts and snapshots
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- **mcp**: improve workspace directory handling and cleanup in tests
|
|
11
27
|
## [0.16.0] - 2026-04-28
|
|
12
28
|
### Fixed
|
|
13
29
|
- update tool references and enhance memory tool tests for better context handling
|
package/README.md
CHANGED
|
@@ -116,12 +116,19 @@ Add the server to your MCP host config. The entry-point is `dist/index.js` and c
|
|
|
116
116
|
|
|
117
117
|
### Claude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json`)
|
|
118
118
|
|
|
119
|
+
> [!IMPORTANT]
|
|
120
|
+
> Claude Desktop spawns the server with a different working directory than your project.
|
|
121
|
+
> Set `MCP_WORKSPACE_ROOT` to the absolute path of the project you want the server to write state into.
|
|
122
|
+
|
|
119
123
|
```json
|
|
120
124
|
{
|
|
121
125
|
"mcpServers": {
|
|
122
126
|
"ai-agent-guidelines": {
|
|
123
127
|
"command": "npx",
|
|
124
|
-
"args": ["mcp-ai-agent-guidelines"]
|
|
128
|
+
"args": ["-y", "mcp-ai-agent-guidelines@latest"],
|
|
129
|
+
"env": {
|
|
130
|
+
"MCP_WORKSPACE_ROOT": "/absolute/path/to/your/project"
|
|
131
|
+
}
|
|
125
132
|
}
|
|
126
133
|
}
|
|
127
134
|
}
|
|
@@ -135,7 +142,10 @@ Add the server to your MCP host config. The entry-point is `dist/index.js` and c
|
|
|
135
142
|
"ai-agent-guidelines": {
|
|
136
143
|
"type": "stdio",
|
|
137
144
|
"command": "npx",
|
|
138
|
-
"args": ["mcp-ai-agent-guidelines"]
|
|
145
|
+
"args": ["-y", "mcp-ai-agent-guidelines@latest"],
|
|
146
|
+
"env": {
|
|
147
|
+
"MCP_WORKSPACE_ROOT": "${workspaceFolder}"
|
|
148
|
+
}
|
|
139
149
|
}
|
|
140
150
|
}
|
|
141
151
|
}
|
|
@@ -359,6 +369,7 @@ Published package note: the npm package ships `dist/`, `README.md`, and `LICENSE
|
|
|
359
369
|
| `DISABLE_ADAPTIVE_ROUTING` | unset / `"false"` | Set to `true` to hide `routing-adapt` and block `adapt-*` skills; enabled by default (opt-out model) |
|
|
360
370
|
| `ALLOW_INTENSIVE_SKILLS` | unset / `"false"` | Must be `true` to allow resource-intensive skills such as `bench-eval-suite`, `eval-prompt-bench`, `qm-path-integral-historian`, and `gr-spacetime-debt-metric` |
|
|
361
371
|
| `ENABLE_PHYSICS_SKILLS` | unset / `"false"` | Required by input validation when physics skills are not otherwise authorized; physics skills also require conventional-evidence schema validation |
|
|
372
|
+
| `MCP_WORKSPACE_ROOT` | unset | Absolute path to the project directory the server should write state into (`.mcp-ai-agent-guidelines/`). Required when using `npx` via Claude Desktop, Cursor, or Windsurf — these clients do not preserve the terminal's working directory. VS Code supports `${workspaceFolder}`. |
|
|
362
373
|
| `MCP_SLIM_MODE` | unset / `"false"` | Set to `true` to expose only the minimal surface: `task-bootstrap`, `meta-routing`, and `project-onboard` (useful for low-context agents) |
|
|
363
374
|
|
|
364
375
|
### Skill gates
|
package/dist/index.d.ts
CHANGED
|
@@ -197,6 +197,24 @@ export declare function createServer(sharedRuntime?: ServerRuntime): {
|
|
|
197
197
|
}>;
|
|
198
198
|
runtime: ServerRuntime;
|
|
199
199
|
};
|
|
200
|
+
/**
|
|
201
|
+
* Phase C: Anchor state storage to the MCP client's workspace root.
|
|
202
|
+
*
|
|
203
|
+
* When launched via `npx`, `process.cwd()` is typically the user's home
|
|
204
|
+
* directory (~) or the filesystem root. The MCP `roots/list` call returns the
|
|
205
|
+
* actual project directories the client has open, so we redirect all
|
|
206
|
+
* memory/session/snapshot writes there before bootstrap fires.
|
|
207
|
+
*
|
|
208
|
+
* Exported for testability — the function is side-effect-free with respect to
|
|
209
|
+
* the transport and can be exercised with a mocked Server instance.
|
|
210
|
+
*
|
|
211
|
+
* @returns The resolved workspace root path, or `undefined` if no roots were
|
|
212
|
+
* available (client doesn't expose roots capability, empty roots list,
|
|
213
|
+
* or any error during the roots query).
|
|
214
|
+
*/
|
|
215
|
+
export declare function anchorStateToClientRoots(server: Server, runtime: WorkflowExecutionRuntime, memoryInterface?: {
|
|
216
|
+
setBaseDir(dir: string): void;
|
|
217
|
+
}): Promise<string | undefined>;
|
|
200
218
|
export declare function main(): Promise<void>;
|
|
201
219
|
export declare function isDirectExecutionEntry(entryPath?: string, moduleUrl?: string): boolean;
|
|
202
220
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAgBnE,OAAO,KAAK,EAEX,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAoBvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AA2C3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAC9D;;oDAEgD;IAChD,YAAY,EAAE,iBAAiB,CAAC;IAChC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAC/B;AAwGD,wBAAgB,aAAa,IAAI,aAAa,CA2B7C;AAED,wBAAgB,qBAAqB,CAAC,aAAa,gBAAkB;;;;wBAmBzC;QACzB,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2D6B;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;;;;;;;;;;yBAY9B;QAC1B,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;KAC7D;;;;;;;;;;EAEF;AAED,wBAAgB,YAAY,CAAC,aAAa,gBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,EACjC,eAAe,GAAE;IAChB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACF,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgC7B;AAED,wBAAsB,IAAI,kBAuIzB;AAED,wBAAgB,sBAAsB,CACrC,SAAS,SAAkB,EAC3B,SAAS,SAAkB,WAW3B"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { realpathSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
3
4
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
4
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
5
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
7
|
import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
import { loadOrchestrationConfig, resetConfigCache, resolveOrchestrationConfigPath, } from "./config/orchestration-config.js";
|
|
7
9
|
import { toErrorMessage } from "./infrastructure/object-utilities.js";
|
|
8
10
|
import { packageMetadata } from "./infrastructure/package-metadata.js";
|
|
9
11
|
import { InstructionRegistry } from "./instructions/instruction-registry.js";
|
|
@@ -14,6 +16,7 @@ import { buildPublicResources, readPublicResource, } from "./resources/resource-
|
|
|
14
16
|
import { createIntegratedRuntime } from "./runtime/integration.js";
|
|
15
17
|
import { createSessionId, isValidSessionId, SecureFileSessionStore, } from "./runtime/secure-session-store.js";
|
|
16
18
|
import { SessionBootstrap } from "./runtime/session-bootstrap.js";
|
|
19
|
+
import { DEFAULT_SESSION_STATE_DIR, resolveWorkspaceRoot, } from "./runtime/session-store-utils.js";
|
|
17
20
|
import { SkillRegistry } from "./skills/skill-registry.js";
|
|
18
21
|
import { dispatchMemoryToolCall, MEMORY_TOOL_DEFINITIONS, resolveMemoryToolName, } from "./tools/memory-tools.js";
|
|
19
22
|
import { dispatchModelDiscoveryToolCall, MODEL_DISCOVERY_TOOL_DEFINITIONS, MODEL_DISCOVERY_TOOL_NAME, } from "./tools/model-discovery.js";
|
|
@@ -28,6 +31,7 @@ import { buildVisualizationToolSurface, dispatchVisualizationToolCall, } from ".
|
|
|
28
31
|
import { buildWorkspaceToolSurface, dispatchWorkspaceToolCall, resolveWorkspaceToolName, } from "./tools/workspace-tools.js";
|
|
29
32
|
import { createErrorContext, ValidationService } from "./validation/index.js";
|
|
30
33
|
import { WorkflowEngine } from "./workflows/workflow-engine.js";
|
|
34
|
+
const STARTUP_ONBOARDING_MEMORY_ID = "system-bootstrap-onboarding";
|
|
31
35
|
function getValidationService() {
|
|
32
36
|
try {
|
|
33
37
|
return ValidationService.getInstance();
|
|
@@ -54,6 +58,53 @@ function formatAuxToolError(toolName, runtime, error) {
|
|
|
54
58
|
],
|
|
55
59
|
};
|
|
56
60
|
}
|
|
61
|
+
function summarizeToolResult(result) {
|
|
62
|
+
return result.content
|
|
63
|
+
.map((item) => ("text" in item ? item.text : ""))
|
|
64
|
+
.filter((text) => text.length > 0)
|
|
65
|
+
.join(" ")
|
|
66
|
+
.trim();
|
|
67
|
+
}
|
|
68
|
+
async function runStartupToolCall(label, operation) {
|
|
69
|
+
try {
|
|
70
|
+
const result = await operation();
|
|
71
|
+
if (!result.isError) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const detail = summarizeToolResult(result);
|
|
75
|
+
process.stderr.write(`[warn] Startup ${label} failed${detail ? `: ${detail}` : ""}\n`);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
process.stderr.write(`[warn] Startup ${label} failed: ${toErrorMessage(error)}\n`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async function ensureStartupOnboardingMemory(runtime) {
|
|
82
|
+
const existingArtifact = await sharedToonMemoryInterface.loadMemoryArtifact(STARTUP_ONBOARDING_MEMORY_ID);
|
|
83
|
+
if (existingArtifact) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const now = new Date().toISOString();
|
|
87
|
+
await sharedToonMemoryInterface.saveMemoryArtifact({
|
|
88
|
+
meta: {
|
|
89
|
+
id: STARTUP_ONBOARDING_MEMORY_ID,
|
|
90
|
+
created: now,
|
|
91
|
+
updated: now,
|
|
92
|
+
tags: ["bootstrap", "onboarding", "system"],
|
|
93
|
+
relevance: 0.2,
|
|
94
|
+
},
|
|
95
|
+
content: {
|
|
96
|
+
summary: "Workspace bootstrap initialized",
|
|
97
|
+
details: "This onboarding artifact is created automatically on first startup. It records that local TOON state is active before interactive onboarding and that snapshots, sessions, and memory can persist under .mcp-ai-agent-guidelines.",
|
|
98
|
+
context: `Workspace root: ${runtime.workspaceRoot}`,
|
|
99
|
+
actionable: false,
|
|
100
|
+
},
|
|
101
|
+
links: {
|
|
102
|
+
relatedSessions: [],
|
|
103
|
+
relatedMemories: [],
|
|
104
|
+
sources: ["startup-bootstrap"],
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
}
|
|
57
108
|
export function createRuntime() {
|
|
58
109
|
const instructionRegistry = new InstructionRegistry();
|
|
59
110
|
const skillRegistry = new SkillRegistry();
|
|
@@ -65,7 +116,7 @@ export function createRuntime() {
|
|
|
65
116
|
});
|
|
66
117
|
return {
|
|
67
118
|
sessionId: createSessionId(),
|
|
68
|
-
workspaceRoot:
|
|
119
|
+
workspaceRoot: resolveWorkspaceRoot(),
|
|
69
120
|
executionState: {
|
|
70
121
|
instructionStack: [],
|
|
71
122
|
progressRecords: [],
|
|
@@ -193,6 +244,51 @@ export function createServer(sharedRuntime = createRuntime()) {
|
|
|
193
244
|
server.setRequestHandler(GetPromptRequestSchema, handlers.getPrompt);
|
|
194
245
|
return { server, runtime: sharedRuntime };
|
|
195
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Phase C: Anchor state storage to the MCP client's workspace root.
|
|
249
|
+
*
|
|
250
|
+
* When launched via `npx`, `process.cwd()` is typically the user's home
|
|
251
|
+
* directory (~) or the filesystem root. The MCP `roots/list` call returns the
|
|
252
|
+
* actual project directories the client has open, so we redirect all
|
|
253
|
+
* memory/session/snapshot writes there before bootstrap fires.
|
|
254
|
+
*
|
|
255
|
+
* Exported for testability — the function is side-effect-free with respect to
|
|
256
|
+
* the transport and can be exercised with a mocked Server instance.
|
|
257
|
+
*
|
|
258
|
+
* @returns The resolved workspace root path, or `undefined` if no roots were
|
|
259
|
+
* available (client doesn't expose roots capability, empty roots list,
|
|
260
|
+
* or any error during the roots query).
|
|
261
|
+
*/
|
|
262
|
+
export async function anchorStateToClientRoots(server, runtime, memoryInterface = sharedToonMemoryInterface) {
|
|
263
|
+
try {
|
|
264
|
+
const clientCaps = server.getClientCapabilities();
|
|
265
|
+
if (!clientCaps?.roots) {
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
const { roots } = await server.listRoots();
|
|
269
|
+
if (roots.length === 0) {
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
const firstRootUri = roots[0].uri;
|
|
273
|
+
const firstRoot = firstRootUri.startsWith("file://")
|
|
274
|
+
? fileURLToPath(firstRootUri)
|
|
275
|
+
: firstRootUri;
|
|
276
|
+
const stateDir = join(firstRoot, DEFAULT_SESSION_STATE_DIR);
|
|
277
|
+
memoryInterface.setBaseDir(stateDir);
|
|
278
|
+
runtime.workspaceRoot = firstRoot;
|
|
279
|
+
// Reset the orchestration config cache so it reloads from the correct
|
|
280
|
+
// project path (it may have cached a stale home-dir path during
|
|
281
|
+
// modelRouter.initialize() before roots were known).
|
|
282
|
+
resetConfigCache();
|
|
283
|
+
loadOrchestrationConfig(resolveOrchestrationConfigPath(firstRoot));
|
|
284
|
+
process.stderr.write(`[info] Workspace root resolved from client roots: ${firstRoot}\n`);
|
|
285
|
+
return firstRoot;
|
|
286
|
+
}
|
|
287
|
+
catch (err) {
|
|
288
|
+
process.stderr.write(`[warn] Could not resolve workspace root from client roots: ${toErrorMessage(err)}\n`);
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
196
292
|
export async function main() {
|
|
197
293
|
const { server, runtime } = createServer();
|
|
198
294
|
ValidationService.initialize();
|
|
@@ -217,17 +313,35 @@ export async function main() {
|
|
|
217
313
|
});
|
|
218
314
|
const transport = new StdioServerTransport();
|
|
219
315
|
await server.connect(transport);
|
|
316
|
+
// Phase C: Anchor state storage to the MCP client's workspace root.
|
|
317
|
+
await anchorStateToClientRoots(server, runtime);
|
|
220
318
|
void (async () => {
|
|
221
319
|
await Promise.all([
|
|
222
|
-
dispatchSnapshotToolCall("agent-snapshot-write", {})
|
|
223
|
-
dispatchSessionToolCall("agent-session-fetch", {}, runtime)
|
|
224
|
-
dispatchSessionToolCall("agent-session-write", {
|
|
320
|
+
runStartupToolCall("snapshot bootstrap", () => dispatchSnapshotToolCall("agent-snapshot-write", {})),
|
|
321
|
+
runStartupToolCall("session listing bootstrap", () => dispatchSessionToolCall("agent-session-fetch", {}, runtime)),
|
|
322
|
+
runStartupToolCall("session scan-results bootstrap", () => dispatchSessionToolCall("agent-session-write", {
|
|
225
323
|
target: "scan-results",
|
|
226
324
|
data: {
|
|
227
325
|
scannedAt: new Date().toISOString(),
|
|
228
326
|
sessionId: runtime.sessionId,
|
|
229
327
|
},
|
|
230
|
-
}, runtime)
|
|
328
|
+
}, runtime)),
|
|
329
|
+
runStartupToolCall("session context bootstrap", () => dispatchSessionToolCall("agent-session-write", {
|
|
330
|
+
target: "session-context",
|
|
331
|
+
data: {
|
|
332
|
+
context: {
|
|
333
|
+
requestScope: "Startup bootstrap",
|
|
334
|
+
constraints: ["Pre-onboarding local state"],
|
|
335
|
+
phase: "bootstrap",
|
|
336
|
+
},
|
|
337
|
+
progress: {
|
|
338
|
+
next: ["Run onboarding or continue with MCP tools"],
|
|
339
|
+
},
|
|
340
|
+
},
|
|
341
|
+
}, runtime)),
|
|
342
|
+
ensureStartupOnboardingMemory(runtime).catch((error) => {
|
|
343
|
+
process.stderr.write(`[warn] Startup onboarding memory bootstrap failed: ${toErrorMessage(error)}\n`);
|
|
344
|
+
}),
|
|
231
345
|
]);
|
|
232
346
|
resolveContextReady();
|
|
233
347
|
// Emit a codebase-specific orientation message after context is ready so
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,12 @@ export declare class ToonMemoryInterface {
|
|
|
74
74
|
private instructionNameSource?;
|
|
75
75
|
/** Resolves once the workspace-root–aware base directory has been determined. */
|
|
76
76
|
private baseDirReadyPromise;
|
|
77
|
+
/**
|
|
78
|
+
* Incremented each time the base directory is overridden so that any
|
|
79
|
+
* in-flight async resolution callbacks can detect they are stale and skip
|
|
80
|
+
* the update.
|
|
81
|
+
*/
|
|
82
|
+
private baseDirGeneration;
|
|
77
83
|
/**
|
|
78
84
|
* Wire live registry data into the scanner so skillIds / instructionNames
|
|
79
85
|
* are populated even when .github/ skill/instruction source files have been
|
|
@@ -81,6 +87,18 @@ export declare class ToonMemoryInterface {
|
|
|
81
87
|
* Call this from main() after the runtime is fully initialised.
|
|
82
88
|
*/
|
|
83
89
|
setRegistrySources(skillIdSource: () => string[], instructionNameSource: () => string[]): void;
|
|
90
|
+
/**
|
|
91
|
+
* Override the base storage directory after construction.
|
|
92
|
+
*
|
|
93
|
+
* Call this once the MCP transport has connected and the client's workspace
|
|
94
|
+
* roots are known (e.g. via `server.listRoots()`). This redirects all
|
|
95
|
+
* state writes — memory, sessions, snapshots — to the correct project
|
|
96
|
+
* directory instead of the `npx` launch directory (typically `~`).
|
|
97
|
+
*
|
|
98
|
+
* The pending async resolution promise is cancelled so it can never
|
|
99
|
+
* overwrite the explicitly-provided directory.
|
|
100
|
+
*/
|
|
101
|
+
setBaseDir(newBaseDir: string): void;
|
|
84
102
|
constructor(customDir?: string, options?: {
|
|
85
103
|
enableEncryption?: boolean;
|
|
86
104
|
encryptionKey?: string;
|
|
@@ -122,6 +140,7 @@ export declare class ToonMemoryInterface {
|
|
|
122
140
|
private ensureSnapshotHistoryInitialized;
|
|
123
141
|
private persistFingerprintSnapshot;
|
|
124
142
|
listFingerprintSnapshots(): Promise<FingerprintSnapshotIndexEntry[]>;
|
|
143
|
+
private awaitBaseDirReady;
|
|
125
144
|
private ensureSessionDir;
|
|
126
145
|
/** Save an explicit workspace map artifact for the current session. */
|
|
127
146
|
saveWorkspaceMap(sessionId: string, map: PersistedWorkspaceMap | Record<string, PersistedWorkspaceModuleEntry>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toon-interface.d.ts","sourceRoot":"","sources":["../../src/memory/toon-interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"toon-interface.d.ts","sourceRoot":"","sources":["../../src/memory/toon-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* TOON (Token-Oriented Object Notation) memory interface for session storage.
|
|
3
3
|
*/
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
|
-
import { access, mkdir, readdir, readFile
|
|
5
|
+
import { access, mkdir, readdir, readFile } from "node:fs/promises";
|
|
6
6
|
import { isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
7
7
|
import { decode as toonDecode, encode as toonEncode } from "@toon-format/toon";
|
|
8
8
|
import { assertValidSessionId, isValidSessionId, } from "../runtime/secure-session-store.js";
|
|
@@ -25,6 +25,12 @@ export class ToonMemoryInterface {
|
|
|
25
25
|
instructionNameSource;
|
|
26
26
|
/** Resolves once the workspace-root–aware base directory has been determined. */
|
|
27
27
|
baseDirReadyPromise;
|
|
28
|
+
/**
|
|
29
|
+
* Incremented each time the base directory is overridden so that any
|
|
30
|
+
* in-flight async resolution callbacks can detect they are stale and skip
|
|
31
|
+
* the update.
|
|
32
|
+
*/
|
|
33
|
+
baseDirGeneration = 0;
|
|
28
34
|
/**
|
|
29
35
|
* Wire live registry data into the scanner so skillIds / instructionNames
|
|
30
36
|
* are populated even when .github/ skill/instruction source files have been
|
|
@@ -35,6 +41,27 @@ export class ToonMemoryInterface {
|
|
|
35
41
|
this.skillIdSource = skillIdSource;
|
|
36
42
|
this.instructionNameSource = instructionNameSource;
|
|
37
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Override the base storage directory after construction.
|
|
46
|
+
*
|
|
47
|
+
* Call this once the MCP transport has connected and the client's workspace
|
|
48
|
+
* roots are known (e.g. via `server.listRoots()`). This redirects all
|
|
49
|
+
* state writes — memory, sessions, snapshots — to the correct project
|
|
50
|
+
* directory instead of the `npx` launch directory (typically `~`).
|
|
51
|
+
*
|
|
52
|
+
* The pending async resolution promise is cancelled so it can never
|
|
53
|
+
* overwrite the explicitly-provided directory.
|
|
54
|
+
*/
|
|
55
|
+
setBaseDir(newBaseDir) {
|
|
56
|
+
if (newBaseDir === this.baseDir)
|
|
57
|
+
return;
|
|
58
|
+
this.baseDirGeneration++;
|
|
59
|
+
this.baseDir = newBaseDir;
|
|
60
|
+
this.sessionDir = join(newBaseDir, "sessions");
|
|
61
|
+
this.memoryDir = join(newBaseDir, "memory");
|
|
62
|
+
// Cancel any in-flight async resolution — the explicit root wins.
|
|
63
|
+
this.baseDirReadyPromise = undefined;
|
|
64
|
+
}
|
|
38
65
|
constructor(customDir, options = {}) {
|
|
39
66
|
// Sync best-effort resolution — will be refined by resolveBaseDir() on
|
|
40
67
|
// first async operation if no explicit dir was provided.
|
|
@@ -48,8 +75,10 @@ export class ToonMemoryInterface {
|
|
|
48
75
|
// If no explicit dir was provided, kick off async workspace-root detection
|
|
49
76
|
// immediately so it is ready before any IO call.
|
|
50
77
|
if (!customDir && !process.env["MCP_AI_AGENT_GUIDELINES_STATE_DIR"]) {
|
|
78
|
+
const generation = ++this.baseDirGeneration;
|
|
51
79
|
this.baseDirReadyPromise = resolveSessionStateDirAsync().then((resolvedDir) => {
|
|
52
|
-
if (
|
|
80
|
+
if (this.baseDirGeneration === generation &&
|
|
81
|
+
resolvedDir !== this.baseDir) {
|
|
53
82
|
this.baseDir = resolvedDir;
|
|
54
83
|
this.sessionDir = join(resolvedDir, "sessions");
|
|
55
84
|
this.memoryDir = join(resolvedDir, "memory");
|
|
@@ -125,12 +154,7 @@ export class ToonMemoryInterface {
|
|
|
125
154
|
return await this.encryptionKeyPromise;
|
|
126
155
|
}
|
|
127
156
|
async ensureDirectories() {
|
|
128
|
-
|
|
129
|
-
// correct baseDir (workspace vs. $HOME) is used for all paths.
|
|
130
|
-
if (this.baseDirReadyPromise) {
|
|
131
|
-
await this.baseDirReadyPromise;
|
|
132
|
-
this.baseDirReadyPromise = undefined;
|
|
133
|
-
}
|
|
157
|
+
await this.awaitBaseDirReady();
|
|
134
158
|
await ensureSessionStateGitignore(this.baseDir);
|
|
135
159
|
await mkdir(this.memoryDir, { recursive: true });
|
|
136
160
|
await mkdir(this.snapshotDir(), { recursive: true });
|
|
@@ -166,10 +190,7 @@ export class ToonMemoryInterface {
|
|
|
166
190
|
* write-path tool guards.
|
|
167
191
|
*/
|
|
168
192
|
async isWorkspaceInitialized() {
|
|
169
|
-
|
|
170
|
-
await this.baseDirReadyPromise;
|
|
171
|
-
this.baseDirReadyPromise = undefined;
|
|
172
|
-
}
|
|
193
|
+
await this.awaitBaseDirReady();
|
|
173
194
|
const configPath = join(this.configDir(), "orchestration.toml");
|
|
174
195
|
try {
|
|
175
196
|
await access(configPath);
|
|
@@ -230,7 +251,7 @@ export class ToonMemoryInterface {
|
|
|
230
251
|
}
|
|
231
252
|
}
|
|
232
253
|
async saveFingerprintSnapshotHistory(history) {
|
|
233
|
-
await
|
|
254
|
+
await writeTextFileAtomic(this.snapshotHistoryPath(), JSON.stringify(history, null, 2));
|
|
234
255
|
}
|
|
235
256
|
async ensureSnapshotHistoryInitialized() {
|
|
236
257
|
const history = await this.loadFingerprintSnapshotHistory();
|
|
@@ -247,8 +268,8 @@ export class ToonMemoryInterface {
|
|
|
247
268
|
return history;
|
|
248
269
|
}
|
|
249
270
|
const fileName = `fingerprint-${snapshotId}.json`;
|
|
250
|
-
await
|
|
251
|
-
await
|
|
271
|
+
await writeTextFileAtomic(this.snapshotArchivePath(snapshotId), JSON.stringify(migratedSnapshot, null, 2));
|
|
272
|
+
await writeTextFileAtomic(this.snapshotLatestPath(), JSON.stringify(migratedSnapshot, null, 2));
|
|
252
273
|
const migratedHistory = {
|
|
253
274
|
version: "1",
|
|
254
275
|
latestSnapshotId: snapshotId,
|
|
@@ -271,8 +292,8 @@ export class ToonMemoryInterface {
|
|
|
271
292
|
}
|
|
272
293
|
const normalizedSnapshot = this.normalizeFingerprintSnapshot(snapshot);
|
|
273
294
|
const fileName = `fingerprint-${snapshotId}.json`;
|
|
274
|
-
await
|
|
275
|
-
await
|
|
295
|
+
await writeTextFileAtomic(this.snapshotArchivePath(snapshotId), JSON.stringify(normalizedSnapshot, null, 2));
|
|
296
|
+
await writeTextFileAtomic(this.snapshotLatestPath(), JSON.stringify(normalizedSnapshot, null, 2));
|
|
276
297
|
const existingHistory = await this.ensureSnapshotHistoryInitialized();
|
|
277
298
|
const filteredSnapshots = existingHistory.snapshots.filter((entry) => entry.snapshotId !== snapshotId);
|
|
278
299
|
const updatedHistory = {
|
|
@@ -302,7 +323,17 @@ export class ToonMemoryInterface {
|
|
|
302
323
|
await this.ensureDirectories();
|
|
303
324
|
return (await this.ensureSnapshotHistoryInitialized()).snapshots;
|
|
304
325
|
}
|
|
326
|
+
async awaitBaseDirReady() {
|
|
327
|
+
if (this.baseDirReadyPromise) {
|
|
328
|
+
await this.baseDirReadyPromise;
|
|
329
|
+
this.baseDirReadyPromise = undefined;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
305
332
|
async ensureSessionDir(sessionId) {
|
|
333
|
+
// Session writes need the same workspace-root correction as snapshot and
|
|
334
|
+
// memory writes, otherwise an npx-launched server can leak state into the
|
|
335
|
+
// launch directory before MCP_WORKSPACE_ROOT takes effect.
|
|
336
|
+
await this.awaitBaseDirReady();
|
|
306
337
|
await ensureSessionStateGitignore(this.baseDir);
|
|
307
338
|
await mkdir(this.sessionSubDir(sessionId), { recursive: true });
|
|
308
339
|
await mkdir(this.memoryDir, { recursive: true });
|
|
@@ -316,12 +347,12 @@ export class ToonMemoryInterface {
|
|
|
316
347
|
modules: map,
|
|
317
348
|
};
|
|
318
349
|
await this.ensureSessionDir(sessionId);
|
|
319
|
-
await
|
|
350
|
+
await writeTextFileAtomic(this.workspaceMapPath(sessionId), JSON.stringify(workspaceMap, null, 2));
|
|
320
351
|
}
|
|
321
352
|
/** Save per-session scan results (code scanning / AST outputs). */
|
|
322
353
|
async saveScanResults(sessionId, results) {
|
|
323
354
|
await this.ensureSessionDir(sessionId);
|
|
324
|
-
await
|
|
355
|
+
await writeTextFileAtomic(this.scanResultsPath(sessionId), JSON.stringify(results, null, 2));
|
|
325
356
|
}
|
|
326
357
|
async listSessionIds() {
|
|
327
358
|
await this.ensureDirectories();
|
|
@@ -449,7 +480,7 @@ export class ToonMemoryInterface {
|
|
|
449
480
|
await this.ensureDirectories();
|
|
450
481
|
const now = new Date().toISOString();
|
|
451
482
|
const enhancedArtifact = enhanceMemoryArtifact(artifact, now);
|
|
452
|
-
await
|
|
483
|
+
await writeTextFileAtomic(this.memoryArtifactPath(enhancedArtifact.meta.id), toonEncode(enhancedArtifact, { delimiter: "\t", keyFolding: "safe" }));
|
|
453
484
|
}
|
|
454
485
|
async loadMemoryArtifact(memoryId) {
|
|
455
486
|
try {
|