@x-code-cli/core 0.2.0 → 0.2.2

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 (129) hide show
  1. package/dist/agent/api-errors.js +1 -1
  2. package/dist/agent/api-errors.js.map +1 -1
  3. package/dist/agent/compression.d.ts +25 -0
  4. package/dist/agent/compression.d.ts.map +1 -0
  5. package/dist/agent/compression.js +105 -0
  6. package/dist/agent/compression.js.map +1 -0
  7. package/dist/agent/diff.js.map +1 -1
  8. package/dist/agent/file-ingest.d.ts +14 -0
  9. package/dist/agent/file-ingest.d.ts.map +1 -1
  10. package/dist/agent/file-ingest.js +125 -34
  11. package/dist/agent/file-ingest.js.map +1 -1
  12. package/dist/agent/light-compact.d.ts.map +1 -1
  13. package/dist/agent/light-compact.js +0 -19
  14. package/dist/agent/light-compact.js.map +1 -1
  15. package/dist/agent/loop-guard.d.ts.map +1 -1
  16. package/dist/agent/loop-guard.js.map +1 -1
  17. package/dist/agent/loop-state.d.ts.map +1 -1
  18. package/dist/agent/loop-state.js +8 -1
  19. package/dist/agent/loop-state.js.map +1 -1
  20. package/dist/agent/loop.d.ts +2 -3
  21. package/dist/agent/loop.d.ts.map +1 -1
  22. package/dist/agent/loop.js +16 -92
  23. package/dist/agent/loop.js.map +1 -1
  24. package/dist/agent/messages.d.ts +9 -0
  25. package/dist/agent/messages.d.ts.map +1 -1
  26. package/dist/agent/messages.js +15 -0
  27. package/dist/agent/messages.js.map +1 -1
  28. package/dist/agent/plan-storage.d.ts.map +1 -1
  29. package/dist/agent/plan-storage.js +1 -1
  30. package/dist/agent/plan-storage.js.map +1 -1
  31. package/dist/agent/plan-tools.d.ts +8 -0
  32. package/dist/agent/plan-tools.d.ts.map +1 -0
  33. package/dist/agent/plan-tools.js +150 -0
  34. package/dist/agent/plan-tools.js.map +1 -0
  35. package/dist/agent/provider-compat.d.ts.map +1 -1
  36. package/dist/agent/provider-compat.js.map +1 -1
  37. package/dist/agent/sub-agents/built-in.d.ts.map +1 -1
  38. package/dist/agent/sub-agents/built-in.js +41 -15
  39. package/dist/agent/sub-agents/built-in.js.map +1 -1
  40. package/dist/agent/sub-agents/loader.d.ts.map +1 -1
  41. package/dist/agent/sub-agents/loader.js.map +1 -1
  42. package/dist/agent/sub-agents/runner.d.ts.map +1 -1
  43. package/dist/agent/sub-agents/runner.js +12 -8
  44. package/dist/agent/sub-agents/runner.js.map +1 -1
  45. package/dist/agent/tool-execution.d.ts +34 -2
  46. package/dist/agent/tool-execution.d.ts.map +1 -1
  47. package/dist/agent/tool-execution.js +363 -352
  48. package/dist/agent/tool-execution.js.map +1 -1
  49. package/dist/agent/tool-result-sanitize.d.ts +21 -7
  50. package/dist/agent/tool-result-sanitize.d.ts.map +1 -1
  51. package/dist/agent/tool-result-sanitize.js +56 -30
  52. package/dist/agent/tool-result-sanitize.js.map +1 -1
  53. package/dist/agent/vision-fallback.d.ts.map +1 -1
  54. package/dist/agent/vision-fallback.js +3 -14
  55. package/dist/agent/vision-fallback.js.map +1 -1
  56. package/dist/index.d.ts +7 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +6 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/permissions/index.d.ts +13 -6
  61. package/dist/permissions/index.d.ts.map +1 -1
  62. package/dist/permissions/index.js +57 -6
  63. package/dist/permissions/index.js.map +1 -1
  64. package/dist/permissions/session-store.d.ts +74 -0
  65. package/dist/permissions/session-store.d.ts.map +1 -0
  66. package/dist/permissions/session-store.js +293 -0
  67. package/dist/permissions/session-store.js.map +1 -0
  68. package/dist/providers/cache-control.d.ts.map +1 -1
  69. package/dist/providers/cache-control.js +0 -29
  70. package/dist/providers/cache-control.js.map +1 -1
  71. package/dist/providers/thinking.d.ts.map +1 -1
  72. package/dist/providers/thinking.js +2 -6
  73. package/dist/providers/thinking.js.map +1 -1
  74. package/dist/tools/ask-user.d.ts.map +1 -1
  75. package/dist/tools/ask-user.js +17 -7
  76. package/dist/tools/ask-user.js.map +1 -1
  77. package/dist/tools/edit.d.ts.map +1 -1
  78. package/dist/tools/edit.js +8 -1
  79. package/dist/tools/edit.js.map +1 -1
  80. package/dist/tools/glob.d.ts.map +1 -1
  81. package/dist/tools/glob.js +9 -2
  82. package/dist/tools/glob.js.map +1 -1
  83. package/dist/tools/grep.d.ts +1 -1
  84. package/dist/tools/grep.d.ts.map +1 -1
  85. package/dist/tools/grep.js +29 -6
  86. package/dist/tools/grep.js.map +1 -1
  87. package/dist/tools/index.d.ts +1 -1
  88. package/dist/tools/list-dir.d.ts.map +1 -1
  89. package/dist/tools/list-dir.js.map +1 -1
  90. package/dist/tools/read-file.d.ts.map +1 -1
  91. package/dist/tools/read-file.js +78 -36
  92. package/dist/tools/read-file.js.map +1 -1
  93. package/dist/tools/shell-provider.d.ts +1 -0
  94. package/dist/tools/shell-provider.d.ts.map +1 -1
  95. package/dist/tools/shell-provider.js +7 -0
  96. package/dist/tools/shell-provider.js.map +1 -1
  97. package/dist/tools/shell-utils.d.ts.map +1 -1
  98. package/dist/tools/shell-utils.js +45 -2
  99. package/dist/tools/shell-utils.js.map +1 -1
  100. package/dist/tools/shell.d.ts.map +1 -1
  101. package/dist/tools/shell.js +15 -1
  102. package/dist/tools/shell.js.map +1 -1
  103. package/dist/tools/task.d.ts.map +1 -1
  104. package/dist/tools/task.js +4 -4
  105. package/dist/tools/task.js.map +1 -1
  106. package/dist/tools/todo-write.d.ts.map +1 -1
  107. package/dist/tools/todo-write.js.map +1 -1
  108. package/dist/tools/web-fetch.d.ts +2 -0
  109. package/dist/tools/web-fetch.d.ts.map +1 -1
  110. package/dist/tools/web-fetch.js +92 -27
  111. package/dist/tools/web-fetch.js.map +1 -1
  112. package/dist/tools/write-file.d.ts.map +1 -1
  113. package/dist/tools/write-file.js +7 -1
  114. package/dist/tools/write-file.js.map +1 -1
  115. package/dist/types/index.d.ts +2 -2
  116. package/dist/types/index.d.ts.map +1 -1
  117. package/dist/utils/lru-cache.d.ts +17 -0
  118. package/dist/utils/lru-cache.d.ts.map +1 -0
  119. package/dist/utils/lru-cache.js +40 -0
  120. package/dist/utils/lru-cache.js.map +1 -0
  121. package/dist/utils/media-type.d.ts +5 -0
  122. package/dist/utils/media-type.d.ts.map +1 -0
  123. package/dist/utils/media-type.js +19 -0
  124. package/dist/utils/media-type.js.map +1 -0
  125. package/dist/utils/message-helpers.d.ts +6 -0
  126. package/dist/utils/message-helpers.d.ts.map +1 -0
  127. package/dist/utils/message-helpers.js +14 -0
  128. package/dist/utils/message-helpers.js.map +1 -0
  129. package/package.json +1 -1
