lattice-orchestrator 2.0.3 → 2.0.5

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 (41) hide show
  1. package/dist/harness/derive-session-status.d.ts +23 -0
  2. package/dist/harness/derive-session-status.d.ts.map +1 -0
  3. package/dist/harness/derive-session-status.js +34 -0
  4. package/dist/harness/derive-session-status.js.map +1 -0
  5. package/dist/harness/event-message-reader.d.ts +5 -0
  6. package/dist/harness/event-message-reader.d.ts.map +1 -1
  7. package/dist/harness/event-message-reader.js +7 -0
  8. package/dist/harness/event-message-reader.js.map +1 -1
  9. package/dist/harness/routes.d.ts.map +1 -1
  10. package/dist/harness/routes.js +0 -1
  11. package/dist/harness/routes.js.map +1 -1
  12. package/dist/harness/sqlite-event-storage.d.ts +0 -1
  13. package/dist/harness/sqlite-event-storage.d.ts.map +1 -1
  14. package/dist/harness/sqlite-event-storage.js +3 -7
  15. package/dist/harness/sqlite-event-storage.js.map +1 -1
  16. package/dist/process-daemon/process-daemon.d.ts +19 -0
  17. package/dist/process-daemon/process-daemon.d.ts.map +1 -1
  18. package/dist/process-daemon/process-daemon.js +102 -15
  19. package/dist/process-daemon/process-daemon.js.map +1 -1
  20. package/dist/process-daemon/types.d.ts +6 -0
  21. package/dist/process-daemon/types.d.ts.map +1 -1
  22. package/dist/process-daemon/types.js.map +1 -1
  23. package/dist/routes/debug/debug-harness-snapshot.routes.d.ts +24 -0
  24. package/dist/routes/debug/debug-harness-snapshot.routes.d.ts.map +1 -0
  25. package/dist/routes/debug/debug-harness-snapshot.routes.js +205 -0
  26. package/dist/routes/debug/debug-harness-snapshot.routes.js.map +1 -0
  27. package/dist/routes/debug/debug.routes.d.ts.map +1 -1
  28. package/dist/routes/debug/debug.routes.js +2 -0
  29. package/dist/routes/debug/debug.routes.js.map +1 -1
  30. package/dist/routes/session/session-status.routes.d.ts.map +1 -1
  31. package/dist/routes/session/session-status.routes.js +55 -2
  32. package/dist/routes/session/session-status.routes.js.map +1 -1
  33. package/dist/web/assets/{CodeHighlight-AX8pcR0a.js → CodeHighlight-BokPRXQ9.js} +1 -1
  34. package/dist/web/assets/{CodeHighlight-BFCEx5SO.js → CodeHighlight-xo5236pa.js} +1 -1
  35. package/dist/web/assets/main-CLoS_IlD.js +488 -0
  36. package/dist/web/assets/main-DuRTw83d.css +1 -0
  37. package/dist/web/assets/{vendor-markdown-vZ7invOV.js → vendor-markdown-BBN24gHp.js} +2 -2
  38. package/dist/web/index.html +3 -3
  39. package/package.json +2 -2
  40. package/dist/web/assets/main-2MNgdbR4.js +0 -488
  41. package/dist/web/assets/main-gLRONAqd.css +0 -1
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Event-log-backed session status.
3
+ *
4
+ * The harness event log is the single source of truth for session lifecycle.
5
+ * This helper runs the harness's own deriveStatus/deriveProcessAlive over the
6
+ * full log and maps the result to the status-endpoint shape
7
+ * (ongoing/idle/stopping/completed).
8
+ *
9
+ * This is intentionally a small wrapper rather than a reimplementation: the
10
+ * harness protocol owns the semantics of "what does this event log mean," and
11
+ * we want the server's answer to agree with the client's answer whenever they
12
+ * see the same events. Divergence is the bug class we're eliminating.
13
+ */
14
+ import { deriveStatus } from '@liggi/agent-ui-harness/protocol';
15
+ import type { SessionEvent } from '@liggi/agent-ui-harness/protocol';
16
+ export type EndpointStatus = 'ongoing' | 'idle' | 'stopping' | 'completed';
17
+ export interface DerivedSessionStatus {
18
+ status: EndpointStatus;
19
+ processAlive: boolean;
20
+ harnessStatus: ReturnType<typeof deriveStatus>;
21
+ }
22
+ export declare function deriveSessionStatusFromEvents(events: readonly SessionEvent[]): DerivedSessionStatus;
23
+ //# sourceMappingURL=derive-session-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-session-status.d.ts","sourceRoot":"","sources":["../../src/harness/derive-session-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAsB,MAAM,kCAAkC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CAChD;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAqBnG"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Event-log-backed session status.
3
+ *
4
+ * The harness event log is the single source of truth for session lifecycle.
5
+ * This helper runs the harness's own deriveStatus/deriveProcessAlive over the
6
+ * full log and maps the result to the status-endpoint shape
7
+ * (ongoing/idle/stopping/completed).
8
+ *
9
+ * This is intentionally a small wrapper rather than a reimplementation: the
10
+ * harness protocol owns the semantics of "what does this event log mean," and
11
+ * we want the server's answer to agree with the client's answer whenever they
12
+ * see the same events. Divergence is the bug class we're eliminating.
13
+ */
14
+ import { deriveStatus, deriveProcessAlive } from '@liggi/agent-ui-harness/protocol';
15
+ export function deriveSessionStatusFromEvents(events) {
16
+ if (events.length === 0) {
17
+ return { status: 'completed', processAlive: false, harnessStatus: 'idle' };
18
+ }
19
+ const harnessStatus = deriveStatus(events);
20
+ const processAlive = deriveProcessAlive(events);
21
+ const status = (() => {
22
+ switch (harnessStatus) {
23
+ case 'starting':
24
+ case 'streaming':
25
+ return 'ongoing';
26
+ case 'stopping':
27
+ return 'stopping';
28
+ case 'idle':
29
+ return processAlive ? 'idle' : 'completed';
30
+ }
31
+ })();
32
+ return { status, processAlive, harnessStatus };
33
+ }
34
+ //# sourceMappingURL=derive-session-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive-session-status.js","sourceRoot":"","sources":["../../src/harness/derive-session-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAWpF,MAAM,UAAU,6BAA6B,CAAC,MAA+B;IAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAC7E,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAmB,CAAC,GAAG,EAAE;QACnC,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,SAAS,CAAC;YACnB,KAAK,UAAU;gBACb,OAAO,UAAU,CAAC;YACpB,KAAK,MAAM;gBACT,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACjD,CAAC"}
@@ -11,6 +11,11 @@ import type { UnifiedMessage } from '../types/unified-messages.js';
11
11
  import type { SqliteEventStorageAdapter } from './sqlite-event-storage.js';
