neoctl 0.2.37 → 0.2.38

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.
Files changed (93) hide show
  1. package/dist/agents/agent-definition.d.ts +2 -0
  2. package/dist/agents/agent-definition.js +10 -0
  3. package/dist/agents/agent-definition.js.map +1 -1
  4. package/dist/agents/agent-tool.js +4 -0
  5. package/dist/agents/agent-tool.js.map +1 -1
  6. package/dist/agents/coordination-boundary.test.d.ts +1 -0
  7. package/dist/agents/coordination-boundary.test.js +58 -0
  8. package/dist/agents/coordination-boundary.test.js.map +1 -0
  9. package/dist/context/context-manager.d.ts +4 -0
  10. package/dist/context/context-manager.js +4 -1
  11. package/dist/context/context-manager.js.map +1 -1
  12. package/dist/context/prompt-config.d.ts +35 -0
  13. package/dist/context/prompt-config.js +151 -0
  14. package/dist/context/prompt-config.js.map +1 -0
  15. package/dist/context/prompt-config.test.d.ts +1 -0
  16. package/dist/context/prompt-config.test.js +124 -0
  17. package/dist/context/prompt-config.test.js.map +1 -0
  18. package/dist/context/prompts.d.ts +1 -1
  19. package/dist/context/prompts.js +4 -27
  20. package/dist/context/prompts.js.map +1 -1
  21. package/dist/context/smoke-context.js +3 -1
  22. package/dist/context/smoke-context.js.map +1 -1
  23. package/dist/context/system.md +16 -0
  24. package/dist/core/query-engine.d.ts +27 -1
  25. package/dist/core/query-engine.js +301 -109
  26. package/dist/core/query-engine.js.map +1 -1
  27. package/dist/core/query-session-settings.test.d.ts +1 -0
  28. package/dist/core/query-session-settings.test.js +252 -0
  29. package/dist/core/query-session-settings.test.js.map +1 -0
  30. package/dist/core/query.d.ts +16 -0
  31. package/dist/core/query.js +30 -0
  32. package/dist/core/query.js.map +1 -1
  33. package/dist/core/run-agent.js +3 -5
  34. package/dist/core/run-agent.js.map +1 -1
  35. package/dist/core/session-settings-prompt.d.ts +35 -0
  36. package/dist/core/session-settings-prompt.js +61 -0
  37. package/dist/core/session-settings-prompt.js.map +1 -0
  38. package/dist/core/session-settings-prompt.test.d.ts +1 -0
  39. package/dist/core/session-settings-prompt.test.js +257 -0
  40. package/dist/core/session-settings-prompt.test.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/model/model-metadata.json +1 -3
  45. package/dist/model/openai-responses-instructions.test.d.ts +1 -0
  46. package/dist/model/openai-responses-instructions.test.js +64 -0
  47. package/dist/model/openai-responses-instructions.test.js.map +1 -0
  48. package/dist/model/openai-responses-mapper.js +5 -16
  49. package/dist/model/openai-responses-mapper.js.map +1 -1
  50. package/dist/model/smoke-responses-mapper.js +8 -5
  51. package/dist/model/smoke-responses-mapper.js.map +1 -1
  52. package/dist/session/session-export.d.ts +6 -0
  53. package/dist/session/session-export.js.map +1 -1
  54. package/dist/session/session-store.d.ts +11 -0
  55. package/dist/session/session-store.js +25 -0
  56. package/dist/session/session-store.js.map +1 -1
  57. package/dist/tools/builtins/exec-process-manager.js +4 -1
  58. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  59. package/dist/tools/terminal-background-history.test.d.ts +1 -0
  60. package/dist/tools/terminal-background-history.test.js +77 -0
  61. package/dist/tools/terminal-background-history.test.js.map +1 -0
  62. package/dist/tools/terminal-output-store.d.ts +4 -0
  63. package/dist/tools/terminal-output-store.js +18 -0
  64. package/dist/tools/terminal-output-store.js.map +1 -1
  65. package/dist/web/index.d.ts +22 -1
  66. package/dist/web/index.js +122 -12
  67. package/dist/web/index.js.map +1 -1
  68. package/dist/web/prompt-config-protocol.d.ts +4 -0
  69. package/dist/web/prompt-config-protocol.js +57 -0
  70. package/dist/web/prompt-config-protocol.js.map +1 -0
  71. package/dist/web/prompt-config-protocol.test.d.ts +1 -0
  72. package/dist/web/prompt-config-protocol.test.js +78 -0
  73. package/dist/web/prompt-config-protocol.test.js.map +1 -0
  74. package/dist/web/runtime-context-protocol.d.ts +1 -0
  75. package/dist/web/runtime-context-protocol.js +1 -0
  76. package/dist/web/runtime-context-protocol.js.map +1 -1
  77. package/dist/web/session-prompt-integration.test.d.ts +1 -0
  78. package/dist/web/session-prompt-integration.test.js +57 -0
  79. package/dist/web/session-prompt-integration.test.js.map +1 -0
  80. package/dist/web/session-prompt-protocol.d.ts +8 -0
  81. package/dist/web/session-prompt-protocol.js +11 -0
  82. package/dist/web/session-prompt-protocol.js.map +1 -0
  83. package/dist/web/session-settings.test.d.ts +1 -0
  84. package/dist/web/session-settings.test.js +254 -0
  85. package/dist/web/session-settings.test.js.map +1 -0
  86. package/dist/web/smoke-terminal-output-http.js +10 -5
  87. package/dist/web/smoke-terminal-output-http.js.map +1 -1
  88. package/dist/web/smoke-web-terminal-tasks.js +100 -3
  89. package/dist/web/smoke-web-terminal-tasks.js.map +1 -1
  90. package/docs/prompt-config.md +71 -0
  91. package/package.json +4 -3
  92. package/scripts/build-standalone.mjs +3 -0
  93. package/scripts/copy-prompt-resources.mjs +5 -0
