@turingfocus/chat-gateway-tfrobot 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.
Files changed (45) hide show
  1. package/dist/attachment-uploader.d.ts +16 -0
  2. package/dist/attachment-uploader.d.ts.map +1 -0
  3. package/dist/attachment-uploader.js +63 -0
  4. package/dist/attachment-uploader.js.map +1 -0
  5. package/dist/dto.d.ts +14 -1
  6. package/dist/dto.d.ts.map +1 -1
  7. package/dist/dto.js +43 -6
  8. package/dist/dto.js.map +1 -1
  9. package/dist/gateway.d.ts +4 -1
  10. package/dist/gateway.d.ts.map +1 -1
  11. package/dist/gateway.js +317 -19
  12. package/dist/gateway.js.map +1 -1
  13. package/dist/http.d.ts +6 -2
  14. package/dist/http.d.ts.map +1 -1
  15. package/dist/http.js +52 -40
  16. package/dist/http.js.map +1 -1
  17. package/dist/index.d.ts +2 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/mapper.d.ts +1 -0
  22. package/dist/mapper.d.ts.map +1 -1
  23. package/dist/mapper.js +145 -8
  24. package/dist/mapper.js.map +1 -1
  25. package/dist/outbound-message.d.ts +7 -0
  26. package/dist/outbound-message.d.ts.map +1 -0
  27. package/dist/outbound-message.js +91 -0
  28. package/dist/outbound-message.js.map +1 -0
  29. package/dist/presentation.d.ts +5 -0
  30. package/dist/presentation.d.ts.map +1 -0
  31. package/dist/presentation.js +102 -0
  32. package/dist/presentation.js.map +1 -0
  33. package/dist/redaction.d.ts +4 -0
  34. package/dist/redaction.d.ts.map +1 -1
  35. package/dist/redaction.js +75 -24
  36. package/dist/redaction.js.map +1 -1
  37. package/dist/socket.d.ts +21 -3
  38. package/dist/socket.d.ts.map +1 -1
  39. package/dist/socket.js +317 -48
  40. package/dist/socket.js.map +1 -1
  41. package/dist/types.d.ts +33 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js +29 -0
  44. package/dist/types.js.map +1 -1
  45. package/package.json +2 -2
package/dist/gateway.js CHANGED
@@ -1,16 +1,18 @@
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 { buildTFRobotOutboundMessage } from "./outbound-message.js";
6
+ import { mapConversation, mapEventUpdate, mapMessageUpdate, mapRun, mapSnapshot, syntheticRunId, TFROBOT_CAPABILITIES, } from "./mapper.js";
7
+ import { recoveryIdentityOfUpdate, TFRobotSocketClient, } from "./socket.js";
7
8
  const DEFAULT_PAGE_SIZE = 20;
8
9
  const MAX_PAGE_SIZE = 100;
9
10
  const RECONNECT_STATUS_TIMEOUT_MS = 10_000;
10
11
  const limitOf = (limit) => Math.min(limit ?? DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE);
11
- const conversationPath = (conversationId, suffix) => `v1/chat/conversations/${encodeURIComponent(conversationId)}/${suffix}`;
12
+ const conversationPath = (conversationId, suffix) => `v1/chat/conversations/${encodeURIComponent(conversationId)}${suffix.length === 0 ? "" : `/${suffix}`}`;
12
13
  export class TFRobotChatGateway {
13
14
  #conversations = new Map();
15
+ #conversationMutations = new Map();
14
16
  #disposed = false;
15
17
  #http;
16
18
  #lifecycle = new AbortController();
@@ -18,6 +20,7 @@ export class TFRobotChatGateway {
18
20
  #options;
19
21
  #socket;
20
22
  #transportConversationIds = new Map();
23
+ #mutationRevision = 0;
21
24
  constructor(options) {
22
25
  for (const endpoint of [options.baseUrl, options.socketNamespaceUrl]) {
23
26
  if (endpoint === undefined)
@@ -39,12 +42,13 @@ export class TFRobotChatGateway {
39
42
  },
40
43
  conversationId,
41
44
  schema: statusDtoSchema,
42
- }));
45
+ }), (input) => this.#loadCurrentServerRestSnapshot(input));
43
46
  }
