@prestyj/cli 5.30.2 → 5.30.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.
Files changed (116) hide show
  1. package/dist/app-sidecar/app-settings.d.ts +6 -2
  2. package/dist/app-sidecar/app-settings.js +39 -20
  3. package/dist/app-sidecar/app-settings.js.map +1 -1
  4. package/dist/app-sidecar/git-target.d.ts +17 -0
  5. package/dist/app-sidecar/git-target.js +31 -0
  6. package/dist/app-sidecar/git-target.js.map +1 -0
  7. package/dist/app-sidecar/goal-routes.d.ts +26 -0
  8. package/dist/app-sidecar/goal-routes.js +445 -0
  9. package/dist/app-sidecar/goal-routes.js.map +1 -0
  10. package/dist/app-sidecar/history-routes.d.ts +13 -0
  11. package/dist/app-sidecar/history-routes.js +36 -25
  12. package/dist/app-sidecar/history-routes.js.map +1 -1
  13. package/dist/app-sidecar/mcp-routes.js +1 -2
  14. package/dist/app-sidecar/mcp-routes.js.map +1 -1
  15. package/dist/app-sidecar/route-context.d.ts +12 -0
  16. package/dist/app-sidecar/run-control-routes.js +2 -1
  17. package/dist/app-sidecar/run-control-routes.js.map +1 -1
  18. package/dist/app-sidecar/session-routes.js +41 -0
  19. package/dist/app-sidecar/session-routes.js.map +1 -1
  20. package/dist/app-sidecar/session-types.d.ts +2 -0
  21. package/dist/app-sidecar/workspace-routes.js +13 -95
  22. package/dist/app-sidecar/workspace-routes.js.map +1 -1
  23. package/dist/app-sidecar.js +213 -60
  24. package/dist/app-sidecar.js.map +1 -1
  25. package/dist/cli/shared.js +1 -1
  26. package/dist/cli/shared.js.map +1 -1
  27. package/dist/core/acceptance-checks.js +17 -4
  28. package/dist/core/acceptance-checks.js.map +1 -1
  29. package/dist/core/agent-notifications.d.ts +1 -1
  30. package/dist/core/agent-session.d.ts +83 -5
  31. package/dist/core/agent-session.js +174 -59
  32. package/dist/core/agent-session.js.map +1 -1
  33. package/dist/core/ask-user.d.ts +11 -0
  34. package/dist/core/ask-user.js +6 -1
  35. package/dist/core/ask-user.js.map +1 -1
  36. package/dist/core/auth-providers.d.ts +2 -80
  37. package/dist/core/auth-providers.js +4 -183
  38. package/dist/core/auth-providers.js.map +1 -1
  39. package/dist/core/cache-diagnostics.d.ts +1 -1
  40. package/dist/core/cache-diagnostics.js +2 -1
  41. package/dist/core/cache-diagnostics.js.map +1 -1
  42. package/dist/core/compaction/tool-result-pruner.d.ts +10 -0
  43. package/dist/core/compaction/tool-result-pruner.js +12 -0
  44. package/dist/core/compaction/tool-result-pruner.js.map +1 -1
  45. package/dist/core/context-files.d.ts +8 -0
  46. package/dist/core/context-files.js +46 -0
  47. package/dist/core/context-files.js.map +1 -0
  48. package/dist/core/env-delta.d.ts +9 -1
  49. package/dist/core/env-delta.js +20 -0
  50. package/dist/core/env-delta.js.map +1 -1
  51. package/dist/core/goals-store.d.ts +208 -0
  52. package/dist/core/goals-store.js +521 -0
  53. package/dist/core/goals-store.js.map +1 -0
  54. package/dist/core/local-endpoint-store.js +15 -11
  55. package/dist/core/local-endpoint-store.js.map +1 -1
  56. package/dist/core/project-discovery.d.ts +7 -0
  57. package/dist/core/project-discovery.js +9 -3
  58. package/dist/core/project-discovery.js.map +1 -1
  59. package/dist/core/radio.d.ts +2 -3
  60. package/dist/core/radio.js.map +1 -1
  61. package/dist/core/session-manager.d.ts +7 -1
  62. package/dist/core/session-manager.js +17 -7
  63. package/dist/core/session-manager.js.map +1 -1
  64. package/dist/core/session-storage.d.ts +3 -0
  65. package/dist/core/session-storage.js +8 -2
  66. package/dist/core/session-storage.js.map +1 -1
  67. package/dist/core/steroids.d.ts +8 -0
  68. package/dist/core/steroids.js +19 -3
  69. package/dist/core/steroids.js.map +1 -1
  70. package/dist/core/subagent-manager.d.ts +51 -0
  71. package/dist/core/subagent-manager.js +103 -16
  72. package/dist/core/subagent-manager.js.map +1 -1
  73. package/dist/core/subagent-store.js +2 -1
  74. package/dist/core/subagent-store.js.map +1 -1
  75. package/dist/goals-agent/goal-team.d.ts +2 -0
  76. package/dist/goals-agent/goal-team.js +83 -0
  77. package/dist/goals-agent/goal-team.js.map +1 -0
  78. package/dist/goals-agent/goals-agent.d.ts +90 -0
  79. package/dist/goals-agent/goals-agent.js +246 -0
  80. package/dist/goals-agent/goals-agent.js.map +1 -0
  81. package/dist/index.js +1 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/interactive.js +4 -3
  84. package/dist/interactive.js.map +1 -1
  85. package/dist/modes/subagent-worker-mode.d.ts +14 -0
  86. package/dist/modes/subagent-worker-mode.js +32 -1
  87. package/dist/modes/subagent-worker-mode.js.map +1 -1
  88. package/dist/system-prompt.d.ts +8 -0
  89. package/dist/system-prompt.js +21 -9
  90. package/dist/system-prompt.js.map +1 -1
  91. package/dist/tools/bash-read-evidence.d.ts +13 -0
  92. package/dist/tools/bash-read-evidence.js +48 -1
  93. package/dist/tools/bash-read-evidence.js.map +1 -1
  94. package/dist/tools/index.d.ts +7 -1
  95. package/dist/tools/index.js +10 -2
  96. package/dist/tools/index.js.map +1 -1
  97. package/dist/tools/read-tracker.d.ts +6 -12
  98. package/dist/tools/read-tracker.js +21 -36
  99. package/dist/tools/read-tracker.js.map +1 -1
  100. package/dist/tools/read.js +2 -2
  101. package/dist/tools/read.js.map +1 -1
  102. package/dist/tools/subagent-control.js +22 -3
  103. package/dist/tools/subagent-control.js.map +1 -1
  104. package/dist/tools/write.js +110 -8
  105. package/dist/tools/write.js.map +1 -1
  106. package/dist/ui/components/ActivityIndicator.d.ts +5 -5
  107. package/dist/ui/components/InputArea.d.ts +2 -2
  108. package/dist/ui/components/InputArea.js +3 -3
  109. package/dist/ui/components/InputArea.js.map +1 -1
  110. package/dist/ui/components/ToolExecution.d.ts +2 -2
  111. package/dist/ui/hooks/useContextCompaction.js +38 -31
  112. package/dist/ui/hooks/useContextCompaction.js.map +1 -1
  113. package/dist/utils/format.d.ts +0 -4
  114. package/dist/utils/format.js +0 -7
  115. package/dist/utils/format.js.map +1 -1
  116. package/package.json +4 -4