@@ -1,9 +1,8 @@
1
- import type { LanguageModel, ModelMessage, UserContent } from 'ai';
1
+ import type { LanguageModel, UserContent } from 'ai';
2
2
  import type { AgentCallbacks, AgentOptions } from '../types/index.js';
3
3
  import type { LoopState } from './loop-state.js';
4
4
  export type { LoopState } from './loop-state.js';
5
- /** Compress old messages into a summary. */
6
- export declare function compressMessages(messages: ModelMessage[], model: LanguageModel): Promise<ModelMessage[]>;
5
+ export { compressMessages } from './compression.js';
7
6
  /** Main agent loop. */
8
7
  export declare function agentLoop(userMessage: UserContent, model: LanguageModel, options: AgentOptions, callbacks: AgentCallbacks, existingState?: LoopState): Promise<LoopState>;
9
8
  /** Sync any in-memory messages to the session jsonl. Called on exit /
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AASlE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA6BrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQhD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAKhD,4CAA4C;AAC5C,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAc9G;AAwVD,uBAAuB;AACvB,wBAAsB,SAAS,CAC7B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,aAAa,CAAC,EAAE,SAAS,GACxB,OAAO,CAAC,SAAS,CAAC,CA4LpB;AAED;;;;;;;;oCAQoC;AACpC,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAQpD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAMrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AA6BhD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AA2QnD,uBAAuB;AACvB,wBAAsB,SAAS,CAC7B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,aAAa,CAAC,EAAE,SAAS,GACxB,OAAO,CAAC,SAAS,CAAC,CA4LpB;AAED;;;;;;;;oCAQoC;AACpC,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF"}
@@ -1,21 +1,28 @@
1
- // @x-code-cli/core — Agent Loop (orchestration: streaming, tool calls, permission, context compression)
1
+ // @x-code-cli/core — Agent Loop (orchestration: streaming, tool calls, permission)
2
+ //
3
+ // Context compression lives in `./compression.ts`; this file just
4
+ // orchestrates the per-turn streaming + tool dispatch loop.
2
5
  import fs from 'node:fs/promises';
3
6
  import path from 'node:path';
4
- import { generateText, streamText } from 'ai';
7
+ import { streamText } from 'ai';
5
8
  import { buildKnowledgeContext } from '../knowledge/loader.js';
6
- import { generateSessionSummary } from '../knowledge/session.js';
7
9
  import { applyCacheControl } from '../providers/cache-control.js';
8
10
  import { getThinkingProviderOptions, mergeThinkingOptions } from '../providers/thinking.js';
9
- import { clearProgressReporter, setProgressReporter } from '../tools/progress.js';
10
11
  import { toolRegistry, truncateToolResult } from '../tools/index.js';
12
+ import { clearProgressReporter, setProgressReporter } from '../tools/progress.js';
11
13
  import { createTaskTool } from '../tools/task.js';
12
14
  import { debugLog } from '../utils.js';
13
15
  import { classifyApiError, isContextTooLongError } from './api-errors.js';
14
- import { estimateTokenCount, getCompressionThreshold, getMaxOutputTokens } from './context-window.js';
15
- import { lightCompactMessages } from './light-compact.js';
16
+ import { checkAndCompressContext, handleContextTooLong } from './compression.js';
17
+ import { getCompressionThreshold, getMaxOutputTokens } from './context-window.js';
16
18
  import { createLoopState } from './loop-state.js';
17
19
  import { generateTaskSlug, makePlanFilePath } from './plan-storage.js';
18
- import { appendHeader, appendUsage, flushPendingMessages, markBoundaryAndReflush, } from './session-store.js';
20
+ import { downgradeBinaryPartsForProvider, ensureReasoningContentParts } from './provider-compat.js';
21
+ import { appendHeader, appendUsage, flushPendingMessages } from './session-store.js';
22
+ import { drainStreamResult } from './stream-utils.js';
23
+ import { buildSystemPrompt } from './system-prompt.js';
24
+ import { processToolCalls } from './tool-execution.js';
25
+ import { repairOrphanToolCalls, truncateToolResultsInMessages } from './tool-result-sanitize.js';
19
26
  /** Pull plain text out of a UserContent payload for slugification.
20
27
  * UserContent can be a string OR a multi-part array (text/image/file
21
28
  * parts after `buildUserContent` ingests `@path` references); we only
@@ -32,91 +39,8 @@ function userContentToText(content) {
32
39
  }
33
40
  return '';
34
41
  }
35
- import { downgradeBinaryPartsForProvider, ensureReasoningContentParts } from './provider-compat.js';
36
- import { drainStreamResult } from './stream-utils.js';
37
- import { buildSystemPrompt } from './system-prompt.js';
38
- import { processToolCalls } from './tool-execution.js';
39
- import { repairOrphanToolCalls, truncateToolResultsInMessages } from './tool-result-sanitize.js';
40
- /** Number of recent messages to keep verbatim when compressing. */
41
- const KEEP_RECENT = 6;
42
- /** Compress old messages into a summary. */
43
- export async function compressMessages(messages, model) {
44
- const recent = messages.slice(-KEEP_RECENT);
45
- const old = messages.slice(0, -KEEP_RECENT);
46
- if (old.length === 0)
47
- return messages;
48
- const { text: summary } = await generateText({
49
- model,
50
- system: 'Summarize the following conversation concisely, preserving key decisions, file changes, and context needed to continue.',
51
- messages: old,
52
- });
53
- return [{ role: 'user', content: `[Previous conversation summary]\n${summary}` }, ...recent];
54
- }
55
- /**
56
- * Proactive compression: compress when either the last real input-token count
57
- * or the character-based estimate has crossed the threshold.
58
- *
59
- * Runs a light O(n) compaction first (drops loop-guard pairs — no LLM call,
60
- * no network). If that brings us back under the threshold, we skip the
61
- * expensive LLM-summary path entirely. This is the difference between a
62
- * $0 10ms pass and a full summarisation round trip — for loop-induced
63
- * bloat (by far the common case), the light path is enough.
64
- */
65
- async function checkAndCompressContext(state, model, threshold, callbacks) {
66
- const needsCompression = state.lastInputTokens > threshold || estimateTokenCount(state.messages) > threshold;
67
- if (!needsCompression || state.messages.length <= KEEP_RECENT)
68
- return;
69
- const light = lightCompactMessages(state.messages);
70
- if (light.dropped > 0) {
71
- state.messages = light.messages;
72
- const stillOver = estimateTokenCount(state.messages) > threshold;
73
- callbacks.onContextCompressed(`Dropped ${light.dropped} looped tool-call message(s) to reclaim context${stillOver ? ' — still over threshold, summarising' : ''}.`);
74
- if (!stillOver) {
75
- // Light compaction succeeded — write a boundary so resume won't
76
- // resurrect the dropped loop-guard pairs (they're still on disk
77
- // pre-boundary, but the loader cuts at the latest boundary). The
78
- // boundary carries no summary text since nothing was summarised.
79
- void markBoundaryAndReflush(state);
80
- return;
81
- }
82
- }
83
- let summaryText = '';
84
- try {
85
- const summary = await generateSessionSummary(state.messages, model, state.sessionId, state.startedAt, [
86
- ...state.filesModified,
87
- ]);
88
- summaryText = summary.summary;
89
- }
90
- catch {
91
- // Summary generation failed — fall through with empty text. The
92
- // compressMessages call below still runs its own LLM summarisation,
93
- // so context still shrinks; we just lose the structured summary
94
- // that would have ridden along on the boundary line for picker UX.
95
- }
96
- state.messages = await compressMessages(state.messages, model);
97
- state.lastInputTokens = 0;
98
- // Write a compact-boundary line + re-flush the trimmed messages so
99
- // the post-boundary jsonl content equals the new in-memory state.
100
- void markBoundaryAndReflush(state, summaryText);
101
- callbacks.onContextCompressed('Context compressed to fit context window.');
102
- }
103
- /**
104
- * Reactive compact: when a stream errors because the prompt was too long,
105
- * compress and signal the caller to retry. Mirrors Claude Code's reactiveCompact.
106
- * Returns true if compression happened (caller should retry this turn).
107
- */
108
- async function handleContextTooLong(state, model, callbacks) {
109
- if (state.messages.length <= KEEP_RECENT)
110
- return false;
111
- state.messages = await compressMessages(state.messages, model);
112
- state.lastInputTokens = 0;
113
- // Same boundary discipline as the proactive path — reactive compact
114
- // also shrinks state.messages in place, so the jsonl needs a
115
- // compact-boundary marker to keep loader semantics consistent.
116
- void markBoundaryAndReflush(state);
117
- callbacks.onContextCompressed('Context too long — automatically compressed. Retrying...');
118
- return true;
119
- }
42
+ // Re-exported for the CLI's resume / manual-compact path (see use-agent.ts).
43
+ export { compressMessages } from './compression.js';
120
44
  /** Consume streamText output, dispatching chunks to the UI via callbacks.
121
45
  * Reasoning-delta chunks (thinking-mode models — DeepSeek-reasoner, o1,
122
46
  * etc.) are deliberately ignored: that's the model's internal chain of
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAG7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC3F,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAE3B;;;;4CAI4C;AAC5C,SAAS,iBAAiB,CAAC,OAAoB;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAA;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,IAAI,OAAQ,CAAwB,CAAC,IAAI,KAAK,QAAQ,CAAC;aAC5H,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAIhG,mEAAmE;AACnE,MAAM,WAAW,GAAG,CAAC,CAAA;AAErB,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAwB,EAAE,KAAoB;IACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;IAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAErC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC;QAC3C,KAAK;QACL,MAAM,EACJ,yHAAyH;QAC3H,QAAQ,EAAE,GAAG;KACd,CAAC,CAAA;IAEF,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oCAAoC,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,CAAA;AAC9F,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,uBAAuB,CACpC,KAAgB,EAChB,KAAoB,EACpB,SAAiB,EACjB,SAAyB;IAEzB,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,GAAG,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IAC5G,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAW;QAAE,OAAM;IAErE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;QAChE,SAAS,CAAC,mBAAmB,CAC3B,WAAW,KAAK,CAAC,OAAO,kDAAkD,SAAS,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,GAAG,CACrI,CAAA;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,gEAAgE;YAChE,gEAAgE;YAChE,iEAAiE;YACjE,iEAAiE;YACjE,KAAK,sBAAsB,CAAC,KAAK,CAAC,CAAA;YAClC,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;YACpG,GAAG,KAAK,CAAC,aAAa;SACvB,CAAC,CAAA;QACF,WAAW,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,oEAAoE;QACpE,gEAAgE;QAChE,mEAAmE;IACrE,CAAC;IACD,KAAK,CAAC,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC9D,KAAK,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,mEAAmE;IACnE,kEAAkE;IAClE,KAAK,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAC/C,SAAS,CAAC,mBAAmB,CAAC,2CAA2C,CAAC,CAAA;AAC5E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CACjC,KAAgB,EAChB,KAAoB,EACpB,SAAyB;IAEzB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAW;QAAE,OAAO,KAAK,CAAA;IACtD,KAAK,CAAC,QAAQ,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC9D,KAAK,CAAC,eAAe,GAAG,CAAC,CAAA;IACzB,oEAAoE;IACpE,6DAA6D;IAC7D,+DAA+D;IAC/D,KAAK,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAClC,SAAS,CAAC,mBAAmB,CAAC,0DAA0D,CAAC,CAAA;IACzF,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;oCAIoC;AACpC,KAAK,UAAU,gBAAgB,CAAC,MAAoB,EAAE,SAAyB;IAC7E,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAA;YAC7B,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;YACnC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;YAC5F,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAA;YACzC,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,iEAAiE;YACjE,IAAI,UAAU,EAAE,CAAC;gBACf,mBAAmB,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;YACrF,CAAC;YACD,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC,CAAA;QACxG,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACxC,0EAA0E;YAC1E,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;YAChG,QAAQ,CAAC,oBAAoB,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;YAClE,IAAI,KAAK,CAAC,UAAU;gBAAE,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC7D,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;QACzE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;QACD,mFAAmF;QACnF,8EAA8E;IAChF,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,mBAAmB,CAChC,MAAoB,EACpB,KAAgB,EAChB,OAAe,EACf,SAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAA;IACtC,6EAA6E;IAC7E,wEAAwE;IACxE,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,qCAAqC;IACrC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAChD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACzC,2BAA2B,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAEpD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAA;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAA;QACtD,KAAK,CAAC,UAAU,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,CAAA;QACxD,qEAAqE;QACrE,gFAAgF;QAChF,yEAAyE;QACzE,wEAAwE;QACxE,KAAK,CAAC,UAAU,CAAC,eAAe,IAAI,KAAK,CAAC,iBAAiB,EAAE,eAAe,IAAI,CAAC,CAAA;QACjF,KAAK,CAAC,UAAU,CAAC,mBAAmB,IAAI,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,IAAI,CAAC,CAAA;QACtF,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAA;QAC3F,qEAAqE;QACrE,mEAAmE;QACnE,iEAAiE;QACjE,oEAAoE;QACpE,uEAAuE;QACvE,mEAAmE;QACnE,yDAAyD;QACzD,qEAAqE;QACrE,uEAAuE;QACvE,iEAAiE;QACjE,KAAK,CAAC,UAAU,CAAC,oBAAoB,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAA;QAC5F,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI;YAAE,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAA;QACxE,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACzC,sEAAsE;QACtE,wEAAwE;QACxE,kEAAkE;QAClE,mDAAmD;QACnD,KAAK,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAA;AAC5B,CAAC;AAaD;;;uDAGuD;AACvD,SAAS,YAAY,CAAC,GAAY,EAAE,MAA+B;IACjE,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,IAAI,CAAA;IAChC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAA;QAC1C,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAA;IAC1D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;kEAMkE;AAClE,SAAS,UAAU,CAAC,OAAqB;IACvC,8DAA8D;IAC9D,MAAM,KAAK,GAAwB,EAAE,GAAG,YAAY,EAAE,CAAA;IAEtD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAA;IACjC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,OAAO,CACpB,KAAgB,EAChB,KAAoB,EACpB,OAAqB,EACrB,YAAoB,EACpB,SAAyB;AACzB,8DAA8D;AAC9D,cAAmC;IAEnC,mEAAmE;IACnE,kEAAkE;IAClE,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,qEAAqE;IACrE,kEAAkE;IAClE,oEAAoE;IACpE,4DAA4D;IAC5D,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAErC,oEAAoE;IACpE,sEAAsE;IACtE,mEAAmE;IACnE,0CAA0C;IAC1C,MAAM,+BAA+B,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtE,2EAA2E;IAC3E,8DAA8D;IAC9D,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAC/B,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAA;IAEF,2EAA2E;IAC3E,0EAA0E;IAC1E,6DAA6D;IAC7D,0EAA0E;IAC1E,qEAAqE;IACrE,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,4BAA4B;IAC5B,MAAM,eAAe,GAAG,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAA;IAC9F,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IAE3F,IAAI,MAAoB,CAAA;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC;YAClB,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,cAAc;YACrB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,qEAAqE;YACrE,qEAAqE;YACrE,yEAAyE;YACzE,2DAA2D;YAC3D,eAAe,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;YACpD,sEAAsE;YACtE,yDAAyD;YACzD,uEAAuE;YACvE,sEAAsE;YACtE,2DAA2D;YAC3D,eAAe,EAAE,qBAA4E;SAC9F,CAA4B,CAAA;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QACtE,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,8CAA8C;IAC9C,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAEzB,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,oEAAoE;QACpE,0DAA0D;QAC1D,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAEzB,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QACtE,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YACtE,IAAI,UAAU;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC1C,CAAC;QACD,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACzF,QAAQ,CACN,aAAa,EACb,UAAU,YAAY,SAAS,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,eAAe,UAAU,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CACtH,CAAA;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QACtE,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,uBAAuB;AACvB,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,WAAwB,EACxB,KAAoB,EACpB,OAAqB,EACrB,SAAyB,EACzB,aAAyB;IAEzB,MAAM,KAAK,GAAG,aAAa,IAAI,eAAe,CAAC,OAAO,CAAC,cAAc,IAAI,SAAS,CAAC,CAAA;IACnF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;IAE3D,oEAAoE;IACpE,mEAAmE;IACnE,iEAAiE;IACjE,oEAAoE;IACpE,MAAM;IACN,EAAE;IACF,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,iEAAiE;IACjE,kEAAkE;IAClE,6DAA6D;IAC7D,mEAAmE;IACnE,gEAAgE;IAChE,yCAAyC;IACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,eAAe,GAAoB,KAAK,CAAC,QAAQ;QACrD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAE3E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,EAAE,CAAA;IAE1D,8DAA8D;IAC9D,MAAM,SAAS,GAAG,MAAM,EAAE;SACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;SACtC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IAErB,oEAAoE;IACpE,KAAK,CAAC,gBAAgB,GAAG,oBAAoB,CAAA;IAC7C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;IAE3B,qEAAqE;IACrE,qEAAqE;IACrE,gEAAgE;IAChE,2DAA2D;IAC3D,KAAK,CAAC,QAAQ,GAAG,MAAM,eAAe,CAAA;IAEtC,+DAA+D;IAC/D,6DAA6D;IAC7D,+DAA+D;IAC/D,6DAA6D;IAC7D,+DAA+D;IAC/D,iEAAiE;IACjE,sCAAsC;IACtC,IAAI,KAAK,CAAC,cAAc,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC9D,KAAK,CAAC,eAAe,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,wDAAwD;IACxD,KAAK,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEnD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAErE,oEAAoE;IACpE,oEAAoE;IACpE,wDAAwD;IACxD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAE1C,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,CAAC,CAAA;IAC3B,IAAI,oBAAoB,GAAG,CAAC,CAAA;IAE5B,OAAO,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,CAAC,SAAS,EAAE,CAAA;QAEjB,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,mDAAmD;QACnD,sEAAsE;QACtE,qEAAqE;QACrE,0CAA0C;QAC1C,KAAK,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAEhC,MAAM,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAA;QAE5E,sEAAsE;QACtE,mEAAmE;QACnE,oEAAoE;QACpE,mEAAmE;QACnE,sEAAsE;QACtE,iBAAiB;QACjB,EAAE;QACF,oEAAoE;QACpE,8DAA8D;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,cAAc;QACd,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBAC1C,gBAAgB,EAAE,oBAAoB;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS;gBACT,QAAQ,EAAE,KAAK,CAAC,cAAc,KAAK,MAAM;gBACzC,YAAY,EAAE,KAAK,CAAC,eAAe,IAAI,SAAS;aACjD,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAA;QAE5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;QAE7F,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,MAAK;QACnC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,MAAK;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,2EAA2E;YAC3E,KAAK,CAAC,SAAS,EAAE,CAAA;YACjB,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YAC1C,sEAAsE;YACtE,4CAA4C;YAC5C,oBAAoB,GAAG,CAAC,CAAA;YACxB,IAAI,SAA6C,CAAA;YACjD,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAA;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;oBAAE,MAAK;gBACjD,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC3D,MAAK;YACP,CAAC;YACD,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;YACnE,mEAAmE;YACnE,mEAAmE;YACnE,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO;gBAAE,MAAK;YACvC,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,oBAAoB,GAAG,iBAAiB,EAAE,CAAC;gBAC7C,oBAAoB,EAAE,CAAA;gBACtB,QAAQ,CACN,0BAA0B,EAC1B,WAAW,oBAAoB,IAAI,iBAAiB,SAAS,KAAK,CAAC,SAAS,EAAE,CAC/E,CAAA;gBACD,iEAAiE;gBACjE,iEAAiE;gBACjE,4DAA4D;gBAC5D,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,MAAM;oBACZ,OAAO,EACL,kKAAkK;iBACrK,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YACD,SAAS,CAAC,OAAO,CACf,IAAI,KAAK,CACP,kCAAkC,iBAAiB,mDAAmD,CACvG,CACF,CAAA;YACD,MAAK;QACP,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,gBAAgB,EAAE,CAAC;YAC9C,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAClF,CAAC;QAED,MAAK;IACP,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,QAAQ,yBAAyB,CAAC,CAAC,CAAA;IACnG,CAAC;IAED,sEAAsE;IACtE,mEAAmE;IACnE,gEAAgE;IAChE,qEAAqE;IACrE,yDAAyD;IACzD,KAAK,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;oCAQoC;AACpC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAgB,EAAE,MAAqB;IACvE,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,13 @@ export type UserContent = string | Array<TextPart | ImagePart | FilePart>;
6
6
  export declare function userMessage(content: UserContent): ModelMessage;
7
7
  /** Create a tool result message */
