@vetala/vetala 0.5.6 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +7 -16
  2. package/dist/src/agent.d.ts +17 -0
  3. package/dist/src/agent.js +228 -2
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/app-meta.d.ts +1 -1
  6. package/dist/src/app-meta.js +1 -1
  7. package/dist/src/deliberation.d.ts +21 -0
  8. package/dist/src/deliberation.js +158 -2
  9. package/dist/src/deliberation.js.map +1 -1
  10. package/dist/src/ipc-ui.d.ts +2 -0
  11. package/dist/src/ipc-ui.js +7 -0
  12. package/dist/src/ipc-ui.js.map +1 -1
  13. package/dist/src/skills/runtime.js +148 -4
  14. package/dist/src/skills/runtime.js.map +1 -1
  15. package/dist/src/terminal-ui.d.ts +3 -0
  16. package/dist/src/terminal-ui.js +28 -0
  17. package/dist/src/terminal-ui.js.map +1 -1
  18. package/dist/src/tools/filesystem.js +90 -14
  19. package/dist/src/tools/filesystem.js.map +1 -1
  20. package/dist/src/tools/lsp.js +198 -49
  21. package/dist/src/tools/lsp.js.map +1 -1
  22. package/dist/src/tools/shell.js +114 -3
  23. package/dist/src/tools/shell.js.map +1 -1
  24. package/dist/src/tools/skill.js +1 -1
  25. package/dist/src/tools/skill.js.map +1 -1
  26. package/dist/src/tools/tree-sitter-check.d.ts +1 -0
  27. package/dist/src/tools/tree-sitter-check.js +32 -0
  28. package/dist/src/tools/tree-sitter-check.js.map +1 -1
  29. package/dist/src/turn-targets.d.ts +12 -0
  30. package/dist/src/turn-targets.js +106 -0
  31. package/dist/src/turn-targets.js.map +1 -0
  32. package/dist/src/types.d.ts +24 -0
  33. package/package.json +1 -1
  34. package/tui/vetala-darwin-arm64 +0 -0
  35. package/tui/vetala-darwin-x64 +0 -0
  36. package/tui/vetala-linux-arm64 +0 -0
  37. package/tui/vetala-linux-x64 +0 -0
  38. package/tui/vetala-win32-arm64.exe +0 -0
  39. package/tui/vetala-win32-x64.exe +0 -0
package/README.md CHANGED
@@ -27,25 +27,16 @@ Current provider support includes Sarvam AI and OpenRouter.
27
27
 
28
28
  ## Patch Notes
29
29
 
30
- ### v0.5.6
30
+ ### v0.6.0
31
31
  Added:
32
- - Turn deliberation with dynamic reasoning effort, visible planning/thinking summaries, and live execution phases in the TUI footer.
33
- - Clarification-first behavior for underspecified edit requests through stronger `ask_user` guidance.
32
+ - Deliberation-aware TUI turns with thinking summaries, checkbox plans, and live reasoning/phase state.
33
+ - Deterministic active-skill routing with richer pre-turn skill guidance and clearer skill visibility in the UI.
34
+ - `Ctrl+K` full-turn log copy for sharing the latest prompt, plan, tool activity, and reply context.
34
35
 
35
36
  Patched:
36
- - `Ctrl+C` pause flow now interrupts active tool/model work more reliably and shows an immediate stopping modal.
37
- - Repo-wide search cancellation now propagates through the TypeScript backend and Go TUI worker path.
38
- - Non-trivial turns now surface reasoning and phase state more clearly during execution.
39
-
40
- ### v0.5.5
41
- Added:
42
- - Deterministic skill routing with active-skill visibility in the UI.
43
- - Git-aware review flow upgrades with dedicated `/diff` and `/review` entry points.
44
-
45
- Patched:
46
- - Malformed tool calls are quarantined before they can poison session history.
47
- - `Ctrl+C` can now stop active repo search work instead of waiting for long searches to finish.
48
- - Explicit file-path prompts now steer toward `read_file`/`read_file_chunk` before repo-wide search.
37
+ - Explicit file-path tasks now stay scoped to the named target instead of drifting into broad repo exploration.
38
+ - Edit plans are evidence-driven, verification is file-targeted, and no-op edits are rejected instead of being reported as successful changes.
39
+ - Tool interruption, repo search cancellation, malformed tool-call recovery, and post-tool activity updates are more reliable.
49
40
 