@@ -0,0 +1,246 @@
1
+ import { AgentSession } from "../core/agent-session.js";
2
+ import { readGoalMemory, renderGoalPrompt, } from "../core/goals-store.js";
3
+ import { collectProjectContext } from "../system-prompt.js";
4
+ import { getModel } from "../core/model-registry.js";
5
+ import { GOAL_TEAM } from "./goal-team.js";
6
+ /**
7
+ * Little Nolan's faces in the Workers view's dialogue box. EZ Goals picks one
8
+ * for the spoken line it ends a message with (`[nolan:face] …`). Must match
9
+ * KEN_FACES in ezcoder-app/src/goal-nolan-talk.ts, which reads the line (an unknown
10
+ * face falls back to neutral there).
11
+ */
12
+ export const KEN_FACES = [
13
+ "neutral",
14
+ "happy",
15
+ "excited",
16
+ "thinking",
17
+ "focused",
18
+ "surprised",
19
+ "worried",
20
+ "sad",
21
+ "proud",
22
+ "wink",
23
+ ];
24
+ /**
25
+ * EZ Goals: the orchestrator a Goal window talks to. It is its own agent, not
26
+ * EZ Coder with a note attached: its identity and the goal brief form its
27
+ * system prompt, it has no plan mode (it plans in the conversation), and its
28
+ * prompt cache is keyed apart from coding sessions.
29
+ */
30
+ export const GOALS_SYSTEM_PROMPT = `You are EZ Goals, inside EZ Coder. The user hands you a goal and may walk away until it's done, and you own it end to end: you understand it, agree the approach with the user up front, get the work done (yourself, or with a team of workers when the work splits into big independent parts), and keep the user informed until the goal is met.
31
+
32
+ ## How you work
33
+
34
+ - One goal, one ongoing conversation. Treat earlier messages as shared history, not as a fresh request.
35
+ - Before the goal starts you only read (read, ls, find, web search) and ask; editing, writing, running commands and starting workers open once the user starts it.
36
+ - Do the work yourself by default: you already know the goal and have read what matters, while a worker starts cold and re-reads everything. That covers anything connected (one project, one document, one report), anything you can finish in a few minutes, and research you can do with a few searches. Never start a single worker for work you could do yourself.
37
+ - Start workers only for parts that are big and independent of each other, two or more at once so they run side by side: separate projects or repos, separate research topics that each need many searches, separate large documents. Do any small or connected part yourself while they run.
38
+ - When you do the work yourself, work like your team does: change files in place (never branch, commit or push), never change the machine itself (no global installs or logins), don't read a file back after editing it, prove it with the narrowest check (a test, a build, the command itself) run as a plain command (chain checks only with &&: a check behind ; or || or in a loop can hide a failure, so it doesn't count and has to be run again), and give the URL of every source you rely on in research.
39
+ - Your team (spawn_agent's agent): builder makes changes (writes, edits, runs commands); scout looks around the attached folders without changing anything; researcher finds things out on the web, with sources; checker checks a finished task and fixes what's wrong in the same pass. Workers change files in place for the user to review; they never branch or commit.
40
+ - Size the team to the work: every extra worker costs a fresh start and re-reads, so split only into parts that are independent and each substantial, and start those workers together in one spawn_agent call. Give each worker everything its part needs (its tests, its section of the docs, its piece of a shared file) rather than saving that for a final worker after the rest: a final step waits for every other worker and then starts from scratch. Keep a final worker only for work that truly needs all the parts done, like a write-up drawing on all the research. Brief each worker fully, as it sees nothing of this conversation: the goal, the exact files or area, constraints, and what to report back. Set each worker's cwd to the attached folder it mostly works in; every worker can also reach the goal's other attached folders. List the files a worker needs that you've already read in its context_files, so it starts with their contents instead of reading them again; name any others by full path in the brief. Attached files are for reading (to change one, the user attaches its folder). Keep briefs to what to do and what done looks like, at the size the user asked for: never raise a target or widen the scope in a brief (a minimum stays the minimum, not a floor to aim past; a "cover the states" answer is not a 50-state table), since every extra is paid for in time and tokens, and a fix round should only close a real gap against what was asked. Workers already know to stop and report a blocker rather than guess.
41
+ - Handle each worker the moment it finishes, not when they all have. Wait with wait_agent using condition "any" (never "all" while there is other work to hand out): check that worker's report, give it its next task with followup_task or start a new worker, then wait again for the rest. Steer a running worker with send_message, and stop one that has gone off track with interrupt_agent.
42
+ - Check what a worker reports before you rely on it. When its checks passed and the report is clear, rely on it; read its output yourself only when something wasn't verified or you need its content for your summary. Send a checker only for important work you can't check by reading. When a task has a check that proves it (a test suite, a build, a command), name it in spawn_agent's checks (command_passed, written as the worker runs it in its cwd, like \`npm test\`; plus file_exists or file_changed for what it makes), so it's verified when the worker finishes; never send a checker just to re-run a command the builder already ran. A checker fixes what it finds itself, so never send a builder after a checker to fix its findings.
43
+ - Keep rounds few: each task gets at most one fix round (a followup_task to the same worker, which keeps what it learned, or one checker). If it still isn't right after that, stop and tell the user what's wrong rather than going back and forth.
44
+ - When a worker fails, times out or reports it couldn't finish, find out why from its report. If it was a passing error or a weak brief, retry once: followup_task on the same worker if it stopped normally (it keeps what it learned), or a fresh worker with a sharper brief if it crashed or timed out (a crashed worker is closed and can't take a follow-up). If it fails again, or only the user can fix the cause, stop that piece of work and tell the user plainly what failed and what you need. Never drop failed work quietly or count it as done.
45
+ - When a worker reports a blocker, settle it yourself if the goal and this conversation already answer it, and send the answer with followup_task. Otherwise ask the user with ask_user, and keep the other workers going while you wait for their answer.
46
+ - Work that needs the user's own accounts or machine (a login, credentials, installing software system-wide, payments) belongs in the briefing, before the start: find out then what's installed and whether they're signed in, by asking. If after the start it turns out to be missing, stop that piece of work and tell the user what they need to do; never have a worker install or sign in on their behalf.
47
+ - Once the goal has started, the user may be away: ask them only when work can't go on without a decision only they can make. Settle small follow-on choices yourself (tidying, naming, an obvious next step inside the goal) and say what you chose in your summary; offer optional extras in the summary instead of asking.
48
+ - When the user messages you while workers are running, answer them first in a short message (where each piece of work stands), then go back to waiting. Never leave a message unanswered until the end.
49
+ - Before your final summary, collect every finished worker's report (wait_agent with their agent_ids), so you write the summary once, complete.
50
+ - Ask the user only for what you cannot look up.
51
+ - Be exact about status. Never say something is done, fixed or verified unless you checked it, and say plainly when something could not be checked.
52
+ - Keep the user in the loop without flooding them: short updates when something finishes, needs a decision, or is blocked.
53
+
54
+ ## Talking to the user
55
+
56
+ Plain words, short paragraphs, no jargon the user did not use. Lead with the answer or the outcome. Use ask_user for real decisions, with your recommendation marked; never ask in prose what a clickable choice can answer.
57
+
58
+ ## Your line on the farm
59
+
60
+ Once the goal has started, the user often watches the Workers view instead of the chat, where you are little Nolan on a farm with a dialogue box that pops up now and then. Short progress notes between tool calls are said there as they are, so keep those to one plain sentence or two. After the start, the message that ends your turn (your summary, a blocker, a question) always ends with one spoken line for it, as its very last line and nowhere else, in exactly this form:
61
+
62
+ [nolan:face] what you'd say out loud
63
+
64
+ - face is one of: ${KEN_FACES.join(", ")}. Match the moment: focused while working, happy when a part is done, proud when a result beats the target, surprised when you find something, worried about a risk, sad when something failed, excited when the goal is reached, thinking when weighing a choice, wink for a tip, neutral otherwise.
65
+ - The line is one or two short sentences (under 120 characters) of plain speech, the gist for someone glancing over: no Markdown, tables, code, file paths or links. For example: [nolan:happy] Images done. Mobile load is down to 1.4 seconds.
66
+ - The chat hides this line, so never refer to it, and keep everything the user needs in the message itself. Skip it before the start.`;
67
+ /** Agent tools EZ Goals always has, instead of finding them via tool_search. */
68
+ export const GOALS_CORE_TOOLS = [
69
+ "spawn_agent",
70
+ "wait_agent",
71
+ "send_message",
72
+ "followup_task",
73
+ "list_agents",
74
+ "interrupt_agent",
75
+ "web_search",
76
+ "web_fetch",
77
+ // Reading the attached context without a shell.
78
+ "find",
79
+ "ls",
80
+ ];
81
+ /**
82
+ * The model EZ Goals' workers ("critters") run on, from the goal's pick. A
83
+ * pick whose model is gone from the registry, or now belongs to a different
84
+ * provider, is ignored, so workers fall back to EZ Goals' own model.
85
+ */
86
+ export function goalCritterPick(record) {
87
+ const pick = record?.critterModel;
88
+ if (!pick)
89
+ return undefined;
90
+ const model = getModel(pick.model);
91
+ if (!model || model.provider !== pick.provider)
92
+ return undefined;
93
+ return { provider: model.provider, model: model.id };
94
+ }
95
+ /** EZ Goals' full prompt body: identity first, then this goal's brief. */
96
+ export function buildGoalsAgentPrompt(goal, extras = {}) {
97
+ return `${GOALS_SYSTEM_PROMPT}\n\n${renderGoalPrompt(goal.dir, goal.record, extras)}`;
98
+ }
99
+ /**
100
+ * Read what EZ Goals' brief carries besides the goal, once per session: its
101
+ * memory, and each attached folder's instruction files (AGENTS.md, CLAUDE.md…).
102
+ * EZ Goals' own cwd is the goal folder, so without this it never saw the rules
103
+ * of the projects it works in. A folder that can't be read just has no rules.
104
+ */
105
+ export async function loadGoalBriefExtras(goal) {
106
+ const folders = goal.record.context.filter((item) => item.kind === "folder");
107
+ const [memory, projectRules] = await Promise.all([
108
+ readGoalMemory(goal.dir),
109
+ Promise.all(folders.map(async (item) => ({
110
+ folder: item.path,
111
+ rules: await collectProjectContext(item.path).catch(() => []),
112
+ }))),
113
+ ]);
114
+ return { memory, projectRules };
115
+ }
116
+ /**
117
+ * Tools that do or start work: held until the user starts the goal, then
118
+ * EZ Goals' own. It does small and connected work itself (a worker starts
119
+ * cold and re-reads everything; live runs showed one session beating a
120
+ * single worker on every such goal), and starts workers for big independent
121
+ * parts. Same tool schemas either way, so the cached tool block never changes.
122
+ */
123
+ export const GOALS_START_TOOLS = new Set([
124
+ "edit",
125
+ "write",
126
+ "bash",
127
+ "spawn_agent",
128
+ "followup_task",
129
+ ]);
130
+ /**
131
+ * Tools EZ Goals never has: UI component adoption and image generation (not
132
+ * part of a goal's work), and the one-shot \`subagent\`, which always runs in
133
+ * EZ Goals' own goal folder and can't be pointed at an attached folder;
134
+ * spawn_agent is the only way it starts workers.
135
+ */
136
+ export const GOALS_WITHOUT_TOOLS = ["ui_adopt", "generate_image", "subagent"];
137
+ /** What editing, running or starting work returns during the briefing. */
138
+ export const BRIEFING_ERROR = "Not yet: the goal hasn't started. During the briefing you only read (read, ls, find, web search) and ask. Editing, running commands and starting workers open once the user starts the goal. If the user has told you to go ahead, ask the start question now with ask_user (the goal starts when they pick it); never begin the work before that.";
139
+ /** Error text ask_user returns while EZ Goals has not spoken yet. */
140
+ export const GREET_FIRST_ERROR = "Not yet: write to the user first. Greet them and say the goal back in your own words as a normal message, then ask.";
141
+ function hasAssistantText(messages) {
142
+ return messages.some((m) => m.role === "assistant" &&
143
+ (typeof m.content === "string"
144
+ ? m.content.trim().length > 0
145
+ : Array.isArray(m.content) &&
146
+ m.content.some((part) => typeof part === "object" &&
147
+ part !== null &&
148
+ part.type === "text" &&
149
+ typeof part.text === "string" &&
150
+ part.text.trim().length > 0)));
151
+ }
152
+ /**
153
+ * Hold ask_user until EZ Goals has written something to the user. A question
154
+ * card as the very first thing in a new goal reads as an interrogation, and a
155
+ * card shown before the turn's text would sit above the greeting. Once there
156
+ * is any assistant text (this run or an earlier one), the tool is untouched.
157
+ */
158
+ /**
159
+ * Added to the answer that starts the goal. The kickoff told EZ Goals not to
160
+ * start work in its first reply, and the start question usually rides on that
161
+ * same reply's card: without this it stopped right after the user started the
162
+ * goal (live run, "Add a blog"), and the goal sat idle.
163
+ */
164
+ export const GOAL_STARTED_NOTE = "\n\nThe goal has started. Start the work now, in this reply: do it yourself, or start workers for its big independent parts.";
165
+ /**
166
+ * EZ Goals' ask_user: never before it has greeted the user, and the answer
167
+ * that starts the goal comes back with GOAL_STARTED_NOTE.
168
+ */
169
+ function goalAskUser(tools, hasSpoken, isActive) {
170
+ return tools.map((tool) => tool.name !== "ask_user"
171
+ ? tool
172
+ : {
173
+ ...tool,
174
+ execute: async (args, context) => {
175
+ if (!hasSpoken())
176
+ throw new Error(GREET_FIRST_ERROR);
177
+ const wasActive = isActive();
178
+ const result = await tool.execute(args, context);
179
+ if (wasActive || !isActive())
180
+ return result;
181
+ if (typeof result === "string")
182
+ return result + GOAL_STARTED_NOTE;
183
+ const { content } = result;
184
+ return {
185
+ ...result,
186
+ content: typeof content === "string"
187
+ ? content + GOAL_STARTED_NOTE
188
+ : [...content, { type: "text", text: GOAL_STARTED_NOTE.trim() }],
189
+ };
190
+ },
191
+ });
192
+ }
193
+ /**
194
+ * Create a EZ Goals session. Sessions are stored like coding sessions, keyed by
195
+ * the goal folder, so the goal list and goal deletion find them there.
196
+ */
197
+ export function createGoalsAgentSession(options) {
198
+ const { goal, extras, additionalTools = [], isActive = () => false, ...sessionOptions } = options;
199
+ let spokeThisSession = false;
200
+ // `getMessages()` is the conversation as of the last finished run, so text
201
+ // streamed in the current run is tracked live alongside it.
202
+ const hasSpoken = () => spokeThisSession || hasAssistantText(session.getMessages());
203
+ const session = new AgentSession({
204
+ ...sessionOptions,
205
+ additionalTools: goalAskUser(additionalTools, hasSpoken, isActive),
206
+ // The goal is static for a session, so its brief belongs in the cached
207
+ // prefix rather than a per-run tail.
208
+ agentPrompt: buildGoalsAgentPrompt(goal, extras),
209
+ // Talks to the user directly, so no sub-agent return contract.
210
+ agentRole: "primary",
211
+ // The goal folder holds notes, not a codebase; attached folders are added
212
+ // as workspace roots and read on demand.
213
+ agentContext: "none",
214
+ promptCacheKeyPrefix: "gggoals",
215
+ // Orchestrating is the job: bringing in workers, steering them and
216
+ // waiting on them must not need a tool_search first.
217
+ coreTools: GOALS_CORE_TOOLS,
218
+ withoutTools: GOALS_WITHOUT_TOOLS,
219
+ // Its own team (goal-team.ts), never EZ Coder's or the user's agents,
220
+ // and each worker can reach every attached folder, not only its own.
221
+ subAgents: GOAL_TEAM,
222
+ shareRootsWithSubAgents: true,
223
+ // A worker started without naming an agent is still a team member.
224
+ defaultSubAgent: "builder",
225
+ // The team only starts once the user starts the goal. Same tool schemas
226
+ // either way, so the cached tool block never changes.
227
+ wrapTool: (tool) => {
228
+ if (!GOALS_START_TOOLS.has(tool.name))
229
+ return tool;
230
+ return {
231
+ ...tool,
232
+ execute: async (args, context) => {
233
+ if (!isActive())
234
+ throw new Error(BRIEFING_ERROR);
235
+ return tool.execute(args, context);
236
+ },
237
+ };
238
+ },
239
+ });
240
+ session.eventBus.on("text_delta", ({ text }) => {
241
+ if (text.trim())
242
+ spokeThisSession = true;
243
+ });
244
+ return session;
245
+ }
246
+ //# sourceMappingURL=goals-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goals-agent.js","sourceRoot":"","sources":["../../src/goals-agent/goals-agent.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,6 +12,6 @@ export { runPrintMode } from "./modes/index.js";
12
12
  export { renderApp } from "./ui/render.js";
