myshell-tools 3.0.0 → 3.2.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/CHANGELOG.md +52 -1
- package/README.md +32 -21
- package/dist/cli.js +22 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/cost.js +44 -25
- package/dist/commands/cost.js.map +1 -1
- package/dist/commands/doctor.d.ts +17 -4
- package/dist/commands/doctor.js +56 -34
- package/dist/commands/doctor.js.map +1 -1
- package/dist/core/native-session.d.ts +57 -0
- package/dist/core/native-session.js +68 -0
- package/dist/core/native-session.js.map +1 -0
- package/dist/core/orchestrate.js +25 -4
- package/dist/core/orchestrate.js.map +1 -1
- package/dist/core/types.d.ts +26 -0
- package/dist/infra/config.d.ts +8 -0
- package/dist/infra/config.js.map +1 -1
- package/dist/infra/credentials.d.ts +35 -0
- package/dist/infra/credentials.js +59 -1
- package/dist/infra/credentials.js.map +1 -1
- package/dist/infra/health.d.ts +57 -0
- package/dist/infra/health.js +96 -0
- package/dist/infra/health.js.map +1 -0
- package/dist/infra/insights.d.ts +14 -0
- package/dist/infra/insights.js +31 -0
- package/dist/infra/insights.js.map +1 -1
- package/dist/interface/menu.d.ts +70 -5
- package/dist/interface/menu.js +195 -26
- package/dist/interface/menu.js.map +1 -1
- package/dist/interface/render.js +11 -8
- package/dist/interface/render.js.map +1 -1
- package/dist/providers/claude.d.ts +24 -8
- package/dist/providers/claude.js +65 -15
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex-parse.js +14 -2
- package/dist/providers/codex-parse.js.map +1 -1
- package/dist/providers/codex.d.ts +13 -1
- package/dist/providers/codex.js +19 -8
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/port.d.ts +15 -0
- package/dist/ui/help.d.ts +17 -0
- package/dist/ui/help.js +106 -0
- package/dist/ui/help.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/doctor.js
CHANGED
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
* remain hermetic — no real npm/login/detect spawned in tests.
|
|
16
16
|
*/
|
|
17
17
|
import readline from 'node:readline';
|
|
18
|
-
import { access, mkdir, writeFile, rm } from 'node:fs/promises';
|
|
19
|
-
import { join } from 'node:path';
|
|
20
18
|
import { detectEnvironment, getInstallCommand } from '../providers/detect.js';
|
|
21
19
|
import { installProvider } from '../providers/install.js';
|
|
22
20
|
import { runLogin } from './login.js';
|
|
23
21
|
import { isPricingStale } from '../infra/pricing.js';
|
|
22
|
+
import { probeStateWritable } from '../infra/health.js';
|
|
23
|
+
import { loadClaudeTokenCapturedAt, claudeTokenStatus } from '../infra/credentials.js';
|
|
24
24
|
import { parseYesNo } from '../interface/menu.js';
|
|
25
25
|
import { bold, green, red, yellow, dim, divider, label } from '../ui/theme.js';
|
|
26
26
|
/**
|
|
@@ -30,13 +30,14 @@ import { bold, green, red, yellow, dim, divider, label } from '../ui/theme.js';
|
|
|
30
30
|
* Used by runDoctor after it collects the real data, and by unit tests with
|
|
31
31
|
* hand-built inputs.
|
|
32
32
|
*
|
|
33
|
-
* @param env
|
|
34
|
-
* @param extras
|
|
35
|
-
* @param color
|
|
33
|
+
* @param env - Full environment status (from detectEnvironment or a fake).
|
|
34
|
+
* @param extras - Supplemental runtime info (node version, write probe, etc.).
|
|
35
|
+
* @param color - Whether to emit ANSI colour codes.
|
|
36
|
+
* @param claudeTokenInfo - Optional pre-computed token lifetime status (from claudeTokenStatus()).
|
|
36
37
|
*/
|
|
37
|
-
export function buildDoctorReport(env, extras, color) {
|
|
38
|
+
export function buildDoctorReport(env, extras, color, claudeTokenInfo) {
|
|
38
39
|
const lines = [];
|
|
39
|
-
lines.push(bold('myshell-tools
|
|
40
|
+
lines.push(bold('myshell-tools — environment health', color));
|
|
40
41
|
lines.push(divider(color));
|
|
41
42
|
// ---- Platform & Node -------------------------------------------------------
|
|
42
43
|
lines.push(`${label('Platform', color)}: ${env.platform}`);
|
|
@@ -66,6 +67,21 @@ export function buildDoctorReport(env, extras, color) {
|
|
|
66
67
|
else if (ps.authenticated) {
|
|
67
68
|
const planLabel = ps.plan !== null ? ` (${ps.plan})` : '';
|
|
68
69
|
lines.push(` ${label('auth', color)}: ${green('signed in', color)}${planLabel}`);
|
|
70
|
+
// Token lifetime line — only for claude, only when we have a captured-at date.
|
|
71
|
+
if (ps.id === 'claude' && claudeTokenInfo != null) {
|
|
72
|
+
const info = claudeTokenInfo;
|
|
73
|
+
if (info.expired) {
|
|
74
|
+
lines.push(` ${label('token', color)}: ${red('EXPIRED — run: myshell-tools login claude --code', color)}`);
|
|
75
|
+
}
|
|
76
|
+
else if (info.nearExpiry) {
|
|
77
|
+
const expiryDate = info.expiresAt.slice(0, 10);
|
|
78
|
+
lines.push(` ${label('token', color)}: ${yellow(`expires soon (${info.daysLeft} days, ~${expiryDate}) — re-run login when convenient`, color)}`);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const expiryDate = info.expiresAt.slice(0, 10);
|
|
82
|
+
lines.push(` ${label('token', color)}: expires ~${expiryDate} (${info.daysLeft} days left)`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
69
85
|
}
|
|
70
86
|
else {
|
|
71
87
|
lines.push(` ${label('auth', color)}: ${yellow('not signed in', color)} — run: myshell-tools login`);
|
|
@@ -90,29 +106,6 @@ export function buildDoctorReport(env, extras, color) {
|
|
|
90
106
|
// ---------------------------------------------------------------------------
|
|
91
107
|
// I/O runner — called by cli.ts
|
|
92
108
|
// ---------------------------------------------------------------------------
|
|
93
|
-
/**
|
|
94
|
-
* Probe the .myshell-tools directory for writability.
|
|
95
|
-
*
|
|
96
|
-
* Creates .myshell-tools/ if needed, writes a temp file, then removes it.
|
|
97
|
-
* Returns true when successful, false on any I/O error.
|
|
98
|
-
*/
|
|
99
|
-
async function probestateWritable(cwd) {
|
|
100
|
-
const stateDir = join(cwd, '.myshell-tools');
|
|
101
|
-
const probe = join(stateDir, '.doctor-probe');
|
|
102
|
-
try {
|
|
103
|
-
await mkdir(stateDir, { recursive: true });
|
|
104
|
-
await writeFile(probe, '');
|
|
105
|
-
await rm(probe, { force: true });
|
|
106
|
-
await access(stateDir);
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
catch {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// ---------------------------------------------------------------------------
|
|
114
|
-
// I/O runner — called by cli.ts
|
|
115
|
-
// ---------------------------------------------------------------------------
|
|
116
109
|
/**
|
|
117
110
|
* Detect the environment, probe I/O, build the report, and write it to `out`.
|
|
118
111
|
*
|
|
@@ -130,13 +123,19 @@ export async function runDoctor(out, opts) {
|
|
|
130
123
|
const installProviderFn = opts?.installProvider ?? installProvider;
|
|
131
124
|
const loginFn = opts?.login ?? ((o, id) => runLogin(o, id));
|
|
132
125
|
const env = await detectEnvironmentFn();
|
|
133
|
-
const stateWritable = await
|
|
126
|
+
const stateWritable = await probeStateWritable(process.cwd());
|
|
134
127
|
const extras = {
|
|
135
128
|
nodeVersion: process.version,
|
|
136
129
|
stateWritable,
|
|
137
130
|
pricingStale: isPricingStale(),
|
|
138
131
|
};
|
|
139
|
-
|
|
132
|
+
// Compute token lifetime info when claude is signed in and a capture date is stored.
|
|
133
|
+
let claudeTokenInfo;
|
|
134
|
+
if (env.claude.installed && env.claude.authenticated) {
|
|
135
|
+
const capturedAt = await loadClaudeTokenCapturedAt();
|
|
136
|
+
claudeTokenInfo = claudeTokenStatus(capturedAt, Date.now());
|
|
137
|
+
}
|
|
138
|
+
const lines = buildDoctorReport(env, extras, out.color, claudeTokenInfo);
|
|
140
139
|
for (const line of lines) {
|
|
141
140
|
out.write(line + '\n');
|
|
142
141
|
}
|
|
@@ -159,8 +158,10 @@ export async function runDoctor(out, opts) {
|
|
|
159
158
|
});
|
|
160
159
|
rlClose = () => rl.close();
|
|
161
160
|
}
|
|
161
|
+
const loadCapturedAtFn = opts.loadClaudeTokenCapturedAt ?? loadClaudeTokenCapturedAt;
|
|
162
|
+
const nowFn = opts.now ?? (() => Date.now());
|
|
162
163
|
try {
|
|
163
|
-
await runFixPass(out, env, readLineFn, installProviderFn, loginFn, detectEnvironmentFn);
|
|
164
|
+
await runFixPass(out, env, readLineFn, installProviderFn, loginFn, detectEnvironmentFn, loadCapturedAtFn, nowFn);
|
|
164
165
|
}
|
|
165
166
|
finally {
|
|
166
167
|
rlClose?.();
|
|
@@ -181,7 +182,7 @@ export async function runDoctor(out, opts) {
|
|
|
181
182
|
*
|
|
182
183
|
* Never throws — any step failure is caught and reported via `out`.
|
|
183
184
|
*/
|
|
184
|
-
async function runFixPass(out, initialEnv, readLine, installProviderFn, loginFn, detectEnvironmentFn) {
|
|
185
|
+
async function runFixPass(out, initialEnv, readLine, installProviderFn, loginFn, detectEnvironmentFn, loadCapturedAtFn, nowFn) {
|
|
185
186
|
const providers = ['claude', 'codex', 'opencode'];
|
|
186
187
|
// ---- Step 1: offer installs for missing providers -------------------------
|
|
187
188
|
const missingIds = providers.filter((id) => !initialEnv[id].installed);
|
|
@@ -226,6 +227,27 @@ async function runFixPass(out, initialEnv, readLine, installProviderFn, loginFn,
|
|
|
226
227
|
}
|
|
227
228
|
}
|
|
228
229
|
}
|
|
230
|
+
// ---- Step 3b: offer a Claude token refresh when it is expiring -------------
|
|
231
|
+
// The sk-ant-oat… token from `claude setup-token` is ~1-year-lived. Proactively
|
|
232
|
+
// offer to refresh it when expired or inside the warning window so users aren't
|
|
233
|
+
// surprised by a mid-session auth failure (a real reported confusion).
|
|
234
|
+
if (env.claude.installed && env.claude.authenticated) {
|
|
235
|
+
const capturedAt = await loadCapturedAtFn().catch(() => undefined);
|
|
236
|
+
const tokenInfo = claudeTokenStatus(capturedAt, nowFn());
|
|
237
|
+
if (tokenInfo !== null && (tokenInfo.expired || tokenInfo.nearExpiry)) {
|
|
238
|
+
const when = tokenInfo.expired ? 'has expired' : `expires in ${tokenInfo.daysLeft} days`;
|
|
239
|
+
out.write(`\nYour Claude token ${when}. Refresh it now? (Y/n) `);
|
|
240
|
+
const ans = await readLine();
|
|
241
|
+
if (parseYesNo(ans, true)) {
|
|
242
|
+
try {
|
|
243
|
+
await loginFn(out, 'claude');
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
out.write(red(`✗ Claude re-login did not complete.\n`, out.color));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
229
251
|
// ---- Step 4: final re-detect and brief summary ----------------------------
|
|
230
252
|
let finalEnv = env;
|
|
231
253
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,QAAQ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/core/native-session.ts — pure planning for native provider session reuse.
|
|
3
|
+
*
|
|
4
|
+
* EXPERIMENTAL, opt-in (config.nativeSessions). The default path replays a
|
|
5
|
+
* compacted history block into each turn's prompt so stateless `-p` invocations
|
|
6
|
+
* have context. That is correct and provider-portable, but re-sends prior
|
|
7
|
+
* context every turn. When enabled, and when consecutive turns of a conversation
|
|
8
|
+
* hit the SAME provider, we can instead use the provider's native session
|
|
9
|
+
* continuity (Claude `--session-id`/`--resume`) and skip the replayed history —
|
|
10
|
+
* the provider already holds the prior context server-side.
|
|
11
|
+
*
|
|
12
|
+
* Scope: Claude only. Claude lets the caller CHOOSE the session id
|
|
13
|
+
* (`--session-id <uuid>`), so we reuse the conversation id directly — no output
|
|
14
|
+
* parsing or extra persistence needed. Codex generates its own ids (would need
|
|
15
|
+
* capture + storage) and opencode is unconfirmed, so both stay on history replay
|
|
16
|
+
* for now; this function returns a plan only for Claude.
|
|
17
|
+
*
|
|
18
|
+
* Cross-provider safety: if a turn routes to a DIFFERENT provider than the plan
|
|
19
|
+
* names, orchestrate ignores the plan for that tier and falls back to history
|
|
20
|
+
* replay — so switching providers never loses context.
|
|
21
|
+
*
|
|
22
|
+
* Pure: no I/O, no clock, no randomness.
|
|
23
|
+
*/
|
|
24
|
+
import type { ProviderId } from '../providers/port.js';
|
|
25
|
+
import type { SessionEntry } from './types.js';
|
|
26
|
+
export interface NativeSessionPlan {
|
|
27
|
+
/** The provider whose native session this plan continues. */
|
|
28
|
+
readonly provider: ProviderId;
|
|
29
|
+
/** The native session/thread id to pass to that provider. */
|
|
30
|
+
readonly sessionId: string;
|
|
31
|
+
/** true → continue an existing session (--resume); false → establish it. */
|
|
32
|
+
readonly resume: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface PlanNativeSessionOpts {
|
|
35
|
+
/** Whether native sessions are enabled (config.nativeSessions === true). */
|
|
36
|
+
readonly enabled: boolean;
|
|
37
|
+
/** The conversation id; used directly as the Claude session id. */
|
|
38
|
+
readonly conversationId: string;
|
|
39
|
+
/** Prior turns of this conversation (oldest first). */
|
|
40
|
+
readonly history: readonly SessionEntry[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build the native-session plans for the next turn — one per provider that can
|
|
44
|
+
* continue a native session for this conversation.
|
|
45
|
+
*
|
|
46
|
+
* Two id models:
|
|
47
|
+
* - Claude lets us CHOOSE the session id, so we use the conversation id
|
|
48
|
+
* directly: establish it on the first Claude turn (`resume: false`), resume
|
|
49
|
+
* it thereafter (`resume: true`).
|
|
50
|
+
* - Codex GENERATES its own thread id, so we can only resume when a prior Codex
|
|
51
|
+
* turn captured one (persisted on its SessionEntry). No captured id → no plan
|
|
52
|
+
* (that turn establishes a fresh thread, captured for next time).
|
|
53
|
+
*
|
|
54
|
+
* Returns [] when disabled or no conversation id (e.g. the one-shot `run`).
|
|
55
|
+
* Orchestrate falls back to history replay for any provider without a plan.
|
|
56
|
+
*/
|
|
57
|
+
export declare function planNativeSession(opts: PlanNativeSessionOpts): NativeSessionPlan[];
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/core/native-session.ts — pure planning for native provider session reuse.
|
|
3
|
+
*
|
|
4
|
+
* EXPERIMENTAL, opt-in (config.nativeSessions). The default path replays a
|
|
5
|
+
* compacted history block into each turn's prompt so stateless `-p` invocations
|
|
6
|
+
* have context. That is correct and provider-portable, but re-sends prior
|
|
7
|
+
* context every turn. When enabled, and when consecutive turns of a conversation
|
|
8
|
+
* hit the SAME provider, we can instead use the provider's native session
|
|
9
|
+
* continuity (Claude `--session-id`/`--resume`) and skip the replayed history —
|
|
10
|
+
* the provider already holds the prior context server-side.
|
|
11
|
+
*
|
|
12
|
+
* Scope: Claude only. Claude lets the caller CHOOSE the session id
|
|
13
|
+
* (`--session-id <uuid>`), so we reuse the conversation id directly — no output
|
|
14
|
+
* parsing or extra persistence needed. Codex generates its own ids (would need
|
|
15
|
+
* capture + storage) and opencode is unconfirmed, so both stay on history replay
|
|
16
|
+
* for now; this function returns a plan only for Claude.
|
|
17
|
+
*
|
|
18
|
+
* Cross-provider safety: if a turn routes to a DIFFERENT provider than the plan
|
|
19
|
+
* names, orchestrate ignores the plan for that tier and falls back to history
|
|
20
|
+
* replay — so switching providers never loses context.
|
|
21
|
+
*
|
|
22
|
+
* Pure: no I/O, no clock, no randomness.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Find the most recent persisted native session id for a provider in the
|
|
26
|
+
* conversation history (the id a prior turn captured from the provider CLI).
|
|
27
|
+
*/
|
|
28
|
+
function latestSessionId(history, provider) {
|
|
29
|
+
for (let i = history.length - 1; i >= 0; i--) {
|
|
30
|
+
const e = history[i];
|
|
31
|
+
if (e?.role === 'assistant' && e.provider === provider && e.sessionId !== undefined && e.sessionId.length > 0) {
|
|
32
|
+
return e.sessionId;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Build the native-session plans for the next turn — one per provider that can
|
|
39
|
+
* continue a native session for this conversation.
|
|
40
|
+
*
|
|
41
|
+
* Two id models:
|
|
42
|
+
* - Claude lets us CHOOSE the session id, so we use the conversation id
|
|
43
|
+
* directly: establish it on the first Claude turn (`resume: false`), resume
|
|
44
|
+
* it thereafter (`resume: true`).
|
|
45
|
+
* - Codex GENERATES its own thread id, so we can only resume when a prior Codex
|
|
46
|
+
* turn captured one (persisted on its SessionEntry). No captured id → no plan
|
|
47
|
+
* (that turn establishes a fresh thread, captured for next time).
|
|
48
|
+
*
|
|
49
|
+
* Returns [] when disabled or no conversation id (e.g. the one-shot `run`).
|
|
50
|
+
* Orchestrate falls back to history replay for any provider without a plan.
|
|
51
|
+
*/
|
|
52
|
+
export function planNativeSession(opts) {
|
|
53
|
+
if (!opts.enabled)
|
|
54
|
+
return [];
|
|
55
|
+
if (opts.conversationId.length === 0)
|
|
56
|
+
return [];
|
|
57
|
+
const plans = [];
|
|
58
|
+
// Claude: we own the id (the conversation id). resume once established.
|
|
59
|
+
const priorClaude = opts.history.some((e) => e.role === 'assistant' && e.provider === 'claude');
|
|
60
|
+
plans.push({ provider: 'claude', sessionId: opts.conversationId, resume: priorClaude });
|
|
61
|
+
// Codex: resume only if a prior Codex turn captured a thread id.
|
|
62
|
+
const codexId = latestSessionId(opts.history, 'codex');
|
|
63
|
+
if (codexId !== undefined) {
|
|
64
|
+
plans.push({ provider: 'codex', sessionId: codexId, resume: true });
|
|
65
|
+
}
|
|
66
|
+
return plans;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=native-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-session.js","sourceRoot":"","sources":["../../src/core/native-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuBH;;;GAGG;AACH,SAAS,eAAe,CACtB,OAAgC,EAChC,QAAoB;IAEpB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9G,OAAO,CAAC,CAAC,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA2B;IAC3D,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,wEAAwE;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAChG,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAExF,iEAAiE;IACjE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/core/orchestrate.js
CHANGED
|
@@ -72,9 +72,10 @@ async function* streamProvider(provider, req, tier, signal) {
|
|
|
72
72
|
let errored;
|
|
73
73
|
let usage;
|
|
74
74
|
let providerCostUsd;
|
|
75
|
+
let sessionId;
|
|
75
76
|
// Pre-stream abort check
|
|
76
77
|
if (signal.aborted) {
|
|
77
|
-
return { finalText, errored, usage, providerCostUsd, canceled: true, canceledBeforeStream: true };
|
|
78
|
+
return { finalText, errored, usage, providerCostUsd, sessionId, canceled: true, canceledBeforeStream: true };
|
|
78
79
|
}
|
|
79
80
|
for await (const ev of provider.run(req, signal)) {
|
|
80
81
|
yield { type: 'provider-event', tier, event: ev };
|
|
@@ -86,6 +87,9 @@ async function* streamProvider(provider, req, tier, signal) {
|
|
|
86
87
|
if (ev.costUsd !== undefined) {
|
|
87
88
|
providerCostUsd = ev.costUsd;
|
|
88
89
|
}
|
|
90
|
+
if (ev.sessionId !== undefined && ev.sessionId.length > 0) {
|
|
91
|
+
sessionId = ev.sessionId;
|
|
92
|
+
}
|
|
89
93
|
}
|
|
90
94
|
else if (ev.type === 'error') {
|
|
91
95
|
errored = ev.error;
|
|
@@ -94,10 +98,10 @@ async function* streamProvider(provider, req, tier, signal) {
|
|
|
94
98
|
usage = ev.usage;
|
|
95
99
|
}
|
|
96
100
|
if (signal.aborted) {
|
|
97
|
-
return { finalText, errored, usage, providerCostUsd, canceled: true, canceledBeforeStream: false };
|
|
101
|
+
return { finalText, errored, usage, providerCostUsd, sessionId, canceled: true, canceledBeforeStream: false };
|
|
98
102
|
}
|
|
99
103
|
}
|
|
100
|
-
return { finalText, errored, usage, providerCostUsd, canceled: false, canceledBeforeStream: false };
|
|
104
|
+
return { finalText, errored, usage, providerCostUsd, sessionId, canceled: false, canceledBeforeStream: false };
|
|
101
105
|
}
|
|
102
106
|
// ---------------------------------------------------------------------------
|
|
103
107
|
// Public API
|
|
@@ -216,9 +220,16 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
216
220
|
};
|
|
217
221
|
break mainLoop;
|
|
218
222
|
}
|
|
223
|
+
// --- Native session decision (EXPERIMENTAL, opt-in) ---
|
|
224
|
+
// Use native continuity only when this tier's provider has a plan. Otherwise
|
|
225
|
+
// (no plan for this provider) fall back to replaying the compacted history —
|
|
226
|
+
// so switching providers never loses context.
|
|
227
|
+
const nativePlan = deps.nativeSession?.find((p) => p.provider === decision.provider);
|
|
228
|
+
const useNative = nativePlan !== undefined;
|
|
219
229
|
// --- Build prompt (with optional reviewer feedback on retry + history context) ---
|
|
220
230
|
// Bug 4 fix: inject managerNotes whenever defined, not just when currentTier === 'ic'.
|
|
221
|
-
|
|
231
|
+
// When using a native session, skip the replayed history — the provider holds it.
|
|
232
|
+
const prompt = buildPrompt(currentTier, task, managerNotes, useNative ? undefined : historyContext);
|
|
222
233
|
// --- Yield tier-start ---
|
|
223
234
|
yield {
|
|
224
235
|
type: 'tier-start',
|
|
@@ -234,6 +245,9 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
234
245
|
cwd: deps.cwd,
|
|
235
246
|
sandbox: deps.sandbox,
|
|
236
247
|
timeoutMs: deps.timeoutMs,
|
|
248
|
+
...(nativePlan !== undefined
|
|
249
|
+
? { sessionId: nativePlan.sessionId, resume: nativePlan.resume }
|
|
250
|
+
: {}),
|
|
237
251
|
};
|
|
238
252
|
const start = deps.clock.now();
|
|
239
253
|
// --- Stream provider events ---
|
|
@@ -286,6 +300,8 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
286
300
|
success,
|
|
287
301
|
});
|
|
288
302
|
// --- Append assistant session entry ---
|
|
303
|
+
// Persist the provider-assigned native session id (e.g. Codex thread id) so
|
|
304
|
+
// a later turn can resume it. Claude reports none (it reuses the conv id).
|
|
289
305
|
await deps.session.append({
|
|
290
306
|
timestamp: deps.clock.isoNow(),
|
|
291
307
|
role: 'assistant',
|
|
@@ -296,6 +312,7 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
296
312
|
confidence: assessment.confidence,
|
|
297
313
|
costUsd: usd,
|
|
298
314
|
durationMs,
|
|
315
|
+
...(outcome.sessionId !== undefined ? { sessionId: outcome.sessionId } : {}),
|
|
299
316
|
});
|
|
300
317
|
// --- Yield tier-done ---
|
|
301
318
|
yield {
|
|
@@ -304,6 +321,8 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
304
321
|
success,
|
|
305
322
|
confidence: assessment.confidence,
|
|
306
323
|
costUsd: usd,
|
|
324
|
+
inputTokens: usage?.inputTokens ?? 0,
|
|
325
|
+
outputTokens: usage?.outputTokens ?? 0,
|
|
307
326
|
durationMs,
|
|
308
327
|
};
|
|
309
328
|
lastOutput = finalText ?? (errored?.message ?? '');
|
|
@@ -468,6 +487,8 @@ export async function* orchestrate(task, deps, signal) {
|
|
|
468
487
|
success: reviewSuccess,
|
|
469
488
|
confidence: null,
|
|
470
489
|
costUsd: reviewUsd,
|
|
490
|
+
inputTokens: reviewOutcome.usage?.inputTokens ?? 0,
|
|
491
|
+
outputTokens: reviewOutcome.usage?.outputTokens ?? 0,
|
|
471
492
|
durationMs: reviewDurationMs,
|
|
472
493
|
};
|
|
473
494
|
// Parse verdict and act on it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/core/orchestrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../src/core/orchestrate.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* time, ids, and randomness from the injected `Clock`, never from Date/Math.
|
|
12
12
|
*/
|
|
13
13
|
import type { Provider, ProviderId, SandboxLevel } from '../providers/port.js';
|
|
14
|
+
import type { NativeSessionPlan } from './native-session.js';
|
|
14
15
|
export type Tier = 'worker' | 'ic' | 'manager';
|
|
15
16
|
export type Risk = 'low' | 'medium' | 'high' | 'critical';
|
|
16
17
|
export interface Classification {
|
|
@@ -56,6 +57,14 @@ export interface SessionEntry {
|
|
|
56
57
|
readonly confidence?: number | null;
|
|
57
58
|
readonly costUsd?: number;
|
|
58
59
|
readonly durationMs?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Provider-assigned native session/thread id for this turn, when the CLI
|
|
62
|
+
* reported one (e.g. Codex thread id). Persisted in the append-only log so a
|
|
63
|
+
* later turn can resume that provider's native session without a separate
|
|
64
|
+
* store. Absent for providers that don't surface an id (Claude uses the
|
|
65
|
+
* conversation id directly) or when native sessions are off.
|
|
66
|
+
*/
|
|
67
|
+
readonly sessionId?: string;
|
|
59
68
|
}
|
|
60
69
|
export interface SessionWriter {
|
|
61
70
|
readonly id: string;
|
|
@@ -146,6 +155,18 @@ export interface OrchestrateDeps {
|
|
|
146
155
|
* Only include providers whose `authenticated` flag is `true`; exactOptionalPropertyTypes is ON.
|
|
147
156
|
*/
|
|
148
157
|
readonly authenticatedProviders?: readonly ProviderId[];
|
|
158
|
+
/**
|
|
159
|
+
* EXPERIMENTAL native session plans (opt-in via config.nativeSessions), one
|
|
160
|
+
* per provider that has an active native session for this conversation. When
|
|
161
|
+
* a turn routes to a provider that has a plan, orchestrate skips the replayed
|
|
162
|
+
* history block and passes that provider's native session id instead, so the
|
|
163
|
+
* provider carries prior context server-side. A turn routing to a provider
|
|
164
|
+
* with no plan falls back to history replay (so switching providers is safe).
|
|
165
|
+
*
|
|
166
|
+
* Computed by the caller (the conversation layer) — absent for one-shot runs
|
|
167
|
+
* and when the feature is disabled. See core/native-session.ts.
|
|
168
|
+
*/
|
|
169
|
+
readonly nativeSession?: readonly NativeSessionPlan[];
|
|
149
170
|
}
|
|
150
171
|
/**
|
|
151
172
|
* High-level events emitted by orchestrate(). The interface/render layer
|
|
@@ -169,7 +190,12 @@ export type CoreEvent = {
|
|
|
169
190
|
readonly tier: Tier;
|
|
170
191
|
readonly success: boolean;
|
|
171
192
|
readonly confidence: number | null;
|
|
193
|
+
/** Estimated USD — retained for the ledger and the on-demand `cost` view;
|
|
194
|
+
* NOT shown on the hot path (this is a subscription tool, not API-billed). */
|
|
172
195
|
readonly costUsd: number;
|
|
196
|
+
/** Real, measured token counts — the transparent primary signal shown live. */
|
|
197
|
+
readonly inputTokens: number;
|
|
198
|
+
readonly outputTokens: number;
|
|
173
199
|
readonly durationMs: number;
|
|
174
200
|
} | {
|
|
175
201
|
readonly type: 'escalate';
|
package/dist/infra/config.d.ts
CHANGED
|
@@ -17,6 +17,14 @@ export interface AppConfig {
|
|
|
17
17
|
* disable auto-update and show only the notification banner instead.
|
|
18
18
|
*/
|
|
19
19
|
autoUpdate?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* EXPERIMENTAL (default off). When true, a conversation that stays on the same
|
|
22
|
+
* provider reuses that provider's native session (Claude `--session-id`/
|
|
23
|
+
* `--resume`) instead of replaying a compacted history block into each prompt
|
|
24
|
+
* — better context fidelity and less re-sent context. Scoped to Claude for
|
|
25
|
+
* now. Verify live behavior with `npm run test:integration` before relying on it.
|
|
26
|
+
*/
|
|
27
|
+
nativeSessions?: boolean;
|
|
20
28
|
}
|
|
21
29
|
/**
|
|
22
30
|
* Load the global app config. Returns defaults merged with any on-disk
|
package/dist/infra/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infra/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infra/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA4B1C,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,QAAQ,GAAc;IAC1B,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QACrD,uEAAuE;QACvE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;QACjC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,OAAgB;IAClE,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|