neoctl 0.2.37 → 0.2.39

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 (98) 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 +6 -2
  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 +128 -0
  17. package/dist/context/prompt-config.test.js.map +1 -0
  18. package/dist/context/prompts.d.ts +4 -1
  19. package/dist/context/prompts.js +13 -30
  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 +30 -1
  25. package/dist/core/query-engine.js +321 -111
  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 +32 -2
  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-prompt-inheritance.test.d.ts +1 -0
  36. package/dist/core/session-prompt-inheritance.test.js +132 -0
  37. package/dist/core/session-prompt-inheritance.test.js.map +1 -0
  38. package/dist/core/session-settings-prompt.d.ts +43 -0
  39. package/dist/core/session-settings-prompt.js +84 -0
  40. package/dist/core/session-settings-prompt.js.map +1 -0
  41. package/dist/core/session-settings-prompt.test.d.ts +1 -0
  42. package/dist/core/session-settings-prompt.test.js +266 -0
  43. package/dist/core/session-settings-prompt.test.js.map +1 -0
  44. package/dist/index.d.ts +3 -0
  45. package/dist/index.js +2 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/model/model-metadata.json +1 -3
  48. package/dist/model/openai-responses-instructions.test.d.ts +1 -0
  49. package/dist/model/openai-responses-instructions.test.js +64 -0
  50. package/dist/model/openai-responses-instructions.test.js.map +1 -0
  51. package/dist/model/openai-responses-mapper.js +5 -16
  52. package/dist/model/openai-responses-mapper.js.map +1 -1
  53. package/dist/model/smoke-responses-mapper.js +8 -5
  54. package/dist/model/smoke-responses-mapper.js.map +1 -1
  55. package/dist/plugins/plugin-system.js +3 -0
  56. package/dist/plugins/plugin-system.js.map +1 -1
  57. package/dist/session/session-export.d.ts +10 -0
  58. package/dist/session/session-export.js.map +1 -1
  59. package/dist/session/session-store.d.ts +11 -0
  60. package/dist/session/session-store.js +23 -0
  61. package/dist/session/session-store.js.map +1 -1
  62. package/dist/tools/builtins/exec-process-manager.js +4 -1
  63. package/dist/tools/builtins/exec-process-manager.js.map +1 -1
  64. package/dist/tools/terminal-background-history.test.d.ts +1 -0
  65. package/dist/tools/terminal-background-history.test.js +77 -0
  66. package/dist/tools/terminal-background-history.test.js.map +1 -0
  67. package/dist/tools/terminal-output-store.d.ts +4 -0
  68. package/dist/tools/terminal-output-store.js +18 -0
  69. package/dist/tools/terminal-output-store.js.map +1 -1
  70. package/dist/web/index.d.ts +26 -1
  71. package/dist/web/index.js +150 -18
  72. package/dist/web/index.js.map +1 -1
  73. package/dist/web/prompt-config-protocol.d.ts +4 -0
  74. package/dist/web/prompt-config-protocol.js +57 -0
  75. package/dist/web/prompt-config-protocol.js.map +1 -0
  76. package/dist/web/prompt-config-protocol.test.d.ts +1 -0
  77. package/dist/web/prompt-config-protocol.test.js +78 -0
  78. package/dist/web/prompt-config-protocol.test.js.map +1 -0
  79. package/dist/web/runtime-context-protocol.d.ts +1 -0
  80. package/dist/web/runtime-context-protocol.js +1 -0
  81. package/dist/web/runtime-context-protocol.js.map +1 -1
  82. package/dist/web/session-prompt-integration.test.d.ts +1 -0
  83. package/dist/web/session-prompt-integration.test.js +57 -0
  84. package/dist/web/session-prompt-integration.test.js.map +1 -0
  85. package/dist/web/session-prompt-protocol.d.ts +8 -0
  86. package/dist/web/session-prompt-protocol.js +11 -0
  87. package/dist/web/session-prompt-protocol.js.map +1 -0
  88. package/dist/web/session-settings.test.d.ts +1 -0
  89. package/dist/web/session-settings.test.js +254 -0
  90. package/dist/web/session-settings.test.js.map +1 -0
  91. package/dist/web/smoke-terminal-output-http.js +10 -5
  92. package/dist/web/smoke-terminal-output-http.js.map +1 -1
  93. package/dist/web/smoke-web-terminal-tasks.js +100 -3
  94. package/dist/web/smoke-web-terminal-tasks.js.map +1 -1
  95. package/docs/prompt-config.md +86 -0
  96. package/package.json +4 -3
  97. package/scripts/build-standalone.mjs +3 -0
  98. package/scripts/copy-prompt-resources.mjs +5 -0
