agents 0.23.0 → 0.25.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/dist/{agent-routing-DE5zmCQ8.d.ts → agent-routing-0DR0Tk2v.d.ts} +270 -190
- package/dist/agent-routing.d.ts +1 -1
- package/dist/agent-routing.js.map +1 -1
- package/dist/agent-tool-types.d.ts +13 -7
- package/dist/agent-tool-types.js +23 -1
- package/dist/agent-tool-types.js.map +1 -1
- package/dist/{agent-tools-y7zLfw4Q.js → agent-tools-CdJC-8Dc.js} +72 -9
- package/dist/agent-tools-CdJC-8Dc.js.map +1 -0
- package/dist/{agent-tools-DtXMTDGM.d.ts → agent-tools-YrATZJu2.d.ts} +29 -15
- package/dist/agent-tools.d.ts +6 -4
- package/dist/agent-tools.js.map +1 -1
- package/dist/ai-fm7xx1BK.js +312 -0
- package/dist/ai-fm7xx1BK.js.map +1 -0
- package/dist/base64-redaction-C1Uu29t5.js +59 -0
- package/dist/base64-redaction-C1Uu29t5.js.map +1 -0
- package/dist/browser/ai-sdk.d.ts +90 -0
- package/dist/browser/ai-sdk.js +51 -0
- package/dist/browser/ai-sdk.js.map +1 -0
- package/dist/browser/ai.d.ts +4 -4
- package/dist/browser/ai.js +1 -347
- package/dist/browser/index.d.ts +81 -79
- package/dist/browser/index.js +361 -2
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/tanstack-ai.d.ts +96 -1
- package/dist/browser/tanstack-ai.js +62 -2
- package/dist/browser/tanstack-ai.js.map +1 -1
- package/dist/browser-DE3d-RLk.d.ts +275 -0
- package/dist/browser-tool-CQ10e6Kj.js +480 -0
- package/dist/browser-tool-CQ10e6Kj.js.map +1 -0
- package/dist/browser-tool-DuNdlwZ9.d.ts +73 -0
- package/dist/{capability-BjSKYpzg.js → capability-B4WbF81e.js} +2 -1
- package/dist/capability-B4WbF81e.js.map +1 -0
- package/dist/{capability-runner-Be_-PLR1.d.ts → capability-runner-DBAnGr6L.d.ts} +45 -15
- package/dist/chat/index.d.ts +341 -232
- package/dist/chat/index.js +602 -72
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/react.d.ts +42 -2
- package/dist/chat/react.js +191 -35
- package/dist/chat/react.js.map +1 -1
- package/dist/chat/transport.d.ts +1 -1
- package/dist/chat/transport.js +1 -1
- package/dist/chat-sdk/index.d.ts +17 -3
- package/dist/chat-sdk/index.js +28 -2
- package/dist/chat-sdk/index.js.map +1 -1
- package/dist/client-4OlMIJx-.js +591 -0
- package/dist/client-4OlMIJx-.js.map +1 -0
- package/dist/{client-jagG8a9_.js → client-fyQrLGkD.js} +2 -2
- package/dist/{client-jagG8a9_.js.map → client-fyQrLGkD.js.map} +1 -1
- package/dist/client-je3koD9Z.d.ts +446 -0
- package/dist/client.d.ts +29 -283
- package/dist/client.js +2 -274
- package/dist/{connector-CptFKzRh.js → connector-58XDGvc3.js} +251 -120
- package/dist/connector-58XDGvc3.js.map +1 -0
- package/dist/{connector-CkQD4MK3.d.ts → connector-Cl-VqPmA.d.ts} +244 -146
- package/dist/context/index.d.ts +29 -0
- package/dist/context/index.js +64 -17
- package/dist/context/index.js.map +1 -1
- package/dist/current-agent-DhoDkSnH.js.map +1 -1
- package/dist/current-agent-vAk_5JMt.d.ts +93 -0
- package/dist/{current-agent-Da_C9a3b.d.ts → durable-object-lifecycle-HhgOMWq9.d.ts} +26 -127
- package/dist/harnesses/pi/index.d.ts +348 -0
- package/dist/harnesses/pi/index.js +754 -0
- package/dist/harnesses/pi/index.js.map +1 -0
- package/dist/images-iiTDSyRu.js +1631 -0
- package/dist/images-iiTDSyRu.js.map +1 -0
- package/dist/index-BreL0YrQ.d.ts +78 -0
- package/dist/index-kbSUIer3.d.ts +343 -0
- package/dist/index.d.ts +43 -41
- package/dist/index.js +2 -2
- package/dist/internal_context.d.ts +1 -1
- package/dist/lifecycle/index.d.ts +19 -17
- package/dist/lifecycle/index.js +2 -2
- package/dist/{lifecycle-CMRGjZdw.js → lifecycle-CFu6OV03.js} +73 -29
- package/dist/lifecycle-CFu6OV03.js.map +1 -0
- package/dist/mcp/client/index.d.ts +20 -20
- package/dist/mcp/client/index.js +1 -1
- package/dist/mcp/client/x402.js +21 -19
- package/dist/mcp/client/x402.js.map +1 -1
- package/dist/mcp/index.d.ts +35 -35
- package/dist/mcp/index.js +2 -2
- package/dist/{message-builder-BymO4N_D.js → message-builder-DAl9AhHH.js} +89 -4
- package/dist/message-builder-DAl9AhHH.js.map +1 -0
- package/dist/models/ai-sdk/index.d.ts +353 -0
- package/dist/models/ai-sdk/index.js +2443 -0
- package/dist/models/ai-sdk/index.js.map +1 -0
- package/dist/models/pi-ai/index.d.ts +313 -0
- package/dist/models/pi-ai/index.js +1795 -0
- package/dist/models/pi-ai/index.js.map +1 -0
- package/dist/observability/ai/index.js +20 -4
- package/dist/observability/ai/index.js.map +1 -1
- package/dist/{protocol-B0nh6KNf.js → protocol-kHsr-f0X.js} +26 -12
- package/dist/{protocol-B0nh6KNf.js.map → protocol-kHsr-f0X.js.map} +1 -1
- package/dist/queue/index.d.ts +123 -0
- package/dist/queue/index.js +2 -0
- package/dist/queue-BB-zfIYF.js +406 -0
- package/dist/queue-BB-zfIYF.js.map +1 -0
- package/dist/react.d.ts +31 -13
- package/dist/react.js +190 -71
- package/dist/react.js.map +1 -1
- package/dist/{retries-D9Ds-1lz.d.ts → retries-CV6AkXmQ.d.ts} +23 -8
- package/dist/retries.d.ts +12 -8
- package/dist/retries.js +19 -1
- package/dist/retries.js.map +1 -1
- package/dist/routing/index.d.ts +2 -2
- package/dist/routing/index.js +1 -1
- package/dist/{scheduler-DD9NdYbF.js → scheduler-DZ3xQfeK.js} +4 -11
- package/dist/scheduler-DZ3xQfeK.js.map +1 -0
- package/dist/{scheduler-Dwh85ZGl.d.ts → scheduler-RdACNXDP.d.ts} +6 -6
- package/dist/schedules/index.d.ts +1 -1
- package/dist/schedules/index.js +1 -1
- package/dist/serializable.d.ts +1 -1
- package/dist/sessions/index.d.ts +70 -3
- package/dist/sessions/index.js +276 -67
- package/dist/sessions/index.js.map +1 -1
- package/dist/skills/index.d.ts +29 -314
- package/dist/socket-address.d.ts +16 -0
- package/dist/socket-address.js +19 -0
- package/dist/socket-address.js.map +1 -0
- package/dist/{src-DlSHshb2.js → src-BZeu-SCD.js} +541 -500
- package/dist/src-BZeu-SCD.js.map +1 -0
- package/dist/state/index.d.ts +6 -0
- package/dist/state/index.js +137 -0
- package/dist/state/index.js.map +1 -0
- package/dist/streams/index.d.ts +1 -1
- package/dist/streams/index.js +1 -1
- package/dist/{streams-D6tJ0NN9.d.ts → streams-Cmkj9QfW.d.ts} +4 -2
- package/dist/{streams-DZKgAj9b.js → streams-DW-UCOUc.js} +9 -2
- package/dist/streams-DW-UCOUc.js.map +1 -0
- package/dist/sub-routing.d.ts +12 -12
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/{tasks-ylZgBjhj.js → tasks-68DESxf0.js} +3 -3
- package/dist/{tasks-ylZgBjhj.js.map → tasks-68DESxf0.js.map} +1 -1
- package/dist/{tasks-BRJ5zgya.d.ts → tasks-9YxYtByh.d.ts} +5 -5
- package/dist/transport-PfFnt-Ld.d.ts +525 -0
- package/dist/transport-protocol-BxyngQ_R.js +25 -0
- package/dist/transport-protocol-BxyngQ_R.js.map +1 -0
- package/dist/transport-protocol-ZTew5Wso.d.ts +27 -0
- package/dist/types-BA4anrjI.d.ts +70 -0
- package/dist/voice/index.d.ts +2 -2
- package/dist/websockets/index.d.ts +195 -69
- package/dist/websockets/index.js +3 -2
- package/dist/websockets-Ci-LZFHH.js +1030 -0
- package/dist/websockets-Ci-LZFHH.js.map +1 -0
- package/dist/wire-types-CnMt6_HR.js.map +1 -1
- package/dist/wire-types-CrjKvDyi.d.ts +300 -0
- package/dist/workflow-types.d.ts +25 -25
- package/dist/workflows.d.ts +21 -21
- package/dist/workflows.js +1 -1
- package/dist/{ws-chat-transport-UNRIS2xl.d.ts → ws-chat-transport-BbT1A5Lc.d.ts} +51 -2
- package/dist/{ws-chat-transport-rWwta645.js → ws-chat-transport-cqMKq3IY.js} +143 -16
- package/dist/ws-chat-transport-cqMKq3IY.js.map +1 -0
- package/docs/agent-class.md +2 -2
- package/docs/agent-tools.md +29 -4
- package/docs/browse-the-web.md +87 -5
- package/docs/chat-agents.md +124 -16
- package/docs/client-sdk.md +30 -0
- package/docs/context.md +27 -0
- package/docs/durable-execution.md +2 -0
- package/docs/harnesses/pi.md +91 -0
- package/docs/human-in-the-loop.md +4 -0
- package/docs/index.md +4 -1
- package/docs/lifecycle.md +114 -23
- package/docs/models-pi-ai.md +325 -0
- package/docs/models.md +504 -0
- package/docs/queue.md +135 -241
- package/docs/resumable-streaming.md +2 -0
- package/docs/retries.md +1 -1
- package/docs/routing.md +13 -13
- package/docs/sessions.md +36 -1
- package/docs/state.md +1 -0
- package/docs/sub-agents.md +12 -3
- package/package.json +51 -3
- package/dist/agent-tools-y7zLfw4Q.js.map +0 -1
- package/dist/browser/ai.js.map +0 -1
- package/dist/capability-BjSKYpzg.js.map +0 -1
- package/dist/client-tools-aIBO0Fk7.d.ts +0 -53
- package/dist/client.js.map +0 -1
- package/dist/connector-CptFKzRh.js.map +0 -1
- package/dist/lifecycle-CMRGjZdw.js.map +0 -1
- package/dist/message-builder-BymO4N_D.js.map +0 -1
- package/dist/scheduler-DD9NdYbF.js.map +0 -1
- package/dist/src-DlSHshb2.js.map +0 -1
- package/dist/streams-DZKgAj9b.js.map +0 -1
- package/dist/websockets-DUfRHPRq.js +0 -502
- package/dist/websockets-DUfRHPRq.js.map +0 -1
- package/dist/ws-chat-transport-rWwta645.js.map +0 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import {
|
|
2
|
+
a as CloudflareAIError,
|
|
3
|
+
c as GatewayOptions,
|
|
4
|
+
d as CloudflareEmbeddingModelId,
|
|
5
|
+
i as CloudflareAIAttempt,
|
|
6
|
+
l as ModelOptions,
|
|
7
|
+
n as GATEWAY_PROVIDER_NAMES,
|
|
8
|
+
o as CloudflareAIErrorCode,
|
|
9
|
+
r as GatewayProviderName,
|
|
10
|
+
s as AISettings,
|
|
11
|
+
v as WorkersAIModelId
|
|
12
|
+
} from "../../transport-PfFnt-Ld.js";
|
|
13
|
+
import {
|
|
14
|
+
Api,
|
|
15
|
+
AssistantImages,
|
|
16
|
+
AssistantMessage,
|
|
17
|
+
Context,
|
|
18
|
+
ImageModel,
|
|
19
|
+
ImagesContext,
|
|
20
|
+
ImagesOptions,
|
|
21
|
+
Model,
|
|
22
|
+
Provider,
|
|
23
|
+
SimpleStreamOptions,
|
|
24
|
+
StreamOptions
|
|
25
|
+
} from "@earendil-works/pi-ai";
|
|
26
|
+
|
|
27
|
+
//#region src/models/core/chat-completions/quirks.d.ts
|
|
28
|
+
/**
|
|
29
|
+
* Where a Cloudflare catalog model departs from strict OpenAI chat
|
|
30
|
+
* completions, and how. Every entry is backed by a live capture from the
|
|
31
|
+
* conformance probes (`research/40-*.json`, `41-*.json`); the default for an
|
|
32
|
+
* unknown id is strict OpenAI, so a new conformant model needs no code here.
|
|
33
|
+
*
|
|
34
|
+
* Framework-neutral: both the AI SDK and the pi-ai providers consult this.
|
|
35
|
+
*/
|
|
36
|
+
/** A request feature that had to be changed or dropped for a model. */
|
|
37
|
+
interface CompatWarning {
|
|
38
|
+
feature: string;
|
|
39
|
+
message: string;
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/models/pi-ai/models/image.d.ts
|
|
43
|
+
/**
|
|
44
|
+
* The `api` marker on image models from this provider.
|
|
45
|
+
*
|
|
46
|
+
* @experimental This surface is experimental and may change.
|
|
47
|
+
*/
|
|
48
|
+
declare const CLOUDFLARE_AI_IMAGES_API = "cloudflare-ai-images";
|
|
49
|
+
/** @experimental This surface is experimental and may change. */
|
|
50
|
+
type CloudflareImagesModel = ImageModel<typeof CLOUDFLARE_AI_IMAGES_API>;
|
|
51
|
+
/**
|
|
52
|
+
* Per-model options for image models: gateway options plus the generation
|
|
53
|
+
* knobs Workers AI understands. Anything given here is the default for every
|
|
54
|
+
* call; `generateImages` options override it.
|
|
55
|
+
*
|
|
56
|
+
* @experimental This surface is experimental and may change.
|
|
57
|
+
*/
|
|
58
|
+
interface PiImagesModelOptions extends ModelOptions {
|
|
59
|
+
name?: string;
|
|
60
|
+
width?: number;
|
|
61
|
+
height?: number;
|
|
62
|
+
/** Diffusion steps, for models that accept it. */
|
|
63
|
+
steps?: number;
|
|
64
|
+
/** Classifier-free guidance scale, for models that accept it. */
|
|
65
|
+
guidance?: number;
|
|
66
|
+
negativePrompt?: string;
|
|
67
|
+
seed?: number;
|
|
68
|
+
}
|
|
69
|
+
/** Per-call options for {@link generateImages}. */
|
|
70
|
+
interface PiImagesCallOptions extends ImagesOptions {
|
|
71
|
+
width?: number;
|
|
72
|
+
height?: number;
|
|
73
|
+
steps?: number;
|
|
74
|
+
guidance?: number;
|
|
75
|
+
negativePrompt?: string;
|
|
76
|
+
seed?: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* pi-ai's `AssistantImages` has no warnings channel, so a knob this catalog
|
|
80
|
+
* drops is reported the way the language wires report theirs: as a diagnostic
|
|
81
|
+
* of type {@link COMPAT_DIAGNOSTIC}.
|
|
82
|
+
*
|
|
83
|
+
* @experimental This surface is experimental and may change.
|
|
84
|
+
*/
|
|
85
|
+
interface CloudflareAssistantImages extends AssistantImages {
|
|
86
|
+
diagnostics?: {
|
|
87
|
+
type: string;
|
|
88
|
+
timestamp: number;
|
|
89
|
+
details: {
|
|
90
|
+
warnings: CompatWarning[];
|
|
91
|
+
};
|
|
92
|
+
}[];
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/models/pi-ai/catalog.d.ts
|
|
96
|
+
/**
|
|
97
|
+
* The `api` marker Workers AI models from this provider carry. It is not a
|
|
98
|
+
* wire format: Workers AI runs on `env.AI.run`, and the compat layer maps that
|
|
99
|
+
* onto strict OpenAI chat completions.
|
|
100
|
+
*
|
|
101
|
+
* @experimental This surface is experimental and may change.
|
|
102
|
+
*/
|
|
103
|
+
declare const CLOUDFLARE_AI_API = "cloudflare-ai";
|
|
104
|
+
/** @experimental This surface is experimental and may change. */
|
|
105
|
+
type CloudflareAIApi = typeof CLOUDFLARE_AI_API;
|
|
106
|
+
/**
|
|
107
|
+
* The pi-ai provider id. A `Models` registry resolves specifiers as
|
|
108
|
+
* `cloudflare/<id>`, e.g. `cloudflare/anthropic/claude-opus-4-8`.
|
|
109
|
+
*
|
|
110
|
+
* @experimental This surface is experimental and may change.
|
|
111
|
+
*/
|
|
112
|
+
declare const CLOUDFLARE_PROVIDER_ID = "cloudflare";
|
|
113
|
+
/**
|
|
114
|
+
* A Workers AI model produced by this provider. `id` is the `@cf/` id exactly
|
|
115
|
+
* as given; `api` is {@link CLOUDFLARE_AI_API}.
|
|
116
|
+
*
|
|
117
|
+
* @experimental This surface is experimental and may change.
|
|
118
|
+
*/
|
|
119
|
+
type CloudflareModel = Model<CloudflareAIApi>;
|
|
120
|
+
/** @experimental This surface is experimental and may change. */
|
|
121
|
+
type ModelCost = Model<Api>["cost"];
|
|
122
|
+
/**
|
|
123
|
+
* A model this provider routes: a Workers AI model or any pi-ai model the
|
|
124
|
+
* caller handed to `ai(model)`.
|
|
125
|
+
*
|
|
126
|
+
* @experimental This surface is experimental and may change.
|
|
127
|
+
*/
|
|
128
|
+
type RoutedModel = Model<Api>;
|
|
129
|
+
/**
|
|
130
|
+
* Per-model options: the gateway options, client-side fallback, headers and
|
|
131
|
+
* session affinity, plus pi-ai model metadata overrides and the stream idle
|
|
132
|
+
* deadline. Metadata overrides only apply to the `@cf/` form — a model object
|
|
133
|
+
* brings its own metadata, and this module never second-guesses it.
|
|
134
|
+
*
|
|
135
|
+
* @experimental This surface is experimental and may change.
|
|
136
|
+
*/
|
|
137
|
+
/**
|
|
138
|
+
* A fallback leg: a Workers AI id, a `<slug>/<id>` pi-ai's gateway registry
|
|
139
|
+
* knows, or a model object. A raw vendor id is refused when the chain is built.
|
|
140
|
+
*/
|
|
141
|
+
type PiFallbackLeg = WorkersAIModelId | Model<Api> | (string & {});
|
|
142
|
+
interface PiModelOptions extends ModelOptions<PiFallbackLeg> {
|
|
143
|
+
/** Display name. Defaults to the catalog name, else the id. */
|
|
144
|
+
name?: string;
|
|
145
|
+
/** Context window in tokens. Defaults to the catalog value, else 128000. */
|
|
146
|
+
contextWindow?: number;
|
|
147
|
+
/** Maximum output tokens. Defaults to the catalog value, else 8192. */
|
|
148
|
+
maxTokens?: number;
|
|
149
|
+
/** Whether the model can reason. Defaults to the catalog value, else true. */
|
|
150
|
+
reasoning?: boolean;
|
|
151
|
+
/** Accepted input modalities. Defaults to the catalog value. */
|
|
152
|
+
input?: ("text" | "image")[];
|
|
153
|
+
/** Cost per million tokens, used by pi-ai's usage accounting. */
|
|
154
|
+
cost?: ModelCost;
|
|
155
|
+
/**
|
|
156
|
+
* Fail a stream that delivers no bytes for this long, in milliseconds. The
|
|
157
|
+
* timer only runs while a read is outstanding, so consumer backpressure
|
|
158
|
+
* never trips it. `0` disables the guard. Default 300000 (five minutes).
|
|
159
|
+
*/
|
|
160
|
+
streamIdleTimeoutMs?: number;
|
|
161
|
+
}
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region src/models/pi-ai/models/fallback.d.ts
|
|
164
|
+
/** A leg that was tried and failed before producing output. */
|
|
165
|
+
interface FallbackAttempt {
|
|
166
|
+
model: string;
|
|
167
|
+
errorMessage: string | undefined;
|
|
168
|
+
}
|
|
169
|
+
/** Diagnostic type under which abandoned legs are recorded. */
|
|
170
|
+
declare const FALLBACK_DIAGNOSTIC = "cloudflare-fallback";
|
|
171
|
+
//#endregion
|
|
172
|
+
//#region src/models/pi-ai/errors.d.ts
|
|
173
|
+
/** Diagnostic type under which a failed dispatch is recorded. */
|
|
174
|
+
declare const CLOUDFLARE_ERROR_DIAGNOSTIC = "cloudflare-error";
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region src/models/pi-ai/wires/shared.d.ts
|
|
177
|
+
/** Diagnostic type under which gateway correlation ids are recorded. */
|
|
178
|
+
declare const CLOUDFLARE_DIAGNOSTIC = "cloudflare";
|
|
179
|
+
//#endregion
|
|
180
|
+
//#region src/models/pi-ai/index.d.ts
|
|
181
|
+
/**
|
|
182
|
+
* pi-agent-core's `streamFn` shape: what `Agent` calls to run a turn.
|
|
183
|
+
*
|
|
184
|
+
* @experimental This surface is experimental and may change.
|
|
185
|
+
*/
|
|
186
|
+
type StreamFn = (
|
|
187
|
+
model: Model<string>,
|
|
188
|
+
context: Context,
|
|
189
|
+
options?: SimpleStreamOptions
|
|
190
|
+
) => ReturnType<Provider["streamSimple"]>;
|
|
191
|
+
/**
|
|
192
|
+
* The provider `createAI` returns. Call it with a Workers AI id or with a
|
|
193
|
+
* pi-ai model to get a model this instance routes; use `stream`/`complete` to
|
|
194
|
+
* run it, `streamFn` with pi-agent-core's `Agent`, and `provider` with a pi-ai
|
|
195
|
+
* `Models` registry.
|
|
196
|
+
*
|
|
197
|
+
* @experimental This surface is experimental and may change.
|
|
198
|
+
*/
|
|
199
|
+
interface AI {
|
|
200
|
+
/** A Workers AI model: Cloudflare's own catalog, on the run path. */
|
|
201
|
+
(modelId: WorkersAIModelId, options?: PiModelOptions): CloudflareModel;
|
|
202
|
+
/** Any pi-ai model, routed through AI Gateway with its metadata intact. */
|
|
203
|
+
<TApi extends Api>(model: Model<TApi>, options?: PiModelOptions): Model<TApi>;
|
|
204
|
+
/**
|
|
205
|
+
* A `<slug>/<id>` id from pi-ai's Cloudflare AI Gateway catalog, or either
|
|
206
|
+
* form when the caller only knows which at runtime.
|
|
207
|
+
*/
|
|
208
|
+
(target: string | Model<Api>, options?: PiModelOptions): RoutedModel;
|
|
209
|
+
/** Same as calling the provider directly. */
|
|
210
|
+
model(modelId: WorkersAIModelId, options?: PiModelOptions): CloudflareModel;
|
|
211
|
+
model<TApi extends Api>(
|
|
212
|
+
model: Model<TApi>,
|
|
213
|
+
options?: PiModelOptions
|
|
214
|
+
): Model<TApi>;
|
|
215
|
+
model(target: string | Model<Api>, options?: PiModelOptions): RoutedModel;
|
|
216
|
+
/**
|
|
217
|
+
* The pi-ai `Provider` (id `cloudflare`) for `Models.setProvider` and
|
|
218
|
+
* frameworks built on the registry. Its static model list is every Workers
|
|
219
|
+
* AI id plus every `<slug>/<id>` in pi-ai's Cloudflare AI Gateway catalog;
|
|
220
|
+
* any other model still streams when passed to `ai(model)`.
|
|
221
|
+
*/
|
|
222
|
+
readonly provider: Provider;
|
|
223
|
+
/** Full-options streaming, like pi-ai's `stream`. */
|
|
224
|
+
stream(
|
|
225
|
+
model: Model<string>,
|
|
226
|
+
context: Context,
|
|
227
|
+
options?: StreamOptions
|
|
228
|
+
): ReturnType<Provider["stream"]>;
|
|
229
|
+
/** Full-options completion, like pi-ai's `complete`. */
|
|
230
|
+
complete(
|
|
231
|
+
model: Model<string>,
|
|
232
|
+
context: Context,
|
|
233
|
+
options?: StreamOptions
|
|
234
|
+
): Promise<AssistantMessage>;
|
|
235
|
+
/** Simple streaming, with `reasoning` as a level, like pi-ai's `streamSimple`. */
|
|
236
|
+
streamSimple(
|
|
237
|
+
model: Model<string>,
|
|
238
|
+
context: Context,
|
|
239
|
+
options?: SimpleStreamOptions
|
|
240
|
+
): ReturnType<Provider["streamSimple"]>;
|
|
241
|
+
/** Simple completion, like pi-ai's `completeSimple`. */
|
|
242
|
+
completeSimple(
|
|
243
|
+
model: Model<string>,
|
|
244
|
+
context: Context,
|
|
245
|
+
options?: SimpleStreamOptions
|
|
246
|
+
): Promise<AssistantMessage>;
|
|
247
|
+
/** `streamSimple`, bound, for pi-agent-core's `Agent({ streamFn })`. */
|
|
248
|
+
readonly streamFn: StreamFn;
|
|
249
|
+
/** A pi-ai image model over a Workers AI text-to-image id. */
|
|
250
|
+
images(
|
|
251
|
+
modelId: string,
|
|
252
|
+
options?: PiImagesModelOptions
|
|
253
|
+
): CloudflareImagesModel;
|
|
254
|
+
/** Generates images with a model from {@link AI.images}, like pi-ai's `generateImages`. */
|
|
255
|
+
generateImages(
|
|
256
|
+
model: CloudflareImagesModel,
|
|
257
|
+
context: ImagesContext,
|
|
258
|
+
options?: PiImagesCallOptions
|
|
259
|
+
): Promise<CloudflareAssistantImages>;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Creates a pi-ai provider over Cloudflare's AI.
|
|
263
|
+
*
|
|
264
|
+
* The Workers AI binding is the only way in — Workers AI models go through
|
|
265
|
+
* `env.AI.run`, vendor models through `env.AI.gateway(id).run`, and there is
|
|
266
|
+
* no HTTP transport and no API token. Gateway options may be given flat
|
|
267
|
+
* (`{ binding, id: "prod", cacheTtl: 60 }`) or nested under `gateway`;
|
|
268
|
+
* per-model options and per-call pi-ai options (`headers`, `metadata`,
|
|
269
|
+
* `sessionId`) override them in that order.
|
|
270
|
+
*
|
|
271
|
+
* ```ts
|
|
272
|
+
* const ai = createAI({ binding: env.AI, id: "prod" });
|
|
273
|
+
* ai("@cf/zai-org/glm-4.7-flash");
|
|
274
|
+
* ai(anthropicModel, { fallback: ["@cf/zai-org/glm-4.7-flash"] });
|
|
275
|
+
* new Agent({ streamFn: ai.streamFn, initialState: { model: ai(openaiModel) } });
|
|
276
|
+
* ```
|
|
277
|
+
*
|
|
278
|
+
* @experimental This surface is experimental and may change.
|
|
279
|
+
*/
|
|
280
|
+
declare function createAI(settings: AISettings): AI;
|
|
281
|
+
//#endregion
|
|
282
|
+
export {
|
|
283
|
+
AI,
|
|
284
|
+
type AISettings,
|
|
285
|
+
CLOUDFLARE_AI_API,
|
|
286
|
+
CLOUDFLARE_AI_IMAGES_API,
|
|
287
|
+
CLOUDFLARE_DIAGNOSTIC,
|
|
288
|
+
CLOUDFLARE_ERROR_DIAGNOSTIC,
|
|
289
|
+
CLOUDFLARE_PROVIDER_ID,
|
|
290
|
+
type CloudflareAIApi,
|
|
291
|
+
type CloudflareAIAttempt,
|
|
292
|
+
CloudflareAIError,
|
|
293
|
+
type CloudflareAIErrorCode,
|
|
294
|
+
type CloudflareAssistantImages,
|
|
295
|
+
type CloudflareEmbeddingModelId,
|
|
296
|
+
type CloudflareImagesModel,
|
|
297
|
+
type CloudflareModel,
|
|
298
|
+
FALLBACK_DIAGNOSTIC,
|
|
299
|
+
type FallbackAttempt,
|
|
300
|
+
GATEWAY_PROVIDER_NAMES,
|
|
301
|
+
type GatewayOptions,
|
|
302
|
+
type GatewayProviderName,
|
|
303
|
+
type ModelCost,
|
|
304
|
+
type ModelOptions,
|
|
305
|
+
type PiImagesCallOptions,
|
|
306
|
+
type PiImagesModelOptions,
|
|
307
|
+
type PiModelOptions,
|
|
308
|
+
type RoutedModel,
|
|
309
|
+
StreamFn,
|
|
310
|
+
type WorkersAIModelId,
|
|
311
|
+
createAI
|
|
312
|
+
};
|
|
313
|
+
//# sourceMappingURL=index.d.ts.map
|