@turingfocus/chat-runtime 0.6.0 → 0.8.0

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.
@@ -1,5 +1,6 @@
1
- import { type AnswerInteractionInput, type AnswerInteractionSuccess, type ChatGateway, type ChatSnapshot, type Conversation, type ConversationPage, type CreateConversationInput, type GatewayRequestOptions, type GatewayResult, type InterruptRunInput, type InterruptRunSuccess, type ListConversationsInput, type LoadConversationInput, type SendTextInput, type SendTextSuccess } from "@turingfocus/chat-protocol";
2
- import { type SnapshotListener, type SnapshotSubscription } from "./snapshot-store.js";
1
+ import { type AnswerInteractionInput, type AnswerInteractionSuccess, type ChatGateway, type ChatSnapshot, type Conversation, type ConversationPage, type CreateConversationInput, type DeleteConversationInput, type DeleteConversationSuccess, type GatewayRequestOptions, type GatewayResult, type InterruptRunInput, type InterruptRunSuccess, type ListConversationsInput, type LoadConversationInput, type RenameConversationInput, type SendTextInput, type SendTextSuccess, type SendMessageInput, type SendMessageSuccess } from "@turingfocus/chat-protocol";
2
+ import { type SnapshotListener, type SnapshotStateListener, type SnapshotSubscription } from "./snapshot-store.js";
3
+ import { type ComposerDraft, type ComposerDraftListener, type SetComposerDraftInput } from "./composer-draft.js";
3
4
  export interface ChatClientOptions {
4
5
  /** The instance-owned transport port. ChatClient disposes it on shutdown. */
5
6
  readonly gateway: ChatGateway;
@@ -13,6 +14,7 @@ export interface ChatClientUnhandledError {
13
14
  readonly source: ChatClientUnhandledErrorSource;
14
15
  }
15
16
  export type ChatSnapshotListener = SnapshotListener;
17
+ export type ChatSnapshotStateListener = SnapshotStateListener;
16
18
  export type ChatClientSubscription = SnapshotSubscription;
17
19
  /**
18
20
  * Headless, instance-scoped owner of normalized chat state and commands.
@@ -24,6 +26,15 @@ export declare class ChatClient {
24
26
  get disposed(): boolean;
25
27
  getSnapshot(): ChatSnapshot | null;
26
28
  subscribe(listener: ChatSnapshotListener): ChatClientSubscription;
29
+ /** Subscribes to active snapshot state, including `null` after deletion. */
30
+ subscribeState(listener: ChatSnapshotStateListener): ChatClientSubscription;
31
+ getComposerDraft(conversationId: string): ComposerDraft;
32
+ setComposerDraft(input: SetComposerDraftInput): ComposerDraft;
33
+ subscribeComposerDraft(listener: ComposerDraftListener): ChatClientSubscription;
34
+ sendComposerDraft(input: GatewayRequestOptions & {
35
+ readonly conversationId: string;
36
+ readonly clientMessageId?: string | undefined;
37
+ }): Promise<GatewayResult<SendMessageSuccess>>;
27
38
  /**
28
39
  * Retires the current top-level conversation load without changing an
29
40
  * already committed snapshot. Once a snapshot commits, this is a no-op and
@@ -32,8 +43,11 @@ export declare class ChatClient {
32
43
  cancelPendingConversationLoad(): void;
33
44
  listConversations(input: ListConversationsInput): Promise<GatewayResult<ConversationPage>>;
34
45
  createConversation(input: CreateConversationInput): Promise<GatewayResult<Conversation>>;
46
+ renameConversation(input: RenameConversationInput): Promise<GatewayResult<Conversation>>;
47
+ deleteConversation(input: DeleteConversationInput): Promise<GatewayResult<DeleteConversationSuccess>>;
35
48
  loadConversation(input: LoadConversationInput): Promise<GatewayResult<ChatSnapshot>>;
36
49
  sendText(input: SendTextInput): Promise<GatewayResult<SendTextSuccess>>;
50
+ sendMessage(input: SendMessageInput): Promise<GatewayResult<SendMessageSuccess>>;
37
51
  answerInteraction(input: AnswerInteractionInput): Promise<GatewayResult<AnswerInteractionSuccess>>;
38
52
  interrupt(input: InterruptRunInput): Promise<GatewayResult<InterruptRunSuccess>>;
39
53
  dispose(options: GatewayRequestOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-client.d.ts","sourceRoot":"","sources":["../src/chat-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAG7B,KAAK,WAAW,EAChB,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAiBpC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EACxB,CAAC,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,MAAM,8BAA8B,GACxC,UAAU,GAAG,sBAAsB,CAAC;AAEtC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;CACjD;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACpD,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AA4E1D;;;GAGG;AACH,qBAAa,UAAU;;gBAoBT,OAAO,EAAE,iBAAiB;IAUtC,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,WAAW,IAAI,YAAY,GAAG,IAAI;IAIlC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,sBAAsB;IAIjE;;;;OAIG;IACH,6BAA6B,IAAI,IAAI;IAO/B,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAkBrC,kBAAkB,CACtB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IA2BjC,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAkJjC,QAAQ,CACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAiBpC,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAkI7C,SAAS,CACb,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAwC9C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6avD;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,iBAAiB,KAAG,UACrC,CAAC"}
1
+ {"version":3,"file":"chat-client.d.ts","sourceRoot":"","sources":["../src/chat-client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { answerInteractionInputSchema, createConversationInputSchema, createGatewayDeadlineExceededError, getAskUserInteractionAnswerValidationError, isGatewayDeadlineExceeded, isGatewayOperationSupported, listConversationsInputSchema, } from "@turingfocus/chat-protocol";
1
+ import { answerInteractionInputSchema, createConversationInputSchema, createGatewayDeadlineExceededError, deleteConversationInputSchema, getAskUserInteractionAnswerValidationError, isGatewayDeadlineExceeded, isChatLifecycleOperable, isGatewayOperationSupported, listConversationsInputSchema, renameConversationInputSchema, sendMessageInputSchema, } from "@turingfocus/chat-protocol";
2
2
  import { createGatewayNotificationQueue, } from "./gateway-notification-queue.js";
3
3
  import { cloneImmutable, deepEqual } from "./immutable.js";
4
4
  import { applySnapshotUpdate, applyRuntimeSnapshotError, createSnapshotState, rebaseSnapshotState, updateConversationId, updateSnapshotState, } from "./snapshot-state.js";
5
5
  import { SnapshotStore, } from "./snapshot-store.js";
6
6
  import { mergeHistoryTimeline } from "./timeline.js";
7
+ import { areComposerLongTextsValid, emptyComposerDraft, rebaseComposerLongTexts, resolveComposerDraftText, } from "./composer-draft.js";
7
8
  const runtimeFailure = (code, message, conversationId) => ({
8
9
  ok: false,
9
10
  error: cloneImmutable({
@@ -50,11 +51,17 @@ export class ChatClient {
50
51
  #generation = 0;
51
52
  #gatewaySubscription;
52
53
  #interactionAnswersInFlight = new Set();
54
+ #composerDrafts = new Map();
55
+ #composerListeners = new Set();
56
+ #composerSendsInFlight = new Map();
57
+ #messageSendsInFlight = new Map();
53
58
  #retiredInteractionIdentities = new Set();
54
59
  #supersededInteractionAnswers = new Set();
55
60
  #historyRequestId = 0;
56
61
  #loadRequestId = 0;
57
62
  #structuredGatewayErrorMarker;
63
+ #pendingLoadConversationId;
64
+ #pendingLoadConversationOverride;
58
65
  #pendingLoadRequestId;
59
66
  #pendingHandoff;
60
67
  constructor(options) {
@@ -75,6 +82,105 @@ export class ChatClient {
75
82
  subscribe(listener) {
76
83
  return this.#snapshotStore.subscribe(listener);
77
84
  }
85
+ /** Subscribes to active snapshot state, including `null` after deletion. */
86
+ subscribeState(listener) {
87
+ return this.#snapshotStore.subscribeState(listener);
88
+ }
89
+ getComposerDraft(conversationId) {
90
+ const existing = this.#composerDrafts.get(conversationId);
91
+ if (existing !== undefined)
92
+ return existing;
93
+ const empty = emptyComposerDraft(conversationId);
94
+ if (!this.#disposed)
95
+ this.#composerDrafts.set(conversationId, empty);
96
+ return empty;
97
+ }
98
+ setComposerDraft(input) {
99
+ if (this.#disposed)
100
+ return this.getComposerDraft(input.conversationId);
101
+ const current = this.getComposerDraft(input.conversationId);
102
+ const nextText = input.text ?? current.text;
103
+ const nextLongTexts = input.longTexts ??
104
+ rebaseComposerLongTexts(current.text, nextText, current.longTexts);
105
+ if (!areComposerLongTextsValid(nextText, nextLongTexts)) {
106
+ throw new TypeError("Composer long-text anchors are invalid");
107
+ }
108
+ const next = cloneImmutable({
109
+ conversationId: input.conversationId,
110
+ text: nextText,
111
+ attachments: input.attachments ?? current.attachments,
112
+ longTexts: nextLongTexts,
113
+ revision: current.revision + 1,
114
+ });
115
+ this.#composerDrafts.set(input.conversationId, next);
116
+ for (const listener of this.#composerListeners) {
117
+ try {
118
+ listener(next);
119
+ }
120
+ catch (cause) {
121
+ this.#reportUnhandledError({ cause, source: "listener" });
122
+ }
123
+ }
124
+ return next;
125
+ }
126
+ subscribeComposerDraft(listener) {
127
+ if (this.#disposed)
128
+ return { closed: true, dispose: () => undefined };
129
+ this.#composerListeners.add(listener);
130
+ let active = true;
131
+ return {
132
+ get closed() {
133
+ return !active;
134
+ },
135
+ dispose: () => {
136
+ if (!active)
137
+ return;
138
+ active = false;
139
+ this.#composerListeners.delete(listener);
140
+ },
141
+ };
142
+ }
143
+ async sendComposerDraft(input) {
144
+ const inFlightKey = input.clientMessageId === undefined
145
+ ? undefined
146
+ : `${input.conversationId.length}:${input.conversationId}:${input.clientMessageId}`;
147
+ if (inFlightKey !== undefined) {
148
+ const existing = this.#composerSendsInFlight.get(inFlightKey);
149
+ if (existing !== undefined)
150
+ return existing;
151
+ }
152
+ const draft = this.getComposerDraft(input.conversationId);
153
+ const operation = (async () => {
154
+ const result = await this.sendMessage({
155
+ conversationId: input.conversationId,
156
+ deadlineAt: input.deadlineAt,
157
+ text: resolveComposerDraftText(draft),
158
+ attachments: draft.attachments,
159
+ ...(input.clientMessageId === undefined
160
+ ? {}
161
+ : { clientMessageId: input.clientMessageId }),
162
+ });
163
+ if (result.ok && this.getComposerDraft(input.conversationId) === draft) {
164
+ this.setComposerDraft({
165
+ conversationId: input.conversationId,
166
+ text: "",
167
+ attachments: [],
168
+ longTexts: [],
169
+ });
170
+ }
171
+ return result;
172
+ })();
173
+ if (inFlightKey !== undefined) {
174
+ this.#composerSendsInFlight.set(inFlightKey, operation);
175
+ const clearInFlight = () => {
176
+ if (this.#composerSendsInFlight.get(inFlightKey) === operation) {
177
+ this.#composerSendsInFlight.delete(inFlightKey);
178
+ }
179
+ };
180
+ void operation.then(clearInFlight, clearInFlight);
181
+ }
182
+ return operation;
183
+ }
78
184
  /**
79
185
  * Retires the current top-level conversation load without changing an
80
186
  * already committed snapshot. Once a snapshot commits, this is a no-op and
@@ -84,6 +190,8 @@ export class ChatClient {
84
190
  if (this.#disposed || this.#pendingLoadRequestId === undefined)
85
191
  return;
86
192
  this.#loadRequestId += 1;
193
+ this.#pendingLoadConversationId = undefined;
194
+ this.#pendingLoadConversationOverride = undefined;
87
195
  this.#pendingLoadRequestId = undefined;
88
196
  this.#pendingHandoff = undefined;
89
197
  }
@@ -122,6 +230,110 @@ export class ChatClient {
122
230
  ? runtimeFailure("conflict", "Conversation creation was superseded")
123
231
  : result;
124
232
  }
233
+ async renameConversation(input) {
234
+ const parsed = renameConversationInputSchema.safeParse(input);
235
+ if (!parsed.success) {
236
+ return runtimeFailure("validation", "Conversation rename input is invalid");
237
+ }
238
+ if (this.#disposed) {
239
+ return runtimeFailure("conflict", "ChatClient has already been disposed");
240
+ }
241
+ if (isGatewayDeadlineExceeded(parsed.data)) {
242
+ return {
243
+ ok: false,
244
+ error: createGatewayDeadlineExceededError(parsed.data.conversationId),
245
+ };
246
+ }
247
+ if (this.#gateway.renameConversation === undefined) {
248
+ return runtimeFailure("unsupported", "Conversation rename is unavailable", parsed.data.conversationId);
249
+ }
250
+ const result = await this.#gateway.renameConversation(parsed.data);
251
+ if (this.#disposed) {
252
+ return runtimeFailure("conflict", "Conversation rename was superseded", parsed.data.conversationId);
253
+ }
254
+ if (!result.ok)
255
+ return result;
256
+ if (result.value.id !== parsed.data.conversationId) {
257
+ return runtimeFailure("validation", "Gateway renamed a different conversation", parsed.data.conversationId);
258
+ }
259
+ if (this.#pendingLoadConversationId === result.value.id) {
260
+ this.#pendingLoadConversationOverride = cloneImmutable(result.value);
261
+ }
262
+ const current = this.#snapshotStore.latestState();
263
+ if (current?.snapshot.conversation.id === result.value.id) {
264
+ this.#snapshotStore.commit(updateSnapshotState(current, {
265
+ conversation: cloneImmutable(result.value),
266
+ }));
267
+ }
268
+ return result;
269
+ }
270
+ async deleteConversation(input) {
271
+ const parsed = deleteConversationInputSchema.safeParse(input);
272
+ if (!parsed.success) {
273
+ return runtimeFailure("validation", "Conversation deletion input is invalid");
274
+ }
275
+ if (this.#disposed) {
276
+ return runtimeFailure("conflict", "ChatClient has already been disposed");
277
+ }
278
+ if (isGatewayDeadlineExceeded(parsed.data)) {
279
+ return {
280
+ ok: false,
281
+ error: createGatewayDeadlineExceededError(parsed.data.conversationId),
282
+ };
283
+ }
284
+ if (this.#gateway.deleteConversation === undefined) {
285
+ return runtimeFailure("unsupported", "Conversation deletion is unavailable", parsed.data.conversationId);
286
+ }
287
+ const result = await this.#gateway.deleteConversation(parsed.data);
288
+ if (this.#disposed) {
289
+ return runtimeFailure("conflict", "Conversation deletion was superseded", parsed.data.conversationId);
290
+ }
291
+ if (result.ok &&
292
+ result.value.deletedConversationId !== parsed.data.conversationId) {
293
+ return runtimeFailure("validation", "Gateway deleted a different conversation", parsed.data.conversationId);
294
+ }
295
+ if (result.ok) {
296
+ this.#composerDrafts.delete(parsed.data.conversationId);
297
+ const sendKeyPrefix = `${parsed.data.conversationId.length}:${parsed.data.conversationId}:`;
298
+ for (const key of this.#composerSendsInFlight.keys()) {
299
+ if (key.startsWith(sendKeyPrefix))
300
+ this.#composerSendsInFlight.delete(key);
301
+ }
302
+ for (const key of this.#messageSendsInFlight.keys()) {
303
+ if (key.startsWith(sendKeyPrefix))
304
+ this.#messageSendsInFlight.delete(key);
305
+ }
306
+ }
307
+ if (result.ok &&
308
+ this.#pendingLoadConversationId === parsed.data.conversationId) {
309
+ this.#loadRequestId += 1;
310
+ this.#pendingLoadConversationId = undefined;
311
+ this.#pendingLoadConversationOverride = undefined;
312
+ this.#pendingLoadRequestId = undefined;
313
+ this.#pendingHandoff = undefined;
314
+ }
315
+ if (result.ok &&
316
+ this.#snapshotStore.state?.snapshot.conversation.id ===
317
+ parsed.data.conversationId) {
318
+ const subscription = this.#gatewaySubscription;
319
+ this.#gatewaySubscription = undefined;
320
+ this.#conversationEpoch += 1;
321
+ this.#generation += 1;
322
+ this.#historyRequestId += 1;
323
+ this.#loadRequestId += 1;
324
+ this.#pendingLoadConversationId = undefined;
325
+ this.#pendingLoadConversationOverride = undefined;
326
+ this.#pendingLoadRequestId = undefined;
327
+ this.#pendingHandoff = undefined;
328
+ this.#structuredGatewayErrorMarker = undefined;
329
+ this.#interactionAnswersInFlight.clear();
330
+ this.#retiredInteractionIdentities.clear();
331
+ this.#supersededInteractionAnswers.clear();
332
+ this.#snapshotStore.clear();
333
+ await this.#runSubscriptionCleanup(() => subscription?.dispose(parsed.data), parsed.data.conversationId);
334
+ }
335
+ return result;
336
+ }
125
337
  async loadConversation(input) {
126
338
  if (this.#disposed) {
127
339
  return runtimeFailure("conflict", "ChatClient has already been disposed", input.conversationId);
@@ -132,6 +344,8 @@ export class ChatClient {
132
344
  if (this.#disposed) {
133
345
  return runtimeFailure("conflict", "Conversation load was superseded", input.conversationId);
134
346
  }
347
+ this.#pendingLoadConversationId = input.conversationId;
348
+ this.#pendingLoadConversationOverride = undefined;
135
349
  this.#pendingLoadRequestId = requestId;
136
350
  const notificationQueue = createGatewayNotificationQueue((notification, generation) => {
137
351
  if (notification.kind === "update") {
@@ -204,7 +418,13 @@ export class ChatClient {
204
418
  loaded.value.capabilities.liveUpdates && subscribed.ok
205
419
  ? subscribed.value
206
420
  : undefined;
207
- const loadedState = createSnapshotState(loaded.value);
421
+ const conversationOverride = this.#pendingLoadRequestId === requestId &&
422
+ this.#pendingLoadConversationId === input.conversationId
423
+ ? this.#pendingLoadConversationOverride
424
+ : undefined;
425
+ const loadedState = createSnapshotState(conversationOverride === undefined
426
+ ? loaded.value
427
+ : { ...loaded.value, conversation: conversationOverride });
208
428
  const currentState = this.#snapshotStore.state;
209
429
  const handoff = this.#pendingHandoff;
210
430
  let nextState = handoff?.requestId === requestId && currentState !== null
@@ -239,6 +459,58 @@ export class ChatClient {
239
459
  this.#reportError(result.error, generation, "command");
240
460
  return result;
241
461
  }
462
+ async sendMessage(input) {
463
+ const parsed = sendMessageInputSchema.safeParse(input);
464
+ if (!parsed.success) {
465
+ return runtimeFailure("validation", "Message input is invalid", typeof input.conversationId === "string"
466
+ ? input.conversationId
467
+ : undefined);
468
+ }
469
+ const command = parsed.data;
470
+ const attachments = command.attachments ?? [];
471
+ if (attachments.length === 0) {
472
+ return this.sendText({
473
+ conversationId: command.conversationId,
474
+ deadlineAt: command.deadlineAt,
475
+ text: command.text ?? "",
476
+ ...(command.clientMessageId === undefined
477
+ ? {}
478
+ : { clientMessageId: command.clientMessageId }),
479
+ });
480
+ }
481
+ const state = this.#activeState(command.conversationId);
482
+ if (!state.ok)
483
+ return state;
484
+ if (!isGatewayOperationSupported(state.value.capabilities, "sendAttachments") ||
485
+ this.#gateway.sendMessage === undefined) {
486
+ return runtimeFailure("unsupported", "Attachment sending is unavailable", command.conversationId);
487
+ }
488
+ const inFlightKey = command.clientMessageId === undefined
489
+ ? undefined
490
+ : `${command.conversationId.length}:${command.conversationId}:${command.clientMessageId}`;
491
+ if (inFlightKey !== undefined) {
492
+ const existing = this.#messageSendsInFlight.get(inFlightKey);
493
+ if (existing !== undefined)
494
+ return existing;
495
+ }
496
+ const generation = this.#generation;
497
+ const operation = (async () => {
498
+ const result = await this.#gateway.sendMessage(command);
499
+ if (!result.ok && !this.#disposed)
500
+ this.#reportError(result.error, generation, "command");
501
+ return result;
502
+ })();
503
+ if (inFlightKey !== undefined) {
504
+ this.#messageSendsInFlight.set(inFlightKey, operation);
505
+ const clearInFlight = () => {
506
+ if (this.#messageSendsInFlight.get(inFlightKey) === operation) {
507
+ this.#messageSendsInFlight.delete(inFlightKey);
508
+ }
509
+ };
510
+ void operation.then(clearInFlight, clearInFlight);
511
+ }
512
+ return operation;
513
+ }
242
514
  async answerInteraction(input) {
243
515
  const parsed = answerInteractionInputSchema.safeParse(input);
244
516
  if (!parsed.success) {
@@ -344,7 +616,13 @@ export class ChatClient {
344
616
  this.#interactionAnswersInFlight.clear();
345
617
  this.#retiredInteractionIdentities.clear();
346
618
  this.#supersededInteractionAnswers.clear();
619
+ this.#composerSendsInFlight.clear();
620
+ this.#messageSendsInFlight.clear();
621
+ this.#composerDrafts.clear();
622
+ this.#composerListeners.clear();
347
623
  this.#loadRequestId += 1;
624
+ this.#pendingLoadConversationId = undefined;
625
+ this.#pendingLoadConversationOverride = undefined;
348
626
  this.#pendingLoadRequestId = undefined;
349
627
  this.#pendingHandoff = undefined;
350
628
  this.#snapshotStore.close();
@@ -425,11 +703,7 @@ export class ChatClient {
425
703
  return runtimeFailure("conflict", "Conversation is not active in this ChatClient", conversationId);
426
704
  }
427
705
  const lifecycle = this.#snapshotStore.state.snapshot.lifecycle;
428
- if (lifecycle !== undefined &&
429
- (lifecycle.status !== "active" ||
430
- lifecycle.recovery?.complete === false ||
431
- ((lifecycle.reconnectAttempt ?? 0) > 0 &&
432
- lifecycle.recovery?.complete !== true))) {
706
+ if (lifecycle !== undefined && !isChatLifecycleOperable(lifecycle)) {
433
707
  return runtimeFailure(lifecycle.status === "auth-required"
434
708
  ? "authentication"
435
709
  : lifecycle.status === "subscription-failed"
@@ -454,6 +728,8 @@ export class ChatClient {
454
728
  }
455
729
  #clearPendingLoad(requestId) {
456
730
  if (this.#pendingLoadRequestId === requestId) {
731
+ this.#pendingLoadConversationId = undefined;
732
+ this.#pendingLoadConversationOverride = undefined;
457
733
  this.#pendingLoadRequestId = undefined;
458
734
  }
459
735
  if (this.#pendingHandoff?.requestId === requestId) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-client.js","sourceRoot":"","sources":["../src/chat-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-client.js","sourceRoot":"","sources":["../src/chat-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { UploadedAttachment } from "@turingfocus/chat-protocol";
2
+ export interface ComposerLongText {
3
+ readonly content: string;
4
+ /** Exclusive end offset of the visible placeholder in ComposerDraft.text. */
5
+ readonly end: number;
6
+ readonly id: string;
7
+ /** Visible placeholder text. It is never used as a replacement key. */
8
+ readonly label: string;
9
+ /** Inclusive start offset of the visible placeholder. */
10
+ readonly start: number;
11
+ }
12
+ export interface ComposerDraft {
13
+ readonly attachments: readonly UploadedAttachment[];
14
+ readonly conversationId: string;
15
+ readonly longTexts: readonly ComposerLongText[];
16
+ readonly revision: number;
17
+ readonly text: string;
18
+ }
19
+ export interface SetComposerDraftInput {
20
+ readonly attachments?: readonly UploadedAttachment[] | undefined;
21
+ readonly conversationId: string;
22
+ readonly longTexts?: readonly ComposerLongText[] | undefined;
23
+ readonly text?: string | undefined;
24
+ }
25
+ export interface ComposerTextEdit {
26
+ /** End offset in the new text after the inserted replacement. */
27
+ readonly nextEnd: number;
28
+ /** Replaced range end in the previous text. */
29
+ readonly previousEnd: number;
30
+ /** Replaced range start in the previous text. */
31
+ readonly previousStart: number;
32
+ }
33
+ export type ComposerDraftListener = (draft: ComposerDraft) => void;
34
+ export declare const areComposerLongTextsValid: (text: string, longTexts: readonly ComposerLongText[]) => boolean;
35
+ export declare const emptyComposerDraft: (conversationId: string) => ComposerDraft;
36
+ export declare const resolveComposerDraftText: (draft: ComposerDraft) => string;
37
+ /** Reanchors long-text nodes after one textarea edit. Edited nodes are removed. */
38
+ export declare const rebaseComposerLongTexts: (previousText: string, nextText: string, longTexts: readonly ComposerLongText[], edit?: ComposerTextEdit) => readonly ComposerLongText[];
39
+ //# sourceMappingURL=composer-draft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-draft.d.ts","sourceRoot":"","sources":["../src/composer-draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAEnE,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,WAAW,SAAS,gBAAgB,EAAE,KACrC,OAsBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,KAAG,aAOxD,CAAC;AAEL,eAAO,MAAM,wBAAwB,GAAI,OAAO,aAAa,KAAG,MAmB/D,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,GAClC,cAAc,MAAM,EACpB,UAAU,MAAM,EAChB,WAAW,SAAS,gBAAgB,EAAE,EACtC,OAAO,gBAAgB,KACtB,SAAS,gBAAgB,EA2D3B,CAAC"}