@effect-agent/platform-cloudflare 0.1.0-beta.25 → 0.1.0-beta.26
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/index.d.mts +8 -29
- package/dist/index.mjs +40 -60
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
- package/src/code-mode-executor.ts +31 -82
package/dist/index.d.mts
CHANGED
|
@@ -5,7 +5,7 @@ import { AgentInputError, ConversationId } from "@effect-agent/core";
|
|
|
5
5
|
import { RunContextPreparation } from "@effect-agent/engine";
|
|
6
6
|
import { DurableObjectState as DurableObjectState$1, WorkerEnvironment } from "effect-cf";
|
|
7
7
|
import { CodeExecutor, SandboxImplementation } from "@effect-agent/sandbox";
|
|
8
|
-
import { DurableObject as DurableObject$1
|
|
8
|
+
import { DurableObject as DurableObject$1 } from "cloudflare:workers";
|
|
9
9
|
//#region src/bindings.d.ts
|
|
10
10
|
declare const CloudflareBindingError_base: Schema.Class<CloudflareBindingError, Schema.TaggedStruct<"CloudflareBindingError", {
|
|
11
11
|
readonly binding: Schema.String;
|
|
@@ -1603,45 +1603,24 @@ declare const makeConversationObjectClass: <EventLayerError = never, EventServic
|
|
|
1603
1603
|
* The Cloudflare Dynamic Worker `CodeExecutor` adapter (C4 of ADR-0017;
|
|
1604
1604
|
* DEPLOY-011). Each pass loads one fresh Worker through the Worker Loader
|
|
1605
1605
|
* with `globalOutbound: null`, so generated code has no ambient network,
|
|
1606
|
-
* bindings, or secrets; its only authority is the pass-scoped
|
|
1607
|
-
* routes back
|
|
1608
|
-
*
|
|
1609
|
-
*
|
|
1610
|
-
*
|
|
1611
|
-
*
|
|
1612
|
-
* isolate.
|
|
1606
|
+
* bindings, or secrets; its only authority is the pass-scoped RPC target that
|
|
1607
|
+
* routes back into the owning event's `CodeExecutionHost` service. Platform
|
|
1608
|
+
* CPU limits stop synchronous runaway programs; the executor-owned wall-clock
|
|
1609
|
+
* deadline interrupts asynchronously suspended passes. Deployment class `E`
|
|
1610
|
+
* only: the adapter records no persistent state and a later pass may run in a
|
|
1611
|
+
* completely different isolate.
|
|
1613
1612
|
*/
|
|
1614
1613
|
declare const dynamicWorkerImplementation: SandboxImplementation;
|
|
1615
|
-
/** The narrow host stub the dynamic worker receives (Workers RPC). */
|
|
1616
|
-
interface CodeModeHostStub {
|
|
1617
|
-
readonly call: (passId: string, hostCall: unknown) => Promise<unknown>;
|
|
1618
|
-
}
|
|
1619
|
-
/**
|
|
1620
|
-
* The host-side RPC target for dynamic workers. The application exposes it
|
|
1621
|
-
* from its Worker entry (`export { CodeModeHostEntrypoint }`) and hands the
|
|
1622
|
-
* adapter a same-instance stub — `ctx.exports.CodeModeHostEntrypoint()` in
|
|
1623
|
-
* production (a self service binding may reach a different instance and must
|
|
1624
|
-
* not be used there); tests bind it through Miniflare's `kCurrentWorker`.
|
|
1625
|
-
*/
|
|
1626
|
-
declare class CodeModeHostEntrypoint extends WorkerEntrypoint {
|
|
1627
|
-
call(passId: unknown, hostCall: unknown): Promise<unknown>;
|
|
1628
|
-
}
|
|
1629
1614
|
/** Dispose a Cloudflare RPC handle when the runtime supplies its untyped disposal hook. @internal */
|
|
1630
1615
|
declare const disposeRpcHandle: (handle: unknown) => Effect.Effect<void>;
|
|
1631
1616
|
interface DynamicWorkerCodeExecutorOptions {
|
|
1632
1617
|
/** The `worker_loader` binding. */
|
|
1633
1618
|
readonly loader: WorkerLoader;
|
|
1634
|
-
/**
|
|
1635
|
-
* A SAME-INSTANCE stub of `CodeModeHostEntrypoint`. In production create it
|
|
1636
|
-
* with `ctx.exports.CodeModeHostEntrypoint()`; a cross-instance stub would
|
|
1637
|
-
* dispatch host calls into an isolate without this pass's registry entry.
|
|
1638
|
-
*/
|
|
1639
|
-
readonly hostStub: CodeModeHostStub;
|
|
1640
1619
|
/** Compatibility date for dynamic workers; defaults to `2025-05-01`. */
|
|
1641
1620
|
readonly compatibilityDate?: string | undefined;
|
|
1642
1621
|
}
|
|
1643
1622
|
/** Layer building the Dynamic Worker `CodeExecutor` from resolved bindings. */
|
|
1644
1623
|
declare const dynamicWorkerCodeExecutorLayer: (options: DynamicWorkerCodeExecutorOptions) => Layer.Layer<CodeExecutor>;
|
|
1645
1624
|
//#endregion
|
|
1646
|
-
export { AbortRecorded, AdminExplainRequest, AdminFailed, AdminFailure, AdminResponse, AdminVerifyRequest, AdmissionLimitExceeded, ApprovalRecorded, AwaitProgressRequest, CLOUDFLARE_DATABASE_CAP_BYTES, CLOUDFLARE_RUNTIME_DEFAULTS, CancelProgressRequest, ClientAbortFailure, ClientApprovalFailure, ClientAwaitFailure, ClientObserveFailure, ClientProgressFailure, ClientSubmitFailure, ClientUnknownFailure, CloudflareAdmissionLimitsValue, CloudflareBindingError, CloudflareBindingSource, CloudflareBindingSourceContext, CloudflareConversationClient, CloudflareDurableRuntime, CloudflareDurableRuntimeConfig, CloudflareDurableRuntimeConfigValue, CloudflareDurableRuntimeInitializationError, CloudflareDurableRuntimeOptions, CloudflareDurableRuntimeServices, CloudflarePlatformConfigError, CloudflareRunContextLayer, CloudflareRunContextSource, CloudflareRuntimeSourceContext,
|
|
1625
|
+
export { AbortRecorded, AdminExplainRequest, AdminFailed, AdminFailure, AdminResponse, AdminVerifyRequest, AdmissionLimitExceeded, ApprovalRecorded, AwaitProgressRequest, CLOUDFLARE_DATABASE_CAP_BYTES, CLOUDFLARE_RUNTIME_DEFAULTS, CancelProgressRequest, ClientAbortFailure, ClientApprovalFailure, ClientAwaitFailure, ClientObserveFailure, ClientProgressFailure, ClientSubmitFailure, ClientUnknownFailure, CloudflareAdmissionLimitsValue, CloudflareBindingError, CloudflareBindingSource, CloudflareBindingSourceContext, CloudflareConversationClient, CloudflareDurableRuntime, CloudflareDurableRuntimeConfig, CloudflareDurableRuntimeConfigValue, CloudflareDurableRuntimeInitializationError, CloudflareDurableRuntimeOptions, CloudflareDurableRuntimeServices, CloudflarePlatformConfigError, CloudflareRunContextLayer, CloudflareRunContextSource, CloudflareRuntimeSourceContext, ConversationClientError, ConversationMaintenance, ConversationMaintenanceFailpoint, ConversationMaintenanceFailpointHandler, ConversationMaintenanceFailpointLocation, ConversationObjectClass, ConversationObjectIdentity, ConversationObjectInstance, ConversationObjectNamespace, ConversationObjectOptions, ConversationObjectPorts, ConversationObjectRpc, DEFAULT_MAX_DATABASE_BYTES, DurableAlarmError, DurableAlarmService, DurableObjectContext, DynamicWorkerCodeExecutorOptions, ExplainedRecovery, HostFailed, HostFailure, HostProtocolError, HostResponse, MaintenancePassFailure, MaintenancePassReport, ObligationsScanned, ObservePageRequest, ObservedPage, ProgressCancelled, ProgressObserved, ProgressWaitRegistry, RetryExecuted, SettlementReached, SubmitRequest, SubmitSucceeded, UnknownResolutionRecorded, VerifiedIntegrity, boundHostDiagnostic, cloudflareWakeSchedulerLayer, conversationNamespaceFromEnv, conversationNamespaceLayer, conversationPortTransportLayer, decodeAbortCommand, decodeAdminExplainRequest, decodeAdminResponse, decodeAdminVerifyRequest, decodeApprovalDecisionCommand, decodeAwaitProgressRequest, decodeCancelProgressRequest, decodeHostResponse, decodeObligationThresholds, decodeObservePageRequest, decodeReceipt, decodeRetryCommand, decodeSubmitRequest, decodeUnknownResolutionCommand, disposeRpcHandle, dynamicWorkerCodeExecutorLayer, dynamicWorkerImplementation, encodeAbortCommand, encodeAdminResponse, encodeApprovalDecisionCommand, encodeAwaitProgressRequest, encodeCancelProgressRequest, encodeHostResponse, encodeObservePageRequest, encodeReceipt, encodeSubmitRequest, encodeUnknownResolutionCommand, makeConversationObjectClass };
|
|
1647
1626
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { BrowserCrypto } from "@effect/platform-browser";
|
|
|
7
7
|
import { SqliteClient } from "@effect/sql-sqlite-do";
|
|
8
8
|
import { DurableObject, DurableObjectState, WorkerEnvironment } from "effect-cf";
|
|
9
9
|
import { CodeExecutionHost, CodeExecutionProtocolError, CodeExecutionResourceUse, CodeExecutionResult, CodeExecutionTimeoutError, CodeExecutor, CodeExecutorStartError, CodeExecutorTerminatedError, CodeExecutorUnsupportedError, CodeHostCall, CodeHostCallLimitError, CodeHostCallResult, CodeOutputLimitError, CodeProgramFailedError, CodeSourceError, SandboxImplementation } from "@effect-agent/sandbox";
|
|
10
|
-
import {
|
|
10
|
+
import { RpcTarget } from "cloudflare:workers";
|
|
11
11
|
//#region src/bindings.ts
|
|
12
12
|
/**
|
|
13
13
|
* Cloudflare platform bindings as Effect services (DEPLOY-010: "Cloudflare platform bindings
|
|
@@ -1386,37 +1386,32 @@ const makeConversationObjectClass = (options, observability) => {
|
|
|
1386
1386
|
* The Cloudflare Dynamic Worker `CodeExecutor` adapter (C4 of ADR-0017;
|
|
1387
1387
|
* DEPLOY-011). Each pass loads one fresh Worker through the Worker Loader
|
|
1388
1388
|
* with `globalOutbound: null`, so generated code has no ambient network,
|
|
1389
|
-
* bindings, or secrets; its only authority is the pass-scoped
|
|
1390
|
-
* routes back
|
|
1391
|
-
*
|
|
1392
|
-
*
|
|
1393
|
-
*
|
|
1394
|
-
*
|
|
1395
|
-
* isolate.
|
|
1389
|
+
* bindings, or secrets; its only authority is the pass-scoped RPC target that
|
|
1390
|
+
* routes back into the owning event's `CodeExecutionHost` service. Platform
|
|
1391
|
+
* CPU limits stop synchronous runaway programs; the executor-owned wall-clock
|
|
1392
|
+
* deadline interrupts asynchronously suspended passes. Deployment class `E`
|
|
1393
|
+
* only: the adapter records no persistent state and a later pass may run in a
|
|
1394
|
+
* completely different isolate.
|
|
1396
1395
|
*/
|
|
1397
1396
|
const dynamicWorkerImplementation = SandboxImplementation.make({
|
|
1398
1397
|
isolation: "isolated",
|
|
1399
1398
|
identity: "cloudflare-dynamic-worker"
|
|
1400
1399
|
});
|
|
1401
1400
|
/**
|
|
1402
|
-
*
|
|
1403
|
-
*
|
|
1404
|
-
* `
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
/**
|
|
1408
|
-
* The host-side RPC target for dynamic workers. The application exposes it
|
|
1409
|
-
* from its Worker entry (`export { CodeModeHostEntrypoint }`) and hands the
|
|
1410
|
-
* adapter a same-instance stub — `ctx.exports.CodeModeHostEntrypoint()` in
|
|
1411
|
-
* production (a self service binding may reach a different instance and must
|
|
1412
|
-
* not be used there); tests bind it through Miniflare's `kCurrentWorker`.
|
|
1401
|
+
* One object-capability endpoint for one execution pass. Workers RPC invokes
|
|
1402
|
+
* the target in the request context where it was created, so the native
|
|
1403
|
+
* Promise returned by `dispatch` and the Effect fiber that settles it share
|
|
1404
|
+
* one I/O owner. Passing the target as `run()`'s argument also scopes the
|
|
1405
|
+
* remote stub to that RPC call; no request state lives at module scope.
|
|
1413
1406
|
*/
|
|
1414
|
-
var
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1407
|
+
var CodeModePassHostTarget = class extends RpcTarget {
|
|
1408
|
+
#dispatch;
|
|
1409
|
+
constructor(dispatch) {
|
|
1410
|
+
super();
|
|
1411
|
+
this.#dispatch = dispatch;
|
|
1412
|
+
}
|
|
1413
|
+
call(hostCall) {
|
|
1414
|
+
return this.#dispatch(hostCall);
|
|
1420
1415
|
}
|
|
1421
1416
|
};
|
|
1422
1417
|
/**
|
|
@@ -1451,9 +1446,8 @@ const safeJson = (value) => {
|
|
|
1451
1446
|
};
|
|
1452
1447
|
|
|
1453
1448
|
export default class CodeModeHarness extends WorkerEntrypoint {
|
|
1454
|
-
async run() {
|
|
1449
|
+
async run(host) {
|
|
1455
1450
|
const config = this.env.CODE_MODE_PASS;
|
|
1456
|
-
const host = this.env.CODE_MODE_HOST;
|
|
1457
1451
|
const limits = config.limits;
|
|
1458
1452
|
const logs = [];
|
|
1459
1453
|
let logBytes = 0;
|
|
@@ -1491,7 +1485,7 @@ export default class CodeModeHarness extends WorkerEntrypoint {
|
|
|
1491
1485
|
};
|
|
1492
1486
|
throw new Error("code-mode host-call argument limit exceeded");
|
|
1493
1487
|
}
|
|
1494
|
-
const outcome = await host.call(
|
|
1488
|
+
const outcome = await host.call({
|
|
1495
1489
|
namespace,
|
|
1496
1490
|
method,
|
|
1497
1491
|
argument: JSON.parse(argText),
|
|
@@ -1616,7 +1610,6 @@ const HarnessOutcome = Schema.Union([
|
|
|
1616
1610
|
HarnessProtocol
|
|
1617
1611
|
]);
|
|
1618
1612
|
const HarnessPassConfig = Schema.Struct({
|
|
1619
|
-
passId: Schema.NonEmptyString,
|
|
1620
1613
|
namespaces: Schema.Array(Schema.Struct({
|
|
1621
1614
|
name: Schema.NonEmptyString,
|
|
1622
1615
|
methods: Schema.Array(Schema.NonEmptyString).check(Schema.isMaxLength(64))
|
|
@@ -1684,7 +1677,7 @@ const utf8ByteLength = (value) => {
|
|
|
1684
1677
|
};
|
|
1685
1678
|
/** Reserved global names the harness owns inside the dynamic worker. */
|
|
1686
1679
|
const reservedHarnessGlobals = /* @__PURE__ */ new Set(["console"]);
|
|
1687
|
-
const makeExecute = (options,
|
|
1680
|
+
const makeExecute = (options, clock) => Effect.fn("DynamicWorkerCodeExecutor.execute")(function* (request) {
|
|
1688
1681
|
if (request.network._tag !== "NetworkDisabled") return yield* CodeExecutorUnsupportedError.make({
|
|
1689
1682
|
implementation: dynamicWorkerImplementation,
|
|
1690
1683
|
feature: "network",
|
|
@@ -1702,11 +1695,6 @@ const makeExecute = (options, crypto, clock) => Effect.fn("DynamicWorkerCodeExec
|
|
|
1702
1695
|
message: `Namespace ${namespace.name} collides with a harness binding`
|
|
1703
1696
|
});
|
|
1704
1697
|
const host = yield* CodeExecutionHost;
|
|
1705
|
-
const passId = yield* crypto.randomUUIDv4.pipe(Effect.mapError((cause) => CodeExecutorStartError.make({
|
|
1706
|
-
implementation: dynamicWorkerImplementation,
|
|
1707
|
-
message: `Could not mint the Code Mode pass identity: ${safeCauseMessage(cause, "the crypto service failed without a diagnostic")}`.slice(0, 8e3),
|
|
1708
|
-
cause
|
|
1709
|
-
})), Effect.map((uuid) => `code-mode-pass-${uuid}`));
|
|
1710
1698
|
const startedAt = clock.monotonicTimeNanosUnsafe();
|
|
1711
1699
|
const passDeadline = startedAt + Duration.toNanosUnsafe(request.limits.maxWallTime);
|
|
1712
1700
|
const remainingPassWallTime = () => {
|
|
@@ -1821,12 +1809,9 @@ const makeExecute = (options, crypto, clock) => Effect.fn("DynamicWorkerCodeExec
|
|
|
1821
1809
|
};
|
|
1822
1810
|
const closeAdmission = Effect.sync(() => {
|
|
1823
1811
|
passOpen = false;
|
|
1824
|
-
passRegistry.delete(passId);
|
|
1825
1812
|
rejectQueuedHostCalls(/* @__PURE__ */ new Error("Code Mode pass is closing"));
|
|
1826
1813
|
});
|
|
1827
|
-
yield* Effect.
|
|
1828
|
-
passRegistry.set(passId, { dispatch });
|
|
1829
|
-
}), () => closeAdmission.pipe(Effect.andThen(Fiber.interrupt(server))));
|
|
1814
|
+
yield* Effect.addFinalizer(() => closeAdmission.pipe(Effect.andThen(Fiber.interrupt(server))));
|
|
1830
1815
|
const workerCode = {
|
|
1831
1816
|
compatibilityDate: options.compatibilityDate ?? "2025-05-01",
|
|
1832
1817
|
mainModule: "harness.js",
|
|
@@ -1834,22 +1819,18 @@ const makeExecute = (options, crypto, clock) => Effect.fn("DynamicWorkerCodeExec
|
|
|
1834
1819
|
"harness.js": HARNESS_MODULE,
|
|
1835
1820
|
"program.js": `export default (\n${request.source}\n);`
|
|
1836
1821
|
},
|
|
1837
|
-
env: {
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
maxHostCallArgumentBytes: request.limits.maxHostCallArgumentBytes
|
|
1850
|
-
}
|
|
1851
|
-
})
|
|
1852
|
-
},
|
|
1822
|
+
env: { CODE_MODE_PASS: encodeHarnessPassConfig({
|
|
1823
|
+
namespaces: request.namespaces.map((namespace) => ({
|
|
1824
|
+
name: namespace.name,
|
|
1825
|
+
methods: namespace.methods
|
|
1826
|
+
})),
|
|
1827
|
+
limits: {
|
|
1828
|
+
maxLogBytes: request.limits.maxLogBytes,
|
|
1829
|
+
maxResultBytes: request.limits.maxResultBytes,
|
|
1830
|
+
maxHostCalls: request.limits.maxHostCalls,
|
|
1831
|
+
maxHostCallArgumentBytes: request.limits.maxHostCallArgumentBytes
|
|
1832
|
+
}
|
|
1833
|
+
}) },
|
|
1853
1834
|
globalOutbound: null,
|
|
1854
1835
|
...request.limits.cpuMillis === void 0 ? {} : { limits: {
|
|
1855
1836
|
cpuMs: request.limits.cpuMillis,
|
|
@@ -1877,7 +1858,7 @@ const makeExecute = (options, crypto, clock) => Effect.fn("DynamicWorkerCodeExec
|
|
|
1877
1858
|
catch: (cause) => classifyWorkerFailure(cause, request.limits.maxWallTime)
|
|
1878
1859
|
}), disposeRpcHandle);
|
|
1879
1860
|
const rpc = Effect.tryPromise({
|
|
1880
|
-
try: () => entrypoint.run(),
|
|
1861
|
+
try: () => entrypoint.run(new CodeModePassHostTarget(dispatch)),
|
|
1881
1862
|
catch: (cause) => classifyWorkerFailure(cause, request.limits.maxWallTime)
|
|
1882
1863
|
});
|
|
1883
1864
|
const exit = yield* Effect.raceFirst(rpc.pipe(Effect.timeoutOrElse({
|
|
@@ -1991,11 +1972,10 @@ const classifyWorkerFailure = (cause, maxWallTime) => {
|
|
|
1991
1972
|
};
|
|
1992
1973
|
/** Layer building the Dynamic Worker `CodeExecutor` from resolved bindings. */
|
|
1993
1974
|
const dynamicWorkerCodeExecutorLayer = (options) => Layer.effect(CodeExecutor, Effect.gen(function* () {
|
|
1994
|
-
const crypto = yield* Crypto.Crypto;
|
|
1995
1975
|
const clock = yield* Clock.Clock;
|
|
1996
|
-
return CodeExecutor.of({ execute: makeExecute(options,
|
|
1997
|
-
}))
|
|
1976
|
+
return CodeExecutor.of({ execute: makeExecute(options, clock) });
|
|
1977
|
+
}));
|
|
1998
1978
|
//#endregion
|
|
1999
|
-
export { AbortRecorded, AdminExplainRequest, AdminFailed, AdminFailure, AdminResponse, AdminVerifyRequest, AdmissionLimitExceeded, ApprovalRecorded, AwaitProgressRequest, CLOUDFLARE_DATABASE_CAP_BYTES, CLOUDFLARE_RUNTIME_DEFAULTS, CancelProgressRequest, CloudflareAdmissionLimitsValue, CloudflareBindingError, CloudflareConversationClient, CloudflareDurableRuntime, CloudflareDurableRuntimeConfig, CloudflareDurableRuntimeConfigValue, CloudflarePlatformConfigError,
|
|
1979
|
+
export { AbortRecorded, AdminExplainRequest, AdminFailed, AdminFailure, AdminResponse, AdminVerifyRequest, AdmissionLimitExceeded, ApprovalRecorded, AwaitProgressRequest, CLOUDFLARE_DATABASE_CAP_BYTES, CLOUDFLARE_RUNTIME_DEFAULTS, CancelProgressRequest, CloudflareAdmissionLimitsValue, CloudflareBindingError, CloudflareConversationClient, CloudflareDurableRuntime, CloudflareDurableRuntimeConfig, CloudflareDurableRuntimeConfigValue, CloudflarePlatformConfigError, ConversationClientError, ConversationMaintenance, ConversationMaintenanceFailpoint, ConversationObjectIdentity, ConversationObjectNamespace, ConversationObjectPorts, DEFAULT_MAX_DATABASE_BYTES, DurableAlarmError, DurableAlarmService, DurableObjectContext, ExplainedRecovery, HostFailed, HostFailure, HostProtocolError, HostResponse, MaintenancePassReport, ObligationsScanned, ObservePageRequest, ObservedPage, ProgressCancelled, ProgressObserved, ProgressWaitRegistry, RetryExecuted, SettlementReached, SubmitRequest, SubmitSucceeded, UnknownResolutionRecorded, VerifiedIntegrity, boundHostDiagnostic, cloudflareWakeSchedulerLayer, conversationNamespaceFromEnv, conversationNamespaceLayer, conversationPortTransportLayer, decodeAbortCommand, decodeAdminExplainRequest, decodeAdminResponse, decodeAdminVerifyRequest, decodeApprovalDecisionCommand, decodeAwaitProgressRequest, decodeCancelProgressRequest, decodeHostResponse, decodeObligationThresholds, decodeObservePageRequest, decodeReceipt, decodeRetryCommand, decodeSubmitRequest, decodeUnknownResolutionCommand, disposeRpcHandle, dynamicWorkerCodeExecutorLayer, dynamicWorkerImplementation, encodeAbortCommand, encodeAdminResponse, encodeApprovalDecisionCommand, encodeAwaitProgressRequest, encodeCancelProgressRequest, encodeHostResponse, encodeObservePageRequest, encodeReceipt, encodeSubmitRequest, encodeUnknownResolutionCommand, makeConversationObjectClass };
|
|
2000
1980
|
|
|
2001
1981
|
//# sourceMappingURL=index.mjs.map
|