@@ -0,0 +1,128 @@
1
+ import assert from "node:assert/strict";
2
+ import { execFile } from "node:child_process";
3
+ import fs from "node:fs/promises";
4
+ import os from "node:os";
5
+ import path from "node:path";
6
+ import test from "node:test";
7
+ import { promisify } from "node:util";
8
+ import { fileURLToPath } from "node:url";
9
+ import { PromptConfigStore, PromptConfigError, MAX_SYSTEM_PROMPT_BYTES, readBundledSystemPrompt } from "./prompt-config.js";
10
+ import { AdditionalPromptContextManager, AppPromptContextManager, DefaultContextManager } from "./context-manager.js";
11
+ import { InMemoryAppPromptStore } from "../app/app-prompt.js";
12
+ import { QueryEngine } from "../core/query-engine.js";
13
+ import { ToolRegistry } from "../tools/registry.js";
14
+ import { createTextMessage } from "../types/messages.js";
15
+ async function fixture(t) {
16
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-prompt-config-"));
17
+ t.after(() => fs.rm(root, { recursive: true, force: true }));
18
+ const filePath = path.join(root, "prompts", "test-version", "system.md");
19
+ const store = new PromptConfigStore({ filePath });
20
+ return { root, filePath, store };
21
+ }
22
+ const fails = (status) => (error) => error instanceof PromptConfigError && error.status === status;
23
+ test("initializes the real bundled Markdown exactly once; versions are isolated", async (t) => {
24
+ const { root, store, filePath } = await fixture(t);
25
+ const snapshots = await Promise.all(Array.from({ length: 8 }, () => new PromptConfigStore({ filePath }).read()));
26
+ assert.equal(snapshots[0].content, readBundledSystemPrompt());
27
+ assert.match(snapshots[0].content, /## Agent Scaffold/);
28
+ assert.equal(new Set(snapshots.map((snapshot) => snapshot.revision)).size, 1);
29
+ const updated = await store.save(" custom baseline\n", snapshots[0].revision);
30
+ assert.equal((await new PromptConfigStore({ filePath }).read()).content, updated.content);
31
+ assert.equal(await fs.readFile(filePath, "utf8"), updated.content);
32
+ const next = new PromptConfigStore({ homeDir: root, version: "next-version" });
33
+ // Ensure this test's explicit home is independent of the runner's path override.
34
+ const versioned = new PromptConfigStore({ filePath: path.join(root, "prompts", "next-version", "system.md"), version: "next-version" });
35
+ assert.equal((await versioned.read()).content, readBundledSystemPrompt());
36
+ assert.notEqual(versioned.filePath, filePath);
37
+ assert.equal(next.version, "next-version");
38
+ });
39
+ test("CAS serializes parallel writers, rejects stale and externally modified revisions", async (t) => {
40
+ const { store, filePath } = await fixture(t);
41
+ const initial = await store.read();
42
+ const results = await Promise.allSettled([
43
+ store.save("first", initial.revision),
44
+ new PromptConfigStore({ filePath }).save("second", initial.revision),
45
+ ]);
46
+ assert.equal(results.filter((result) => result.status === "fulfilled").length, 1);
47
+ const rejection = results.find((result) => result.status === "rejected");
48
+ assert.ok(fails(409)(rejection.reason));
49
+ const current = await store.read();
50
+ await fs.writeFile(filePath, "external editor change");
51
+ await assert.rejects(store.save("must not overwrite", current.revision), fails(409));
52
+ assert.equal((await store.read()).content, "external editor change");
53
+ assert.deepEqual((await fs.readdir(path.dirname(filePath))).sort(), ["system.md"]);
54
+ });
55
+ test("rejects illegal content/revisions and never overwrites existing invalid files", async (t) => {
56
+ const { store, filePath } = await fixture(t);
57
+ const initial = await store.read();
58
+ for (const content of [null, undefined, 1, {}, [], "", " \r\n\t"]) {
59
+ await assert.rejects(store.save(content, initial.revision), fails(400));
60
+ }
61
+ for (const revision of [undefined, null, 1, "", "stale"])
62
+ await assert.rejects(store.save("ok", revision), fails(400));
63
+ await assert.rejects(store.save("你".repeat(Math.ceil(MAX_SYSTEM_PROMPT_BYTES / 3)), initial.revision), fails(413));
64
+ const exact = "a".repeat(MAX_SYSTEM_PROMPT_BYTES);
65
+ assert.equal((await store.save(exact, initial.revision)).content.length, MAX_SYSTEM_PROMPT_BYTES);
66
+ await fs.writeFile(filePath, "");
67
+ await assert.rejects(store.read(), fails(400));
68
+ assert.equal(await fs.readFile(filePath, "utf8"), "");
69
+ await fs.writeFile(filePath, "a".repeat(MAX_SYSTEM_PROMPT_BYTES + 1));
70
+ await assert.rejects(store.read(), fails(413));
71
+ });
72
+ test("atomic file survives a separate process and cross-process CAS admits only one writer", async (t) => {
73
+ const { store, filePath } = await fixture(t);
74
+ const initial = await store.read();
75
+ const moduleUrl = new URL("./prompt-config.js", import.meta.url).href.replace(/\.js$/, import.meta.url.endsWith(".ts") ? ".ts" : ".js");
76
+ const run = promisify(execFile);
77
+ const script = `import { PromptConfigStore } from ${JSON.stringify(moduleUrl)}; const s = new PromptConfigStore({filePath: process.argv[1]}); try { const result = await s.save(process.argv[2], process.argv[3]); console.log(JSON.stringify(result)); } catch(e) { console.log(JSON.stringify({status:e.status})); }`;
78
+ const results = await Promise.all(["process A", "process B"].map((content) => run(process.execPath, ["--import", "tsx", "--input-type=module", "-e", script, filePath, content, initial.revision], { cwd: fileURLToPath(new URL("../../", import.meta.url)) })));
79
+ const parsed = results.map((result) => JSON.parse(result.stdout));
80
+ assert.equal(parsed.filter((result) => result.status === 409).length, 1);
81
+ const saved = parsed.find((result) => result.content);
82
+ assert.deepEqual(await new PromptConfigStore({ filePath }).read(), saved);
83
+ });
84
+ test("every ContextManager build reloads the baseline and preserves tool/plugin/app/runtime sections", async (t) => {
85
+ const { root, store, filePath } = await fixture(t);
86
+ const app = new InMemoryAppPromptStore();
87
+ app.setAppPrompt({ content: "APP_CONTRACT" });
88
+ const create = () => new AppPromptContextManager(new AdditionalPromptContextManager(new DefaultContextManager({ cwd: root, promptConfigStore: new PromptConfigStore({ filePath }) }), [{ name: "Plugin", content: "PLUGIN_CONTRACT", cacheStable: true }]), app);
89
+ const managers = [create(), create()];
90
+ const input = { agentId: "session-A", messages: [], enabledTools: ["image_create", "image_inspect", "secret_request"] };
91
+ const before = await managers[0].build(input);
92
+ assert.match(before.systemPrompt, /engineering agent running inside neo/);
93
+ await store.save("MY_EDITED_BASELINE", (await store.read()).revision);
94
+ for (const manager of managers) {
95
+ const after = await manager.build(input);
96
+ assert.match(after.systemPrompt, /MY_EDITED_BASELINE/);
97
+ assert.doesNotMatch(after.systemPrompt, /engineering agent running inside neo/);
98
+ for (const text of ["PLUGIN_CONTRACT", "APP_CONTRACT", "agentId=session-A", "48000 serialized characters", "within 1-200000", "use the image_create tool", "use the image_inspect tool", "Secrets:"])
99
+ assert.ok(after.systemPrompt.includes(text), text);
100
+ }
101
+ const noTools = await managers[0].build({ ...input, enabledTools: [] });
102
+ assert.match(noTools.systemPrompt, /no drawing\/image generation\/editing tool/);
103
+ assert.match(noTools.systemPrompt, /no image loading tool/);
104
+ assert.doesNotMatch(noTools.systemPrompt, /Secrets:/);
105
+ assert.doesNotMatch(noTools.systemPrompt, /call plan_update/);
106
+ const listOnly = await managers[0].build({ ...input, enabledTools: ["secret_list"] });
107
+ assert.match(listOnly.systemPrompt, /Secrets:/);
108
+ assert.doesNotMatch(listOnly.systemPrompt, /Use secret_request/);
109
+ });
110
+ test("standard QueryEngine uses the file-backed DefaultContextManager on future requests", async (t) => {
111
+ const { root, store, filePath } = await fixture(t);
112
+ const previous = process.env.NEO_SYSTEM_PROMPT_PATH;
113
+ process.env.NEO_SYSTEM_PROMPT_PATH = filePath;
114
+ t.after(() => { if (previous === undefined)
115
+ delete process.env.NEO_SYSTEM_PROMPT_PATH;
116
+ else
117
+ process.env.NEO_SYSTEM_PROMPT_PATH = previous; });
118
+ const requests = [];
119
+ const engine = new QueryEngine({ cwd: root, model: "test", tools: new ToolRegistry(), session: { enabled: false },
120
+ modelGateway: { async *stream(request) { requests.push(request); yield { type: "assistant_message", message: createTextMessage("assistant", "ok") }; } },
121
+ });
122
+ for await (const _event of engine.sendUserText("first")) { /* drain */ }
123
+ await store.save("NEXT_REQUEST_BASELINE", (await store.read()).revision);
124
+ for await (const _event of engine.sendUserText("second")) { /* drain */ }
125
+ assert.match(requests[0].systemPrompt, /engineering agent running inside neo/);
126
+ assert.match(requests.at(-1).systemPrompt, /NEXT_REQUEST_BASELINE/);
127
+ });
128
+ //# sourceMappingURL=prompt-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-config.test.js","sourceRoot":"","sources":["../../src/context/prompt-config.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ export interface PromptSection {
4
4
  name: string;
5
5
  content: string;
6
6
  cacheStable?: boolean;
7
+ source?: "global" | "session" | "runtime";
8
+ /** Include this instruction only when every dependency is in the effective tool set. */
9
+ requiresTools?: readonly string[];
7
10
  }
