naiad-cli 0.2.42 → 0.2.43
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/commands/exec.js +1 -4
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/interactive.js +131 -65
- package/dist/commands/interactive.js.map +1 -1
- package/dist/lifecycle/setup.js +73 -59
- package/dist/lifecycle/setup.js.map +1 -1
- package/dist/utils/resolve-model.d.ts +3 -0
- package/dist/utils/resolve-model.js +8 -0
- package/dist/utils/resolve-model.js.map +1 -0
- package/package.json +1 -1
package/dist/commands/exec.js
CHANGED
|
@@ -45,10 +45,7 @@ export async function execCommand(config, prompt, opts = {}) {
|
|
|
45
45
|
destDir: ctx.sessionDir,
|
|
46
46
|
reporter,
|
|
47
47
|
});
|
|
48
|
-
if (resumeSessionFile) {
|
|
49
|
-
reporter.progress("[naiad] Resuming conversation context from prior session");
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
48
|
+
if (!resumeSessionFile) {
|
|
52
49
|
reporter.progress("[naiad] No prior session context found; starting fresh");
|
|
53
50
|
}
|
|
54
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY1D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB,EAAE,MAAc,EAAE,OAAoB,EAAE;IAC3F,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;QAC/B,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,QAAQ;KACT,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAErD,yEAAyE;IACzE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE;YAC1D,UAAU,EAAE,GAAG,CAAC,SAAS;YACzB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,sEAAsE;IACtE,IAAI,iBAAqC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,wBAAwB,CAAC;gBACjD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,gBAAgB,EAAE,GAAG,CAAC,SAAS;gBAC/B,cAAc,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC;gBAChC,OAAO,EAAE,GAAG,CAAC,UAAU;gBACvB,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY1D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB,EAAE,MAAc,EAAE,OAAoB,EAAE;IAC3F,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;QAC/B,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,QAAQ;KACT,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAErD,yEAAyE;IACzE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE;YAC1D,UAAU,EAAE,GAAG,CAAC,SAAS;YACzB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,sEAAsE;IACtE,IAAI,iBAAqC,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,wBAAwB,CAAC;gBACjD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,gBAAgB,EAAE,GAAG,CAAC,SAAS;gBAC/B,cAAc,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC;gBAChC,OAAO,EAAE,GAAG,CAAC,UAAU;gBACvB,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,QAAQ,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACrD,QAAQ,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,KAAK,GAA2B;QACpC,mBAAmB,EAAE,GAAG,MAAM,CAAC,MAAM,mBAAmB;QACxD,gBAAgB,EAAE,MAAM,CAAC,MAAM;QAC/B,eAAe,EAAE,GAAG,CAAC,QAAQ;QAC7B,gBAAgB,EAAE,GAAG,CAAC,SAAS;QAC/B,WAAW,EAAE,GAAG,CAAC,KAAK;QACtB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACjD,CAAC;IACF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,WAAW,CAAC;IAC9C,CAAC;IACD,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC5B,KAAK,CAAC,2BAA2B,GAAG,GAAG,CAAC,mBAAmB,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,GAAG,EAAE,KAAK;QACV,iBAAiB;KAClB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAElC,2DAA2D;IAC3D,IAAI,eAAe,GAA2B,IAAI,CAAC;IACnD,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,eAAe,GAAG,IAAI,eAAe,CAAC;YACpC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,EAAE,CAAC,OAAO;YACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QACH,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IAED,oBAAoB;IACpB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,EAAE,CAAC,OAAO,CAAC,CAAC,KAAiB,EAAE,EAAE;QAC/B,4CAA4C;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,IAAI,KAAK,CAAC;YAC9D,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAoC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtF,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEhD,4CAA4C;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,cAAc,GAAI,KAAiC,CAAC,qBAA4D,CAAC;YACvH,IAAI,cAAc,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAE,cAAc,CAAC,KAAgB,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wDAAwD;IACxD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEtB,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrD,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC7B,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACtB,8CAA8C;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;IAEzD,eAAe,EAAE,IAAI,EAAE,CAAC;IACxB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE3C,iDAAiD;IACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE;YAC1D,UAAU,EAAE,GAAG,CAAC,SAAS;YACzB,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC/C,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -10,74 +10,150 @@ import { startWorkers } from "../lifecycle/workers.js";
|
|
|
10
10
|
import { teardownLifecycle } from "../lifecycle/teardown.js";
|
|
11
11
|
import { findPackageRoot } from "../utils/package-root.js";
|
|
12
12
|
import { StderrReporter, InteractiveReporter, DiagnosticsFlusher } from "../reporting/reporter.js";
|
|
13
|
+
import { resolveModel } from "../utils/resolve-model.js";
|
|
14
|
+
function createSpinner(message) {
|
|
15
|
+
const isTTY = process.stderr.isTTY;
|
|
16
|
+
const frames = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
17
|
+
let i = 0;
|
|
18
|
+
if (!isTTY) {
|
|
19
|
+
process.stderr.write(`[naiad] ${message}\n`);
|
|
20
|
+
return {
|
|
21
|
+
update(msg) { process.stderr.write(`[naiad] ${msg}\n`); },
|
|
22
|
+
succeed(msg) { process.stderr.write(`[naiad] ${msg}\n`); },
|
|
23
|
+
fail(msg) { process.stderr.write(`[naiad] ${msg}\n`); },
|
|
24
|
+
stop() { },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const interval = setInterval(() => {
|
|
28
|
+
process.stderr.write(`\r\x1b[K ${frames[i++ % frames.length]} ${message}`);
|
|
29
|
+
}, 80);
|
|
30
|
+
return {
|
|
31
|
+
update(msg) { message = msg; },
|
|
32
|
+
succeed(msg) {
|
|
33
|
+
clearInterval(interval);
|
|
34
|
+
process.stderr.write(`\r\x1b[K ✓ ${msg}\n`);
|
|
35
|
+
},
|
|
36
|
+
fail(msg) {
|
|
37
|
+
clearInterval(interval);
|
|
38
|
+
process.stderr.write(`\r\x1b[K ✗ ${msg}\n`);
|
|
39
|
+
},
|
|
40
|
+
stop() {
|
|
41
|
+
clearInterval(interval);
|
|
42
|
+
process.stderr.write(`\r\x1b[K`);
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function getBaseSha() {
|
|
47
|
+
try {
|
|
48
|
+
return execSync("git rev-parse HEAD", { encoding: "utf8" }).trim();
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function modelDisplayName(modelId) {
|
|
55
|
+
// "anthropic/claude-haiku-4.5" → "claude-haiku-4.5"
|
|
56
|
+
const slash = modelId.lastIndexOf("/");
|
|
57
|
+
return slash >= 0 ? modelId.slice(slash + 1) : modelId;
|
|
58
|
+
}
|
|
13
59
|
export async function interactiveCommand(config, options) {
|
|
14
60
|
const client = new APIClient(config);
|
|
15
|
-
// Validate API key by listing models
|
|
16
61
|
const sharedFlusher = new DiagnosticsFlusher();
|
|
17
62
|
const stderrReporter = new StderrReporter(undefined, sharedFlusher);
|
|
18
|
-
|
|
19
|
-
const { models, seer_model_id: seerModelId, seer_reasoning_effort: seerReasoningEffort } = await client.listModels();
|
|
20
|
-
if (models.length === 0) {
|
|
21
|
-
stderrReporter.progress("[naiad] No models available");
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
const model = options.modelFlag || models[0].id;
|
|
25
|
-
stderrReporter.progress(`[naiad] Using model: ${model}`);
|
|
63
|
+
const spinner = createSpinner("Starting...");
|
|
26
64
|
const sessionDir = mkdtempSync(join(tmpdir(), "naiad-session-"));
|
|
27
65
|
stderrReporter.setLogPath(join(sessionDir, "diagnostics.jsonl"));
|
|
28
66
|
const pkgRoot = findPackageRoot();
|
|
29
67
|
const extensionPath = join(pkgRoot, "extensions", "naiad-extension.ts");
|
|
30
68
|
const agentId = randomUUID();
|
|
69
|
+
// Capture base SHA synchronously (fast, <10ms)
|
|
70
|
+
const baseSha = getBaseSha();
|
|
31
71
|
let threadId;
|
|
32
72
|
let sessionId;
|
|
33
73
|
let attempt = 1;
|
|
34
74
|
let resumeSessionFile;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
stderrReporter.progress(`[naiad] Downloading session ${resolved.previousSessionId}...`);
|
|
41
|
-
const jsonlData = await client.downloadSession(resolved.previousSessionId);
|
|
42
|
-
const jsonlFilename = `${new Date().toISOString().replace(/[:.]/g, "-")}_${randomUUID()}.jsonl`;
|
|
43
|
-
resumeSessionFile = join(sessionDir, jsonlFilename);
|
|
44
|
-
writeFileSync(resumeSessionFile, jsonlData);
|
|
45
|
-
stderrReporter.progress(`[naiad] Session data written to ${resumeSessionFile}`);
|
|
46
|
-
// Create new session on existing thread
|
|
47
|
-
const session = await client.createSession(threadId, agentId);
|
|
48
|
-
sessionId = session.id;
|
|
49
|
-
stderrReporter.progress(`[naiad] Created session: ${sessionId} (resuming thread ${threadId})`);
|
|
50
|
-
// Transition thread back to RUNNING
|
|
51
|
-
const resumedThread = await client.getThread(threadId);
|
|
52
|
-
attempt = resumedThread.current_attempt;
|
|
53
|
-
await client.updateThread(threadId, { status: "RUNNING", attempt });
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
// New session flow
|
|
57
|
-
const thread = await client.createThread("[interactive session]");
|
|
58
|
-
threadId = thread.id;
|
|
59
|
-
stderrReporter.progress(`[naiad] Created thread: ${threadId}`);
|
|
60
|
-
const session = await client.createSession(threadId, agentId);
|
|
61
|
-
sessionId = session.id;
|
|
62
|
-
stderrReporter.progress(`[naiad] Created session: ${sessionId}`);
|
|
63
|
-
await client.updateThread(threadId, { status: "RUNNING", attempt: 1 });
|
|
64
|
-
}
|
|
65
|
-
// Capture base SHA
|
|
66
|
-
let baseSha;
|
|
75
|
+
let model;
|
|
76
|
+
let models;
|
|
77
|
+
let seerModelId;
|
|
78
|
+
let seerReasoningEffort;
|
|
79
|
+
let callbackServer;
|
|
67
80
|
try {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
81
|
+
if (options.sessionId || options.continueRecent) {
|
|
82
|
+
// Resume flow
|
|
83
|
+
spinner.update("Resuming session...");
|
|
84
|
+
// Parallel: listModels + resolveResumeSession
|
|
85
|
+
const [modelsResult, resolved] = await Promise.all([
|
|
86
|
+
client.listModels(),
|
|
87
|
+
resolveResumeSession(client, options),
|
|
88
|
+
]);
|
|
89
|
+
models = modelsResult.models;
|
|
90
|
+
seerModelId = modelsResult.seer_model_id;
|
|
91
|
+
seerReasoningEffort = modelsResult.seer_reasoning_effort;
|
|
92
|
+
if (models.length === 0)
|
|
93
|
+
throw new Error("No models available");
|
|
94
|
+
model = resolveModel(models, modelsResult.default_model_id, options.modelFlag);
|
|
95
|
+
threadId = resolved.threadId;
|
|
96
|
+
// Parallel: download previous session + create new session
|
|
97
|
+
spinner.update("Downloading session...");
|
|
98
|
+
const [jsonlData, session] = await Promise.all([
|
|
99
|
+
client.downloadSession(resolved.previousSessionId),
|
|
100
|
+
client.createSession(threadId, agentId),
|
|
101
|
+
]);
|
|
102
|
+
const jsonlFilename = `${new Date().toISOString().replace(/[:.]/g, "-")}_${randomUUID()}.jsonl`;
|
|
103
|
+
resumeSessionFile = join(sessionDir, jsonlFilename);
|
|
104
|
+
writeFileSync(resumeSessionFile, jsonlData);
|
|
105
|
+
sessionId = session.id;
|
|
106
|
+
// Get thread for attempt, then parallel post-setup
|
|
107
|
+
const resumedThread = await client.getThread(threadId);
|
|
108
|
+
attempt = resumedThread.current_attempt;
|
|
109
|
+
const postSetup = [
|
|
110
|
+
client.updateThread(threadId, { status: "RUNNING", attempt }),
|
|
111
|
+
];
|
|
112
|
+
if (baseSha) {
|
|
113
|
+
postSetup.push(client.patchSession(sessionId, { base_sha: baseSha }).catch((err) => {
|
|
114
|
+
stderrReporter.capture("base_sha_store_failed", err);
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
await Promise.all(postSetup);
|
|
76
118
|
}
|
|
77
|
-
|
|
78
|
-
|
|
119
|
+
else {
|
|
120
|
+
// New session flow — parallelize independent operations
|
|
121
|
+
const [modelsResult, thread] = await Promise.all([
|
|
122
|
+
client.listModels(),
|
|
123
|
+
client.createThread("[interactive session]"),
|
|
124
|
+
]);
|
|
125
|
+
models = modelsResult.models;
|
|
126
|
+
seerModelId = modelsResult.seer_model_id;
|
|
127
|
+
seerReasoningEffort = modelsResult.seer_reasoning_effort;
|
|
128
|
+
if (models.length === 0)
|
|
129
|
+
throw new Error("No models available");
|
|
130
|
+
model = resolveModel(models, modelsResult.default_model_id, options.modelFlag);
|
|
131
|
+
threadId = thread.id;
|
|
132
|
+
// Create session (needs threadId)
|
|
133
|
+
const session = await client.createSession(threadId, agentId);
|
|
134
|
+
sessionId = session.id;
|
|
135
|
+
// Parallel: update thread status + store base SHA
|
|
136
|
+
const postSetup = [
|
|
137
|
+
client.updateThread(threadId, { status: "RUNNING", attempt: 1 }),
|
|
138
|
+
];
|
|
139
|
+
if (baseSha) {
|
|
140
|
+
postSetup.push(client.patchSession(sessionId, { base_sha: baseSha }).catch((err) => {
|
|
141
|
+
stderrReporter.capture("base_sha_store_failed", err);
|
|
142
|
+
}));
|
|
143
|
+
}
|
|
144
|
+
await Promise.all(postSetup);
|
|
79
145
|
}
|
|
146
|
+
// Start callback server (inside try so spinner cleans up on port conflicts)
|
|
147
|
+
callbackServer = await startCallbackServer();
|
|
80
148
|
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
spinner.fail(err.message || "Startup failed");
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
// Switch to interactive reporter now that TUI is about to launch.
|
|
154
|
+
// Share the same flusher so pre-TUI diagnostics are also uploaded.
|
|
155
|
+
sharedFlusher.configure(client, sessionId);
|
|
156
|
+
const interactiveReporter = new InteractiveReporter(callbackServer.uiCommands, join(sessionDir, "diagnostics.jsonl"), sharedFlusher);
|
|
81
157
|
const ctx = {
|
|
82
158
|
config,
|
|
83
159
|
client,
|
|
@@ -91,16 +167,9 @@ export async function interactiveCommand(config, options) {
|
|
|
91
167
|
externalThread: false,
|
|
92
168
|
baseSha,
|
|
93
169
|
attempt,
|
|
94
|
-
reporter:
|
|
170
|
+
reporter: interactiveReporter,
|
|
95
171
|
};
|
|
96
|
-
|
|
97
|
-
const callbackServer = await startCallbackServer();
|
|
98
|
-
stderrReporter.progress(`[naiad] Callback server listening at ${callbackServer.url}`);
|
|
99
|
-
// Switch to interactive reporter now that TUI is about to launch.
|
|
100
|
-
// Share the same flusher so pre-TUI diagnostics are also uploaded.
|
|
101
|
-
sharedFlusher.configure(client, sessionId);
|
|
102
|
-
const interactiveReporter = new InteractiveReporter(callbackServer.uiCommands, join(sessionDir, "diagnostics.jsonl"), sharedFlusher);
|
|
103
|
-
ctx.reporter = interactiveReporter;
|
|
172
|
+
spinner.succeed(`Ready — ${modelDisplayName(model)}`);
|
|
104
173
|
// Guard against EIO on inherited stdin after pi exits and releases the PTY
|
|
105
174
|
process.stdin.on("error", () => { });
|
|
106
175
|
// Launch pi in interactive mode
|
|
@@ -185,15 +254,12 @@ async function resolveResumeSession(client, options) {
|
|
|
185
254
|
const { threads } = await client.listThreads({ limit: 10, includeAll: true });
|
|
186
255
|
const thread = threads.find((t) => !t.archived_at);
|
|
187
256
|
if (!thread) {
|
|
188
|
-
|
|
189
|
-
process.exit(1);
|
|
257
|
+
throw new Error("No previous sessions found. Run `naiad` first to create a session.");
|
|
190
258
|
}
|
|
191
259
|
const sessions = await client.listThreadSessions(thread.id);
|
|
192
260
|
if (sessions.length === 0) {
|
|
193
|
-
|
|
194
|
-
process.exit(1);
|
|
261
|
+
throw new Error(`Thread ${thread.id} has no sessions. Run \`naiad\` first to create a session.`);
|
|
195
262
|
}
|
|
196
|
-
console.error(`[naiad] Continuing thread ${thread.id}, session ${sessions[0].id}`);
|
|
197
263
|
return { threadId: thread.id, previousSessionId: sessions[0].id };
|
|
198
264
|
}
|
|
199
265
|
//# sourceMappingURL=interactive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
|
package/dist/lifecycle/setup.js
CHANGED
|
@@ -5,6 +5,7 @@ import { randomUUID } from "crypto";
|
|
|
5
5
|
import { execSync } from "child_process";
|
|
6
6
|
import { APIClient } from "../api/client.js";
|
|
7
7
|
import { findPackageRoot } from "../utils/package-root.js";
|
|
8
|
+
import { resolveModel } from "../utils/resolve-model.js";
|
|
8
9
|
/**
|
|
9
10
|
* Bootstrap auth via GitHub Actions OIDC token exchange.
|
|
10
11
|
* Requests an OIDC token from the GHA runtime, then exchanges it
|
|
@@ -59,84 +60,97 @@ export async function setupLifecycle(params) {
|
|
|
59
60
|
reporter.progress("[naiad] OIDC auth successful");
|
|
60
61
|
}
|
|
61
62
|
const client = new APIClient(config);
|
|
62
|
-
//
|
|
63
|
-
reporter.progress("[naiad] Validating API key...");
|
|
64
|
-
const { models, seer_model_id: seerModelId, seer_reasoning_effort: seerReasoningEffort, default_model_id: defaultModelId } = await client.listModels();
|
|
65
|
-
if (models.length === 0) {
|
|
66
|
-
throw new Error("No models available");
|
|
67
|
-
}
|
|
68
|
-
const model = modelFlag || (defaultModelId && models.some(m => m.id === defaultModelId) ? defaultModelId : models[0].id);
|
|
69
|
-
reporter.progress(`[naiad] Using model: ${model}`);
|
|
70
|
-
let threadId;
|
|
71
|
-
if (params.threadId) {
|
|
72
|
-
// Attach to existing thread (platform already created it)
|
|
73
|
-
threadId = params.threadId;
|
|
74
|
-
reporter.progress(`[naiad] Attaching to existing thread: ${threadId}`);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
// Create thread with metadata
|
|
78
|
-
const thread = await client.createThread(threadPrompt, {
|
|
79
|
-
source: params.source || "cli",
|
|
80
|
-
trigger: params.trigger || "cli",
|
|
81
|
-
context: params.context ? JSON.parse(params.context) : {},
|
|
82
|
-
replyTarget: params.replyTarget ? JSON.parse(params.replyTarget) : undefined,
|
|
83
|
-
});
|
|
84
|
-
threadId = thread.id;
|
|
85
|
-
reporter.progress(`[naiad] Created thread: ${threadId}`);
|
|
86
|
-
}
|
|
87
|
-
// Capture base SHA from git before session creation
|
|
63
|
+
// Capture base SHA synchronously (fast, <10ms)
|
|
88
64
|
let baseSha;
|
|
89
65
|
try {
|
|
90
66
|
baseSha = execSync("git rev-parse HEAD", { encoding: "utf8" }).trim();
|
|
91
|
-
reporter.progress(`[naiad] Captured base SHA: ${baseSha}`);
|
|
92
67
|
}
|
|
93
68
|
catch {
|
|
94
|
-
|
|
69
|
+
// Not in a git repo or git not available
|
|
95
70
|
}
|
|
96
|
-
// Session setup: reuse existing session for attached threads, create new for fresh
|
|
97
71
|
const agentId = randomUUID();
|
|
98
72
|
const runtime = params.source === "github" ? "github_actions" : "local_cli";
|
|
73
|
+
let threadId;
|
|
99
74
|
let session;
|
|
100
75
|
let attempt;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
76
|
+
let model;
|
|
77
|
+
let models;
|
|
78
|
+
let seerModelId;
|
|
79
|
+
let seerReasoningEffort;
|
|
80
|
+
if (params.threadId) {
|
|
81
|
+
// Attach mode: parallelize listModels with session resolution
|
|
82
|
+
threadId = params.threadId;
|
|
83
|
+
if (oidcSessionId) {
|
|
84
|
+
// Parallel: listModels + getThread + getSession
|
|
85
|
+
const [modelsResult, thread, sessionInfo] = await Promise.all([
|
|
86
|
+
client.listModels(),
|
|
87
|
+
client.getThread(threadId),
|
|
88
|
+
client.getSession(oidcSessionId),
|
|
89
|
+
]);
|
|
90
|
+
models = modelsResult.models;
|
|
91
|
+
seerModelId = modelsResult.seer_model_id;
|
|
92
|
+
seerReasoningEffort = modelsResult.seer_reasoning_effort;
|
|
93
|
+
if (models.length === 0)
|
|
94
|
+
throw new Error("No models available");
|
|
95
|
+
model = resolveModel(models, modelsResult.default_model_id, modelFlag);
|
|
96
|
+
attempt = thread.current_attempt;
|
|
97
|
+
session = { id: sessionInfo.id, remote_control_enabled: sessionInfo.remote_control_enabled };
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Parallel: listModels + getThread + listThreadSessions
|
|
101
|
+
const [modelsResult, thread, threadSessions] = await Promise.all([
|
|
102
|
+
client.listModels(),
|
|
103
|
+
client.getThread(threadId),
|
|
104
|
+
client.listThreadSessions(threadId),
|
|
105
|
+
]);
|
|
106
|
+
models = modelsResult.models;
|
|
107
|
+
seerModelId = modelsResult.seer_model_id;
|
|
108
|
+
seerReasoningEffort = modelsResult.seer_reasoning_effort;
|
|
109
|
+
if (models.length === 0)
|
|
110
|
+
throw new Error("No models available");
|
|
111
|
+
model = resolveModel(models, modelsResult.default_model_id, modelFlag);
|
|
112
|
+
const currentAttempt = thread.current_attempt;
|
|
113
|
+
const active = threadSessions.find((s) => s.status === "ACTIVE" && s.attempt === currentAttempt);
|
|
114
|
+
if (!active) {
|
|
115
|
+
throw new Error(`No active session found for thread ${threadId} attempt ${currentAttempt}. The platform may not have created one yet.`);
|
|
116
|
+
}
|
|
117
|
+
session = active;
|
|
118
|
+
attempt = currentAttempt;
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
attempt = currentAttempt;
|
|
122
|
-
reporter.progress(`[naiad] Reusing existing session: ${session.id} (attempt ${attempt})`);
|
|
120
|
+
await client.updateThread(threadId, { status: "RUNNING", attempt });
|
|
123
121
|
}
|
|
124
122
|
else {
|
|
123
|
+
// New thread: parallelize listModels + createThread
|
|
124
|
+
const [modelsResult, thread] = await Promise.all([
|
|
125
|
+
client.listModels(),
|
|
126
|
+
client.createThread(threadPrompt, {
|
|
127
|
+
source: params.source || "cli",
|
|
128
|
+
trigger: params.trigger || "cli",
|
|
129
|
+
context: params.context ? JSON.parse(params.context) : {},
|
|
130
|
+
replyTarget: params.replyTarget ? JSON.parse(params.replyTarget) : undefined,
|
|
131
|
+
}),
|
|
132
|
+
]);
|
|
133
|
+
models = modelsResult.models;
|
|
134
|
+
seerModelId = modelsResult.seer_model_id;
|
|
135
|
+
seerReasoningEffort = modelsResult.seer_reasoning_effort;
|
|
136
|
+
if (models.length === 0)
|
|
137
|
+
throw new Error("No models available");
|
|
138
|
+
model = resolveModel(models, modelsResult.default_model_id, modelFlag);
|
|
139
|
+
threadId = thread.id;
|
|
140
|
+
// Create session (needs threadId)
|
|
125
141
|
session = await client.createSession(threadId, agentId, runtime);
|
|
126
142
|
attempt = 1;
|
|
127
|
-
|
|
128
|
-
|
|
143
|
+
// Parallel: update thread status + store base SHA
|
|
144
|
+
const postSetup = [
|
|
145
|
+
client.updateThread(threadId, { status: "RUNNING", attempt: 1 }),
|
|
146
|
+
];
|
|
129
147
|
if (baseSha) {
|
|
130
|
-
|
|
131
|
-
await client.patchSession(session.id, { base_sha: baseSha });
|
|
132
|
-
}
|
|
133
|
-
catch (err) {
|
|
148
|
+
postSetup.push(client.patchSession(session.id, { base_sha: baseSha }).catch((err) => {
|
|
134
149
|
reporter.capture("base_sha_store_failed", err);
|
|
135
|
-
}
|
|
150
|
+
}));
|
|
136
151
|
}
|
|
152
|
+
await Promise.all(postSetup);
|
|
137
153
|
}
|
|
138
|
-
// Transition to RUNNING
|
|
139
|
-
await client.updateThread(threadId, { status: "RUNNING", attempt });
|
|
140
154
|
// Set up session dir
|
|
141
155
|
const sessionDir = mkdtempSync(join(tmpdir(), "naiad-session-"));
|
|
142
156
|
// Resolve extension path relative to package root
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/lifecycle/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/lifecycle/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-model.js","sourceRoot":"","sources":["../../src/utils/resolve-model.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAC1B,MAA6B,EAC7B,cAAyC,EACzC,IAAwB;IAExB,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC;QAAE,OAAO,cAAc,CAAC;IACzF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtB,CAAC"}
|