@trenchwork/coder 1.3.0 → 1.5.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/dist/bin/deepseek.js +2 -2
- package/dist/contracts/v1/agent.d.ts +2 -0
- package/dist/contracts/v1/agent.d.ts.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +77 -2
- package/dist/core/agent.js.map +1 -1
- package/dist/core/contextManager.d.ts +10 -137
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +74 -540
- package/dist/core/contextManager.js.map +1 -1
- package/dist/core/diffPanel.js +1 -1
- package/dist/core/errorClassification.d.ts.map +1 -1
- package/dist/core/errorClassification.js +8 -0
- package/dist/core/errorClassification.js.map +1 -1
- package/dist/core/hitl.js +4 -4
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/hooks.d.ts.map +1 -1
- package/dist/core/hooks.js +42 -19
- package/dist/core/hooks.js.map +1 -1
- package/dist/core/keyResolution.d.ts +30 -0
- package/dist/core/keyResolution.d.ts.map +1 -0
- package/dist/core/keyResolution.js +38 -0
- package/dist/core/keyResolution.js.map +1 -0
- package/dist/core/permissionMode.d.ts +17 -2
- package/dist/core/permissionMode.d.ts.map +1 -1
- package/dist/core/permissionMode.js +20 -7
- package/dist/core/permissionMode.js.map +1 -1
- package/dist/core/reasoningFallback.d.ts +22 -0
- package/dist/core/reasoningFallback.d.ts.map +1 -0
- package/dist/core/reasoningFallback.js +22 -0
- package/dist/core/reasoningFallback.js.map +1 -0
- package/dist/core/sessionStore.js +34 -8
- package/dist/core/sessionStore.js.map +1 -1
- package/dist/core/slashCommands.d.ts.map +1 -1
- package/dist/core/slashCommands.js +0 -3
- package/dist/core/slashCommands.js.map +1 -1
- package/dist/core/taskCompletionDetector.d.ts.map +1 -1
- package/dist/core/taskCompletionDetector.js +10 -3
- package/dist/core/taskCompletionDetector.js.map +1 -1
- package/dist/core/toolRuntime.d.ts +1 -0
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +21 -2
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/turnTokenMeter.d.ts +19 -0
- package/dist/core/turnTokenMeter.d.ts.map +1 -0
- package/dist/core/turnTokenMeter.js +36 -0
- package/dist/core/turnTokenMeter.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +3 -3
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +90 -137
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/plugins/providers/deepseek/index.js +4 -6
- package/dist/plugins/providers/deepseek/index.js.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -1
- package/dist/providers/openaiChatCompletionsProvider.js +33 -26
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -1
- package/dist/runtime/agentController.d.ts.map +1 -1
- package/dist/runtime/agentController.js +16 -7
- package/dist/runtime/agentController.js.map +1 -1
- package/dist/runtime/agentSession.d.ts.map +1 -1
- package/dist/runtime/agentSession.js +10 -3
- package/dist/runtime/agentSession.js.map +1 -1
- package/dist/tools/bashTools.d.ts +63 -0
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +186 -77
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/grepTools.d.ts.map +1 -1
- package/dist/tools/grepTools.js +41 -23
- package/dist/tools/grepTools.js.map +1 -1
- package/dist/tools/searchTools.d.ts.map +1 -1
- package/dist/tools/searchTools.js +18 -8
- package/dist/tools/searchTools.js.map +1 -1
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +10 -2
- package/dist/tools/webTools.js.map +1 -1
- package/dist/ui/ink/App.d.ts +6 -1
- package/dist/ui/ink/App.d.ts.map +1 -1
- package/dist/ui/ink/App.js +21 -3
- package/dist/ui/ink/App.js.map +1 -1
- package/dist/ui/ink/ChatStatic.d.ts +1 -1
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -1
- package/dist/ui/ink/ChatStatic.js +19 -12
- package/dist/ui/ink/ChatStatic.js.map +1 -1
- package/dist/ui/ink/InkPromptController.d.ts +8 -8
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -1
- package/dist/ui/ink/InkPromptController.js +19 -11
- package/dist/ui/ink/InkPromptController.js.map +1 -1
- package/dist/ui/ink/Menu.js +1 -1
- package/dist/ui/ink/Menu.js.map +1 -1
- package/dist/ui/ink/Prompt.js +3 -3
- package/dist/ui/ink/StatusLine.d.ts +6 -7
- package/dist/ui/ink/StatusLine.d.ts.map +1 -1
- package/dist/ui/ink/StatusLine.js +11 -11
- package/dist/ui/ink/StatusLine.js.map +1 -1
- package/dist/ui/ink/markdownRender.d.ts +2 -0
- package/dist/ui/ink/markdownRender.d.ts.map +1 -0
- package/dist/ui/ink/markdownRender.js +76 -0
- package/dist/ui/ink/markdownRender.js.map +1 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +56 -57
- package/dist/ui/theme.js.map +1 -1
- package/package.json +3 -1
- package/dist/core/hostedAuth.d.ts +0 -88
- package/dist/core/hostedAuth.d.ts.map +0 -1
- package/dist/core/hostedAuth.js +0 -219
- package/dist/core/hostedAuth.js.map +0 -1
package/dist/ui/theme.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import gradientString from 'gradient-string';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* volt-lime telemetry. No rainbow neon — clarity over spectacle.
|
|
4
|
+
* Space Black theme for the Trenchwork CLI. Cool-dark aesthetic: a graphite
|
|
5
|
+
* "void" base, lunar-silver text, a starlight ice-blue accent, and
|
|
6
|
+
* ice-cyan telemetry. No rainbow neon — clarity over spectacle.
|
|
8
7
|
*/
|
|
9
8
|
// Advanced color utilities
|
|
10
9
|
// Create a neon glow effect with bright colors
|
|
@@ -17,50 +16,50 @@ const createNeonStyle = (baseColor, glowColor) => {
|
|
|
17
16
|
bg: chalk.bgHex(baseColor).hex('#FFFFFF'),
|
|
18
17
|
};
|
|
19
18
|
};
|
|
20
|
-
//
|
|
21
|
-
// re-skins for free; values mapped to the
|
|
19
|
+
// Space Black palette — keys kept stable so every downstream theme.* reference
|
|
20
|
+
// re-skins for free; values mapped to the Space Black tokens.
|
|
22
21
|
export const palette = {
|
|
23
|
-
//
|
|
24
|
-
obsidian: '#
|
|
25
|
-
onyx: '#
|
|
26
|
-
carbon: '#
|
|
27
|
-
gunmetal: '#
|
|
28
|
-
// Light & muted (
|
|
29
|
-
gold: '#
|
|
30
|
-
roseGold: '#
|
|
31
|
-
silver: '#
|
|
32
|
-
platinum: '#
|
|
33
|
-
titanium: '#
|
|
34
|
-
pearl: '#
|
|
22
|
+
// Cool-dark base (ink → void → panel → wire)
|
|
23
|
+
obsidian: '#08080a', // ink — deepest
|
|
24
|
+
onyx: '#0c0c10', // void — app background
|
|
25
|
+
carbon: '#14141a', // panel
|
|
26
|
+
gunmetal: '#30303a', // wire / separators (cool, low-contrast)
|
|
27
|
+
// Light & muted (lunar → ash)
|
|
28
|
+
gold: '#82aaff', // starlight — the signature Space Black blue (primary accent)
|
|
29
|
+
roseGold: '#a5c4ff', // starlight-soft
|
|
30
|
+
silver: '#c7cad1', // light prose text
|
|
31
|
+
platinum: '#e8e9ed', // lunar — primary light text
|
|
32
|
+
titanium: '#8b8e96', // ash — muted text
|
|
33
|
+
pearl: '#f5f6f8', // brightest
|
|
35
34
|
// Status / telemetry
|
|
36
35
|
emerald: '#28c840', // ok / additions
|
|
37
|
-
sapphire: '#
|
|
36
|
+
sapphire: '#5e9eff', // true blue
|
|
38
37
|
ruby: '#ff4d3d', // danger / removals
|
|
39
|
-
amber: '#
|
|
40
|
-
cyan: '#
|
|
41
|
-
neonOrange: '#
|
|
42
|
-
neonCyan: '#
|
|
38
|
+
amber: '#ffd666', // amber — warning highlight
|
|
39
|
+
cyan: '#64d2ff', // ice — telemetry / strings / info (cyan)
|
|
40
|
+
neonOrange: '#82aaff', // starlight
|
|
41
|
+
neonCyan: '#64d2ff', // ice
|
|
43
42
|
};
|
|
44
|
-
// Effect styles kept inside the
|
|
45
|
-
// neon, which would fight the
|
|
43
|
+
// Effect styles kept inside the starlight/ice range — no rainbow
|
|
44
|
+
// neon, which would fight the Space Black aesthetic.
|
|
46
45
|
export const neon = {
|
|
47
|
-
blue: createNeonStyle(palette.sapphire, '#
|
|
48
|
-
cyan: createNeonStyle(palette.cyan, '#
|
|
49
|
-
orange: createNeonStyle(palette.neonOrange, '#
|
|
50
|
-
gold: createNeonStyle(palette.gold, '#
|
|
51
|
-
silver: createNeonStyle(palette.silver, '#
|
|
52
|
-
purple: createNeonStyle(palette.roseGold, '#
|
|
53
|
-
pink: createNeonStyle(palette.roseGold, '#
|
|
54
|
-
green: createNeonStyle(palette.emerald, '#
|
|
55
|
-
yellow: createNeonStyle(palette.amber, '#
|
|
56
|
-
magenta: createNeonStyle(palette.ruby, '#
|
|
57
|
-
hologram: createNeonStyle('#
|
|
58
|
-
laser: createNeonStyle('#
|
|
59
|
-
plasma: createNeonStyle('#
|
|
46
|
+
blue: createNeonStyle(palette.sapphire, '#a5c4ff'),
|
|
47
|
+
cyan: createNeonStyle(palette.cyan, '#9bdcff'),
|
|
48
|
+
orange: createNeonStyle(palette.neonOrange, '#a5c4ff'),
|
|
49
|
+
gold: createNeonStyle(palette.gold, '#ffd666'),
|
|
50
|
+
silver: createNeonStyle(palette.silver, '#e8e9ed'),
|
|
51
|
+
purple: createNeonStyle(palette.roseGold, '#a5c4ff'),
|
|
52
|
+
pink: createNeonStyle(palette.roseGold, '#a5c4ff'),
|
|
53
|
+
green: createNeonStyle(palette.emerald, '#6ee787'),
|
|
54
|
+
yellow: createNeonStyle(palette.amber, '#ffe49a'),
|
|
55
|
+
magenta: createNeonStyle(palette.ruby, '#ff8a80'),
|
|
56
|
+
hologram: createNeonStyle('#64d2ff', '#82aaff'),
|
|
57
|
+
laser: createNeonStyle('#82aaff', '#ff4d3d'),
|
|
58
|
+
plasma: createNeonStyle('#82aaff', '#ffd666'),
|
|
60
59
|
};
|
|
61
60
|
export const theme = {
|
|
62
61
|
// Premium primary colors
|
|
63
|
-
primary: chalk.hex(palette.gold).bold, //
|
|
62
|
+
primary: chalk.hex(palette.gold).bold, // Starlight blue
|
|
64
63
|
secondary: chalk.hex(palette.platinum).bold, // Platinum
|
|
65
64
|
accent: chalk.hex(palette.silver).bold, // Silver
|
|
66
65
|
success: chalk.hex(palette.emerald).bold, // Green
|
|
@@ -93,7 +92,7 @@ export const theme = {
|
|
|
93
92
|
ocean: gradientString([palette.gunmetal, palette.titanium, palette.silver, palette.cyan]),
|
|
94
93
|
sunset: gradientString([palette.ruby, palette.roseGold, palette.gold, palette.amber]),
|
|
95
94
|
// Metallic gradients
|
|
96
|
-
gold: gradientString([palette.gold, '#
|
|
95
|
+
gold: gradientString([palette.gold, '#b3c7ff', '#e3ecff']),
|
|
97
96
|
silver: gradientString([palette.silver, '#E6E8FA', '#F0F8FF']),
|
|
98
97
|
platinum: gradientString([palette.platinum, '#E8E8E8', '#F5F5F5']),
|
|
99
98
|
},
|
|
@@ -157,9 +156,9 @@ export const theme = {
|
|
|
157
156
|
warning: chalk.bgHex(palette.amber).hex(palette.obsidian), // Amber bg, dark text
|
|
158
157
|
info: chalk.bgHex(palette.cyan).hex(palette.obsidian), // Cyan bg, dark text
|
|
159
158
|
muted: chalk.bgHex(palette.gunmetal).hex(palette.platinum), // Gray bg, light text
|
|
160
|
-
primary: chalk.bgHex(palette.gold).hex(palette.obsidian), //
|
|
159
|
+
primary: chalk.bgHex(palette.gold).hex(palette.obsidian), // Starlight bg, dark text
|
|
161
160
|
accent: chalk.bgHex(palette.silver).hex(palette.obsidian), // Silver bg, dark text
|
|
162
|
-
cached: chalk.bgHex(palette.roseGold).hex(palette.obsidian), //
|
|
161
|
+
cached: chalk.bgHex(palette.roseGold).hex(palette.obsidian), // Starlight-soft bg, dark text
|
|
163
162
|
},
|
|
164
163
|
// Inline badge styles (lighter, no background)
|
|
165
164
|
inlineBadge: {
|
|
@@ -168,7 +167,7 @@ export const theme = {
|
|
|
168
167
|
warning: chalk.hex(palette.amber), // Light amber
|
|
169
168
|
info: chalk.hex(palette.cyan), // Light cyan
|
|
170
169
|
muted: chalk.hex(palette.titanium), // Gray
|
|
171
|
-
primary: chalk.hex(palette.gold), //
|
|
170
|
+
primary: chalk.hex(palette.gold), // Starlight
|
|
172
171
|
accent: chalk.hex(palette.silver), // Silver
|
|
173
172
|
},
|
|
174
173
|
// Progress indicators
|
|
@@ -222,7 +221,7 @@ export const theme = {
|
|
|
222
221
|
},
|
|
223
222
|
// Tool-specific colors for different categories
|
|
224
223
|
toolColors: {
|
|
225
|
-
// Bash/Execute -
|
|
224
|
+
// Bash/Execute - Starlight
|
|
226
225
|
bash: chalk.hex(palette.gold),
|
|
227
226
|
execute: chalk.hex(palette.gold),
|
|
228
227
|
// Read/File operations - Cyan
|
|
@@ -238,14 +237,14 @@ export const theme = {
|
|
|
238
237
|
// Web operations - Platinum
|
|
239
238
|
web: chalk.hex(palette.platinum),
|
|
240
239
|
fetch: chalk.hex(palette.platinum),
|
|
241
|
-
// Task/Agent -
|
|
240
|
+
// Task/Agent - Starlight-soft
|
|
242
241
|
task: chalk.hex(palette.roseGold),
|
|
243
242
|
agent: chalk.hex(palette.roseGold),
|
|
244
243
|
// Todo - Pearl
|
|
245
244
|
todo: chalk.hex(palette.pearl),
|
|
246
245
|
// Notebook - Cyan
|
|
247
246
|
notebook: chalk.hex(palette.cyan),
|
|
248
|
-
// User interaction -
|
|
247
|
+
// User interaction - Starlight
|
|
249
248
|
ask: chalk.hex(palette.gold),
|
|
250
249
|
// Default - Platinum
|
|
251
250
|
default: chalk.hex(palette.platinum),
|
|
@@ -346,7 +345,7 @@ export const boxChars = {
|
|
|
346
345
|
*/
|
|
347
346
|
export function getToolColor(toolName) {
|
|
348
347
|
const name = toolName.toLowerCase();
|
|
349
|
-
// Bash/Execute commands -
|
|
348
|
+
// Bash/Execute commands - Starlight
|
|
350
349
|
if (name.includes('bash') || name.includes('execute') || name === 'killshell' || name === 'bashoutput') {
|
|
351
350
|
return theme.toolColors.bash;
|
|
352
351
|
}
|
|
@@ -354,43 +353,43 @@ export function getToolColor(toolName) {
|
|
|
354
353
|
if (name.includes('read') || name === 'glob' || name === 'list_files') {
|
|
355
354
|
return theme.toolColors.read;
|
|
356
355
|
}
|
|
357
|
-
// Write operations -
|
|
356
|
+
// Write operations - Silver
|
|
358
357
|
if (name.includes('write')) {
|
|
359
358
|
return theme.toolColors.write;
|
|
360
359
|
}
|
|
361
|
-
// Edit operations -
|
|
360
|
+
// Edit operations - Silver
|
|
362
361
|
if (name.includes('edit')) {
|
|
363
362
|
return theme.toolColors.edit;
|
|
364
363
|
}
|
|
365
|
-
// Search/Grep -
|
|
364
|
+
// Search/Grep - Titanium
|
|
366
365
|
if (name.includes('grep') || name.includes('search')) {
|
|
367
366
|
return theme.toolColors.grep;
|
|
368
367
|
}
|
|
369
|
-
// Glob pattern search -
|
|
368
|
+
// Glob pattern search - Titanium
|
|
370
369
|
if (name === 'glob') {
|
|
371
370
|
return theme.toolColors.glob;
|
|
372
371
|
}
|
|
373
|
-
// Web operations -
|
|
372
|
+
// Web operations - Platinum
|
|
374
373
|
if (name.includes('web') || name.includes('fetch')) {
|
|
375
374
|
return theme.toolColors.web;
|
|
376
375
|
}
|
|
377
|
-
// Task/Agent -
|
|
376
|
+
// Task/Agent - Starlight-soft
|
|
378
377
|
if (name === 'task' || name.includes('agent')) {
|
|
379
378
|
return theme.toolColors.task;
|
|
380
379
|
}
|
|
381
|
-
// Todo -
|
|
380
|
+
// Todo - Pearl
|
|
382
381
|
if (name.includes('todo')) {
|
|
383
382
|
return theme.toolColors.todo;
|
|
384
383
|
}
|
|
385
|
-
// Notebook -
|
|
384
|
+
// Notebook - Cyan
|
|
386
385
|
if (name.includes('notebook')) {
|
|
387
386
|
return theme.toolColors.notebook;
|
|
388
387
|
}
|
|
389
|
-
// User interaction -
|
|
388
|
+
// User interaction - Starlight
|
|
390
389
|
if (name.includes('ask') || name.includes('question')) {
|
|
391
390
|
return theme.toolColors.ask;
|
|
392
391
|
}
|
|
393
|
-
// Default -
|
|
392
|
+
// Default - Platinum
|
|
394
393
|
return theme.toolColors.default;
|
|
395
394
|
}
|
|
396
395
|
/**
|
package/dist/ui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trenchwork/coder",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Claude Code–class Ink TUI agent for DeepSeek v4 Pro (max thought, ultracode always on). Live follow-up queue, Shift+Tab permission modes, colored diffs, adversarial verifier — your keys, no login. Independent; inspired by Project Glasswing.",
|
|
5
5
|
"deepseek": {
|
|
6
6
|
"rulebookSchema": "src/contracts/schemas/agent-rules.schema.json"
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"LICENSE"
|
|
20
20
|
],
|
|
21
21
|
"bin": {
|
|
22
|
+
"erosolar": "dist/bin/deepseek.js",
|
|
22
23
|
"deepseek": "dist/bin/deepseek.js",
|
|
23
24
|
"trenchwork": "dist/bin/deepseek.js",
|
|
24
25
|
"trenchwork-coder": "dist/bin/deepseek.js"
|
|
@@ -105,6 +106,7 @@
|
|
|
105
106
|
"gradient-string": "^3.0.0",
|
|
106
107
|
"ink": "^7.0.1",
|
|
107
108
|
"ink-spinner": "^5.0.0",
|
|
109
|
+
"marked-terminal": "^7.3.0",
|
|
108
110
|
"nanospinner": "1.2.2",
|
|
109
111
|
"open": "^11.0.0",
|
|
110
112
|
"openai": "^6.10.0",
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hosted-key access — the CLIENT side of "optional sign-in unlocks hosted keys,
|
|
3
|
-
* or bring your own." Keys NEVER ship in this client (Project Glasswing); they
|
|
4
|
-
* live only in the ero.solar AWS backend, exactly like the Tavily search proxy
|
|
5
|
-
* already does (see src/tools/webTools.ts). Sign-in mints a short-lived token;
|
|
6
|
-
* the proxies validate it and use the operator keys.
|
|
7
|
-
*
|
|
8
|
-
* ── CONTRACT (the ero.solar backend implements this; this file codes against it) ──
|
|
9
|
-
* Sign-in (loopback OAuth, increment 2):
|
|
10
|
-
* open https://ero.solar/cli/login?port=<loopbackPort>&state=<csrf>
|
|
11
|
-
* → Google SSO → 302 http://127.0.0.1:<port>/cb?token=<jwt>&email=<e>&state=<csrf>
|
|
12
|
-
* DeepSeek (hosted): POST {HOSTED_DEEPSEEK_PROXY} header `Authorization: Bearer <token>`
|
|
13
|
-
* Tavily (hosted): the existing tavilySearch proxy, same Bearer token
|
|
14
|
-
* The token is short-lived and server-validated; if it 401s the CLI drops to
|
|
15
|
-
* "signed out" and asks the user to /login again or use their own key.
|
|
16
|
-
*
|
|
17
|
-
* THIS MODULE is state + resolution only (increment 1, fully testable). The live
|
|
18
|
-
* sign-in flow and the provider→proxy wiring are increment 2 (backend-gated).
|
|
19
|
-
*/
|
|
20
|
-
export declare const HOSTED_LOGIN_URL = "https://ero.solar/cli/login";
|
|
21
|
-
export declare const HOSTED_DEEPSEEK_PROXY = "https://ero.solar/api/deepseek";
|
|
22
|
-
export interface HostedSession {
|
|
23
|
-
token: string;
|
|
24
|
-
email: string;
|
|
25
|
-
}
|
|
26
|
-
export type KeyMode = 'hosted' | 'own' | 'none';
|
|
27
|
-
export interface KeyModeStatus {
|
|
28
|
-
mode: KeyMode;
|
|
29
|
-
email: string | null;
|
|
30
|
-
signedIn: boolean;
|
|
31
|
-
ownDeepSeek: boolean;
|
|
32
|
-
ownTavily: boolean;
|
|
33
|
-
preferOwnKeys: boolean;
|
|
34
|
-
}
|
|
35
|
-
/** The active hosted session (token + email), or null when signed out. */
|
|
36
|
-
export declare function getHostedSession(): HostedSession | null;
|
|
37
|
-
/** Persist a hosted session (called by /login once the backend returns a token). */
|
|
38
|
-
export declare function setHostedSession(session: HostedSession): void;
|
|
39
|
-
/** Sign out: drop the token but keep the own/hosted preference. */
|
|
40
|
-
export declare function clearHostedSession(): void;
|
|
41
|
-
export declare function prefersOwnKeys(): boolean;
|
|
42
|
-
export declare function setPreferOwnKeys(value: boolean): void;
|
|
43
|
-
/**
|
|
44
|
-
* Resolve which keys are in effect. Preference order: an explicit "use my own
|
|
45
|
-
* keys" wins when the user actually has a DeepSeek key; otherwise a hosted
|
|
46
|
-
* session is used; otherwise the user's own key; otherwise nothing is set up.
|
|
47
|
-
*/
|
|
48
|
-
export declare function resolveKeyMode(): KeyModeStatus;
|
|
49
|
-
/**
|
|
50
|
-
* The dim welcome/banner line that makes the active key source unmistakable —
|
|
51
|
-
* the user must be able to see at a glance whether they're on hosted keys or
|
|
52
|
-
* their own. Returns null in 'none' mode (the welcome already shows key setup).
|
|
53
|
-
*/
|
|
54
|
-
export declare function keyModeLine(status?: KeyModeStatus): string | null;
|
|
55
|
-
/**
|
|
56
|
-
* Resolve the DeepSeek endpoint the provider should use. Hosted mode routes
|
|
57
|
-
* through the ero.solar proxy authenticated by the short-lived sign-in token
|
|
58
|
-
* (the real key lives only server-side, Glasswing); otherwise the user's own
|
|
59
|
-
* key hits the API directly. `apiKey` is '' in 'none' mode (caller errors).
|
|
60
|
-
*/
|
|
61
|
-
export declare function resolveDeepSeekEndpoint(): {
|
|
62
|
-
apiKey: string;
|
|
63
|
-
baseURL: string;
|
|
64
|
-
mode: KeyMode;
|
|
65
|
-
};
|
|
66
|
-
export interface LoginResult {
|
|
67
|
-
ok: boolean;
|
|
68
|
-
session?: HostedSession;
|
|
69
|
-
error?: string;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Loopback-OAuth sign-in (the contract's increment 2). Starts a one-shot
|
|
73
|
-
* 127.0.0.1 server on an ephemeral port, opens the browser to the ero.solar
|
|
74
|
-
* Google-SSO login URL with that port + a CSRF state, and waits for the
|
|
75
|
-
* redirect back to /cb?token=&email=&state=. On match it persists the hosted
|
|
76
|
-
* session. The browser launch is injected (`open`) so the flow is testable
|
|
77
|
-
* against the REAL loopback server without a real browser.
|
|
78
|
-
*
|
|
79
|
-
* Requires the ero.solar backend (SSO + token mint + redirect) to be live; with
|
|
80
|
-
* no backend the browser opens to a not-yet-served endpoint and the wait times
|
|
81
|
-
* out — the caller surfaces that honestly.
|
|
82
|
-
*/
|
|
83
|
-
export declare function loginViaLoopback(opts: {
|
|
84
|
-
open: (url: string) => void | Promise<void>;
|
|
85
|
-
timeoutMs?: number;
|
|
86
|
-
loginUrl?: string;
|
|
87
|
-
}): Promise<LoginResult>;
|
|
88
|
-
//# sourceMappingURL=hostedAuth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hostedAuth.d.ts","sourceRoot":"","sources":["../../src/core/hostedAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,qBAAqB,mCAAmC,CAAC;AAWtE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AASD,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AA+BD,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAGvD;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAG7D;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAa9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,aAAgC,GAAG,MAAM,GAAG,IAAI,CAanF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAW5F;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,WAAW,CAAC,CAuCvB"}
|
package/dist/core/hostedAuth.js
DELETED
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hosted-key access — the CLIENT side of "optional sign-in unlocks hosted keys,
|
|
3
|
-
* or bring your own." Keys NEVER ship in this client (Project Glasswing); they
|
|
4
|
-
* live only in the ero.solar AWS backend, exactly like the Tavily search proxy
|
|
5
|
-
* already does (see src/tools/webTools.ts). Sign-in mints a short-lived token;
|
|
6
|
-
* the proxies validate it and use the operator keys.
|
|
7
|
-
*
|
|
8
|
-
* ── CONTRACT (the ero.solar backend implements this; this file codes against it) ──
|
|
9
|
-
* Sign-in (loopback OAuth, increment 2):
|
|
10
|
-
* open https://ero.solar/cli/login?port=<loopbackPort>&state=<csrf>
|
|
11
|
-
* → Google SSO → 302 http://127.0.0.1:<port>/cb?token=<jwt>&email=<e>&state=<csrf>
|
|
12
|
-
* DeepSeek (hosted): POST {HOSTED_DEEPSEEK_PROXY} header `Authorization: Bearer <token>`
|
|
13
|
-
* Tavily (hosted): the existing tavilySearch proxy, same Bearer token
|
|
14
|
-
* The token is short-lived and server-validated; if it 401s the CLI drops to
|
|
15
|
-
* "signed out" and asks the user to /login again or use their own key.
|
|
16
|
-
*
|
|
17
|
-
* THIS MODULE is state + resolution only (increment 1, fully testable). The live
|
|
18
|
-
* sign-in flow and the provider→proxy wiring are increment 2 (backend-gated).
|
|
19
|
-
*/
|
|
20
|
-
import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync, rmSync } from 'node:fs';
|
|
21
|
-
import { createServer } from 'node:http';
|
|
22
|
-
import { randomBytes } from 'node:crypto';
|
|
23
|
-
import { homedir } from 'node:os';
|
|
24
|
-
import { join, resolve } from 'node:path';
|
|
25
|
-
import { getSecretValue } from './secretStore.js';
|
|
26
|
-
// Contract endpoints (the backend the user is building must match these).
|
|
27
|
-
export const HOSTED_LOGIN_URL = 'https://ero.solar/cli/login';
|
|
28
|
-
export const HOSTED_DEEPSEEK_PROXY = 'https://ero.solar/api/deepseek';
|
|
29
|
-
// Resolved per call (not captured at module load) so TRENCHWORK_HOME changes —
|
|
30
|
-
// and tests pointing at a temp dir — take effect.
|
|
31
|
-
function homeDir() {
|
|
32
|
-
return process.env['TRENCHWORK_HOME'] ? resolve(process.env['TRENCHWORK_HOME']) : join(homedir(), '.trenchwork');
|
|
33
|
-
}
|
|
34
|
-
function sessionFile() {
|
|
35
|
-
return join(homeDir(), 'session.json');
|
|
36
|
-
}
|
|
37
|
-
function readFile() {
|
|
38
|
-
// Read the on-disk session first (the future /login writes it; it also holds
|
|
39
|
-
// the own/hosted preference), then let env override the token+email — env
|
|
40
|
-
// lets tests/CI inject a session without touching disk, while still honouring
|
|
41
|
-
// a stored preference.
|
|
42
|
-
let data = {};
|
|
43
|
-
const file = sessionFile();
|
|
44
|
-
if (existsSync(file)) {
|
|
45
|
-
try {
|
|
46
|
-
const parsed = JSON.parse(readFileSync(file, 'utf8'));
|
|
47
|
-
if (parsed && typeof parsed === 'object')
|
|
48
|
-
data = parsed;
|
|
49
|
-
}
|
|
50
|
-
catch { /* corrupt → treat as empty */ }
|
|
51
|
-
}
|
|
52
|
-
const envToken = process.env['TRENCHWORK_HOSTED_TOKEN']?.trim();
|
|
53
|
-
if (envToken) {
|
|
54
|
-
data.token = envToken;
|
|
55
|
-
data.email = process.env['TRENCHWORK_HOSTED_EMAIL']?.trim() || 'you@hosted';
|
|
56
|
-
}
|
|
57
|
-
return data;
|
|
58
|
-
}
|
|
59
|
-
function writeFile(data) {
|
|
60
|
-
const file = sessionFile();
|
|
61
|
-
mkdirSync(homeDir(), { recursive: true, mode: 0o700 });
|
|
62
|
-
const tmp = `${file}.${process.pid}.tmp`;
|
|
63
|
-
writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
|
|
64
|
-
renameSync(tmp, file);
|
|
65
|
-
}
|
|
66
|
-
/** The active hosted session (token + email), or null when signed out. */
|
|
67
|
-
export function getHostedSession() {
|
|
68
|
-
const f = readFile();
|
|
69
|
-
return f.token ? { token: f.token, email: f.email || 'you@hosted' } : null;
|
|
70
|
-
}
|
|
71
|
-
/** Persist a hosted session (called by /login once the backend returns a token). */
|
|
72
|
-
export function setHostedSession(session) {
|
|
73
|
-
const f = readFile();
|
|
74
|
-
writeFile({ ...f, token: session.token, email: session.email });
|
|
75
|
-
}
|
|
76
|
-
/** Sign out: drop the token but keep the own/hosted preference. */
|
|
77
|
-
export function clearHostedSession() {
|
|
78
|
-
const f = readFile();
|
|
79
|
-
delete f.token;
|
|
80
|
-
delete f.email;
|
|
81
|
-
if (Object.keys(f).length === 0) {
|
|
82
|
-
try {
|
|
83
|
-
rmSync(sessionFile(), { force: true });
|
|
84
|
-
}
|
|
85
|
-
catch { /* ignore */ }
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
writeFile(f);
|
|
89
|
-
}
|
|
90
|
-
export function prefersOwnKeys() {
|
|
91
|
-
return readFile().preferOwnKeys === true;
|
|
92
|
-
}
|
|
93
|
-
export function setPreferOwnKeys(value) {
|
|
94
|
-
writeFile({ ...readFile(), preferOwnKeys: value });
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Resolve which keys are in effect. Preference order: an explicit "use my own
|
|
98
|
-
* keys" wins when the user actually has a DeepSeek key; otherwise a hosted
|
|
99
|
-
* session is used; otherwise the user's own key; otherwise nothing is set up.
|
|
100
|
-
*/
|
|
101
|
-
export function resolveKeyMode() {
|
|
102
|
-
const session = getHostedSession();
|
|
103
|
-
const ownDeepSeek = Boolean(getSecretValue('DEEPSEEK_API_KEY'));
|
|
104
|
-
const ownTavily = Boolean(getSecretValue('TAVILY_API_KEY'));
|
|
105
|
-
const preferOwnKeys = prefersOwnKeys();
|
|
106
|
-
let mode;
|
|
107
|
-
if (preferOwnKeys && ownDeepSeek)
|
|
108
|
-
mode = 'own';
|
|
109
|
-
else if (session)
|
|
110
|
-
mode = 'hosted';
|
|
111
|
-
else if (ownDeepSeek)
|
|
112
|
-
mode = 'own';
|
|
113
|
-
else
|
|
114
|
-
mode = 'none';
|
|
115
|
-
return { mode, email: session?.email ?? null, signedIn: Boolean(session), ownDeepSeek, ownTavily, preferOwnKeys };
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* The dim welcome/banner line that makes the active key source unmistakable —
|
|
119
|
-
* the user must be able to see at a glance whether they're on hosted keys or
|
|
120
|
-
* their own. Returns null in 'none' mode (the welcome already shows key setup).
|
|
121
|
-
*/
|
|
122
|
-
export function keyModeLine(status = resolveKeyMode()) {
|
|
123
|
-
switch (status.mode) {
|
|
124
|
-
case 'hosted':
|
|
125
|
-
return `Signed in as ${status.email} · using hosted keys` +
|
|
126
|
-
(status.ownDeepSeek ? ' · /account to use your own' : '');
|
|
127
|
-
case 'own': {
|
|
128
|
-
const tav = status.ownTavily ? 'Tavily ✓' : 'Tavily (shared proxy)';
|
|
129
|
-
const base = `Using your own keys · DeepSeek ✓ · ${tav}`;
|
|
130
|
-
return status.signedIn ? `${base} · /account to use hosted` : base;
|
|
131
|
-
}
|
|
132
|
-
default:
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Resolve the DeepSeek endpoint the provider should use. Hosted mode routes
|
|
138
|
-
* through the ero.solar proxy authenticated by the short-lived sign-in token
|
|
139
|
-
* (the real key lives only server-side, Glasswing); otherwise the user's own
|
|
140
|
-
* key hits the API directly. `apiKey` is '' in 'none' mode (caller errors).
|
|
141
|
-
*/
|
|
142
|
-
export function resolveDeepSeekEndpoint() {
|
|
143
|
-
const status = resolveKeyMode();
|
|
144
|
-
if (status.mode === 'hosted') {
|
|
145
|
-
const session = getHostedSession();
|
|
146
|
-
if (session)
|
|
147
|
-
return { apiKey: session.token, baseURL: HOSTED_DEEPSEEK_PROXY, mode: 'hosted' };
|
|
148
|
-
}
|
|
149
|
-
const userKey = (process.env['DEEPSEEK_API_KEY'] || '').trim();
|
|
150
|
-
if (userKey) {
|
|
151
|
-
return { apiKey: userKey, baseURL: process.env['DEEPSEEK_BASE_URL'] || 'https://api.deepseek.com', mode: 'own' };
|
|
152
|
-
}
|
|
153
|
-
return { apiKey: '', baseURL: '', mode: 'none' };
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Loopback-OAuth sign-in (the contract's increment 2). Starts a one-shot
|
|
157
|
-
* 127.0.0.1 server on an ephemeral port, opens the browser to the ero.solar
|
|
158
|
-
* Google-SSO login URL with that port + a CSRF state, and waits for the
|
|
159
|
-
* redirect back to /cb?token=&email=&state=. On match it persists the hosted
|
|
160
|
-
* session. The browser launch is injected (`open`) so the flow is testable
|
|
161
|
-
* against the REAL loopback server without a real browser.
|
|
162
|
-
*
|
|
163
|
-
* Requires the ero.solar backend (SSO + token mint + redirect) to be live; with
|
|
164
|
-
* no backend the browser opens to a not-yet-served endpoint and the wait times
|
|
165
|
-
* out — the caller surfaces that honestly.
|
|
166
|
-
*/
|
|
167
|
-
export function loginViaLoopback(opts) {
|
|
168
|
-
const state = randomBytes(16).toString('hex');
|
|
169
|
-
const loginUrl = opts.loginUrl ?? HOSTED_LOGIN_URL;
|
|
170
|
-
return new Promise((resolveP) => {
|
|
171
|
-
let settled = false;
|
|
172
|
-
const finish = (result) => {
|
|
173
|
-
if (settled)
|
|
174
|
-
return;
|
|
175
|
-
settled = true;
|
|
176
|
-
clearTimeout(timer);
|
|
177
|
-
try {
|
|
178
|
-
server.close();
|
|
179
|
-
}
|
|
180
|
-
catch { /* ignore */ }
|
|
181
|
-
resolveP(result);
|
|
182
|
-
};
|
|
183
|
-
const server = createServer((req, res) => {
|
|
184
|
-
const url = new URL(req.url ?? '/', 'http://127.0.0.1');
|
|
185
|
-
if (url.pathname !== '/cb') {
|
|
186
|
-
res.writeHead(404);
|
|
187
|
-
res.end('not found');
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
const token = url.searchParams.get('token') ?? '';
|
|
191
|
-
const email = url.searchParams.get('email') ?? '';
|
|
192
|
-
const gotState = url.searchParams.get('state') ?? '';
|
|
193
|
-
const okPage = '<!doctype html><meta charset="utf-8"><body style="font:16px system-ui;padding:3rem">'
|
|
194
|
-
+ 'Signed in to Trenchwork Coder. You can close this tab and return to the terminal.</body>';
|
|
195
|
-
res.writeHead(200, { 'content-type': 'text/html' });
|
|
196
|
-
res.end(okPage);
|
|
197
|
-
if (gotState !== state) {
|
|
198
|
-
finish({ ok: false, error: 'state mismatch — sign-in rejected (possible CSRF)' });
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
if (!token) {
|
|
202
|
-
finish({ ok: false, error: 'sign-in returned no token' });
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
const session = { token, email: email || 'you@hosted' };
|
|
206
|
-
setHostedSession(session);
|
|
207
|
-
finish({ ok: true, session });
|
|
208
|
-
});
|
|
209
|
-
const timer = setTimeout(() => finish({ ok: false, error: 'timed out waiting for sign-in' }), opts.timeoutMs ?? 120_000);
|
|
210
|
-
server.on('error', (e) => finish({ ok: false, error: `loopback server failed: ${e.message}` }));
|
|
211
|
-
server.listen(0, '127.0.0.1', () => {
|
|
212
|
-
const addr = server.address();
|
|
213
|
-
const port = addr && typeof addr === 'object' ? addr.port : 0;
|
|
214
|
-
const url = `${loginUrl}?port=${port}&state=${state}`;
|
|
215
|
-
Promise.resolve(opts.open(url)).catch(() => { });
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
//# sourceMappingURL=hostedAuth.js.map
|