zelari-code 0.7.8 → 0.7.9

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 (78) hide show
  1. package/README.md +27 -1
  2. package/bin/zelari-code.js +1 -1
  3. package/dist/agents/councilApi.js +7 -7
  4. package/dist/agents/councilApi.js.map +1 -1
  5. package/dist/agents/councilDirectives.js +3 -3
  6. package/dist/agents/promoteMember.js +2 -2
  7. package/dist/agents/roles.js +50 -32
  8. package/dist/agents/roles.js.map +1 -1
  9. package/dist/agents/skills/builtin/debugging.js +4 -4
  10. package/dist/agents/skills/builtin/debugging.js.map +1 -1
  11. package/dist/agents/skills/builtin/docs.js +23 -13
  12. package/dist/agents/skills/builtin/docs.js.map +1 -1
  13. package/dist/agents/skills/builtin/git-ops.js +3 -3
  14. package/dist/agents/skills/builtin/git-ops.js.map +1 -1
  15. package/dist/agents/skills/builtin/planning.js +4 -4
  16. package/dist/agents/skills/builtin/planning.js.map +1 -1
  17. package/dist/agents/skills/builtin/refactoring.js +3 -3
  18. package/dist/agents/skills/builtin/refactoring.js.map +1 -1
  19. package/dist/agents/skills/builtin/review.js +9 -9
  20. package/dist/agents/skills/builtin/review.js.map +1 -1
  21. package/dist/agents/skills/builtin/testing.js +3 -3
  22. package/dist/agents/skills/builtin/testing.js.map +1 -1
  23. package/dist/agents/tools.js +2 -9
  24. package/dist/agents/tools.js.map +1 -1
  25. package/dist/cli/app.js +48 -17
  26. package/dist/cli/app.js.map +1 -1
  27. package/dist/cli/components/CollapsibleToolOutput.js +8 -26
  28. package/dist/cli/components/CollapsibleToolOutput.js.map +1 -1
  29. package/dist/cli/components/Header.js +6 -18
  30. package/dist/cli/components/Header.js.map +1 -1
  31. package/dist/cli/components/Sidebar.js +86 -37
  32. package/dist/cli/components/Sidebar.js.map +1 -1
  33. package/dist/cli/components/SplashScreen.js +117 -71
  34. package/dist/cli/components/SplashScreen.js.map +1 -1
  35. package/dist/cli/components/StatusBar.js +22 -18
  36. package/dist/cli/components/StatusBar.js.map +1 -1
  37. package/dist/cli/councilConfig.js +38 -0
  38. package/dist/cli/councilConfig.js.map +1 -0
  39. package/dist/cli/councilDispatcher.js +35 -49
  40. package/dist/cli/councilDispatcher.js.map +1 -1
  41. package/dist/cli/hooks/useChatTurn.js +80 -61
  42. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  43. package/dist/cli/hooks/useExecutionTimer.js +25 -0
  44. package/dist/cli/hooks/useExecutionTimer.js.map +1 -0
  45. package/dist/cli/hooks/useGitChanges.js +142 -0
  46. package/dist/cli/hooks/useGitChanges.js.map +1 -0
  47. package/dist/cli/hooks/useSlashDispatch.js +9 -2
  48. package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
  49. package/dist/cli/main.bundled.js +1668 -1151
  50. package/dist/cli/main.bundled.js.map +4 -4
  51. package/dist/cli/main.js +1 -1
  52. package/dist/cli/mcp/mcpClient.js +14 -6
  53. package/dist/cli/mcp/mcpClient.js.map +1 -1
  54. package/dist/cli/updater.js +8 -5
  55. package/dist/cli/updater.js.map +1 -1
  56. package/dist/cli/utils/cmdline.js +26 -0
  57. package/dist/cli/utils/cmdline.js.map +1 -0
  58. package/dist/cli/utils/paths.js +20 -0
  59. package/dist/cli/utils/paths.js.map +1 -0
  60. package/dist/cli/workspace/planDetect.js +17 -0
  61. package/dist/cli/workspace/planDetect.js.map +1 -0
  62. package/dist/cli/workspace/postCouncilHook.js +39 -28
  63. package/dist/cli/workspace/postCouncilHook.js.map +1 -1
  64. package/dist/cli/workspace/stubs.js +241 -196
  65. package/dist/cli/workspace/stubs.js.map +1 -1
  66. package/dist/main/core/AgentHarness.js +36 -7
  67. package/dist/main/core/AgentHarness.js.map +1 -1
  68. package/dist/main/core/tools/builtin/listFiles.js +43 -5
  69. package/dist/main/core/tools/builtin/listFiles.js.map +1 -1
  70. package/dist/main/core/tools/builtin/search.js +28 -120
  71. package/dist/main/core/tools/builtin/search.js.map +1 -1
  72. package/package.json +71 -71
  73. package/dist/cli/oauthCallbackServer.js +0 -207
  74. package/dist/cli/oauthCallbackServer.js.map +0 -1
  75. package/dist/main/core/tools/builtin/_walk.js +0 -129
  76. package/dist/main/core/tools/builtin/_walk.js.map +0 -1
  77. package/dist/main/core/tools/builtin/diff.js +0 -477
  78. package/dist/main/core/tools/builtin/diff.js.map +0 -1
