@trenchwork/erosolar 1.1.40 → 1.1.41
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/LICENSE +21 -21
- package/README.md +236 -225
- package/agents/erosolar-code.rules.json +199 -199
- package/dist/bin/deepseek.js +18 -198
- package/dist/bin/deepseek.js.map +1 -1
- package/dist/bin/erosolar.js +0 -0
- package/dist/capabilities/enhancedGitCapability.js +63 -63
- package/dist/config.js +12 -12
- package/dist/contracts/agent-profiles.schema.json +5 -23
- package/dist/contracts/agent-schemas.json +31 -343
- package/dist/contracts/models.schema.json +9 -9
- package/dist/contracts/module-schema.json +367 -367
- package/dist/contracts/schemas/agent-profile.schema.json +157 -157
- package/dist/contracts/schemas/agent-rules.schema.json +238 -238
- package/dist/contracts/schemas/agent-schemas.schema.json +528 -528
- package/dist/contracts/schemas/agent.schema.json +90 -90
- package/dist/contracts/schemas/tool-selection.schema.json +174 -174
- package/dist/contracts/tools.schema.json +42 -42
- package/dist/contracts/unified-schema.json +8 -628
- package/dist/core/constants.js +7 -7
- package/dist/core/contextManager.js +16 -16
- package/dist/core/modelDiscovery.d.ts +0 -3
- package/dist/core/modelDiscovery.d.ts.map +1 -1
- package/dist/core/modelDiscovery.js +3 -355
- package/dist/core/modelDiscovery.js.map +1 -1
- package/dist/core/quotaErrors.d.ts +42 -0
- package/dist/core/quotaErrors.d.ts.map +1 -0
- package/dist/core/quotaErrors.js +88 -0
- package/dist/core/quotaErrors.js.map +1 -0
- package/dist/core/secretStore.d.ts.map +1 -1
- package/dist/core/secretStore.js +1 -14
- package/dist/core/secretStore.js.map +1 -1
- package/dist/core/taskCompletionDetector.js +17 -17
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +7 -58
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/leanAgent.js +38 -38
- package/dist/plugins/providers/deepseek/index.d.ts +1 -0
- package/dist/plugins/providers/deepseek/index.d.ts.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +65 -4
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/plugins/providers/index.d.ts.map +1 -1
- package/dist/plugins/providers/index.js +0 -7
- package/dist/plugins/providers/index.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +7 -30
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/providers/resilientProvider.d.ts.map +1 -1
- package/dist/providers/resilientProvider.js +0 -31
- package/dist/providers/resilientProvider.js.map +1 -1
- package/dist/runtime/agentSession.js +4 -4
- package/dist/shell/vimMode.js +29 -29
- package/dist/tools/hitlTools.js +18 -18
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +10 -0
- package/dist/tools/webTools.js.map +1 -1
- package/package.json +116 -123
- package/scripts/postinstall.cjs +57 -58
- package/dist/bin/cliMode.d.ts +0 -8
- package/dist/bin/cliMode.d.ts.map +0 -1
- package/dist/bin/cliMode.js +0 -20
- package/dist/bin/cliMode.js.map +0 -1
- package/dist/bin/selfTest.d.ts +0 -14
- package/dist/bin/selfTest.d.ts.map +0 -1
- package/dist/bin/selfTest.js +0 -298
- package/dist/bin/selfTest.js.map +0 -1
- package/dist/headless/printMode.d.ts +0 -17
- package/dist/headless/printMode.d.ts.map +0 -1
- package/dist/headless/printMode.js +0 -40
- package/dist/headless/printMode.js.map +0 -1
- package/dist/plugins/providers/anthropic/index.d.ts +0 -9
- package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
- package/dist/plugins/providers/anthropic/index.js +0 -48
- package/dist/plugins/providers/anthropic/index.js.map +0 -1
- package/dist/plugins/providers/openai/index.d.ts +0 -10
- package/dist/plugins/providers/openai/index.d.ts.map +0 -1
- package/dist/plugins/providers/openai/index.js +0 -47
- package/dist/plugins/providers/openai/index.js.map +0 -1
- package/dist/plugins/providers/xai/index.d.ts +0 -10
- package/dist/plugins/providers/xai/index.d.ts.map +0 -1
- package/dist/plugins/providers/xai/index.js +0 -47
- package/dist/plugins/providers/xai/index.js.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quota / balance exhaustion handling for the two external services the
|
|
3
|
+
* agent leans on: Tavily (web search) and DeepSeek (the LLM provider).
|
|
4
|
+
*
|
|
5
|
+
* The goal is a single, recognizable user message when a paid quota or
|
|
6
|
+
* monthly free-tier cap is the actual cause of a failure — so the user
|
|
7
|
+
* isn't reading "Tavily API error: 432" or "402 Insufficient Balance"
|
|
8
|
+
* and guessing what to do. The helpers are pure (no I/O, no logging)
|
|
9
|
+
* so they can be exercised from both the web-tools layer and the
|
|
10
|
+
* provider layer without coupling.
|
|
11
|
+
*/
|
|
12
|
+
export const TAVILY_QUOTA_MESSAGE = [
|
|
13
|
+
'Web search is disabled: the Tavily monthly free-tier quota is exhausted.',
|
|
14
|
+
' • This automatically re-enables on the 1st of next month (UTC reset).',
|
|
15
|
+
' • To restore search immediately, top up at https://app.tavily.com/billing',
|
|
16
|
+
' or set your own TAVILY_API_KEY (`/secrets set TAVILY_API_KEY`).',
|
|
17
|
+
].join('\n');
|
|
18
|
+
export const DEEPSEEK_QUOTA_MESSAGE = [
|
|
19
|
+
'DeepSeek API is disabled: your account balance is exhausted.',
|
|
20
|
+
' • Top up at https://platform.deepseek.com/billing to resume this month.',
|
|
21
|
+
' • DeepSeek does not auto-reset — you must top up; the 75% promo period',
|
|
22
|
+
' (now ended) is no longer subsidizing usage.',
|
|
23
|
+
' • Or switch keys: `/secrets set DEEPSEEK_API_KEY` (paid provider).',
|
|
24
|
+
].join('\n');
|
|
25
|
+
/**
|
|
26
|
+
* Detect a Tavily response that means "you've hit your monthly quota
|
|
27
|
+
* (or rate limit) — nothing else will succeed until you top up or
|
|
28
|
+
* the cycle resets". Tavily uses 432 for usage cap, 433 for plan
|
|
29
|
+
* paused, and 429 for short-window rate limits — all three deserve
|
|
30
|
+
* the same user-facing message because the user's remediation is
|
|
31
|
+
* identical.
|
|
32
|
+
*
|
|
33
|
+
* `bodyText` is the response body, lowercased by the caller (or
|
|
34
|
+
* empty if the body could not be read). It's checked as a defence
|
|
35
|
+
* against Tavily changing status codes — quota-language in the body
|
|
36
|
+
* is sufficient.
|
|
37
|
+
*/
|
|
38
|
+
export function isTavilyQuotaResponse(status, bodyText) {
|
|
39
|
+
if (status === 402 || status === 429 || status === 432 || status === 433) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
const text = bodyText.toLowerCase();
|
|
43
|
+
return (text.includes('usage limit') ||
|
|
44
|
+
text.includes('monthly limit') ||
|
|
45
|
+
text.includes('plan limit') ||
|
|
46
|
+
text.includes('usage_limit_exceeded') ||
|
|
47
|
+
text.includes('quota'));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Detect a DeepSeek error that means "your account balance is exhausted
|
|
51
|
+
* — top up or wait for a paid plan to refill". DeepSeek returns HTTP 402
|
|
52
|
+
* with `Insufficient Balance` in the body when the prepaid balance hits
|
|
53
|
+
* zero; that is the canonical signal. We also catch the lowercase / spaced
|
|
54
|
+
* variants and an explicit `status === 402` from the OpenAI SDK error
|
|
55
|
+
* shape (numeric `.status`, not a string).
|
|
56
|
+
*/
|
|
57
|
+
export function isDeepSeekQuotaError(error) {
|
|
58
|
+
if (!(error instanceof Error))
|
|
59
|
+
return false;
|
|
60
|
+
const status = error.status;
|
|
61
|
+
if (status === 402)
|
|
62
|
+
return true;
|
|
63
|
+
const message = error.message.toLowerCase();
|
|
64
|
+
if (message.includes('402'))
|
|
65
|
+
return true;
|
|
66
|
+
if (message.includes('insufficient balance'))
|
|
67
|
+
return true;
|
|
68
|
+
if (message.includes('insufficient_balance'))
|
|
69
|
+
return true;
|
|
70
|
+
if (message.includes('balance is not enough'))
|
|
71
|
+
return true;
|
|
72
|
+
if (message.includes('payment required'))
|
|
73
|
+
return true;
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Build a quota-exhaustion Error for DeepSeek. Centralized so the
|
|
78
|
+
* agent-facing message is identical wherever a 402 is detected.
|
|
79
|
+
*/
|
|
80
|
+
export function buildDeepSeekQuotaError() {
|
|
81
|
+
const err = new Error(DEEPSEEK_QUOTA_MESSAGE);
|
|
82
|
+
// Tag it so retry / circuit-breaker layers can treat it as
|
|
83
|
+
// non-transient without re-detecting via message scraping.
|
|
84
|
+
err.isQuotaExhausted = true;
|
|
85
|
+
err.provider = 'deepseek';
|
|
86
|
+
return err;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=quotaErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quotaErrors.js","sourceRoot":"","sources":["../../src/core/quotaErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0EAA0E;IAC1E,yEAAyE;IACzE,6EAA6E;IAC7E,qEAAqE;CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,8DAA8D;IAC9D,2EAA2E;IAC3E,0EAA0E;IAC1E,iDAAiD;IACjD,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,QAAgB;IACpE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAI,KAA8B,CAAC,MAAM,CAAC;IACtD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9C,2DAA2D;IAC3D,2DAA2D;IAC1D,GAAsC,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/D,GAA6B,CAAC,QAAQ,GAAG,UAAU,CAAC;IACrD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretStore.d.ts","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AA2BD,qBAAa,kBAAmB,SAAQ,KAAK;aACf,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;CAIrD;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE3E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAkB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAYrC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUrE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAQpE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE5F;
|
|
1
|
+
{"version":3,"file":"secretStore.d.ts","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AA2BD,qBAAa,kBAAmB,SAAQ,KAAK;aACf,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;CAIrD;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE3E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAkB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAYrC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUrE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAQpE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE5F;AAmED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4B5D;AAoCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAQlD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQvD"}
|
package/dist/core/secretStore.js
CHANGED
|
@@ -132,7 +132,7 @@ function writeSecretStore(store) {
|
|
|
132
132
|
// concurrent CLIs writing the secret store at the same moment can
|
|
133
133
|
// produce a half-written file that subsequent reads parse as `{}`.
|
|
134
134
|
const tmp = `${SECRET_FILE}.${process.pid}.${Date.now()}.tmp`;
|
|
135
|
-
writeFileSync(tmp, `${payload}
|
|
135
|
+
writeFileSync(tmp, `${payload}
|
|
136
136
|
`, { mode: 0o600 });
|
|
137
137
|
renameSync(tmp, SECRET_FILE);
|
|
138
138
|
}
|
|
@@ -158,23 +158,10 @@ function sanitize(value) {
|
|
|
158
158
|
* These patterns match common API key formats from various providers.
|
|
159
159
|
*/
|
|
160
160
|
const API_KEY_PATTERNS = [
|
|
161
|
-
// Anthropic API keys: sk-ant-api03-...
|
|
162
|
-
/sk-ant-api\d{2}-[A-Za-z0-9_-]{20,}/g,
|
|
163
|
-
// OpenAI API keys: sk-proj-... or sk-...
|
|
164
|
-
/sk-(?:proj-)?[A-Za-z0-9_-]{20,}/g,
|
|
165
|
-
// Generic Bearer tokens in headers
|
|
166
161
|
/Bearer\s+[A-Za-z0-9_.-]{20,}/gi,
|
|
167
|
-
// x-api-key header values
|
|
168
162
|
/x-api-key['":\s]+[A-Za-z0-9_.-]{20,}/gi,
|
|
169
|
-
// API keys in URLs (key=value pattern)
|
|
170
163
|
/[?&](?:key|api_key|apiKey|api-key|token|access_token)=([A-Za-z0-9_.-]{16,})/gi,
|
|
171
|
-
// DeepSeek keys
|
|
172
164
|
/sk-[a-f0-9]{32,}/gi,
|
|
173
|
-
// xAI/Grok keys
|
|
174
|
-
/xai-[A-Za-z0-9_-]{20,}/gi,
|
|
175
|
-
// Google/Gemini API keys (AIza...)
|
|
176
|
-
/AIza[A-Za-z0-9_-]{30,}/g,
|
|
177
|
-
// Generic long alphanumeric tokens that look like API keys
|
|
178
165
|
/(?:api[_-]?key|token|secret|password|credential)['"]?\s*[:=]\s*['"]?([A-Za-z0-9_.-]{20,})['"]?/gi,
|
|
179
166
|
];
|
|
180
167
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretStore.js","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"secretStore.js","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -355,29 +355,29 @@ export class TaskCompletionDetector {
|
|
|
355
355
|
concerns.push('you mentioned potential future improvements');
|
|
356
356
|
}
|
|
357
357
|
const concernsText = concerns.length > 0 ? `However, ${concerns.join(' and ')}. ` : '';
|
|
358
|
-
return `You indicated the task might be complete. ${concernsText}Please confirm:
|
|
359
|
-
|
|
360
|
-
1. Have ALL the originally requested changes been implemented in actual code files?
|
|
361
|
-
2. Are there any remaining errors or issues that need to be fixed?
|
|
362
|
-
3. Is there anything else you need to do to fully complete this task?
|
|
363
|
-
|
|
364
|
-
IMPORTANT: Creating markdown documentation files does NOT count as completing a task.
|
|
365
|
-
Focus on the actual code/implementation work requested.
|
|
366
|
-
|
|
367
|
-
If everything is truly done, respond with exactly: "TASK_FULLY_COMPLETE"
|
|
358
|
+
return `You indicated the task might be complete. ${concernsText}Please confirm:
|
|
359
|
+
|
|
360
|
+
1. Have ALL the originally requested changes been implemented in actual code files?
|
|
361
|
+
2. Are there any remaining errors or issues that need to be fixed?
|
|
362
|
+
3. Is there anything else you need to do to fully complete this task?
|
|
363
|
+
|
|
364
|
+
IMPORTANT: Creating markdown documentation files does NOT count as completing a task.
|
|
365
|
+
Focus on the actual code/implementation work requested.
|
|
366
|
+
|
|
367
|
+
If everything is truly done, respond with exactly: "TASK_FULLY_COMPLETE"
|
|
368
368
|
If there's more work to do, describe what remains and continue working.`;
|
|
369
369
|
}
|
|
370
370
|
/**
|
|
371
371
|
* Generate a verification prompt for stagnation cases
|
|
372
372
|
*/
|
|
373
373
|
generateStagnationVerificationPrompt() {
|
|
374
|
-
return `I notice you haven't used any tools for several responses. Let me check:
|
|
375
|
-
|
|
376
|
-
1. Is the task complete? If so, summarize what was accomplished.
|
|
377
|
-
2. Are you blocked on something? If so, what do you need?
|
|
378
|
-
3. Is there more work to do? If so, please continue.
|
|
379
|
-
|
|
380
|
-
If everything is done, respond with exactly: "TASK_FULLY_COMPLETE"
|
|
374
|
+
return `I notice you haven't used any tools for several responses. Let me check:
|
|
375
|
+
|
|
376
|
+
1. Is the task complete? If so, summarize what was accomplished.
|
|
377
|
+
2. Are you blocked on something? If so, what do you need?
|
|
378
|
+
3. Is there more work to do? If so, please continue.
|
|
379
|
+
|
|
380
|
+
If everything is done, respond with exactly: "TASK_FULLY_COMPLETE"
|
|
381
381
|
Otherwise, please continue with the next action.`;
|
|
382
382
|
}
|
|
383
383
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/headless/interactiveShell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+IH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAkBrE;
|
|
1
|
+
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/headless/interactiveShell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+IH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAkBrE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDzF"}
|
|
@@ -171,7 +171,11 @@ export async function runInteractiveShell(options) {
|
|
|
171
171
|
exit(1);
|
|
172
172
|
}
|
|
173
173
|
loadAllSecrets();
|
|
174
|
-
|
|
174
|
+
// argv intentionally unused — the bin is shell-only. Any tokens after
|
|
175
|
+
// `erosolar` are ignored on purpose; configuration lives in /secrets,
|
|
176
|
+
// /model, /auto, etc. The options.argv field stays only because tests
|
|
177
|
+
// pass it; it does not affect runtime.
|
|
178
|
+
void options;
|
|
175
179
|
const profile = resolveProfile();
|
|
176
180
|
const workingDir = process.cwd();
|
|
177
181
|
const workspaceOptions = resolveWorkspaceCaptureOptions(process.env);
|
|
@@ -187,10 +191,6 @@ export async function runInteractiveShell(options) {
|
|
|
187
191
|
});
|
|
188
192
|
// Create the interactive shell instance
|
|
189
193
|
const shell = new InteractiveShell(controller, profile, profileConfig, workingDir);
|
|
190
|
-
// Handle initial prompt if provided
|
|
191
|
-
if (parsed.initialPrompt) {
|
|
192
|
-
shell.queuePrompt(parsed.initialPrompt);
|
|
193
|
-
}
|
|
194
194
|
await shell.run();
|
|
195
195
|
}
|
|
196
196
|
class InteractiveShell {
|
|
@@ -933,18 +933,8 @@ class InteractiveShell {
|
|
|
933
933
|
return prefix.id;
|
|
934
934
|
// Alias matching
|
|
935
935
|
const aliases = {
|
|
936
|
-
'claude': 'anthropic',
|
|
937
|
-
'ant': 'anthropic',
|
|
938
|
-
'gpt': 'openai',
|
|
939
|
-
'oai': 'openai',
|
|
940
|
-
'gemini': 'google',
|
|
941
|
-
'gem': 'google',
|
|
942
936
|
'ds': 'deepseek',
|
|
943
937
|
'deep': 'deepseek',
|
|
944
|
-
'grok': 'xai',
|
|
945
|
-
'x': 'xai',
|
|
946
|
-
'local': 'ollama',
|
|
947
|
-
'llama': 'ollama',
|
|
948
938
|
};
|
|
949
939
|
if (aliases[lower]) {
|
|
950
940
|
const aliased = providers.find(p => p.id === aliases[lower]);
|
|
@@ -958,24 +948,9 @@ class InteractiveShell {
|
|
|
958
948
|
*/
|
|
959
949
|
inferProviderFromModel(model) {
|
|
960
950
|
const lower = model.toLowerCase();
|
|
961
|
-
if (lower.startsWith('claude') || lower.startsWith('opus') || lower.startsWith('sonnet') || lower.startsWith('haiku')) {
|
|
962
|
-
return 'anthropic';
|
|
963
|
-
}
|
|
964
|
-
if (lower.startsWith('gpt') || lower.startsWith('o1') || lower.startsWith('o3') || lower.startsWith('codex')) {
|
|
965
|
-
return 'openai';
|
|
966
|
-
}
|
|
967
|
-
if (lower.startsWith('gemini')) {
|
|
968
|
-
return 'google';
|
|
969
|
-
}
|
|
970
951
|
if (lower.startsWith('deepseek')) {
|
|
971
952
|
return 'deepseek';
|
|
972
953
|
}
|
|
973
|
-
if (lower.startsWith('grok')) {
|
|
974
|
-
return 'xai';
|
|
975
|
-
}
|
|
976
|
-
if (lower.startsWith('llama') || lower.startsWith('mistral') || lower.startsWith('qwen')) {
|
|
977
|
-
return 'ollama';
|
|
978
|
-
}
|
|
979
954
|
return null;
|
|
980
955
|
}
|
|
981
956
|
/**
|
|
@@ -1110,16 +1085,8 @@ class InteractiveShell {
|
|
|
1110
1085
|
* Format model ID for display (shorten long IDs).
|
|
1111
1086
|
*/
|
|
1112
1087
|
formatModelLabel(modelId) {
|
|
1113
|
-
// Shorten common prefixes
|
|
1114
1088
|
let label = modelId
|
|
1115
|
-
.replace(/^
|
|
1116
|
-
.replace(/^gpt-/, 'GPT-')
|
|
1117
|
-
.replace(/^gemini-/, 'Gemini ')
|
|
1118
|
-
.replace(/^deepseek-/, 'DeepSeek ')
|
|
1119
|
-
.replace(/^grok-/, 'Grok ')
|
|
1120
|
-
.replace(/^llama/, 'Llama ')
|
|
1121
|
-
.replace(/^qwen-/, 'Qwen ');
|
|
1122
|
-
// Truncate if too long
|
|
1089
|
+
.replace(/^deepseek-/, 'DeepSeek ');
|
|
1123
1090
|
if (label.length > 30) {
|
|
1124
1091
|
label = label.slice(0, 27) + '...';
|
|
1125
1092
|
}
|
|
@@ -1287,12 +1254,11 @@ class InteractiveShell {
|
|
|
1287
1254
|
cmd('/exit') + dim(' Quit'),
|
|
1288
1255
|
'',
|
|
1289
1256
|
heading('Quick start'),
|
|
1290
|
-
dim(' 1. /key sk-… (or set
|
|
1257
|
+
dim(' 1. /key sk-… (or set DEEPSEEK_API_KEY)'),
|
|
1291
1258
|
dim(' 2. Type any prompt; the agent reads files, edits, runs commands'),
|
|
1292
1259
|
dim(' 3. Ctrl+C interrupts an in-flight run'),
|
|
1293
1260
|
'',
|
|
1294
1261
|
dim('Launch: erosolar (interactive)'),
|
|
1295
|
-
dim(' erosolar "task" (interactive, pre-filled with the prompt)'),
|
|
1296
1262
|
dim('Docs: https://ero.solar/docs | README.md'),
|
|
1297
1263
|
];
|
|
1298
1264
|
this.promptController.setInlinePanel(lines);
|
|
@@ -2025,23 +1991,6 @@ class InteractiveShell {
|
|
|
2025
1991
|
});
|
|
2026
1992
|
}
|
|
2027
1993
|
}
|
|
2028
|
-
function parseArgs(argv) {
|
|
2029
|
-
const promptTokens = [];
|
|
2030
|
-
for (let index = 0; index < argv.length; index += 1) {
|
|
2031
|
-
const token = argv[index];
|
|
2032
|
-
if (!token) {
|
|
2033
|
-
continue;
|
|
2034
|
-
}
|
|
2035
|
-
// Skip known flags
|
|
2036
|
-
if (token.startsWith('--') || token.startsWith('-')) {
|
|
2037
|
-
continue;
|
|
2038
|
-
}
|
|
2039
|
-
promptTokens.push(token);
|
|
2040
|
-
}
|
|
2041
|
-
return {
|
|
2042
|
-
initialPrompt: promptTokens.length ? promptTokens.join(' ').trim() : null,
|
|
2043
|
-
};
|
|
2044
|
-
}
|
|
2045
1994
|
// The --profile / -p flag was removed; the only call site passes nothing.
|
|
2046
1995
|
// We retain the function as a single source of truth for the hardcoded
|
|
2047
1996
|
// profile name that downstream config (agent prompt, model, rulebook)
|