8
11
  export interface EffectiveSystemPromptOptions {
9
12
  overrideSystemPrompt?: string;
@@ -14,7 +17,7 @@ export interface EffectiveSystemPromptOptions {
14
17
  appendSystemPrompt?: string;
15
18
  toolUseContext?: ToolUseContext;
16
19
  }
17
- export declare function buildDefaultSystemPromptSections(enabledTools?: readonly string[]): PromptSection[];
20
+ export declare function buildDefaultSystemPromptSections(enabledTools?: readonly string[], basePrompt?: string): PromptSection[];
18
21
  export declare function buildEffectiveSystemPrompt(sections?: readonly PromptSection[], options?: EffectiveSystemPromptOptions): string;
19
22
  export declare function splitSystemPromptPrefix(systemPrompt: string): {
20
23
  stablePrefix: string;
@@ -1,54 +1,37 @@
1
+ import { readBundledSystemPrompt } from "./prompt-config.js";
1
2
  import { DEFAULT_TOOL_RESULT_BUDGET_CHARS, MAX_TOOL_RESULT_BUDGET_CHARS } from "../session/tool-result-memory.js";
2
3
  export const SYSTEM_PROMPT_DYNAMIC_BOUNDARY = "__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__";
3
- export function buildDefaultSystemPromptSections(enabledTools = []) {
4
+ export function buildDefaultSystemPromptSections(enabledTools = [], basePrompt = readBundledSystemPrompt()) {
4
5
  const hasImageGenerationTool = enabledTools.includes("image_create");
5
6
  const hasLoadImageTool = enabledTools.includes("image_inspect");
6
7
  const hasSecretTools = enabledTools.includes("secret_list") || enabledTools.includes("secret_request");
8
+ const secretRequestInstruction = enabledTools.includes("secret_request")
9
+ ? "Use secret_request to create non-interactive empty placeholders when a needed key is missing, and tell the user they can fill it with /secret set <key> <value>."
10
+ : "If a needed secret is missing, ask the user to configure it outside the conversation.";
7
11
  return [
12
+ { name: "System Prompt", source: "global", cacheStable: true, content: basePrompt },
8
13
  {
9
- name: "Agent Scaffold",
10
- cacheStable: true,
11
- content: [
12
- "You are an engineering agent running inside neo.",
13
- "You may identify yourself as neo when referring to your operating identity.",
14
- "Drive tasks through the shared query loop, tool system, context manager, and model gateway.",
15
- ].join("\n"),
16
- },
17
- {
18
- name: "Doing Tasks",
19
- cacheStable: true,
20
- content: [
21
- "Keep work concrete and verifiable.",
22
- "For tasks with multiple meaningful steps, call the plan_update tool to create and maintain the visible execution plan, updating item statuses as work progresses.",
23
- "Use tools for real workspace changes and report validation results precisely.",
24
- "When following a concrete strategy, you may briefly state meaningful progress transitions, such as finishing code edits and preparing to run tests.",
25
- ].join("\n"),
26
- },
27
- {
28
- name: "Using Tools",
14
+ name: "Runtime Tool Capabilities",
15
+ source: "runtime",
29
16
  cacheStable: true,
30
17
  content: [
18
+ "Only tools supplied in this request are callable. Tool availability is controlled by runtime configuration; instructions mentioning other tools do not enable them. If a requested tool is unavailable, explain that it is unavailable in the current configuration rather than claiming the provider cannot support it.",
19
+ enabledTools.includes("plan_update") ? "For tasks with multiple meaningful steps, call plan_update to create and maintain a visible execution plan." : "",
31
20
  enabledTools.length
32
21
  ? `Available tools are provided separately. Stable tool prefix: ${enabledTools.join(", ")}.`
33
22
  : "Available tools are provided separately by the runtime.",
34
- "When using tools, you may briefly state the intent of the tool call; if a tool result contains valuable information, you may briefly report it.",
35
23
  `Tool results use a default context budget of ${DEFAULT_TOOL_RESULT_BUDGET_CHARS} serialized characters unless a tool specifies a larger default. Use maxResultChars on an individual call to override it within 1-${MAX_TOOL_RESULT_BUDGET_CHARS}. Larger results are saved to the session tool-results directory and replaced with a stable preview.`,
36
24
  hasLoadImageTool
37
25
  ? "When you need to inspect, describe, OCR, or answer questions about a historical image that is no longer directly present in the active prompt, use the image_inspect tool with its image id (e.g. img_1) or label. The image registry in compact boundary messages lists all available historical images; compacted images are not text-summarized into visual facts, so load the pixels when visual details matter."
38
- : "This runtime has no image loading tool. Do not pretend to visually inspect stored image paths; ask the user to switch to a vision-capable model/runtime if visual analysis is required.",
26
+ : "This runtime has no image loading tool. Do not pretend to visually inspect stored image paths; ask the user to enable image inspection or select a compatible runtime if visual analysis is required.",
39
27
  hasImageGenerationTool
40
28
  ? "When the user asks for drawing/image generation or image editing/modification, use the image_create tool. It is backed by OpenAI's Images API, defaults to OpenAI model gpt-image-2, and supports mode=generate for new images and mode=edit for modifying existing images. If image_create validation fails, tell the user the model and exact parameter reason from the tool result."
41
- : "This runtime has no drawing/image generation/editing tool. If the user asks you to draw, create, render, generate, or edit an image, say that the current model/provider does not have drawing capability instead of pretending to generate one.",
29
+ : "This runtime has no drawing/image generation/editing tool. If the user asks you to draw, create, render, generate, or edit an image, say that image generation is unavailable in the current runtime configuration instead of pretending to generate one.",
42
30
  hasSecretTools
43
- ? "Secrets: you may inspect secret keys, statuses, and value lengths, but secret values are never shown to you. Use secret_request to create non-interactive empty placeholders when a needed key is missing, and tell the user they can fill it with /secret set <key> <value>. Do not ask users to paste secret values into the conversation; pass secret keys to tools that accept secret references such as terminal_run.envSecrets."
31
+ ? `Secrets: you may inspect secret keys, statuses, and value lengths, but secret values are never shown to you. ${secretRequestInstruction} Do not ask users to paste secret values into the conversation; pass secret keys to enabled tools that accept secret references.`
44
32
  : "",
45
33
  ].join("\n"),
46
34
  },
47
- {
48
- name: "Tone And Output",
49
- cacheStable: true,
50
- content: "Be direct, concise, and action-oriented. Avoid inventing file contents or command results.",
51
- },
52
35
  ];
53
36
  }
54
37
  export function buildEffectiveSystemPrompt(sections = buildDefaultSystemPromptSections(), options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/context/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/context/prompts.ts"],"names":[],"mappings":"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"}
@@ -392,7 +392,9 @@ async function main() {
392
392
  !secondSequenceCompact.summary.includes("OLDER_CHECKPOINT") &&
393
393
  !secondSequenceCompact.summary.includes("Persistent facts:");
394
394
  const manualOnly = new ManualOnlyCompactor(modelCompactor);
395
- const gpt56WindowOk = resolveContextWindowTokens("gpt-5.6", {}).tokens === 256000
395
+ const gpt56WindowOk = resolveContextWindowTokens("gpt-5.6", {}).source === "unknown"
396
+ && resolveContextWindowTokens("gpt-6", {}).source === "unknown"
397
+ && resolveContextWindowTokens("gpt-6-astra", {}).tokens === 256000
396
398
  && resolveContextWindowTokens("gpt-5.6-sol", {}).tokens === 256000
397
399
  && resolveContextWindowTokens("gpt-5.6-terra", {}).tokens === 256000
398
400
  && resolveContextWindowTokens("gpt-5.6-luna", {}).tokens === 256000;
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-context.js","sourceRoot":"","sources":["../../src/context/smoke-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-context.js","sourceRoot":"","sources":["../../src/context/smoke-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ ## Agent Scaffold
2
+ You are an engineering agent running inside neo.
3
+ You may identify yourself as neo when referring to your operating identity.
4
+ Drive tasks through the shared query loop, tool system, context manager, and model gateway.
5
+
6
+ ## Doing Tasks
7
+ Keep work concrete and verifiable.
8
+ For tasks with multiple meaningful steps, maintain a clear execution plan and report progress.
9
+ Use tools for real workspace changes and report validation results precisely.
10
+ When following a concrete strategy, you may briefly state meaningful progress transitions, such as finishing code edits and preparing to run tests.
11
+
12
+ ## Using Tools
13
+ When using tools, you may briefly state the intent of the tool call; if a tool result contains valuable information, you may briefly report it.
14
+
15
+ ## Tone And Output
16
+ Be direct, concise, and action-oriented. Avoid inventing file contents or command results.
@@ -5,12 +5,17 @@ import type { CompactionResult, Compactor, ContextBudgetOptions } from "../conte
5
5
  import type { ModelGateway, ReasoningConfig } from "../model/model-gateway.js";
6
6
  import { ToolRegistry } from "../tools/registry.js";
7
7
  import type { CanUseTool, ToolUseContext } from "../tools/tool.js";
8
- import type { QueryOptions, TaskNotificationSource } from "./query.js";
8
+ import type { QueryOptions, SessionSettingsPatch, TaskNotificationSource } from "./query.js";
9
9
  import type { AgentEvent, ContextMetrics } from "../types/events.js";
10
10
  import type { Message, MessageBlock } from "../types/messages.js";
11
11
  import type { TerminalReason } from "./state.js";
12
12
  import { type SessionDisplayEntry, type SessionStoreSnapshot, type SessionSummary } from "../session/session-store.js";
13
13
  import type { SessionPromptExportSnapshot } from "../session/session-export.js";
14
+ import { type SessionPromptSnapshot, type SessionPromptState, type SessionPromptUpdate, type SessionPromptUpdateResult } from "./session-settings-prompt.js";
15
+ type PendingSessionSettings = SessionSettingsPatch & {
16
+ sessionPrompt?: SessionPromptState | null;
17
+ };
18
+ export type { SessionSettingsPatch } from "./query.js";
14
19
  export interface QueryEngineOptions {
15
20
  agentId?: string;
16
21
  cwd?: string;
@@ -25,6 +30,8 @@ export interface QueryEngineOptions {
25
30
  contextManager?: ContextManager;
26
31
  contextManagerFactory?: (cwd?: string) => ContextManager;
27
32
  additionalPromptSections?: readonly PromptSection[];
33
+ /** Synchronous refresh at a safe model-turn boundary or idle preview. */
34
+ refreshTools?: () => void;
28
35
  compactor?: Compactor;
29
36
  contextBudget?: ContextBudgetOptions;
30
37
  canUseTool?: CanUseTool;
@@ -61,14 +68,22 @@ export declare class QueryEngine {
61
68
  private currentModel?;
62
69
  private currentReasoning?;
63
70
  private currentFastMode;
71
+ private running;
72
+ private pendingSessionSettings;
73
+ private sessionPromptState?;
74
+ private activeSessionPrompt;
75
+ private readonly ephemeralSessionKey;
76
+ private settingsMutation;
64
77
  private currentContextWindowTokens?;
65
78
  private currentModelGateway;
66
79
  private sessionInitialized;
80
+ private sessionInitialization?;
67
81
  private titleSchedulerVersion;
68
82
  private titleAgentRun?;
69
83
  private readonly sessionTitleListeners;
70
84
  private readonly appPromptStore;
71
85
  private readonly contextManager;
86
+ private readonly baselineContextManager;
72
87
  private readonly additionalPromptContextManager;
73
88
  private pendingCwdTransitionPaths?;
74
89
  private pendingRequestContext?;
@@ -87,6 +102,19 @@ export declare class QueryEngine {
87
102
  displayText?: string;
88
103
  stopAfterTurn?: QueryOptions["stopAfterTurn"];
89
104
  }): AsyncGenerator<AgentEvent>;
105
+ /** Queue instance-local settings; no prompt messages or provider-global mutation. */
106
+ updateSessionSettings(patch: SessionSettingsPatch): Promise<{
107
+ deferred: boolean;
108
+ compaction?: CompactionResult;
109
+ }>;
110
+ /** Editor state includes accepted queued changes; runtime exports still describe the active turn. */
111
+ getSessionPrompt(): Promise<SessionPromptSnapshot>;
112
+ updateSessionPrompt(input: SessionPromptUpdate): Promise<SessionPromptUpdateResult>;
113
+ private sessionPromptKey;
114
+ getPendingSessionSettings(): PendingSessionSettings;
115
+ private consumeSessionSettings;
116
+ private applySessionSettings;
117
+ private flushSessionSettings;
90
118
  setModel(model: string | undefined, reasoning?: ReasoningConfig | null, updateReasoning?: boolean): void;
91
119
  setModelProvider(settings: {
92
120
  modelGateway: ModelGateway;
@@ -129,6 +157,7 @@ export declare class QueryEngine {
129
157
  private applyCompactionResult;
130
158
  contextMetrics(): Promise<ContextMetrics>;
131
159
  promptExportSnapshot(): Promise<SessionPromptExportSnapshot>;
160
+ refreshToolsIfIdle(): void;
132
161
  private buildPromptExportSnapshot;
133
162
  private recordSyntheticToolCalls;
134
163
  private persistMessageImages;