@effect/ai 0.8.1 → 0.8.2

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.
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeDataLoader = exports.make = exports.Embeddings = 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 _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ /**
19
+ * @since 1.0.0
20
+ */
21
+
22
+ /**
23
+ * @since 1.0.0
24
+ * @category tags
25
+ */
26
+ class Embeddings extends /*#__PURE__*/Context.Tag("@effect/ai/Embeddings")() {}
27
+ exports.Embeddings = Embeddings;
28
+ class EmbeddingRequest extends /*#__PURE__*/Schema.TaggedRequest()("EmbeddingRequest", {
29
+ failure: _AiError.AiError,
30
+ success: /*#__PURE__*/Schema.mutable( /*#__PURE__*/Schema.Array(Schema.Number)),
31
+ payload: {
32
+ input: Schema.String
33
+ }
34
+ }) {}
35
+ const makeBatchedResolver = embedMany => RequestResolver.makeBatched(requests => embedMany(requests.map(request => request.input)).pipe(Effect.flatMap(Effect.forEach(({
36
+ embeddings,
37
+ index
38
+ }) => Request.succeed(requests[index], embeddings), {
39
+ discard: true
40
+ })), Effect.catchAll(error => Effect.forEach(requests, request => Request.fail(request, error), {
41
+ discard: true
42
+ }))));
43
+ /**
44
+ * @since 1.0.0
45
+ * @category constructors
46
+ */
47
+ const make = options => Effect.gen(function* () {
48
+ const cache = yield* Option.fromNullable(options.cache).pipe(Effect.flatMap(config => Request.makeCache(config)), Effect.optionFromOptional);
49
+ const resolver = makeBatchedResolver(options.embedMany).pipe(options.maxBatchSize ? RequestResolver.batchN(options.maxBatchSize) : _Function.identity);
50
+ function embed(input) {
51
+ const request = Effect.request(new EmbeddingRequest({
52
+ input
53
+ }), resolver);
54
+ return Option.match(cache, {
55
+ onNone: () => request,
56
+ onSome: cache => request.pipe(Effect.withRequestCaching(true), Effect.withRequestCache(cache))
57
+ }).pipe(Effect.withSpan("Embeddings.embed", {
58
+ captureStackTrace: false
59
+ }));
60
+ }
61
+ return Embeddings.of({
62
+ embed
63
+ });
64
+ });
65
+ /**
66
+ * Creates an `Embeddings` service which will aggregate all `embed` requests
67
+ * received during the specified `window` (up to a maximum of `maxBatchSize`
68
+ * requests, if specified) and execute them as a single batch.
69
+ *
70
+ * @since 1.0.0
71
+ * @category constructors
72
+ */
73
+ exports.make = make;
74
+ const makeDataLoader = options => Effect.gen(function* () {
75
+ const resolver = makeBatchedResolver(options.embedMany);
76
+ const resolverDelayed = yield* (0, _RequestResolver.dataLoader)(resolver, {
77
+ window: options.window,
78
+ maxBatchSize: options.maxBatchSize
79
+ });
80
+ function embed(input) {
81
+ return Effect.request(new EmbeddingRequest({
82
+ input
83
+ }), resolverDelayed).pipe(Effect.withSpan("Embeddings.embed", {
84
+ captureStackTrace: false
85
+ }));
86
+ }
87
+ return Embeddings.of({
88
+ embed
89
+ });
90
+ });
91
+ exports.makeDataLoader = makeDataLoader;
92
+ //# sourceMappingURL=Embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Embeddings.js","names":["_RequestResolver","require","Context","_interopRequireWildcard","Effect","_Function","Option","Request","RequestResolver","Schema","_AiError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Embeddings","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","of","makeDataLoader","resolverDelayed","dataLoader","window"],"sources":["../../src/Embeddings.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Tokenizer = exports.Completions = exports.AiToolkit = exports.AiRole = exports.AiResponse = exports.AiInput = exports.AiError = exports.AiChat = void 0;
6
+ exports.Tokenizer = exports.Embeddings = exports.Completions = exports.AiToolkit = exports.AiTelemetry = exports.AiRole = exports.AiResponse = exports.AiInput = exports.AiError = exports.AiChat = void 0;
7
7
  var _AiChat = _interopRequireWildcard(require("./AiChat.js"));
