@effect/ai 0.14.1 → 0.16.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/AiEmbeddingModel/package.json +6 -0
- package/AiLanguageModel/package.json +6 -0
- package/AiTool/package.json +6 -0
- package/dist/cjs/AiChat.js +65 -86
- package/dist/cjs/AiChat.js.map +1 -1
- package/dist/cjs/{Embeddings.js → AiEmbeddingModel.js} +12 -12
- package/dist/cjs/AiEmbeddingModel.js.map +1 -0
- package/dist/cjs/AiError.js +8 -1
- package/dist/cjs/AiError.js.map +1 -1
- package/dist/cjs/AiInput.js +335 -248
- package/dist/cjs/AiInput.js.map +1 -1
- package/dist/cjs/AiLanguageModel.js +311 -0
- package/dist/cjs/AiLanguageModel.js.map +1 -0
- package/dist/cjs/AiModel.js +11 -5
- package/dist/cjs/AiModel.js.map +1 -1
- package/dist/cjs/AiPlan.js +10 -3
- package/dist/cjs/AiPlan.js.map +1 -1
- package/dist/cjs/AiResponse.js +481 -165
- package/dist/cjs/AiResponse.js.map +1 -1
- package/dist/cjs/AiTelemetry.js +10 -3
- package/dist/cjs/AiTelemetry.js.map +1 -1
- package/dist/cjs/AiTool.js +93 -0
- package/dist/cjs/AiTool.js.map +1 -0
- package/dist/cjs/AiToolkit.js +121 -98
- package/dist/cjs/AiToolkit.js.map +1 -1
- package/dist/cjs/Tokenizer.js +14 -16
- package/dist/cjs/Tokenizer.js.map +1 -1
- package/dist/cjs/index.js +7 -9
- package/dist/cjs/internal/aiPlan.js +6 -9
- package/dist/cjs/internal/aiPlan.js.map +1 -1
- package/dist/cjs/internal/common.js +22 -0
- package/dist/cjs/internal/common.js.map +1 -0
- package/dist/dts/AiChat.d.ts +58 -44
- package/dist/dts/AiChat.d.ts.map +1 -1
- package/dist/dts/{Embeddings.d.ts → AiEmbeddingModel.d.ts} +13 -14
- package/dist/dts/AiEmbeddingModel.d.ts.map +1 -0
- package/dist/dts/AiError.d.ts +4 -3
- package/dist/dts/AiError.d.ts.map +1 -1
- package/dist/dts/AiInput.d.ts +441 -146
- package/dist/dts/AiInput.d.ts.map +1 -1
- package/dist/dts/AiLanguageModel.d.ts +263 -0
- package/dist/dts/AiLanguageModel.d.ts.map +1 -0
- package/dist/dts/AiModel.d.ts +21 -20
- package/dist/dts/AiModel.d.ts.map +1 -1
- package/dist/dts/AiPlan.d.ts +90 -26
- package/dist/dts/AiPlan.d.ts.map +1 -1
- package/dist/dts/AiResponse.d.ts +711 -100
- package/dist/dts/AiResponse.d.ts.map +1 -1
- package/dist/dts/AiTelemetry.d.ts +175 -157
- package/dist/dts/AiTelemetry.d.ts.map +1 -1
- package/dist/dts/AiTool.d.ts +288 -0
- package/dist/dts/AiTool.d.ts.map +1 -0
- package/dist/dts/AiToolkit.d.ts +50 -111
- package/dist/dts/AiToolkit.d.ts.map +1 -1
- package/dist/dts/Tokenizer.d.ts +8 -6
- package/dist/dts/Tokenizer.d.ts.map +1 -1
- package/dist/dts/index.d.ts +8 -12
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/common.d.ts +2 -0
- package/dist/dts/internal/common.d.ts.map +1 -0
- package/dist/esm/AiChat.js +62 -83
- package/dist/esm/AiChat.js.map +1 -1
- package/dist/esm/{Embeddings.js → AiEmbeddingModel.js} +10 -10
- package/dist/esm/AiEmbeddingModel.js.map +1 -0
- package/dist/esm/AiError.js +8 -1
- package/dist/esm/AiError.js.map +1 -1
- package/dist/esm/AiInput.js +316 -238
- package/dist/esm/AiInput.js.map +1 -1
- package/dist/esm/AiLanguageModel.js +300 -0
- package/dist/esm/AiLanguageModel.js.map +1 -0
- package/dist/esm/AiModel.js +11 -5
- package/dist/esm/AiModel.js.map +1 -1
- package/dist/esm/AiPlan.js +8 -2
- package/dist/esm/AiPlan.js.map +1 -1
- package/dist/esm/AiResponse.js +467 -162
- package/dist/esm/AiResponse.js.map +1 -1
- package/dist/esm/AiTelemetry.js +8 -2
- package/dist/esm/AiTelemetry.js.map +1 -1
- package/dist/esm/AiTool.js +82 -0
- package/dist/esm/AiTool.js.map +1 -0
- package/dist/esm/AiToolkit.js +118 -96
- package/dist/esm/AiToolkit.js.map +1 -1
- package/dist/esm/Tokenizer.js +14 -16
- package/dist/esm/Tokenizer.js.map +1 -1
- package/dist/esm/index.js +8 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/aiPlan.js +4 -7
- package/dist/esm/internal/aiPlan.js.map +1 -1
- package/dist/esm/internal/common.js +14 -0
- package/dist/esm/internal/common.js.map +1 -0
- package/package.json +28 -36
- package/src/AiChat.ts +182 -207
- package/src/{Embeddings.ts → AiEmbeddingModel.ts} +19 -18
- package/src/AiError.ts +8 -1
- package/src/AiInput.ts +434 -313
- package/src/AiLanguageModel.ts +569 -0
- package/src/AiModel.ts +47 -29
- package/src/AiPlan.ts +102 -30
- package/src/AiResponse.ts +743 -187
- package/src/AiTelemetry.ts +214 -197
- package/src/AiTool.ts +496 -0
- package/src/AiToolkit.ts +200 -240
- package/src/Tokenizer.ts +18 -22
- package/src/index.ts +9 -14
- package/src/internal/aiPlan.ts +12 -14
- package/src/internal/common.ts +12 -0
- package/AiModels/package.json +0 -6
- package/AiRole/package.json +0 -6
- package/Completions/package.json +0 -6
- package/Embeddings/package.json +0 -6
- package/dist/cjs/AiModels.js +0 -54
- package/dist/cjs/AiModels.js.map +0 -1
- package/dist/cjs/AiRole.js +0 -106
- package/dist/cjs/AiRole.js.map +0 -1
- package/dist/cjs/Completions.js +0 -256
- package/dist/cjs/Completions.js.map +0 -1
- package/dist/cjs/Embeddings.js.map +0 -1
- package/dist/dts/AiModels.d.ts +0 -34
- package/dist/dts/AiModels.d.ts.map +0 -1
- package/dist/dts/AiRole.d.ts +0 -111
- package/dist/dts/AiRole.d.ts.map +0 -1
- package/dist/dts/Completions.d.ts +0 -128
- package/dist/dts/Completions.d.ts.map +0 -1
- package/dist/dts/Embeddings.d.ts.map +0 -1
- package/dist/esm/AiModels.js +0 -44
- package/dist/esm/AiModels.js.map +0 -1
- package/dist/esm/AiRole.js +0 -93
- package/dist/esm/AiRole.js.map +0 -1
- package/dist/esm/Completions.js +0 -245
- package/dist/esm/Completions.js.map +0 -1
- package/dist/esm/Embeddings.js.map +0 -1
- package/src/AiModels.ts +0 -77
- package/src/AiRole.ts +0 -122
- package/src/Completions.ts +0 -434
package/src/AiPlan.ts
CHANGED
|
@@ -6,40 +6,38 @@ import type * as Effect from "effect/Effect"
|
|
|
6
6
|
import type * as Option from "effect/Option"
|
|
7
7
|
import type { Pipeable } from "effect/Pipeable"
|
|
8
8
|
import type * as Schedule from "effect/Schedule"
|
|
9
|
+
import type * as Types from "effect/Types"
|
|
9
10
|
import type * as Unify from "effect/Unify"
|
|
10
11
|
import type * as AiModel from "./AiModel.js"
|
|
11
|
-
import type { AiModels } from "./AiModels.js"
|
|
12
12
|
import * as Internal from "./internal/aiPlan.js"
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @since 1.0.0
|
|
16
|
-
* @category
|
|
16
|
+
* @category Type Ids
|
|
17
17
|
*/
|
|
18
18
|
export const TypeId: unique symbol = Internal.TypeId
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* @since 1.0.0
|
|
22
|
-
* @category
|
|
22
|
+
* @category Type Ids
|
|
23
23
|
*/
|
|
24
24
|
export type TypeId = typeof TypeId
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* @since 1.0.0
|
|
28
|
-
* @category
|
|
28
|
+
* @category Models
|
|
29
29
|
*/
|
|
30
|
-
export interface AiPlan<in Error, in out Provides, in out Requires>
|
|
31
|
-
extends Pipeable, AiPlan.Builder<Provides, Requires>
|
|
32
|
-
{
|
|
30
|
+
export interface AiPlan<in Error, in out Provides, in out Requires> extends Pipeable, Builder<Provides, Requires> {
|
|
33
31
|
readonly [TypeId]: TypeId
|
|
34
32
|
readonly [Unify.typeSymbol]?: unknown
|
|
35
33
|
readonly [Unify.unifySymbol]?: AiPlanUnify<this>
|
|
36
34
|
readonly [Unify.ignoreSymbol]?: AiPlanUnifyIgnore
|
|
37
|
-
readonly steps: NonEmptyReadonlyArray<
|
|
35
|
+
readonly steps: NonEmptyReadonlyArray<Step<Error, Provides, Requires>>
|
|
38
36
|
}
|
|
39
37
|
|
|
40
38
|
/**
|
|
41
39
|
* @since 1.0.0
|
|
42
|
-
* @category
|
|
40
|
+
* @category Models
|
|
43
41
|
*/
|
|
44
42
|
export interface AiPlanUnify<A extends { [Unify.typeSymbol]?: any }> extends Effect.EffectUnify<A> {
|
|
45
43
|
AiPlan?: () => Extract<A[Unify.typeSymbol], AiPlan<any, any, any>>
|
|
@@ -47,7 +45,7 @@ export interface AiPlanUnify<A extends { [Unify.typeSymbol]?: any }> extends Eff
|
|
|
47
45
|
|
|
48
46
|
/**
|
|
49
47
|
* @since 1.0.0
|
|
50
|
-
* @category
|
|
48
|
+
* @category Models
|
|
51
49
|
*/
|
|
52
50
|
export interface AiPlanUnifyIgnore extends Effect.EffectUnifyIgnore {
|
|
53
51
|
Effect?: true
|
|
@@ -55,45 +53,119 @@ export interface AiPlanUnifyIgnore extends Effect.EffectUnifyIgnore {
|
|
|
55
53
|
|
|
56
54
|
/**
|
|
57
55
|
* @since 1.0.0
|
|
56
|
+
* @category Models
|
|
58
57
|
*/
|
|
59
|
-
export
|
|
58
|
+
export type Builder<Provides, Requires> = Effect.Effect<Provider<Provides>, never, Requires>
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @since 1.0.0
|
|
62
|
+
* @category Models
|
|
63
|
+
*/
|
|
64
|
+
export interface Provider<Provides> {
|
|
65
|
+
readonly use: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Provides>>
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @since 1.0.0
|
|
70
|
+
* @category Models
|
|
71
|
+
*/
|
|
72
|
+
export interface Step<Error, Provides, Requires> {
|
|
73
|
+
readonly model: AiModel.AiModel<Provides, Requires>
|
|
74
|
+
readonly check: Option.Option<(error: Error) => boolean | Effect.Effect<boolean>>
|
|
75
|
+
readonly schedule: Option.Option<Schedule.Schedule<any, Error, Requires>>
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @since 1.0.0
|
|
80
|
+
*/
|
|
81
|
+
export declare namespace Make {
|
|
60
82
|
/**
|
|
61
83
|
* @since 1.0.0
|
|
62
|
-
* @category
|
|
84
|
+
* @category Models
|
|
63
85
|
*/
|
|
64
|
-
export type
|
|
86
|
+
export type Base = {
|
|
87
|
+
readonly model: AiModel.AiModel<any, any>
|
|
88
|
+
readonly attempts?: number | undefined
|
|
89
|
+
readonly while?: ((error: any) => boolean | Effect.Effect<boolean, never, any>) | undefined
|
|
90
|
+
readonly schedule?: Schedule.Schedule<any, any, any> | undefined
|
|
91
|
+
}
|
|
65
92
|
|
|
66
93
|
/**
|
|
67
94
|
* @since 1.0.0
|
|
68
|
-
* @category
|
|
95
|
+
* @category Models
|
|
69
96
|
*/
|
|
70
|
-
export
|
|
71
|
-
readonly provide: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Provides>>
|
|
72
|
-
}
|
|
97
|
+
export type EW<Plan extends Base> = Plan extends { readonly while: (error: infer X) => any } ? X : never
|
|
73
98
|
|
|
74
99
|
/**
|
|
75
100
|
* @since 1.0.0
|
|
76
|
-
* @category
|
|
101
|
+
* @category Models
|
|
77
102
|
*/
|
|
78
|
-
export
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
103
|
+
export type ES<Plan extends Base> = Plan extends { readonly schedule: Schedule.Schedule<any, infer X, any> } ? X
|
|
104
|
+
: never
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @since 1.0.0
|
|
108
|
+
* @category Models
|
|
109
|
+
*/
|
|
110
|
+
export type Provides<Plan extends Base> = Plan extends { readonly model: AiModel.AiModel<infer X, any> } ? X : never
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* @since 1.0.0
|
|
114
|
+
* @category Models
|
|
115
|
+
*/
|
|
116
|
+
export type Requires<Plan extends Base> = Plan extends { readonly model: AiModel.AiModel<any, infer X> } ? X : never
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @since 1.0.0
|
|
120
|
+
* @category Models
|
|
121
|
+
*/
|
|
122
|
+
export type RW<Plan extends Base> = Plan extends
|
|
123
|
+
{ readonly while: (error: any) => Effect.Effect<any, any, infer X> } ? X
|
|
124
|
+
: never
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* @since 1.0.0
|
|
128
|
+
* @category Models
|
|
129
|
+
*/
|
|
130
|
+
export type RS<Plan extends Base> = Plan extends { readonly schedule: Schedule.Schedule<any, any, infer X> } ? X
|
|
131
|
+
: never
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* @since 1.0.0
|
|
135
|
+
* @category Models
|
|
136
|
+
*/
|
|
137
|
+
export type MakePlan<Plan extends Base> = AiPlan<
|
|
138
|
+
EW<Plan> & ES<Plan>,
|
|
139
|
+
Provides<Plan>,
|
|
140
|
+
RW<Plan> | RS<Plan> | Requires<Plan>
|
|
141
|
+
> extends infer X ? X : never
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* @since 1.0.0
|
|
145
|
+
* @category Models
|
|
146
|
+
*/
|
|
147
|
+
export type MergePlan<Plans extends ReadonlyArray<Base>> = AiPlan<
|
|
148
|
+
Types.UnionToIntersection<
|
|
149
|
+
{ [K in keyof Plans]: MakePlan<Plans[K]> extends AiPlan<infer X, any, any> ? X : never }[number]
|
|
150
|
+
>,
|
|
151
|
+
{ [K in keyof Plans]: MakePlan<Plans[K]> extends AiPlan<any, infer X, any> ? X : never }[number],
|
|
152
|
+
{ [K in keyof Plans]: MakePlan<Plans[K]> extends AiPlan<any, any, infer X> ? X : never }[number]
|
|
153
|
+
> extends infer K ? K : never
|
|
83
154
|
}
|
|
84
155
|
|
|
85
156
|
/**
|
|
86
157
|
* @since 1.0.0
|
|
87
158
|
* @category constructors
|
|
88
159
|
*/
|
|
89
|
-
export const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
160
|
+
export const make: <Plans extends readonly [Make.Base, ...ReadonlyArray<Make.Base>]>(
|
|
161
|
+
...plans: Plans
|
|
162
|
+
) => Make.MergePlan<Plans> = (function() {
|
|
163
|
+
let plan = Internal.make(arguments[0])
|
|
164
|
+
for (let i = 1; i < arguments.length; i++) {
|
|
165
|
+
plan = withFallback(plan, arguments[i])
|
|
95
166
|
}
|
|
96
|
-
|
|
167
|
+
return plan
|
|
168
|
+
}) as any
|
|
97
169
|
|
|
98
170
|
/**
|
|
99
171
|
* @since 1.0.0
|