@convex-dev/agent 0.2.6-alpha.1 → 0.2.6

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 (98) hide show
  1. package/dist/client/definePlaygroundAPI.d.ts +6 -4
  2. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  3. package/dist/client/definePlaygroundAPI.js +15 -6
  4. package/dist/client/definePlaygroundAPI.js.map +1 -1
  5. package/dist/client/index.d.ts +26 -113
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +47 -371
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/messages.d.ts +1 -1
  10. package/dist/client/messages.d.ts.map +1 -1
  11. package/dist/client/mockModel.d.ts +3 -3
  12. package/dist/client/mockModel.d.ts.map +1 -1
  13. package/dist/client/mockModel.js +22 -17
  14. package/dist/client/mockModel.js.map +1 -1
  15. package/dist/client/saveInputMessages.d.ts +20 -0
  16. package/dist/client/saveInputMessages.d.ts.map +1 -0
  17. package/dist/client/saveInputMessages.js +57 -0
  18. package/dist/client/saveInputMessages.js.map +1 -0
  19. package/dist/client/search.d.ts +110 -9
  20. package/dist/client/search.d.ts.map +1 -1
  21. package/dist/client/search.js +271 -39
  22. package/dist/client/search.js.map +1 -1
  23. package/dist/client/start.d.ts +83 -0
  24. package/dist/client/start.d.ts.map +1 -0
  25. package/dist/client/start.js +171 -0
  26. package/dist/client/start.js.map +1 -0
  27. package/dist/client/streaming.d.ts +8 -8
  28. package/dist/client/streaming.d.ts.map +1 -1
  29. package/dist/client/streaming.js +2 -1
  30. package/dist/client/streaming.js.map +1 -1
  31. package/dist/client/textStreamParts.d.ts.map +1 -1
  32. package/dist/client/textStreamParts.js +2 -9
  33. package/dist/client/textStreamParts.js.map +1 -1
  34. package/dist/client/threads.d.ts +1 -1
  35. package/dist/client/threads.d.ts.map +1 -1
  36. package/dist/client/types.d.ts +128 -4
  37. package/dist/client/types.d.ts.map +1 -1
  38. package/dist/component/_generated/api.d.ts +11 -3
  39. package/dist/component/messages.d.ts +13 -4
  40. package/dist/component/messages.d.ts.map +1 -1
  41. package/dist/component/messages.js +67 -25
  42. package/dist/component/messages.js.map +1 -1
  43. package/dist/component/schema.d.ts +2 -1643
  44. package/dist/component/schema.d.ts.map +1 -1
  45. package/dist/component/schema.js +0 -24
  46. package/dist/component/schema.js.map +1 -1
  47. package/dist/mapping.d.ts +5 -8
  48. package/dist/mapping.d.ts.map +1 -1
  49. package/dist/mapping.js +72 -6
  50. package/dist/mapping.js.map +1 -1
  51. package/dist/react/deltas.d.ts.map +1 -1
  52. package/dist/react/deltas.js +1 -0
  53. package/dist/react/deltas.js.map +1 -1
  54. package/dist/react/fromUIMessages.d.ts +13 -0
  55. package/dist/react/fromUIMessages.d.ts.map +1 -0
  56. package/dist/react/fromUIMessages.js +70 -0
  57. package/dist/react/fromUIMessages.js.map +1 -0
  58. package/dist/react/toUIMessages.d.ts +5 -2
  59. package/dist/react/toUIMessages.d.ts.map +1 -1
  60. package/dist/react/toUIMessages.js +3 -0
  61. package/dist/react/toUIMessages.js.map +1 -1
  62. package/dist/shared.d.ts +10 -0
  63. package/dist/shared.d.ts.map +1 -1
  64. package/dist/shared.js +26 -0
  65. package/dist/shared.js.map +1 -1
  66. package/dist/validators.d.ts +1640 -0
  67. package/dist/validators.d.ts.map +1 -1
  68. package/dist/validators.js +41 -0
  69. package/dist/validators.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/client/definePlaygroundAPI.ts +16 -7
  72. package/src/client/index.test.ts +11 -46
  73. package/src/client/index.ts +98 -556
  74. package/src/client/messages.ts +1 -1
  75. package/src/client/mock.json +68 -0
  76. package/src/client/mockModel.ts +34 -23
  77. package/src/client/saveInputMessages.test.ts +576 -0
  78. package/src/client/saveInputMessages.ts +100 -0
  79. package/src/client/search.test.ts +1017 -0
  80. package/src/client/search.ts +446 -68
  81. package/src/client/start.ts +313 -0
  82. package/src/client/stream.json +48 -0
  83. package/src/client/streaming.ts +3 -3
  84. package/src/client/textStreamParts.ts +2 -11
  85. package/src/client/threads.ts +1 -1
  86. package/src/client/types.ts +134 -1
  87. package/src/component/_generated/api.d.ts +11 -3
  88. package/src/component/messages.ts +73 -27
  89. package/src/component/schema.ts +1 -29
  90. package/src/mapping.ts +83 -6
  91. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  92. package/src/react/deltas.ts +1 -0
  93. package/src/react/fromUIMessages.test.ts +427 -0
  94. package/src/react/fromUIMessages.ts +85 -0
  95. package/src/react/toUIMessages.ts +21 -13
  96. package/src/shared.ts +33 -0
  97. package/src/validators.test.ts +13 -2
  98. package/src/validators.ts +48 -0