8
8
  exports.AiChat = _AiChat;
9
9
  var _AiError = _interopRequireWildcard(require("./AiError.js"));
@@ -14,10 +14,14 @@ var _AiResponse = _interopRequireWildcard(require("./AiResponse.js"));
14
14
  exports.AiResponse = _AiResponse;
15
15
  var _AiRole = _interopRequireWildcard(require("./AiRole.js"));
16
16
  exports.AiRole = _AiRole;
17
+ var _AiTelemetry = _interopRequireWildcard(require("./AiTelemetry.js"));
18
+ exports.AiTelemetry = _AiTelemetry;
17
19
  var _AiToolkit = _interopRequireWildcard(require("./AiToolkit.js"));
18
20
  exports.AiToolkit = _AiToolkit;
19
21
  var _Completions = _interopRequireWildcard(require("./Completions.js"));
20
22
  exports.Completions = _Completions;
23
+ var _Embeddings = _interopRequireWildcard(require("./Embeddings.js"));
24
+ exports.Embeddings = _Embeddings;
21
25
  var _Tokenizer = _interopRequireWildcard(require("./Tokenizer.js"));
22
26
  exports.Tokenizer = _Tokenizer;
23
27
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -1,5 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import type { ParseError } from "effect/ParseResult";
3
+ import * as Schema from "effect/Schema";
3
4
  import * as Stream from "effect/Stream";
4
5
  import type { Concurrency } from "effect/Types";
5
6
  import type { AiError } from "./AiError.js";