13
13
  // Config
14
14
  export { APP_NAME, VERSION, getAppPaths, ensureAppDirs } from "./config.js";
15
- // Project discovery (shared with ezboss + ezcoder-app sidecar)
15
+ // Project discovery (shared with the ezcoder-app sidecar)
16
16
  export { discoverProjects, listRecentSessions, } from "./core/project-discovery.js";
17
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,kCAAkC;AAClC,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO;AACP,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,cAAc,EACd,cAAc,EACd,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,WAAW;AACX,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,SAAS;AACT,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5E,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,kCAAkC;AAClC,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,OAAO;AACP,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,cAAc,EACd,cAAc,EACd,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,WAAW;AACX,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,SAAS;AACT,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5E,0DAA0D;AAC1D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,6BAA6B,CAAC"}
@@ -4,7 +4,8 @@ import { agentLoop } from "@prestyj/agent";
4
4
  import { buildSystemPrompt } from "./system-prompt.js";
5
5
  import { createTools } from "./tools/index.js";
6
6
  import { createSession, loadSession, getMostRecentSession, persistMessage, } from "./session.js";
7
- import { formatToolCallStart, formatToolCallEnd, formatUsage, formatError, formatWelcome, } from "./utils/format.js";
7
+ import { formatToolCallStart, formatToolCallEnd, formatUsage, formatWelcome, } from "./utils/format.js";
8
+ import { formatUserError } from "./utils/error-handler.js";
8
9
  import { AuthStorage } from "./core/auth-storage.js";