@@ -1,82 +1,68 @@
1
1
  /**
2
2
  * councilDispatcher — CLI-side bridge to runCouncilPure.
3
3
  *
4
- * Builds a minimal {@link PureCouncilConfig} from CLI env (apiKey, model,
4
+ * Builds a {@link PureCouncilConfig} from CLI env (apiKey, model,
5
5
  * provider), wires the openai-compatible provider stream, and yields the
6
- * council run as an AsyncIterable<BrainEvent>. The CLI app then renders
7
- * events to the chat and persists them via SessionJsonlWriter.
6
+ * council run as an AsyncIterable<BrainEvent>.
8
7
  *
9
- * Default config:
10
- * - councilSize: 3 (sisyphus + prometheus + hephaestus — no oracle)
11
- * - debateMode: false (no oracle-debate loop)
12
- * - ragContext / workspaceContext: empty (CLI doesn't have a vault here)
13
- *
14
- * Phase 14.7: multi-agent council invocation from the Ink CLI.
8
+ * Default config (v0.7.9):
9
+ * - councilSize: 6 (full council Caronte through Lucifero)
10
+ * - runMode: auto-detected from user message + existing plan
11
+ * - debateMode: false (no multi-round debate loop)
15
12
  *
16
13
  * @see docs/plans/2026-06-28-zelari-code.md (Task 14.7)
17
14
  */
18
- import { runCouncilPure, } from '@zelari/core/council';
19
- import { createWorkspaceContext } from './workspace/stubs.js';
20
- import { createWorkspaceToolRegistry } from './workspace/toolRegistry.js';
15
+ import { runCouncilPure, resolveCouncilRunMode, } from "@zelari/core/council";
16
+ import { resolveCouncilTier } from "./councilConfig.js";
17
+ import { hasWorkspacePlan } from "./workspace/planDetect.js";
18
+ import { createWorkspaceContext } from "./workspace/stubs.js";
19
+ import { createWorkspaceToolRegistry } from "./workspace/toolRegistry.js";
21
20
  export class CouncilDispatchError extends Error {
22
21
  constructor(message) {
23
22
  super(message);
24
- this.name = 'CouncilDispatchError';
23
+ this.name = "CouncilDispatchError";
25
24
  }
26
25
  }
