naiad-cli 0.2.40 → 0.2.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/api/client.js +13 -3
  2. package/dist/api/client.js.map +1 -1
  3. package/dist/callback/server.d.ts +2 -0
  4. package/dist/callback/server.js +38 -21
  5. package/dist/callback/server.js.map +1 -1
  6. package/dist/checkpoint/resume-session.d.ts +3 -0
  7. package/dist/checkpoint/resume-session.js +8 -6
  8. package/dist/checkpoint/resume-session.js.map +1 -1
  9. package/dist/commands/continue.js +57 -43
  10. package/dist/commands/continue.js.map +1 -1
  11. package/dist/commands/exec.js +14 -6
  12. package/dist/commands/exec.js.map +1 -1
  13. package/dist/commands/interactive.js +23 -13
  14. package/dist/commands/interactive.js.map +1 -1
  15. package/dist/lifecycle/setup.d.ts +2 -0
  16. package/dist/lifecycle/setup.js +14 -13
  17. package/dist/lifecycle/setup.js.map +1 -1
  18. package/dist/lifecycle/teardown.js +3 -6
  19. package/dist/lifecycle/teardown.js.map +1 -1
  20. package/dist/lifecycle/types.d.ts +2 -0
  21. package/dist/lifecycle/workers.js +2 -2
  22. package/dist/lifecycle/workers.js.map +1 -1
  23. package/dist/reporting/reporter.d.ts +38 -0
  24. package/dist/reporting/reporter.js +89 -0
  25. package/dist/reporting/reporter.js.map +1 -0
  26. package/dist/sync/checkpoint.d.ts +4 -1
  27. package/dist/sync/checkpoint.js +15 -4
  28. package/dist/sync/checkpoint.js.map +1 -1
  29. package/dist/sync/command-listener.d.ts +3 -0
  30. package/dist/sync/command-listener.js +10 -5
  31. package/dist/sync/command-listener.js.map +1 -1
  32. package/dist/sync/events.d.ts +4 -1
  33. package/dist/sync/events.js +11 -3
  34. package/dist/sync/events.js.map +1 -1
  35. package/extensions/naiad-extension.ts +51 -3
  36. package/package.json +1 -1