8
8
  export declare function toolResultMessage(toolCallId: string, toolName: string, result: string): ModelMessage;
9
+ /** Standard error string returned to the model from a tool. The "Error: "
10
+ * prefix is load-bearing — handleToolCall checks for it via
11
+ * isToolErrorString to flip the scrollback line to red, and the model
12
+ * itself learns to read it as a failure marker. */
13
+ export declare function toolErrorString(message: string): string;
14
+ /** Wrap a thrown / unknown value into the standard tool-error string. */
15
+ export declare function toolErrorFromUnknown(err: unknown): string;
16
+ /** Match the result-string prefix produced by toolErrorString. */
17
+ export declare function isToolErrorString(value: string): boolean;
9
18
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/agent/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAErE;yEACyE;AACzE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAA;AAEzE,4BAA4B;AAC5B,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAE9D;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAYpG"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/agent/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAErE;yEACyE;AACzE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAA;AAEzE,4BAA4B;AAC5B,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAE9D;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAYpG;AAED;;;oDAGoD;AACpD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD"}
@@ -16,4 +16,19 @@ export function toolResultMessage(toolCallId, toolName, result) {
16
16
  ],
17
17
  };
18
18
  }
19
+ /** Standard error string returned to the model from a tool. The "Error: "
20
+ * prefix is load-bearing — handleToolCall checks for it via
21
+ * isToolErrorString to flip the scrollback line to red, and the model
22
+ * itself learns to read it as a failure marker. */
23
+ export function toolErrorString(message) {
24
+ return `Error: ${message}`;
25
+ }
26
+ /** Wrap a thrown / unknown value into the standard tool-error string. */
27
+ export function toolErrorFromUnknown(err) {
28
+ return toolErrorString(err instanceof Error ? err.message : String(err));
29
+ }
30
+ /** Match the result-string prefix produced by toolErrorString. */
31
+ export function isToolErrorString(value) {
32
+ return value.startsWith('Error:');
33
+ }
19
34
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/agent/messages.ts"],"names":[],"mappings":"AAOA,4BAA4B;AAC5B,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAClC,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc;IACpF,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,aAAa;gBACnB,UAAU;gBACV,QAAQ;gBACR,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACxC;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/agent/messages.ts"],"names":[],"mappings":"AAOA,4BAA4B;AAC5B,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAClC,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc;IACpF,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,aAAa;gBACnB,UAAU;gBACV,QAAQ;gBACR,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACxC;SACF;KACF,CAAA;AACH,CAAC;AAED;;;oDAGoD;AACpD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,UAAU,OAAO,EAAE,CAAA;AAC5B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-storage.d.ts","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAQvC;;;;;;uEAMuE;AACvE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU5C;AAiBD;;;;;;;;wCAQwC;AACxC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GACnC,MAAM,CAKR;AAuBD;;;;;;;;;;;;;;;;2DAgB2D;AAC3D,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;qDAEqD;AACrD,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD;AAED;;;aAGa;AACb,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhE;AAED;;;qBAGqB;AACrB,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/E"}
1
+ {"version":3,"file":"plan-storage.d.ts","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAQvC;;;;;;uEAMuE;AACvE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU5C;AAiBD;;;;;;;;wCAQwC;AACxC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,MAAM,CAK/F;AAuBD;;;;;;;;;;;;;;;;2DAgB2D;AAC3D,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;qDAEqD;AACrD,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnD;AAED;;;aAGa;AACb,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMhE;AAED;;;qBAGqB;AACrB,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/E"}
@@ -16,7 +16,7 @@ import fs from 'node:fs/promises';
16
16
  import path from 'node:path';