9
10
  import { kimiCodingHeaders, isKimiCodingEndpoint } from "./core/oauth/kimi.js";
10
11
  import { ensureAppDirs, loadSavedSettings } from "./config.js";
@@ -195,7 +196,7 @@ export async function runInteractive(config) {
195
196
  stdout.write("\n\nInterrupted.\n");
196
197
  }
197
198
  else {
198
- stdout.write("\n" + formatError(err instanceof Error ? err : new Error(String(err))) + "\n");
199
+ stdout.write("\n" + formatUserError(err instanceof Error ? err : new Error(String(err))) + "\n");
199
200
  }
200
201
  }
201
202
  finally {
@@ -238,7 +239,7 @@ function renderEvent(event) {
238
239
  // Final usage summary already shown via turn_end
239
240
  break;
240
241
  case "error":
241
- stdout.write(formatError(event.error) + "\n");
242
+ stdout.write(formatUserError(event.error) + "\n");
242
243
  break;
243
244
  }
244
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
@@ -31,11 +31,25 @@ export declare function classifyResolvedTurn(turn: {
31
31
  /** The limit the turn ran under, for the timeout message. Defaults to SUB_AGENT_TIMEOUT_MS. */
32
32
  timeLimitMs?: number;
33
33
  }): TurnOutcome;
34
+ /**
35
+ * Add the parent's shared roots to a child's workspace (see
36
+ * SubagentWorkerInitialize.additionalRoots). A root that's gone or already
37
+ * covered is skipped, never fatal: the child still has its own folder.
38
+ * Returns the roots added.
39
+ */
40
+ export declare function addSharedRoots(session: Pick<AgentSession, "addDirectory">, roots: readonly string[]): Promise<string[]>;
41
+ /** Absolute folder paths from a parent frame; anything else is dropped. */
42
+ export declare function parseRootList(value: unknown): string[];
34
43
  export interface SubagentWorkerInitialize {
35
44
  provider: Provider;
36
45
  model: string;
37
46
  fallbackModel?: string;
38
47
  cwd: string;
48
+ /**
49
+ * More folders the child may read and change besides its cwd (the
50
+ * parent's shared workspace roots, see SubAgentManager.shareWorkspaceRoots).
51
+ */
52
+ additionalRoots?: string[];
39
53
  baseUrl?: string;
40
54
  /** Replaces the whole system prompt. */
41
55
  systemPrompt?: string;
@@ -1,5 +1,7 @@
1
+ import path from "node:path";
1
2
  import { createInterface } from "node:readline";
2
3
  import { AgentSession } from "../core/agent-session.js";
4
+ import { log } from "../core/logger.js";
3
5
  import { isModelUnavailableError } from "../core/model-unavailable.js";
4
6
  import { boundSubAgentOutput, promptSubAgent, SUB_AGENT_MAX_TURN_EXTENSIONS, SUB_AGENT_TIMEOUT_MS, SUB_AGENT_TIMEOUT_RECOVERY_MS, subAgentThinkingLevel, } from "../tools/subagent-shared.js";
5
7
  import { writeTurnRecord } from "../core/subagent-turn-record.js";
@@ -63,6 +65,30 @@ export function classifyResolvedTurn(turn) {
63
65
  return { status: "failed", error: turn.loopError };
64
66
  return { status: "completed" };
65
67
  }
68
+ /**
69
+ * Add the parent's shared roots to a child's workspace (see
70
+ * SubagentWorkerInitialize.additionalRoots). A root that's gone or already
71
+ * covered is skipped, never fatal: the child still has its own folder.
72
+ * Returns the roots added.
73
+ */
74
+ export async function addSharedRoots(session, roots) {
75
+ const added = [];
76
+ for (const root of roots) {
77
+ const result = await session.addDirectory(root);
78
+ if (result.ok)
79
+ added.push(result.root);
80
+ else if (!result.error.startsWith("Already in the workspace")) {
81
+ log("WARN", "subagent-worker", "shared workspace root unavailable", { error: result.error });
82
+ }
83
+ }
84
+ return added;
85
+ }
86
+ /** Absolute folder paths from a parent frame; anything else is dropped. */
87
+ export function parseRootList(value) {
88
+ if (!Array.isArray(value))
89
+ return [];
90
+ return value.filter((root) => typeof root === "string" && path.isAbsolute(root));
91
+ }
66
92
  /** Set once our stdout pipe dies (parent restart). See runSubagentWorkerMode. */
67
93
  let orphaned = false;
68
94
  function emit(frame) {
@@ -164,7 +190,7 @@ export async function runSubagentWorkerMode() {
164
190
  }
165
191
  };
166
192
  const createSession = async (options) => {
167
- const { fallbackModel: _fallbackModel, childSessionPath, turnTimeoutMs: _turnTimeoutMs, ...sessionOptions } = options;
193
+ const { fallbackModel: _fallbackModel, childSessionPath, turnTimeoutMs: _turnTimeoutMs, additionalRoots = [], ...sessionOptions } = options;
168
194
  const next = new AgentSession({
169
195
  ...sessionOptions,
170
196
  maxTurns: 50,
@@ -177,6 +203,8 @@ export async function runSubagentWorkerMode() {
177
203
  });
178
204
  wireEvents(next);
179
205
  await next.initialize();
206
+ // Before the first turn, so the prompt names every root from the start.
207
+ await addSharedRoots(next, additionalRoots);
180
208
  return next;
181
209
  };
182
210
  const runTurn = (task, checks) => {
@@ -337,6 +365,9 @@ export async function runSubagentWorkerMode() {
337
365
  throw new Error("Worker is not initialized");
338
366
  if (state === "running")
339
367
  throw new Error("Worker already has an active turn");
368
+ if (command.command === "followup") {
369
+ await addSharedRoots(session, parseRootList(command.additionalRoots));
370
+ }
340
371
  acknowledge(command.request_id, { status: "running" });
341
372
  runTurn(command.task, parseAcceptanceChecks(command.checks));
342
373
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-worker-mode.js","sourceRoot":"","sources":["../../src/modes/subagent-worker-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-worker-mode.js","sourceRoot":"","sources":["../../src/modes/subagent-worker-mode.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,12 @@ export interface SystemPromptEnvironment {
33
33
  * a narration of the search that produced it.
34
34
  */
35
35
  export declare const SUBAGENT_RETURN_CONTRACT: string;
36
+ /**
37
+ * Style packs plus the matching verify commands for the given languages, as
38
+ * prompt sections. Shared by the main prompt, the sub-agent prompt and the
39
+ * mid-session language update so all three say the same thing.
40
+ */
41
+ export declare function renderLanguageGuidance(languages: Set<LanguageId> | undefined, cwd: string): string[];
36
42
  /**
37
43
  * Build a sub-agent's system prompt: its own definition PLUS the scaffolding
38
44
  * that teaches correct tool use.
@@ -61,6 +67,8 @@ export declare function buildSubAgentSystemPrompt(agentBody: string, opts: {
61
67
  environment?: SystemPromptEnvironment;
62
68
  /** Byte budgets for skill catalog / project instructions / total ceiling. */
63
69
  contextLimits?: ContextLimits;
70
+ /** Detected project languages; rendered only with `context: "project"`. */
71
+ activeLanguages?: Set<LanguageId>;
64
72
  }): Promise<string>;
65
73
  /**
66
74
  * Build the system prompt dynamically based on cwd and context.
@@ -359,6 +359,23 @@ export const SUBAGENT_RETURN_CONTRACT = `## Report\n\n` +
359
359
  `- Lead with the answer; cite evidence as \`file:line\`, don't paste file bodies.\n` +
360
360
  `- Say what you verified and how; never claim a check you did not run. Name blockers and assumptions.\n` +
361
361
  `- Under ~400 words; write larger findings to a file and return its path.`;
362
+ /**
363
+ * Style packs plus the matching verify commands for the given languages, as
364
+ * prompt sections. Shared by the main prompt, the sub-agent prompt and the
365
+ * mid-session language update so all three say the same thing.
366
+ */
367
+ export function renderLanguageGuidance(languages, cwd) {
368
+ if (!languages || languages.size === 0)
369
+ return [];
370
+ const sections = [];
371
+ const stylePacks = renderStylePacksSection(languages, cwd);
372
+ if (stylePacks)
373
+ sections.push(stylePacks);
374
+ const verifySection = renderVerifySection(detectVerifyCommands(cwd, languages));
375
+ if (verifySection)
376
+ sections.push(verifySection);
377
+ return sections;
378
+ }
362
379
  /**
363
380
  * Build a sub-agent's system prompt: its own definition PLUS the scaffolding
364
381
  * that teaches correct tool use.
@@ -390,6 +407,9 @@ export async function buildSubAgentSystemPrompt(agentBody, opts) {
390
407
  sections.push(delegationSection);
391
408
  if ((opts.context ?? "project") === "project") {
392
409
  sections.push(renderProjectContextSection(await collectProjectContext(opts.cwd, limits)));
410
+ // A code-writing child follows the same per-language defaults as the
411
+ // parent, or its code drifts from what the main session would write.
412
+ sections.push(...renderLanguageGuidance(opts.activeLanguages, opts.cwd));
393
413
  const platformClis = renderPlatformClisSection(detectPlatformClis(opts.cwd));
394
414
  if (platformClis)
395
415
  sections.push(platformClis);
@@ -458,15 +478,7 @@ export async function buildSystemPrompt(cwd, skills, planMode, approvedPlanPath,
458
478
  if (delegationSection)
459
479
  sections.push(delegationSection);
460
480
  sections.push(renderProjectContextSection(await collectProjectContext(cwd, limits)));
461
- if (activeLanguages && activeLanguages.size > 0) {
462
- const stylePacks = renderStylePacksSection(activeLanguages, cwd);
463
- if (stylePacks)
464
- sections.push(stylePacks);
465
- const verifyCmds = detectVerifyCommands(cwd, activeLanguages);
466
- const verifySection = renderVerifySection(verifyCmds);
467
- if (verifySection)
468
- sections.push(verifySection);
469
- }
481
+ sections.push(...renderLanguageGuidance(activeLanguages, cwd));
470
482
  // The active skill schema already contains this catalog. Keep a fallback for other hosts.
471
483
  if (skills && skills.length > 0 && !(toolNames ?? DEFAULT_TOOL_NAMES).includes("skill")) {
472
484
  const skillsSection = formatSkillsForPrompt(skills, limits);