@adhdev/daemon-core 0.9.64 → 0.9.66

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 (35) hide show
  1. package/dist/chat/chat-signatures.d.ts +0 -4
  2. package/dist/chat/chat-signatures.js +0 -4
  3. package/dist/chat/chat-signatures.js.map +1 -1
  4. package/dist/chat/chat-signatures.mjs +0 -4
  5. package/dist/chat/chat-signatures.mjs.map +1 -1
  6. package/dist/chat/subscription-updates.d.ts +0 -2
  7. package/dist/cli-adapters/provider-cli-adapter.d.ts +2 -30
  8. package/dist/cli-adapters/provider-cli-parse.d.ts +1 -8
  9. package/dist/cli-adapters/provider-cli-shared.d.ts +8 -3
  10. package/dist/commands/chat-commands.d.ts +0 -2
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +646 -1712
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.mjs +646 -1712
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/shared-types.d.ts +0 -7
  17. package/node_modules/@adhdev/session-host-core/package.json +1 -1
  18. package/package.json +1 -1
  19. package/src/chat/chat-signatures.ts +0 -8
  20. package/src/chat/subscription-updates.ts +7 -46
  21. package/src/cli-adapters/provider-cli-adapter.d.ts +2 -10
  22. package/src/cli-adapters/provider-cli-adapter.ts +66 -692
  23. package/src/cli-adapters/provider-cli-parse.d.ts +0 -7
  24. package/src/cli-adapters/provider-cli-parse.ts +2 -226
  25. package/src/cli-adapters/provider-cli-shared.d.ts +0 -1
  26. package/src/cli-adapters/provider-cli-shared.ts +8 -3
  27. package/src/commands/chat-commands.ts +54 -366
  28. package/src/daemon/dev-auto-implement.ts +3 -3
  29. package/src/daemon/dev-server.ts +3 -3
  30. package/src/index.d.ts +1 -1
  31. package/src/index.ts +0 -1
  32. package/src/launch.ts +10 -3
  33. package/src/providers/cli-provider-instance.ts +2 -39
  34. package/src/shared-types.d.ts +0 -7
  35. package/src/shared-types.ts +0 -8
@@ -16,10 +16,6 @@ export interface ChatTailDeliverySignatureInput {
16
16
  message: string;
17
17
  buttons: string[];
18
18
  } | null;
19
- syncMode: string;
20
- replaceFrom: number;
21
- totalMessages: number;
22
- lastMessageSignature: string;
23
19
  }
