@turingfocus/chat-gateway-tfrobot 0.6.0 → 0.7.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.
package/dist/dto.d.ts CHANGED
@@ -1,4 +1,9 @@
1
1
  import { z } from "zod/v4";
2
+ interface TransportTaskIdFields {
3
+ readonly taskId?: number | string | null | undefined;
4
+ readonly task_id?: number | string | null | undefined;
5
+ }
6
+ export declare const getTransportTaskId: (value: TransportTaskIdFields) => string | undefined;
2
7
  export declare const outboundMessageCreatorSchema: z.ZodObject<{
3
8
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4
9
  name: z.ZodString;
@@ -24,6 +29,10 @@ export declare const conversationPageDtoSchema: z.ZodObject<{
24
29
  }, z.core.$loose>>>;
25
30
  cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
31
  }, z.core.$loose>;
32
+ export declare const deleteConversationDtoSchema: z.ZodObject<{
33
+ conversationId: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
34
+ message: z.ZodString;
35
+ }, z.core.$loose>;
27
36
  export declare const messageCreatorDtoSchema: z.ZodObject<{
28
37
  avatar: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
38
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -125,13 +134,16 @@ export declare const historyDtoSchema: z.ZodObject<{
125
134
  export declare const statusDtoSchema: z.ZodObject<{
126
135
  startedAt: z.ZodOptional<z.ZodNumber>;
127
136
  taskId: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
137
+ task_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
128
138
  working: z.ZodBoolean;
129
139
  }, z.core.$loose>;
130
140
  export declare const sendTextDtoSchema: z.ZodObject<{
131
141
  taskId: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
142
+ task_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
132
143
  }, z.core.$loose>;
133
144
  export declare const interruptDtoSchema: z.ZodObject<{
134
- taskId: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
145
+ taskId: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
146
+ task_id: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
135
147
  }, z.core.$loose>;
136
148
  export declare const chatErrorEventDtoSchema: z.ZodObject<{
137
149
  conversationId: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
@@ -155,4 +167,5 @@ export type EventDto = z.infer<typeof eventDtoSchema>;
155
167
  export type HistoryDto = z.infer<typeof historyDtoSchema>;
156
168
  export type MessageDto = z.infer<typeof messageDtoSchema>;
157
169
  export type StatusDto = z.infer<typeof statusDtoSchema>;
170
+ export {};
158
171
  //# sourceMappingURL=dto.d.ts.map
package/dist/dto.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAuC3B,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe3B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;iBAYzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACvD;AAED,eAAO,MAAM,kBAAkB,GAC7B,OAAO,qBAAqB,KAC3B,MAAM,GAAG,SAGX,CAAC;AAmDF,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe3B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;iBAYzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;iBAOkB,CAAC;AAE/C,eAAO,MAAM,iBAAiB;;;iBAKgB,CAAC;AAE/C,eAAO,MAAM,kBAAkB;;;iBAc3B,CAAC;AAEL,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
package/dist/dto.js CHANGED
@@ -3,6 +3,21 @@ const identifierSchema = z.union([
3
3
  z.number().finite(),
4
4
  z.string().trim().min(1),
5
5
  ]);
6
+ export const getTransportTaskId = (value) => {
7
+ const taskId = value.taskId ?? value.task_id;
8
+ return taskId == null ? undefined : String(taskId);
9
+ };
10
+ const validateTransportTaskIdAliases = (value, context) => {
11
+ if (value.taskId != null &&
12
+ value.task_id != null &&
13
+ String(value.taskId) !== String(value.task_id)) {
14
+ context.addIssue({
15
+ code: "custom",
16
+ message: "taskId and task_id must identify the same task",
17
+ path: ["task_id"],
18
+ });
19
+ }
20
+ };
6
21
  const nullableStringSchema = z.string().nullable().optional();
7
22
  const opaqueReasoningEntryDtoSchema = z
8
23
  .looseObject({
@@ -55,6 +70,10 @@ export const conversationPageDtoSchema = z.looseObject({
55
70
  conversations: z.array(conversationDtoSchema).nullable(),
56
71
  cursor: z.string().nullable().optional(),
57
72
  });
73
+ export const deleteConversationDtoSchema = z.looseObject({
74
+ conversationId: identifierSchema,
75
+ message: z.string(),
76
+ });
58
77
  export const messageCreatorDtoSchema = z.looseObject({
59
78
  avatar: nullableStringSchema,
60
79
  name: nullableStringSchema,
@@ -94,16 +113,34 @@ export const historyDtoSchema = z.looseObject({
94
113
  events: z.array(eventDtoSchema).nullable(),
95
114
  messages: z.array(messageDtoSchema).nullable(),
96
115
  });
97
- export const statusDtoSchema = z.looseObject({
116
+ export const statusDtoSchema = z
117
+ .looseObject({
98
118
  startedAt: z.number().finite().nonnegative().optional(),
99
119
  taskId: identifierSchema.nullable().optional(),
120
+ task_id: identifierSchema.nullable().optional(),
100
121
  working: z.boolean(),
101
- });
102
- export const sendTextDtoSchema = z.looseObject({
122
+ })
123
+ .superRefine(validateTransportTaskIdAliases);
124
+ export const sendTextDtoSchema = z
125
+ .looseObject({
103
126
  taskId: identifierSchema.optional(),
104
- });
105
- export const interruptDtoSchema = z.looseObject({
106
- taskId: identifierSchema,
127
+ task_id: identifierSchema.optional(),
128
+ })
129
+ .superRefine(validateTransportTaskIdAliases);
130
+ export const interruptDtoSchema = z
131
+ .looseObject({
132
+ taskId: identifierSchema.optional(),
133
+ task_id: identifierSchema.optional(),
134
+ })
135
+ .superRefine((value, context) => {
136
+ validateTransportTaskIdAliases(value, context);
137
+ if (getTransportTaskId(value) === undefined) {
138
+ context.addIssue({
139
+ code: "custom",
140
+ message: "an interrupt response requires taskId or task_id",
141
+ path: ["taskId"],
142
+ });
143
+ }
107
144
  });
108
145
  export const chatErrorEventDtoSchema = z.looseObject({
109
146
  conversationId: identifierSchema,
package/dist/dto.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dto.js","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dto.js","sourceRoot":"","sources":["../src/dto.ts"],"names":[],"mappings":"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"}
package/dist/gateway.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ChatGateway, type Conversation, type ConversationPage, type CreateConversationInput, type GatewayObserver, type GatewayRequestOptions, type GatewayResult, type GatewaySubscription, type InterruptRunInput, type InterruptRunSuccess, type ListConversationsInput, type LoadConversationInput, type SendTextInput, type SendTextSuccess, type SubscribeConversationInput } from "@turingfocus/chat-protocol";
1
+ import { type ChatGateway, type Conversation, type ConversationPage, type CreateConversationInput, type DeleteConversationInput, type DeleteConversationSuccess, type GatewayObserver, type GatewayRequestOptions, type GatewayResult, type GatewaySubscription, type InterruptRunInput, type InterruptRunSuccess, type ListConversationsInput, type LoadConversationInput, type RenameConversationInput, type SendTextInput, type SendTextSuccess, type SubscribeConversationInput } from "@turingfocus/chat-protocol";
2
2
  import { mapSnapshot, TFROBOT_CAPABILITIES } from "./mapper.js";
3
3
  import type { TFRobotGatewayOptions } from "./types.js";
4
4
  export declare class TFRobotChatGateway implements ChatGateway {
@@ -6,6 +6,8 @@ export declare class TFRobotChatGateway implements ChatGateway {
6
6
  constructor(options: TFRobotGatewayOptions);
7
7
  listConversations(input: ListConversationsInput): Promise<GatewayResult<ConversationPage>>;
8
8
  createConversation(input: CreateConversationInput): Promise<GatewayResult<Conversation>>;
9
+ renameConversation(input: RenameConversationInput): Promise<GatewayResult<Conversation>>;
10
+ deleteConversation(input: DeleteConversationInput): Promise<GatewayResult<DeleteConversationSuccess>>;
9
11
  loadConversation(input: LoadConversationInput): Promise<GatewayResult<ReturnType<typeof mapSnapshot>>>;
10
12
  subscribe(input: SubscribeConversationInput, observer: GatewayObserver): Promise<GatewayResult<GatewaySubscription>>;
11
13
  sendText(input: SendTextInput): Promise<GatewayResult<SendTextSuccess>>;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AAapC,OAAO,EAEL,WAAW,EAEX,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,qBAAqB,EAAyB,MAAM,YAAY,CAAC;AAY/E,qBAAa,kBAAmB,YAAW,WAAW;;gBAUxC,OAAO,EAAE,qBAAqB;IA2BpC,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IA+CrC,kBAAkB,CACtB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAqCjC,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;IAoEzD,SAAS,CACP,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAOxC,QAAQ,CACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IA2CpC,SAAS,CACb,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAsC9C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;CAiH9C;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,qBAAqB,KAC7B,WAA8C,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EAEhB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAChC,MAAM,4BAA4B,CAAC;AAepC,OAAO,EAKL,WAAW,EAEX,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,qBAAqB,EAAyB,MAAM,YAAY,CAAC;AAwB/E,qBAAa,kBAAmB,YAAW,WAAW;;gBAYxC,OAAO,EAAE,qBAAqB;IA8BpC,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAwDrC,kBAAkB,CACtB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IA2CjC,kBAAkB,CACtB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAkDjC,kBAAkB,CACtB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAuC9C,gBAAgB,CACpB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;IAoFzD,SAAS,CACP,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAOxC,QAAQ,CACZ,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IA0CpC,SAAS,CACb,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAsC9C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;CA+R9C;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,qBAAqB,KAC7B,WAA8C,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
package/dist/gateway.js CHANGED
@@ -1,16 +1,17 @@
1
1
  import { chatErrorSchema, compareTimelineItems, createGatewayDeadlineExceededError, isGatewayDeadlineExceeded, } from "@turingfocus/chat-protocol";
2
2
  import { awaitBounded } from "./bounded.js";
3
- import { conversationDtoSchema, conversationPageDtoSchema, historyDtoSchema, interruptDtoSchema, outboundMessageCreatorSchema, sendTextDtoSchema, statusDtoSchema, } from "./dto.js";
3
+ import { conversationDtoSchema, conversationPageDtoSchema, deleteConversationDtoSchema, getTransportTaskId, historyDtoSchema, interruptDtoSchema, outboundMessageCreatorSchema, sendTextDtoSchema, statusDtoSchema, } from "./dto.js";
4
4
  import { TFRobotHttpClient } from "./http.js";
5
- import { mapConversation, mapSnapshot, syntheticRunId, TFROBOT_CAPABILITIES, } from "./mapper.js";
6
- import { TFRobotSocketClient } from "./socket.js";
5
+ import { mapConversation, mapEventUpdate, mapMessageUpdate, mapRun, mapSnapshot, syntheticRunId, TFROBOT_CAPABILITIES, } from "./mapper.js";
6
+ import { recoveryIdentityOfUpdate, TFRobotSocketClient, } from "./socket.js";
7
7
  const DEFAULT_PAGE_SIZE = 20;
8
8
  const MAX_PAGE_SIZE = 100;
9
9
  const RECONNECT_STATUS_TIMEOUT_MS = 10_000;
10
10
  const limitOf = (limit) => Math.min(limit ?? DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE);
11
- const conversationPath = (conversationId, suffix) => `v1/chat/conversations/${encodeURIComponent(conversationId)}/${suffix}`;
11
+ const conversationPath = (conversationId, suffix) => `v1/chat/conversations/${encodeURIComponent(conversationId)}${suffix.length === 0 ? "" : `/${suffix}`}`;
12
12
  export class TFRobotChatGateway {
13
13
  #conversations = new Map();
14
+ #conversationMutations = new Map();
14
15
  #disposed = false;
15
16
  #http;
16
17
  #lifecycle = new AbortController();
@@ -18,6 +19,7 @@ export class TFRobotChatGateway {
18
19
  #options;
19
20
  #socket;
20
21
  #transportConversationIds = new Map();
22
+ #mutationRevision = 0;
21
23
  constructor(options) {
22
24
  for (const endpoint of [options.baseUrl, options.socketNamespaceUrl]) {
23
25
  if (endpoint === undefined)
@@ -39,12 +41,13 @@ export class TFRobotChatGateway {
39
41
  },
40
42
  conversationId,
41
43
  schema: statusDtoSchema,
42
- }));
44
+ }), (input) => this.#loadCurrentServerRestSnapshot(input));
43
45
  }
44
46
  async listConversations(input) {
45
47
  const disposed = this.#disposedResult();
46
48
  if (disposed !== undefined)
47
49
  return disposed;
50
+ const readRevision = this.#mutationRevision;
48
51
  const result = await this.#http.request({
49
52
  method: "GET",
50
53
  path: "v1/chat/conversations",
@@ -73,14 +76,19 @@ export class TFRobotChatGateway {
73
76
  const mappingDeadline = this.#deadlineResult(input);
74
77
  if (mappingDeadline !== undefined)
75
78
  return mappingDeadline;
79
+ const visibleConversations = [];
76
80
  for (const [index, conversation] of conversations.entries()) {
77
- this.#conversations.set(conversation.id, conversation);
78
- this.#transportConversationIds.set(conversation.id, transportConversations[index].conversationId);
81
+ const resolved = this.#resolveConversationRead(conversation, transportConversations[index].conversationId, readRevision);
82
+ if (resolved === undefined)
83
+ continue;
84
+ visibleConversations.push(resolved.conversation);
85
+ this.#conversations.set(resolved.conversation.id, resolved.conversation);
86
+ this.#transportConversationIds.set(resolved.conversation.id, resolved.transportConversationId);
79
87
  }
80
88
  return {
81
89
  ok: true,
82
90
  value: {
83
- conversations,
91
+ conversations: visibleConversations,
84
92
  ...(result.value.cursor == null || result.value.cursor.length === 0
85
93
  ? {}
86
94
  : { nextCursor: result.value.cursor }),
@@ -122,12 +130,100 @@ export class TFRobotChatGateway {
122
130
  return mappingDeadline;
123
131
  this.#conversations.set(conversation.id, conversation);
124
132
  this.#transportConversationIds.set(conversation.id, result.value.conversationId);
133
+ this.#conversationMutations.set(conversation.id, {
134
+ conversation,
135
+ kind: "rename",
136
+ revision: ++this.#mutationRevision,
137
+ transportConversationId: result.value.conversationId,
138
+ });
125
139
  return { ok: true, value: conversation };
126
140
  }
141
+ async renameConversation(input) {
142
+ const disposed = this.#disposedResult();
143
+ if (disposed !== undefined)
144
+ return disposed;
145
+ const transportConversationId = this.#transportConversationIds.get(input.conversationId) ??
146
+ input.conversationId;
147
+ const result = await this.#http.request({
148
+ method: "PATCH",
149
+ path: conversationPath(String(transportConversationId), ""),
150
+ operation: "send",
151
+ options: input,
152
+ conversationId: input.conversationId,
153
+ query: { title: input.title },
154
+ body: { title: input.title },
155
+ schema: conversationDtoSchema,
156
+ });
157
+ const requestDisposed = this.#disposedResult();
158
+ if (requestDisposed !== undefined)
159
+ return requestDisposed;
160
+ const requestDeadline = this.#deadlineResult(input);
161
+ if (requestDeadline !== undefined)
162
+ return requestDeadline;
163
+ if (!result.ok)
164
+ return result;
165
+ let conversation;
166
+ try {
167
+ conversation = mapConversation(result.value);
168
+ }
169
+ catch {
170
+ return this.#mappingError("TFRobot renamed conversation could not be normalized", input.conversationId);
171
+ }
172
+ if (conversation.id !== input.conversationId) {
173
+ return this.#mappingError("TFRobot rename response identified another conversation", input.conversationId);
174
+ }
175
+ this.#conversations.set(conversation.id, conversation);
176
+ this.#transportConversationIds.set(conversation.id, result.value.conversationId);
177
+ this.#conversationMutations.set(conversation.id, {
178
+ conversation,
179
+ kind: "rename",
180
+ revision: ++this.#mutationRevision,
181
+ transportConversationId: result.value.conversationId,
182
+ });
183
+ return { ok: true, value: conversation };
184
+ }
185
+ async deleteConversation(input) {
186
+ const disposed = this.#disposedResult();
187
+ if (disposed !== undefined)
188
+ return disposed;
189
+ const transportConversationId = this.#transportConversationIds.get(input.conversationId) ??
190
+ input.conversationId;
191
+ const result = await this.#http.request({
192
+ method: "DELETE",
193
+ path: conversationPath(String(transportConversationId), ""),
194
+ operation: "send",
195
+ options: input,
196
+ conversationId: input.conversationId,
197
+ schema: deleteConversationDtoSchema,
198
+ });
199
+ const requestDisposed = this.#disposedResult();
200
+ if (requestDisposed !== undefined)
201
+ return requestDisposed;
202
+ const requestDeadline = this.#deadlineResult(input);
203
+ if (requestDeadline !== undefined)
204
+ return requestDeadline;
205
+ if (!result.ok)
206
+ return result;
207
+ if (String(result.value.conversationId) !== input.conversationId) {
208
+ return this.#mappingError("TFRobot delete response identified another conversation", input.conversationId);
209
+ }
210
+ this.#conversations.delete(input.conversationId);
211
+ this.#transportConversationIds.delete(input.conversationId);
212
+ this.#conversationMutations.set(input.conversationId, {
213
+ kind: "delete",
214
+ revision: ++this.#mutationRevision,
215
+ });
216
+ this.#socket.forgetConversation(input.conversationId);
217
+ return {
218
+ ok: true,
219
+ value: { deletedConversationId: input.conversationId },
220
+ };
221
+ }
127
222
  async loadConversation(input) {
128
223
  const disposed = this.#disposedResult();
129
224
  if (disposed !== undefined)
130
225
  return disposed;
226
+ const readRevision = this.#mutationRevision;
131
227
  if (!this.#conversations.has(input.conversationId)) {
132
228
  await this.listConversations({
133
229
  deadlineAt: input.deadlineAt,
@@ -167,15 +263,25 @@ export class TFRobotChatGateway {
167
263
  return history;
168
264
  if (!status.ok)
169
265
  return status;
266
+ const mutation = this.#conversationMutations.get(input.conversationId);
267
+ if (mutation?.revision !== undefined &&
268
+ mutation.revision > readRevision &&
269
+ mutation.kind === "delete") {
270
+ return this.#mutationConflict("Conversation was deleted while its snapshot was loading", input.conversationId);
271
+ }
170
272
  let snapshot;
171
273
  try {
172
- const conversation = this.#conversations.get(input.conversationId) ??
173
- mapConversation({
174
- conversationId: input.conversationId,
175
- title: input.conversationId,
176
- });
274
+ const conversation = mutation !== undefined &&
275
+ mutation.revision > readRevision &&
276
+ mutation.kind === "rename"
277
+ ? mutation.conversation
278
+ : (this.#conversations.get(input.conversationId) ??
279
+ mapConversation({
280
+ conversationId: input.conversationId,
281
+ title: input.conversationId,
282
+ }));
177
283
  snapshot = mapSnapshot(conversation, history.value, status.value);
178
- this.#socket.rememberRun(input.conversationId, snapshot.run);
284
+ this.#socket.rememberSnapshot(snapshot);
179
285
  }
180
286
  catch {
181
287
  return this.#mappingError("TFRobot conversation snapshot could not be normalized");
@@ -236,9 +342,8 @@ export class TFRobotChatGateway {
236
342
  ? {
237
343
  ok: true,
238
344
  value: {
239
- runId: result.value.taskId != null
240
- ? String(result.value.taskId)
241
- : syntheticRunId(input.conversationId),
345
+ runId: getTransportTaskId(result.value) ??
346
+ syntheticRunId(input.conversationId),
242
347
  },
243
348
  }
244
349
  : result;
@@ -274,7 +379,7 @@ export class TFRobotChatGateway {
274
379
  ? {
275
380
  ok: true,
276
381
  value: {
277
- cancellationId: String(result.value.taskId),
382
+ cancellationId: getTransportTaskId(result.value),
278
383
  interruptedRunId: input.runId,
279
384
  },
280
385
  }
@@ -288,6 +393,7 @@ export class TFRobotChatGateway {
288
393
  this.#socket.dispose();
289
394
  this.#http.dispose();
290
395
  this.#conversations.clear();
396
+ this.#conversationMutations.clear();
291
397
  this.#transportConversationIds.clear();
292
398
  if (isGatewayDeadlineExceeded(options, this.#now()))
293
399
  return;
@@ -312,16 +418,159 @@ export class TFRobotChatGateway {
312
418
  }),
313
419
  };
314
420
  }
315
- #mappingError(message) {
421
+ #mappingError(message, conversationId) {
316
422
  return {
317
423
  ok: false,
318
424
  error: chatErrorSchema.parse({
319
425
  code: "validation",
320
426
  message,
321
427
  retryable: false,
428
+ ...(conversationId === undefined ? {} : { conversationId }),
429
+ }),
430
+ };
431
+ }
432
+ #mutationConflict(message, conversationId) {
433
+ return {
434
+ ok: false,
435
+ error: chatErrorSchema.parse({
436
+ code: "conflict",
437
+ conversationId,
438
+ message,
439
+ retryable: false,
322
440
  }),
323
441
  };
324
442
  }
443
+ #resolveConversationRead(conversation, transportConversationId, readRevision) {
444
+ const mutation = this.#conversationMutations.get(conversation.id);
445
+ if (mutation === undefined || mutation.revision <= readRevision) {
446
+ return { conversation, transportConversationId };
447
+ }
448
+ return mutation.kind === "delete"
449
+ ? undefined
450
+ : {
451
+ conversation: mutation.conversation,
452
+ transportConversationId: mutation.transportConversationId,
453
+ };
454
+ }
455
+ async #loadCurrentServerRestSnapshot(input) {
456
+ const status = await this.#http.request({
457
+ method: "GET",
458
+ path: conversationPath(input.conversationId, "status"),
459
+ operation: "read",
460
+ options: input,
461
+ conversationId: input.conversationId,
462
+ schema: statusDtoSchema,
463
+ session: input.session,
464
+ signal: input.signal,
465
+ });
466
+ if (!status.ok)
467
+ return status;
468
+ const updates = [];
469
+ const seenRecoveryIdentities = new Set();
470
+ const seenCursors = new Set();
471
+ let boundedBy;
472
+ let checkpointReached = false;
473
+ let cursor;
474
+ let exhausted = false;
475
+ let itemCount = 0;
476
+ for (let page = 0; page < input.limits.maxPages; page += 1) {
477
+ const history = await this.#http.request({
478
+ method: "GET",
479
+ path: conversationPath(input.conversationId, "messages"),
480
+ operation: "read",
481
+ options: input,
482
+ conversationId: input.conversationId,
483
+ query: {
484
+ count: -Math.min(input.limits.pageSize, input.limits.maxItems - itemCount),
485
+ cursor,
486
+ },
487
+ schema: historyDtoSchema,
488
+ session: input.session,
489
+ signal: input.signal,
490
+ });
491
+ if (!history.ok)
492
+ return history;
493
+ let pageUpdates;
494
+ try {
495
+ pageUpdates = [
496
+ ...(history.value.messages ?? []).map(mapMessageUpdate),
497
+ ...(history.value.events ?? []).map(mapEventUpdate),
498
+ ];
499
+ if (pageUpdates.some((update) => (update.kind !== "timeline.upsert" &&
500
+ update.kind !== "event.transition.upsert") ||
501
+ update.conversationId !== input.conversationId)) {
502
+ return this.#mappingError("TFRobot recovery history contained data for another conversation");
503
+ }
504
+ pageUpdates.sort((left, right) => {
505
+ const timestampOf = (update) => update.kind === "timeline.upsert"
506
+ ? (update.item.updatedAt ?? update.item.createdAt)
507
+ : update.kind === "event.transition.upsert"
508
+ ? update.event.transition.occurredAt
509
+ : 0;
510
+ return timestampOf(right) - timestampOf(left);
511
+ });
512
+ }
513
+ catch {
514
+ return this.#mappingError("TFRobot recovery history could not be normalized");
515
+ }
516
+ for (const update of pageUpdates) {
517
+ const identity = recoveryIdentityOfUpdate(update);
518
+ if (identity !== undefined && input.checkpoint.has(identity)) {
519
+ checkpointReached = true;
520
+ break;
521
+ }
522
+ if (identity !== undefined && seenRecoveryIdentities.has(identity)) {
523
+ continue;
524
+ }
525
+ if (itemCount >= input.limits.maxItems) {
526
+ boundedBy = "max-items";
527
+ break;
528
+ }
529
+ updates.push(update);
530
+ itemCount += 1;
531
+ if (identity !== undefined)
532
+ seenRecoveryIdentities.add(identity);
533
+ }
534
+ if (boundedBy === "max-items")
535
+ break;
536
+ if (checkpointReached)
537
+ break;
538
+ const nextCursor = history.value.cursor ?? undefined;
539
+ if (nextCursor === undefined || nextCursor.length === 0) {
540
+ exhausted = true;
541
+ break;
542
+ }
543
+ if (itemCount >= input.limits.maxItems) {
544
+ boundedBy = "max-items";
545
+ break;
546
+ }
547
+ if (seenCursors.has(nextCursor)) {
548
+ boundedBy = "cursor-cycle";
549
+ break;
550
+ }
551
+ seenCursors.add(nextCursor);
552
+ cursor = nextCursor;
553
+ if (page + 1 === input.limits.maxPages)
554
+ boundedBy = "max-pages";
555
+ }
556
+ let run;
557
+ try {
558
+ run = mapRun(input.conversationId, status.value);
559
+ }
560
+ catch {
561
+ return this.#mappingError("TFRobot recovery status could not be normalized");
562
+ }
563
+ return {
564
+ ok: true,
565
+ value: {
566
+ ...(boundedBy === undefined ? {} : { boundedBy }),
567
+ checkpointReached,
568
+ exhausted,
569
+ run,
570
+ updates,
571
+ },
572
+ };
573
+ }
325
574
  async #resolveMessageCreator(input) {
326
575
  if (isGatewayDeadlineExceeded(input, this.#now())) {
327
576
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}