50
41
  ## Compatibility
51
42
 
@@ -45,6 +45,17 @@ export declare class Agent {
45
45
  private turnDeliberationPrompt;
46
46
  private turnReasoningEffort;
47
47
  private turnReasoningLabel;
48
+ private turnPlan;
49
+ private turnPlanSignature;
50
+ private turnPlanInspected;
51
+ private turnPlanHasMutation;
52
+ private turnPlanHasVerification;
53
+ private turnTaskKind;
54
+ private turnTargets;
55
+ private turnChangedFiles;
56
+ private turnVerificationRecords;
57
+ private turnNoOpEdits;
58
+ private turnVerificationNudges;
48
59
  constructor(options: AgentOptions);
49
60
  get session(): SessionState;
50
61
  requestStop(): void;
@@ -55,9 +66,15 @@ export declare class Agent {
55
66
  private appendAndRenderAssistantMessage;
56
67
  private persistedMessage;
57
68
  private systemPrompt;
69
+ private currentExecutionPrompt;
70
+ private pendingVerificationPrompt;
58
71
  private beginRequest;
59
72
  private endRequest;
60
73
  private throwIfStopped;
74
+ private advanceCurrentPlan;
75
+ private observeToolResult;
76
+ private finalizeCurrentPlan;
77
+ private setTurnPlan;
61
78
  }
62
79
  export declare class AgentInterruptedError extends Error {
63
80
  constructor();
package/dist/src/agent.js CHANGED
@@ -1,9 +1,17 @@
1
1
  import { compactConversation } from "./context-memory.js";
2
- import { analyzeTurnDeliberation, phaseForTool } from "./deliberation.js";
2
+ import { advanceTurnPlan, analyzeTurnDeliberation, phaseForTool, updateTurnPlan } from "./deliberation.js";
3
3
  import { loadMemoriesPrompt, loadRulesPrompt } from "./context-files.js";
4
4
  import { appendHistoryEntry } from "./history-store.js";
5
5
  import { createProviderClient, getProviderDefinition, providerLabel, withSystemMessage } from "./providers/index.js";
6
6
  import { createSearchProvider } from "./search-provider.js";
7
+ import { formatTurnTargetList, resolveTurnTargets } from "./turn-targets.js";
8
+ const EMPTY_TURN_TARGETS = {
9
+ taskKind: "chat",
10
+ explicitPaths: [],
11
+ explicitFiles: [],
12
+ explicitDirs: [],
13
+ preferredRoot: null
14
+ };
7
15
  export class Agent {
8
16
  options;
9
17
  client;
@@ -14,6 +22,17 @@ export class Agent {
14
22
  turnDeliberationPrompt = null;
15
23
  turnReasoningEffort = null;
16
24
  turnReasoningLabel = "none";
25
+ turnPlan = null;
26
+ turnPlanSignature = "";
27
+ turnPlanInspected = false;
28
+ turnPlanHasMutation = false;
29
+ turnPlanHasVerification = false;
30
+ turnTaskKind = "chat";
31
+ turnTargets = EMPTY_TURN_TARGETS;
32
+ turnChangedFiles = new Set();
33
+ turnVerificationRecords = [];
34
+ turnNoOpEdits = [];
35
+ turnVerificationNudges = 0;
17
36
  constructor(options) {
18
37
  this.options = options;
19
38
  this.client = createProviderClient(options.config.providers[options.session.provider]);
@@ -31,6 +50,16 @@ export class Agent {
31
50
  this.activeTurnController = turnController;
32
51
  this.stopRequested = false;
33
52
  try {
53
+ this.turnPlanInspected = false;
54
+ this.turnPlanHasMutation = false;
55
+ this.turnPlanHasVerification = false;
56
+ this.turnTaskKind = "chat";
57
+ this.turnTargets = EMPTY_TURN_TARGETS;
58
+ this.turnChangedFiles.clear();
59
+ this.turnVerificationRecords = [];
60
+ this.turnNoOpEdits = [];
61
+ this.turnVerificationNudges = 0;
62
+ this.setTurnPlan(null);
34
63
  const userMessage = this.persistedMessage({
35
64
  role: "user",
36
65
  content: userInput
@@ -55,6 +84,8 @@ export class Agent {
55
84
  configuredEffort: providerDefinition.supportsReasoningEffort ? this.options.config.reasoningEffort : null,
56
85
  activeSkills: turnSkillContext.labels
57
86
  });
87
+ this.turnTaskKind = deliberation.taskKind;
88
+ this.turnTargets = await resolveTurnTargets(userInput, deliberation.taskKind, this.options.pathPolicy, this.options.session.workspaceRoot);
58
89
  this.turnDeliberationPrompt = deliberation.guidance;
59
90
  this.turnReasoningEffort = providerDefinition.supportsReasoningEffort ? deliberation.reasoningEffort : null;
60
91
  this.turnReasoningLabel = deliberation.reasoningLabel;
@@ -62,7 +93,11 @@ export class Agent {
62
93
  if (deliberation.shouldShowThinking && deliberation.thinkingSummary) {
63
94
  this.options.ui.printThinking(deliberation.thinkingSummary);
64
95
  }
96
+ if (deliberation.plan) {
97
+ this.advanceCurrentPlan("inspect", deliberation.plan);
98
+ }
65
99
  if (!provider.authValue) {
100
+ this.setTurnPlan(null);
66
101
  const missingAuthMessage = provider.authSource === "stored_hash"
67
102
  ? `A stored SHA-256 fingerprint exists for ${providerDefinition.label}, but the raw credential is not available in this process. Use /model to enter the key again or set ${providerDefinition.auth.envVars.join(", ")}.`
68
103
  : `${providerDefinition.label} credentials are missing. Set ${providerDefinition.auth.envVars.join(", ")} and try again.`;
@@ -151,6 +186,16 @@ export class Agent {
151
186
  });
152
187
  await this.options.sessionStore.appendMessage(this.options.session, assistantMessage);
153
188
  if (partitionedToolCalls.validToolCalls.length === 0) {
189
+ const verificationPrompt = this.pendingVerificationPrompt();
190
+ if (verificationPrompt) {
191
+ this.turnVerificationNudges += 1;
192
+ await this.options.sessionStore.appendMessage(this.options.session, this.persistedMessage({
193
+ role: "user",
194
+ content: verificationPrompt
195
+ }));
196
+ continue;
197
+ }
198
+ this.finalizeCurrentPlan();
154
199
  this.options.ui.endAssistantTurn();
155
200
  return;
156
201
  }
@@ -174,7 +219,7 @@ export class Agent {
174
219
  this.options.ui.updateTurnState(this.turnReasoningLabel, phaseForTool(toolCall.function.name));
175
220
  this.options.ui.activity(`Running ${toolCall.function.name}.`);
176
221
  const toolSpec = this.options.tools.getTool(toolCall.function.name);
177
- const isMutating = toolSpec && !toolSpec.readOnly;
222
+ const isMutating = Boolean(toolSpec && !toolSpec.readOnly);
178
223
  try {
179
224
  result = await this.options.tools.execute(toolCall, this.toolContext(turnController));
180
225
  }
@@ -185,6 +230,7 @@ export class Agent {
185
230
  }
186
231
  throw error;
187
232
  }
233
+ this.observeToolResult(toolCall.function.name, isMutating, result);
188
234
  if (result.isError) {
189
235
  seenToolCalls.delete(signature);
190
236
  }
@@ -194,6 +240,7 @@ export class Agent {
194
240
  }
195
241
  this.throwIfStopped();
196
242
  this.options.ui.printToolResult(result.summary, result.isError, result.content);
243
+ this.options.ui.activity("Thinking...");
197
244
  await this.options.sessionStore.appendMessage(this.options.session, this.persistedMessage({
198
245
  role: "tool",
199
246
  content: result.content,
@@ -219,6 +266,15 @@ export class Agent {
219
266
  this.turnDeliberationPrompt = null;
220
267
  this.turnReasoningEffort = null;
221
268
  this.turnReasoningLabel = "none";
269
+ this.turnTaskKind = "chat";
270
+ this.turnTargets = EMPTY_TURN_TARGETS;
271
+ this.turnChangedFiles.clear();
272
+ this.turnVerificationRecords = [];
273
+ this.turnNoOpEdits = [];
274
+ this.turnVerificationNudges = 0;
275
+ this.turnPlanInspected = false;
276
+ this.turnPlanHasMutation = false;
277
+ this.turnPlanHasVerification = false;
222
278
  this.options.ui.updateTurnState(null, null);
223
279
  }
224
280
  }
@@ -288,6 +344,14 @@ export class Agent {
288
344
  return {
289
345
  cwd: process.cwd(),
290
346
  workspaceRoot: this.options.session.workspaceRoot,
347
+ turn: {
348
+ taskKind: this.turnTaskKind,
349
+ explicitPaths: [...this.turnTargets.explicitPaths],
350
+ explicitFiles: [...this.turnTargets.explicitFiles],
351
+ explicitDirs: [...this.turnTargets.explicitDirs],
352
+ preferredRoot: this.turnTargets.preferredRoot,
353
+ changedFiles: [...this.turnChangedFiles]
354
+ },
291
355
  lifecycle: {
292
356
  signal: turnController.signal,
293
357
  throwIfAborted: () => {
@@ -374,8 +438,12 @@ export class Agent {
374
438
  "When using tools, emit valid JSON object arguments only.",
375
439
  "Prefer smaller tool calls over giant payloads. Break large refactors and large apply_patch edits into multiple steps.",
376
440
  "When the user names a concrete file path, read that file directly with read_file or read_file_chunk before considering search_repo.",
441
+ "If the user named concrete files or directories, stay scoped to them unless you have concrete evidence that broader repo context is required.",
442
+ "When active skill guidance is already injected below, use it directly. Do not call the skill tool again unless you need a specific deeper file that is not already summarized.",
377
443
  "For non-trivial tasks, form a concise plan before acting and execute it incrementally.",
378
444
  "If the target, scope, or acceptance criteria remain unclear after initial inspection, use ask_user before editing.",
445
+ "For source-file edits, prefer targeted diagnostics on the named file or changed file before and after editing when available.",
446
+ "Do not claim a build, test, or diagnostics check verified your change unless the tool output explicitly supports that claim.",
379
447
  "For Git-aware tasks, prefer the dedicated git tools over ad-hoc shell commands.",
380
448
  "For change review, start with git_review targeting the full worktree so you cover staged, unstaged, and untracked files.",
381
449
  "For branch review, compare against the merge base with the requested base branch instead of assuming HEAD~1 or the previous commit.",
@@ -389,12 +457,25 @@ export class Agent {
389
457
  lines.push("", rulesPrompt);
390
458
  }
391
459
  lines.push("", skillInventory);
460
+ if (this.turnTargets.explicitPaths.length > 0) {
461
+ lines.push("", [
462
+ "Concrete turn targets:",
463
+ `- named targets: ${formatTurnTargetList(this.turnTargets.explicitPaths, this.options.session.workspaceRoot)}`,
464
+ this.turnTargets.preferredRoot
465
+ ? `- preferred root: ${formatTurnTargetList([this.turnTargets.preferredRoot], this.options.session.workspaceRoot)}`
466
+ : "- preferred root: (none)"
467
+ ].join("\n"));
468
+ }
392
469
  if (this.turnSkillPrompt) {
393
470
  lines.push("", this.turnSkillPrompt);
394
471
  }
395
472
  if (this.turnDeliberationPrompt) {
396
473
  lines.push("", this.turnDeliberationPrompt);
397
474
  }
475
+ const executionPrompt = this.currentExecutionPrompt();
476
+ if (executionPrompt) {
477
+ lines.push("", executionPrompt);
478
+ }
398
479
  if (persistentMemory) {
399
480
  lines.push("", persistentMemory);
400
481
  }
@@ -403,6 +484,58 @@ export class Agent {
403
484
  }
404
485
  return lines.join("\n");
405
486
  }
487
+ currentExecutionPrompt() {
488
+ const lines = [];
489
+ if (this.turnChangedFiles.size > 0) {
490
+ lines.push(`- changed files: ${formatTurnTargetList([...this.turnChangedFiles], this.options.session.workspaceRoot)}`);
491
+ }
492
+ if (this.turnVerificationRecords.length > 0) {
493
+ const latest = this.turnVerificationRecords[this.turnVerificationRecords.length - 1];
494
+ lines.push(`- latest verification: ${latest.toolName} -> ${latest.trusted ? "trusted" : "untrusted"} / ${latest.passed ? "passed" : "failed"}`);
495
+ if (latest.reason) {
496
+ lines.push(`- verification note: ${latest.reason}`);
497
+ }
498
+ }
499
+ else if (this.turnChangedFiles.size > 0) {
500
+ lines.push("- verification: none yet");
501
+ }
502
+ if (this.turnNoOpEdits.length > 0) {
503
+ lines.push(`- no-op edit attempts: ${this.turnNoOpEdits.length}`);
504
+ }
505
+ if (lines.length === 0) {
506
+ return null;
507
+ }
508
+ return [
509
+ "Current turn execution state:",
510
+ ...lines,
511
+ "- Only summarize changes that actually happened in the changed files listed above.",
512
+ "- If verification is missing or untrusted, verify first or explicitly say so."
513
+ ].join("\n");
514
+ }
515
+ pendingVerificationPrompt() {
516
+ if (this.turnTaskKind !== "edit" || !this.turnPlanHasMutation || this.turnPlanHasVerification) {
517
+ return null;
518
+ }
519
+ if (this.turnVerificationNudges >= 3) {
520
+ return null;
521
+ }
522
+ const changedFiles = [...this.turnChangedFiles];
523
+ const targets = changedFiles.length > 0 ? changedFiles : this.turnTargets.explicitFiles;
524
+ const formattedTargets = formatTurnTargetList(targets, this.options.session.workspaceRoot);
525
+ if (this.turnVerificationNudges >= 2) {
526
+ return [
527
+ "SYSTEM ALERT: Trustworthy verification is still missing for this edit.",
528
+ `Changed or named targets: ${formattedTargets}.`,
529
+ "If you cannot verify in this environment, say that explicitly and do not claim the change is verified or all tests passed."
530
+ ].join("\n");
531
+ }
532
+ return [
533
+ "SYSTEM ALERT: You changed files but have not yet produced trustworthy verification for them.",
534
+ `Changed or named targets: ${formattedTargets}.`,
535
+ "Before finalizing, run get_diagnostics on the changed file or run a build/test/check command that actually validates the changed scope.",
536
+ "Do not claim success until verification is trustworthy."
537
+ ].join("\n");
538
+ }
406
539
  beginRequest() {
407
540
  const controller = new AbortController();
408
541
  this.activeRequestController = controller;
@@ -418,6 +551,88 @@ export class Agent {
418
551
  throw new AgentInterruptedError();
419
552
  }
420
553
  }
554
+ advanceCurrentPlan(stage, planOverride) {
555
+ const next = advanceTurnPlan(planOverride ?? this.turnPlan, stage);
556
+ this.setTurnPlan(next);
557
+ }
558
+ observeToolResult(toolName, isMutating, result) {
559
+ const phase = phaseForTool(toolName);
560
+ const meta = result.meta;
561
+ if (meta?.noOp) {
562
+ this.turnNoOpEdits.push(result.summary);
563
+ }
564
+ for (const changedFile of meta?.changedFiles ?? []) {
565
+ this.turnChangedFiles.add(changedFile);
566
+ }
567
+ if (meta?.verification) {
568
+ this.turnVerificationRecords.push({
569
+ ...meta.verification,
570
+ toolName
571
+ });
572
+ }
573
+ const inspected = meta?.inspectedPaths?.length ? meta.inspectedPaths : [];
574
+ if ((inspected.length > 0 || (phase === "inspecting" && !result.isError)) && !this.turnPlanInspected) {
575
+ this.turnPlanInspected = true;
576
+ this.setTurnPlan(updateTurnPlan(this.turnPlan, {
577
+ completed: ["inspect"],
578
+ inProgress: "decide"
579
+ }));
580
+ }
581
+ if (isMutating && !result.isError && (meta?.changedFiles?.length ?? 0) > 0) {
582
+ this.turnPlanHasMutation = true;
583
+ this.setTurnPlan(updateTurnPlan(this.turnPlan, {
584
+ completed: ["inspect", "decide"],
585
+ inProgress: "execute"
586
+ }));
587
+ }
588
+ if (meta?.verification &&
589
+ meta.verification.trusted &&
590
+ meta.verification.passed &&
591
+ this.turnPlanHasMutation) {
592
+ this.turnPlanHasVerification = true;
593
+ this.setTurnPlan(updateTurnPlan(this.turnPlan, {
594
+ completed: ["inspect", "decide", "execute"],
595
+ inProgress: "summarize"
596
+ }));
597
+ }
598
+ }
599
+ finalizeCurrentPlan() {
600
+ if (!this.turnPlan) {
601
+ return;
602
+ }
603
+ if (this.turnPlan.taskKind === "edit") {
604
+ if (this.turnPlanHasMutation && this.turnPlanHasVerification) {
605
+ this.advanceCurrentPlan("complete");
606
+ return;
607
+ }
608
+ if (this.turnPlanHasMutation) {
609
+ this.setTurnPlan(updateTurnPlan(this.turnPlan, {
610
+ completed: ["inspect", "decide", "execute"],
611
+ inProgress: null
612
+ }));
613
+ return;
614
+ }
615
+ if (this.turnPlanInspected) {
616
+ this.setTurnPlan(updateTurnPlan(this.turnPlan, {
617
+ completed: ["inspect"],
618
+ inProgress: "decide"
619
+ }));
620
+ }
621
+ return;
622
+ }
623
+ if (this.turnPlanInspected) {
624
+ this.advanceCurrentPlan("complete");
625
+ }
626
+ }
627
+ setTurnPlan(plan) {
628
+ this.turnPlan = cloneTurnPlan(plan);
629
+ const signature = this.turnPlan ? JSON.stringify(this.turnPlan) : "";
630
+ if (signature === this.turnPlanSignature) {
631
+ return;
632
+ }
633
+ this.turnPlanSignature = signature;
634
+ this.options.ui.updatePlan(cloneTurnPlan(this.turnPlan));
635
+ }
421
636
  }
422
637
  export class AgentInterruptedError extends Error {
423
638
  constructor() {
@@ -632,4 +847,15 @@ function emptyResponseWarningMessage() {
632
847
  }
633
848
  return "Model returned an empty response (possible context limit). Try resuming with a shorter scope.";
634
849
  }
850
+ function cloneTurnPlan(plan) {
851
+ if (!plan) {
852
+ return null;
853
+ }
854
+ return {
855
+ taskKind: plan.taskKind,
856
+ title: plan.title,
857
+ explanation: plan.explanation,
858
+ steps: plan.steps.map((step) => ({ ...step }))
859
+ };
860
+ }
635
861
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const APP_NAME = "Vetala";
2
- export declare const APP_VERSION = "0.5.6";
2
+ export declare const APP_VERSION = "0.6.0";
3
3
  export declare const APP_TAGLINE = "multi-provider coding cli";
@@ -1,4 +1,4 @@
1
1
  export const APP_NAME = "Vetala";
2
- export const APP_VERSION = "0.5.6";
2
+ export const APP_VERSION = "0.6.0";
3
3
  export const APP_TAGLINE = "multi-provider coding cli";
4
4
  //# sourceMappingURL=app-meta.js.map
@@ -1,15 +1,36 @@
1
1
  import type { ReasoningEffort } from "./types.js";
2
+ export type TaskKind = "chat" | "explain" | "edit" | "review" | "audit" | "research";
3
+ export type TurnPlanStatus = "pending" | "in_progress" | "completed";
4
+ export type TurnPlanStage = "inspect" | "decide" | "execute" | "complete";
5
+ export interface TurnPlanStep {
6
+ id: "inspect" | "decide" | "execute" | "summarize";
7
+ label: string;
8
+ status: TurnPlanStatus;
9
+ }
10
+ export interface TurnPlan {
11
+ taskKind: TaskKind;
12
+ title: string;
13
+ explanation: string | null;
14
+ steps: TurnPlanStep[];
15
+ }
2
16
  export interface TurnDeliberation {
17
+ taskKind: TaskKind;
3
18
  reasoningEffort: ReasoningEffort | null;
4
19
  reasoningLabel: ReasoningEffort | "none";
5
20
  thinkingSummary: string | null;
6
21
  guidance: string | null;
7
22
  shouldShowThinking: boolean;
23
+ plan: TurnPlan | null;
8
24
  }
9
25
  interface DeliberationOptions {
10
26
  configuredEffort?: ReasoningEffort | null;
11
27
  activeSkills?: string[];
12
28
  }
13
29
  export declare function analyzeTurnDeliberation(userInput: string, options?: DeliberationOptions): TurnDeliberation;
30
+ export declare function advanceTurnPlan(plan: TurnPlan | null, stage: TurnPlanStage): TurnPlan | null;
31
+ export declare function updateTurnPlan(plan: TurnPlan | null, options: {
32
+ completed?: TurnPlanStep["id"][];
33
+ inProgress?: TurnPlanStep["id"] | null;
34
+ }): TurnPlan | null;
14
35
  export declare function phaseForTool(toolName: string): string;
15
36
  export {};