@effect/ai 0.26.0 → 0.27.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 (188) hide show
  1. package/Chat/package.json +6 -0
  2. package/EmbeddingModel/package.json +6 -0
  3. package/IdGenerator/package.json +6 -0
  4. package/LanguageModel/package.json +6 -0
  5. package/Model/package.json +6 -0
  6. package/Prompt/package.json +6 -0
  7. package/Response/package.json +6 -0
  8. package/Telemetry/package.json +6 -0
  9. package/Tool/package.json +6 -0
  10. package/Toolkit/package.json +6 -0
  11. package/dist/cjs/AiError.js +575 -11
  12. package/dist/cjs/AiError.js.map +1 -1
  13. package/dist/cjs/Chat.js +302 -0
  14. package/dist/cjs/Chat.js.map +1 -0
  15. package/dist/cjs/EmbeddingModel.js +184 -0
  16. package/dist/cjs/EmbeddingModel.js.map +1 -0
  17. package/dist/cjs/IdGenerator.js +255 -0
  18. package/dist/cjs/IdGenerator.js.map +1 -0
  19. package/dist/cjs/LanguageModel.js +584 -0
  20. package/dist/cjs/LanguageModel.js.map +1 -0
  21. package/dist/cjs/McpServer.js +12 -4
  22. package/dist/cjs/McpServer.js.map +1 -1
  23. package/dist/cjs/Model.js +118 -0
  24. package/dist/cjs/Model.js.map +1 -0
  25. package/dist/cjs/Prompt.js +649 -0
  26. package/dist/cjs/Prompt.js.map +1 -0
  27. package/dist/cjs/Response.js +635 -0
  28. package/dist/cjs/Response.js.map +1 -0
  29. package/dist/cjs/Telemetry.js +176 -0
  30. package/dist/cjs/Telemetry.js.map +1 -0
  31. package/dist/cjs/Tokenizer.js +87 -8
  32. package/dist/cjs/Tokenizer.js.map +1 -1
  33. package/dist/cjs/Tool.js +556 -0
  34. package/dist/cjs/Tool.js.map +1 -0
  35. package/dist/cjs/Toolkit.js +279 -0
  36. package/dist/cjs/Toolkit.js.map +1 -0
  37. package/dist/cjs/index.js +21 -19
  38. package/dist/dts/AiError.d.ts +577 -9
  39. package/dist/dts/AiError.d.ts.map +1 -1
  40. package/dist/dts/Chat.d.ts +356 -0
  41. package/dist/dts/Chat.d.ts.map +1 -0
  42. package/dist/dts/EmbeddingModel.d.ts +153 -0
  43. package/dist/dts/EmbeddingModel.d.ts.map +1 -0
  44. package/dist/dts/IdGenerator.d.ts +272 -0
  45. package/dist/dts/IdGenerator.d.ts.map +1 -0
  46. package/dist/dts/LanguageModel.d.ts +458 -0
  47. package/dist/dts/LanguageModel.d.ts.map +1 -0
  48. package/dist/dts/McpSchema.d.ts +25 -25
  49. package/dist/dts/McpServer.d.ts +6 -4
  50. package/dist/dts/McpServer.d.ts.map +1 -1
  51. package/dist/dts/Model.d.ts +124 -0
  52. package/dist/dts/Model.d.ts.map +1 -0
  53. package/dist/dts/Prompt.d.ts +1119 -0
  54. package/dist/dts/Prompt.d.ts.map +1 -0
  55. package/dist/dts/Response.d.ts +1519 -0
  56. package/dist/dts/Response.d.ts.map +1 -0
  57. package/dist/dts/Telemetry.d.ts +520 -0
  58. package/dist/dts/Telemetry.d.ts.map +1 -0
  59. package/dist/dts/Tokenizer.d.ts +131 -13
  60. package/dist/dts/Tokenizer.d.ts.map +1 -1
  61. package/dist/dts/Tool.d.ts +876 -0
  62. package/dist/dts/Tool.d.ts.map +1 -0
  63. package/dist/dts/Toolkit.d.ts +310 -0
  64. package/dist/dts/Toolkit.d.ts.map +1 -0
  65. package/dist/dts/index.d.ts +498 -13
  66. package/dist/dts/index.d.ts.map +1 -1
  67. package/dist/esm/AiError.js +570 -10
  68. package/dist/esm/AiError.js.map +1 -1
  69. package/dist/esm/Chat.js +291 -0
  70. package/dist/esm/Chat.js.map +1 -0
  71. package/dist/esm/EmbeddingModel.js +173 -0
  72. package/dist/esm/EmbeddingModel.js.map +1 -0
  73. package/dist/esm/IdGenerator.js +245 -0
  74. package/dist/esm/IdGenerator.js.map +1 -0
  75. package/dist/esm/LanguageModel.js +572 -0
  76. package/dist/esm/LanguageModel.js.map +1 -0
  77. package/dist/esm/McpServer.js +12 -4
  78. package/dist/esm/McpServer.js.map +1 -1
  79. package/dist/esm/Model.js +108 -0
  80. package/dist/esm/Model.js.map +1 -0
  81. package/dist/esm/Prompt.js +633 -0
  82. package/dist/esm/Prompt.js.map +1 -0
  83. package/dist/esm/Response.js +619 -0
  84. package/dist/esm/Response.js.map +1 -0
  85. package/dist/esm/Telemetry.js +166 -0
  86. package/dist/esm/Telemetry.js.map +1 -0
  87. package/dist/esm/Tokenizer.js +87 -8
  88. package/dist/esm/Tokenizer.js.map +1 -1
  89. package/dist/esm/Tool.js +534 -0
  90. package/dist/esm/Tool.js.map +1 -0
  91. package/dist/esm/Toolkit.js +269 -0
  92. package/dist/esm/Toolkit.js.map +1 -0
  93. package/dist/esm/index.js +498 -13
  94. package/dist/esm/index.js.map +1 -1
  95. package/package.json +76 -68
  96. package/src/AiError.ts +739 -9
  97. package/src/Chat.ts +546 -0
  98. package/src/EmbeddingModel.ts +311 -0
  99. package/src/IdGenerator.ts +320 -0
  100. package/src/LanguageModel.ts +1074 -0
  101. package/src/McpServer.ts +337 -194
  102. package/src/Model.ts +155 -0
  103. package/src/Prompt.ts +1616 -0
  104. package/src/Response.ts +2131 -0
  105. package/src/Telemetry.ts +655 -0
  106. package/src/Tokenizer.ts +145 -24
  107. package/src/Tool.ts +1267 -0
  108. package/src/Toolkit.ts +516 -0
  109. package/src/index.ts +499 -13
  110. package/AiChat/package.json +0 -6
  111. package/AiEmbeddingModel/package.json +0 -6
  112. package/AiInput/package.json +0 -6
  113. package/AiLanguageModel/package.json +0 -6
  114. package/AiModel/package.json +0 -6
  115. package/AiResponse/package.json +0 -6
  116. package/AiTelemetry/package.json +0 -6
  117. package/AiTool/package.json +0 -6
  118. package/AiToolkit/package.json +0 -6
  119. package/dist/cjs/AiChat.js +0 -122
  120. package/dist/cjs/AiChat.js.map +0 -1
  121. package/dist/cjs/AiEmbeddingModel.js +0 -109
  122. package/dist/cjs/AiEmbeddingModel.js.map +0 -1
  123. package/dist/cjs/AiInput.js +0 -458
  124. package/dist/cjs/AiInput.js.map +0 -1
  125. package/dist/cjs/AiLanguageModel.js +0 -351
  126. package/dist/cjs/AiLanguageModel.js.map +0 -1
  127. package/dist/cjs/AiModel.js +0 -37
  128. package/dist/cjs/AiModel.js.map +0 -1
  129. package/dist/cjs/AiResponse.js +0 -681
  130. package/dist/cjs/AiResponse.js.map +0 -1
  131. package/dist/cjs/AiTelemetry.js +0 -58
  132. package/dist/cjs/AiTelemetry.js.map +0 -1
  133. package/dist/cjs/AiTool.js +0 -150
  134. package/dist/cjs/AiTool.js.map +0 -1
  135. package/dist/cjs/AiToolkit.js +0 -157
  136. package/dist/cjs/AiToolkit.js.map +0 -1
  137. package/dist/cjs/internal/common.js +0 -21
  138. package/dist/cjs/internal/common.js.map +0 -1
  139. package/dist/dts/AiChat.d.ts +0 -101
  140. package/dist/dts/AiChat.d.ts.map +0 -1
  141. package/dist/dts/AiEmbeddingModel.d.ts +0 -65
  142. package/dist/dts/AiEmbeddingModel.d.ts.map +0 -1
  143. package/dist/dts/AiInput.d.ts +0 -590
  144. package/dist/dts/AiInput.d.ts.map +0 -1
  145. package/dist/dts/AiLanguageModel.d.ts +0 -302
  146. package/dist/dts/AiLanguageModel.d.ts.map +0 -1
  147. package/dist/dts/AiModel.d.ts +0 -25
  148. package/dist/dts/AiModel.d.ts.map +0 -1
  149. package/dist/dts/AiResponse.d.ts +0 -863
  150. package/dist/dts/AiResponse.d.ts.map +0 -1
  151. package/dist/dts/AiTelemetry.d.ts +0 -242
  152. package/dist/dts/AiTelemetry.d.ts.map +0 -1
  153. package/dist/dts/AiTool.d.ts +0 -334
  154. package/dist/dts/AiTool.d.ts.map +0 -1
  155. package/dist/dts/AiToolkit.d.ts +0 -96
  156. package/dist/dts/AiToolkit.d.ts.map +0 -1
  157. package/dist/dts/internal/common.d.ts +0 -2
  158. package/dist/dts/internal/common.d.ts.map +0 -1
  159. package/dist/esm/AiChat.js +0 -111
  160. package/dist/esm/AiChat.js.map +0 -1
  161. package/dist/esm/AiEmbeddingModel.js +0 -98
  162. package/dist/esm/AiEmbeddingModel.js.map +0 -1
  163. package/dist/esm/AiInput.js +0 -433
  164. package/dist/esm/AiInput.js.map +0 -1
  165. package/dist/esm/AiLanguageModel.js +0 -340
  166. package/dist/esm/AiLanguageModel.js.map +0 -1
  167. package/dist/esm/AiModel.js +0 -29
  168. package/dist/esm/AiModel.js.map +0 -1
  169. package/dist/esm/AiResponse.js +0 -657
  170. package/dist/esm/AiResponse.js.map +0 -1
  171. package/dist/esm/AiTelemetry.js +0 -48
  172. package/dist/esm/AiTelemetry.js.map +0 -1
  173. package/dist/esm/AiTool.js +0 -134
  174. package/dist/esm/AiTool.js.map +0 -1
  175. package/dist/esm/AiToolkit.js +0 -147
  176. package/dist/esm/AiToolkit.js.map +0 -1
  177. package/dist/esm/internal/common.js +0 -14
  178. package/dist/esm/internal/common.js.map +0 -1
  179. package/src/AiChat.ts +0 -251
  180. package/src/AiEmbeddingModel.ts +0 -169
  181. package/src/AiInput.ts +0 -602
  182. package/src/AiLanguageModel.ts +0 -685
  183. package/src/AiModel.ts +0 -53
  184. package/src/AiResponse.ts +0 -986
  185. package/src/AiTelemetry.ts +0 -333
  186. package/src/AiTool.ts +0 -579
  187. package/src/AiToolkit.ts +0 -265
  188. package/src/internal/common.ts +0 -12