24
20
  export interface SessionModalDeliverySignatureInput {
25
21
  sessionId: string;
@@ -69,10 +69,6 @@ function buildChatTailDeliverySignature(payload) {
69
69
  payload.historySessionId || "",
70
70
  payload.status,
71
71
  payload.title || "",
72
- payload.syncMode,
73
- String(payload.replaceFrom),
74
- String(payload.totalMessages),
75
- payload.lastMessageSignature,
76
72
  payload.activeModal ? `${payload.activeModal.message}|${payload.activeModal.buttons.join("")}` : "",
77
73
  stringifySignatureMessages(payload.messages)
78
74
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/chat/chat-signatures.ts"],"sourcesContent":["export interface ChatMessageSignatureInput {\n id?: string | number | null\n index?: number | null\n role?: string | null\n receivedAt?: string | number | null\n timestamp?: string | number | null\n content?: unknown\n}\n\nexport interface ChatTailDeliverySignatureInput {\n sessionId: string\n historySessionId?: string\n messages: unknown[]\n status: string\n title?: string\n activeModal?: { message: string; buttons: string[] } | null\n syncMode: string\n replaceFrom: number\n totalMessages: number\n lastMessageSignature: string\n}\n\nexport interface SessionModalDeliverySignatureInput {\n sessionId: string\n status: string\n title?: string\n modalMessage?: string\n modalButtons?: string[]\n}\n\nexport function hashSignatureParts(parts: string[]): string {\n let hash = 0x811c9dc5\n for (const part of parts) {\n const text = String(part || '')\n for (let i = 0; i < text.length; i += 1) {\n hash ^= text.charCodeAt(i)\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n hash ^= 0xff\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n return hash.toString(16).padStart(8, '0')\n}\n\nfunction stringifySignatureContent(content: unknown): string {\n try {\n return JSON.stringify(content ?? '')\n } catch {\n return String(content ?? '')\n }\n}\n\nfunction stringifySignatureMessages(messages: unknown[]): string {\n try {\n return JSON.stringify(messages)\n } catch {\n return String(messages.length)\n }\n}\n\nexport function buildChatMessageSignature(message: ChatMessageSignatureInput | null | undefined): string {\n if (!message) return ''\n return hashSignatureParts([\n String(message.id || ''),\n String(message.index ?? ''),\n String(message.role || ''),\n String(message.receivedAt ?? message.timestamp ?? ''),\n stringifySignatureContent(message.content),\n ])\n}\n\nexport function buildChatTailDeliverySignature(payload: ChatTailDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.historySessionId || '',\n payload.status,\n payload.title || '',\n payload.syncMode,\n String(payload.replaceFrom),\n String(payload.totalMessages),\n payload.lastMessageSignature,\n payload.activeModal ? `${payload.activeModal.message}|${payload.activeModal.buttons.join('\\u001f')}` : '',\n stringifySignatureMessages(payload.messages),\n ])\n}\n\nexport function buildSessionModalDeliverySignature(payload: SessionModalDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.status,\n payload.title || '',\n payload.modalMessage || '',\n Array.isArray(payload.modalButtons) ? payload.modalButtons.join('\\u001f') : '',\n ])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BO,SAAS,mBAAmB,OAAyB;AAC1D,MAAI,OAAO;AACX,aAAW,QAAQ,OAAO;AACxB,UAAM,OAAO,OAAO,QAAQ,EAAE;AAC9B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,cAAQ,KAAK,WAAW,CAAC;AACzB,aAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,IACzC;AACA,YAAQ;AACR,WAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,EACzC;AACA,SAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAC1C;AAEA,SAAS,0BAA0B,SAA0B;AAC3D,MAAI;AACF,WAAO,KAAK,UAAU,WAAW,EAAE;AAAA,EACrC,QAAQ;AACN,WAAO,OAAO,WAAW,EAAE;AAAA,EAC7B;AACF;AAEA,SAAS,2BAA2B,UAA6B;AAC/D,MAAI;AACF,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC,QAAQ;AACN,WAAO,OAAO,SAAS,MAAM;AAAA,EAC/B;AACF;AAEO,SAAS,0BAA0B,SAA+D;AACvG,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,mBAAmB;AAAA,IACxB,OAAO,QAAQ,MAAM,EAAE;AAAA,IACvB,OAAO,QAAQ,SAAS,EAAE;AAAA,IAC1B,OAAO,QAAQ,QAAQ,EAAE;AAAA,IACzB,OAAO,QAAQ,cAAc,QAAQ,aAAa,EAAE;AAAA,IACpD,0BAA0B,QAAQ,OAAO;AAAA,EAC3C,CAAC;AACH;AAEO,SAAS,+BAA+B,SAAiD;AAC9F,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ,oBAAoB;AAAA,IAC5B,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ;AAAA,IACR,OAAO,QAAQ,WAAW;AAAA,IAC1B,OAAO,QAAQ,aAAa;AAAA,IAC5B,QAAQ;AAAA,IACR,QAAQ,cAAc,GAAG,QAAQ,YAAY,OAAO,IAAI,QAAQ,YAAY,QAAQ,KAAK,GAAQ,CAAC,KAAK;AAAA,IACvG,2BAA2B,QAAQ,QAAQ;AAAA,EAC7C,CAAC;AACH;AAEO,SAAS,mCAAmC,SAAqD;AACtG,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ,gBAAgB;AAAA,IACxB,MAAM,QAAQ,QAAQ,YAAY,IAAI,QAAQ,aAAa,KAAK,GAAQ,IAAI;AAAA,EAC9E,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/chat/chat-signatures.ts"],"sourcesContent":["export interface ChatMessageSignatureInput {\n id?: string | number | null\n index?: number | null\n role?: string | null\n receivedAt?: string | number | null\n timestamp?: string | number | null\n content?: unknown\n}\n\nexport interface ChatTailDeliverySignatureInput {\n sessionId: string\n historySessionId?: string\n messages: unknown[]\n status: string\n title?: string\n activeModal?: { message: string; buttons: string[] } | null\n}\n\nexport interface SessionModalDeliverySignatureInput {\n sessionId: string\n status: string\n title?: string\n modalMessage?: string\n modalButtons?: string[]\n}\n\nexport function hashSignatureParts(parts: string[]): string {\n let hash = 0x811c9dc5\n for (const part of parts) {\n const text = String(part || '')\n for (let i = 0; i < text.length; i += 1) {\n hash ^= text.charCodeAt(i)\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n hash ^= 0xff\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n return hash.toString(16).padStart(8, '0')\n}\n\nfunction stringifySignatureContent(content: unknown): string {\n try {\n return JSON.stringify(content ?? '')\n } catch {\n return String(content ?? '')\n }\n}\n\nfunction stringifySignatureMessages(messages: unknown[]): string {\n try {\n return JSON.stringify(messages)\n } catch {\n return String(messages.length)\n }\n}\n\nexport function buildChatMessageSignature(message: ChatMessageSignatureInput | null | undefined): string {\n if (!message) return ''\n return hashSignatureParts([\n String(message.id || ''),\n String(message.index ?? ''),\n String(message.role || ''),\n String(message.receivedAt ?? message.timestamp ?? ''),\n stringifySignatureContent(message.content),\n ])\n}\n\nexport function buildChatTailDeliverySignature(payload: ChatTailDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.historySessionId || '',\n payload.status,\n payload.title || '',\n payload.activeModal ? `${payload.activeModal.message}|${payload.activeModal.buttons.join('\\u001f')}` : '',\n stringifySignatureMessages(payload.messages),\n ])\n}\n\nexport function buildSessionModalDeliverySignature(payload: SessionModalDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.status,\n payload.title || '',\n payload.modalMessage || '',\n Array.isArray(payload.modalButtons) ? payload.modalButtons.join('\\u001f') : '',\n ])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BO,SAAS,mBAAmB,OAAyB;AAC1D,MAAI,OAAO;AACX,aAAW,QAAQ,OAAO;AACxB,UAAM,OAAO,OAAO,QAAQ,EAAE;AAC9B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,cAAQ,KAAK,WAAW,CAAC;AACzB,aAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,IACzC;AACA,YAAQ;AACR,WAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,EACzC;AACA,SAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAC1C;AAEA,SAAS,0BAA0B,SAA0B;AAC3D,MAAI;AACF,WAAO,KAAK,UAAU,WAAW,EAAE;AAAA,EACrC,QAAQ;AACN,WAAO,OAAO,WAAW,EAAE;AAAA,EAC7B;AACF;AAEA,SAAS,2BAA2B,UAA6B;AAC/D,MAAI;AACF,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC,QAAQ;AACN,WAAO,OAAO,SAAS,MAAM;AAAA,EAC/B;AACF;AAEO,SAAS,0BAA0B,SAA+D;AACvG,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,mBAAmB;AAAA,IACxB,OAAO,QAAQ,MAAM,EAAE;AAAA,IACvB,OAAO,QAAQ,SAAS,EAAE;AAAA,IAC1B,OAAO,QAAQ,QAAQ,EAAE;AAAA,IACzB,OAAO,QAAQ,cAAc,QAAQ,aAAa,EAAE;AAAA,IACpD,0BAA0B,QAAQ,OAAO;AAAA,EAC3C,CAAC;AACH;AAEO,SAAS,+BAA+B,SAAiD;AAC9F,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ,oBAAoB;AAAA,IAC5B,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ,cAAc,GAAG,QAAQ,YAAY,OAAO,IAAI,QAAQ,YAAY,QAAQ,KAAK,GAAQ,CAAC,KAAK;AAAA,IACvG,2BAA2B,QAAQ,QAAQ;AAAA,EAC7C,CAAC;AACH;AAEO,SAAS,mCAAmC,SAAqD;AACtG,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ,gBAAgB;AAAA,IACxB,MAAM,QAAQ,QAAQ,YAAY,IAAI,QAAQ,aAAa,KAAK,GAAQ,IAAI;AAAA,EAC9E,CAAC;AACH;","names":[]}
@@ -42,10 +42,6 @@ function buildChatTailDeliverySignature(payload) {
42
42
  payload.historySessionId || "",
43
43
  payload.status,
44
44
  payload.title || "",
45
- payload.syncMode,
46
- String(payload.replaceFrom),
47
- String(payload.totalMessages),
48
- payload.lastMessageSignature,
49
45
  payload.activeModal ? `${payload.activeModal.message}|${payload.activeModal.buttons.join("")}` : "",
50
46
  stringifySignatureMessages(payload.messages)
51
47
  ]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/chat/chat-signatures.ts"],"sourcesContent":["export interface ChatMessageSignatureInput {\n id?: string | number | null\n index?: number | null\n role?: string | null\n receivedAt?: string | number | null\n timestamp?: string | number | null\n content?: unknown\n}\n\nexport interface ChatTailDeliverySignatureInput {\n sessionId: string\n historySessionId?: string\n messages: unknown[]\n status: string\n title?: string\n activeModal?: { message: string; buttons: string[] } | null\n syncMode: string\n replaceFrom: number\n totalMessages: number\n lastMessageSignature: string\n}\n\nexport interface SessionModalDeliverySignatureInput {\n sessionId: string\n status: string\n title?: string\n modalMessage?: string\n modalButtons?: string[]\n}\n\nexport function hashSignatureParts(parts: string[]): string {\n let hash = 0x811c9dc5\n for (const part of parts) {\n const text = String(part || '')\n for (let i = 0; i < text.length; i += 1) {\n hash ^= text.charCodeAt(i)\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n hash ^= 0xff\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n return hash.toString(16).padStart(8, '0')\n}\n\nfunction stringifySignatureContent(content: unknown): string {\n try {\n return JSON.stringify(content ?? '')\n } catch {\n return String(content ?? '')\n }\n}\n\nfunction stringifySignatureMessages(messages: unknown[]): string {\n try {\n return JSON.stringify(messages)\n } catch {\n return String(messages.length)\n }\n}\n\nexport function buildChatMessageSignature(message: ChatMessageSignatureInput | null | undefined): string {\n if (!message) return ''\n return hashSignatureParts([\n String(message.id || ''),\n String(message.index ?? ''),\n String(message.role || ''),\n String(message.receivedAt ?? message.timestamp ?? ''),\n stringifySignatureContent(message.content),\n ])\n}\n\nexport function buildChatTailDeliverySignature(payload: ChatTailDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.historySessionId || '',\n payload.status,\n payload.title || '',\n payload.syncMode,\n String(payload.replaceFrom),\n String(payload.totalMessages),\n payload.lastMessageSignature,\n payload.activeModal ? `${payload.activeModal.message}|${payload.activeModal.buttons.join('\\u001f')}` : '',\n stringifySignatureMessages(payload.messages),\n ])\n}\n\nexport function buildSessionModalDeliverySignature(payload: SessionModalDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.status,\n payload.title || '',\n payload.modalMessage || '',\n Array.isArray(payload.modalButtons) ? payload.modalButtons.join('\\u001f') : '',\n ])\n}\n"],"mappings":";AA8BO,SAAS,mBAAmB,OAAyB;AAC1D,MAAI,OAAO;AACX,aAAW,QAAQ,OAAO;AACxB,UAAM,OAAO,OAAO,QAAQ,EAAE;AAC9B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,cAAQ,KAAK,WAAW,CAAC;AACzB,aAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,IACzC;AACA,YAAQ;AACR,WAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,EACzC;AACA,SAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAC1C;AAEA,SAAS,0BAA0B,SAA0B;AAC3D,MAAI;AACF,WAAO,KAAK,UAAU,WAAW,EAAE;AAAA,EACrC,QAAQ;AACN,WAAO,OAAO,WAAW,EAAE;AAAA,EAC7B;AACF;AAEA,SAAS,2BAA2B,UAA6B;AAC/D,MAAI;AACF,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC,QAAQ;AACN,WAAO,OAAO,SAAS,MAAM;AAAA,EAC/B;AACF;AAEO,SAAS,0BAA0B,SAA+D;AACvG,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,mBAAmB;AAAA,IACxB,OAAO,QAAQ,MAAM,EAAE;AAAA,IACvB,OAAO,QAAQ,SAAS,EAAE;AAAA,IAC1B,OAAO,QAAQ,QAAQ,EAAE;AAAA,IACzB,OAAO,QAAQ,cAAc,QAAQ,aAAa,EAAE;AAAA,IACpD,0BAA0B,QAAQ,OAAO;AAAA,EAC3C,CAAC;AACH;AAEO,SAAS,+BAA+B,SAAiD;AAC9F,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ,oBAAoB;AAAA,IAC5B,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ;AAAA,IACR,OAAO,QAAQ,WAAW;AAAA,IAC1B,OAAO,QAAQ,aAAa;AAAA,IAC5B,QAAQ;AAAA,IACR,QAAQ,cAAc,GAAG,QAAQ,YAAY,OAAO,IAAI,QAAQ,YAAY,QAAQ,KAAK,GAAQ,CAAC,KAAK;AAAA,IACvG,2BAA2B,QAAQ,QAAQ;AAAA,EAC7C,CAAC;AACH;AAEO,SAAS,mCAAmC,SAAqD;AACtG,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ,gBAAgB;AAAA,IACxB,MAAM,QAAQ,QAAQ,YAAY,IAAI,QAAQ,aAAa,KAAK,GAAQ,IAAI;AAAA,EAC9E,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/chat/chat-signatures.ts"],"sourcesContent":["export interface ChatMessageSignatureInput {\n id?: string | number | null\n index?: number | null\n role?: string | null\n receivedAt?: string | number | null\n timestamp?: string | number | null\n content?: unknown\n}\n\nexport interface ChatTailDeliverySignatureInput {\n sessionId: string\n historySessionId?: string\n messages: unknown[]\n status: string\n title?: string\n activeModal?: { message: string; buttons: string[] } | null\n}\n\nexport interface SessionModalDeliverySignatureInput {\n sessionId: string\n status: string\n title?: string\n modalMessage?: string\n modalButtons?: string[]\n}\n\nexport function hashSignatureParts(parts: string[]): string {\n let hash = 0x811c9dc5\n for (const part of parts) {\n const text = String(part || '')\n for (let i = 0; i < text.length; i += 1) {\n hash ^= text.charCodeAt(i)\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n hash ^= 0xff\n hash = Math.imul(hash, 0x01000193) >>> 0\n }\n return hash.toString(16).padStart(8, '0')\n}\n\nfunction stringifySignatureContent(content: unknown): string {\n try {\n return JSON.stringify(content ?? '')\n } catch {\n return String(content ?? '')\n }\n}\n\nfunction stringifySignatureMessages(messages: unknown[]): string {\n try {\n return JSON.stringify(messages)\n } catch {\n return String(messages.length)\n }\n}\n\nexport function buildChatMessageSignature(message: ChatMessageSignatureInput | null | undefined): string {\n if (!message) return ''\n return hashSignatureParts([\n String(message.id || ''),\n String(message.index ?? ''),\n String(message.role || ''),\n String(message.receivedAt ?? message.timestamp ?? ''),\n stringifySignatureContent(message.content),\n ])\n}\n\nexport function buildChatTailDeliverySignature(payload: ChatTailDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.historySessionId || '',\n payload.status,\n payload.title || '',\n payload.activeModal ? `${payload.activeModal.message}|${payload.activeModal.buttons.join('\\u001f')}` : '',\n stringifySignatureMessages(payload.messages),\n ])\n}\n\nexport function buildSessionModalDeliverySignature(payload: SessionModalDeliverySignatureInput): string {\n return hashSignatureParts([\n payload.sessionId,\n payload.status,\n payload.title || '',\n payload.modalMessage || '',\n Array.isArray(payload.modalButtons) ? payload.modalButtons.join('\\u001f') : '',\n ])\n}\n"],"mappings":";AA0BO,SAAS,mBAAmB,OAAyB;AAC1D,MAAI,OAAO;AACX,aAAW,QAAQ,OAAO;AACxB,UAAM,OAAO,OAAO,QAAQ,EAAE;AAC9B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACvC,cAAQ,KAAK,WAAW,CAAC;AACzB,aAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,IACzC;AACA,YAAQ;AACR,WAAO,KAAK,KAAK,MAAM,QAAU,MAAM;AAAA,EACzC;AACA,SAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAC1C;AAEA,SAAS,0BAA0B,SAA0B;AAC3D,MAAI;AACF,WAAO,KAAK,UAAU,WAAW,EAAE;AAAA,EACrC,QAAQ;AACN,WAAO,OAAO,WAAW,EAAE;AAAA,EAC7B;AACF;AAEA,SAAS,2BAA2B,UAA6B;AAC/D,MAAI;AACF,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC,QAAQ;AACN,WAAO,OAAO,SAAS,MAAM;AAAA,EAC/B;AACF;AAEO,SAAS,0BAA0B,SAA+D;AACvG,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,mBAAmB;AAAA,IACxB,OAAO,QAAQ,MAAM,EAAE;AAAA,IACvB,OAAO,QAAQ,SAAS,EAAE;AAAA,IAC1B,OAAO,QAAQ,QAAQ,EAAE;AAAA,IACzB,OAAO,QAAQ,cAAc,QAAQ,aAAa,EAAE;AAAA,IACpD,0BAA0B,QAAQ,OAAO;AAAA,EAC3C,CAAC;AACH;AAEO,SAAS,+BAA+B,SAAiD;AAC9F,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ,oBAAoB;AAAA,IAC5B,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ,cAAc,GAAG,QAAQ,YAAY,OAAO,IAAI,QAAQ,YAAY,QAAQ,KAAK,GAAQ,CAAC,KAAK;AAAA,IACvG,2BAA2B,QAAQ,QAAQ;AAAA,EAC7C,CAAC;AACH;AAEO,SAAS,mCAAmC,SAAqD;AACtG,SAAO,mBAAmB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ,SAAS;AAAA,IACjB,QAAQ,gBAAgB;AAAA,IACxB,MAAM,QAAQ,QAAQ,YAAY,IAAI,QAAQ,aAAa,KAAK,GAAQ,IAAI;AAAA,EAC9E,CAAC;AACH;","names":[]}