@@ -10,11 +10,14 @@ export class CheckpointUploader {
10
10
  attempt;
11
11
  lastUploadAt = 0;
12
12
  pendingCheckpoint = null;
13
- constructor(client, sessionId, sessionDir, attempt) {
13
+ reporter;
14
+ firstFailureNotified = false;
15
+ constructor(client, sessionId, sessionDir, attempt, reporter) {
14
16
  this.client = client;
15
17
  this.sessionId = sessionId;
16
18
  this.sessionDir = sessionDir;
17
19
  this.attempt = attempt;
20
+ this.reporter = reporter;
18
21
  }
19
22
  async handleCheckpoint(msg, forceUpload = false) {
20
23
  this.pendingCheckpoint = msg;
@@ -112,12 +115,20 @@ export class CheckpointUploader {
112
115
  await this.client.patchSession(this.sessionId, patchUpdate);
113
116
  }
114
117
  this.lastUploadAt = Date.now();
118
+ if (this.firstFailureNotified) {
119
+ this.reporter.setStatus("naiad.checkpoint", undefined);
120
+ this.firstFailureNotified = false;
121
+ }
115
122
  // Clean up temp files
116
123
  this.cleanupTempFiles(msg);
117
124
  }
118
125
  catch (err) {
119
- console.error("[checkpoint] Upload failed:", err.message);
120
- // Re-queue for next attempt
126
+ this.reporter.capture("checkpoint_upload_failed", err);
127
+ this.reporter.setStatus("naiad.checkpoint", "Checkpoint retrying…");
128
+ if (!this.firstFailureNotified) {
129
+ this.reporter.notify("warning", "Checkpoint sync delayed — retrying");
130
+ this.firstFailureNotified = true;
131
+ }
121
132
  if (!this.pendingCheckpoint) {
122
133
  this.pendingCheckpoint = msg;
123
134
  }
@@ -191,7 +202,7 @@ export class CheckpointUploader {
191
202
  }
192
203
  }
193
204
  catch (err) {
194
- console.error("[checkpoint] Failed to read session JSONL:", err.message);
205
+ this.reporter.capture("checkpoint_session_read_failed", err);
195
206
  return null;
196
207
  }
197
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/sync/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/sync/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { APIClient } from "../api/client.js";
2
2
  import type { ChildProcess } from "child_process";
3
+ import type { Reporter } from "../reporting/reporter.js";
3
4
  export interface CommandListenerOptions {
4
5
  client: APIClient;
5
6
  sessionId: string;
6
7
  sessionDir: string;
7
8
  piProcess: ChildProcess;
9
+ reporter: Reporter;
8
10
  onJsonlUpload?: () => void;
9
11
  }
10
12
  export declare class CommandListener {
@@ -12,6 +14,7 @@ export declare class CommandListener {
12
14
  private sessionId;
13
15
  private sessionDir;
14
16
  private piProcess;
17
+ private reporter;
15
18
  private onJsonlUpload?;
16
19
  private abortController;
17
20
  private lastAckedSeq;
@@ -5,6 +5,7 @@ export class CommandListener {
5
5
  sessionId;
6
6
  sessionDir;
7
7
  piProcess;
8
+ reporter;
8
9
  onJsonlUpload;
9
10
  abortController = null;
10
11
  lastAckedSeq = 0;
@@ -14,6 +15,7 @@ export class CommandListener {
14
15
  this.sessionId = opts.sessionId;
15
16
  this.sessionDir = opts.sessionDir;
16
17
  this.piProcess = opts.piProcess;
18
+ this.reporter = opts.reporter;
17
19
  this.onJsonlUpload = opts.onJsonlUpload;
18
20
  }
19
21
  start() {
@@ -35,7 +37,8 @@ export class CommandListener {
35
37
  catch (err) {
36
38
  if (!this.running)
37
39
  return;
38
- console.error("[command-listener] Connection lost, reconnecting in 3s:", err);
40
+ this.reporter.setStatus("naiad.remote", "Remote control reconnecting");
41
+ this.reporter.capture("command_listener_reconnect", err);
39
42
  await sleep(3000);
40
43
  }
41
44
  }
@@ -56,6 +59,7 @@ export class CommandListener {
56
59
  const reader = res.body?.getReader();
57
60
  if (!reader)
58
61
  throw new Error("No response body");
62
+ this.reporter.setStatus("naiad.remote", undefined);
59
63
  const decoder = new TextDecoder();
60
64
  let buffer = "";
61
65
  while (this.running) {
@@ -81,7 +85,7 @@ export class CommandListener {
81
85
  else if (line === "" && currentEvent) {
82
86
  // End of SSE message
83
87
  if (currentEvent === "session_ended") {
84
- console.error("[command-listener] Session ended, stopping");
88
+ this.reporter.capture("command_listener_session_ended", undefined);
85
89
  this.stop();
86
90
  return;
87
91
  }
@@ -91,7 +95,8 @@ export class CommandListener {
91
95
  await this.handleCommand(parsed.id, parsed.text, parseInt(currentId, 10));
92
96
  }
93
97
  catch (err) {
94
- console.error("[command-listener] Failed to handle command:", err);
98
+ this.reporter.capture("command_handle_failed", err);
99
+ this.reporter.notify("error", "Failed to process a remote command");
95
100
  }
96
101
  }
97
102
  currentEvent = "";
@@ -134,7 +139,7 @@ export class CommandListener {
134
139
  this.piProcess.stdin?.write(followUp + "\n");
135
140
  }
136
141
  catch (err) {
137
- console.error("[command-listener] Failed to write to pi stdin:", err);
142
+ this.reporter.capture("stdin_write_failed", err);
138
143
  }
139
144
  // Step d: Ack only after steps a-c
140
145
  try {
@@ -142,7 +147,7 @@ export class CommandListener {
142
147
  this.lastAckedSeq = seq;
143
148
  }
144
149
  catch (err) {
145
- console.error("[command-listener] Failed to ack command:", err);
150
+ this.reporter.capture("command_ack_failed", err);
146
151
  }
147
152
  }
148
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-listener.js","sourceRoot":"","sources":["../../src/sync/command-listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-listener.js","sourceRoot":"","sources":["../../src/sync/command-listener.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { APIClient } from "../api/client.js";
2
+ import type { Reporter } from "../reporting/reporter.js";
2
3
  export declare class EventSpool {
3
4
  private buffer;
4
5
  private nextSeq;
@@ -7,7 +8,9 @@ export declare class EventSpool {
7
8
  private sessionId;
8
9
  private client;
9
10
  private attempt;
10
- constructor(client: APIClient, threadId: string, sessionId: string, attempt?: number);
11
+ private reporter;
12
+ private failedOnce;
13
+ constructor(client: APIClient, threadId: string, sessionId: string, attempt: number | undefined, reporter: Reporter);
11
14
  start(): void;
12
15
  pushEvent(eventType: string, data: unknown): void;
13
16
  flush(): Promise<void>;
@@ -6,11 +6,14 @@ export class EventSpool {
6
6
  sessionId;
7
7
  client;
8
8
  attempt;
9
- constructor(client, threadId, sessionId, attempt = 1) {
9
+ reporter;
10
+ failedOnce = false;
11
+ constructor(client, threadId, sessionId, attempt = 1, reporter) {
10
12
  this.client = client;
11
13
  this.threadId = threadId;
12
14
  this.sessionId = sessionId;
13
15
  this.attempt = attempt;
16
+ this.reporter = reporter;
14
17
  }
15
18
  start() {
16
19
  this.flushTimer = setInterval(() => this.flush(), 200);
@@ -28,11 +31,16 @@ export class EventSpool {
28
31
  const batch = this.buffer.splice(0);
29
32
  try {
30
33
  await this.client.postEventsWithAttempt(this.threadId, this.sessionId, this.attempt, batch);
34
+ if (this.failedOnce) {
35
+ this.reporter.setStatus("naiad.sync", undefined);
36
+ this.failedOnce = false;
37
+ }
31
38
  }
32
39
  catch (err) {
33
- // Re-add events to buffer on failure
34
40
  this.buffer.unshift(...batch);
35
- console.error("[event-spool] Failed to send events:", err);
41
+ this.reporter.capture("event_spool_failed", err);
42
+ this.reporter.setStatus("naiad.sync", "Event sync retrying…");
43
+ this.failedOnce = true;
36
44
  }
37
45
  }
38
46
  async stop() {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sync/events.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IACb,MAAM,GAAqE,EAAE,CAAC;IAC9E,OAAO,GAAG,CAAC,CAAC;IACZ,UAAU,GAA0C,IAAI,CAAC;IACzD,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,MAAM,CAAY;IAClB,OAAO,CAAS;IAExB,YAAY,MAAiB,EAAE,QAAgB,EAAE,SAAiB,EAAE,UAAkB,CAAC;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,IAAa;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE,SAAS;YACrB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qCAAqC;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sync/events.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IACb,MAAM,GAAqE,EAAE,CAAC;IAC9E,OAAO,GAAG,CAAC,CAAC;IACZ,UAAU,GAA0C,IAAI,CAAC;IACzD,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,MAAM,CAAY;IAClB,OAAO,CAAS;IAChB,QAAQ,CAAW;IACnB,UAAU,GAAG,KAAK,CAAC;IAE3B,YAAY,MAAiB,EAAE,QAAgB,EAAE,SAAiB,EAAE,UAAkB,CAAC,EAAE,QAAkB;QACzG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,IAAa;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE;YAC1B,UAAU,EAAE,SAAS;YACrB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
@@ -65,6 +65,10 @@ export default function (pi: ExtensionAPI) {
65
65
  },
66
66
  };
67
67
 
68
+ // UI bridge for dispatching notifications/status to pi's TUI via ctx.ui
69
+ // Captured from agent_start event when callbackUrl is set (interactive mode)
70
+ let uiBridge: { notify(message: string, type?: string): void; setStatus(key: string, text: string | undefined): void } | undefined;
71
+
68
72
  if (typeof (pi as any).on === "function") {
69
73
  (pi as any).on("turn_end", () => {
70
74
  try {
@@ -114,7 +118,8 @@ export default function (pi: ExtensionAPI) {
114
118
  untrackedExceededMaxBuffer = true;
115
119
  untrackedTarball = null;
116
120
  } else {
117
- console.error("[naiad] tar failed, skipping untracked archive:", err.message);
121
+ // Notify via UI bridge if available, otherwise silent (non-actionable)
122
+ uiBridge?.notify("Checkpoint: skipped untracked files (tar failed)", "warning");
118
123
  untrackedTarball = null;
119
124
  }
120
125
  }
@@ -153,7 +158,7 @@ export default function (pi: ExtensionAPI) {
153
158
  timestamp: Date.now(),
154
159
  });
155
160
  } catch (err: any) {
156
- console.error("[naiad] checkpoint generation failed:", err.message);
161
+ uiBridge?.notify("Checkpoint generation failed — will retry next turn", "warning");
157
162
  }
158
163
  });
159
164
  }
@@ -191,6 +196,49 @@ export default function (pi: ExtensionAPI) {
191
196
  (pi as any).on("tool_execution_start", (event: unknown) => postEvent("tool_execution_start", event));
192
197
  (pi as any).on("tool_execution_update", (event: unknown) => postEvent("tool_execution_update", event));
193
198
  (pi as any).on("tool_execution_end", (event: unknown) => postEvent("tool_execution_end", event));
199
+
200
+ // Poll UI commands from CLI and dispatch to pi's UI via ctx
201
+ const callbackBase = callbackUrl.replace(/\/events$/, "");
202
+ let uiCursor = 0;
203
+ let uiPolling = false;
204
+
205
+ // Capture ctx.ui from the first event that provides it
206
+ (pi as any).on("agent_start", (_event: unknown, ctx: any) => {
207
+ if (ctx?.ui) {
208
+ uiBridge = {
209
+ notify: (message, type) => ctx.ui.notify(message, type),
210
+ setStatus: (key, text) => ctx.ui.setStatus(key, text),
211
+ };
212
+ }
213
+ });
214
+
215
+ const uiPoller = setInterval(async () => {
216
+ if (uiPolling || !uiBridge) return;
217
+ uiPolling = true;
218
+ try {
219
+ const res = await fetch(`${callbackBase}/ui-commands?cursor=${uiCursor}`);
220
+ if (!res.ok) return;
221
+ const data = await res.json() as { commands: Array<{ id: number; type: string; level?: string; message?: string; key?: string; text?: string }> };
222
+ for (const cmd of data.commands) {
223
+ if (cmd.id <= uiCursor) continue;
224
+ uiCursor = cmd.id;
225
+ if (cmd.type === "notify" && cmd.message) {
226
+ uiBridge.notify(cmd.message, cmd.level ?? "info");
227
+ } else if (cmd.type === "status") {
228
+ uiBridge.setStatus(cmd.key!, cmd.text);
229
+ }
230
+ }
231
+ } catch {
232
+ // Best effort — don't crash if polling fails
233
+ } finally {
234
+ uiPolling = false;
235
+ }
236
+ }, 2000);
237
+
238
+ // Clean up poller when agent ends
239
+ (pi as any).on("agent_end", () => {
240
+ clearInterval(uiPoller);
241
+ });
194
242
  }
195
243
 
196
244
  pi.registerProvider("naiad-proxy", {
@@ -766,7 +814,7 @@ When you're done, provide a clear, actionable summary the caller can act on.`;
766
814
  resolve(text);
767
815
  }
768
816
  } else {
769
- reject(new Error(`Seer failed (exit ${code}): ${stderr.slice(0, 2000)}`));
817
+ reject(new Error("Seer analysis failed"));
770
818
  }
771
819
  });
772
820
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "naiad-cli",
3
- "version": "0.2.40",
3
+ "version": "0.2.41",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "naiad": "./dist/index.js"