44
47
  async listConversations(input) {
45
48
  const disposed = this.#disposedResult();
46
49
  if (disposed !== undefined)
47
50
  return disposed;
51
+ const readRevision = this.#mutationRevision;
48
52
  const result = await this.#http.request({
49
53
  method: "GET",
50
54
  path: "v1/chat/conversations",
@@ -73,14 +77,19 @@ export class TFRobotChatGateway {
73
77
  const mappingDeadline = this.#deadlineResult(input);
74
78
  if (mappingDeadline !== undefined)
75
79
  return mappingDeadline;
80
+ const visibleConversations = [];
76
81
  for (const [index, conversation] of conversations.entries()) {
77
- this.#conversations.set(conversation.id, conversation);
78
- this.#transportConversationIds.set(conversation.id, transportConversations[index].conversationId);
82
+ const resolved = this.#resolveConversationRead(conversation, transportConversations[index].conversationId, readRevision);
83
+ if (resolved === undefined)
84
+ continue;
85
+ visibleConversations.push(resolved.conversation);
86
+ this.#conversations.set(resolved.conversation.id, resolved.conversation);
87
+ this.#transportConversationIds.set(resolved.conversation.id, resolved.transportConversationId);
79
88
  }
80
89
  return {
81
90
  ok: true,
82
91
  value: {
83
- conversations,
92
+ conversations: visibleConversations,
84
93
  ...(result.value.cursor == null || result.value.cursor.length === 0
85
94
  ? {}
86
95
  : { nextCursor: result.value.cursor }),
@@ -122,12 +131,100 @@ export class TFRobotChatGateway {
122
131
  return mappingDeadline;
123
132
  this.#conversations.set(conversation.id, conversation);
124
133
  this.#transportConversationIds.set(conversation.id, result.value.conversationId);
134
+ this.#conversationMutations.set(conversation.id, {
135
+ conversation,
136
+ kind: "rename",
137
+ revision: ++this.#mutationRevision,
138
+ transportConversationId: result.value.conversationId,
139
+ });
125
140
  return { ok: true, value: conversation };
126
141
  }
142
+ async renameConversation(input) {
143
+ const disposed = this.#disposedResult();
144
+ if (disposed !== undefined)
145
+ return disposed;
146
+ const transportConversationId = this.#transportConversationIds.get(input.conversationId) ??
147
+ input.conversationId;
148
+ const result = await this.#http.request({
149
+ method: "PATCH",
150
+ path: conversationPath(String(transportConversationId), ""),
151
+ operation: "send",
152
+ options: input,
153
+ conversationId: input.conversationId,
154
+ query: { title: input.title },
155
+ body: { title: input.title },
156
+ schema: conversationDtoSchema,
157
+ });
158
+ const requestDisposed = this.#disposedResult();
159
+ if (requestDisposed !== undefined)
160
+ return requestDisposed;
161
+ const requestDeadline = this.#deadlineResult(input);
162
+ if (requestDeadline !== undefined)
163
+ return requestDeadline;
164
+ if (!result.ok)
165
+ return result;
166
+ let conversation;
167
+ try {
168
+ conversation = mapConversation(result.value);
169
+ }
170
+ catch {
171
+ return this.#mappingError("TFRobot renamed conversation could not be normalized", input.conversationId);
172
+ }
173
+ if (conversation.id !== input.conversationId) {
174
+ return this.#mappingError("TFRobot rename response identified another conversation", input.conversationId);
175
+ }
176
+ this.#conversations.set(conversation.id, conversation);
177
+ this.#transportConversationIds.set(conversation.id, result.value.conversationId);
178
+ this.#conversationMutations.set(conversation.id, {
179
+ conversation,
180
+ kind: "rename",
181
+ revision: ++this.#mutationRevision,
182
+ transportConversationId: result.value.conversationId,
183
+ });
184
+ return { ok: true, value: conversation };
185
+ }
186
+ async deleteConversation(input) {
187
+ const disposed = this.#disposedResult();
188
+ if (disposed !== undefined)
189
+ return disposed;
190
+ const transportConversationId = this.#transportConversationIds.get(input.conversationId) ??
191
+ input.conversationId;
192
+ const result = await this.#http.request({
193
+ method: "DELETE",
194
+ path: conversationPath(String(transportConversationId), ""),
195
+ operation: "send",
196
+ options: input,
197
+ conversationId: input.conversationId,
198
+ schema: deleteConversationDtoSchema,
199
+ });
200
+ const requestDisposed = this.#disposedResult();
201
+ if (requestDisposed !== undefined)
202
+ return requestDisposed;
203
+ const requestDeadline = this.#deadlineResult(input);
204
+ if (requestDeadline !== undefined)
205
+ return requestDeadline;
206
+ if (!result.ok)
207
+ return result;
208
+ if (String(result.value.conversationId) !== input.conversationId) {
209
+ return this.#mappingError("TFRobot delete response identified another conversation", input.conversationId);
210
+ }
211
+ this.#conversations.delete(input.conversationId);
212
+ this.#transportConversationIds.delete(input.conversationId);
213
+ this.#conversationMutations.set(input.conversationId, {
214
+ kind: "delete",
215
+ revision: ++this.#mutationRevision,
216
+ });
217
+ this.#socket.forgetConversation(input.conversationId);
218
+ return {
219
+ ok: true,
220
+ value: { deletedConversationId: input.conversationId },
221
+ };
222
+ }
127
223
  async loadConversation(input) {
128
224
  const disposed = this.#disposedResult();
129
225
  if (disposed !== undefined)
130
226
  return disposed;
227
+ const readRevision = this.#mutationRevision;
131
228
  if (!this.#conversations.has(input.conversationId)) {
132
229
  await this.listConversations({
133
230
  deadlineAt: input.deadlineAt,
@@ -167,15 +264,25 @@ export class TFRobotChatGateway {
167
264
  return history;
168
265
  if (!status.ok)
169
266
  return status;
267
+ const mutation = this.#conversationMutations.get(input.conversationId);
268
+ if (mutation?.revision !== undefined &&
269
+ mutation.revision > readRevision &&
270
+ mutation.kind === "delete") {
271
+ return this.#mutationConflict("Conversation was deleted while its snapshot was loading", input.conversationId);
272
+ }
170
273
  let snapshot;
171
274
  try {
172
- const conversation = this.#conversations.get(input.conversationId) ??
173
- mapConversation({
174
- conversationId: input.conversationId,
175
- title: input.conversationId,
176
- });
275
+ const conversation = mutation !== undefined &&
276
+ mutation.revision > readRevision &&
277
+ mutation.kind === "rename"
278
+ ? mutation.conversation
279
+ : (this.#conversations.get(input.conversationId) ??
280
+ mapConversation({
281
+ conversationId: input.conversationId,
282
+ title: input.conversationId,
283
+ }));
177
284
  snapshot = mapSnapshot(conversation, history.value, status.value);
178
- this.#socket.rememberRun(input.conversationId, snapshot.run);
285
+ this.#socket.rememberSnapshot(snapshot);
179
286
  }
180
287
  catch {
181
288
  return this.#mappingError("TFRobot conversation snapshot could not be normalized");
@@ -236,9 +343,56 @@ export class TFRobotChatGateway {
236
343
  ? {
237
344
  ok: true,
238
345
  value: {
239
- runId: result.value.taskId != null
240
- ? String(result.value.taskId)
241
- : syntheticRunId(input.conversationId),
346
+ runId: getTransportTaskId(result.value) ??
347
+ syntheticRunId(input.conversationId),
348
+ },
349
+ }
350
+ : result;
351
+ }
352
+ async sendMessage(input) {
353
+ const disposed = this.#disposedResult();
354
+ if (disposed !== undefined)
355
+ return disposed;
356
+ if ((input.attachments?.length ?? 0) === 0) {
357
+ return this.sendText({
358
+ conversationId: input.conversationId,
359
+ deadlineAt: input.deadlineAt,
360
+ text: input.text ?? "",
361
+ ...(input.clientMessageId === undefined
362
+ ? {}
363
+ : { clientMessageId: input.clientMessageId }),
364
+ });
365
+ }
366
+ const creator = await this.#resolveMessageCreator(input);
367
+ const creatorDeadline = this.#deadlineResult(input);
368
+ if (creatorDeadline !== undefined)
369
+ return creatorDeadline;
370
+ if (!creator.ok)
371
+ return creator;
372
+ const transportConversationId = this.#transportConversationIds.get(input.conversationId) ??
373
+ input.conversationId;
374
+ const body = {
375
+ ...buildTFRobotOutboundMessage(input, creator.value, transportConversationId),
376
+ msgId: input.clientMessageId ?? null,
377
+ };
378
+ const result = await this.#http.request({
379
+ method: "POST",
380
+ path: conversationPath(input.conversationId, "messages"),
381
+ operation: "send",
382
+ options: input,
383
+ conversationId: input.conversationId,
384
+ body,
385
+ schema: sendTextDtoSchema,
386
+ });
387
+ const requestDeadline = this.#deadlineResult(input);
388
+ if (requestDeadline !== undefined)
389
+ return requestDeadline;
390
+ return result.ok
391
+ ? {
392
+ ok: true,
393
+ value: {
394
+ runId: getTransportTaskId(result.value) ??
395
+ syntheticRunId(input.conversationId),
242
396
  },
243
397
  }
244
398
  : result;
@@ -274,7 +428,7 @@ export class TFRobotChatGateway {
274
428
  ? {
275
429
  ok: true,
276
430
  value: {
277
- cancellationId: String(result.value.taskId),
431
+ cancellationId: getTransportTaskId(result.value),
278
432
  interruptedRunId: input.runId,
279
433
  },
280
434
  }
@@ -288,6 +442,7 @@ export class TFRobotChatGateway {
288
442
  this.#socket.dispose();
289
443
  this.#http.dispose();
290
444
  this.#conversations.clear();
445
+ this.#conversationMutations.clear();
291
446
  this.#transportConversationIds.clear();
292
447
  if (isGatewayDeadlineExceeded(options, this.#now()))
293
448
  return;
@@ -312,16 +467,159 @@ export class TFRobotChatGateway {
312
467
  }),
313
468
  };
314
469
  }
315
- #mappingError(message) {
470
+ #mappingError(message, conversationId) {
316
471
  return {
317
472
  ok: false,
318
473
  error: chatErrorSchema.parse({
319
474
  code: "validation",
320
475
  message,
321
476
  retryable: false,
477
+ ...(conversationId === undefined ? {} : { conversationId }),
322
478
  }),
323
479
  };
324
480
  }
481
+ #mutationConflict(message, conversationId) {
482
+ return {
483
+ ok: false,
484
+ error: chatErrorSchema.parse({
485
+ code: "conflict",
486
+ conversationId,
487
+ message,
488
+ retryable: false,
489
+ }),
490
+ };
491
+ }
492
+ #resolveConversationRead(conversation, transportConversationId, readRevision) {
493
+ const mutation = this.#conversationMutations.get(conversation.id);
494
+ if (mutation === undefined || mutation.revision <= readRevision) {
495
+ return { conversation, transportConversationId };
496
+ }
497
+ return mutation.kind === "delete"
498
+ ? undefined
499
+ : {
500
+ conversation: mutation.conversation,
501
+ transportConversationId: mutation.transportConversationId,
502
+ };
503
+ }
504
+ async #loadCurrentServerRestSnapshot(input) {
505
+ const status = await this.#http.request({
506
+ method: "GET",
507
+ path: conversationPath(input.conversationId, "status"),
508
+ operation: "read",
509
+ options: input,
510
+ conversationId: input.conversationId,
511
+ schema: statusDtoSchema,
512
+ session: input.session,
513
+ signal: input.signal,
514
+ });
515
+ if (!status.ok)
516
+ return status;
517
+ const updates = [];
518
+ const seenRecoveryIdentities = new Set();
519
+ const seenCursors = new Set();
520
+ let boundedBy;
521
+ let checkpointReached = false;
522
+ let cursor;
523
+ let exhausted = false;
524
+ let itemCount = 0;
525
+ for (let page = 0; page < input.limits.maxPages; page += 1) {
526
+ const history = await this.#http.request({
527
+ method: "GET",
528
+ path: conversationPath(input.conversationId, "messages"),
529
+ operation: "read",
530
+ options: input,
531
+ conversationId: input.conversationId,
532
+ query: {
533
+ count: -Math.min(input.limits.pageSize, input.limits.maxItems - itemCount),
534
+ cursor,
535
+ },
536
+ schema: historyDtoSchema,
537
+ session: input.session,
538
+ signal: input.signal,
539
+ });
540
+ if (!history.ok)
541
+ return history;
542
+ let pageUpdates;
543
+ try {
544
+ pageUpdates = [
545
+ ...(history.value.messages ?? []).map(mapMessageUpdate),
546
+ ...(history.value.events ?? []).map(mapEventUpdate),
547
+ ];
548
+ if (pageUpdates.some((update) => (update.kind !== "timeline.upsert" &&
549
+ update.kind !== "event.transition.upsert") ||
550
+ update.conversationId !== input.conversationId)) {
551
+ return this.#mappingError("TFRobot recovery history contained data for another conversation");
552
+ }
553
+ pageUpdates.sort((left, right) => {
554
+ const timestampOf = (update) => update.kind === "timeline.upsert"
555
+ ? (update.item.updatedAt ?? update.item.createdAt)
556
+ : update.kind === "event.transition.upsert"
557
+ ? update.event.transition.occurredAt
558
+ : 0;
559
+ return timestampOf(right) - timestampOf(left);
560
+ });
561
+ }
562
+ catch {
563
+ return this.#mappingError("TFRobot recovery history could not be normalized");
564
+ }
565
+ for (const update of pageUpdates) {
566
+ const identity = recoveryIdentityOfUpdate(update);
567
+ if (identity !== undefined && input.checkpoint.has(identity)) {
568
+ checkpointReached = true;
569
+ break;
570
+ }
571
+ if (identity !== undefined && seenRecoveryIdentities.has(identity)) {
572
+ continue;
573
+ }
574
+ if (itemCount >= input.limits.maxItems) {
575
+ boundedBy = "max-items";
576
+ break;
577
+ }
578
+ updates.push(update);
579
+ itemCount += 1;
580
+ if (identity !== undefined)
581
+ seenRecoveryIdentities.add(identity);
582
+ }
583
+ if (boundedBy === "max-items")
584
+ break;
585
+ if (checkpointReached)
586
+ break;
587
+ const nextCursor = history.value.cursor ?? undefined;
588
+ if (nextCursor === undefined || nextCursor.length === 0) {
589
+ exhausted = true;
590
+ break;
591
+ }
592
+ if (itemCount >= input.limits.maxItems) {
593
+ boundedBy = "max-items";
594
+ break;
595
+ }
596
+ if (seenCursors.has(nextCursor)) {
597
+ boundedBy = "cursor-cycle";
598
+ break;
599
+ }
600
+ seenCursors.add(nextCursor);
601
+ cursor = nextCursor;
602
+ if (page + 1 === input.limits.maxPages)
603
+ boundedBy = "max-pages";
604
+ }
605
+ let run;
606
+ try {
607
+ run = mapRun(input.conversationId, status.value);
608
+ }
609
+ catch {
610
+ return this.#mappingError("TFRobot recovery status could not be normalized");
611
+ }
612
+ return {
613
+ ok: true,
614
+ value: {
615
+ ...(boundedBy === undefined ? {} : { boundedBy }),
616
+ checkpointReached,
617
+ exhausted,
618
+ run,
619
+ updates,
620
+ },
621
+ };
622
+ }
325
623
  async #resolveMessageCreator(input) {