@@ -1,6 +1,6 @@
1
1
  import type { ModelMessage } from "ai";
2
2
  import type { PaginationOptions, PaginationResult } from "convex/server";
3
- import type { MessageDoc } from "../component/schema.js";
3
+ import type { MessageDoc } from "../validators.js";
4
4
  import { type Message, type MessageEmbeddings, type MessageStatus, type MessageWithMetadata } from "../validators.js";
5
5
  import type { AgentComponent, RunMutationCtx, RunQueryCtx } from "./types.js";
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/client/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/client/messages.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import type { LanguageModelV2 } from "@ai-sdk/provider";
2
- import type { ReasoningPart, TextPart } from "@ai-sdk/provider-utils";
1
+ import type { LanguageModelV2, LanguageModelV2Content } from "@ai-sdk/provider";
2
+ export declare const DEFAULT_TEXT = "\nA A A A A A A A A A A A A A A\nB B B B B B B B B B B B B B B\nC C C C C C C C C C C C C C C\nD D D D D D D D D D D D D D D\n";
3
3
  export type MockModelArgs = {
4
4
  provider?: LanguageModelV2["provider"];
5
5
  modelId?: LanguageModelV2["modelId"];
6
6
  supportedUrls?: LanguageModelV2["supportedUrls"] | (() => LanguageModelV2["supportedUrls"]);
7
7
  chunkDelayInMs?: number;
8
8
  initialDelayInMs?: number;
9
- content?: (TextPart | ReasoningPart)[];
9
+ content?: LanguageModelV2Content[];
10
10
  doGenerate?: LanguageModelV2["doGenerate"];
11
11
  doStream?: LanguageModelV2["doStream"];
12
12
  fail?: boolean | {
@@ -1 +1 @@
1
- {"version":3,"file":"mockModel.d.ts","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAWtE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,aAAa,CAAC,EACV,eAAe,CAAC,eAAe,CAAC,GAChC,CAAC,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,OAAO,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,EACD,OAAO,GACP;QACE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACP,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,eAAe,CAE/D;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,oBAAoB,QAAQ;IAErC,OAAO,CAAC,cAAc,CAAyC;IAE/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAE7C,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAEtC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;IACrE,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;gBAErD,IAAI,EAAE,aAAa;IA0I/B,IAAI,aAAa,qEAEhB;CACF"}
1
+ {"version":3,"file":"mockModel.d.ts","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EAEvB,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,YAAY,mIAKxB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,aAAa,CAAC,EACV,eAAe,CAAC,eAAe,CAAC,GAChC,CAAC,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,EACD,OAAO,GACP;QACE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACP,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,eAAe,CAE/D;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,oBAAoB,QAAQ;IAErC,OAAO,CAAC,cAAc,CAAyC;IAE/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAE7C,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAEtC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;IACrE,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;gBAErD,IAAI,EAAE,aAAa;IAqJ/B,IAAI,aAAa,qEAEhB;CACF"}
@@ -1,11 +1,11 @@
1
1
  import { simulateReadableStream } from "ai";
2
- const longDefaultText = `
2
+ export const DEFAULT_TEXT = `
3
3
  A A A A A A A A A A A A A A A
4
4
  B B B B B B B B B B B B B B B
5
5
  C C C C C C C C C C C C C C C
6
6
  D D D D D D D D D D D D D D D
7
7
  `;
8
- const defaultUsage = { outputTokens: 10, inputTokens: 3, totalTokens: 13 };
8
+ const DEFAULT_USAGE = { outputTokens: 10, inputTokens: 3, totalTokens: 13 };
9
9
  export function mockModel(args) {
10
10
  return new MockLanguageModel(args ?? {});
11
11
  }
@@ -21,7 +21,7 @@ export class MockLanguageModel {
21
21
  constructor(args) {
22
22
  this.provider = args.provider || "mock-provider";
23
23
  this.modelId = args.modelId || "mock-model-id";
24
- const { content = [{ type: "text", text: longDefaultText }], chunkDelayInMs = 200, initialDelayInMs = 1000, supportedUrls = {}, } = args;
24
+ const { content = [{ type: "text", text: DEFAULT_TEXT }], chunkDelayInMs = 0, initialDelayInMs = 0, supportedUrls = {}, } = args;
25
25
  const fail = args.fail &&
26
26
  (args.fail === true ||
27
27
  !args.fail.probability ||
@@ -32,39 +32,42 @@ export class MockLanguageModel {
32
32
  { type: "stream-start", warnings: [] },
33
33
  ];
34
34
  chunks.push(...content.flatMap((c, ci) => {
35
+ if (c.type !== "text" && c.type !== "reasoning") {
36
+ return [c];
37
+ }
35
38
  const deltas = c.text.split(" ");
36
- let parts = [];
39
+ const parts = [];
37
40
  if (c.type === "reasoning") {
38
41
  parts.push({
39
42
  type: "reasoning-start",
40
- id: `${ci}-reasoning-start`,
43
+ id: `reasoning-${ci}`,
41
44
  });
42
45
  parts.push(...deltas.map((delta, di) => ({
43
46
  type: "reasoning-delta",
44
- delta,
45
- id: `${ci}-reasoning-${di}`,
47
+ delta: (di ? " " : "") + delta,
48
+ id: `reasoning-${ci}`,
46
49
  providerMetadata: {
47
50
  mockProvider: { mock: { reasoningDetails: null } },
48
51
  },
49
52
  })));
50
53
  parts.push({
51
54
  type: "reasoning-end",
52
- id: `${ci}-reasoning-end`,
55
+ id: `reasoning-${ci}`,
53
56
  });
54
57
  }
55
58
  else if (c.type === "text") {
56
59
  parts.push({
57
60
  type: "text-start",
58
- id: `${ci}-text-start`,
61
+ id: `txt-${ci}`,
59
62
  });
60
- parts = deltas.map((delta, di) => ({
63
+ parts.push(...deltas.map((delta, di) => ({
61
64
  type: "text-delta",
62
- delta,
63
- id: `${ci}-text-${di}`,
64
- }));
65
+ delta: (di ? " " : "") + delta,
66
+ id: `txt-${ci}`,
67
+ })));
65
68
  parts.push({
66
69
  type: "text-end",
67
- id: `${ci}-text-end`,
70
+ id: `txt-${ci}`,
68
71
  });
69
72
  }
70
73
  return parts;
@@ -78,7 +81,7 @@ export class MockLanguageModel {
78
81
  chunks.push({
79
82
  type: "finish",
80
83
  finishReason: fail ? "error" : "stop",
81
- usage: defaultUsage,
84
+ usage: DEFAULT_USAGE,
82
85
  providerMetadata: {
83
86
  mockProvider: { mock: "mock metadata" },
84
87
  },
@@ -98,7 +101,7 @@ export class MockLanguageModel {
98
101
  return {
99
102
  content,
100
103
  finishReason: "stop",
101
- usage: defaultUsage,
104
+ usage: DEFAULT_USAGE,
102
105
  providerMetadata: { mockProvider: { mock: "mock metadata" } },
103
106
  warnings: [],
104
107
  };
@@ -126,7 +129,9 @@ export class MockLanguageModel {
126
129
  chunkDelayInMs,
127
130
  });
128
131
  if (options.abortSignal) {
129
- throw new Error("abortSignal in mock model");
132
+ options.abortSignal.addEventListener("abort", () => {
133
+ console.warn("abortSignal in mock model not supported");
134
+ });
130
135
  }
131
136
  return {
132
137
  stream,
@@ -1 +1 @@
1
- {"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;CAK3B,CAAC;AACF,MAAM,aAAa,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAsB5E,MAAM,UAAU,SAAS,CAAC,IAAoB;IAC5C,OAAO,IAAI,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,OAAO,iBAAiB;IACnB,oBAAoB,GAAG,IAAI,CAAC;IAE7B,cAAc,CAAyC;IAEtD,QAAQ,CAA8B;IACtC,OAAO,CAA6B;IAE7C,UAAU,CAAgC;IAC1C,QAAQ,CAA8B;IAEtC,eAAe,GAAmD,EAAE,CAAC;IACrE,aAAa,GAAiD,EAAE,CAAC;IAEjE,YAAY,IAAmB;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC;QAC/C,MAAM,EACJ,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAChD,cAAc,GAAG,CAAC,EAClB,gBAAgB,GAAG,CAAC,EACpB,aAAa,GAAG,EAAE,GACnB,GAAG,IAAI,CAAC;QACT,MAAM,IAAI,GACR,IAAI,CAAC,IAAI;YACT,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;gBACjB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW;gBACtB,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,KAAK,GACT,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAClD,oBAAoB,CAAC;QAEvB,MAAM,MAAM,GAAgC;YAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE;SACvC,CAAC;QACF,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAA+B,EAAE;YACxD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChD,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,KAAK,GAAgC,EAAE,CAAC;YAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,aAAa,EAAE,EAAE;iBACtB,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,GAAG,CACX,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CACZ,CAAC;oBACC,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK;oBAC9B,EAAE,EAAE,aAAa,EAAE,EAAE;oBACrB,gBAAgB,EAAE;wBAChB,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE;qBACnD;iBACF,CAAqC,CACzC,CACF,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,eAAe;oBACrB,EAAE,EAAE,aAAa,EAAE,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,YAAY;oBAClB,EAAE,EAAE,OAAO,EAAE,EAAE;iBAChB,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,GAAG,CACX,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CACZ,CAAC;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK;oBAC9B,EAAE,EAAE,OAAO,EAAE,EAAE;iBAChB,CAAqC,CACzC,CACF,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,OAAO,EAAE,EAAE;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACrC,KAAK,EAAE,aAAa;YACpB,gBAAgB,EAAE;gBAChB,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;aACxC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO;oBACP,YAAY,EAAE,MAAM;oBACpB,KAAK,EAAE,aAAa;oBACpB,gBAAgB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;oBAC7D,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,cAAc;YACjB,OAAO,aAAa,KAAK,UAAU;gBACjC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEjC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,sBAAsB,CAAC;oBACpC,MAAM;oBACN,gBAAgB;oBAChB,cAAc;iBACf,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;wBACjD,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,MAAM;oBACN,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;oBACrB,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;iBAC1B,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,cAAc;YACjB,OAAO,aAAa,KAAK,UAAU;gBACjC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { type ModelMessage } from "ai";
2
+ import type { MessageDoc } from "../validators.js";
3
+ import type { AgentComponent, Config, RunActionCtx, RunMutationCtx } from "./types.js";
4
+ import type { Message } from "../validators.js";
5
+ export declare function saveInputMessages(ctx: RunMutationCtx | RunActionCtx, component: AgentComponent, { threadId, userId, prompt, messages, ...args }: {
6
+ prompt: string | (ModelMessage | Message)[] | undefined;
7
+ messages: (ModelMessage | Message)[] | undefined;
8
+ promptMessageId: string | undefined;
9
+ userId: string | undefined;
10
+ threadId: string;
11
+ agentName?: string;
12
+ storageOptions?: {
13
+ saveMessages?: "all" | "promptAndOutput";
14
+ };
15
+ } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "callSettings">): Promise<{
16
+ promptMessageId: string | undefined;
17
+ pendingMessage: MessageDoc;
18
+ savedMessages: MessageDoc[];
19
+ }>;
20
+ //# sourceMappingURL=saveInputMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveInputMessages.d.ts","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,cAAc,GAAG,YAAY,EAClC,SAAS,EAAE,cAAc,EACzB,EACE,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACxD,QAAQ,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC;KAC1C,CAAC;CACH,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,GAAG,cAAc,CAAC,GACvE,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,EAAE,UAAU,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;CAC7B,CAAC,CA6DD"}
@@ -0,0 +1,57 @@
1
+ import {} from "ai";
2
+ import { embedMessages, getPromptArray } from "./search.js";
3
+ import { saveMessages } from "./messages.js";
4
+ import { assert } from "convex-helpers";
5
+ export async function saveInputMessages(ctx, component, { threadId, userId, prompt, messages, ...args }) {
6
+ const shouldSave = args.storageOptions?.saveMessages ?? "promptAndOutput";
7
+ // If only a promptMessageId is provided, this will be empty.
8
+ const promptArray = getPromptArray(prompt);
9
+ const toSave = [];
10
+ if (args.promptMessageId) {
11
+ // We don't save any inputs if a promptMessageId is provided.
12
+ // It's unclear where they'd want to save the new messages.
13
+ }
14
+ else if (shouldSave === "all") {
15
+ if (messages)
16
+ toSave.push(...messages);
17
+ toSave.push(...promptArray);
18
+ }
19
+ else {
20
+ if (promptArray.length) {
21
+ // We treat the whole promptArray as the prompt message to save.
22
+ toSave.push(...promptArray);
23
+ }
24
+ else if (messages) {
25
+ // Otherwise, treat the last message as the prompt message to save.
26
+ toSave.push(...messages.slice(-1));
27
+ }
28
+ }
29
+ let embeddings;
30
+ if (args.textEmbeddingModel && toSave.length) {
31
+ assert("runAction" in ctx, "You must be in an action context to generate embeddings");
32
+ embeddings = await embedMessages(ctx, { ...args, userId: userId ?? undefined, threadId }, toSave);
33
+ if (embeddings) {
34
+ // for the pending message
35
+ embeddings.vectors.push(null);
36
+ }
37
+ }
38
+ const saved = await saveMessages(ctx, component, {
39
+ threadId,
40
+ userId,
41
+ messages: [...toSave, { role: "assistant", content: [] }],
42
+ metadata: [
43
+ ...Array.from({ length: toSave.length }, () => ({})),
44
+ { status: "pending" },
45
+ ],
46
+ failPendingSteps: !!args.promptMessageId,
47
+ embeddings,
48
+ });
49
+ return {
50
+ promptMessageId: toSave.length
51
+ ? saved.messages.at(-2)._id
52
+ : args.promptMessageId,
53
+ pendingMessage: saved.messages.at(-1),
54
+ savedMessages: saved.messages.slice(0, -1),
55
+ };
56
+ }
57
+ //# sourceMappingURL=saveInputMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveInputMessages.js","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,IAAI,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAkC,EAClC,SAAyB,EACzB,EACE,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EAW+D;IAMxE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,IAAI,iBAAiB,CAAC;IAC1E,6DAA6D;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,6DAA6D;QAC7D,2DAA2D;IAC7D,CAAC;SAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAChC,IAAI,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,gEAAgE;YAChE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,mEAAmE;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,UAMS,CAAC;IACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,CACJ,WAAW,IAAI,GAAG,EAClB,yDAAyD,CAC1D,CAAC;QACF,UAAU,GAAG,MAAM,aAAa,CAC9B,GAAG,EACH,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,EAClD,MAAM,CACP,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,0BAA0B;YAC1B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE;QAC/C,QAAQ;QACR,MAAM;QACN,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzD,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,EAAE,MAAM,EAAE,SAAS,EAAE;SACtB;QACD,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe;QACxC,UAAU;KACX,CAAC,CAAC;IACH,OAAO;QACL,eAAe,EAAE,MAAM,CAAC,MAAM;YAC5B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG;YAC5B,CAAC,CAAC,IAAI,CAAC,eAAe;QACxB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE;QACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { AgentComponent, ContextOptions, RunActionCtx, RunQueryCtx } from "./types.js";
2
- import type { MessageDoc } from "../component/schema.js";
3
- import type { EmbeddingModel, LanguageModel, ModelMessage } from "ai";
1
+ import { type EmbeddingModel, type ModelMessage } from "ai";
2
+ import type { MessageDoc } from "../validators.js";
3
+ import { type VectorDimension } from "../component/vector/tables.js";
4
4
  import type { Message } from "../validators.js";
5
+ import type { AgentComponent, Config, ContextOptions, Options, RunActionCtx, RunQueryCtx } from "./types.js";
5
6
  export type GetEmbedding = (text: string) => Promise<{
6
7
  embedding: number[];
7
8
  textEmbeddingModel: string | EmbeddingModel<string>;
@@ -17,16 +18,54 @@ export type GetEmbedding = (text: string) => Promise<{
17
18
  export declare function fetchContextMessages(ctx: RunQueryCtx | RunActionCtx, component: AgentComponent, args: {
18
19
  userId: string | undefined;
19
20
  threadId: string | undefined;
20
- messages: (ModelMessage | Message)[];
21
21
  /**
22
- * If provided, it will search for messages up to and including this message.
23
- * Note: if this is far in the past, text and vector search results may be more
24
- * limited, as it's post-filtering the results.
22
+ * If targetMessageId is not provided, this text will be used
23
+ * for text and vector search
24
+ */
25
+ searchText?: string;
26
+ /**
27
+ * If provided, it will use this message for text/vector search (if enabled)
28
+ * and will only fetch messages up to (and including) this message's "order"
29
+ */
30
+ targetMessageId?: string;
31
+ /**
32
+ * @deprecated use searchText and targetMessageId instead
33
+ */
34
+ messages?: (ModelMessage | Message)[];
35
+ /**
36
+ * @deprecated use targetMessageId instead
25
37
  */
26
38
  upToAndIncludingMessageId?: string;
27
39
  contextOptions: ContextOptions;
28
40
  getEmbedding?: GetEmbedding;
29
41
  }): Promise<MessageDoc[]>;
42
+ export declare function fetchRecentAndSearchMessages(ctx: RunQueryCtx | RunActionCtx, component: AgentComponent, args: {
43
+ userId: string | undefined;
44
+ threadId: string | undefined;
45
+ /**
46
+ * If targetMessageId is not provided, this text will be used
47
+ * for text and vector search
48
+ */
49
+ searchText?: string;
50
+ /**
51
+ * If provided, it will use this message for text/vector search (if enabled)
52
+ * and will only fetch messages up to (and including) this message's "order"
53
+ */
54
+ targetMessageId?: string;
55
+ /**
56
+ * @deprecated use searchText and targetMessageId instead
57
+ */
58
+ messages?: (ModelMessage | Message)[];
59
+ /**
60
+ * @deprecated use targetMessageId instead
61
+ */
62
+ upToAndIncludingMessageId?: string;
63
+ contextOptions: ContextOptions;
64
+ getEmbedding?: GetEmbedding;
65
+ }): Promise<{
66
+ recentMessages: MessageDoc[];
67
+ searchMessages: MessageDoc[];
68
+ }>;
30
69
  /**
31
70
  * Filter out tool messages that don't have both a tool call and response.
32
71
  * @param docs The messages to filter.
@@ -269,6 +308,68 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
269
308
  stepOrder: number;
270
309
  tool: boolean;
271
310
  }[];
272
- export declare function getModelName(embeddingModel: string | EmbeddingModel<string> | LanguageModel): string;
273
- export declare function getProviderName(embeddingModel: string | EmbeddingModel<string> | LanguageModel): string;
311
+ /**
312
+ * Embed a list of messages, including calling any usage handler.
313
+ * This will not save the embeddings to the database.
314
+ */
315
+ export declare function embedMessages(ctx: RunActionCtx, { userId, threadId, ...options }: {
316
+ userId: string | undefined;
317
+ threadId: string | undefined;
318
+ agentName?: string;
319
+ } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "callSettings">, messages: (ModelMessage | Message)[]): Promise<{
320
+ vectors: (number[] | null)[];
321
+ dimension: VectorDimension;
322
+ model: string;
323
+ } | undefined>;
324
+ /**
325
+ * Embeds many strings, calling any usage handler.
326
+ * @param ctx The ctx parameter to an action.
327
+ * @param args Arguments to AI SDK's embedMany, and context for the embedding,
328
+ * passed to the usage handler.
329
+ * @returns The embeddings for the strings, matching the order of the values.
330
+ */
331
+ export declare function embedMany(ctx: RunActionCtx, { userId, threadId, values, abortSignal, headers, agentName, usageHandler, textEmbeddingModel, callSettings, }: {
332
+ userId: string | undefined;
333
+ threadId: string | undefined;
334
+ values: string[];
335
+ abortSignal?: AbortSignal;
336
+ headers?: Record<string, string>;
337
+ agentName?: string;
338
+ } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "callSettings">): Promise<{
339
+ embeddings: number[][];
340
+ }>;
341
+ /**
342
+ * Embed a list of messages, and save the embeddings to the database.
343
+ * @param ctx The ctx parameter to an action.
344
+ * @param component The agent component, usually components.agent.
345
+ * @param args The context for the embedding, passed to the usage handler.
346
+ * @param messages The messages to embed, in the Agent MessageDoc format.
347
+ */
348
+ export declare function generateAndSaveEmbeddings(ctx: RunActionCtx, component: AgentComponent, args: {
349
+ threadId: string | undefined;
350
+ userId: string | undefined;
351
+ agentName?: string;
352
+ textEmbeddingModel: EmbeddingModel<string>;
353
+ } & Pick<Config, "usageHandler" | "callSettings">, messages: MessageDoc[]): Promise<void>;
354
+ /**
355
+ * Similar to fetchContextMessages, but also combines the input messages,
356
+ * with search context, recent messages, input messages, then prompt messages.
357
+ * If there is a promptMessageId and prompt message(s) provided, it will splice
358
+ * the prompt messages into the history to replace the promptMessageId message,
359
+ * but still be followed by any existing messages that were in response to the
360
+ * promptMessageId message.
361
+ */
362
+ export declare function fetchContextWithPrompt(ctx: RunActionCtx, component: AgentComponent, args: {
363
+ prompt: string | (ModelMessage | Message)[] | undefined;
364
+ messages: (ModelMessage | Message)[] | undefined;
365
+ promptMessageId: string | undefined;
366
+ userId: string | undefined;
367
+ threadId: string | undefined;
368
+ agentName?: string;
369
+ } & Options & Config): Promise<{
370
+ messages: ModelMessage[];
371
+ order: number | undefined;
372
+ stepOrder: number | undefined;
373
+ }>;
374
+ export declare function getPromptArray(prompt: string | (ModelMessage | Message)[] | undefined): (ModelMessage | Message)[];
274
375
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAQtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,GAAG,YAAY,EAC/B,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC;IACrC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GACA,OAAO,CAAC,UAAU,EAAE,CAAC,CA8FvB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyB/D;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,GAC9D,MAAM,CAQR;AAED,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,GAC9D,MAAM,CAKR"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,IAAI,CAAC;AAEZ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAUvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,cAAc,EACd,OAAO,EACP,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,GAAG,YAAY,EAC/B,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC;IACtC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GACA,OAAO,CAAC,UAAU,EAAE,CAAC,CAOvB;AAED,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,WAAW,GAAG,YAAY,EAC/B,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC;IACtC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GACA,OAAO,CAAC;IAAE,cAAc,EAAE,UAAU,EAAE,CAAC;IAAC,cAAc,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CA2GzE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyB/D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,YAAY,EACjB,EACE,MAAM,EACN,QAAQ,EACR,GAAG,OAAO,EACX,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,GAAG,cAAc,CAAC,EACxE,QAAQ,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GACnC,OAAO,CACN;IACE,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,GACD,SAAS,CACZ,CAyCA;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,YAAY,EACjB,EACE,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,EACP,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,YAAY,GACb,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,GAAG,cAAc,CAAC,GACvE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC,CA6BrC;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC5C,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAAC,EACjD,QAAQ,EAAE,UAAU,EAAE,iBA0BvB;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACxD,QAAQ,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,GACT,MAAM,GACP,OAAO,CAAC;IACT,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC,CAuHD;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,GACtD,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,CAM5B"}