@@ -182,7 +182,7 @@ try {
182
182
  equal(terminal.record.exit?.terminationReason, 'failed', 'HTTP failed reason');
183
183
  phases.push('real-process-multiline-dual-stream-drain-nonzero');
184
184
  // Same run identity in a second owner is intentionally created via the independent store fixture.
185
- value(store.start('B', dirs.get('B'), run, { startedAt: clock, command: 'B identity fixture' }), 'B same-run start');
185
+ value(store.start('B', dirs.get('B'), run, { startedAt: clock, command: 'B identity fixture', backgrounded: true }), 'B same-run start');
186
186
  value(store.append('B', run, redactedTerminalChunk('stdout', 0, 'B_ONLY\n')), 'B same-run append');
187
187
  value(store.finalize('B', run, { status: 'exited', finishedAt: clock, exitCode: 0, signal: null, terminationReason: 'completed', durationMs: 0 }), 'B same-run finish');
188
188
  equal((await page('B', run)).text, 'B_ONLY\n', 'same run B resolves only B bytes');
@@ -236,7 +236,12 @@ try {
236
236
  equal(snapshot.backgroundTasks.map(task => task.sessionId), [owner === 'A' ? stopRun : bLive], 'active task identity isolated');
237
237
  check(snapshot.backgroundTasks.every(task => task.ownerSessionId === owner), 'active owner identity');
238
238
  check(snapshot.terminalTaskHistory.every(task => task.ownerSessionId === owner), 'history owner identity');
239
- equal(snapshot.terminalTaskHistory.find(task => task.sessionId === run)?.exitCode, owner === 'A' ? 7 : 0, 'same-run history resolves owner-specific exit facts');
239
+ if (owner === 'A') {
240
+ check(!snapshot.terminalTaskHistory.some(task => task.sessionId === run || task.sessionId === bigRun), 'foreground runs remain absent from background history');
241
+ }
242
+ else {
243
+ equal(snapshot.terminalTaskHistory.find(task => task.sessionId === run)?.exitCode, 0, 'same-run explicit background fixture retains B exit facts');
244
+ }
240
245
  check(snapshot.terminalTaskHistory.every(task => !('output' in task)), 'history does not embed terminal output');
241
246
  check(snapshot.backgroundTasks.every(task => !('output' in task)), 'snapshot does not embed terminal output');
242
247
  equal(snapshot.lines, [], 'terminal reads did not create transcript lines');
@@ -326,7 +331,8 @@ try {
326
331
  equal(recoveredB.backgroundTaskCount, 0, 'lost residual not active after refresh');
327
332
  equal(recoveredB.terminalTaskHistory.find(task => task.sessionId === bLive)?.status, 'lost', 'HTTP history exposes lost');
328
333
  const recoveredA = await state('A');
329
- equal(recoveredA.terminalTaskHistory.find(task => task.sessionId === run)?.exitCode, 7, 'refresh history retains nonzero exit');
334
+ check(!recoveredA.terminalTaskHistory.some(task => task.sessionId === run || task.sessionId === bigRun), 'refresh does not promote foreground runs into background history');
335
+ equal(recoveredA.terminalTaskHistory.find(task => task.sessionId === stopRun)?.status, 'killed', 'refresh retains explicitly backgrounded terminal history');
330
336
  phases.push('fresh-manager-store-server-runtime-recovery-real-running-lost');
331
337
  const expiresAt = terminal.record.expiresAt;
332
338
  check(expiresAt !== null, 'finished output has retention deadline');
@@ -341,8 +347,7 @@ try {
341
347
  equal(expired.record.lifecycle, 'terminal', 'expiration never changes process lifecycle');
342
348
  equal((await page('A', run, { stream: 'stderr' })).text, null, 'both streams expire');
343
349
  const expiredHistory = (await state('A')).terminalTaskHistory.find(task => task.sessionId === run);
344
- equal(expiredHistory?.exitCode, 7, 'expired history retains exit');
345
- equal(expiredHistory?.outputAvailability, 'expired', 'expired history availability');
350
+ equal(expiredHistory, undefined, 'foreground history stays absent after output expiry');
346
351
  // Another full refresh proves TTL does not get renewed and facts stay durable.
347
352
  await closeServer();
348
353
  store = createStore();
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-terminal-output-http.js","sourceRoot":"","sources":["../../src/web/smoke-terminal-output-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-terminal-output-http.js","sourceRoot":"","sources":["../../src/web/smoke-terminal-output-http.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import os from "node:os";
4
4
  import path from "node:path";
5
5
  import { ExecProcessManager } from "../tools/builtins/exec-process-manager.js";
6
6
  import { WebRepl } from "./index.js";
7
+ import { TerminalOutputStore } from "../tools/terminal-output-store.js";
7
8
  const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
8
9
  async function until(predicate) {
9
10
  const deadline = Date.now() + 5_000;
@@ -17,7 +18,8 @@ async function main() {
17
18
  const ownerA = "web-smoke", ownerB = "other-owner";
18
19
  const directories = { [ownerA]: path.join(root, ownerA), [ownerB]: path.join(root, ownerB) };
19
20
  Object.values(directories).forEach((dir) => fs.mkdirSync(dir));
20
- const manager = new ExecProcessManager({ sessionsRoot: root, completedRetentionMs: 2_000 });
21
+ const store = new TerminalOutputStore({ sessionsRoot: root });
22
+ const manager = new ExecProcessManager({ outputStore: store, completedRetentionMs: 2_000 });
21
23
  let currentOwner = ownerA;
22
24
  const runtime = {
23
25
  execProcessManager: manager,
@@ -105,10 +107,13 @@ async function main() {
105
107
  currentOwner = ownerA;
106
108
  assert.deepEqual(snapshot().terminalTaskHistory, []);
107
109
  const killedA = await manager.interact(a.session_id, { ownerId: ownerA, signal: "kill", yieldTimeMs: 3_000 });
108
- await manager.interact(foregroundId, { ownerId: ownerA, signal: "kill", yieldTimeMs: 3_000 });
110
+ const killedForeground = await manager.interact(foregroundId, { ownerId: ownerA, signal: "kill", yieldTimeMs: 3_000 });
111
+ assert.equal(killedForeground.status, "killed");
109
112
  const ended = snapshot();
110
113
  assert.equal(ended.backgroundTasks.length, 0);
111
- assert.equal(ended.terminalTaskHistory.length, 2);
114
+ assert.deepEqual(ended.terminalTaskHistory.map((t) => t.sessionId), [a.session_id]);
115
+ assert.equal(repl.terminalOutput(ownerA, foregroundId, "stdout", 0, 65536)?.record.metadata.backgrounded, false);
116
+ checks.foregroundKilledNeverEntersHistory = true;
112
117
  assert.ok(ended.terminalTaskHistory.every((t) => t.ownerSessionId === ownerA && t.sessionId !== b.session_id));
113
118
  const terminal = ended.terminalTaskHistory.find((t) => t.sessionId === a.session_id);
114
119
  assert.equal(terminal.status, killedA.status);
@@ -119,6 +124,94 @@ async function main() {
119
124
  assert.ok(!("output" in terminal));
120
125
  assert.ok(repl.terminalOutput(ownerA, a.session_id, "stdout", 0, 65536)?.text?.includes("owner-A-output"));
121
126
  checks.terminalMovesToOwnerHistoryWithExactFactsAndReadableOutput = true;
127
+ assert.equal(page.record.metadata.backgrounded, true, "yield=0 persists an explicit background transition");
128
+ checks.immediateYieldPersistsBackground = true;
129
+ const foregroundRuns = [foregroundId];
130
+ const cases = [
131
+ { name: "completed", script: "process.stdout.write('foreground-completed\\n');", status: "exited", reason: "completed", exitCode: 0 },
132
+ { name: "nonzero", script: "process.stdout.write('foreground-failed\\n');process.exitCode=7;", status: "exited", reason: "failed", exitCode: 7 },
133
+ { name: "spawn-error", script: "", status: "failed", reason: "spawn_error", exitCode: null },
134
+ { name: "timeout", script: "setInterval(()=>{},1000);", status: "timed_out", reason: "timeout" },
135
+ ];
136
+ for (const test of cases) {
137
+ const options = scriptOptions(ownerA, directories[ownerA], test.script);
138
+ if (test.name === "spawn-error")
139
+ options.shell.file = path.join(root, "missing-executable");
140
+ if (test.name === "timeout")
141
+ options.timeoutMs = 100;
142
+ const result = await manager.execute(options, 5_000);
143
+ foregroundRuns.push(result.session_id);
144
+ assert.equal(result.status, test.status, test.name);
145
+ assert.equal(result.termination_reason, test.reason, test.name);
146
+ if ("exitCode" in test)
147
+ assert.equal(result.exit_code, test.exitCode, test.name);
148
+ const output = repl.terminalOutput(ownerA, result.session_id, "stdout", 0, 65536);
149
+ assert.ok(output, "foreground output remains independently readable");
150
+ assert.equal(output.record.metadata.backgrounded, false, test.name);
151
+ assert.equal(output.record.exit?.status, result.status, test.name);
152
+ assert.equal(snapshot().backgroundTaskCount, 0, test.name);
153
+ assert.deepEqual(snapshot().terminalTaskHistory.map((t) => t.sessionId), [a.session_id], test.name);
154
+ }
155
+ checks.foregroundCompletedFailedSpawnErrorAndTimeoutNeverEnterHistory = true;
156
+ // Observe the same execute call while waiting in the foreground, then after its nonzero yield.
157
+ const delayedExecution = manager.execute(scriptOptions(ownerA, directories[ownerA], "process.stdin.once('data',()=>{process.stdout.write('yielded-completed\\n');process.exit(0);});"), 200);
158
+ const waiting = manager.list(ownerA).find((t) => t.status === "running");
159
+ assert.ok(waiting);
160
+ assert.equal(snapshot().backgroundTaskCount, 0, "not background while execute is waiting");
161
+ assert.equal(repl.terminalOutput(ownerA, waiting.session_id, "stdout", 0, 65536)?.record.metadata.backgrounded, false);
162
+ const yielded = await delayedExecution;
163
+ assert.equal(yielded.status, "running");
164
+ assert.equal(yielded.session_id, waiting.session_id);
165
+ assert.deepEqual(snapshot().backgroundTasks.map((t) => t.sessionId), [yielded.session_id]);
166
+ assert.equal(repl.terminalOutput(ownerA, yielded.session_id, "stdout", 0, 65536)?.record.metadata.backgrounded, true);
167
+ const completedYielded = await manager.interact(yielded.session_id, { ownerId: ownerA, chars: "finish\n", yieldTimeMs: 3_000 });
168
+ assert.equal(completedYielded.exit_code, 0);
169
+ const expectedHistory = [a.session_id, yielded.session_id].sort();
170
+ assert.deepEqual(snapshot().terminalTaskHistory.map((t) => String(t.sessionId)).sort(), expectedHistory);
171
+ checks.waitThenYieldEntersBackgroundAndCompletedHistory = true;
172
+ // Persist old-format records without an explicit marker, including a running residual.
173
+ for (const id of ["legacy-terminal", "legacy-running"]) {
174
+ assert.ok(store.start(ownerA, directories[ownerA], id, {
175
+ startedAt: Date.now(), command: "legacy background terminal", status: "running", sessionId: id,
176
+ }).ok);
177
+ if (id === "legacy-terminal")
178
+ assert.ok(store.finalize(ownerA, id, {
179
+ finishedAt: Date.now(), status: "exited", exitCode: 0, signal: null, terminationReason: "completed", durationMs: 0,
180
+ }).ok);
181
+ }
182
+ assert.deepEqual(snapshot().terminalTaskHistory.map((t) => String(t.sessionId)).sort(), expectedHistory);
183
+ const stored = manager.listHistory(ownerA);
184
+ assert.ok(stored.ok);
185
+ for (const id of [...foregroundRuns, "legacy-terminal", ...expectedHistory]) {
186
+ assert.ok(stored.value.records.some((view) => view.record.runId === id), `output history retains ${id}`);
187
+ }
188
+ checks.outputStoreStillRetainsForegroundAndLegacyRecords = true;
189
+ await until(() => manager.list().length === 0);
190
+ assert.deepEqual(snapshot().terminalTaskHistory.map((t) => String(t.sessionId)).sort(), expectedHistory);
191
+ checks.backgroundHistorySurvivesManagerMemoryCleanup = true;
192
+ // Fresh manager AND store must use persisted facts, not the old manager's in-memory flag.
193
+ const restoredManager = new ExecProcessManager({ sessionsRoot: root });
194
+ const restoredRepl = new WebRepl({ ...runtime, execProcessManager: restoredManager });
195
+ const restored = restoredRepl.snapshot();
196
+ assert.equal(restored.backgroundTaskCount, 0);
197
+ assert.deepEqual(restored.terminalTaskHistory.map((t) => String(t.sessionId)).sort(), expectedHistory);
198
+ for (const id of expectedHistory) {
199
+ assert.equal(restoredRepl.terminalOutput(ownerA, id, "stdout", 0, 65536)?.record.metadata.backgrounded, true);
200
+ }
201
+ for (const id of foregroundRuns) {
202
+ assert.equal(restoredRepl.terminalOutput(ownerA, id, "stdout", 0, 65536)?.record.metadata.backgrounded, false);
203
+ }
204
+ assert.ok(restoredRepl.terminalOutput(ownerA, yielded.session_id, "stdout", 0, 65536)?.text?.includes("yielded-completed"));
205
+ const legacy = restoredRepl.terminalOutput(ownerA, "legacy-running", "stdout", 0, 65536);
206
+ assert.equal(legacy?.record.lifecycle, "lost");
207
+ assert.equal(legacy?.record.metadata.backgrounded, undefined);
208
+ assert.equal(restoredRepl.terminalOutput(ownerA, b.session_id, "stdout", 0, 65536), undefined);
209
+ currentOwner = ownerB;
210
+ const restoredB = restoredRepl.snapshot();
211
+ assert.deepEqual(restoredB.terminalTaskHistory.map((t) => t.sessionId), [b.session_id]);
212
+ assert.equal(restoredRepl.terminalOutput(ownerA, a.session_id, "stdout", 0, 65536), undefined);
213
+ checks.restartPreservesBackgroundOnlyHistoryAndOwnerIsolation = true;
214
+ checks.unknownLegacyCompletedAndLostNeverInferredAsBackground = true;
122
215
  console.log(JSON.stringify({ ok: true, checks }, null, 2));
123
216
  }
124
217
  finally {
@@ -137,5 +230,9 @@ function terminalOptions(ownerId, sessionDir) {
137
230
  env: {}, timeoutMs: 150, maxOutputChars: 4_000, tty: false,
138
231
  };
139
232
  }
233
+ function scriptOptions(ownerId, sessionDir, script) {
234
+ return { ...terminalOptions(ownerId, sessionDir), timeoutMs: 10_000,
235
+ shell: { requested: "node", file: process.execPath, args: ["-e", script, "--"] } };
236
+ }
140
237
  void main().catch((error) => { console.error(error); process.exitCode = 1; });
141
238
  //# sourceMappingURL=smoke-web-terminal-tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-web-terminal-tasks.js","sourceRoot":"","sources":["../../src/web/smoke-web-terminal-tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-web-terminal-tasks.js","sourceRoot":"","sources":["../../src/web/smoke-web-terminal-tasks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ # Versioned global system prompt configuration
2
+
3
+ The core runtime, not the browser, owns the global base system prompt. `DefaultContextManager` (including the default used by `QueryEngine`, CLI and web runtimes) reads it on **every context build**. Saving affects future builds in all sessions using this baseline, without a restart. It does not mutate a request already sent to a provider. Session-specific prompt controls, when used, are a separate scope and do not write this file.
4
+
5
+ ## Files and packaging
6
+
7
+ - The current version's complete natural-language baseline is `src/context/system.md`, not a TypeScript string or an empty override.
8
+ - `npm run build` copies it to `dist/context/system.md`; npm's existing `files: ["dist", ...]` includes that file. `prepare`/`prepack` run the build. The standalone distribution verifies and copies it with `dist`, and copies `package.json` for the version identity.
9
+ - On the first GET/build, core copies this Markdown into `~/.neoctl/prompts/<package-version>/system.md` (`%USERPROFILE%\.neoctl` on Windows). Subsequent reads and saves use **that same writable file**. Existing files, including invalid/empty files, are never reset to defaults. Each package version initializes its own file and leaves older versions untouched; migration between versions is an explicit user action.
10
+ - Trusted hosts/tests can set `NEO_SYSTEM_PROMPT_PATH` to an isolated file, or construct `PromptConfigStore({filePath})` and pass it as `DefaultContextManager({promptConfigStore})`. `homeDir`/`version` are also host-only store options. The HTTP client cannot select a path or version.
11
+
12
+ The Markdown contains Agent Scaffold, Doing Tasks, generic tool-use etiquette, and Tone And Output. Core still appends current tool availability, tool-result budgets, image loading/generation capability instructions, and secret-handling instructions. Plugin sections, application prompts, and Runtime agent/session context retain their existing composition chain. Global editing is **not** implemented with `overrideSystemPrompt`, so changing the baseline does not replace plugin/app/runtime sections.
13
+
14
+ ## HTTP protocol
15
+
16
+ Handled by the engine's actual HTTP router **before** selecting/initializing a session. The outer web proxy needs no special route.
17
+
18
+ ### `GET /api/prompt-config`
19
+
20
+ 200 JSON, `Cache-Control: no-store`:
21
+
22
+ ```json
23
+ {"content":"## Agent Scaffold\n...","revision":"<64 lowercase SHA-256 hex characters>","version":"0.2.37","path":"<absolute server-owned system.md path>"}
24
+ ```
25
+
26
+ ### `POST /api/prompt-config`
27
+
28
+ Accepts only `{"content":"...","revision":"<revision from GET>"}`. Content must be a string, contain non-whitespace text, and occupy at most **200000 UTF-8 bytes**. Original whitespace/newlines are preserved. Success is 200 JSON:
29
+
30
+ ```json
31
+ {"ok":true,"content":"...","revision":"<new SHA-256>","version":"0.2.37","path":"<same path>"}
32
+ ```
33
+
34
+ Errors always use non-2xx HTTP status and `{"errorCode":"...","error":"..."}`:
35
+
36
+ | HTTP | errorCode | Meaning |
37
+ |---|---|---|
38
+ | 400 | `PROMPT_CONFIG_INVALID` | Invalid JSON/fields/content/revision, or client-supplied path/version |
39
+ | 409 | `PROMPT_CONFIG_CONFLICT` | File revision changed or file disappeared; reload before retrying |
40
+ | 413 | `PROMPT_CONFIG_TOO_LARGE` | Content or bounded JSON request envelope too large |
41
+ | 405 | `PROMPT_CONFIG_METHOD_NOT_ALLOWED` | Only GET and POST supported |
42
+ | 503 | `PROMPT_CONFIG_BUSY` | Could not acquire writer lock within ten seconds |
43
+ | 500 | `PROMPT_CONFIG_STORAGE_ERROR` | Filesystem/storage failure |
44
+
45
+ Clients should retain unsaved drafts on failure; never automatically overwrite after a 409. Fetch the latest revision and let the user decide. Identical content has the same revision, including after a restart; external edits change the hash.
46
+
47
+ ## Concurrency and recovery
48
+
49
+ Reads use the actual file, not a process content cache. Initialization and compare-and-save acquire an atomic sibling `<file>.lock` directory, serializing participating writers across sessions, store objects, and OS processes. The revision comparison happens inside this lock. Writes create a unique same-directory temporary file, flush it, and atomically rename it into place. Readers therefore see an old or new complete file, not a partly written body. Normal completion removes the lock and temporary file.
50
+
51
+ The lock is deliberately **not stolen based on age** (which could allow two live writers). After a crashed/killed writer, an administrator may remove the leftover `.lock` directory only after confirming that no writer is active. The prior complete `system.md` remains readable; orphan `.tmp` files can likewise be removed. External editors should save atomically; the API detects edits made before its locked revision check, but cannot coordinate an external editor that ignores the lock and writes concurrently.
52
+
53
+ ## Session prompt overrides
54
+
55
+ `GET /api/session-prompt?tabId=...&sessionId=...` returns `{content, override, revision}`. The content is the current complete effective prompt without internal cache markers. Once overridden, it is the exact session-owned prompt, not an edit to the version file.
56
+
57
+ `POST` to the same scoped URL accepts `{content, revision}` or `{reset:true, revision}`. Success returns `{ok:true, content, override, revision, deferred}`. Invalid input returns HTTP 400 / `SESSION_PROMPT_INVALID`; stale revisions return 409 / `SESSION_PROMPT_CONFLICT`; storage failures return 500 / `SESSION_PROMPT_FAILED`. Empty text, internal cache markers, unknown fields and content above 256 Ki characters are rejected.
58
+
59
+ A saved override is persisted in the current session transcript and restored when that same session resumes. New sessions do not inherit it. While a model request is running, accepted changes are queued and applied at the next model-turn boundary; the current request is not changed. Reset removes the override and uses the latest version file plus current runtime/plugin/application sections. Tools and user/runtime context remain separate from the full prompt override. The runtime-context protocol additionally exposes `prompt.sessionPrompt` to distinguish active and pending state.
60
+
61
+ ## Validation
62
+
63
+ All tests use OS temporary directories and never touch real user configuration:
64
+
65
+ ```sh
66
+ node --import tsx --test src/context/prompt-config.test.ts src/web/prompt-config-protocol.test.ts
67
+ npm run typecheck
68
+ npm run build
69
+ ```
70
+
71
+ Coverage includes exact Markdown initialization, preservation/reload, restart/separate-process reads, cross-process CAS, concurrent initialization, illegal content and byte limits, actual ContextManager composition and QueryEngine future requests, real HTTP handler GET/POST/error semantics, and global route placement before session initialization.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neoctl",
3
- "version": "0.2.37",
3
+ "version": "0.2.38",
4
4
  "description": "TypeScript scaffold for a streaming agent runtime with a REPL UI layer.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,7 +29,7 @@
29
29
  "vendor:rg": "node scripts/install-ripgrep.cjs",
30
30
  "vendor:rg:all": "node scripts/install-ripgrep.cjs --all",
31
31
  "verify:rg": "node scripts/verify-ripgrep.cjs",
32
- "build": "node -e \"import('node:fs/promises').then(fs => fs.rm('dist', { recursive: true, force: true })).catch(() => process.exit(1))\" && tsc -p tsconfig.json && node scripts/copy-model-metadata.mjs",
32
+ "build": "node -e \"import('node:fs/promises').then(fs => fs.rm('dist', { recursive: true, force: true })).catch(() => process.exit(1))\" && tsc -p tsconfig.json && node scripts/copy-model-metadata.mjs && node scripts/copy-prompt-resources.mjs",
33
33
  "prepare": "npm run build",
34
34
  "prepack": "npm run build && npm run verify:rg",
35
35
  "release:local": "node scripts/release-local.mjs",
@@ -88,6 +88,7 @@
88
88
  "dist",
89
89
  "scripts",
90
90
  "vendor/ripgrep",
91
- "README.md"
91
+ "README.md",
92
+ "docs/prompt-config.md"
92
93
  ]
93
94
  }
@@ -94,6 +94,9 @@ async function injectSeaBlob() {
94
94
  }
95
95
 
96
96
  async function copyRuntimeFiles() {
97
+ // The editable global baseline is initialized from this version's real Markdown.
98
+ // Fail packaging rather than ship a runtime that cannot initialize prompt configuration.
99
+ await fs.access(path.join(projectRoot, "dist", "context", "system.md"));
97
100
  await fs.cp(path.join(projectRoot, "dist"), path.join(outDir, "dist"), { recursive: true });
98
101
  await fs.cp(path.join(projectRoot, "node_modules"), path.join(outDir, "node_modules"), {
99
102
  recursive: true,
@@ -0,0 +1,5 @@
1
+ import { copyFile, mkdir } from "node:fs/promises";
2
+
3
+ const destination = new URL("../dist/context/", import.meta.url);
4
+ await mkdir(destination, { recursive: true });
5
+ await copyFile(new URL("../src/context/system.md", import.meta.url), new URL("system.md", destination));