@sunilp-org/jam-cli 0.1.2 → 0.3.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.
package/README.md CHANGED
@@ -98,6 +98,15 @@ Most AI coding tools are built around a single vendor's model, require a browser
98
98
 
99
99
  ## Quick Start
100
100
 
101
+ ### Provider Support
102
+
103
+ | Provider | Status | Notes |
104
+ |----------|--------|-------|
105
+ | **Ollama** | ✅ Default | Local inference via `ollama serve` |
106
+ | **OpenAI** | ✅ Supported | Requires `OPENAI_API_KEY` |
107
+ | **Groq** | ✅ Supported | Requires `GROQ_API_KEY` |
108
+ | **Embedded** | ⚗️ Experimental | In-process via `node-llama-cpp`, no server needed |
109
+
101
110
  ### Prerequisites
102
111
 
103
112
  - **Node.js 20+**
@@ -1 +1 @@
1
- {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yFACqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0CD,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyQjG"}
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yFACqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA0CD,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqVjG"}
@@ -6,7 +6,7 @@ import { streamToStdout, printJsonResult, printError, renderMarkdown } from '../
6
6
  import { JamError } from '../utils/errors.js';
7
7
  import { getWorkspaceRoot } from '../utils/workspace.js';
8
8
  import { READ_ONLY_TOOL_SCHEMAS, executeReadOnlyTool } from '../tools/context-tools.js';
9
- import { ToolCallTracker, loadProjectContext, buildSystemPrompt, enrichUserPrompt, generateSearchPlan, buildSynthesisReminder, formatToolCall, formatToolResult, formatSeparator, formatDuplicateSkip, formatHintInjection, formatUsage, formatPlanBlock, formatInternalStatus, } from '../utils/agent.js';
9
+ import { ToolCallTracker, loadProjectContext, buildSystemPrompt, enrichUserPrompt, generateSearchPlan, generateExecutionPlan, enrichUserPromptWithPlan, formatExecutionPlanBlock, StepVerifier, buildToolResultsSummary, buildSynthesisReminder, formatToolCall, formatToolResult, formatSeparator, formatDuplicateSkip, formatHintInjection, formatUsage, formatPlanBlock, formatInternalStatus, } from '../utils/agent.js';
10
10
  import { WorkingMemory } from '../utils/memory.js';
11
11
  import { ToolResultCache } from '../utils/cache.js';
12
12
  import { criticEvaluate, buildCriticCorrection } from '../utils/critic.js';
@@ -85,6 +85,7 @@ export async function runAsk(inlinePrompt, options) {
85
85
  const adapter = await createProvider(profile);
86
86
  // ── Agentic context-gathering phase ───────────────────────────────────────
87
87
  const useTools = options.tools !== false &&
88
+ adapter.info.supportsTools !== false &&
88
89
  typeof adapter.chatWithTools === 'function';
89
90
  // Build workspace context for better model reasoning
90
91
  const workspaceRoot = useTools ? await getWorkspaceRoot() : '';
@@ -93,7 +94,12 @@ export async function runAsk(inlinePrompt, options) {
93
94
  : { jamContext: null, workspaceCtx: '' };
94
95
  const systemPrompt = options.system ??
95
96
  profile.systemPrompt ??
96
- (useTools ? buildSystemPrompt(jamContext, workspaceCtx) : undefined);
97
+ (useTools
98
+ ? buildSystemPrompt(jamContext, workspaceCtx)
99
+ : adapter.info.supportsTools === false
100
+ // Embedded / small model: lean prompt — just answer the question.
101
+ ? 'You are a helpful, knowledgeable AI assistant. Answer the user\'s question directly, concisely, and accurately. Format your response in clean Markdown when helpful.'
102
+ : undefined);
97
103
  if (useTools && adapter.chatWithTools) {
98
104
  const noColor = options.noColor ?? false;
99
105
  const tracker = new ToolCallTracker();
@@ -114,27 +120,79 @@ export async function runAsk(inlinePrompt, options) {
114
120
  pastContext = formatPastExchanges(pastExchanges);
115
121
  }
116
122
  catch { /* non-fatal */ }
117
- // ── Planning phase: deep reasoning about what to search for ─────────
123
+ // ── Planning phase: structured plan first, text plan fallback ────────
118
124
  stderrLog(formatSeparator('Planning', noColor));
119
125
  const projectCtxForPlan = [jamContext ?? workspaceCtx, symbolHint, pastContext].filter(Boolean).join('\n\n');
120
- const searchPlan = await generateSearchPlan(adapter, prompt, projectCtxForPlan, {
126
+ let structuredPlan = null;
127
+ let enrichedPrompt;
128
+ // Try to produce a structured JSON execution plan
129
+ structuredPlan = await generateExecutionPlan(adapter, prompt, projectCtxForPlan, {
121
130
  model: profile.model,
122
131
  temperature: profile.temperature,
123
132
  maxTokens: profile.maxTokens,
124
133
  });
125
- if (searchPlan) {
126
- stderrLog(formatPlanBlock(searchPlan, noColor) + '\n');
134
+ if (structuredPlan) {
135
+ stderrLog(formatExecutionPlanBlock(structuredPlan, noColor) + '\n');
136
+ enrichedPrompt = enrichUserPromptWithPlan(prompt, structuredPlan);
127
137
  }
128
138
  else {
129
- stderrLog(formatInternalStatus('planning skipped using generic search strategy', noColor) + '\n');
139
+ // Fall back to free-text search plan
140
+ const searchPlan = await generateSearchPlan(adapter, prompt, projectCtxForPlan, {
141
+ model: profile.model,
142
+ temperature: profile.temperature,
143
+ maxTokens: profile.maxTokens,
144
+ });
145
+ if (searchPlan) {
146
+ stderrLog(formatPlanBlock(searchPlan, noColor) + '\n');
147
+ }
148
+ else {
149
+ stderrLog(formatInternalStatus('planning skipped — using generic search strategy', noColor) + '\n');
150
+ }
151
+ enrichedPrompt = enrichUserPrompt(prompt, searchPlan);
130
152
  }
131
- // Enrich the user's prompt with the search plan
132
- const enrichedPrompt = enrichUserPrompt(prompt, searchPlan);
133
153
  let messages = [{ role: 'user', content: enrichedPrompt }];
154
+ // Step tracking for structured plan
155
+ let currentStepIdx = 0;
156
+ const stepVerifier = new StepVerifier();
134
157
  const MAX_TOOL_ROUNDS = 15;
135
158
  let synthesisInjected = false;
136
159
  stderrLog(formatSeparator('Searching codebase', noColor));
137
160
  for (let round = 0; round < MAX_TOOL_ROUNDS; round++) {
161
+ // ── Step injection: remind model of the current plan step ─────────
162
+ if (structuredPlan && round > 0 && round % 3 === 0 && currentStepIdx < structuredPlan.steps.length) {
163
+ const step = structuredPlan.steps[currentStepIdx];
164
+ messages.push({
165
+ role: 'user',
166
+ content: `[STEP REMINDER — Step ${step.id} of ${structuredPlan.steps.length}: ${step.action}. Use tool \`${step.tool}\` with args \`${JSON.stringify(step.args)}\`. Done when: ${step.successCriteria}]`,
167
+ });
168
+ }
169
+ // ── Verifier: check progress every 3 rounds after ≥2 tool calls ───
170
+ if (round > 0 && round % 3 === 0 && tracker.totalCalls >= 2) {
171
+ stderrLog(formatInternalStatus('Verifying progress…', noColor) + '\n');
172
+ const summary = buildToolResultsSummary(messages);
173
+ const vResult = await stepVerifier.verify(adapter, prompt, structuredPlan, summary, { model: profile.model });
174
+ if (vResult.status === 'ready-to-answer') {
175
+ stderrLog(formatInternalStatus(`Verifier: sufficient context — synthesizing answer`, noColor) + '\n');
176
+ if (!synthesisInjected) {
177
+ synthesisInjected = true;
178
+ messages.push({ role: 'user', content: buildSynthesisReminder(prompt) });
179
+ }
180
+ // Skip remaining tool rounds — let model produce final answer
181
+ }
182
+ else if (vResult.status === 'stuck') {
183
+ stderrLog(formatInternalStatus(`Verifier: stuck — ${vResult.reason}`, noColor) + '\n');
184
+ const nextStep = structuredPlan?.steps.find(s => s.id === vResult.nextStepId);
185
+ const stuckHint = [
186
+ `[VERIFIER: You appear stuck. ${vResult.reason}`,
187
+ nextStep
188
+ ? `Focus on Step ${nextStep.id}: use \`${nextStep.tool}\` with args \`${JSON.stringify(nextStep.args)}\`.`
189
+ : 'Try a completely different search term or use list_dir to explore the directory structure.',
190
+ ']',
191
+ ].join(' ');
192
+ messages.push({ role: 'user', content: stuckHint });
193
+ }
194
+ // For 'need-more': continue normally
195
+ }
138
196
  // ── Context window management: compact if approaching limit ───────
139
197
  if (memory.shouldCompact(messages)) {
140
198
  stderrLog(formatInternalStatus('Compacting context…', noColor) + '\n');
@@ -164,10 +222,13 @@ export async function runAsk(inlinePrompt, options) {
164
222
  updateContextWithUsage(workspaceRoot, log.readFiles, log.searchQueries).catch(() => { });
165
223
  return;
166
224
  }
167
- // Critic rejected — use its specific feedback
225
+ // Critic rejected — re-enter loop at the last incomplete plan step
168
226
  stderrLog(formatInternalStatus(`Critic: ${verdict.reason}`, noColor) + '\n');
169
227
  messages.push({ role: 'assistant', content: finalText });
170
- messages.push({ role: 'user', content: buildCriticCorrection(verdict, prompt) });
228
+ const stepHint = structuredPlan && currentStepIdx < structuredPlan.steps.length
229
+ ? `\n\nResume the execution plan from Step ${structuredPlan.steps[currentStepIdx].id}: ${structuredPlan.steps[currentStepIdx].action}. Gather more specific evidence before answering.`
230
+ : '';
231
+ messages.push({ role: 'user', content: buildCriticCorrection(verdict, prompt) + stepHint });
171
232
  continue;
172
233
  }
173
234
  // No answer yet — inject synthesis reminder
@@ -182,7 +243,10 @@ export async function runAsk(inlinePrompt, options) {
182
243
  if (!verdict.pass) {
183
244
  stderrLog(formatInternalStatus(`Critic: ${verdict.reason}`, noColor) + '\n');
184
245
  messages.push({ role: 'assistant', content: finalText });
185
- messages.push({ role: 'user', content: buildCriticCorrection(verdict, prompt) });
246
+ const stepHint = structuredPlan && currentStepIdx < structuredPlan.steps.length
247
+ ? `\n\nResume the execution plan from Step ${structuredPlan.steps[currentStepIdx].id}: ${structuredPlan.steps[currentStepIdx].action}.`
248
+ : '';
249
+ messages.push({ role: 'user', content: buildCriticCorrection(verdict, prompt) + stepHint });
186
250
  continue;
187
251
  }
188
252
  }
@@ -193,6 +257,13 @@ export async function runAsk(inlinePrompt, options) {
193
257
  updateContextWithUsage(workspaceRoot, log.readFiles, log.searchQueries).catch(() => { });
194
258
  return;
195
259
  }
260
+ // ── Advance plan step if executor used the planned tool ─────────────
261
+ if (structuredPlan && currentStepIdx < structuredPlan.steps.length && response.toolCalls?.length) {
262
+ const expectedTool = structuredPlan.steps[currentStepIdx].tool;
263
+ if (response.toolCalls.some(tc => tc.name === expectedTool)) {
264
+ currentStepIdx++;
265
+ }
266
+ }
196
267
  // ── Execute tool calls ────────────────────────────────────────────────
197
268
  messages.push({ role: 'assistant', content: response.content ?? '' });
198
269
  for (const tc of response.toolCalls) {
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,YAAY,EACZ,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,oBAAoB,GAErB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAe7D,iFAAiF;AAEjF,KAAK,UAAU,mBAAmB;IAChC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,wEAAwE;AACxE,KAAK,UAAU,iBAAiB,CAC9B,IAAY,EACZ,KAA0F,EAC1F,OAAmB,EACnB,OAA2B,EAC3B,OAAgB,EAChB,SAAgC;IAEhC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC;QAChB,SAAS,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,YAAgC,EAAE,OAAmB;IAChF,IAAI,CAAC;QACH,kEAAkE;QAClE,IAAI,MAAc,CAAC;QAEnB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,QAAQ,CAChB,qBAAqB,OAAO,CAAC,IAAI,EAAE,EACnC,sBAAsB,EACtB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,MAAM,GAAG,YAAY,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,MAAM,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,QAAQ,CAChB,qFAAqF,EACrF,eAAe,CAChB,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,YAAY,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,uDAAuD;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAY,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpG,iCAAiC;QACjC,MAAM,YAAY,GAAiB;YACjC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzC,kBAAkB;QAClB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9C,6EAA6E;QAC7E,MAAM,QAAQ,GACZ,OAAO,CAAC,KAAK,KAAK,KAAK;YACvB,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK;YACpC,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC;QAE9C,qDAAqD;QACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,QAAQ;YAC3C,CAAC,CAAC,MAAM,kBAAkB,CAAC,aAAa,CAAC;YACzC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAE3C,MAAM,YAAY,GAChB,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,YAAY;YACpB,CAAC,QAAQ;gBACP,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC;gBAC7C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK;oBACpC,kEAAkE;oBAClE,CAAC,CAAC,sKAAsK;oBACxK,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnB,IAAI,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YAEpC,uEAAuE;YACvE,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjD,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAE3B,uEAAuE;YACvE,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;gBACzE,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAE3B,wEAAwE;YACxE,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAChD,MAAM,iBAAiB,GAAG,CAAC,UAAU,IAAI,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7G,IAAI,cAAc,GAAyB,IAAI,CAAC;YAChD,IAAI,cAAsB,CAAC;YAE3B,kDAAkD;YAClD,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE;gBAC/E,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACnB,SAAS,CAAC,wBAAwB,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBACpE,cAAc,GAAG,wBAAwB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE;oBAC9E,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE,CAAC;oBACf,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,oBAAoB,CAAC,kDAAkD,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtG,CAAC;gBACD,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YAEtE,oCAAoC;YACpC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YAExC,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAE9B,SAAS,CAAC,eAAe,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;YAE1D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrD,qEAAqE;gBACrE,IAAI,cAAc,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnG,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC;oBACnD,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,yBAAyB,IAAI,CAAC,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,GAAG;qBACzM,CAAC,CAAC;gBACL,CAAC;gBAED,qEAAqE;gBACrE,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;oBAC5D,SAAS,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvE,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBAE9G,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;wBACzC,SAAS,CAAC,oBAAoB,CAAC,oDAAoD,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;wBACtG,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACvB,iBAAiB,GAAG,IAAI,CAAC;4BACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC3E,CAAC;wBACD,8DAA8D;oBAChE,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;wBACtC,SAAS,CAAC,oBAAoB,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;wBACvF,MAAM,QAAQ,GAAG,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;wBAC9E,MAAM,SAAS,GAAG;4BAChB,gCAAgC,OAAO,CAAC,MAAM,EAAE;4BAChD,QAAQ;gCACN,CAAC,CAAC,iBAAiB,QAAQ,CAAC,EAAE,WAAW,QAAQ,CAAC,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gCAC1G,CAAC,CAAC,4FAA4F;4BAChG,GAAG;yBACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBACtD,CAAC;oBACD,qCAAqC;gBACvC,CAAC;gBAED,qEAAqE;gBACrE,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,SAAS,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvE,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,sBAAsB,EAAE;oBAC7E,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY;iBACb,CAAC,CAAC;gBAEH,2CAA2C;gBAC3C,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;oBAEzC,oEAAoE;oBACpE,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;wBAChF,iBAAiB,GAAG,IAAI,CAAC;wBAEzB,iEAAiE;wBACjE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,SAAS,CAAC,oBAAoB,CAAC,4BAA4B,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;4BAC9E,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;4BAC3F,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gCACjB,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gCAC9C,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gCACzF,yCAAyC;gCACzC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gCAClC,sBAAsB,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gCACxF,OAAO;4BACT,CAAC;4BACD,mEAAmE;4BACnE,SAAS,CAAC,oBAAoB,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;4BAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;4BACzD,MAAM,QAAQ,GAAG,cAAc,IAAI,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM;gCAC7E,CAAC,CAAC,2CAA2C,cAAc,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC,MAAM,mDAAmD;gCACzL,CAAC,CAAC,EAAE,CAAC;4BACP,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;4BAC5F,SAAS;wBACX,CAAC;wBAED,4CAA4C;wBAC5C,SAAS,CAAC,oBAAoB,CAAC,oCAAoC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;wBACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;wBACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACzE,SAAS;oBACX,CAAC;oBAED,mEAAmE;oBACnE,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC;wBAC1F,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC3F,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAClB,SAAS,CAAC,oBAAoB,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;4BAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;4BACzD,MAAM,QAAQ,GAAG,cAAc,IAAI,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM;gCAC7E,CAAC,CAAC,2CAA2C,cAAc,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC,MAAM,GAAG;gCACzI,CAAC,CAAC,EAAE,CAAC;4BACP,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;4BAC5F,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC9C,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBACzF,yCAAyC;oBACzC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;oBAClC,sBAAsB,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACxF,OAAO;gBACT,CAAC;gBAED,uEAAuE;gBACvE,IAAI,cAAc,IAAI,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBACjG,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAE,CAAC,IAAI,CAAC;oBAChE,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;wBAC5D,cAAc,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAED,yEAAyE;gBACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAEtE,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACpC,iDAAiD;oBACjD,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC/C,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;wBACxD,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,iBAAiB,EAAE,CAAC,IAAI,+GAA+G;yBACjJ,CAAC,CAAC;wBACH,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAC5C,SAAS;oBACX,CAAC;oBAED,oBAAoB;oBACpB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;oBAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;wBAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,IAAI,MAAM,MAAM,EAAE,EAAE,CAAC,CAAC;wBACjF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBAC7C,SAAS;oBACX,CAAC;oBAED,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBAEjE,IAAI,UAAkB,CAAC;oBACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC;wBACH,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAC/E,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,UAAU,GAAG,eAAe,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;wBAChE,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;oBAED,mBAAmB;oBACnB,IAAI,CAAC,QAAQ;wBAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAE5D,gDAAgD;oBAChD,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBAEjF,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC1D,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAEhD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,IAAI,MAAM,YAAY,EAAE,EAAE,CAAC,CAAC;gBACzF,CAAC;gBAED,sEAAsE;gBACtE,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,SAAS,CAAC,oBAAoB,CAAC,4BAA4B,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC9E,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAED,yEAAyE;gBACzE,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACzC,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,SAAS,CAAC,eAAe,CAAC,4CAA4C,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,6EAA6E;QAC7E,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACtD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY;SACb,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YACpD,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -6,7 +6,20 @@ export interface CommitOptions extends CliOverrides {
6
6
  }
7
7
  export declare function getStagedDiff(cwd: string): Promise<string>;
8
8
  export declare function getLastCommitDiff(cwd: string): Promise<string>;
9
- /** Strip surrounding whitespace and any accidental markdown fences from the model output. */
9
+ export declare function getStagedDiffStat(cwd: string): Promise<string>;
10
+ /**
11
+ * Build a commit prompt that fits within the provider's context window.
12
+ *
13
+ * For full-context providers: send the complete diff as-is.
14
+ * For small-context providers (e.g. embedded): send only the --stat summary
15
+ * (files changed + line counts) without any raw diff syntax, which prevents
16
+ * the model from echoing diff content instead of generating a commit message.
17
+ * If even the stat is too large, truncate it at a line boundary.
18
+ */
19
+ export declare function buildCommitPrompt(diff: string, stat: string, contextWindow: number, systemPromptLen: number, outputBudget: number): string;
20
+ /** Strip surrounding whitespace and any accidental markdown fences from the model output.
21
+ * Also strips common small-model preamble like "Based on the diff, the commit message is:".
22
+ */
10
23
  export declare function cleanCommitMessage(raw: string): string;
11
24
  export declare function runCommit(options: CommitOptions): Promise<void>;
12
25
  //# sourceMappingURL=commit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAiBD,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAchE;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAkBD,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAItD;AAID,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFrE"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA2BD,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAchE;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAkBD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAID,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FrE"}
@@ -8,7 +8,7 @@ import { printError, printSuccess } from '../ui/renderer.js';
8
8
  import { JamError } from '../utils/errors.js';
9
9
  import { getWorkspaceRoot } from '../utils/workspace.js';
10
10
  const execFileAsync = promisify(execFile);
11
- // ── Conventional-commit system prompt ────────────────────────────────────────
11
+ // ── Conventional-commit system prompts ──────────────────────────────────────
12
12
  const SYSTEM_PROMPT = `You are an expert software engineer. Given a git diff, generate a concise \
13
13
  commit message following the Conventional Commits specification.
14
14
 
@@ -19,6 +19,15 @@ Rules:
19
19
  - Short description: imperative mood, lowercase, no period, ≤72 chars total for the first line
20
20
  - If changes are complex, add a blank line followed by a brief body (max 3 lines)
21
21
  - Output ONLY the commit message text, nothing else — no markdown, no explanation`;
22
+ /**
23
+ * Compact system prompt for small/embedded models that struggle with
24
+ * long instructions. No example — examples cause small models to echo them.
25
+ */
26
+ const SYSTEM_PROMPT_SMALL = `Generate a conventional commit message for the code changes described.
27
+ Output ONLY the commit message, nothing else — no explanation, no prefix, no markdown.
28
+ Format: type(scope): short description
29
+ Types: feat, fix, docs, style, refactor, perf, test, chore
30
+ Rules: imperative mood, lowercase, no period, under 72 characters.`;
22
31
  // ── Git helpers ───────────────────────────────────────────────────────────────
23
32
  export async function getStagedDiff(cwd) {
24
33
  try {
@@ -56,10 +65,73 @@ async function runGitCommit(message, amend, cwd) {
56
65
  }
57
66
  }
58
67
  // ── Pure helpers (exported for testing) ──────────────────────────────────────
59
- /** Strip surrounding whitespace and any accidental markdown fences from the model output. */
68
+ export async function getStagedDiffStat(cwd) {
69
+ try {
70
+ const { stdout } = await execFileAsync('git', ['diff', '--staged', '--stat'], {
71
+ cwd,
72
+ maxBuffer: 256 * 1024,
73
+ });
74
+ return stdout.trim();
75
+ }
76
+ catch {
77
+ return '';
78
+ }
79
+ }
80
+ /**
81
+ * Build a commit prompt that fits within the provider's context window.
82
+ *
83
+ * For full-context providers: send the complete diff as-is.
84
+ * For small-context providers (e.g. embedded): send only the --stat summary
85
+ * (files changed + line counts) without any raw diff syntax, which prevents
86
+ * the model from echoing diff content instead of generating a commit message.
87
+ * If even the stat is too large, truncate it at a line boundary.
88
+ */
89
+ export function buildCommitPrompt(diff, stat, contextWindow, systemPromptLen, outputBudget) {
90
+ const safetyMargin = Math.ceil(contextWindow * 0.1);
91
+ const inputBudgetChars = Math.max(400, (contextWindow - outputBudget - Math.ceil(systemPromptLen / 4) - safetyMargin) * 4);
92
+ const header = 'Generate a conventional commit message for the following changes:\n\n';
93
+ const fullDiffPrompt = header + '```diff\n' + diff + '\n```';
94
+ // Full diff fits — use it as-is
95
+ if (fullDiffPrompt.length <= inputBudgetChars) {
96
+ return fullDiffPrompt;
97
+ }
98
+ // Diff too large: describe the changes in plain English from the stat.
99
+ // No code fences, no diff syntax — avoids the model echoing raw diff lines.
100
+ const statlessHeader = 'Write a conventional commit message for a code change that modified the following files:\n\n';
101
+ const statLines = stat.split('\n').filter((l) => l.trim() && !l.includes('changed,'));
102
+ const fileList = statLines
103
+ .map((l) => {
104
+ const m = l.match(/^\s*(\S+)\s*\|\s*(\d+)\s*([+-]+)/);
105
+ return m ? `${m[1]} (${m[2]} lines changed)` : l.trim();
106
+ })
107
+ .filter(Boolean)
108
+ .join(', ');
109
+ const summaryLine = fileList
110
+ ? `These files were modified: ${fileList}.`
111
+ : stat;
112
+ const budgetForBody = inputBudgetChars - statlessHeader.length;
113
+ const body = summaryLine.length <= budgetForBody
114
+ ? summaryLine
115
+ : summaryLine.slice(0, budgetForBody - 3) + '...';
116
+ return statlessHeader + body;
117
+ }
118
+ /** Strip surrounding whitespace and any accidental markdown fences from the model output.
119
+ * Also strips common small-model preamble like "Based on the diff, the commit message is:".
120
+ */
60
121
  export function cleanCommitMessage(raw) {
61
122
  // Remove optional triple-backtick wrappers the model might produce
62
- const stripped = raw.replace(/^```[^\n]*\n?/m, '').replace(/\n?```\s*$/m, '');
123
+ let stripped = raw.replace(/^```[^\n]*\n?/m, '').replace(/\n?```\s*$/m, '');
124
+ // Strip common small-model preamble — lines ending in ":" that precede the actual message
125
+ stripped = stripped.replace(/^[^\n]{0,120}(?:commit message|message|type|format|output|follows?|below|is)[:\s]*\n+/im, '');
126
+ // If the result still doesn't look like a conventional commit (type: desc),
127
+ // try to extract it by finding the first line that matches
128
+ const lines = stripped.trim().split('\n');
129
+ const conventionalLine = lines.find((l) => /^(feat|fix|docs|style|refactor|perf|test|chore|ci|build)(\([^)]+\))?:\s+\S/.test(l.trim()));
130
+ if (conventionalLine) {
131
+ // Return from that line onward (may include body)
132
+ const idx = lines.indexOf(conventionalLine);
133
+ return lines.slice(idx).join('\n').trim();
134
+ }
63
135
  return stripped.trim();
64
136
  }
65
137
  // ── Main command ──────────────────────────────────────────────────────────────
@@ -89,15 +161,22 @@ export async function runCommit(options) {
89
161
  const config = await loadConfig(process.cwd(), options);
90
162
  const profile = getActiveProfile(config);
91
163
  const adapter = await createProvider(profile);
92
- const prompt = `Generate a conventional commit message for the following git diff:\n\n` +
93
- `\`\`\`diff\n${diff}\n\`\`\``;
164
+ // Build a context-aware diff prompt falls back to stat-only summary
165
+ // if the diff would overflow the provider's context window.
166
+ const contextWindow = adapter.info?.contextWindow;
167
+ const isSmallModel = Boolean(contextWindow);
168
+ const stat = isSmallModel ? await getStagedDiffStat(workspaceRoot) : '';
169
+ const activeSystemPrompt = isSmallModel ? SYSTEM_PROMPT_SMALL : SYSTEM_PROMPT;
170
+ const prompt = contextWindow
171
+ ? buildCommitPrompt(diff, stat, contextWindow, activeSystemPrompt.length, 256)
172
+ : `Generate a conventional commit message for the following git diff:\n\n\`\`\`diff\n${diff}\n\`\`\``;
94
173
  process.stderr.write('Generating commit message...\n');
95
174
  const { text } = await collectStream(withRetry(() => adapter.streamCompletion({
96
175
  messages: [{ role: 'user', content: prompt }],
97
176
  model: profile.model,
98
177
  temperature: profile.temperature ?? 0.2,
99
178
  maxTokens: 256,
100
- systemPrompt: SYSTEM_PROMPT,
179
+ systemPrompt: isSmallModel ? activeSystemPrompt : SYSTEM_PROMPT,
101
180
  })));
102
181
  const message = cleanCommitMessage(text);
103
182
  if (!message) {
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAQ1C,+EAA+E;AAE/E,MAAM,aAAa,GAAG;;;;;;;;;kFAS4D,CAAC;AAEnF;;;GAGG;AACH,MAAM,mBAAmB,GAAG;;;;mEAIuC,CAAC;AAEpE,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAClE,GAAG;YACH,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,4DAA4D,EAC5D,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YAC9D,GAAG;YACH,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,sFAAsF,EACtF,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,KAAc,EAAE,GAAW;IACtE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAChB,gFAAgF,EAChF,iBAAiB,EACjB,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;YAC5E,GAAG;YACH,SAAS,EAAE,GAAG,GAAG,IAAI;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,IAAY,EACZ,aAAqB,EACrB,eAAuB,EACvB,YAAoB;IAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3H,MAAM,MAAM,GAAG,uEAAuE,CAAC;IACvF,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IAE7D,gCAAgC;IAChC,IAAI,cAAc,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;QAC9C,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,cAAc,GAAG,8FAA8F,CAAC;IACtH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,SAAS;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,8BAA8B,QAAQ,GAAG;QAC3C,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC;IAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,IAAI,aAAa;QAC9C,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAEpD,OAAO,cAAc,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,mEAAmE;IACnE,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5E,0FAA0F;IAC1F,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,yFAAyF,EACzF,EAAE,CACH,CAAC;IACF,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,4EAA4E,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC5F,CAAC;IACF,IAAI,gBAAgB,EAAE,CAAC;QACrB,kDAAkD;QAClD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAE/C,8BAA8B;QAC9B,IAAI,IAAY,CAAC;QACjB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,+FAA+F;YAC/F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,UAAU,CAAC,8DAA8D,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,UAAU,CACd,mEAAmE,CACpE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9C,sEAAsE;QACtE,4DAA4D;QAC5D,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC;QAClD,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9E,MAAM,MAAM,GAAG,aAAa;YAC1B,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC;YAC9E,CAAC,CAAC,qFAAqF,IAAI,UAAU,CAAC;QAExG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAClC,SAAS,CAAC,GAAG,EAAE,CACb,OAAO,CAAC,gBAAgB,CAAC;YACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa;SAChE,CAAC,CACH,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,+DAA+D,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gCAAgC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;QAEvE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC9B,OAAO,CAAC,KAAK;gBACX,CAAC,CAAC,6CAA6C;gBAC/C,CAAC,CAAC,kCAAkC,CACvC,CAAC;YACF,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,aAAa,CAAC,CAAC;QACnE,MAAM,YAAY,CAChB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,8BAA8B,CACrF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -2,6 +2,8 @@ import type { CliOverrides } from '../config/schema.js';
2
2
  export interface RunOptions extends CliOverrides {
3
3
  noColor?: boolean;
4
4
  quiet?: boolean;
5
+ /** Auto-approve all write tool calls without prompting. */
6
+ yes?: boolean;
5
7
  }
6
8
  export declare function runRun(instruction: string | undefined, options: RunOptions): Promise<void>;
7
9
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAcD,wBAAsB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwPhG"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAcD,wBAAsB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiehG"}