12
12
  /** Initialize with the storage adapter (called from harness setup). */
13
13
  export declare function initEventMessageReader(storage: SqliteEventStorageAdapter): void;
14
+ /**
15
+ * Public accessor for the shared harness event storage adapter.
16
+ * Intended for debug/diagnostic routes that need raw event access.
17
+ */
18
+ export declare function getEventStorage(): SqliteEventStorageAdapter;
14
19
  /** Read all messages for a session from harness event storage. */
15
20
  export declare function readMessages(sessionId: string): UnifiedMessage[];
16
21
  /** Count message-producing events for a session. */
@@ -1 +1 @@
1
- {"version":3,"file":"event-message-reader.d.ts","sourceRoot":"","sources":["../../src/harness/event-message-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAM3E,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAE/E;AAWD,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAGhE;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAclD;AAID,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,cAAc,EAAE,CASzF"}
1
+ {"version":3,"file":"event-message-reader.d.ts","sourceRoot":"","sources":["../../src/harness/event-message-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAM3E,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAE/E;AASD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,yBAAyB,CAE3D;AAID,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAGhE;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAclD;AAID,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,cAAc,EAAE,CASzF"}
@@ -18,6 +18,13 @@ function getStorage() {
18
18
  }
19
19
  return _storage;
20
20
  }
21
+ /**
22
+ * Public accessor for the shared harness event storage adapter.
23
+ * Intended for debug/diagnostic routes that need raw event access.
24
+ */
25
+ export function getEventStorage() {
26
+ return getStorage();
27
+ }
21
28
  // ---- Public API ----
22
29
  /** Read all messages for a session from harness event storage. */
23
30
  export function readMessages(sessionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"event-message-reader.js","sourceRoot":"","sources":["../../src/harness/event-message-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-message-reader.js","sourceRoot":"","sources":["../../src/harness/event-message-reader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/harness/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAkD,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,cAAc,EAAoB,MAAM,gCAAgC,CAAC;AAYlF,MAAM,WAAW,qBAAqB;IACpC,uFAAuF;IACvF,sBAAsB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,yDAAyD;IACzD,uBAAuB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE;;2EAEuE;IACvE,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAqB,GAAG,MAAM,CAyL5G"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/harness/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAkD,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,cAAc,EAAoB,MAAM,gCAAgC,CAAC;AAYlF,MAAM,WAAW,qBAAqB;IACpC,uFAAuF;IACvF,sBAAsB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,yDAAyD;IACzD,uBAAuB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE;;2EAEuE;IACvE,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAqB,GAAG,MAAM,CAwL5G"}
@@ -147,7 +147,6 @@ export function createHarnessRoutes(sessionManager, resolvers) {
147
147
  res.json({ events: [], hasMore: false });
148
148
  return;
149
149
  }
150
- // If we got more than limit, there are more events
151
150
  const hasMore = events.length > limit;
152
151
  const page = hasMore ? events.slice(0, limit) : events;
153
152
  logger.debug('[HISTORY] Served events', {
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/harness/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/harness/routes.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ import type Database from 'better-sqlite3';
12
12
  import type { EventStorageAdapter } from '@liggi/agent-ui-harness/server';
13
13
  import type { SessionEvent } from '@liggi/agent-ui-harness/protocol';
14
14
  export declare class SqliteEventStorageAdapter implements EventStorageAdapter {
15
- private db;
16
15
  private stmtWrite;
17
16
  private stmtReadAfter;
18
17
  private stmtReadBefore;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-event-storage.d.ts","sourceRoot":"","sources":["../../src/harness/sqlite-event-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAwBrE,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAqB;gBAE7B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IA4CjC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAYhC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,YAAY,EAAE;IAsBlB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKhC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CASlF"}
1
+ {"version":3,"file":"sqlite-event-storage.d.ts","sourceRoot":"","sources":["../../src/harness/sqlite-event-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAwBrE,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAqB;gBAE7B,EAAE,EAAE,QAAQ,CAAC,QAAQ;IA4CjC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAYhC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,YAAY,EAAE;IAmBlB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAKhC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CASlF"}
@@ -28,7 +28,6 @@ const CREATE_INDEX = `
28
28
  ON harness_events (session_id, timestamp)
29
29
  `;
30
30
  export class SqliteEventStorageAdapter {
31
- db;
32
31
  stmtWrite;
33
32
  stmtReadAfter;
34
33
  stmtReadBefore;
@@ -36,7 +35,6 @@ export class SqliteEventStorageAdapter {
36
35
  stmtCount;
37
36
  stmtCopyFrom;
38
37
  constructor(db) {
39
- this.db = db;
40
38
  db.exec(CREATE_TABLE);
41
39
  db.exec(CREATE_INDEX);
42
40
  this.stmtWrite = db.prepare(`
@@ -61,7 +59,8 @@ export class SqliteEventStorageAdapter {
61
59
  ORDER BY seq ASC
62
60
  `);
63
61
  this.stmtCount = db.prepare(`
64
- SELECT COUNT(*) as count FROM harness_events WHERE session_id = ?
62
+ SELECT COUNT(*) as count FROM harness_events
63
+ WHERE session_id = ?
65
64
  `);
66
65
  this.stmtCopyFrom = db.prepare(`
67
66
  INSERT OR IGNORE INTO harness_events (session_id, seq, run_id, timestamp, type, data, meta)
@@ -80,16 +79,13 @@ export class SqliteEventStorageAdapter {
80
79
  const limit = opts?.limit ?? 10000;
81
80
  let rows;
82
81
  if (afterSeq !== undefined && beforeSeq !== undefined) {
83
- // Range query: events between two seqs (for EventLog gap fill)
84
82
  rows = this.stmtReadRange.all(sessionId, afterSeq, beforeSeq);
85
83
  }
86
84
  else if (beforeSeq !== undefined) {
87
- // Pagination: N most recent events before cutoff (DESC + reverse)
88
85
  rows = this.stmtReadBefore.all(sessionId, beforeSeq, limit);
89
- rows.reverse(); // Back to chronological (ASC) order
86
+ rows.reverse();
90
87
  }
91
88
  else {
92
- // Forward replay: events after a seq (for SSE catchup)
93
89
  rows = this.stmtReadAfter.all(sessionId, afterSeq ?? 0, limit);
94
90
  }
95
91
  return rows.map(rowToEvent);
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-event-storage.js","sourceRoot":"","sources":["../../src/harness/sqlite-event-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-event-storage.js","sourceRoot":"","sources":["../../src/harness/sqlite-event-storage.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,31 @@ export declare class ProcessDaemon extends EventEmitter {
26
26
  private claudeExecutablePath;
27
27
  private codexExecutablePath;
28
28
  private envOverrides;
29
+ private claudeSupportsThinkingDisplay;
30
+ private static readonly STDERR_BUFFER_MAX;
31
+ private stderrBuffers;
29
32
  private pendingSystemInits;
30
33
  constructor(config?: DaemonConfig);
31
34
  /**
32
35
  * Find the Claude executable
33
36
  */
34
37
  private findClaudeExecutable;
38
+ /**
39
+ * Probe the resolved `claude` CLI to see if it accepts `--thinking-display`.
40
+ *
41
+ * Context: this is a hidden CLI flag that was rolled out progressively
42
+ * (and may be auth-tier gated). Versions without it exit with code 1 and
43
+ * `error: unknown option '--thinking-display'` the moment they're spawned,
44
+ * which used to crash every session on machines running older CLIs.
45
+ *
46
+ * We invoke the CLI with a deliberately invalid value and parse stderr:
47
+ * - "unknown option" → flag not supported, must NOT be passed
48
+ * - "invalid. Allowed choices" → flag parsed, supported
49
+ * - anything else → assume unsupported (safe default)
50
+ *
51
+ * Cached after first call. ~50–100ms one-time cost at first spawn.
52
+ */
53
+ private supportsThinkingDisplay;
35
54
  /**
36
55
  * Find the Codex executable
37
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"process-daemon.d.ts","sourceRoot":"","sources":["../../src/process-daemon/process-daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAgCtC,OAAO,EAWL,YAAY,EAMb,MAAM,YAAY,CAAC;AAmFpB;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAGxD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,qBAAqB,CAId;IAEf,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,YAAY,CAAqC;IAGzD,OAAO,CAAC,kBAAkB,CAOZ;gBAEF,MAAM,GAAE,YAAkD;IAQtE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;OAGG;YACW,uBAAuB;IA4BrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoC9B;;OAEG;YACW,aAAa;IAuE3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;YAeR,WAAW;IA2KzB;;;;;;;OAOG;YACW,qBAAqB;YA4IrB,UAAU;IAKxB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,wBAAwB;YAiClB,gBAAgB;IA0C9B,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,OAAO;IAgCf;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0D/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA0DjC,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IA6BvB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,cAAc;IA8DtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuD9B,OAAO,CAAC,iBAAiB;YAeX,gBAAgB;IA8G9B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,eAAe;IAmDvB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,cAAc;IAuEtB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CAkCjC"}
1
+ {"version":3,"file":"process-daemon.d.ts","sourceRoot":"","sources":["../../src/process-daemon/process-daemon.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAgCtC,OAAO,EAWL,YAAY,EAMb,MAAM,YAAY,CAAC;AAmFpB;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,mBAAmB,CAA8C;IACzE,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAGxD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,qBAAqB,CAId;IAEf,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,YAAY,CAAqC;IAKzD,OAAO,CAAC,6BAA6B,CAAwB;IAK7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IACjD,OAAO,CAAC,aAAa,CAAkC;IAGvD,OAAO,CAAC,kBAAkB,CAOZ;gBAEF,MAAM,GAAE,YAAkD;IAQtE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;OAGG;YACW,uBAAuB;IA4BrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoC9B;;OAEG;YACW,aAAa;IAuE3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;YAeR,WAAW;IA2KzB;;;;;;;OAOG;YACW,qBAAqB;YA4IrB,UAAU;IAKxB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,wBAAwB;YAiClB,gBAAgB;IA0C9B,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,OAAO;IAgCf;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0D/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAqEjC,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,kBAAkB;IAkD1B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAgCvB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,cAAc;IAiEtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuD9B,OAAO,CAAC,iBAAiB;YAeX,gBAAgB;IA8G9B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,eAAe;IAmDvB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,cAAc;IAuEtB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CAkCjC"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import * as net from 'net';
8
8
  import * as fs from 'fs';
9
- import { spawn } from 'child_process';
9
+ import { spawn, spawnSync } from 'child_process';
10
10
  import { EventEmitter } from 'events';
11
11
  import { v4 as uuidv4 } from 'uuid';
12
12
  import path from 'path';
@@ -114,6 +114,15 @@ export class ProcessDaemon extends EventEmitter {
114
114
  claudeExecutablePath;
115
115
  codexExecutablePath;
116
116
  envOverrides;
117
+ // Cached capability probes for the resolved `claude` CLI. Lazily populated
118
+ // on first spawn; guards against passing flags the user's CLI doesn't know
119
+ // about (hidden flags that vary by version/auth tier).
120
+ claudeSupportsThinkingDisplay = null;
121
+ // Rolling stderr buffer per streamingId (capped). Included in process-closed
122
+ // events/logs so crash reasons surface in server.log without tailing
123
+ // daemon.log separately.
124
+ static STDERR_BUFFER_MAX = 4096;
125
+ stderrBuffers = new Map();
117
126
  // Pending system init resolvers (streamingId -> {resolve, reject})
118
127
  pendingSystemInits = new Map();
119
128
  constructor(config = { socketPath: DEFAULT_SOCKET_PATH }) {
@@ -159,6 +168,51 @@ export class ProcessDaemon extends EventEmitter {
159
168
  'Then authenticate with: claude\n\n' +
160
169
  'More info: https://docs.anthropic.com/en/docs/claude-code');
161
170
  }
171
+ /**
172
+ * Probe the resolved `claude` CLI to see if it accepts `--thinking-display`.
173
+ *
174
+ * Context: this is a hidden CLI flag that was rolled out progressively
175
+ * (and may be auth-tier gated). Versions without it exit with code 1 and
176
+ * `error: unknown option '--thinking-display'` the moment they're spawned,
177
+ * which used to crash every session on machines running older CLIs.
178
+ *
179
+ * We invoke the CLI with a deliberately invalid value and parse stderr:
180
+ * - "unknown option" → flag not supported, must NOT be passed
181
+ * - "invalid. Allowed choices" → flag parsed, supported
182
+ * - anything else → assume unsupported (safe default)
183
+ *
184
+ * Cached after first call. ~50–100ms one-time cost at first spawn.
185
+ */
186
+ supportsThinkingDisplay() {
187
+ if (this.claudeSupportsThinkingDisplay !== null) {
188
+ return this.claudeSupportsThinkingDisplay;
189
+ }
190
+ try {
191
+ const result = spawnSync(this.claudeExecutablePath, ['--thinking-display', '__lattice_probe__'], { encoding: 'utf8', timeout: 5000, stdio: ['ignore', 'pipe', 'pipe'] });
192
+ const stderr = (result.stderr || '') + (result.stdout || '');
193
+ if (/unknown option/i.test(stderr)) {
194
+ this.claudeSupportsThinkingDisplay = false;
195
+ }
196
+ else if (/Allowed choices/i.test(stderr) || /--thinking-display/i.test(stderr)) {
197
+ this.claudeSupportsThinkingDisplay = true;
198
+ }
199
+ else {
200
+ // Unrecognized output — assume unsupported to avoid crashing sessions.
201
+ this.claudeSupportsThinkingDisplay = false;
202
+ }
203
+ logger.info('Claude CLI capability probe: --thinking-display', {
204
+ supported: this.claudeSupportsThinkingDisplay,
205
+ claudePath: this.claudeExecutablePath,
206
+ });
207
+ }
208
+ catch (err) {
209
+ logger.warn('Claude CLI capability probe failed, assuming --thinking-display unsupported', {
210
+ error: err instanceof Error ? err.message : String(err),
211
+ });
212
+ this.claudeSupportsThinkingDisplay = false;
213
+ }
214
+ return this.claudeSupportsThinkingDisplay;
215
+ }
162
216
  /**
163
217
  * Find the Codex executable
164
218
  */
@@ -972,7 +1026,15 @@ export class ProcessDaemon extends EventEmitter {
972
1026
  }
973
1027
  });
974
1028
  childProcess.stderr?.on('data', (data) => {
975
- logger.warn('Claude CLI stderr (piped)', { streamingId, stderr: data.toString() });
1029
+ const chunk = data.toString();
1030
+ logger.warn('Claude CLI stderr (piped)', { streamingId, stderr: chunk });
1031
+ const existing = this.stderrBuffers.get(streamingId) || '';
1032
+ const combined = existing + chunk;
1033
+ // Keep only the tail — early crashes fit easily, later verbose output is
1034
+ // truncated but the last error is what we care about at close time.
1035
+ this.stderrBuffers.set(streamingId, combined.length > ProcessDaemon.STDERR_BUFFER_MAX
1036
+ ? combined.slice(-ProcessDaemon.STDERR_BUFFER_MAX)
1037
+ : combined);
976
1038
  });
977
1039
  childProcess.on('close', (code) => {
978
1040
  this.handleProcessClose(streamingId, code);
@@ -1051,20 +1113,41 @@ export class ProcessDaemon extends EventEmitter {
1051
1113
  const sessionId = this.sessionIds.get(streamingId);
1052
1114
  const process = this.processes.get(streamingId);
1053
1115
  const pid = process?.pid;
1054
- logger.info('Process closed', { streamingId, code, sessionId, pid });
1055
- // Reject any pending system init
1116
+ const stderr = this.stderrBuffers.get(streamingId);
1117
+ // Include stderr tail in the close log so non-zero exits are diagnosable
1118
+ // from server.log / daemon.log directly, without cross-referencing the
1119
+ // stream of per-chunk stderr warnings above.
1120
+ if (code && code !== 0 && stderr && stderr.trim().length > 0) {
1121
+ logger.warn('Process closed with non-zero exit; stderr tail included', {
1122
+ streamingId,
1123
+ code,
1124
+ sessionId,
1125
+ pid,
1126
+ stderrTail: stderr,
1127
+ });
1128
+ }
1129
+ else {
1130
+ logger.info('Process closed', { streamingId, code, sessionId, pid });
1131
+ }
1132
+ // Reject any pending system init. Include stderr in the error message so
1133
+ // the server surface ("process exited before system init") tells the user
1134
+ // *why* instead of just that it happened.
1056
1135
  const pending = this.pendingSystemInits.get(streamingId);
1057
1136
  if (pending) {
1058
1137
  clearTimeout(pending.timeout);
1059
1138
  this.pendingSystemInits.delete(streamingId);
1060
- pending.reject(new LatticeError('CLAUDE_PROCESS_EXITED_EARLY', 'Claude CLI process exited before sending system init', 500));
1139
+ const stderrSuffix = stderr && stderr.trim().length > 0
1140
+ ? `: ${stderr.trim().slice(-500)}`
1141
+ : '';
1142
+ pending.reject(new LatticeError('CLAUDE_PROCESS_EXITED_EARLY', `Claude CLI process exited before sending system init (code=${code})${stderrSuffix}`, 500));
1061
1143
  }
1062
1144
  this.cleanup(streamingId);
1145
+ this.stderrBuffers.delete(streamingId);
1063
1146
  this.broadcastEvent({
1064
1147
  event: 'process-closed',
1065
- data: { streamingId, code, sessionId, pid },
1148
+ data: { streamingId, code, sessionId, pid, stderr },
1066
1149
  });
1067
- this.emit('process-closed', { streamingId, code, sessionId, pid });
1150
+ this.emit('process-closed', { streamingId, code, sessionId, pid, stderr });
1068
1151
  }
1069
1152
  handleProcessError(streamingId, error) {
1070
1153
  logger.error('Process error', error, { streamingId });
@@ -1084,12 +1167,14 @@ export class ProcessDaemon extends EventEmitter {
1084
1167
  const args = this.buildBaseArgs();
1085
1168
  // Resume message is sent via stdin (not as CLI arg) so that Claude stays
1086
1169
  // in stdin-reading mode for mid-turn message injection.
1087
- args.push('--resume', config.sessionId, '--output-format', 'stream-json', '--input-format', 'stream-json', '--verbose',
1170
+ args.push('--resume', config.sessionId, '--output-format', 'stream-json', '--input-format', 'stream-json', '--verbose');
1088
1171
  // Opus 4.7 defaults thinking display to "omitted" (signature only, empty
1089
1172
  // text). Force summarized so the UI receives readable thinking content.
1090
- // Hidden CLI flag — accepts "summarized" | "omitted". No-op on models
1091
- // that already return summarized/plaintext by default. Works on Max auth.
1092
- '--thinking-display', 'summarized');
1173
+ // Hidden CLI flag — version/auth-tier gated; probe first to avoid crashing
1174
+ // sessions on CLIs that don't recognize it (see supportsThinkingDisplay).
1175
+ if (this.supportsThinkingDisplay()) {
1176
+ args.push('--thinking-display', 'summarized');
1177
+ }
1093
1178
  // Pass model if specified - needed for experimental features like Agent Teams
1094
1179
  if (config.model) {
1095
1180
  args.push('--model', config.model);
@@ -1128,12 +1213,14 @@ export class ProcessDaemon extends EventEmitter {
1128
1213
  const args = this.buildBaseArgs();
1129
1214
  // Initial prompt is sent via stdin (not as CLI arg) so that Claude stays
1130
1215
  // in stdin-reading mode for mid-turn message injection.
1131
- args.push('--output-format', 'stream-json', '--input-format', 'stream-json', '--verbose',
1216
+ args.push('--output-format', 'stream-json', '--input-format', 'stream-json', '--verbose');
1132
1217
  // Opus 4.7 defaults thinking display to "omitted" (signature only, empty
1133
1218
  // text). Force summarized so the UI receives readable thinking content.
1134
- // Hidden CLI flag — accepts "summarized" | "omitted". No-op on models
1135
- // that already return summarized/plaintext by default. Works on Max auth.
1136
- '--thinking-display', 'summarized');
1219
+ // Hidden CLI flag — version/auth-tier gated; probe first to avoid crashing
1220
+ // sessions on CLIs that don't recognize it (see supportsThinkingDisplay).
1221
+ if (this.supportsThinkingDisplay()) {
1222
+ args.push('--thinking-display', 'summarized');
1223
+ }
1137
1224
  if (config.model) {
1138
1225
  args.push('--model', config.model);
1139
1226
  }