@effect/ai 0.1.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 (75) hide show
  1. package/AiChat/package.json +6 -0
  2. package/AiError/package.json +6 -0
  3. package/AiInput/package.json +6 -0
  4. package/AiResponse/package.json +6 -0
  5. package/AiRole/package.json +6 -0
  6. package/AiToolkit/package.json +6 -0
  7. package/Completions/package.json +6 -0
  8. package/LICENSE +21 -0
  9. package/README.md +1 -0
  10. package/Tokenizer/package.json +6 -0
  11. package/dist/cjs/AiChat.js +151 -0
  12. package/dist/cjs/AiChat.js.map +1 -0
  13. package/dist/cjs/AiError.js +41 -0
  14. package/dist/cjs/AiError.js.map +1 -0
  15. package/dist/cjs/AiInput.js +349 -0
  16. package/dist/cjs/AiInput.js.map +1 -0
  17. package/dist/cjs/AiResponse.js +295 -0
  18. package/dist/cjs/AiResponse.js.map +1 -0
  19. package/dist/cjs/AiRole.js +106 -0
  20. package/dist/cjs/AiRole.js.map +1 -0
  21. package/dist/cjs/AiToolkit.js +132 -0
  22. package/dist/cjs/AiToolkit.js.map +1 -0
  23. package/dist/cjs/Completions.js +217 -0
  24. package/dist/cjs/Completions.js.map +1 -0
  25. package/dist/cjs/Tokenizer.js +59 -0
  26. package/dist/cjs/Tokenizer.js.map +1 -0
  27. package/dist/cjs/index.js +25 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/dts/AiChat.d.ts +73 -0
  30. package/dist/dts/AiChat.d.ts.map +1 -0
  31. package/dist/dts/AiError.d.ts +38 -0
  32. package/dist/dts/AiError.d.ts.map +1 -0
  33. package/dist/dts/AiInput.d.ts +283 -0
  34. package/dist/dts/AiInput.d.ts.map +1 -0
  35. package/dist/dts/AiResponse.d.ts +235 -0
  36. package/dist/dts/AiResponse.d.ts.map +1 -0
  37. package/dist/dts/AiRole.d.ts +111 -0
  38. package/dist/dts/AiRole.d.ts.map +1 -0
  39. package/dist/dts/AiToolkit.d.ts +158 -0
  40. package/dist/dts/AiToolkit.d.ts.map +1 -0
  41. package/dist/dts/Completions.d.ts +104 -0
  42. package/dist/dts/Completions.d.ts.map +1 -0
  43. package/dist/dts/Tokenizer.d.ts +34 -0
  44. package/dist/dts/Tokenizer.d.ts.map +1 -0
  45. package/dist/dts/index.d.ts +33 -0
  46. package/dist/dts/index.d.ts.map +1 -0
  47. package/dist/esm/AiChat.js +139 -0
  48. package/dist/esm/AiChat.js.map +1 -0
  49. package/dist/esm/AiError.js +31 -0
  50. package/dist/esm/AiError.js.map +1 -0
  51. package/dist/esm/AiInput.js +332 -0
  52. package/dist/esm/AiInput.js.map +1 -0
  53. package/dist/esm/AiResponse.js +281 -0
  54. package/dist/esm/AiResponse.js.map +1 -0
  55. package/dist/esm/AiRole.js +93 -0
  56. package/dist/esm/AiRole.js.map +1 -0
  57. package/dist/esm/AiToolkit.js +123 -0
  58. package/dist/esm/AiToolkit.js.map +1 -0
  59. package/dist/esm/Completions.js +206 -0
  60. package/dist/esm/Completions.js.map +1 -0
  61. package/dist/esm/Tokenizer.js +48 -0
  62. package/dist/esm/Tokenizer.js.map +1 -0
  63. package/dist/esm/index.js +33 -0
  64. package/dist/esm/index.js.map +1 -0
  65. package/dist/esm/package.json +4 -0
  66. package/package.json +100 -0
  67. package/src/AiChat.ts +274 -0
  68. package/src/AiError.ts +38 -0
  69. package/src/AiInput.ts +456 -0
  70. package/src/AiResponse.ts +343 -0
  71. package/src/AiRole.ts +122 -0
  72. package/src/AiToolkit.ts +314 -0
  73. package/src/Completions.ts +354 -0
  74. package/src/Tokenizer.ts +78 -0
  75. package/src/index.ts +39 -0
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.Completions = void 0;
7
+ var JsonSchema = _interopRequireWildcard(require("@effect/platform/OpenApiJsonSchema"));
8
+ var AST = _interopRequireWildcard(require("@effect/schema/AST"));
9
+ var Schema = _interopRequireWildcard(require("@effect/schema/Schema"));
10
+ var Chunk = _interopRequireWildcard(require("effect/Chunk"));
11
+ var Context = _interopRequireWildcard(require("effect/Context"));
12
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
13
+ var HashMap = _interopRequireWildcard(require("effect/HashMap"));
14
+ var Option = _interopRequireWildcard(require("effect/Option"));
15
+ var Stream = _interopRequireWildcard(require("effect/Stream"));
16
+ var _AiError = require("./AiError.js");
17
+ var AiInput = _interopRequireWildcard(require("./AiInput.js"));
18
+ var _AiResponse = require("./AiResponse.js");
19
+ 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); }
20
+ 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; }
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+
25
+ /**
26
+ * @since 1.0.0
27
+ * @category tags
28
+ */
29
+ class Completions extends /*#__PURE__*/Context.Tag("@effect/ai/Completions")() {}
30
+ exports.Completions = Completions;
31
+ const constEmptyMap = /*#__PURE__*/new Map();
32
+ /**
33
+ * @since 1.0.0
34
+ * @category constructors
35
+ */
36
+ const make = options => Effect.map(Effect.serviceOption(AiInput.SystemInstruction), parentSystem => {
37
+ return Completions.of({
38
+ create(input) {
39
+ return Effect.serviceOption(AiInput.SystemInstruction).pipe(Effect.flatMap(system => options.create({
40
+ input: AiInput.make(input),
41
+ system: Option.orElse(system, () => parentSystem),
42
+ tools: [],
43
+ required: false
44
+ })), Effect.withSpan("Completions.create", {
45
+ captureStackTrace: false
46
+ }));
47
+ },
48
+ stream(input_) {
49
+ const input = AiInput.make(input_);
50
+ return Effect.serviceOption(AiInput.SystemInstruction).pipe(Effect.map(system => options.stream({
51
+ input: input,
52
+ system: Option.orElse(system, () => parentSystem),
53
+ tools: [],
54
+ required: false
55
+ })), Stream.unwrap, Stream.withSpan("Completions.stream", {
56
+ captureStackTrace: false
57
+ }));
58
+ },
59
+ structured(opts) {
60
+ const input = AiInput.make(opts.input);
61
+ const schema = opts.schema;
62
+ const decode = Schema.decodeUnknown(schema);
63
+ const toolId = schema._tag ?? schema.identifier;
64
+ return Effect.serviceOption(AiInput.SystemInstruction).pipe(Effect.flatMap(system => options.create({
65
+ input: input,
66
+ system: Option.orElse(system, () => parentSystem),
67
+ tools: [convertTool(schema)],
68
+ required: true
69
+ })), Effect.flatMap(response => Chunk.findFirst(response.parts, part => part._tag === "ToolCall" && part.name === toolId).pipe(Option.match({
70
+ onNone: () => Effect.fail(new _AiError.AiError({
71
+ module: "Completions",
72
+ method: "structured",
73
+ description: `Tool call '${toolId}' not found in response`
74
+ })),
75
+ onSome: toolCall => Effect.matchEffect(decode(toolCall.params), {
76
+ onFailure: cause => new _AiError.AiError({
77
+ module: "Completions",
78
+ method: "structured",
79
+ description: `Failed to decode tool call '${toolId}' parameters`,
80
+ cause
81
+ }),
82
+ onSuccess: resolved => Effect.succeed(new _AiResponse.WithResolved({
83
+ response,
84
+ resolved: new Map([[toolCall.id, resolved]]),
85
+ encoded: new Map([[toolCall.id, toolCall.params]])
86
+ }))
87
+ })
88
+ }), Effect.withSpan("Completions.structured", {
89
+ attributes: {
90
+ tool: toolId
91
+ },
92
+ captureStackTrace: false
93
+ }))));
94
+ },
95
+ toolkit({
96
+ concurrency,
97
+ input: inputInput,
98
+ required = false,
99
+ tools
100
+ }) {
101
+ const input = AiInput.make(inputInput);
102
+ const toolArr = [];
103
+ for (const [, tool] of tools.toolkit.tools) {
104
+ toolArr.push(convertTool(tool));
105
+ }
106
+ return Effect.serviceOption(AiInput.SystemInstruction).pipe(Effect.flatMap(system => options.create({
107
+ input: input,
108
+ system: Option.orElse(system, () => parentSystem),
109
+ tools: toolArr,
110
+ required: required
111
+ })), Effect.flatMap(response => resolveParts({
112
+ response,
113
+ tools,
114
+ concurrency,
115
+ method: "toolkit"
116
+ })), Effect.withSpan("Completions.toolkit", {
117
+ captureStackTrace: false,
118
+ attributes: {
119
+ concurrency,
120
+ required
121
+ }
122
+ }));
123
+ },
124
+ toolkitStream({
125
+ concurrency,
126
+ input,
127
+ required = false,
128
+ tools
129
+ }) {
130
+ const toolArr = [];
131
+ for (const [, tool] of tools.toolkit.tools) {
132
+ toolArr.push(convertTool(tool));
133
+ }
134
+ return Effect.serviceOption(AiInput.SystemInstruction).pipe(Effect.map(system => options.stream({
135
+ input: AiInput.make(input),
136
+ system: Option.orElse(system, () => parentSystem),
137
+ tools: toolArr,
138
+ required: required
139
+ })), Stream.unwrap, Stream.mapEffect(chunk => resolveParts({
140
+ response: chunk,
141
+ tools,
142
+ concurrency,
143
+ method: "toolkitStream"
144
+ }), {
145
+ concurrency: "unbounded"
146
+ }), Stream.withSpan("Completions.toolkitStream", {
147
+ captureStackTrace: false,
148
+ attributes: {
149
+ concurrency,
150
+ required
151
+ }
152
+ }));
153
+ }
154
+ });
155
+ });
156
+ exports.make = make;
157
+ const convertTool = tool => ({
158
+ name: tool._tag ?? tool.identifier,
159
+ description: getDescription(tool.ast),
160
+ parameters: JsonSchema.make(tool)
161
+ });
162
+ const getDescription = ast => {
163
+ const annotations = ast._tag === "Transformation" ? {
164
+ ...ast.to.annotations,
165
+ ...ast.annotations
166
+ } : ast.annotations;
167
+ return AST.DescriptionAnnotationId in annotations ? annotations[AST.DescriptionAnnotationId] : "";
168
+ };
169
+ const resolveParts = options => {
170
+ const toolNames = [];
171
+ const toolParts = Chunk.filter(options.response.parts, part => {
172
+ if (part._tag === "ToolCall") {
173
+ toolNames.push(part.name);
174
+ return true;
175
+ }
176
+ return false;
177
+ });
178
+ if (Chunk.isEmpty(toolParts)) {
179
+ return Effect.succeed(new _AiResponse.WithResolved({
180
+ response: options.response,
181
+ resolved: constEmptyMap,
182
+ encoded: constEmptyMap
183
+ }));
184
+ }
185
+ const resolved = new Map();
186
+ const encoded = new Map();
187
+ return Effect.annotateCurrentSpan("toolCalls", toolNames).pipe(Effect.zipRight(Effect.forEach(toolParts, part => {
188
+ const tool = HashMap.unsafeGet(options.tools.toolkit.tools, part.name);
189
+ const handler = HashMap.unsafeGet(options.tools.handlers, part.name);
190
+ const decodeParams = Schema.decodeUnknown(tool);
191
+ const encodeSuccess = Schema.encode(tool.success);
192
+ return decodeParams(part.params).pipe(Effect.mapError(cause => new _AiError.AiError({
193
+ module: "Completions",
194
+ method: options.method,
195
+ description: `Failed to decode tool call '${part.name}' parameters`,
196
+ cause
197
+ })), Effect.flatMap(handler), Effect.tap(value => {
198
+ return encodeSuccess(value).pipe(Effect.mapError(cause => new _AiError.AiError({
199
+ module: "Completions",
200
+ method: options.method,
201
+ description: `Failed to encode tool call '${part.name}' result`,
202
+ cause
203
+ })), Effect.map(encodedValue => {
204
+ resolved.set(part.id, value);
205
+ encoded.set(part.id, encodedValue);
206
+ }));
207
+ }));
208
+ }, {
209
+ concurrency: options.concurrency,
210
+ discard: true
211
+ })), Effect.as(new _AiResponse.WithResolved({
212
+ response: options.response,
213
+ resolved,
214
+ encoded
215
+ })));
216
+ };
217
+ //# sourceMappingURL=Completions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Completions.js","names":["JsonSchema","_interopRequireWildcard","require","AST","Schema","Chunk","Context","Effect","HashMap","Option","Stream","_AiError","AiInput","_AiResponse","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Completions","Tag","exports","constEmptyMap","Map","make","options","map","serviceOption","SystemInstruction","parentSystem","of","create","input","pipe","flatMap","system","orElse","tools","required","withSpan","captureStackTrace","stream","input_","unwrap","structured","opts","schema","decode","decodeUnknown","toolId","_tag","identifier","convertTool","response","findFirst","parts","part","name","match","onNone","fail","AiError","module","method","description","onSome","toolCall","matchEffect","params","onFailure","cause","onSuccess","resolved","succeed","WithResolved","id","encoded","attributes","tool","toolkit","concurrency","inputInput","toolArr","push","resolveParts","toolkitStream","mapEffect","chunk","getDescription","ast","parameters","annotations","to","DescriptionAnnotationId","toolNames","toolParts","filter","isEmpty","annotateCurrentSpan","zipRight","forEach","unsafeGet","handler","handlers","decodeParams","encodeSuccess","encode","success","mapError","tap","value","encodedValue","discard","as"],"sources":["../../src/Completions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.Tokenizer = void 0;
7
+ var Chunk = _interopRequireWildcard(require("effect/Chunk"));
8
+ var Context = _interopRequireWildcard(require("effect/Context"));
9
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
10
+ var Option = _interopRequireWildcard(require("effect/Option"));
11
+ var AiInput = _interopRequireWildcard(require("./AiInput.js"));
12
+ 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); }
13
+ 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; }
14
+ /**
15
+ * @since 1.0.0
16
+ */
17
+
18
+ /**
19
+ * @since 1.0.0
20
+ * @category tags
21
+ */
22
+ class Tokenizer extends /*#__PURE__*/Context.Tag("@effect/ai/Tokenizer")() {}
23
+ /**
24
+ * @since 1.0.0
25
+ * @category constructors
26
+ */
27
+ exports.Tokenizer = Tokenizer;
28
+ const make = options => Tokenizer.of({
29
+ tokenize(input) {
30
+ return options.tokenize(AiInput.make(input));
31
+ },
32
+ truncate(content, tokens) {
33
+ return truncate(AiInput.make(content), options.tokenize, tokens);
34
+ }
35
+ });
36
+ exports.make = make;
37
+ const truncate = (self, tokenize, maxTokens) => Effect.suspend(() => {
38
+ let count = 0;
39
+ let inParts = self;
40
+ let outParts = Chunk.empty();
41
+ const loop = Effect.suspend(() => {
42
+ const o = Chunk.last(inParts);
43
+ if (Option.isNone(o)) {
44
+ return Effect.succeed(AiInput.make(outParts));
45
+ }
46
+ const part = o.value;
47
+ inParts = Chunk.dropRight(inParts, 1);
48
+ return Effect.flatMap(tokenize(Chunk.of(part)), tokens => {
49
+ count += tokens.length;
50
+ if (count > maxTokens) {
51
+ return Effect.succeed(AiInput.make(outParts));
52
+ }
53
+ outParts = Chunk.prepend(outParts, part);
54
+ return loop;
55
+ });
56
+ });
57
+ return loop;
58
+ });
59
+ //# sourceMappingURL=Tokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tokenizer.js","names":["Chunk","_interopRequireWildcard","require","Context","Effect","Option","AiInput","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Tokenizer","Tag","exports","make","options","of","tokenize","input","truncate","content","tokens","self","maxTokens","suspend","count","inParts","outParts","empty","loop","o","last","isNone","succeed","part","value","dropRight","flatMap","length","prepend"],"sources":["../../src/Tokenizer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Tokenizer = exports.Completions = exports.AiToolkit = exports.AiRole = exports.AiResponse = exports.AiInput = exports.AiError = exports.AiChat = void 0;
7
+ var _AiChat = _interopRequireWildcard(require("./AiChat.js"));
8
+ exports.AiChat = _AiChat;
9
+ var _AiError = _interopRequireWildcard(require("./AiError.js"));
10
+ exports.AiError = _AiError;
11
+ var _AiInput = _interopRequireWildcard(require("./AiInput.js"));
12
+ exports.AiInput = _AiInput;
13
+ var _AiResponse = _interopRequireWildcard(require("./AiResponse.js"));
14
+ exports.AiResponse = _AiResponse;
15
+ var _AiRole = _interopRequireWildcard(require("./AiRole.js"));
16
+ exports.AiRole = _AiRole;
17
+ var _AiToolkit = _interopRequireWildcard(require("./AiToolkit.js"));
18
+ exports.AiToolkit = _AiToolkit;
19
+ var _Completions = _interopRequireWildcard(require("./Completions.js"));
20
+ exports.Completions = _Completions;
21
+ var _Tokenizer = _interopRequireWildcard(require("./Tokenizer.js"));
22
+ exports.Tokenizer = _Tokenizer;
23
+ 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); }
24
+ 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; }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { ParseError } from "@effect/schema/ParseResult";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Stream from "effect/Stream";
7
+ import type { Concurrency } from "effect/Types";
8
+ import type { AiError } from "./AiError.js";
9
+ import * as AiInput from "./AiInput.js";
10
+ import { AiResponse, WithResolved } from "./AiResponse.js";
11
+ import type * as AiToolkit from "./AiToolkit.js";
12
+ import { Completions } from "./Completions.js";
13
+ declare const AiChat_base: import("effect/Context").TagClass<AiChat, "@effect/ai/AiChat", AiChat.Service> & Effect.Tag.Proxy<AiChat, AiChat.Service> & {
14
+ use: <X>(body: (_: AiChat.Service) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, AiChat | R> : Effect.Effect<X, never, AiChat>;
15
+ };
16
+ /**
17
+ * @since 1.0.0
18
+ * @category tags
19
+ */
20
+ export declare class AiChat extends AiChat_base {
21
+ }
22
+ /**
23
+ * @since 1.0.0
24
+ * @category models
25
+ */
26
+ export declare namespace AiChat {
27
+ /**
28
+ * @since 1.0.0
29
+ * @category models
30
+ */
31
+ interface Service {
32
+ readonly history: Effect.Effect<AiInput.AiInput>;
33
+ readonly export: Effect.Effect<unknown>;
34
+ readonly exportJson: Effect.Effect<string>;
35
+ readonly send: (input: AiInput.Input) => Effect.Effect<AiResponse, AiError>;
36
+ readonly stream: (input: AiInput.Input) => Stream.Stream<AiResponse, AiError>;
37
+ readonly structured: <A, I, R>(tool: Completions.StructuredSchema<A, I, R>, input: AiInput.Input) => Effect.Effect<A, AiError, R>;
38
+ readonly toolkit: <Tools extends AiToolkit.Tool.AnySchema>(options: {
39
+ readonly input: AiInput.Input;
40
+ readonly tools: AiToolkit.Handlers<Tools>;
41
+ readonly required?: Tools["_tag"] | boolean | undefined;
42
+ readonly concurrency?: Concurrency | undefined;
43
+ }) => Effect.Effect<WithResolved<AiToolkit.Tool.Success<Tools>>, AiError | AiToolkit.Tool.Failure<Tools>, AiToolkit.Tool.Context<Tools>>;
44
+ readonly toolkitStream: <Tools extends AiToolkit.Tool.AnySchema>(options: {
45
+ readonly input: AiInput.Input;
46
+ readonly tools: AiToolkit.Handlers<Tools>;
47
+ readonly required?: Tools["_tag"] | boolean | undefined;
48
+ readonly concurrency?: Concurrency | undefined;
49
+ }) => Stream.Stream<WithResolved<AiToolkit.Tool.Success<Tools>>, AiError | AiToolkit.Tool.Failure<Tools>, AiToolkit.Tool.Context<Tools>>;
50
+ }
51
+ }
52
+ /**
53
+ * @since 1.0.0
54
+ * @category constructors
55
+ */
56
+ export declare const fromInput: (input: AiInput.Input) => Effect.Effect<AiChat.Service, never, Completions>;
57
+ /**
58
+ * @since 1.0.0
59
+ * @category constructors
60
+ */
61
+ export declare const empty: Effect.Effect<AiChat.Service, never, Completions>;
62
+ /**
63
+ * @since 1.0.0
64
+ * @category constructors
65
+ */
66
+ export declare const fromExport: (data: unknown) => Effect.Effect<AiChat.Service, ParseError, Completions>;
67
+ /**
68
+ * @since 1.0.0
69
+ * @category constructors
70
+ */
71
+ export declare const fromJson: (data: string) => Effect.Effect<AiChat.Service, ParseError, Completions>;
72
+ export {};
73
+ //# sourceMappingURL=AiChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiChat.d.ts","sourceRoot":"","sources":["../../src/AiChat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ /**
6
+ * @since 1.0.0
7
+ * @category type ids
8
+ */
9
+ export declare const TypeId: unique symbol;
10
+ /**
11
+ * @since 1.0.0
12
+ * @category type ids
13
+ */
14
+ export type TypeId = typeof TypeId;
15
+ declare const AiError_base: Schema.TaggedErrorClass<AiError, "AiError", {
16
+ readonly _tag: Schema.tag<"AiError">;
17
+ } & {
18
+ module: typeof Schema.String;
19
+ method: typeof Schema.String;
20
+ description: typeof Schema.String;
21
+ cause: Schema.optional<Schema.Defect>;
22
+ }>;
23
+ /**
24
+ * @since 1.0.0
25
+ * @category errors
26
+ */
27
+ export declare class AiError extends AiError_base {
28
+ /**
29
+ * @since 1.0.0
30
+ */
31
+ readonly [TypeId]: TypeId;
32
+ /**
33
+ * @since 1.0.0
34
+ */
35
+ get message(): string;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=AiError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiError.d.ts","sourceRoot":"","sources":["../../src/AiError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAqC,CAAA;AAEjE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;;;;;;;;;AAElC;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAK3B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAS;IAClC;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}