@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiInput.d.ts","sourceRoot":"","sources":["../../src/AiInput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AiInput.d.ts","sourceRoot":"","sources":["../../src/AiInput.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAG7C;;;GAGG;AACH,eAAO,MAAM,MAAM,eAAmC,CAAA;AAEtD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElC;;;;;GAKG;AACH,qBAAa,OAAQ,SAAQ,YAI3B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAS;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,8EAA4B,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,GAAG,GACX,MAAM,GACN,OAAO,GACP,QAAQ,CAAC,OAAO,CAAC,GACjB,OAAO,GACP,UAAU,CAAC,UAAU,GACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,GACpC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;AAMvC;;;GAGG;AACH,eAAO,MAAM,aAAa,eAA2C,CAAA;AAErE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,gBAK/B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,aAAa,CAAgB;CACxD;;;;;;;;;;;;;;;;;;;;;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAIpC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,aAAa,CAAgB;CACxD;;;;;;;;;;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,gBAI/B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,aAAa,CAAgB;CACxD;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;IACjC,OAAO,WAAW;IAClB,OAAO,gBAAgB;IACvB,OAAO,WAAW;CACnB,CAIA,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAMzC;;;GAGG;AACH,eAAO,MAAM,UAAU,eAAgD,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;;;;IAWxC;;OAEG;;;AAXL;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,aAO5B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;;;;IAWC;;OAEG;;IAEH;;OAEG;;;AAfL;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,cAW7B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;;;;IAWC;;OAEG;;;AAXL;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,iBAOhC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;;;;IAWC;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;AAnBL;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,aAe5B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;;;;IAWC;;OAEG;;;AAXL;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,gBAO/B;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;;;;IAYC;;OAEG;;IAEH;;;OAGG;;;AAjBL;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,kBAYjC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;;;;IAYC;;;OAGG;;;AAbL;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,0BAQzC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAA6B,CAAA;AAEhH;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;;;;IAY7C;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;;AArBL;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,iBAgBhC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;gBAElC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW;CAGrD;;;;IAYC;;OAEG;;IAEH;;OAEG;;;AAhBL;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,uBAWtC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAa;CAC/C;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC;IACzC,OAAO,QAAQ;IACf,OAAO,SAAS;IAChB,OAAO,YAAY;IACnB,OAAO,QAAQ;IACf,OAAO,WAAW;CACnB,CAMA,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC;IAC9C,OAAO,QAAQ;IACf,OAAO,aAAa;IACpB,OAAO,qBAAqB;IAC5B,OAAO,YAAY;CACpB,CAKA,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,OAAO,kBAAuC,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,EAAE,MAAO,OAAO,KAAG,CAAC,IAAI,OAA2C,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,CAAC,IAAI,OAAkD,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,MAAM,MAAO,OAAO,KAAG,CAAC,IAAI,eAAe,GAAG,oBAAoB,GAAG,eAC5C,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,OAAuC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,IAAI,UAAW,GAAG,KAAG,OAkCjC,CAAA;AAiCD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB;;;;;;OAMG;IACH,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IAC5C;;;;;;OAMG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;CAqBrC,CAAA"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Context from "effect/Context";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as JsonSchema from "effect/JSONSchema";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
import * as Schema from "effect/Schema";
|
|
9
|
+
import * as Stream from "effect/Stream";
|
|
10
|
+
import type { Span } from "effect/Tracer";
|
|
11
|
+
import type { Concurrency } from "effect/Types";
|
|
12
|
+
import { AiError } from "./AiError.js";
|
|
13
|
+
import * as AiInput from "./AiInput.js";
|
|
14
|
+
import * as AiResponse from "./AiResponse.js";
|
|
15
|
+
import type * as AiTool from "./AiTool.js";
|
|
16
|
+
import type * as AiToolkit from "./AiToolkit.js";
|
|
17
|
+
declare const AiLanguageModel_base: Context.TagClass<AiLanguageModel, "@effect/ai/AiLanguageModel", AiLanguageModel.Service<never>>;
|
|
18
|
+
/**
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
* @category Context
|
|
21
|
+
*/
|
|
22
|
+
export declare class AiLanguageModel extends AiLanguageModel_base {
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @since 1.0.0
|
|
26
|
+
* @category Models
|
|
27
|
+
*/
|
|
28
|
+
export type StructuredSchema<A, I, R> = TaggedSchema<A, I, R> | IdentifiedSchema<A, I, R>;
|
|
29
|
+
/**
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
* @category Models
|
|
32
|
+
*/
|
|
33
|
+
export interface TaggedSchema<A, I, R> extends Schema.Schema<A, I, R> {
|
|
34
|
+
readonly _tag: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
* @category Models
|
|
39
|
+
*/
|
|
40
|
+
export interface IdentifiedSchema<A, I, R> extends Schema.Schema<A, I, R> {
|
|
41
|
+
readonly identifier: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The tool choice mode for the language model.
|
|
45
|
+
*
|
|
46
|
+
* - `auto` (default): The model can decide whether or not to call tools, as well as which tools to call.
|
|
47
|
+
* - `required`: The model **must** call a tool but can decide which tool will be called.
|
|
48
|
+
* - `none`: The model **must not** call a tool.
|
|
49
|
+
* - `{ tool: <tool_name> }`: The model must call the specified tool.
|
|
50
|
+
*
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
* @category Models
|
|
53
|
+
*/
|
|
54
|
+
export type ToolChoice<Tool extends AiTool.Any> = "auto" | "none" | "required" | {
|
|
55
|
+
readonly tool: Tool["name"];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Options for generating text using a large language model.
|
|
59
|
+
*
|
|
60
|
+
* @since 1.0.0
|
|
61
|
+
* @category Models
|
|
62
|
+
*/
|
|
63
|
+
export interface GenerateTextOptions<Tools extends AiTool.Any> {
|
|
64
|
+
/**
|
|
65
|
+
* The prompt input to use to generate text.
|
|
66
|
+
*/
|
|
67
|
+
readonly prompt: AiInput.Raw;
|
|
68
|
+
/**
|
|
69
|
+
* An optional system message that will be part of the prompt.
|
|
70
|
+
*/
|
|
71
|
+
readonly system?: string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* A toolkit containing both the tools and the tool call handler to use to
|
|
74
|
+
* augment text generation.
|
|
75
|
+
*/
|
|
76
|
+
readonly toolkit?: AiToolkit.ToHandler<Tools> | Effect.Effect<AiToolkit.ToHandler<Tools>, any, any>;
|
|
77
|
+
/**
|
|
78
|
+
* The tool choice mode for the language model.
|
|
79
|
+
*
|
|
80
|
+
* - `auto` (default): The model can decide whether or not to call tools, as well as which tools to call.
|
|
81
|
+
* - `required`: The model **must** call a tool but can decide which tool will be called.
|
|
82
|
+
* - `none`: The model **must not** call a tool.
|
|
83
|
+
* - `{ tool: <tool_name> }`: The model must call the specified tool.
|
|
84
|
+
*/
|
|
85
|
+
readonly toolChoice?: ToolChoice<Tools>;
|
|
86
|
+
/**
|
|
87
|
+
* The concurrency level for resolving tool calls.
|
|
88
|
+
*/
|
|
89
|
+
readonly concurrency?: Concurrency | undefined;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Options for generating a structured object using a large language model.
|
|
93
|
+
*
|
|
94
|
+
* @since 1.0.0
|
|
95
|
+
* @category Models
|
|
96
|
+
*/
|
|
97
|
+
export interface GenerateObjectOptions<A, I, R> {
|
|
98
|
+
/**
|
|
99
|
+
* The prompt input to use to generate text.
|
|
100
|
+
*/
|
|
101
|
+
readonly prompt: AiInput.Raw;
|
|
102
|
+
/**
|
|
103
|
+
* An optional system message that will be part of the prompt.
|
|
104
|
+
*/
|
|
105
|
+
readonly system?: string | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* The schema to be used to specify the structure of the object to generate.
|
|
108
|
+
*/
|
|
109
|
+
readonly schema: Schema.Schema<A, I, R>;
|
|
110
|
+
/**
|
|
111
|
+
* The identifier to use to associating the underlying tool call with the
|
|
112
|
+
* generated output.
|
|
113
|
+
*/
|
|
114
|
+
readonly toolCallId?: string | undefined;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* A utility type to extract the success type for the text generation methods
|
|
118
|
+
* of `AiLanguageModel` from the provided options.
|
|
119
|
+
*
|
|
120
|
+
* @since 1.0.0
|
|
121
|
+
* @category Utility Types
|
|
122
|
+
*/
|
|
123
|
+
export type ExtractSuccess<Options> = Options extends {
|
|
124
|
+
toolkit: AiToolkit.ToHandler<infer _Tools>;
|
|
125
|
+
} ? AiResponse.WithToolCallResults<_Tools> : Options extends {
|
|
126
|
+
toolkit: Effect.Effect<AiToolkit.ToHandler<infer _Tools>, infer _E, infer _R>;
|
|
127
|
+
} ? AiResponse.WithToolCallResults<_Tools> : AiResponse.AiResponse;
|
|
128
|
+
/**
|
|
129
|
+
* A utility type to extract the error type for the text generation methods
|
|
130
|
+
* of `AiLanguageModel` from the provided options.
|
|
131
|
+
*
|
|
132
|
+
* @since 1.0.0
|
|
133
|
+
* @category Utility Types
|
|
134
|
+
*/
|
|
135
|
+
export type ExtractError<Options> = Options extends {
|
|
136
|
+
toolkit: AiToolkit.ToHandler<infer _Tools>;
|
|
137
|
+
} ? AiError | AiTool.Failure<_Tools> : Options extends {
|
|
138
|
+
toolkit: Effect.Effect<AiToolkit.ToHandler<infer _Tools>, infer _E, infer _R>;
|
|
139
|
+
} ? AiError | AiTool.Failure<_Tools> | _E : AiError;
|
|
140
|
+
/**
|
|
141
|
+
* A utility type to extract the context type for the text generation methods
|
|
142
|
+
* of `AiLanguageModel` from the provided options.
|
|
143
|
+
*
|
|
144
|
+
* @since 1.0.0
|
|
145
|
+
* @category Utility Types
|
|
146
|
+
*/
|
|
147
|
+
export type ExtractContext<Options> = Options extends {
|
|
148
|
+
toolkit: AiToolkit.ToHandler<infer _Tools>;
|
|
149
|
+
} ? AiTool.Context<_Tools> : Options extends {
|
|
150
|
+
toolkit: Effect.Effect<AiToolkit.ToHandler<infer _Tools>, infer _E, infer _R>;
|
|
151
|
+
} ? AiTool.Context<_Tools> | _R : never;
|
|
152
|
+
/**
|
|
153
|
+
* @since 1.0.0
|
|
154
|
+
* @category Models
|
|
155
|
+
*/
|
|
156
|
+
export declare namespace AiLanguageModel {
|
|
157
|
+
/**
|
|
158
|
+
* @since 1.0.0
|
|
159
|
+
* @category Models
|
|
160
|
+
*/
|
|
161
|
+
interface Service<Config> {
|
|
162
|
+
/**
|
|
163
|
+
* Generate text using a large language model for the specified `prompt`.
|
|
164
|
+
*
|
|
165
|
+
* If a `toolkit` is specified, the large language model will additionally
|
|
166
|
+
* be able to perform tool calls to augment its response.
|
|
167
|
+
*/
|
|
168
|
+
readonly generateText: <Tools extends AiTool.Any, Options>(options: Options & GenerateTextOptions<Tools>) => Effect.Effect<ExtractSuccess<Options>, ExtractError<Options>, ExtractContext<Options> | Config>;
|
|
169
|
+
/**
|
|
170
|
+
* Generate text using a large language model for the specified `prompt`,
|
|
171
|
+
* streaming output from the model as soon as it is available.
|
|
172
|
+
*
|
|
173
|
+
* If a `toolkit` is specified, the large language model will additionally
|
|
174
|
+
* be able to perform tool calls to augment its response.
|
|
175
|
+
*/
|
|
176
|
+
readonly streamText: <Tools extends AiTool.Any, Options>(options: Options & GenerateTextOptions<Tools>) => Stream.Stream<ExtractSuccess<Options>, ExtractError<Options>, ExtractContext<Options> | Config>;
|
|
177
|
+
/**
|
|
178
|
+
* Generate a structured object for the specified prompt and schema using a
|
|
179
|
+
* large language model.
|
|
180
|
+
*/
|
|
181
|
+
readonly generateObject: <A, I, R>(options: GenerateObjectOptions<A, I, R>) => Effect.Effect<AiResponse.WithStructuredOutput<A>, AiError, R | Config>;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @since 1.0.0
|
|
186
|
+
* @category Models
|
|
187
|
+
*/
|
|
188
|
+
export interface AiLanguageModelOptions {
|
|
189
|
+
/**
|
|
190
|
+
* The prompt messages to use to generate text.
|
|
191
|
+
*/
|
|
192
|
+
readonly prompt: AiInput.AiInput;
|
|
193
|
+
/**
|
|
194
|
+
* An optional system message that will be part of the prompt.
|
|
195
|
+
*/
|
|
196
|
+
readonly system: Option.Option<string>;
|
|
197
|
+
/**
|
|
198
|
+
* The tools to use to generate text in an encoded format suitable for
|
|
199
|
+
* incorporation into requests to the large language model.
|
|
200
|
+
*/
|
|
201
|
+
readonly tools: Array<{
|
|
202
|
+
readonly name: string;
|
|
203
|
+
readonly description: string;
|
|
204
|
+
readonly parameters: JsonSchema.JsonSchema7;
|
|
205
|
+
readonly structured: boolean;
|
|
206
|
+
}>;
|
|
207
|
+
/**
|
|
208
|
+
* The tool choice mode for the language model.
|
|
209
|
+
*
|
|
210
|
+
* - `auto` (default): The model can decide whether or not to call tools, as well as which tools to call.
|
|
211
|
+
* - `required`: The model **must** call a tool but can decide which tool will be called.
|
|
212
|
+
* - `none`: The model **must not** call a tool.
|
|
213
|
+
* - `{ tool: <tool_name> }`: The model must call the specified tool.
|
|
214
|
+
*/
|
|
215
|
+
readonly toolChoice: ToolChoice<any>;
|
|
216
|
+
/**
|
|
217
|
+
* The span to use to trace interactions with the large language model.
|
|
218
|
+
*/
|
|
219
|
+
readonly span: Span;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* @since 1.0.0
|
|
223
|
+
* @category Constructors
|
|
224
|
+
*/
|
|
225
|
+
export declare const make: <Config>(opts: {
|
|
226
|
+
readonly generateText: (options: AiLanguageModelOptions) => Effect.Effect<AiResponse.AiResponse, AiError, Config>;
|
|
227
|
+
readonly streamText: (options: AiLanguageModelOptions) => Stream.Stream<AiResponse.AiResponse, AiError, Config>;
|
|
228
|
+
}) => Effect.Effect<AiLanguageModel.Service<Config>>;
|
|
229
|
+
/**
|
|
230
|
+
* Generate text using a large language model for the specified `prompt`.
|
|
231
|
+
*
|
|
232
|
+
* If a `toolkit` is specified, the large language model will additionally
|
|
233
|
+
* be able to perform tool calls to augment its response.
|
|
234
|
+
*
|
|
235
|
+
* @since 1.0.0
|
|
236
|
+
* @category Functions
|
|
237
|
+
*/
|
|
238
|
+
export declare const generateText: <Tools extends AiTool.Any, Options>(options: Options & GenerateTextOptions<Tools>) => Effect.Effect<ExtractSuccess<Options>, ExtractError<Options>, AiLanguageModel | ExtractContext<Options>>;
|
|
239
|
+
/**
|
|
240
|
+
* Generate a structured object for the specified prompt and schema using a
|
|
241
|
+
* large language model.
|
|
242
|
+
*
|
|
243
|
+
* When using a `Schema` that does not have an `identifier` or `_tag`
|
|
244
|
+
* property, you must specify a `toolCallId` to properly associate the
|
|
245
|
+
* output of the model.
|
|
246
|
+
*
|
|
247
|
+
* @since 1.0.0
|
|
248
|
+
* @category Functions
|
|
249
|
+
*/
|
|
250
|
+
export declare const generateObject: <A, I, R>(options: GenerateObjectOptions<A, I, R>) => Effect.Effect<AiResponse.WithStructuredOutput<A>, AiError, AiLanguageModel | R>;
|
|
251
|
+
/**
|
|
252
|
+
* Generate text using a large language model for the specified `prompt`,
|
|
253
|
+
* streaming output from the model as soon as it is available.
|
|
254
|
+
*
|
|
255
|
+
* If a `toolkit` is specified, the large language model will additionally
|
|
256
|
+
* be able to perform tool calls to augment its response.
|
|
257
|
+
*
|
|
258
|
+
* @since 1.0.0
|
|
259
|
+
* @category Functions
|
|
260
|
+
*/
|
|
261
|
+
export declare const streamText: <Tools extends AiTool.Any, Options>(options: Options & GenerateTextOptions<Tools>) => Stream.Stream<ExtractSuccess<Options>, ExtractError<Options>, AiLanguageModel | ExtractContext<Options>>;
|
|
262
|
+
export {};
|
|
263
|
+
//# sourceMappingURL=AiLanguageModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiLanguageModel.d.ts","sourceRoot":"","sources":["../../src/AiLanguageModel.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/AiModel.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Context from "effect/Context";
|
|
5
|
-
import
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
6
|
import type * as Scope from "effect/Scope";
|
|
7
7
|
import type * as AiPlan from "./AiPlan.js";
|
|
8
8
|
/**
|
|
@@ -31,31 +31,32 @@ export type PlanTypeId = typeof TypeId;
|
|
|
31
31
|
*/
|
|
32
32
|
export interface AiModel<in out Provides, in out Requires> extends AiPlan.AiPlan<unknown, Provides, Requires> {
|
|
33
33
|
readonly [TypeId]: TypeId;
|
|
34
|
-
readonly
|
|
35
|
-
readonly cacheKey: symbol;
|
|
36
|
-
readonly requires: Context.Tag<Requires, any>;
|
|
37
|
-
readonly provides: AiModel.ContextBuilder<Provides, Requires>;
|
|
38
|
-
readonly updateContext: (context: Context.Context<Provides>) => Context.Context<Provides>;
|
|
34
|
+
readonly buildContext: ContextBuilder<Provides, Requires>;
|
|
39
35
|
}
|
|
40
36
|
/**
|
|
41
37
|
* @since 1.0.0
|
|
38
|
+
* @category AiModel
|
|
42
39
|
*/
|
|
43
|
-
export
|
|
44
|
-
/**
|
|
45
|
-
* @since 1.0.0
|
|
46
|
-
* @category AiModel
|
|
47
|
-
*/
|
|
48
|
-
type ContextBuilder<Provides, Requires> = Effect.Effect<Context.Context<Provides>, never, Requires | Scope.Scope>;
|
|
49
|
-
}
|
|
40
|
+
export type ContextBuilder<Provides, Requires> = Effect.Effect<Context.Context<Provides>, never, Requires | Scope.Scope>;
|
|
50
41
|
/**
|
|
51
42
|
* @since 1.0.0
|
|
52
43
|
* @category constructors
|
|
53
44
|
*/
|
|
54
|
-
export declare const make: <
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
readonly
|
|
60
|
-
|
|
45
|
+
export declare const make: <Cached, PerRequest, CachedRequires, PerRequestRequires>(options: {
|
|
46
|
+
/**
|
|
47
|
+
* A unique key used to cache the `Context` built from the `cachedContext`
|
|
48
|
+
* effect.
|
|
49
|
+
*/
|
|
50
|
+
readonly cacheKey: string;
|
|
51
|
+
/**
|
|
52
|
+
* An effect used to build a `Context` that will be cached after creation
|
|
53
|
+
* and used for all provider requests.
|
|
54
|
+
*/
|
|
55
|
+
readonly cachedContext: Effect.Effect<Context.Context<Cached>, never, CachedRequires | Scope.Scope>;
|
|
56
|
+
/**
|
|
57
|
+
* A method that can be used to update the `Context` on a per-request basis
|
|
58
|
+
* for all provider requests.
|
|
59
|
+
*/
|
|
60
|
+
readonly updateRequestContext: (context: Context.Context<Cached>) => Effect.Effect<Context.Context<PerRequest>, never, PerRequestRequires>;
|
|
61
|
+
}) => AiModel<Cached | PerRequest, CachedRequires | PerRequestRequires>;
|
|
61
62
|
//# sourceMappingURL=AiModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiModel.d.ts","sourceRoot":"","sources":["../../src/AiModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AiModel.d.ts","sourceRoot":"","sources":["../../src/AiModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAG1C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAyC,CAAA;AAErE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,MAAsC,CAAA;AAEtE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,CAAA;AAEtC;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAE,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC3G,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;CAC1D;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,CAC5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EACzB,KAAK,EACL,QAAQ,GAAG,KAAK,CAAC,KAAK,CACvB,CAAA;AAYD;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,WAAW;IACpF;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,KAAK,EACL,cAAc,GAAG,KAAK,CAAC,KAAK,CAC7B,CAAA;IACD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAChF,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAC3B,KAAK,EACL,kBAAkB,CACnB,CAAA;CACF,KAAG,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,cAAc,GAAG,kBAAkB,CAenE,CAAA"}
|
package/dist/dts/AiPlan.d.ts
CHANGED
|
@@ -6,33 +6,33 @@ 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
|
/**
|
|
13
13
|
* @since 1.0.0
|
|
14
|
-
* @category
|
|
14
|
+
* @category Type Ids
|
|
15
15
|
*/
|
|
16
16
|
export declare const TypeId: unique symbol;
|
|
17
17
|
/**
|
|
18
18
|
* @since 1.0.0
|
|
19
|
-
* @category
|
|
19
|
+
* @category Type Ids
|
|
20
20
|
*/
|
|
21
21
|
export type TypeId = typeof TypeId;
|
|
22
22
|
/**
|
|
23
23
|
* @since 1.0.0
|
|
24
|
-
* @category
|
|
24
|
+
* @category Models
|
|
25
25
|
*/
|
|
26
|
-
export interface AiPlan<in Error, in out Provides, in out Requires> extends Pipeable,
|
|
26
|
+
export interface AiPlan<in Error, in out Provides, in out Requires> extends Pipeable, Builder<Provides, Requires> {
|
|
27
27
|
readonly [TypeId]: TypeId;
|
|
28
28
|
readonly [Unify.typeSymbol]?: unknown;
|
|
29
29
|
readonly [Unify.unifySymbol]?: AiPlanUnify<this>;
|
|
30
30
|
readonly [Unify.ignoreSymbol]?: AiPlanUnifyIgnore;
|
|
31
|
-
readonly steps: NonEmptyReadonlyArray<
|
|
31
|
+
readonly steps: NonEmptyReadonlyArray<Step<Error, Provides, Requires>>;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* @since 1.0.0
|
|
35
|
-
* @category
|
|
35
|
+
* @category Models
|
|
36
36
|
*/
|
|
37
37
|
export interface AiPlanUnify<A extends {
|
|
38
38
|
[Unify.typeSymbol]?: any;
|
|
@@ -41,46 +41,110 @@ export interface AiPlanUnify<A extends {
|
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* @since 1.0.0
|
|
44
|
-
* @category
|
|
44
|
+
* @category Models
|
|
45
45
|
*/
|
|
46
46
|
export interface AiPlanUnifyIgnore extends Effect.EffectUnifyIgnore {
|
|
47
47
|
Effect?: true;
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* @since 1.0.0
|
|
51
|
+
* @category Models
|
|
51
52
|
*/
|
|
52
|
-
export
|
|
53
|
+
export type Builder<Provides, Requires> = Effect.Effect<Provider<Provides>, never, Requires>;
|
|
54
|
+
/**
|
|
55
|
+
* @since 1.0.0
|
|
56
|
+
* @category Models
|
|
57
|
+
*/
|
|
58
|
+
export interface Provider<Provides> {
|
|
59
|
+
readonly use: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Provides>>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @since 1.0.0
|
|
63
|
+
* @category Models
|
|
64
|
+
*/
|
|
65
|
+
export interface Step<Error, Provides, Requires> {
|
|
66
|
+
readonly model: AiModel.AiModel<Provides, Requires>;
|
|
67
|
+
readonly check: Option.Option<(error: Error) => boolean | Effect.Effect<boolean>>;
|
|
68
|
+
readonly schedule: Option.Option<Schedule.Schedule<any, Error, Requires>>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @since 1.0.0
|
|
72
|
+
*/
|
|
73
|
+
export declare namespace Make {
|
|
74
|
+
/**
|
|
75
|
+
* @since 1.0.0
|
|
76
|
+
* @category Models
|
|
77
|
+
*/
|
|
78
|
+
type Base = {
|
|
79
|
+
readonly model: AiModel.AiModel<any, any>;
|
|
80
|
+
readonly attempts?: number | undefined;
|
|
81
|
+
readonly while?: ((error: any) => boolean | Effect.Effect<boolean, never, any>) | undefined;
|
|
82
|
+
readonly schedule?: Schedule.Schedule<any, any, any> | undefined;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* @since 1.0.0
|
|
86
|
+
* @category Models
|
|
87
|
+
*/
|
|
88
|
+
type EW<Plan extends Base> = Plan extends {
|
|
89
|
+
readonly while: (error: infer X) => any;
|
|
90
|
+
} ? X : never;
|
|
91
|
+
/**
|
|
92
|
+
* @since 1.0.0
|
|
93
|
+
* @category Models
|
|
94
|
+
*/
|
|
95
|
+
type ES<Plan extends Base> = Plan extends {
|
|
96
|
+
readonly schedule: Schedule.Schedule<any, infer X, any>;
|
|
97
|
+
} ? X : never;
|
|
98
|
+
/**
|
|
99
|
+
* @since 1.0.0
|
|
100
|
+
* @category Models
|
|
101
|
+
*/
|
|
102
|
+
type Provides<Plan extends Base> = Plan extends {
|
|
103
|
+
readonly model: AiModel.AiModel<infer X, any>;
|
|
104
|
+
} ? X : never;
|
|
105
|
+
/**
|
|
106
|
+
* @since 1.0.0
|
|
107
|
+
* @category Models
|
|
108
|
+
*/
|
|
109
|
+
type Requires<Plan extends Base> = Plan extends {
|
|
110
|
+
readonly model: AiModel.AiModel<any, infer X>;
|
|
111
|
+
} ? X : never;
|
|
112
|
+
/**
|
|
113
|
+
* @since 1.0.0
|
|
114
|
+
* @category Models
|
|
115
|
+
*/
|
|
116
|
+
type RW<Plan extends Base> = Plan extends {
|
|
117
|
+
readonly while: (error: any) => Effect.Effect<any, any, infer X>;
|
|
118
|
+
} ? X : never;
|
|
53
119
|
/**
|
|
54
120
|
* @since 1.0.0
|
|
55
|
-
* @category
|
|
121
|
+
* @category Models
|
|
56
122
|
*/
|
|
57
|
-
type
|
|
123
|
+
type RS<Plan extends Base> = Plan extends {
|
|
124
|
+
readonly schedule: Schedule.Schedule<any, any, infer X>;
|
|
125
|
+
} ? X : never;
|
|
58
126
|
/**
|
|
59
127
|
* @since 1.0.0
|
|
60
|
-
* @category
|
|
128
|
+
* @category Models
|
|
61
129
|
*/
|
|
62
|
-
|
|
63
|
-
readonly provide: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Provides>>;
|
|
64
|
-
}
|
|
130
|
+
type MakePlan<Plan extends Base> = AiPlan<EW<Plan> & ES<Plan>, Provides<Plan>, RW<Plan> | RS<Plan> | Requires<Plan>> extends infer X ? X : never;
|
|
65
131
|
/**
|
|
66
132
|
* @since 1.0.0
|
|
67
|
-
* @category
|
|
133
|
+
* @category Models
|
|
68
134
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
135
|
+
type MergePlan<Plans extends ReadonlyArray<Base>> = AiPlan<Types.UnionToIntersection<{
|
|
136
|
+
[K in keyof Plans]: MakePlan<Plans[K]> extends AiPlan<infer X, any, any> ? X : never;
|
|
137
|
+
}[number]>, {
|
|
138
|
+
[K in keyof Plans]: MakePlan<Plans[K]> extends AiPlan<any, infer X, any> ? X : never;
|
|
139
|
+
}[number], {
|
|
140
|
+
[K in keyof Plans]: MakePlan<Plans[K]> extends AiPlan<any, any, infer X> ? X : never;
|
|
141
|
+
}[number]> extends infer K ? K : never;
|
|
74
142
|
}
|
|
75
143
|
/**
|
|
76
144
|
* @since 1.0.0
|
|
77
145
|
* @category constructors
|
|
78
146
|
*/
|
|
79
|
-
export declare const
|
|
80
|
-
readonly attempts?: number | undefined;
|
|
81
|
-
readonly while?: ((error: EW) => boolean | Effect.Effect<boolean, never, RW>) | undefined;
|
|
82
|
-
readonly schedule?: Schedule.Schedule<Out, ES, RS> | undefined;
|
|
83
|
-
}) => AiPlan<EW & ES, Provides, RW | RS | Requires>;
|
|
147
|
+
export declare const make: <Plans extends readonly [Make.Base, ...ReadonlyArray<Make.Base>]>(...plans: Plans) => Make.MergePlan<Plans>;
|
|
84
148
|
/**
|
|
85
149
|
* @since 1.0.0
|
|
86
150
|
* @category error handling
|
package/dist/dts/AiPlan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiPlan.d.ts","sourceRoot":"","sources":["../../src/AiPlan.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"AiPlan.d.ts","sourceRoot":"","sources":["../../src/AiPlan.ts"],"names":[],"mappings":"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"}
|