27
- /**
28
- * Run a council on `userMessage` and yield the resulting BrainEvents.
29
- *
30
- * Throws CouncilDispatchError synchronously if apiKey is missing.
31
- * The returned async iterable emits the full council lifecycle; consumers
32
- * should iterate to completion or break early to cancel.
33
- */
34
26
  export async function* dispatchCouncil(userMessage, options) {
35
27
  if (!options.apiKey || options.apiKey.trim().length === 0) {
36
- throw new CouncilDispatchError('Missing apiKey — set OPENAI_API_KEY (or pass it via env) before invoking /council.');
28
+ throw new CouncilDispatchError("Missing apiKey — set OPENAI_API_KEY (or pass it via env) before invoking /council.");
37
29
  }
38
30
  if (!userMessage || userMessage.trim().length === 0) {
39
- throw new CouncilDispatchError('Empty userMessage — /council requires a non-empty input.');
31
+ throw new CouncilDispatchError("Empty userMessage — /council requires a non-empty input.");
40
32
  }
33
+ const projectRoot = options.workspaceRoot ?? process.cwd();
34
+ const { councilSize } = resolveCouncilTier({
35
+ explicitSize: options.councilSize,
36
+ });
37
+ const runMode = options.runMode ??
38
+ resolveCouncilRunMode({
39
+ userMessage,
40
+ hasExistingPlan: hasWorkspacePlan(projectRoot),
41
+ env: process.env,
42
+ });
41
43
  const config = {
42
44
  apiKey: options.apiKey,
43
- provider: options.provider ?? 'openai-compatible',
45
+ provider: options.provider ?? "openai-compatible",
44
46
  model: options.model,
45
- councilSize: options.councilSize ?? 3,
47
+ councilSize,
46
48
  debateMode: options.debateMode ?? false,
47
- ragContext: options.ragContext ?? '',
48
- workspaceContext: options.workspaceContext ?? '',
49
+ runMode,
50
+ ragContext: options.ragContext ?? "",
51
+ workspaceContext: options.workspaceContext ?? "",
49
52
  providerStream: options.providerStream,
50
53
  eventBus: options.eventBus,
51
54
  sessionId: options.sessionId,
52
- // Default to the workspace tool registry (CLI standalone has no
53
- // AnathemaBrain Electron ctx). Pass `tools: undefined` via options
54
- // to skip workspace wiring (e.g. in tests).
55
- tools: options.tools
56
- ?? (options.disableWorkspaceTools
55
+ tools: options.tools ??
56
+ (options.disableWorkspaceTools
57
57
  ? undefined
58
- : createWorkspaceToolRegistry(createWorkspaceContext())),
58
+ : createWorkspaceToolRegistry(createWorkspaceContext(projectRoot))),
59
59
  maxToolCallsPerTurn: options.maxToolCallsPerTurn,
60
60
  feedbackStore: options.feedbackStore,
61
61
  };
62
- // Bug A fix (v0.7.5): also register workspace stubs in the global static
63
- // (setWorkspaceStubs from @zelari/core/skills) so that getAllTools() —
64
- // called by buildSystemPrompt when constructing the AVAILABLE TOOLS block —
65
- // exposes them to the model. Without this, the per-call ToolRegistry can
66
- // execute workspace tool calls, but the model never sees the names in its
67
- // system prompt and either guesses them or skips them.
68
- //
69
- // Mirrors the pattern in src/cli/runHeadless.ts:141-152 and
70
- // src/cli/hooks/useChatTurn.ts:572-586. Dynamic import avoids the load-
71
- // order cycle that a static import would create (councilDispatcher is
72
- // imported by hooks/runHeadless, and @zelari/core/skills is consumed by
73
- // those same modules — see Gotcha #9 of zelari-code-headless-driver).
74
62
  if (!options.disableWorkspaceTools) {
75
- const { setWorkspaceStubs } = await import('@zelari/core/skills');
76
- const { createWorkspaceContext: buildCtx, createWorkspaceStubs: buildStubs } = await import('./workspace/stubs.js');
77
- const wsCtx = options.workspaceRoot
78
- ? buildCtx(options.workspaceRoot)
79
- : buildCtx();
63
+ const { setWorkspaceStubs } = await import("@zelari/core/skills");
64
+ const { createWorkspaceContext: buildCtx, createWorkspaceStubs: buildStubs, } = await import("./workspace/stubs.js");
65
+ const wsCtx = buildCtx(projectRoot);
80
66
  setWorkspaceStubs(buildStubs(wsCtx));
81
67
  }
82
68
  yield* runCouncilPure(userMessage, config, {});
@@ -1 +1 @@
1
- {"version":3,"file":"councilDispatcher.js","sourceRoot":"","sources":["../../src/cli/councilDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AA4D1E,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CACpC,WAAmB,EACnB,OAA+B;IAE/B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,oBAAoB,CAC5B,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,oBAAoB,CAAC,0DAA0D,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,MAAM,GAAsB;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,mBAAmB;QACjD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC;QACrC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;QACvC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;QACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;QAChD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,gEAAgE;QAChE,mEAAmE;QACnE,4CAA4C;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;eACf,CAAC,OAAO,CAAC,qBAAqB;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC5D,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IAEF,yEAAyE;IACzE,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,uDAAuD;IACvD,EAAE;IACF,4DAA4D;IAC5D,wEAAwE;IACxE,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAClE,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa;YACjC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;YACjC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"councilDispatcher.js","sourceRoot":"","sources":["../../src/cli/councilDispatcher.ts"],"names":[],"mappings":"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"}
@@ -78,9 +78,9 @@ export function useChatTurn(params) {
78
78
  // has (tech stack, file layout, scripts) plus a pointer to the council
79
79
  // workspace so it reads .zelari/plan.json with its own tools.
80
80
  let workspaceSummary = null;
81
- let zelariReadHint = '';
81
+ let zelariReadHint = "";
82
82
  try {
83
- const { buildPlanSummary, buildWorkspaceSummary, buildZelariReadHint } = await import('../workspace/workspaceSummary.js');
83
+ const { buildPlanSummary, buildWorkspaceSummary, buildZelariReadHint, } = await import("../workspace/workspaceSummary.js");
84
84
  planSummary = buildPlanSummary(cwd);
85
85
  workspaceSummary = buildWorkspaceSummary(cwd);
86
86
  zelariReadHint = buildZelariReadHint(cwd);
@@ -96,19 +96,26 @@ export function useChatTurn(params) {
96
96
  // to the CLI's `searchDocuments`.
97
97
  const wantedWorkspaceTools = new Set();
98
98
  if (planSummary)
99
- wantedWorkspaceTools.add('updateTask');
99
+ wantedWorkspaceTools.add("updateTask");
100
100
  const WORKSPACE_STUB_NAMES = new Set([
101
- 'createPhase', 'createTask', 'updateTask', 'addIdea', 'createMilestone',
102
- 'createDocument', 'searchDocuments', 'linkDocuments', 'getDocumentBacklinks',
101
+ "createPhase",
102
+ "createTask",
103
+ "updateTask",
104
+ "addIdea",
105
+ "createMilestone",
106
+ "createDocument",
107
+ "searchDocuments",
108
+ "linkDocuments",
109
+ "getDocumentBacklinks",
103
110
  ]);
104
111
  for (const raw of opts?.requiredTools ?? []) {
105
- const name = raw === 'searchRAG' ? 'searchDocuments' : raw;
112
+ const name = raw === "searchRAG" ? "searchDocuments" : raw;
106
113
  if (WORKSPACE_STUB_NAMES.has(name))
107
114
  wantedWorkspaceTools.add(name);
108
115
  }
109
116
  if (wantedWorkspaceTools.size > 0) {
110
- const { createWorkspaceContext } = await import('../workspace/stubs.js');
111
- const { createWorkspaceToolRegistry } = await import('../workspace/toolRegistry.js');
117
+ const { createWorkspaceContext } = await import("../workspace/stubs.js");
118
+ const { createWorkspaceToolRegistry } = await import("../workspace/toolRegistry.js");
112
119
  const wsRegistry = createWorkspaceToolRegistry(createWorkspaceContext(cwd));
113
120
  for (const name of wantedWorkspaceTools) {
114
121
  const td = wsRegistry.get(name);
@@ -120,7 +127,7 @@ export function useChatTurn(params) {
120
127
  // per-turn cost after that is just re-registering into the fresh
121
128
  // registry. Disabled with ZELARI_MCP=0. Best-effort like the rest.
122
129
  try {
123
- const { registerMcpTools } = await import('../mcp/mcpManager.js');
130
+ const { registerMcpTools } = await import("../mcp/mcpManager.js");
124
131
  const mcp = await registerMcpTools(toolRegistry, cwd);
125
132
  for (const w of mcp.warnings)
126
133
  appendSystem(setMessages, w);
@@ -134,12 +141,15 @@ export function useChatTurn(params) {
134
141
  }
135
142
  // NOTE: computed AFTER the workspace wiring so updateTask (when
136
143
  // registered) is advertised in the # Available Tools section too.
137
- const toolList = toolRegistry.toOpenAITools().map((t) => `- ${t.function.name}: ${t.function.description}`).join('\n');
144
+ const toolList = toolRegistry
145
+ .toOpenAITools()
146
+ .map((t) => `- ${t.function.name}: ${t.function.description}`)
147
+ .join("\n");
138
148
  // v0.7.2 (C3): platform-aware shell guidance. The model must know which
139
149
  // shell the `bash` tool actually runs in so it writes the right commands
140
150
  // (POSIX for Git Bash, Windows-native for cmd.exe fallback).
141
151
  const resolvedShell = resolveShell();
142
- const isWindows = process.platform === 'win32';
152
+ const isWindows = process.platform === "win32";
143
153
  const shellGuidance = resolvedShell.isBash
144
154
  ? `The bash tool runs commands via Git Bash / MSYS2 (${resolvedShell.shell}). Write POSIX commands: ls, grep, $VAR, &&, /c/Users/... all work.`
145
155
  : isWindows
@@ -148,45 +158,45 @@ export function useChatTurn(params) {
148
158
  // v0.7.3: the shell has NO interactive stdin. Without this warning the
149
159
  // model retried `npm create vite` four times against the interactive
150
160
  // prompt ("Operation cancelled") and then gave up asking the user.
151
- const nonInteractiveGuidance = 'The shell is NON-INTERACTIVE (stdin closed): commands that prompt for input fail immediately. ' +
152
- 'Always pass non-interactive flags (--yes, -y, --template, --force). ' +
153
- 'If a scaffolder still insists on prompting (e.g. `npm create vite` in a non-empty directory), do NOT retry it — ' +
154
- 'scaffold into a fresh empty subdirectory and move the files, or write package.json/configs/sources yourself with write_file, then run `npm install`.';
161
+ const nonInteractiveGuidance = "The shell is NON-INTERACTIVE (stdin closed): commands that prompt for input fail immediately. " +
162
+ "Always pass non-interactive flags (--yes, -y, --template, --force). " +
163
+ "If a scaffolder still insists on prompting (e.g. `npm create vite` in a non-empty directory), do NOT retry it — " +
164
+ "scaffold into a fresh empty subdirectory and move the files, or write package.json/configs/sources yourself with write_file, then run `npm install`.";
155
165
  const systemPrompt = [
156
166
  "You are Zelari Code, an interactive AI coding agent operating directly in the user's terminal.",
157
- '',
158
- 'You ARE connected to this machine and have real tools to read, modify, and explore the codebase.',
167
+ "",
168
+ "You ARE connected to this machine and have real tools to read, modify, and explore the codebase.",
159
169
  "Never claim you lack filesystem or shell access — you have it. Use your tools instead of asking the user to paste file contents.",
160
- '',
161
- '# Platform & Shell',
170
+ "",
171
+ "# Platform & Shell",
162
172
  `platform: ${process.platform}`,
163
173
  `shell: ${resolvedShell.via}`,
164
174
  shellGuidance,
165
175
  nonInteractiveGuidance,
166
- '',
167
- '# Working Directory',
176
+ "",
177
+ "# Working Directory",
168
178
  `You are running in: ${cwd}`,
169
- 'All relative file paths are resolved against this directory. Always work with real files here.',
170
- '',
171
- '# Available Tools',
172
- 'You can call these tools. Use them to take action and gather information autonomously:',
179
+ "All relative file paths are resolved against this directory. Always work with real files here.",
180
+ "",
181
+ "# Available Tools",
182
+ "You can call these tools. Use them to take action and gather information autonomously:",
173
183
  toolList,
174
- ...(workspaceSummary ? ['', workspaceSummary] : []),
175
- ...(zelariReadHint ? ['', zelariReadHint] : []),
176
- ...(planSummary ? ['', planSummary] : []),
177
- '',
178
- '# Guidelines',
179
- '- When the user asks you to write code, debug, or explore, be proactive: list files (list_files, or bash: ls/dir) and read key files (read_file) to understand the project instead of asking the user to paste file contents.',
180
- '- If a command fails or is cancelled, do NOT retry variants of the same command: diagnose why (read the hint in the result if present) and take a DIFFERENT approach (e.g. create the files yourself with write_file).',
181
- '- After a tool result, CONTINUE your answer from where you left off. NEVER restate or re-print text you already wrote earlier in this turn.',
182
- "- Only invoke tools when they are necessary to answer the user's prompt. If the user is just saying hello or greeting them (e.g., \"ciao\", \"hello\"), simply greet them back and ask how you can help, without running any commands or tools.",
183
- '- When you finish a task, briefly summarize what you did.',
184
+ ...(workspaceSummary ? ["", workspaceSummary] : []),
185
+ ...(zelariReadHint ? ["", zelariReadHint] : []),
186
+ ...(planSummary ? ["", planSummary] : []),
187
+ "",
188
+ "# Guidelines",
189
+ "- When the user asks you to write code, debug, or explore, be proactive: list files (list_files, or bash: ls/dir) and read key files (read_file) to understand the project instead of asking the user to paste file contents.",
190
+ "- If a command fails or is cancelled, do NOT retry variants of the same command: diagnose why (read the hint in the result if present) and take a DIFFERENT approach (e.g. create the files yourself with write_file).",
191
+ "- After a tool result, CONTINUE your answer from where you left off. NEVER restate or re-print text you already wrote earlier in this turn.",
192
+ '- Only invoke tools when they are necessary to answer the user\'s prompt. If the user is just saying hello or greeting them (e.g., "ciao", "hello"), simply greet them back and ask how you can help, without running any commands or tools.',
193
+ "- When you finish a task, briefly summarize what you did.",
184
194
  ...(planSummary
185
195
  ? [
186
196
  '- Plan tasks: when you START working on a plan task call updateTask {taskId, status: "in_progress"}; when it is complete and verified call updateTask {taskId, status: "done"}. NEVER edit .zelari/plan.json by hand.',
187
197
  ]
188
198
  : []),
189
- ].join('\n');
199
+ ].join("\n");
190
200
  // v0.7.1 (A2): per-turn tool-call budget for single-prompt turns.
191
201
  // The council sets 5; the single-prompt path previously set NONE, so a
192
202
  // flailing model could loop for the full MAX_TOOL_LOOP_ITERATIONS (12)
@@ -199,10 +209,10 @@ export function useChatTurn(params) {
199
209
  })();
200
210
  const harness = new AgentHarness({
201
211
  model: envConfig.model,
202
- provider: 'openai-compatible',
212
+ provider: "openai-compatible",
203
213
  messages: [
204
- { role: 'system', content: systemPrompt },
205
- { role: 'user', content: userText },
214
+ { role: "system", content: systemPrompt },
215
+ { role: "user", content: userText },
206
216
  ],
207
217
  tools: toolRegistry.toOpenAITools().map((t) => ({
208
218
  name: t.function.name,
@@ -218,12 +228,12 @@ export function useChatTurn(params) {
218
228
  setQueueCount(harness.queueLength);
219
229
  // Total assistant output across the whole turn — feeds the token/cost
220
230
  // estimate fallback in computeSessionStatsDelta.
221
- let assistantContent = '';
231
+ let assistantContent = "";
222
232
  // Display buffer for the CURRENT streamed message only. Reset on every
223
233
  // message_end: without this, the post-tool-call message re-rendered the
224
234
  // full accumulated turn text, duplicating everything said before the
225
235
  // tool ran.
226
- let streamContent = '';
236
+ let streamContent = "";
227
237
  // tool_execution_end doesn't carry toolName — remember it from the
228
238
  // matching start event (keyed by toolCallId) for metrics.
229
239
  const toolNameById = new Map();
@@ -231,7 +241,7 @@ export function useChatTurn(params) {
231
241
  let realUsage = null;
232
242
  try {
233
243
  for await (const event of harness.run()) {
234
- if (event.type === 'message_end') {
244
+ if (event.type === "message_end") {
235
245
  if (event.usage)
236
246
  realUsage = event.usage;
237
247
  // Message boundary: drain buffered deltas, then seal the streamed
@@ -241,46 +251,46 @@ export function useChatTurn(params) {
241
251
  finalizeStreaming(setMessages, setLive);
242
252
  else
243
253
  finalizeStreamingAssistant(setMessages);
244
- streamContent = '';
254
+ streamContent = "";
245
255
  }
246
- if (event.type === 'queue_update') {
256
+ if (event.type === "queue_update") {
247
257
  setQueueCount(harness.queueLength);
248
258
  }
249
259
  if (writerRef.current) {
250
260
  await writerRef.current.append(event);
251
261
  }
252
- if (event.type === 'agent_end') {
262
+ if (event.type === "agent_end") {
253
263
  metrics.record({
254
- kind: 'run',
264
+ kind: "run",
255
265
  sessionId,
256
266
  provider: envConfig.providerId,
257
267
  model: envConfig.model,
258
268
  latencyMs: event.durationMs,
259
- ok: event.reason === 'stop',
269
+ ok: event.reason === "stop",
260
270
  });
261
271
  }
262
- else if (event.type === 'error') {
272
+ else if (event.type === "error") {
263
273
  metrics.record({
264
- kind: 'error',
274
+ kind: "error",
265
275
  sessionId,
266
276
  provider: envConfig.providerId,
267
277
  model: envConfig.model,
268
278
  error: event.message,
269
279
  });
270
280
  }
271
- else if (event.type === 'tool_execution_end') {
281
+ else if (event.type === "tool_execution_end") {
272
282
  metrics.record({
273
- kind: 'tool',
283
+ kind: "tool",
274
284
  sessionId,
275
285
  provider: envConfig.providerId,
276
286
  model: envConfig.model,
277
- toolName: toolNameById.get(event.toolCallId) ?? 'unknown',
287
+ toolName: toolNameById.get(event.toolCallId) ?? "unknown",
278
288
  toolCallId: event.toolCallId,
279
289
  durationMs: event.durationMs,
280
290
  ok: !event.isError,
281
291
  });
282
292
  }
283
- if (event.type === 'message_delta') {
293
+ if (event.type === "message_delta") {
284
294
  assistantContent += event.delta;
285
295
  streamContent += event.delta;
286
296
  // Route through the throttled setter so per-token deltas (50-200/sec)
@@ -295,15 +305,17 @@ export function useChatTurn(params) {
295
305
  // Legacy single-array fallback (existing tests).
296
306
  appendOrExtendStreamingAssistant(commitStreaming, streamContent, Date.now(), {
297
307
  ...(event.memberId ? { memberId: event.memberId } : {}),
298
- ...(event.memberName ? { memberName: event.memberName } : {}),
308
+ ...(event.memberName
309
+ ? { memberName: event.memberName }
310
+ : {}),
299
311
  });
300
312
  }
301
313
  }
302
- else if (event.type === 'error') {
314
+ else if (event.type === "error") {
303
315
  flushStreaming();
304
316
  appendSystem(setMessages, `[error] ${event.message}`, Date.now());
305
317
  }
306
- else if (event.type === 'tool_execution_start') {
318
+ else if (event.type === "tool_execution_start") {
307
319
  toolNameById.set(event.toolCallId, event.toolName);
308
320
  // Drain buffered deltas FIRST so the text streamed before the
309
321
  // call renders above the tool line, not below it — then seal
@@ -320,9 +332,9 @@ export function useChatTurn(params) {
320
332
  // The pre-tool bubble is sealed: reset the display buffer so the
321
333
  // next delta starts a fresh bubble instead of re-showing (and
322
334
  // duplicating) the text already printed above the tool line.
323
- streamContent = '';
335
+ streamContent = "";
324
336
  }
325
- else if (event.type === 'tool_execution_end') {
337
+ else if (event.type === "tool_execution_end") {
326
338
  if (useLiveModel) {
327
339
  completeTool(setMessages, setLive, event.toolCallId, event.isError, event.durationMs, event.result);
328
340
  }
@@ -442,7 +454,7 @@ async function dispatchCouncilPromptImpl(text, deps) {
442
454
  // v0.7.5: MCP tools for the council too (same lazy singleton as the
443
455
  // single-agent path — zero extra spawns).
444
456
  try {
445
- const { registerMcpTools } = await import('../mcp/mcpManager.js');
457
+ const { registerMcpTools } = await import("../mcp/mcpManager.js");
446
458
  const mcp = await registerMcpTools(councilToolRegistry);
447
459
  for (const w of mcp.warnings)
448
460
  appendSystem(setMessages, w);
@@ -480,6 +492,7 @@ async function dispatchCouncilPromptImpl(text, deps) {
480
492
  let consecutiveProviderErrors = 0;
481
493
  let lastErrorMessage = "";
482
494
  let councilAborted = false;
495
+ let councilRunMode = "implementation";
483
496
  const PROVIDER_ERROR_ABORT_THRESHOLD = 2;
484
497
  try {
485
498
  for await (const event of dispatchCouncil(text, {
@@ -513,7 +526,11 @@ async function dispatchCouncilPromptImpl(text, deps) {
513
526
  if (writerRef.current) {
514
527
  await writerRef.current.append(event);
515
528
  }
516
- if (event.type === "message_delta") {
529
+ if (event.type === "council_mode") {
530
+ councilRunMode = event.runMode;
531
+ appendSystem(setMessages, `[council] ${event.tier} · ${event.runMode} · ${event.councilSize} members`, event.ts);
532
+ }
533
+ else if (event.type === "message_delta") {
517
534
  // Coalesce streaming assistant content through the throttled setter so
518
535
  // per-token deltas don't flicker the TUI (same as dispatchPrompt).
519
536
  if (useLiveModel) {
@@ -645,7 +662,9 @@ async function dispatchCouncilPromptImpl(text, deps) {
645
662
  const hookShouldRun = membersCompleted > 0 || chairmanProducedOutput;
646
663
  if (hookShouldRun) {
647
664
  try {
648
- const hook = await runPostCouncilHook(workspaceCtx);
665
+ const hook = await runPostCouncilHook(workspaceCtx, {
666
+ runMode: councilRunMode,
667
+ });
649
668
  if (hook.ran && hook.changed) {
650
669
  appendSystem(setMessages, `[agents.md] updated: ${hook.sections.length} section(s) changed (${hook.sections.join(", ")})`, Date.now());
651
670
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useChatTurn.js","sourceRoot":"","sources":["../../../src/cli/hooks/useChatTurn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChatTurn.js","sourceRoot":"","sources":["../../../src/cli/hooks/useChatTurn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ export function useExecutionTimer(busy, tickMs = 1000) {
3
+ const [elapsedMs, setElapsedMs] = useState(null);
4
+ const [lastMs, setLastMs] = useState(null);
5
+ const startRef = useRef(null);
6
+ useEffect(() => {
7
+ if (busy) {
8
+ startRef.current = Date.now();
9
+ setElapsedMs(0);
10
+ const t = setInterval(() => {
11
+ if (startRef.current !== null)
12
+ setElapsedMs(Date.now() - startRef.current);
13
+ }, tickMs);
14
+ return () => clearInterval(t);
15
+ }
16
+ if (startRef.current !== null) {
17
+ setLastMs(Date.now() - startRef.current);
18
+ startRef.current = null;
19
+ }
20
+ setElapsedMs(null);
21
+ return undefined;
22
+ }, [busy, tickMs]);
23
+ return { elapsedMs, lastMs };
24
+ }
25
+ //# sourceMappingURL=useExecutionTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExecutionTimer.js","sourceRoot":"","sources":["../../../src/cli/hooks/useExecutionTimer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAiBpD,MAAM,UAAU,iBAAiB,CAAC,IAAa,EAAE,MAAM,GAAG,IAAI;IAC5D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9B,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE;gBACzB,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI;oBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7E,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC"}