agents 0.27.0 → 0.28.1
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/abortable-C1SpfVoi.js +21 -0
- package/dist/abortable-C1SpfVoi.js.map +1 -0
- package/dist/{agent-routing-Bhdbvf7s.d.ts → agent-routing-BMvWTFEp.d.ts} +21 -15
- package/dist/agent-routing.d.ts +1 -1
- package/dist/agent-tool-types.d.ts +1 -1
- package/dist/{agent-tools-bJZwBMfq.d.ts → agent-tools-ohoewW-B.d.ts} +2 -2
- package/dist/agent-tools.d.ts +1 -1
- package/dist/ai-ahruGw7e.d.ts +239 -0
- package/dist/{ai-sdk-OoGkFy3s.js → ai-sdk-C2iTAwUd.js} +44 -18
- package/dist/ai-sdk-C2iTAwUd.js.map +1 -0
- package/dist/browser/ai.d.ts +8 -227
- package/dist/browser/ai.js +259 -1
- package/dist/browser/ai.js.map +1 -0
- package/dist/browser/index.d.ts +56 -46
- package/dist/browser/index.js +4 -361
- package/dist/browser/{ai-sdk.d.ts → tools/ai-sdk.d.ts} +7 -7
- package/dist/browser/{ai-sdk.js → tools/ai-sdk.js} +5 -4
- package/dist/browser/tools/ai-sdk.js.map +1 -0
- package/dist/browser/tools/pi.d.ts +111 -0
- package/dist/browser/tools/pi.js +119 -0
- package/dist/browser/tools/pi.js.map +1 -0
- package/dist/browser/{tanstack-ai.d.ts → tools/tanstack-ai.d.ts} +39 -37
- package/dist/browser/{tanstack-ai.js → tools/tanstack-ai.js} +73 -59
- package/dist/browser/tools/tanstack-ai.js.map +1 -0
- package/dist/browser-CEdNlsaD.js +481 -0
- package/dist/browser-CEdNlsaD.js.map +1 -0
- package/dist/{browser-tmkcAAI3.d.ts → browser-D30VlpcA.d.ts} +63 -37
- package/dist/{browser-tool-CBqs6hqa.js → browser-tool-4iomavs_.js} +145 -49
- package/dist/browser-tool-4iomavs_.js.map +1 -0
- package/dist/{browser-tool-Bn-nzJQI.d.ts → browser-tool-vtrPOV8e.d.ts} +24 -5
- package/dist/{capability-B4WbF81e.js → capability-DBAKc6UZ.js} +1 -3
- package/dist/capability-DBAKc6UZ.js.map +1 -0
- package/dist/{capability-runner-O5VbQzqg.d.ts → capability-runner-BiVUtjqC.d.ts} +1 -7
- package/dist/chat/index.d.ts +4 -4
- package/dist/chat/index.js +1 -1
- package/dist/chat-sdk/index.d.ts +1 -1
- package/dist/chat-sdk/index.js +1 -1
- package/dist/{client-1tEQ1Oqz.js → client-BnYbNT3z.js} +3 -4
- package/dist/client-BnYbNT3z.js.map +1 -0
- package/dist/{client-DS3Dz9l0.d.ts → client-Bp-JwL3p.d.ts} +2 -2
- package/dist/client.d.ts +1 -1
- package/dist/{connector-58XDGvc3.js → connector-CtZylXdk.js} +3 -603
- package/dist/connector-CtZylXdk.js.map +1 -0
- package/dist/{connector-Cl-VqPmA.d.ts → connector-DEXzVoaY.d.ts} +9 -374
- package/dist/{conversations-DH0ut_8n.d.ts → conversations-FjHDRZyD.d.ts} +4 -4
- package/dist/{current-agent-C07C5o5Y.d.ts → current-agent-CKgT5d1O.d.ts} +3 -5
- package/dist/current-agent-DhoDkSnH.js.map +1 -1
- package/dist/{durable-object-lifecycle-DRqp475_.d.ts → durable-object-lifecycle-DOI_bzCH.d.ts} +2 -2
- package/dist/experimental/channels/index.d.ts +2 -2
- package/dist/experimental/channels/index.js +2 -2
- package/dist/experimental/channels/web/index.d.ts +2 -2
- package/dist/experimental/channels/web/index.js +1 -1
- package/dist/{gateway-BDC07gYO.d.ts → gateway-BFO6vRDn.d.ts} +2 -2
- package/dist/{handler-stateless-VvrWSAVA.js → handler-stateless-Bly_nSH3.js} +12 -3
- package/dist/handler-stateless-Bly_nSH3.js.map +1 -0
- package/dist/harness/ai-sdk/index.d.ts +2 -2
- package/dist/harness/ai-sdk/index.js +1 -1
- package/dist/harness/container/index.d.ts +2 -2
- package/dist/harness/container/index.js +3 -3
- package/dist/harness/opencode/index.d.ts +183 -7
- package/dist/harness/opencode/index.js +355 -24
- package/dist/harness/opencode/index.js.map +1 -1
- package/dist/harness/pi/index.d.ts +2 -2
- package/dist/harness/pi/index.js +3 -3
- package/dist/harness/store/index.d.ts +1 -1
- package/dist/harness/store/index.js +1 -1
- package/dist/harness/think/index.d.ts +2 -2
- package/dist/harness/think/index.js +363 -171
- package/dist/harness/think/index.js.map +1 -1
- package/dist/{images-Ce9SCu3X.js → images-C4hiIexM.js} +46 -4
- package/dist/images-C4hiIexM.js.map +1 -0
- package/dist/{index-D0A5tbWu.d.ts → index-BEL3ZV-s.d.ts} +2 -6
- package/dist/{index-Ib_4dwOo.d.ts → index-CBt8oRJt.d.ts} +3 -5
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/input-schema-BQykTEp_.js +20 -0
- package/dist/input-schema-BQykTEp_.js.map +1 -0
- package/dist/{input-schema-DNrpTu49.js → input-schema-xBofjBKC.js} +3 -3
- package/dist/input-schema-xBofjBKC.js.map +1 -0
- package/dist/internal_context.d.ts +1 -1
- package/dist/lifecycle/index.d.ts +3 -3
- package/dist/lifecycle/index.js +2 -2
- package/dist/{lifecycle-CFu6OV03.js → lifecycle-DGorpAmA.js} +2 -4
- package/dist/lifecycle-DGorpAmA.js.map +1 -0
- package/dist/mcp/client/index.d.ts +1 -1
- package/dist/mcp/client/index.js +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +18 -4
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server/index.js +1 -1
- package/dist/models/ai-sdk/index.d.ts +45 -17
- package/dist/models/ai-sdk/index.js +1 -1
- package/dist/models/opencode/index.d.ts +2 -2
- package/dist/models/opencode/index.js +1 -1
- package/dist/models/pi-ai/index.d.ts +8 -3
- package/dist/models/pi-ai/index.js +6 -6
- package/dist/models/pi-ai/index.js.map +1 -1
- package/dist/{options-pwTNq9z6.d.ts → options-CiIsJHXR.d.ts} +2 -6
- package/dist/queue/index.d.ts +1 -1
- package/dist/queue/index.js +1 -1
- package/dist/{queue-BB-zfIYF.js → queue-CcIjVYTE.js} +2 -2
- package/dist/{queue-BB-zfIYF.js.map → queue-CcIjVYTE.js.map} +1 -1
- package/dist/react.d.ts +2 -2
- package/dist/routing/index.d.ts +2 -2
- package/dist/routing/index.js +1 -1
- package/dist/{scheduler-CrFCnv_J.d.ts → scheduler-BCLESHSC.d.ts} +2 -12
- package/dist/{scheduler-DZ3xQfeK.js → scheduler-FIHv2-kJ.js} +2 -4
- package/dist/scheduler-FIHv2-kJ.js.map +1 -0
- package/dist/schedules/index.d.ts +1 -1
- package/dist/schedules/index.js +1 -1
- package/dist/serializable.d.ts +1 -1
- package/dist/session-store-Do4xkDcf.js +606 -0
- package/dist/session-store-Do4xkDcf.js.map +1 -0
- package/dist/session-store-DoPY12xM.d.ts +383 -0
- package/dist/sessions/index.d.ts +1 -1
- package/dist/sessions/index.js +1 -1
- package/dist/{sessions-B9pNuxdT.js → sessions-_vN5BEZX.js} +2 -2
- package/dist/{sessions-B9pNuxdT.js.map → sessions-_vN5BEZX.js.map} +1 -1
- package/dist/{settings-C45hDliX.js → settings-BjAiPd6Z.js} +7 -4
- package/dist/settings-BjAiPd6Z.js.map +1 -0
- package/dist/{settings-NgGwF7Qt.d.ts → settings-DnD__xuE.d.ts} +22 -4
- package/dist/{src-DgCbZtIR.js → src-CQxJFv4l.js} +8 -8
- package/dist/src-CQxJFv4l.js.map +1 -0
- package/dist/state/index.d.ts +1 -1
- package/dist/state/index.js +1 -3
- package/dist/state/index.js.map +1 -1
- package/dist/{store-DLeqKuj3.d.ts → store-BKM4Xm9M.d.ts} +23 -1
- package/dist/{store-vgcPYo8K.js → store-CslVzfN7.js} +28 -2
- package/dist/store-CslVzfN7.js.map +1 -0
- package/dist/streams/index.d.ts +1 -1
- package/dist/streams/index.js +1 -1
- package/dist/{streams-CITClVer.js → streams-lsHMJhRW.js} +2 -2
- package/dist/{streams-CITClVer.js.map → streams-lsHMJhRW.js.map} +1 -1
- package/dist/{streams-fbG61qM8.d.ts → streams-vrCtbUIn.d.ts} +2 -2
- package/dist/sub-routing.d.ts +1 -1
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/{tasks-CkTZNaV1.js → tasks-BN_5AWqI.js} +2 -2
- package/dist/{tasks-CkTZNaV1.js.map → tasks-BN_5AWqI.js.map} +1 -1
- package/dist/{tasks-PtlB4Uyn.d.ts → tasks-E89KdwkS.d.ts} +2 -2
- package/dist/{tool-BPJEbwaX.d.ts → tool-CTp72Jb_.d.ts} +4 -4
- package/dist/tool-CxKsvxjm.js +1126 -0
- package/dist/tool-CxKsvxjm.js.map +1 -0
- package/dist/tool-DoVberpN.d.ts +301 -0
- package/dist/{tool-3PA8xjB_.js → tool-VF0qiO7q.js} +7 -18
- package/dist/tool-VF0qiO7q.js.map +1 -0
- package/dist/tool-helpers-O5BDVEAY.js +58 -0
- package/dist/tool-helpers-O5BDVEAY.js.map +1 -0
- package/dist/{transport-k2mFrtL8.d.ts → transport-DCyarnwm.d.ts} +2 -2
- package/dist/voice/index.d.ts +2 -2
- package/dist/web/fetch/index.d.ts +89 -0
- package/dist/web/fetch/index.js +20 -0
- package/dist/web/fetch/index.js.map +1 -0
- package/dist/web/fetch/tools/ai-sdk.d.ts +80 -0
- package/dist/web/fetch/tools/ai-sdk.js +47 -0
- package/dist/web/fetch/tools/ai-sdk.js.map +1 -0
- package/dist/web/fetch/tools/pi.d.ts +84 -0
- package/dist/web/fetch/tools/pi.js +88 -0
- package/dist/web/fetch/tools/pi.js.map +1 -0
- package/dist/web/fetch/tools/tanstack-ai.d.ts +78 -0
- package/dist/web/fetch/tools/tanstack-ai.js +45 -0
- package/dist/web/fetch/tools/tanstack-ai.js.map +1 -0
- package/dist/{websearch → web/search}/index.d.ts +1 -1
- package/dist/{websearch → web/search}/index.js +1 -1
- package/dist/{websearch → web/search}/tools/ai-sdk.d.ts +2 -2
- package/dist/{websearch → web/search}/tools/ai-sdk.js +3 -3
- package/dist/web/search/tools/ai-sdk.js.map +1 -0
- package/dist/{websearch → web/search}/tools/pi.d.ts +3 -3
- package/dist/{websearch → web/search}/tools/pi.js +2 -2
- package/dist/web/search/tools/pi.js.map +1 -0
- package/dist/{websearch → web/search}/tools/tanstack-ai.d.ts +2 -2
- package/dist/{websearch → web/search}/tools/tanstack-ai.js +3 -3
- package/dist/web/search/tools/tanstack-ai.js.map +1 -0
- package/dist/websockets/index.d.ts +2 -2
- package/dist/websockets/index.js +1 -1
- package/dist/{websockets-CmENGb-Z.js → websockets-C3zy8YR0.js} +3 -5
- package/dist/websockets-C3zy8YR0.js.map +1 -0
- package/dist/workflow-types.d.ts +1 -1
- package/dist/workflows.d.ts +1 -1
- package/dist/workflows.js +1 -1
- package/docs/browse-the-web.md +26 -1
- package/docs/fetch-the-web.md +276 -0
- package/docs/harnesses/pi.md +25 -0
- package/docs/index.md +99 -76
- package/docs/lifecycle.md +2 -3
- package/docs/mcp-client.md +1 -1
- package/docs/mcp-servers.md +1 -1
- package/docs/models-pi-ai.md +11 -0
- package/docs/models.md +45 -3
- package/docs/queue.md +2 -3
- package/docs/scheduling.md +2 -6
- package/docs/search-the-web.md +2 -0
- package/package.json +52 -27
- package/dist/ai-fm7xx1BK.js +0 -312
- package/dist/ai-fm7xx1BK.js.map +0 -1
- package/dist/ai-sdk-OoGkFy3s.js.map +0 -1
- package/dist/browser/ai-sdk.js.map +0 -1
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/tanstack-ai.js.map +0 -1
- package/dist/browser-tool-CBqs6hqa.js.map +0 -1
- package/dist/capability-B4WbF81e.js.map +0 -1
- package/dist/client-1tEQ1Oqz.js.map +0 -1
- package/dist/connector-58XDGvc3.js.map +0 -1
- package/dist/handler-stateless-VvrWSAVA.js.map +0 -1
- package/dist/images-Ce9SCu3X.js.map +0 -1
- package/dist/input-schema-DNrpTu49.js.map +0 -1
- package/dist/lifecycle-CFu6OV03.js.map +0 -1
- package/dist/scheduler-DZ3xQfeK.js.map +0 -1
- package/dist/settings-C45hDliX.js.map +0 -1
- package/dist/src-DgCbZtIR.js.map +0 -1
- package/dist/store-vgcPYo8K.js.map +0 -1
- package/dist/tool-3PA8xjB_.js.map +0 -1
- package/dist/websearch/tools/ai-sdk.js.map +0 -1
- package/dist/websearch/tools/pi.js.map +0 -1
- package/dist/websearch/tools/tanstack-ai.js.map +0 -1
- package/dist/websockets-CmENGb-Z.js.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/web/abortable.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared by the `web_search` and `web_fetch` tools. Internal — not an entry
|
|
4
|
+
* point.
|
|
5
|
+
*/
|
|
6
|
+
/** Settle with `promise`, or reject with the signal's reason once it aborts. */
|
|
7
|
+
function abortable(promise, signal) {
|
|
8
|
+
if (!signal) return promise;
|
|
9
|
+
signal.throwIfAborted();
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
const onAbort = () => reject(signal.reason);
|
|
12
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
13
|
+
promise.then(resolve, reject).finally(() => {
|
|
14
|
+
signal.removeEventListener("abort", onAbort);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { abortable as t };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=abortable-C1SpfVoi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abortable-C1SpfVoi.js","names":[],"sources":["../src/web/abortable.ts"],"sourcesContent":["/**\n * Shared by the `web_search` and `web_fetch` tools. Internal — not an entry\n * point.\n */\n\n/** Settle with `promise`, or reject with the signal's reason once it aborts. */\nexport function abortable<T>(\n promise: Promise<T>,\n signal?: AbortSignal\n): Promise<T> {\n if (!signal) return promise;\n signal.throwIfAborted();\n return new Promise<T>((resolve, reject) => {\n const onAbort = () => reject(signal.reason);\n signal.addEventListener(\"abort\", onAbort, { once: true });\n promise.then(resolve, reject).finally(() => {\n signal.removeEventListener(\"abort\", onAbort);\n });\n });\n}\n"],"mappings":";;;;;;AAMA,SAAgB,UACd,SACA,QACY;CACZ,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,eAAe;CACtB,OAAO,IAAI,SAAY,SAAS,WAAW;EACzC,MAAM,gBAAgB,OAAO,OAAO,MAAM;EAC1C,OAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;EACxD,QAAQ,KAAK,SAAS,MAAM,CAAC,CAAC,cAAc;GAC1C,OAAO,oBAAoB,SAAS,OAAO;EAC7C,CAAC;CACH,CAAC;AACH"}
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
u as LifecycleRouteAddress,
|
|
9
9
|
v as LifecycleJobOutcome,
|
|
10
10
|
x as Connection
|
|
11
|
-
} from "./capability-runner-
|
|
11
|
+
} from "./capability-runner-BiVUtjqC.js";
|
|
12
12
|
import { t as RetryOptions } from "./retries-CV6AkXmQ.js";
|
|
13
13
|
import {
|
|
14
14
|
r as LifecycleRouteEnvelope,
|
|
15
15
|
t as Lifecycle
|
|
16
|
-
} from "./durable-object-lifecycle-
|
|
17
|
-
import { n as CurrentAgentContext } from "./current-agent-
|
|
16
|
+
} from "./durable-object-lifecycle-DOI_bzCH.js";
|
|
17
|
+
import { n as CurrentAgentContext } from "./current-agent-CKgT5d1O.js";
|
|
18
18
|
import { t as AgentEmail } from "./internal_context-BlxFEWfn.js";
|
|
19
19
|
import { r as EmailResolver, s as SendEmailOptions } from "./email-7TatiTnl.js";
|
|
20
20
|
import {
|
|
@@ -41,10 +41,10 @@ import {
|
|
|
41
41
|
i as Schedule,
|
|
42
42
|
o as ScheduleOptions,
|
|
43
43
|
t as Scheduler
|
|
44
|
-
} from "./scheduler-
|
|
44
|
+
} from "./scheduler-BCLESHSC.js";
|
|
45
45
|
import { i as QueueItem } from "./types-BA4anrjI.js";
|
|
46
|
-
import { l as TaskHandlers, r as Tasks } from "./tasks-
|
|
47
|
-
import { t as State } from "./index-
|
|
46
|
+
import { l as TaskHandlers, r as Tasks } from "./tasks-E89KdwkS.js";
|
|
47
|
+
import { t as State } from "./index-BEL3ZV-s.js";
|
|
48
48
|
import { t as CallableMetadata } from "./callable-decorator-DP__HhBA.js";
|
|
49
49
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
50
50
|
import {
|
|
@@ -1320,6 +1320,17 @@ declare abstract class McpAgent<
|
|
|
1320
1320
|
abstract init(): Promise<void>;
|
|
1321
1321
|
setInitializeRequest(initializeRequest: JSONRPCMessage$1): Promise<void>;
|
|
1322
1322
|
getInitializeRequest(): Promise<JSONRPCMessage$1 | undefined>;
|
|
1323
|
+
/**
|
|
1324
|
+
* End a streamable HTTP session (`DELETE`). Teardown is deferred to the
|
|
1325
|
+
* agent's alarm (#1625), so the stored initialize request is cleared too:
|
|
1326
|
+
* every route treats a session without one as unknown, which makes requests
|
|
1327
|
+
* carrying the terminated session ID get 404 as the spec requires. Teardown
|
|
1328
|
+
* is scheduled first, so a failure part-way leaves a session the client can
|
|
1329
|
+
* `DELETE` again rather than one that is never cleaned up.
|
|
1330
|
+
*
|
|
1331
|
+
* @internal
|
|
1332
|
+
*/
|
|
1333
|
+
_cf_terminateSession(): Promise<void>;
|
|
1323
1334
|
/**
|
|
1324
1335
|
* Storage key prefix for the `streamId -> requestIds` mapping used
|
|
1325
1336
|
* to support POST stream resumption across WebSocket reconnects.
|
|
@@ -2763,8 +2774,7 @@ type MCPServerFilter = {
|
|
|
2763
2774
|
};
|
|
2764
2775
|
/**
|
|
2765
2776
|
* A Durable Object capability that persists and aggregates MCP client
|
|
2766
|
-
* connections.
|
|
2767
|
-
* is experimental: that capability surface may change before stabilizing.
|
|
2777
|
+
* connections. Install it on any Lifecycle, or use `agent.mcp` on an Agent.
|
|
2768
2778
|
*/
|
|
2769
2779
|
declare class MCPClientManager extends LifecycleCapability {
|
|
2770
2780
|
private readonly _name;
|
|
@@ -4521,8 +4531,6 @@ declare class Agent<
|
|
|
4521
4531
|
> extends DurableObject<Env> {
|
|
4522
4532
|
/**
|
|
4523
4533
|
* Runtime lifecycle and reusable durable capabilities for this Agent.
|
|
4524
|
-
*
|
|
4525
|
-
* @experimental The API surface may change before stabilizing.
|
|
4526
4534
|
*/
|
|
4527
4535
|
readonly lifecycle: Lifecycle<Env, Props>;
|
|
4528
4536
|
/**
|
|
@@ -4664,10 +4672,8 @@ declare class Agent<
|
|
|
4664
4672
|
private _ParentClass;
|
|
4665
4673
|
/**
|
|
4666
4674
|
* Durable scheduling capability installed into this Agent's Lifecycle.
|
|
4667
|
-
*
|
|
4668
|
-
*
|
|
4669
|
-
* schedule()/scheduleEvery()/getScheduleById()/listSchedules()/
|
|
4670
|
-
* cancelSchedule() methods are the stable surface.
|
|
4675
|
+
* Agent's schedule()/scheduleEvery()/getScheduleById()/listSchedules()/
|
|
4676
|
+
* cancelSchedule() methods delegate to it.
|
|
4671
4677
|
*/
|
|
4672
4678
|
readonly scheduler: Scheduler;
|
|
4673
4679
|
/**
|
|
@@ -7040,4 +7046,4 @@ export {
|
|
|
7040
7046
|
AgentToolEventState as z,
|
|
7041
7047
|
MCPClientOAuthResult as zt
|
|
7042
7048
|
};
|
|
7043
|
-
//# sourceMappingURL=agent-routing-
|
|
7049
|
+
//# sourceMappingURL=agent-routing-BMvWTFEp.d.ts.map
|
package/dist/agent-routing.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
W as AgentToolProgress,
|
|
5
5
|
Z as AgentToolStoredChunk,
|
|
6
6
|
z as AgentToolEventState
|
|
7
|
-
} from "./agent-routing-
|
|
7
|
+
} from "./agent-routing-BMvWTFEp.js";
|
|
8
8
|
|
|
9
9
|
//#region src/chat/agent-tools.d.ts
|
|
10
10
|
type AgentToolProgressEmitResult = "emitted" | "coalesced" | "inactive";
|
|
@@ -144,4 +144,4 @@ export {
|
|
|
144
144
|
interceptAgentToolBroadcast as s,
|
|
145
145
|
AgentToolBroadcastHooks as t
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=agent-tools-
|
|
147
|
+
//# sourceMappingURL=agent-tools-ohoewW-B.d.ts.map
|
package/dist/agent-tools.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
rt as RunAgentToolResult,
|
|
21
21
|
tt as DetachedRunAgentToolResult,
|
|
22
22
|
z as AgentToolEventState
|
|
23
|
-
} from "./agent-routing-
|
|
23
|
+
} from "./agent-routing-BMvWTFEp.js";
|
|
24
24
|
import { FlexibleSchema, InferSchema, Tool } from "ai";
|
|
25
25
|
|
|
26
26
|
//#region src/agent-tools.d.ts
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import {
|
|
2
|
+
d as BrowserBinding,
|
|
3
|
+
n as BrowserSessionStore
|
|
4
|
+
} from "./session-store-DoPY12xM.js";
|
|
5
|
+
import {
|
|
6
|
+
l as QuickActionBinding,
|
|
7
|
+
r as BrowserConnectorSessionOptions,
|
|
8
|
+
t as BrowserConnector,
|
|
9
|
+
u as QuickActionCommonOptions
|
|
10
|
+
} from "./connector-DEXzVoaY.js";
|
|
11
|
+
import { ToolSet } from "ai";
|
|
12
|
+
import { CodemodeRuntimeHandle } from "@cloudflare/codemode";
|
|
13
|
+
|
|
14
|
+
//#region src/browser/ai.d.ts
|
|
15
|
+
interface CreateBrowserToolsOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Durable Object state. The codemode runtime that backs the browser tool
|
|
18
|
+
* lives in a facet of this DO, and browser session ids are stored in its
|
|
19
|
+
* storage — so the tool must be created from inside a Durable Object
|
|
20
|
+
* (e.g. an Agent).
|
|
21
|
+
*
|
|
22
|
+
* Optional: when omitted, it is resolved from the current Agent via
|
|
23
|
+
* `getCurrentAgent()`, so inside an Agent method you can just pass `browser`
|
|
24
|
+
* and `loader`. Pass it explicitly outside an Agent context.
|
|
25
|
+
*
|
|
26
|
+
* The worker must export the `CodemodeRuntime` class (the
|
|
27
|
+
* `@cloudflare/codemode/vite` plugin does this automatically, or add
|
|
28
|
+
* `export { CodemodeRuntime } from "@cloudflare/codemode"` to your entry).
|
|
29
|
+
*/
|
|
30
|
+
ctx?: DurableObjectState;
|
|
31
|
+
/**
|
|
32
|
+
* WorkerLoader binding for sandboxed code execution.
|
|
33
|
+
*
|
|
34
|
+
* Requires `"worker_loaders": [{ "binding": "LOADER" }]` in wrangler.jsonc.
|
|
35
|
+
*/
|
|
36
|
+
loader: WorkerLoader;
|
|
37
|
+
/**
|
|
38
|
+
* Browser Rendering binding (Fetcher).
|
|
39
|
+
*
|
|
40
|
+
* This is the primary way to connect — works both locally in
|
|
41
|
+
* `wrangler dev` and when deployed to Cloudflare Workers.
|
|
42
|
+
*
|
|
43
|
+
* Requires `"browser": { "binding": "BROWSER" }` in wrangler.jsonc.
|
|
44
|
+
*/
|
|
45
|
+
browser?: BrowserBinding;
|
|
46
|
+
/**
|
|
47
|
+
* Optional CDP base URL override (e.g. `http://localhost:9222`).
|
|
48
|
+
*
|
|
49
|
+
* Use when connecting to a manually managed Chrome instance or
|
|
50
|
+
* a remote CDP endpoint behind a tunnel.
|
|
51
|
+
*/
|
|
52
|
+
cdpUrl?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Headers to send with CDP URL discovery requests.
|
|
55
|
+
* Useful when the CDP endpoint requires authentication
|
|
56
|
+
* (e.g. Cloudflare Access headers).
|
|
57
|
+
*/
|
|
58
|
+
cdpHeaders?: Record<string, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Browser session lifecycle (binding-backed only). Defaults to one fresh
|
|
61
|
+
* session per codemode execution (`one-shot`).
|
|
62
|
+
*/
|
|
63
|
+
session?: BrowserConnectorSessionOptions;
|
|
64
|
+
/**
|
|
65
|
+
* Durable store for Browser Run session ids. Defaults to a
|
|
66
|
+
* {@link DurableBrowserSessionStore} over `ctx.storage`.
|
|
67
|
+
*/
|
|
68
|
+
store?: BrowserSessionStore;
|
|
69
|
+
/**
|
|
70
|
+
* Sandbox execution timeout in milliseconds. Defaults to 30000 (30s).
|
|
71
|
+
* Also used as the per-CDP-command timeout.
|
|
72
|
+
*/
|
|
73
|
+
timeout?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Codemode runtime name — the durable identity of the tool's executions
|
|
76
|
+
* and snippets. Defaults to `"browser"`.
|
|
77
|
+
*/
|
|
78
|
+
name?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Also expose stateless {@link createQuickActionTools | Quick Action} tools
|
|
81
|
+
* (`browser_markdown`, `browser_extract`, …) alongside the durable
|
|
82
|
+
* `browser_execute` tool.
|
|
83
|
+
*
|
|
84
|
+
* Enabled by default whenever a Browser Run `browser` binding is available
|
|
85
|
+
* (they share it), except when `session.browser` selects Kitesurf because
|
|
86
|
+
* the binding RPC cannot select that engine. Pass `true` or an object to
|
|
87
|
+
* explicitly add Chromium Quick Actions alongside Kitesurf, or `false` to
|
|
88
|
+
* disable them. The Quick Action binding defaults to `browser`; override it via
|
|
89
|
+
* `quickActions.browser`. When only `cdpUrl` is set (no binding), the
|
|
90
|
+
* defaults are skipped silently — pass `quickActions: { browser }` to force
|
|
91
|
+
* them.
|
|
92
|
+
*/
|
|
93
|
+
quickActions?:
|
|
94
|
+
| boolean
|
|
95
|
+
| {
|
|
96
|
+
browser?: QuickActionBinding;
|
|
97
|
+
actions?: QuickActionToolName[];
|
|
98
|
+
maxChars?: number;
|
|
99
|
+
options?: QuickActionCommonOptions;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The browser tool's moving parts, for hosts that need more than the tools:
|
|
104
|
+
*
|
|
105
|
+
* - `runtime` — the codemode runtime handle (approve/reject paused runs,
|
|
106
|
+
* `expirePaused`, audit via `executions()`, snippets).
|
|
107
|
+
* - `connector` — host-side session helpers: `sessionInfo()`,
|
|
108
|
+
* `closeSession()`, and `sweep()` for a recurring cleanup task.
|
|
109
|
+
* - `tools` — what `createBrowserTools` returns.
|
|
110
|
+
*/
|
|
111
|
+
interface BrowserRuntime {
|
|
112
|
+
runtime: CodemodeRuntimeHandle;
|
|
113
|
+
connector: BrowserConnector;
|
|
114
|
+
tools: ToolSet;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Create the browser codemode runtime: the `browser_execute` tool plus the
|
|
118
|
+
* runtime handle and connector for host-side wiring (approvals, session info,
|
|
119
|
+
* sweeps).
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* export class MyAgent extends Agent<Env> {
|
|
124
|
+
* get browser() {
|
|
125
|
+
* return createBrowserRuntime({
|
|
126
|
+
* ctx: this.ctx,
|
|
127
|
+
* browser: this.env.BROWSER,
|
|
128
|
+
* loader: this.env.LOADER,
|
|
129
|
+
* session: { mode: "dynamic" }
|
|
130
|
+
* });
|
|
131
|
+
* }
|
|
132
|
+
*
|
|
133
|
+
* @callable()
|
|
134
|
+
* async closeBrowserSession() {
|
|
135
|
+
* await this.browser.connector.closeSession();
|
|
136
|
+
* }
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
declare function createBrowserRuntime(
|
|
141
|
+
options: CreateBrowserToolsOptions
|
|
142
|
+
): BrowserRuntime;
|
|
143
|
+
/**
|
|
144
|
+
* Create AI SDK tools for browser automation via CDP code mode.
|
|
145
|
+
*
|
|
146
|
+
* Returns a `ToolSet` with a single durable `browser_execute` tool backed by
|
|
147
|
+
* a codemode runtime: the model writes TypeScript against the `cdp` connector
|
|
148
|
+
* (`cdp.send`, `cdp.attachToTarget`, `cdp.spec`, …), executions are recorded
|
|
149
|
+
* for abort-and-replay, and browser sessions survive pauses.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* import { createBrowserTools } from "agents/browser/ai";
|
|
154
|
+
* import { generateText } from "ai";
|
|
155
|
+
*
|
|
156
|
+
* // inside a Durable Object / Agent:
|
|
157
|
+
* const browserTools = createBrowserTools({
|
|
158
|
+
* ctx: this.ctx,
|
|
159
|
+
* browser: this.env.BROWSER,
|
|
160
|
+
* loader: this.env.LOADER,
|
|
161
|
+
* });
|
|
162
|
+
*
|
|
163
|
+
* const result = await generateText({
|
|
164
|
+
* model,
|
|
165
|
+
* tools: { ...browserTools, ...otherTools },
|
|
166
|
+
* messages,
|
|
167
|
+
* });
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
declare function createBrowserTools(
|
|
171
|
+
options: CreateBrowserToolsOptions
|
|
172
|
+
): ToolSet;
|
|
173
|
+
/** A Quick Action exposed as an AI SDK tool. */
|
|
174
|
+
type QuickActionToolName =
|
|
175
|
+
| "markdown"
|
|
176
|
+
| "extract"
|
|
177
|
+
| "links"
|
|
178
|
+
| "scrape"
|
|
179
|
+
| "content";
|
|
180
|
+
interface CreateQuickActionToolsOptions {
|
|
181
|
+
/**
|
|
182
|
+
* Browser Run binding with Quick Actions support (`env.BROWSER`). Requires a
|
|
183
|
+
* Worker `compatibility_date` of `2026-03-24`+ and `remote: true` for local
|
|
184
|
+
* `wrangler dev`.
|
|
185
|
+
*/
|
|
186
|
+
browser: QuickActionBinding;
|
|
187
|
+
/**
|
|
188
|
+
* Which tools to expose. Defaults to the text-returning, model-friendly set
|
|
189
|
+
* (`markdown`, `extract`, `links`, `scrape`). `content` (raw HTML) is opt-in
|
|
190
|
+
* since it is large and rarely what a model wants.
|
|
191
|
+
*/
|
|
192
|
+
actions?: QuickActionToolName[];
|
|
193
|
+
/**
|
|
194
|
+
* Bound every result to roughly this many characters before returning it to
|
|
195
|
+
* the model, to protect the context window, preserving each result's shape:
|
|
196
|
+
* text (markdown/content) is truncated to a string, oversized arrays
|
|
197
|
+
* (links/scrape) are trimmed but stay arrays, and only an opaque oversized
|
|
198
|
+
* object degrades to a truncated-preview summary. Set to `0` to disable.
|
|
199
|
+
* Defaults to 50000.
|
|
200
|
+
*/
|
|
201
|
+
maxChars?: number;
|
|
202
|
+
/**
|
|
203
|
+
* Common Browser Run options merged into every request — e.g. `cookies`,
|
|
204
|
+
* `authenticate`, or `setExtraHTTPHeaders` for authenticated pages, and
|
|
205
|
+
* `gotoOptions` / `viewport` for JavaScript-heavy pages. The model only ever
|
|
206
|
+
* supplies the page (`url`/`html`) and action-specific fields; these
|
|
207
|
+
* host-supplied options are never exposed to it.
|
|
208
|
+
*/
|
|
209
|
+
options?: QuickActionCommonOptions;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Create AI SDK tools for Browser Run [Quick Actions](https://developers.cloudflare.com/browser-run/quick-actions/):
|
|
213
|
+
* stateless one-shot browsing (read a page as Markdown, extract structured
|
|
214
|
+
* data with AI, list links, scrape elements). Unlike `createBrowserTools`,
|
|
215
|
+
* these need only the `browser` binding — no Durable Object, loader, or
|
|
216
|
+
* sandbox — so they work from any Worker.
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```ts
|
|
220
|
+
* import { createQuickActionTools } from "agents/browser/ai";
|
|
221
|
+
*
|
|
222
|
+
* const tools = createQuickActionTools({ browser: this.env.BROWSER });
|
|
223
|
+
* const result = await generateText({ model, tools, messages });
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
declare function createQuickActionTools(
|
|
227
|
+
options: CreateQuickActionToolsOptions
|
|
228
|
+
): ToolSet;
|
|
229
|
+
//#endregion
|
|
230
|
+
export {
|
|
231
|
+
createBrowserRuntime as a,
|
|
232
|
+
QuickActionToolName as i,
|
|
233
|
+
CreateBrowserToolsOptions as n,
|
|
234
|
+
createBrowserTools as o,
|
|
235
|
+
CreateQuickActionToolsOptions as r,
|
|
236
|
+
createQuickActionTools as s,
|
|
237
|
+
BrowserRuntime as t
|
|
238
|
+
};
|
|
239
|
+
//# sourceMappingURL=ai-ahruGw7e.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as _classPrivateFieldInitSpec, n as _classPrivateFieldSet2, r as _assertClassBrand, t as _classPrivateFieldGet2 } from "./classPrivateFieldGet2-DZBYAB34.js";
|
|
2
2
|
import { t as _classPrivateMethodInitSpec } from "./classPrivateMethodInitSpec-qMjJ6sHQ.js";
|
|
3
|
-
import { a as
|
|
4
|
-
import {
|
|
3
|
+
import { C as isDynamicRouteId, S as isRetryableStatus, _ as isGatewayErrorEnvelope, a as normalizeChatCompletion, b as classifyStatus, f as createTransport$1, g as headersToObject, h as errorFromResponse$1, i as normalizeChatCompletionsStream, m as errorFromGatewayEnvelope$1, n as imageMediaTypeOf, o as prepareChatCompletionsRequest, p as definedHeaders, r as sseDataStream, t as buildImageInput, u as requireGatewayProvider, v as unwrapEnvelope$1, w as isRunPathLanguageModelId, x as isAbortError, y as CloudflareAIError$1 } from "./images-C4hiIexM.js";
|
|
4
|
+
import { a as parseModelOptions, i as mergeModelOptions, n as PROVIDER_OPTIONS_KEY, o as resolveOptions, r as gatewayLayerOf } from "./settings-BjAiPd6Z.js";
|
|
5
5
|
import { APICallError, TooManyEmbeddingValuesForCallError } from "@ai-sdk/provider";
|
|
6
6
|
//#region src/models/ai-sdk/errors.ts
|
|
7
7
|
/** The provider packages worth naming when someone passes a vendor id. */
|
|
@@ -24,10 +24,10 @@ const VENDOR_PACKAGES = {
|
|
|
24
24
|
* this provider knows; a third-party model is a model object built by that
|
|
25
25
|
* vendor's own provider package.
|
|
26
26
|
*/
|
|
27
|
-
function notAWorkersAIId(modelId) {
|
|
27
|
+
function notAWorkersAIId(modelId, accepts = "workers-ai") {
|
|
28
28
|
const vendor = VENDOR_PACKAGES[modelId.split("/")[0] ?? ""];
|
|
29
29
|
const advice = vendor === void 0 ? "install its AI SDK provider package and pass the model object, e.g. ai(anthropic(\"claude-opus-4-8\"))" : `install ${vendor.package} and pass the model object: ai(${vendor.call})`;
|
|
30
|
-
return /* @__PURE__ */ new TypeError(`"${modelId}" is not a Workers AI model id. Workers AI ids start with "@cf/", and they are the only ids this provider takes: a third-party model goes through its own provider and is only routed by AI Gateway — ${advice}.`);
|
|
30
|
+
return /* @__PURE__ */ new TypeError(`"${modelId}" is not a Workers AI model id. Workers AI ids start with "@cf/"${accepts === "workers-ai-or-route" ? " (and AI Gateway dynamic routes with \"dynamic/\")" : ""}, and they are the only ids this provider takes: a third-party model goes through its own provider and is only routed by AI Gateway — ${advice}.`);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* The gate every string that names a model passes through, wherever it enters
|
|
@@ -36,10 +36,20 @@ function notAWorkersAIId(modelId) {
|
|
|
36
36
|
* the line that supplied the id rather than at the request it would have made.
|
|
37
37
|
*/
|
|
38
38
|
function requireWorkersAIId(modelId) {
|
|
39
|
+
if (isDynamicRouteId(modelId)) throw new TypeError(`"${modelId}" is an AI Gateway dynamic route, and a dynamic route is a chat model: it answers in the chat-completions shape. Use it as ai("${modelId}"); the embedding, image, speech, transcription and reranking methods take "@cf/" ids.`);
|
|
39
40
|
if (!modelId.startsWith("@cf/")) throw notAWorkersAIId(modelId);
|
|
40
41
|
return modelId;
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
44
|
+
* The gate for ids that name a language model: a Workers AI id, or an AI
|
|
45
|
+
* Gateway dynamic route. Both run on `env.AI.run`; any other string is a
|
|
46
|
+
* vendor id, which is never a string here.
|
|
47
|
+
*/
|
|
48
|
+
function requireLanguageModelId(modelId) {
|
|
49
|
+
if (!isRunPathLanguageModelId(modelId)) throw notAWorkersAIId(modelId, "workers-ai-or-route");
|
|
50
|
+
return modelId;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
43
53
|
* Error thrown for every failed Cloudflare AI call, whether it came back as a
|
|
44
54
|
* non-2xx `Response` or as a thrown Workers AI binding error.
|
|
45
55
|
*
|
|
@@ -117,6 +127,19 @@ function fallbackLegs(model, call) {
|
|
|
117
127
|
* @experimental This surface is experimental and may change.
|
|
118
128
|
*/
|
|
119
129
|
function parseCallOptions(providerOptions) {
|
|
130
|
+
const options = parseModelOptions(providerOptions?.[PROVIDER_OPTIONS_KEY]);
|
|
131
|
+
for (const leg of options?.fallback ?? []) requireLanguageModelId(leg);
|
|
132
|
+
return options;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Per-call options for the modality models — embedding, image, speech,
|
|
136
|
+
* transcription, reranking. The same bag as {@link parseCallOptions}, but a
|
|
137
|
+
* fallback leg must be a Workers AI id: a dynamic route answers in the
|
|
138
|
+
* chat-completions shape, which none of those models can read.
|
|
139
|
+
*
|
|
140
|
+
* @experimental This surface is experimental and may change.
|
|
141
|
+
*/
|
|
142
|
+
function parseModalityCallOptions(providerOptions) {
|
|
120
143
|
const options = parseModelOptions(providerOptions?.[PROVIDER_OPTIONS_KEY]);
|
|
121
144
|
for (const leg of options?.fallback ?? []) requireWorkersAIId(leg);
|
|
122
145
|
return options;
|
|
@@ -489,7 +512,7 @@ var CloudflareEmbeddingModel = class {
|
|
|
489
512
|
provider: this.provider,
|
|
490
513
|
values: options.values
|
|
491
514
|
});
|
|
492
|
-
const resolved = resolveOptions(_classPrivateFieldGet2(_config$3, this).providerGateway, _classPrivateFieldGet2(_options$3, this),
|
|
515
|
+
const resolved = resolveOptions(_classPrivateFieldGet2(_config$3, this).providerGateway, _classPrivateFieldGet2(_options$3, this), parseModalityCallOptions(options.providerOptions));
|
|
493
516
|
const input = { text: options.values };
|
|
494
517
|
const transport = _classPrivateFieldGet2(_config$3, this).transport;
|
|
495
518
|
return withFallback(this.modelId, resolved.fallback, transport.url, async (modelId) => {
|
|
@@ -1394,7 +1417,7 @@ function _withFallback$1(call, runLeg, runSelf, mode = "generate") {
|
|
|
1394
1417
|
model: this.modelId,
|
|
1395
1418
|
run: () => runSelf(this.modelId)
|
|
1396
1419
|
}, ...legs.map((leg) => typeof leg === "string" ? {
|
|
1397
|
-
model:
|
|
1420
|
+
model: requireLanguageModelId(leg),
|
|
1398
1421
|
run: () => runSelf(leg)
|
|
1399
1422
|
} : {
|
|
1400
1423
|
model: leg.modelId,
|
|
@@ -1465,12 +1488,13 @@ function universalQuery(body) {
|
|
|
1465
1488
|
}
|
|
1466
1489
|
}
|
|
1467
1490
|
/**
|
|
1468
|
-
* The vendor's own request headers, minus the
|
|
1469
|
-
*
|
|
1491
|
+
* The vendor's own request headers, minus the length of a body we are about
|
|
1492
|
+
* to re-serialize, and minus the vendor's credential unless the model asked
|
|
1493
|
+
* for it to be forwarded.
|
|
1470
1494
|
*/
|
|
1471
|
-
function forwardedHeaders(init, input, route) {
|
|
1495
|
+
function forwardedHeaders(init, input, route, vendorKey) {
|
|
1472
1496
|
const source = init?.headers ?? (input instanceof Request ? input.headers : void 0);
|
|
1473
|
-
const dropped = /* @__PURE__ */ new Set([...route.authHeaders, "content-length"]);
|
|
1497
|
+
const dropped = /* @__PURE__ */ new Set([...vendorKey === "request" ? [] : route.authHeaders, "content-length"]);
|
|
1474
1498
|
const headers = {};
|
|
1475
1499
|
new Headers(source).forEach((value, key) => {
|
|
1476
1500
|
if (!dropped.has(key.toLowerCase())) headers[key] = value;
|
|
@@ -1504,7 +1528,7 @@ function routedFetch(context) {
|
|
|
1504
1528
|
endpoint: route.endpoint,
|
|
1505
1529
|
...Object.keys(extraHeaders).length > 0 ? { extraHeaders } : {},
|
|
1506
1530
|
gateway: resolved.gateway,
|
|
1507
|
-
headers: forwardedHeaders(init, input, route),
|
|
1531
|
+
headers: forwardedHeaders(init, input, route, context.vendorKey),
|
|
1508
1532
|
provider: route.provider,
|
|
1509
1533
|
query,
|
|
1510
1534
|
signal: init?.signal ?? (input instanceof Request ? input.signal : void 0) ?? context.signal
|
|
@@ -1709,7 +1733,8 @@ function _route(resolved, capture, signal) {
|
|
|
1709
1733
|
capture,
|
|
1710
1734
|
config: _classPrivateFieldGet2(_config$1, this),
|
|
1711
1735
|
resolved,
|
|
1712
|
-
signal
|
|
1736
|
+
signal,
|
|
1737
|
+
vendorKey: _classPrivateFieldGet2(_options$1, this)?.vendorKey ?? "gateway"
|
|
1713
1738
|
}));
|
|
1714
1739
|
}
|
|
1715
1740
|
function _resolve(call) {
|
|
@@ -1752,7 +1777,7 @@ function _withFallback(call, runLeg, run, mode = "generate") {
|
|
|
1752
1777
|
}
|
|
1753
1778
|
/** A Workers AI leg, carrying this model's gateway options but no chain. */
|
|
1754
1779
|
function _workersAI(modelId) {
|
|
1755
|
-
return new CloudflareLanguageModel(
|
|
1780
|
+
return new CloudflareLanguageModel(requireLanguageModelId(modelId), {
|
|
1756
1781
|
..._classPrivateFieldGet2(_options$1, this),
|
|
1757
1782
|
fallback: void 0
|
|
1758
1783
|
}, _classPrivateFieldGet2(_config$1, this));
|
|
@@ -1779,7 +1804,8 @@ function routed(model, options, config) {
|
|
|
1779
1804
|
capture,
|
|
1780
1805
|
config,
|
|
1781
1806
|
resolved,
|
|
1782
|
-
signal: call?.abortSignal
|
|
1807
|
+
signal: call?.abortSignal,
|
|
1808
|
+
vendorKey: options?.vendorKey ?? "gateway"
|
|
1783
1809
|
}));
|
|
1784
1810
|
const result = await Reflect.get(clone, property).call(clone, upstream);
|
|
1785
1811
|
if (result === null || typeof result !== "object") return result;
|
|
@@ -1843,7 +1869,7 @@ var CloudflareModalityModel = class {
|
|
|
1843
1869
|
* as JSON or as raw bytes depending on what the model sent back.
|
|
1844
1870
|
*/
|
|
1845
1871
|
async send(call) {
|
|
1846
|
-
const resolved = resolveOptions(_classPrivateFieldGet2(_config, this).providerGateway, _classPrivateFieldGet2(_options, this),
|
|
1872
|
+
const resolved = resolveOptions(_classPrivateFieldGet2(_config, this).providerGateway, _classPrivateFieldGet2(_options, this), parseModalityCallOptions(call.providerOptions));
|
|
1847
1873
|
const transport = _classPrivateFieldGet2(_config, this).transport;
|
|
1848
1874
|
return withFallback(this.modelId, resolved.fallback, transport.url, async (modelId) => {
|
|
1849
1875
|
const request = call.build(modelId);
|
|
@@ -2397,7 +2423,7 @@ function createAI(settings) {
|
|
|
2397
2423
|
const inherited = gatewayLayerOf(options);
|
|
2398
2424
|
return {
|
|
2399
2425
|
...options,
|
|
2400
|
-
fallback: options.fallback.map((leg) => typeof leg === "string" ?
|
|
2426
|
+
fallback: options.fallback.map((leg) => typeof leg === "string" ? requireLanguageModelId(leg) : languageModel(leg, inherited))
|
|
2401
2427
|
};
|
|
2402
2428
|
};
|
|
2403
2429
|
function languageModel(model, options) {
|
|
@@ -2413,7 +2439,7 @@ function createAI(settings) {
|
|
|
2413
2439
|
}
|
|
2414
2440
|
return new GatewayLanguageModel(model, resolved, config);
|
|
2415
2441
|
}
|
|
2416
|
-
return new CloudflareLanguageModel(
|
|
2442
|
+
return new CloudflareLanguageModel(requireLanguageModelId(model), resolved, config);
|
|
2417
2443
|
}
|
|
2418
2444
|
const embedding = (modelId, options) => new CloudflareEmbeddingModel(modelId, options, config);
|
|
2419
2445
|
const image = (modelId, options) => new CloudflareImageModel(modelId, options, config);
|
|
@@ -2441,4 +2467,4 @@ function createAI(settings) {
|
|
|
2441
2467
|
//#endregion
|
|
2442
2468
|
export { GatewayLanguageModel as n, CloudflareAIError as r, createAI as t };
|
|
2443
2469
|
|
|
2444
|
-
//# sourceMappingURL=ai-sdk-
|
|
2470
|
+
//# sourceMappingURL=ai-sdk-C2iTAwUd.js.map
|