@crossworks/client-types 0.238.8 → 0.238.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossworks/client-types",
3
- "version": "0.238.8",
3
+ "version": "0.238.11",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
package/src/dto/rows.ts CHANGED
@@ -878,6 +878,13 @@ export type ContextSnapshot = {
878
878
  toolRecords: number;
879
879
  /** How many turns carried a [media record: …] read-back suffix. */
880
880
  mediaRecords: number;
881
+ /** Start of the open chat thread (ISO) when the chat was ever archived
882
+ * ("New chat", docs/conversation.md §6c): older turns and digests are
883
+ * out of the prompt. Absent on a never-archived chat. */
884
+ since?: string;
885
+ /** Title of the archived thread this chat continues from, when the open
886
+ * thread was started with "Continue from this". */
887
+ continuedFrom?: string;
881
888
  };
882
889
  personaNotes: { count: number };
883
890
  corpusMap: { count: number; truncated: boolean };
package/src/dto/views.ts CHANGED
@@ -452,6 +452,39 @@ export type AssistantAgentOption = {
452
452
  model: string;
453
453
  };
454
454
 
455
+ /**
456
+ * One thread of an agent's chat (chat archive, migration 0231,
457
+ * docs/conversation.md §6c). A thread is a time range over the agent's
458
+ * messages: the open thread is the live chat, an archived one is read-only
459
+ * and can seed a new chat ("Continue from this").
460
+ */
461
+ export type ChatThreadRow = {
462
+ id: string;
463
+ agentId: string;
464
+ status: 'open' | 'archived';
465
+ /** Model-written title (or the first user line when the summary failed);
466
+ * null on an open thread. */
467
+ title: string | null;
468
+ startedAt: string;
469
+ /** Null on the open thread. */
470
+ archivedAt: string | null;
471
+ /** Complete turns in the thread when it was archived (0 while open). */
472
+ turnCount: number;
473
+ /** The archive summary, null until written (or when the model call failed). */
474
+ summary: string | null;
475
+ summaryNodeId: string | null;
476
+ /** The archived thread this one was started from with "Continue from this". */
477
+ continuedFrom: { id: string; title: string | null } | null;
478
+ };
479
+
480
+ /** POST /api/assistant/threads (New chat) and .../continue. */
481
+ export type ChatArchiveResponse = {
482
+ /** The thread just archived; null when the chat was empty. */
483
+ archived: ChatThreadRow | null;
484
+ /** The open thread now. */
485
+ open: ChatThreadRow | null;
486
+ };
487
+
455
488
  export type AssistantTimelineRow = {
456
489
  id: string;
457
490
  direction: 'inbound' | 'outbound';