@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.
- package/AiChat/package.json +6 -0
- package/AiError/package.json +6 -0
- package/AiInput/package.json +6 -0
- package/AiResponse/package.json +6 -0
- package/AiRole/package.json +6 -0
- package/AiToolkit/package.json +6 -0
- package/Completions/package.json +6 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/Tokenizer/package.json +6 -0
- package/dist/cjs/AiChat.js +151 -0
- package/dist/cjs/AiChat.js.map +1 -0
- package/dist/cjs/AiError.js +41 -0
- package/dist/cjs/AiError.js.map +1 -0
- package/dist/cjs/AiInput.js +349 -0
- package/dist/cjs/AiInput.js.map +1 -0
- package/dist/cjs/AiResponse.js +295 -0
- package/dist/cjs/AiResponse.js.map +1 -0
- package/dist/cjs/AiRole.js +106 -0
- package/dist/cjs/AiRole.js.map +1 -0
- package/dist/cjs/AiToolkit.js +132 -0
- package/dist/cjs/AiToolkit.js.map +1 -0
- package/dist/cjs/Completions.js +217 -0
- package/dist/cjs/Completions.js.map +1 -0
- package/dist/cjs/Tokenizer.js +59 -0
- package/dist/cjs/Tokenizer.js.map +1 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/dts/AiChat.d.ts +73 -0
- package/dist/dts/AiChat.d.ts.map +1 -0
- package/dist/dts/AiError.d.ts +38 -0
- package/dist/dts/AiError.d.ts.map +1 -0
- package/dist/dts/AiInput.d.ts +283 -0
- package/dist/dts/AiInput.d.ts.map +1 -0
- package/dist/dts/AiResponse.d.ts +235 -0
- package/dist/dts/AiResponse.d.ts.map +1 -0
- package/dist/dts/AiRole.d.ts +111 -0
- package/dist/dts/AiRole.d.ts.map +1 -0
- package/dist/dts/AiToolkit.d.ts +158 -0
- package/dist/dts/AiToolkit.d.ts.map +1 -0
- package/dist/dts/Completions.d.ts +104 -0
- package/dist/dts/Completions.d.ts.map +1 -0
- package/dist/dts/Tokenizer.d.ts +34 -0
- package/dist/dts/Tokenizer.d.ts.map +1 -0
- package/dist/dts/index.d.ts +33 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/AiChat.js +139 -0
- package/dist/esm/AiChat.js.map +1 -0
- package/dist/esm/AiError.js +31 -0
- package/dist/esm/AiError.js.map +1 -0
- package/dist/esm/AiInput.js +332 -0
- package/dist/esm/AiInput.js.map +1 -0
- package/dist/esm/AiResponse.js +281 -0
- package/dist/esm/AiResponse.js.map +1 -0
- package/dist/esm/AiRole.js +93 -0
- package/dist/esm/AiRole.js.map +1 -0
- package/dist/esm/AiToolkit.js +123 -0
- package/dist/esm/AiToolkit.js.map +1 -0
- package/dist/esm/Completions.js +206 -0
- package/dist/esm/Completions.js.map +1 -0
- package/dist/esm/Tokenizer.js +48 -0
- package/dist/esm/Tokenizer.js.map +1 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +100 -0
- package/src/AiChat.ts +274 -0
- package/src/AiError.ts +38 -0
- package/src/AiInput.ts +456 -0
- package/src/AiResponse.ts +343 -0
- package/src/AiRole.ts +122 -0
- package/src/AiToolkit.ts +314 -0
- package/src/Completions.ts +354 -0
- package/src/Tokenizer.ts +78 -0
- 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"}
|