@@ -1,122 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fromPrompt = exports.fromJson = exports.fromExport = exports.empty = exports.AiChat = void 0;
7
- var Channel = _interopRequireWildcard(require("effect/Channel"));
8
- var Context = _interopRequireWildcard(require("effect/Context"));
9
- var Effect = _interopRequireWildcard(require("effect/Effect"));
10
- var Ref = _interopRequireWildcard(require("effect/Ref"));
11
- var Schema = _interopRequireWildcard(require("effect/Schema"));
12
- var Stream = _interopRequireWildcard(require("effect/Stream"));
13
- var AiInput = _interopRequireWildcard(require("./AiInput.js"));
14
- var AiLanguageModel = _interopRequireWildcard(require("./AiLanguageModel.js"));
15
- var AiResponse = _interopRequireWildcard(require("./AiResponse.js"));
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
- /**
18
- * @since 1.0.0
19
- */
20
-
21
- /**
22
- * @since 1.0.0
23
- * @category Context
24
- */
25
- class AiChat extends /*#__PURE__*/Context.Tag("@effect/ai/AiChat")() {}
26
- /**
27
- * @since 1.0.0
28
- * @category Constructors
29
- */
30
- exports.AiChat = AiChat;
31
- const fromPrompt = exports.fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (options) {
32
- const languageModel = yield* AiLanguageModel.AiLanguageModel;
33
- const context = yield* Effect.context();
34
- const provideContext = effect => Effect.mapInputContext(effect, input => Context.merge(context, input));
35
- const provideContextStream = stream => Stream.mapInputContext(stream, input => Context.merge(context, input));
36
- const history = yield* Ref.make(AiInput.make(options.prompt));
37
- const semaphore = yield* Effect.makeSemaphore(1);
38
- const system = options.system;
39
- return AiChat.of({
40
- history,
41
- export: Ref.get(history).pipe(Effect.flatMap(Schema.encode(AiInput.AiInput)), Effect.orDie),
42
- exportJson: Ref.get(history).pipe(Effect.flatMap(Schema.encode(AiInput.FromJson)), Effect.orDie),
43
- generateText(options) {
44
- const newInput = AiInput.make(options.prompt);
45
- return Ref.get(history).pipe(Effect.flatMap(oldInput => {
46
- const input = AiInput.concat(oldInput, newInput);
47
- return languageModel.generateText({
48
- ...options,
49
- system,
50
- prompt: input
51
- }).pipe(Effect.tap(response => {
52
- const modelInput = AiInput.make(response);
53
- return Ref.set(history, AiInput.concat(input, modelInput));
54
- }), provideContext);
55
- }), semaphore.withPermits(1), Effect.withSpan("AiChat.generateText", {
56
- captureStackTrace: false
57
- }));
58
- },
59
- streamText(options) {
60
- return Stream.suspend(() => {
61
- let combined = AiResponse.empty;
62
- return Stream.fromChannel(Channel.acquireUseRelease(semaphore.take(1).pipe(Effect.zipRight(Ref.get(history)), Effect.map(history => AiInput.concat(history, AiInput.make(options.prompt)))), parts => languageModel.streamText({
63
- ...options,
64
- system,
65
- prompt: parts
66
- }).pipe(Stream.map(chunk => {
67
- combined = AiResponse.merge(combined, chunk);
68
- return chunk;
69
- }), Stream.toChannel), parts => Effect.zipRight(Ref.set(history, AiInput.concat(parts, AiInput.make(combined))), semaphore.release(1))));
70
- }).pipe(provideContextStream, Stream.withSpan("AiChat.streamText", {
71
- captureStackTrace: false
72
- }));
73
- },
74
- generateObject(options) {
75
- const newInput = AiInput.make(options.prompt);
76
- return Ref.get(history).pipe(Effect.flatMap(oldInput => {
77
- const input = AiInput.concat(oldInput, newInput);
78
- return languageModel.generateObject({
79
- ...options,
80
- system,
81
- prompt: input
82
- }).pipe(Effect.flatMap(response => {
83
- const modelInput = AiInput.make(response);
84
- return Effect.as(Ref.set(history, AiInput.concat(input, modelInput)), response);
85
- }));
86
- }), provideContext, semaphore.withPermits(1), Effect.withSpan("AiChat.generateObject", {
87
- attributes: {
88
- toolCallId: "toolCallId" in options ? options.toolCallId : "_tag" in options.schema ? options.schema._tag : options.schema.identifier ?? "generateObject"
89
- },
90
- captureStackTrace: false
91
- }));
92
- }
93
- });
94
- });
95
- /**
96
- * @since 1.0.0
97
- * @category Constructors
98
- */
99
- const empty = exports.empty = /*#__PURE__*/fromPrompt({
100
- prompt: []
101
- });
102
- const decodeUnknown = /*#__PURE__*/Schema.decodeUnknown(AiInput.AiInput);
103
- /**
104
- * @since 1.0.0
105
- * @category Constructors
106
- */
107
- const fromExport = (data, options) => Effect.flatMap(decodeUnknown(data), prompt => fromPrompt({
108
- ...options,
109
- prompt
110
- }));
111
- exports.fromExport = fromExport;
112
- const decodeJson = /*#__PURE__*/Schema.decode(AiInput.FromJson);
113
- /**
114
- * @since 1.0.0
115
- * @category Constructors
116
- */
117
- const fromJson = (data, options) => Effect.flatMap(decodeJson(data), prompt => fromPrompt({
118
- ...options,
119
- prompt
120
- }));
121
- exports.fromJson = fromJson;
122
- //# sourceMappingURL=AiChat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AiChat.js","names":["Channel","_interopRequireWildcard","require","Context","Effect","Ref","Schema","Stream","AiInput","AiLanguageModel","AiResponse","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AiChat","Tag","exports","fromPrompt","fnUntraced","options","languageModel","context","provideContext","effect","mapInputContext","input","merge","provideContextStream","stream","history","make","prompt","semaphore","makeSemaphore","system","of","export","pipe","flatMap","encode","orDie","exportJson","FromJson","generateText","newInput","oldInput","concat","tap","response","modelInput","withPermits","withSpan","captureStackTrace","streamText","suspend","combined","empty","fromChannel","acquireUseRelease","take","zipRight","map","parts","chunk","toChannel","release","generateObject","as","attributes","toolCallId","schema","_tag","identifier","decodeUnknown","fromExport","data","decodeJson","decode","fromJson"],"sources":["../../src/AiChat.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.makeDataLoader = exports.make = exports.AiEmbeddingModel = void 0;
7
- var _RequestResolver = require("@effect/experimental/RequestResolver");
8
- var Context = _interopRequireWildcard(require("effect/Context"));
9
- var Effect = _interopRequireWildcard(require("effect/Effect"));
10
- var _Function = require("effect/Function");
11
- var Option = _interopRequireWildcard(require("effect/Option"));
12
- var Request = _interopRequireWildcard(require("effect/Request"));
13
- var RequestResolver = _interopRequireWildcard(require("effect/RequestResolver"));
14
- var Schema = _interopRequireWildcard(require("effect/Schema"));
15
- var _AiError = require("./AiError.js");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
- /**
18
- * @since 1.0.0
19
- */
20
-
21
- /**
22
- * @since 1.0.0
23
- * @category Context
24
- */
25
- class AiEmbeddingModel extends /*#__PURE__*/Context.Tag("@effect/ai/AiEmbeddingModel")() {}
26
- exports.AiEmbeddingModel = AiEmbeddingModel;
27
- class EmbeddingRequest extends /*#__PURE__*/Schema.TaggedRequest("@effect/ai/AiEmbeddingModel/Request")("EmbeddingRequest", {
28
- failure: _AiError.AiError,
29
- success: /*#__PURE__*/Schema.mutable(/*#__PURE__*/Schema.Array(Schema.Number)),
30
- payload: {
31
- input: Schema.String
32
- }
33
- }) {}
34
- const makeBatchedResolver = embedMany => RequestResolver.makeBatched(requests => embedMany(requests.map(request => request.input)).pipe(Effect.flatMap(Effect.forEach(({
35
- embeddings,
36
- index
37
- }) => Request.succeed(requests[index], embeddings), {
38
- discard: true
39
- })), Effect.catchAll(error => Effect.forEach(requests, request => Request.fail(request, error), {
40
- discard: true
41
- }))));
42
- /**
43
- * @since 1.0.0
44
- * @category Constructors
45
- */
46
- const make = options => Effect.gen(function* () {
47
- const cache = yield* Option.fromNullable(options.cache).pipe(Effect.flatMap(config => Request.makeCache(config)), Effect.optionFromOptional);
48
- const resolver = makeBatchedResolver(options.embedMany).pipe(options.maxBatchSize ? RequestResolver.batchN(options.maxBatchSize) : _Function.identity);
49
- function embed(input) {
50
- const request = Effect.request(new EmbeddingRequest({
51
- input
52
- }), resolver);
53
- return Option.match(cache, {
54
- onNone: () => request,
55
- onSome: cache => request.pipe(Effect.withRequestCaching(true), Effect.withRequestCache(cache))
56
- }).pipe(Effect.withSpan("AiEmbeddingModel.embed", {
57
- captureStackTrace: false
58
- }));
59
- }
60
- function embedMany(inputs, options) {
61
- return Effect.forEach(inputs, embed, {
62
- batching: true,
63
- concurrency: options?.concurrency
64
- }).pipe(Effect.withSpan("AiEmbeddingModel.embedMany", {
65
- captureStackTrace: false
66
- }));
67
- }
68
- return AiEmbeddingModel.of({
69
- embed,
70
- embedMany
71
- });
72
- });
73
- /**
74
- * Creates an `Embeddings` service which will aggregate all `embed` requests
75
- * received during the specified `window` (up to a maximum of `maxBatchSize`
76
- * requests, if specified) and execute them as a single batch.
77
- *
78
- * @since 1.0.0
79
- * @category Constructors
80
- */
81
- exports.make = make;
82
- const makeDataLoader = options => Effect.gen(function* () {
83
- const resolver = makeBatchedResolver(options.embedMany);
84
- const resolverDelayed = yield* (0, _RequestResolver.dataLoader)(resolver, {
85
- window: options.window,
86
- maxBatchSize: options.maxBatchSize
87
- });
88
- function embed(input) {
89
- return Effect.request(new EmbeddingRequest({
90
- input
91
- }), resolverDelayed).pipe(Effect.withSpan("AiEmbeddingModel.embed", {
92
- captureStackTrace: false
93
- }));
94
- }
95
- function embedMany(inputs, options) {
96
- return Effect.forEach(inputs, embed, {
97
- batching: true,
98
- concurrency: options?.concurrency
99
- }).pipe(Effect.withSpan("AiEmbeddingModel.embedMany", {
100
- captureStackTrace: false
101
- }));
102
- }
103
- return AiEmbeddingModel.of({
104
- embed,
105
- embedMany
106
- });
107
- });
108
- exports.makeDataLoader = makeDataLoader;
109
- //# sourceMappingURL=AiEmbeddingModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AiEmbeddingModel.js","names":["_RequestResolver","require","Context","_interopRequireWildcard","Effect","_Function","Option","Request","RequestResolver","Schema","_AiError","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AiEmbeddingModel","Tag","exports","EmbeddingRequest","TaggedRequest","failure","AiError","success","mutable","Array","Number","payload","input","String","makeBatchedResolver","embedMany","makeBatched","requests","map","request","pipe","flatMap","forEach","embeddings","index","succeed","discard","catchAll","error","fail","make","options","gen","cache","fromNullable","config","makeCache","optionFromOptional","resolver","maxBatchSize","batchN","identity","embed","match","onNone","onSome","withRequestCaching","withRequestCache","withSpan","captureStackTrace","inputs","batching","concurrency","of","makeDataLoader","resolverDelayed","dataLoader","window"],"sources":["../../src/AiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}