17
17
  import { generateText } from 'ai';
18
18
  import { getThinkingProviderOptions } from '../providers/thinking.js';
19
- import { debugLog, XCODE_DIR } from '../utils.js';
19
+ import { XCODE_DIR, debugLog } from '../utils.js';
20
20
  const PLANS_SUBDIR = 'plans';
21
21
  const SLUG_MAX_LEN = 40;
22
22
  /** Convert an arbitrary task description into a filesystem-safe,
@@ -1 +1 @@
1
- {"version":3,"file":"plan-storage.js","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-storage.js","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,qEAAqE;AACrE,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,mDAAmD;AACnD,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,uEAAuE;AACvE,mEAAmE;AACnE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAGjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,YAAY,GAAG,OAAO,CAAA;AAC5B,MAAM,YAAY,GAAG,EAAE,CAAA;AAEvB;;;;;;uEAMuE;AACvE,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,IAAI,EAAE;SACN,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;SACtB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxB,CAAC;AAED;;iCAEiC;AACjC,SAAS,eAAe,CAAC,CAAO;IAC9B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrD,OAAO,CACL,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;QAC/D,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CACpE,CAAA;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;wCAQwC;AACxC,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAoC;IACrF,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,CAAA;AAC5C,CAAC;AAED;;;;2BAI2B;AAC3B,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAEjC;;cAEc;AACd,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B;;;;;;6DAM6D;AAC7D,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC;;;;;;;;;;;;;;;;2DAgB2D;AAC3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,KAAoB,EACpB,OAAe,EACf,MAAoB;IAEpB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,SAAS,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAChD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,SAAS,CAAC,MAAM,UAAU,SAAS,GAAG,CAAC,CAAA;QACzE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,QAAQ,CAAC,gBAAgB,EAAE,eAAe,QAAQ,CAAC,MAAM,YAAY,OAAO,EAAE,CAAC,CAAA;IAC/E,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,CAAC;YACvD,KAAK;YACL,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAEnC;YACvB,MAAM,EACJ,wEAAwE;gBACxE,sEAAsE;gBACtE,uEAAuE;gBACvE,qEAAqE;YACvE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;YAC7C,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1B,QAAQ,CACN,iBAAiB,EACjB,gBAAgB,YAAY,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,IAAI,YAAY,KAAK,EAAE,YAAY,IAAI,GAAG,EAAE,CAC1H,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,gBAAgB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5E,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED;;qDAEqD;AACrD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACjD,CAAC;AAED;;;aAGa;AACb,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED;;;qBAGqB;AACrB,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,IAAY;IAC5D,MAAM,aAAa,EAAE,CAAA;IACrB,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC3C,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AgentCallbacks, AgentOptions } from '../types/index.js';
2
+ import type { LoopState } from './loop-state.js';
3
+ type PushToolResult = (state: LoopState, callbacks: AgentCallbacks, toolCallId: string, toolName: string, output: string, isError?: boolean) => void;
4
+ export declare function handleTodoWrite(input: Record<string, unknown>, toolCallId: string, state: LoopState, callbacks: AgentCallbacks, pushToolResult: PushToolResult): Promise<void>;
5
+ export declare function handleEnterPlanMode(input: Record<string, unknown>, toolCallId: string, state: LoopState, options: AgentOptions, callbacks: AgentCallbacks, pushToolResult: PushToolResult): Promise<void>;
6
+ export declare function handleExitPlanMode(input: Record<string, unknown>, toolCallId: string, state: LoopState, callbacks: AgentCallbacks, pushToolResult: PushToolResult): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=plan-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-tools.d.ts","sourceRoot":"","sources":["../../src/agent/plan-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAY,MAAM,mBAAmB,CAAA;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,KAAK,cAAc,GAAG,CACpB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAA;AAYT,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiGf"}
@@ -0,0 +1,150 @@
1
+ import { extractText } from '../utils/message-helpers.js';
2
+ import { toolErrorString } from './messages.js';
3
+ import { makePlanFilePath, readPlan, writePlan } from './plan-storage.js';
4
+ function lastUserMessageText(messages) {
5
+ for (let i = messages.length - 1; i >= 0; i--) {
6
+ const m = messages[i];
7
+ if (m && m.role === 'user') {
8
+ return extractText(m.content);
9
+ }
10
+ }
11
+ return '';
12
+ }
13
+ export async function handleTodoWrite(input, toolCallId, state, callbacks, pushToolResult) {
14
+ const raw = input.todos ?? [];
15
+ const normalized = [];
16
+ for (const t of raw) {
17
+ const content = (t.content ?? '').trim();
18
+ const activeForm = (t.activeForm ?? '').trim();
19
+ if (!content && !activeForm)
20
+ continue;
21
+ normalized.push({
22
+ content: content || activeForm,
23
+ activeForm: activeForm || content,
24
+ status: t.status ?? 'pending',
25
+ });
26
+ }
27
+ const allDone = normalized.length > 0 && normalized.every((t) => t.status === 'completed');
28
+ state.todos = allDone ? [] : normalized;
29
+ callbacks.onTodosUpdate(state.todos);
30
+ const dropped = raw.length - normalized.length;
31
+ const droppedNote = dropped > 0
32
+ ? ` ${dropped} entr${dropped === 1 ? 'y was' : 'ies were'} dropped because they had neither content nor activeForm — please include both fields next time so the user sees clean labels.`
33
+ : '';
34
+ const VERIFY_RE = /\b(verif|test|check|lint|build|typecheck|tsc)\b/i;
35
+ const needsVerifyNudge = allDone &&
36
+ normalized.length >= 3 &&
37
+ !normalized.some((t) => VERIFY_RE.test(t.content) || VERIFY_RE.test(t.activeForm));
38
+ const verifyNote = needsVerifyNudge
39
+ ? ' Before wrapping up, verify your work — run tests, lint, or type-check as appropriate for this project.'
40
+ : '';
41
+ pushToolResult(state, callbacks, toolCallId, 'todoWrite', allDone
42
+ ? `All todos completed. Checklist cleared.${verifyNote}${droppedNote}`
43
+ : `Todo list updated. Keep the checklist current — mark items completed immediately when finished, and ensure exactly one item is in_progress.${droppedNote}`);
44
+ }
45
+ export async function handleEnterPlanMode(input, toolCallId, state, options, callbacks, pushToolResult) {
46
+ if (state.permissionMode === 'plan') {
47
+ pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', 'Already in plan mode. Continue the conversation; call exitPlanMode when the user has asked for an implementation and you have a plan ready.');
48
+ return;
49
+ }
50
+ const decision = await callbacks.onAskPermission({ toolCallId, toolName: 'enterPlanMode', input });
51
+ if (options.abortSignal?.aborted) {
52
+ pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', '[Tool execution interrupted by user]', true);
53
+ return;
54
+ }
55
+ if (decision === 'no') {
56
+ pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', "User declined to enter plan mode. Continue with the user's request in default mode — make whatever edits or shell calls the task requires (subject to per-tool permission).", true);
57
+ return;
58
+ }
59
+ state.permissionMode = 'plan';
60
+ state.systemPromptCache = null;
61
+ if (!state.currentPlanPath) {
62
+ const topic = input.topic?.trim();
63
+ const fallbackText = lastUserMessageText(state.messages);
64
+ const explicitSlug = topic && topic.length > 0 ? topic : state.taskSlug || undefined;
65
+ state.currentPlanPath = makePlanFilePath(fallbackText, { slug: explicitSlug });
66
+ }
67
+ callbacks.onPlanModeChange('plan');
68
+ pushToolResult(state, callbacks, toolCallId, 'enterPlanMode', [
69
+ 'Entered plan mode (user approved).',
70
+ '',
71
+ 'Read-only tools are unrestricted (readFile, glob, grep, listDir, webSearch, webFetch).',
72
+ `Plan file path for this session: ${state.currentPlanPath}`,
73
+ 'Use writeFile/edit on the plan file to build your plan; do NOT edit any other files',
74
+ 'or run state-changing shell commands until the user approves your plan via exitPlanMode.',
75
+ '',
76
+ 'Workflow: explore → update plan file → askUser → repeat.',
77
+ '',
78
+ 'CRITICAL: when the plan is ready, call **exitPlanMode** to request approval — NOT',
79
+ 'askUser. askUser cannot leave plan mode no matter how the user answers; only',
80
+ 'exitPlanMode flips the mode and unblocks your writeFile/edit/shell calls.',
81
+ ].join('\n'));
82
+ }
83
+ export async function handleExitPlanMode(input, toolCallId, state, callbacks, pushToolResult) {
84
+ if (state.permissionMode !== 'plan') {
85
+ pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', toolErrorString('not in plan mode. exitPlanMode is only valid when the session is in plan mode.'), true);
86
+ return;
87
+ }
88
+ const planPath = state.currentPlanPath ??
89
+ makePlanFilePath(lastUserMessageText(state.messages), { slug: state.taskSlug || undefined });
90
+ state.currentPlanPath = planPath;
91
+ const planOverride = input.plan?.trim();
92
+ let planBody = planOverride ?? '';
93
+ if (!planBody) {
94
+ planBody = (await readPlan(planPath)).trim();
95
+ }
96
+ if (!planBody) {
97
+ pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', toolErrorString(`the plan file at ${planPath} is empty. Write your plan to that file using writeFile or edit, then call exitPlanMode again.`), true);
98
+ return;
99
+ }
100
+ let savedPath = planPath;
101
+ if (planOverride) {
102
+ try {
103
+ savedPath = await writePlan(planPath, planBody);
104
+ state.currentPlanPath = savedPath;
105
+ }
106
+ catch {
107
+ // Non-fatal — approval dialog uses the in-memory body.
108
+ }
109
+ }
110
+ const approved = await callbacks.onPlanApprovalRequest(planBody);
111
+ if (approved) {
112
+ state.permissionMode = 'acceptEdits';
113
+ state.systemPromptCache = null;
114
+ const persisted = savedPath ?? state.currentPlanPath;
115
+ state.currentPlanPath = null;
116
+ callbacks.onPlanModeChange('acceptEdits');
117
+ pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', [
118
+ 'Plan approved by user. Plan mode has been exited.',
119
+ persisted ? `The approved plan is saved at: ${persisted}` : '',
120
+ 'You can now edit files and run shell commands. Start implementing the plan.',
121
+ '',
122
+ 'For multi-step plans, call **todoWrite** first to break the plan into a',
123
+ 'tracked checklist — the user sees a live panel of your progress and you',
124
+ 'avoid losing track of remaining steps mid-implementation.',
125
+ ]
126
+ .filter(Boolean)
127
+ .join('\n'));
128
+ state.messages.push({
129
+ role: 'user',
130
+ content: [
131
+ '## Exited Plan Mode',
132
+ '',
133
+ 'You have exited plan mode. You can now make edits, run tools, and take actions.',
134
+ 'Write tools (writeFile, edit) are now auto-approved (acceptEdits mode); shell commands',
135
+ 'still go through normal permission classification.',
136
+ persisted ? `The plan file is located at ${persisted} if you need to reference it.` : '',
137
+ ]
138
+ .filter(Boolean)
139
+ .join('\n'),
140
+ });
141
+ return;
142
+ }
143
+ pushToolResult(state, callbacks, toolCallId, 'exitPlanMode', [
144
+ 'Plan rejected by user. You are still in plan mode.',
145
+ "Read the user's next message for feedback, revise the plan accordingly,",
146
+ 'and call exitPlanMode again with the revised body. Consider asking the user',
147
+ 'a clarifying question via askUser if you are unsure what to change.',
148
+ ].join('\n'), true);
149
+ }
150
+ //# sourceMappingURL=plan-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-tools.js","sourceRoot":"","sources":["../../src/agent/plan-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-compat.d.ts","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAKtC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAc3F;AAiFD;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAoEf"}
1
+ {"version":3,"file":"provider-compat.d.ts","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAKtC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAc3F;AAiFD;;;;;GAKG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0E9G"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-compat.js","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-compat.js","sourceRoot":"","sources":["../../src/agent/provider-compat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/built-in.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAapD,eAAO,MAAM,aAAa,EAAE,kBAAkB,EA0F7C,CAAA"}
1
+ {"version":3,"file":"built-in.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/built-in.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAuCpD,eAAO,MAAM,aAAa,EAAE,kBAAkB,EA4F7C,CAAA"}
@@ -1,13 +1,37 @@
1
1
  const SHELL_DENY_KEYWORDS = [
2
- 'rm ', 'rm\t', 'rmdir', 'del ', 'rd ',
3
- 'mv ', 'move ', 'ren ',
4
- 'git commit', 'git push', 'git merge', 'git rebase', 'git reset',
5
- 'git checkout -b', 'git branch -d', 'git branch -D',
6
- '>', '>>', 'tee ', 'tee\t',
7
- 'chmod', 'chown',
8
- 'npm publish', 'pnpm publish', 'yarn publish',
9
- 'docker rm', 'docker rmi',
2
+ 'rm ',
3
+ 'rm\t',
4
+ 'rmdir',
5
+ 'del ',
6
+ 'rd ',
7
+ 'mv ',
8
+ 'move ',
9
+ 'ren ',
10
+ 'git commit',
11
+ 'git push',
12
+ 'git merge',
13
+ 'git rebase',
14
+ 'git reset',
15
+ 'git checkout -b',
16
+ 'git branch -d',
17
+ 'git branch -D',
18
+ '>',
19
+ '>>',
20
+ 'tee ',
21
+ 'tee\t',
22
+ 'chmod',
23
+ 'chown',
24
+ 'npm publish',
25
+ 'pnpm publish',
26
+ 'yarn publish',
27
+ 'docker rm',
28
+ 'docker rmi',
10
29
  ];
30
+ // Shared lead-in for sub-agents whose final message is the entire payload
31
+ // the parent agent sees. The parent has no access to anything the
32
+ // sub-agent read or computed mid-loop, so we reinforce "inline everything"
33
+ // in one place rather than repeating near-identical copy per agent.
34
+ const FINAL_MESSAGE_CONTRACT_HEADER = "CRITICAL — your final message is ALL the parent agent sees. It will NOT re-read files you've already read.";
11
35
  export const builtInAgents = [
12
36
  {
13
37
  name: 'explore',
@@ -20,7 +44,7 @@ Guidelines:
20
44
  - If the codebase is large, prioritize the most relevant files
21
45
  - Do NOT suggest code changes — just report what you find
22
46
 
23
- CRITICAL — your final message is ALL the parent agent sees. It will NOT re-read files you've already read. Your output must be comprehensive enough that the parent can act on it directly:
47
+ ${FINAL_MESSAGE_CONTRACT_HEADER} Your output must be comprehensive enough that the parent can act on it directly:
24
48
  - Include key code snippets (function signatures, type definitions, important logic) — not just file paths
25
49
  - For architecture questions, describe the data flow and module relationships
26
50
  - For "find all X" questions, list every match with file:line and a brief context line
@@ -33,20 +57,22 @@ CRITICAL — your final message is ALL the parent agent sees. It will NOT re-rea
33
57
  },
34
58
  {
35
59
  name: 'general-purpose',
36
- description: 'Multi-step research and investigation. Use for open-ended questions that may need 3+ tool calls and you don\'t want noise in the main context.',
37
- prompt: `You are a general-purpose research assistant. You can read files, search code, and run shell commands to investigate questions.
60
+ description: "General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you're searching for a keyword or file and not confident the first few tries will hit, delegate the search here.",
61
+ prompt: `You are a general-purpose agent. You have access to the full tool set — read files, search code, run shell commands, and write/edit files when the task genuinely requires it. Complete the task fully, but don't gold-plate.
38
62
 
39
63
  Guidelines:
40
64
  - Be thorough but efficient — minimize unnecessary tool calls
41
65
  - Synthesize findings into a clear, actionable summary
42
66
  - Include file paths and line numbers for key references
43
- - If you find issues or patterns, describe them concisely
67
+ - NEVER create files unless absolutely necessary for the task. Prefer editing an existing file over creating a new one.
68
+ - NEVER proactively create documentation files (*.md) or README files. Only when explicitly asked.
69
+ - When the work is investigative, do NOT modify code — just report. Modify only when the parent's prompt asks you to.
44
70
 
45
- CRITICAL — your final message is ALL the parent agent sees. It will NOT re-read files you've already read. Your output must be self-contained:
71
+ ${FINAL_MESSAGE_CONTRACT_HEADER} Your output must be self-contained:
46
72
  - Include key code snippets, not just references — the parent cannot read the files
47
73
  - For multi-file investigations, summarize each file's role and relevant content
48
- - When the parent needs to modify code, include the exact current code that needs changing`,
49
- tools: ['readFile', 'glob', 'grep', 'listDir', 'shell'],
74
+ - If you modified files, list every path that changed and a one-line description of the change`,
75
+ tools: ['*'],
50
76
  maxTurns: 40,
51
77
  source: 'built-in',
52
78
  },