@@ -1,7 +1,5 @@
1
1
  import type { ReadChatSyncResult, SessionChatTailUpdate, SessionModalUpdate } from '../shared-types.js';
2
2
  export interface ChatTailSubscriptionCursor {
3
- knownMessageCount: number;
4
- lastMessageSignature: string;
5
3
  tailLimit: number;
6
4
  }
7
5
  export type SessionChatTailCommandResult = Partial<Omit<ReadChatSyncResult, 'activeModal'>> & {
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Required scripts in scripts/{version}/scripts.js:
8
8
  * - detectStatus(input) → AgentStatus string ('idle' | 'generating' | 'waiting_approval')
9
- * - parseOutput(input) → ReadChatResult { messages, status, activeModal, ... }
9
+ * - parseSession(input) → ReadChatResult { messages, status, activeModal, ... }
10
10
  * - parseApproval(input) → ModalInfo | null
11
11
  *
12
12
  * provider.json contract:
@@ -15,16 +15,10 @@
15
15
  */
16
16
  import type { CliAdapter } from '../cli-adapter-types.js';
17
17
  import { type PtyRuntimeMetadata, type PtyTransportFactory } from './pty-transport.js';
18
- import { type CliChatMessage, type CliProviderModule, type CliScripts, type CliSessionStatus } from './provider-cli-shared.js';
18
+ import { type CliProviderModule, type CliScripts, type CliSessionStatus } from './provider-cli-shared.js';
19
19
  import { type ProviderResolutionMeta } from './provider-cli-config.js';
20
20
  export { normalizeCliProviderForRuntime, type CliApprovalInput, type CliChatMessage, type CliProviderModule, type CliScreenLine, type CliScreenSnapshot, type CliScriptInput, type CliScripts, type CliSessionStatus, type CliStatusInput, type CliTraceEntry, } from './provider-cli-shared.js';
21
- type SeedCliChatMessage = Omit<Partial<CliChatMessage>, 'role'> & {
22
- role?: string;
23
- content?: string;
24
- };
25
21
  export declare function appendBoundedText(current: string, chunk: string, maxChars: number): string;
26
- export declare function sanitizeCliStandardMessageContent(content: unknown): string;
27
- export declare function trimLastAssistantEchoForCliMessages(messages: CliChatMessage[], prompt: string | undefined): void;
28
22
  export declare class ProviderCliAdapter implements CliAdapter {
29
23
  private extraArgs;
30
24
  readonly cliType: string;
@@ -33,11 +27,6 @@ export declare class ProviderCliAdapter implements CliAdapter {
33
27
  private provider;
34
28
  private ptyProcess;
35
29
  private transportFactory;
36
- private messages;
37
- private committedMessages;
38
- private structuredMessages;
39
- private committedMessagesActivitySignature;
40
- private committedMessagesChangedAt;
41
30
  private currentStatus;
42
31
  private onStatusChange;
43
32
  private responseBuffer;
@@ -109,29 +98,19 @@ export declare class ProviderCliAdapter implements CliAdapter {
109
98
  private traceSeq;
110
99
  private traceSessionId;
111
100
  private parsedStatusCache;
112
- private lastStatusHotPathParseAt;
113
- private static readonly STATUS_HOT_PATH_PARSE_MIN_INTERVAL_MS;
114
101
  private static readonly SCREEN_SNAPSHOT_MIN_INTERVAL_MS;
115
102
  private static readonly MAX_TRACE_ENTRIES;
116
- private static readonly PARSE_MESSAGE_TAIL_LIMIT;
117
103
  private readonly providerResolutionMeta;
118
104
  private static readonly FINISH_RETRY_DELAY_MS;
119
105
  private static readonly MAX_FINISH_RETRIES;
120
106
  private getBufferState;
121
107
  private recordBoundedAppendDrop;
122
- private buildCommittedMessagesActivitySignature;
123
- private syncMessageViews;
124
- getLastCommittedMessageActivityAt(): number;
125
108
  private readTerminalScreenText;
126
109
  private shouldReadTerminalScreenSnapshot;
127
110
  private resetTerminalScreen;
128
111
  private getFreshParsedStatusCache;
129
112
  private providerOwnsTranscript;
130
113
  private shouldUseFullProviderTranscriptContext;
131
- private selectParseBaseMessages;
132
- private messagesShareStableIdentity;
133
- private messagesComparable;
134
- private stitchParsedMessagesWithCommittedBase;
135
114
  private getIdleFinishConfirmMs;
136
115
  private getStatusActivityHoldMs;
137
116
  private setStatus;
@@ -166,7 +145,6 @@ export declare class ProviderCliAdapter implements CliAdapter {
166
145
  private hasRecentInteractiveActivity;
167
146
  private shouldDeferIdleTimeoutFinish;
168
147
  private waitForInteractivePrompt;
169
- private trimLastAssistantEcho;
170
148
  private clearAllTimers;
171
149
  private clearStaleIdleResponseGuard;
172
150
  private hasMeaningfulResponseBuffer;
@@ -184,15 +162,9 @@ export declare class ProviderCliAdapter implements CliAdapter {
184
162
  private runParseApproval;
185
163
  private hasActionableApproval;
186
164
  private projectEffectiveStatus;
187
- private suppressStaleParsedApproval;
188
165
  getStatus(options?: {
189
166
  allowParse?: boolean;
190
167
  }): CliSessionStatus;
191
- seedCommittedMessages(messages: SeedCliChatMessage[]): void;
192
- private getSharedCommittedPrefixLength;
193
- private hydrateCommittedPrefixForParsedStatus;
194
- private hydrateParsedMessagesForStatus;
195
- private buildCommittedChatMessages;
196
168
  /**
197
169
  * Script-based full parse — returns ReadChatResult.
198
170
  * Called by command handler / dashboard for rich content rendering.
@@ -5,14 +5,7 @@ export interface TurnParseScope {
5
5
  bufferStart: number;
6
6
  rawBufferStart: number;
7
7
  }
8
- export declare function hydrateCliParsedMessages(parsedMessages: any[], options: {
9
- committedMessages: CliChatMessage[];
10
- scope?: TurnParseScope | null;
11
- lastOutputAt: number;
12
- now?: number;
13
- }): any[];
14
- export declare function normalizeCliParsedMessages(parsedMessages: any[], options: {
15
- committedMessages: CliChatMessage[];
8
+ export declare function normalizeCliParsedMessages(parsedMessages: any[], _options: {
16
9
  scope?: TurnParseScope | null;
17
10
  lastOutputAt: number;
18
11
  now?: number;
@@ -1,16 +1,22 @@
1
1
  import type { ProviderResumeCapability } from '../providers/contracts.js';
2
2
  import type { ChatMessageKind } from '../providers/chat-message-normalization.js';
3
+ import type { ChatBubbleState } from '../types.js';
3
4
  import { sanitizeSpawnEnv } from './spawn-env.js';
4
5
  export interface CliChatMessage {
5
- role: 'user' | 'assistant';
6
- content: string;
6
+ role: string;
7
+ content: any;
7
8
  timestamp?: number;
8
9
  receivedAt?: number;
9
10
  kind?: ChatMessageKind;
10
11
  id?: string;
11
12
  index?: number;
13
+ providerUnitKey?: string;
14
+ bubbleId?: string;
15
+ bubbleState?: ChatBubbleState;
16
+ _turnKey?: string;
12
17
  meta?: Record<string, unknown>;
13
18
  senderName?: string;
19
+ [key: string]: any;
14
20
  }
15
21
  export interface CliSessionStatus {
16
22
  status: 'idle' | 'generating' | 'waiting_approval' | 'error' | 'stopped' | 'starting';
@@ -61,7 +67,6 @@ export interface CliScripts {
61
67
  tail?: string;
62
68
  tailScreen?: CliScreenSnapshot;
63
69
  }) => ParsedSession | null;
64
- parseOutput?: (input: CliScriptInput) => any;
65
70
  detectStatus?: (input: CliStatusInput) => string | null;
66
71
  parseApproval?: (input: CliApprovalInput) => {
67
72
  message: string;
@@ -3,9 +3,7 @@
3
3
  * setMode, changeModel, setThoughtLevel, resolveAction, chatHistory
4
4
  */
5
5
  import type { CommandResult, CommandHelpers } from './handler.js';
6
- import type { ChatMessage } from '../types.js';
7
6
  export declare const READ_CHAT_PROVIDER_EVAL_TIMEOUT_MS = 25000;
8
- export declare function collapseReplayDuplicatesFromReadChat(messages: ChatMessage[]): ChatMessage[];
9
7
  interface DebugSanitizeOptions {
10
8
  maxDepth?: number;
11
9
  maxArrayLength?: number;
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Core logic for daemon: CDP, Provider, IDE detection, CLI/ACP adapters and more.
5
5
  */
6
6
  export type { ChatBubbleState, ChatMessage, ExtensionInfo, CommandResult as CoreCommandResult, ProviderConfig, DaemonEvent, StatusResponse, SystemInfo, DetectedIde, ProviderInfo, AgentEntry, } from './types.js';
7
- export type { SessionEntry, CompactSessionEntry, CompactDaemonEntry, CloudDaemonSummaryEntry, DashboardBootstrapDaemonEntry, VersionUpdateReason, CloudStatusReportPayload, DaemonStatusEventPayload, DashboardStatusEventPayload, SessionTransport, SessionKind, SessionCapability, AgentSessionStream, ReadChatCursor, ReadChatSyncMode, ReadChatSyncResult, TransportTopic, SessionChatTailSubscriptionParams, SessionRuntimeOutputSubscriptionParams, MachineRuntimeSubscriptionParams, SessionHostDiagnosticsSubscriptionParams, SessionModalSubscriptionParams, DaemonMetadataSubscriptionParams, WorkspaceGitSubscriptionParams, SessionChatTailUpdate, MachineRuntimeUpdate, SessionHostDiagnosticsUpdate, SessionModalUpdate, DaemonMetadataUpdate, TopicUpdateEnvelope, SubscribeRequest, UnsubscribeRequest, StandaloneWsStatusPayload, AvailableProviderInfo, AcpConfigOption, AcpMode, ProviderControlSchema, StatusReportPayload, MachineInfo, SessionHostDiagnosticsSnapshot, SessionHostRecord, SessionHostWriteOwner, SessionHostAttachedClient, SessionHostLogEntry, SessionHostRequestTrace, SessionHostRuntimeTransition, DetectedIdeInfo, WorkspaceEntry, ProviderSummaryItem, ProviderSummaryMetadata, ProviderState, ProviderStatus, ProviderErrorReason, SessionActiveChatData, ActiveChatData, IdeProviderState, CliProviderState, AcpProviderState, ExtensionProviderState, } from './shared-types.js';
7
+ export type { SessionEntry, CompactSessionEntry, CompactDaemonEntry, CloudDaemonSummaryEntry, DashboardBootstrapDaemonEntry, VersionUpdateReason, CloudStatusReportPayload, DaemonStatusEventPayload, DashboardStatusEventPayload, SessionTransport, SessionKind, SessionCapability, AgentSessionStream, ReadChatCursor, ReadChatSyncResult, TransportTopic, SessionChatTailSubscriptionParams, SessionRuntimeOutputSubscriptionParams, MachineRuntimeSubscriptionParams, SessionHostDiagnosticsSubscriptionParams, SessionModalSubscriptionParams, DaemonMetadataSubscriptionParams, WorkspaceGitSubscriptionParams, SessionChatTailUpdate, MachineRuntimeUpdate, SessionHostDiagnosticsUpdate, SessionModalUpdate, DaemonMetadataUpdate, TopicUpdateEnvelope, SubscribeRequest, UnsubscribeRequest, StandaloneWsStatusPayload, AvailableProviderInfo, AcpConfigOption, AcpMode, ProviderControlSchema, StatusReportPayload, MachineInfo, SessionHostDiagnosticsSnapshot, SessionHostRecord, SessionHostWriteOwner, SessionHostAttachedClient, SessionHostLogEntry, SessionHostRequestTrace, SessionHostRuntimeTransition, DetectedIdeInfo, WorkspaceEntry, ProviderSummaryItem, ProviderSummaryMetadata, ProviderState, ProviderStatus, ProviderErrorReason, SessionActiveChatData, ActiveChatData, IdeProviderState, CliProviderState, AcpProviderState, ExtensionProviderState, } from './shared-types.js';
8
8
  export * from './git/index.js';
9
9
  import type { RuntimeWriteOwner as _RuntimeWriteOwner } from './shared-types-extra.js';
10
10
  import type { RuntimeAttachedClient as _RuntimeAttachedClient } from './shared-types-extra.js';