326
624
  if (isGatewayDeadlineExceeded(input, this.#now())) {
327
625
  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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"}
package/dist/http.d.ts CHANGED
@@ -1,15 +1,19 @@
1
1
  import { type GatewayRequestOptions, type GatewayResult, type SessionOperation } from "@turingfocus/chat-protocol";
2
2
  import type { z } from "zod/v4";
3
- import type { TFRobotGatewayOptions } from "./types.js";
3
+ import type { TFRobotGatewayOptions, TFRobotSession } from "./types.js";
4
4
  interface RequestInput<T> {
5
5
  readonly body?: unknown;
6
+ readonly formData?: FormData | undefined;
6
7
  readonly conversationId?: string | undefined;
7
- readonly method: "GET" | "POST";
8
+ readonly method: "DELETE" | "GET" | "PATCH" | "POST";
8
9
  readonly operation: SessionOperation;
9
10
  readonly options: GatewayRequestOptions;
10
11
  readonly path: string;
11
12
  readonly query?: Readonly<Record<string, number | string | undefined>>;
12
13
  readonly schema: z.ZodType<T>;
14
+ /** One request-scoped session shared with a Socket connect/reconnect. */
15
+ readonly session?: TFRobotSession | undefined;
16
+ readonly signal?: AbortSignal | undefined;
13
17
  }
14
18
  export declare class TFRobotHttpClient {
15
19
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAUhC,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,YAAY,CAAC;AA6DxE,UAAU,YAAY,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED,qBAAa,iBAAiB;;gBAQhB,OAAO,EAAE,qBAAqB;IAUpC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAwPnE,OAAO,IAAI,IAAI;CAsChB"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAYhC,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA6DxE,UAAU,YAAY,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC3C;AAED,qBAAa,iBAAiB;;gBAQhB,OAAO,EAAE,qBAAqB;IAUpC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAsQnE,OAAO,IAAI,IAAI;CAsChB"}