@@ -31,7 +32,17 @@ export declare namespace AiChat {
31
32
  readonly exportJson: Effect.Effect<string>;
32
33
  readonly send: (input: AiInput.Input) => Effect.Effect<AiResponse, AiError>;
33
34
  readonly stream: (input: AiInput.Input) => Stream.Stream<AiResponse, AiError>;
34
- readonly structured: <A, I, R>(tool: Completions.StructuredSchema<A, I, R>, input: AiInput.Input) => Effect.Effect<A, AiError, R>;
35
+ readonly structured: {
36
+ <A, I, R>(options: {
37
+ readonly input: AiInput.Input;
38
+ readonly schema: Completions.StructuredSchema<A, I, R>;
39
+ }): Effect.Effect<A, AiError, R>;
40
+ <A, I, R>(options: {
41
+ readonly input: AiInput.Input;
42
+ readonly schema: Schema.Schema<A, I, R>;
43
+ readonly toolCallId: string;
44
+ }): Effect.Effect<A, AiError, R>;
45
+ };
35
46
  readonly toolkit: <Tools extends AiToolkit.Tool.AnySchema>(options: {
36
47
  readonly input: AiInput.Input;
37
48
  readonly tools: AiToolkit.Handlers<Tools>;
@@ -1 +1 @@
1
- {"version":3,"file":"AiChat.d.ts","sourceRoot":"","sources":["../../src/AiChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiChat.d.ts","sourceRoot":"","sources":["../../src/AiChat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { Span } from "effect/Tracer";
5
+ import type { Simplify } from "effect/Types";
6
+ /**
7
+ * The attributes used to describe telemetry in the context of Generative
8
+ * Artificial Intelligence (GenAI) Models requests and responses.
9
+ *
10
+ * {@see https://opentelemetry.io/docs/specs/semconv/attributes-registry/gen-ai/}
11
+ *
12
+ * @since 1.0.0
13
+ * @category models
14
+ */
15
+ export type GenAITelemetryAttributes = Simplify<GenAI.AttributesWithPrefix<GenAI.BaseAttributes, "gen_ai"> & GenAI.AttributesWithPrefix<GenAI.OperationAttributes, "gen_ai.operation"> & GenAI.AttributesWithPrefix<GenAI.TokenAttributes, "gen_ai.token"> & GenAI.AttributesWithPrefix<GenAI.UsageAttributes, "gen_ai.usage"> & GenAI.AttributesWithPrefix<GenAI.RequestAttributes, "gen_ai.request"> & GenAI.AttributesWithPrefix<GenAI.ResponseAttributes, "gen_ai.response">>;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category models
19
+ */
20
+ export declare namespace GenAI {
21
+ /**
22
+ * All telemetry attributes which are part of the GenAI specification.
23
+ *
24
+ * @since 1.0.0
25
+ * @category models
26
+ */
27
+ type AllAttributes = BaseAttributes & OperationAttributes & TokenAttributes & UsageAttributes & RequestAttributes & ResponseAttributes;
28
+ /**
29
+ * Telemetry attributes which are part of the GenAI specification and are
30
+ * namespaced by `gen_ai`.
31
+ *
32
+ * @since 1.0.0
33
+ * @category models
34
+ */
35
+ interface BaseAttributes {
36
+ /**
37
+ * The Generative AI product as identified by the client or server
38
+ * instrumentation.
39
+ */
40
+ readonly system?: (string & {}) | WellKnownSystem | null | undefined;
41
+ }
42
+ /**
43
+ * Telemetry attributes which are part of the GenAI specification and are
44
+ * namespaced by `gen_ai.operation`.
45
+ *
46
+ * @since 1.0.0
47
+ * @category models
48
+ */
49
+ interface OperationAttributes {
50
+ readonly name?: (string & {}) | WellKnownOperationName | null | undefined;
51
+ }
52
+ /**
53
+ * Telemetry attributes which are part of the GenAI specification and are
54
+ * namespaced by `gen_ai.token`.
55
+ *
56
+ * @since 1.0.0
57
+ * @category models
58
+ */
59
+ interface TokenAttributes {
60
+ readonly type?: string | null | undefined;
61
+ }
62
+ /**
63
+ * Telemetry attributes which are part of the GenAI specification and are
64
+ * namespaced by `gen_ai.usage`.
65
+ *
66
+ * @since 1.0.0
67
+ * @category models
68
+ */
69
+ interface UsageAttributes {
70
+ readonly inputTokens?: number | null | undefined;
71
+ readonly outputTokens?: number | null | undefined;
72
+ }
73
+ /**
74
+ * Telemetry attributes which are part of the GenAI specification and are
75
+ * namespaced by `gen_ai.request`.
76
+ *
77
+ * @since 1.0.0
78
+ * @category models
79
+ */
80
+ interface RequestAttributes {
81
+ /**
82
+ * The name of the GenAI model a request is being made to.
83
+ */
84
+ readonly model?: string | null | undefined;
85
+ /**
86
+ * The temperature setting for the GenAI request.
87
+ */
88
+ readonly temperature?: number | null | undefined;
89
+ /**
90
+ * The temperature setting for the GenAI request.
91
+ */
92
+ readonly topK?: number | null | undefined;
93
+ /**
94
+ * The top_k sampling setting for the GenAI request.
95
+ */
96
+ readonly topP?: number | null | undefined;
97
+ /**
98
+ * The top_p sampling setting for the GenAI request.
99
+ */
100
+ readonly maxTokens?: number | null | undefined;
101
+ /**
102
+ * The encoding formats requested in an embeddings operation, if specified.
103
+ */
104
+ readonly encodingFormats?: ReadonlyArray<string> | null | undefined;
105
+ /**
106
+ * List of sequences that the model will use to stop generating further
107
+ * tokens.
108
+ */
109
+ readonly stopSequences?: ReadonlyArray<string> | null | undefined;
110
+ /**
111
+ * The frequency penalty setting for the GenAI request.
112
+ */
113
+ readonly frequencyPenalty?: number | null | undefined;
114
+ /**
115
+ * The presence penalty setting for the GenAI request.
116
+ */
117
+ readonly presencePenalty?: number | null | undefined;
118
+ /**
119
+ * The seed setting for the GenAI request. Requests with same seed value
120
+ * are more likely to return same result.
121
+ */
122
+ readonly seed?: number | null | undefined;
123
+ }
124
+ /**
125
+ * Telemetry attributes which are part of the GenAI specification and are
126
+ * namespaced by `gen_ai.response`.
127
+ *
128
+ * @since 1.0.0
129
+ * @category models
130
+ */
131
+ interface ResponseAttributes {
132
+ /**
133
+ * The unique identifier for the completion.
134
+ */
135
+ readonly id?: string | null | undefined;
136
+ /**
137
+ * The name of the model that generated the response.
138
+ */
139
+ readonly model?: string | null | undefined;
140
+ /**
141
+ * Array of reasons the model stopped generating tokens, corresponding to
142
+ * each generation received.
143
+ */
144
+ readonly finishReasons?: ReadonlyArray<string> | null | undefined;
145
+ }
146
+ /**
147
+ * The `gen_ai.operation.name` attribute has the following list of well-known
148
+ * values.
149
+ *
150
+ * If one of them applies, then the respective value **MUST** be used;
151
+ * otherwise, a custom value **MAY** be used.
152
+ *
153
+ * @since 1.0.0
154
+ * @category models
155
+ */
156
+ type WellKnownOperationName = "chat" | "embeddings" | "text_completion";
157
+ /**
158
+ * The `gen_ai.system` attribute has the following list of well-known values.
159
+ *
160
+ * If one of them applies, then the respective value **MUST** be used;
161
+ * otherwise, a custom value **MAY** be used.
162
+ *
163
+ * @since 1.0.0
164
+ * @category models
165
+ */
166
+ type WellKnownSystem = "anthropic" | "aws.bedrock" | "az.ai.inference" | "az.ai.openai" | "cohere" | "deepseek" | "gemini" | "groq" | "ibm.watsonx.ai" | "mistral_ai" | "openai" | "perplexity" | "vertex_ai" | "xai";
167
+ /**
168
+ * @since 1.0.0
169
+ * @category models
170
+ */
171
+ type AttributesWithPrefix<Attributes extends Record<string, any>, Prefix extends string> = {
172
+ [Name in keyof Attributes as `${Prefix}.${FormatAttributeName<Name>}`]: Attributes[Name];
173
+ };
174
+ /**
175
+ * @since 1.0.0
176
+ * @category models
177
+ */
178
+ type FormatAttributeName<T extends string | number | symbol> = T extends string ? T extends `${infer First}${infer Rest}` ? `${First extends Uppercase<First> ? "_" : ""}${Lowercase<First>}${FormatAttributeName<Rest>}` : T : never;
179
+ }
180
+ /**
181
+ * @since 1.0.0
182
+ * @category utilities
183
+ */
184
+ export declare const addSpanAttributes: (keyPrefix: string, transformKey: (key: string) => string) => <Attributes extends Record<string, any>>(span: Span, attributes: Attributes) => void;
185
+ /**
186
+ * @since 1.0.0
187
+ * @since models
188
+ */
189
+ export type GenAITelemetryAttributeOptions = GenAI.BaseAttributes & {
190
+ readonly operation?: GenAI.OperationAttributes | undefined;
191
+ readonly request?: GenAI.RequestAttributes | undefined;
192
+ readonly response?: GenAI.ResponseAttributes | undefined;
193
+ readonly token?: GenAI.TokenAttributes | undefined;
194
+ readonly usage?: GenAI.UsageAttributes | undefined;
195
+ };
196
+ /**
197
+ * Applies the specified GenAI telemetry attributes to the provided `Span`.
198
+ *
199
+ * **NOTE**: This method will mutate the `Span` **in-place**.
200
+ *
201
+ * @since 1.0.0
202
+ * @since utilities
203
+ */
204
+ export declare const addGenAIAnnotations: ((options: GenAITelemetryAttributeOptions) => (span: Span) => void) & ((span: Span, options: GenAITelemetryAttributeOptions) => void);
205
+ //# sourceMappingURL=AiTelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiTelemetry.d.ts","sourceRoot":"","sources":["../../src/AiTelemetry.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import * as JsonSchema from "effect/JSONSchema";
8
8
  import * as Option from "effect/Option";
9
9
  import * as Schema from "effect/Schema";
10
10
  import * as Stream from "effect/Stream";
11
+ import type { Span } from "effect/Tracer";
11
12
  import type { Concurrency } from "effect/Types";
12
13
  import { AiError } from "./AiError.js";
13
14
  import type { Message } from "./AiInput.js";
@@ -29,23 +30,41 @@ export declare class Completions extends Completions_base {
29
30
  export declare namespace Completions {
30
31
  /**
31
32
  * @since 1.0.0
32
- * @models
33
+ * @category models
33
34
  */
34
- interface StructuredSchema<A, I, R> extends Schema.Schema<A, I, R> {
35
- readonly _tag?: string;
35
+ type StructuredSchema<A, I, R> = TaggedSchema<A, I, R> | IdentifiedSchema<A, I, R>;
36
+ /**
37
+ * @since 1.0.0
38
+ * @category models
39
+ */
40
+ interface TaggedSchema<A, I, R> extends Schema.Schema<A, I, R> {
41
+ readonly _tag: string;
42
+ }
43
+ /**
44
+ * @since 1.0.0
45
+ * @category models
46
+ */
47
+ interface IdentifiedSchema<A, I, R> extends Schema.Schema<A, I, R> {
36
48
  readonly identifier: string;
37
49
  }
38
50
  /**
39
51
  * @since 1.0.0
40
- * @models
52
+ * @category models
41
53
  */
42
54
  interface Service {
43
55
  readonly create: (input: AiInput.Input) => Effect.Effect<AiResponse, AiError>;
44
56
  readonly stream: (input: AiInput.Input) => Stream.Stream<AiResponse, AiError>;
45
- readonly structured: <A, I, R>(options: {
46
- readonly input: AiInput.Input;
47
- readonly schema: StructuredSchema<A, I, R>;
48
- }) => Effect.Effect<WithResolved<A>, AiError, R>;
57
+ readonly structured: {
58
+ <A, I, R>(options: {
59
+ readonly input: AiInput.Input;
60
+ readonly schema: StructuredSchema<A, I, R>;
61
+ }): Effect.Effect<WithResolved<A>, AiError, R>;
62
+ <A, I, R>(options: {
63
+ readonly input: AiInput.Input;
64
+ readonly schema: Schema.Schema<A, I, R>;
65
+ readonly toolCallId: string;
66
+ }): Effect.Effect<WithResolved<A>, AiError, R>;
67
+ };
49
68
  readonly toolkit: <Tools extends AiToolkit.Tool.AnySchema>(options: {
50
69
  readonly input: AiInput.Input;
51
70
  readonly tools: AiToolkit.Handlers<Tools>;
@@ -90,6 +109,7 @@ export declare const make: (options: {
90
109
  readonly structured: boolean;
91
110
  }>;
92
111
  readonly required: boolean | string;
112
+ readonly span: Span;
93
113
  }) => Effect.Effect<AiResponse, AiError>;
94
114
  readonly stream: (options: {
95
115
  readonly system: Option.Option<string>;
@@ -101,6 +121,7 @@ export declare const make: (options: {
101
121
  readonly structured: boolean;
102
122
  }>;
103
123
  readonly required: boolean | string;
124
+ readonly span: Span;
104
125
  }) => Stream.Stream<AiResponse, AiError>;
105
126
  }) => Effect.Effect<Completions.Service>;
106
127
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Completions.d.ts","sourceRoot":"","sources":["../../src/Completions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Completions.d.ts","sourceRoot":"","sources":["../../src/Completions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import * as Context from "effect/Context";
2
+ import type * as Duration from "effect/Duration";
3
+ import * as Effect from "effect/Effect";
4
+ import { AiError } from "./AiError.js";
5
+ declare const Embeddings_base: Context.TagClass<Embeddings, "@effect/ai/Embeddings", Embeddings.Service>;
6
+ /**
7
+ * @since 1.0.0
8
+ * @category tags
9
+ */
10
+ export declare class Embeddings extends Embeddings_base {
11
+ }
12
+ /**
13
+ * @since 1.0.0
14
+ * @category models
15
+ */
16
+ export declare namespace Embeddings {
17
+ /**
18
+ * @since 1.0.0
19
+ * @category models
20
+ */
21
+ interface Service {
22
+ readonly embed: (input: string) => Effect.Effect<Array<number>, AiError>;
23
+ }
24
+ /**
25
+ * @since 1.0.0
26
+ * @category models
27
+ */
28
+ interface Result {
29
+ readonly index: number;
30
+ readonly embeddings: Array<number>;
31
+ }
32
+ }
33
+ /**
34
+ * @since 1.0.0
35
+ * @category constructors
36
+ */
37
+ export declare const make: (options: {
38
+ readonly embedMany: (input: ReadonlyArray<string>) => Effect.Effect<Array<Embeddings.Result>, AiError>;
39
+ readonly maxBatchSize?: number;
40
+ readonly cache?: {
41
+ readonly capacity: number;
42
+ readonly timeToLive: Duration.DurationInput;
43
+ };
44
+ }) => Effect.Effect<Embeddings.Service, never, never>;
45
+ /**
46
+ * Creates an `Embeddings` service which will aggregate all `embed` requests
47
+ * received during the specified `window` (up to a maximum of `maxBatchSize`
48
+ * requests, if specified) and execute them as a single batch.
49
+ *
50
+ * @since 1.0.0
51
+ * @category constructors
52
+ */
53
+ export declare const makeDataLoader: (options: {
54
+ readonly embedMany: (input: ReadonlyArray<string>) => Effect.Effect<Array<Embeddings.Result>, AiError>;
55
+ readonly window: Duration.DurationInput;
56
+ readonly maxBatchSize?: number;
57
+ }) => Effect.Effect<Embeddings.Service, never, import("effect/Scope").Scope>;
58
+ export {};
59
+ //# sourceMappingURL=Embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Embeddings.d.ts","sourceRoot":"","sources":["../../src/Embeddings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;;AAEtC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAG7B;CAAG;AAEN;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;;OAGG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;KACzE;IAED;;;OAGG;IACH,UAAiB,MAAM;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACnC;CACF;AA8BD;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IACtG,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAA;KAC5C,CAAA;CACF,oDA0BG,CAAA;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YAAa;IACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;IACtG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B,2EAiBG,CAAA"}
@@ -18,6 +18,10 @@ export * as AiResponse from "./AiResponse.js";
18
18
  * @since 1.0.0
19
19
  */
20
20
  export * as AiRole from "./AiRole.js";
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * as AiTelemetry from "./AiTelemetry.js";
21
25
  /**
22
26
  * @since 1.0.0
23
27
  */
@@ -26,6 +30,10 @@ export * as AiToolkit from "./AiToolkit.js";
26
30
  * @since 1.0.0
27
31
  */
28
32
  export * as Completions from "./Completions.js";
33
+ /**
34
+ * @since 1.0.0
35
+ */
36
+ export * as Embeddings from "./Embeddings.js";
29
37
  /**
30
38
  * @since 1.0.0
31
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}