@effect-agent/platform-cloudflare 0.1.0-beta.8 → 0.1.0-beta.81
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/Alarm.d.mts +184 -0
- package/dist/Alarm.mjs +451 -0
- package/dist/Alarm.mjs.map +1 -0
- package/dist/BrowserRestCapture.d.mts +35 -0
- package/dist/BrowserRestCapture.mjs +238 -0
- package/dist/BrowserRestCapture.mjs.map +1 -0
- package/dist/BrowserRestCrawl.d.mts +17 -0
- package/dist/BrowserRestCrawl.mjs +244 -0
- package/dist/BrowserRestCrawl.mjs.map +1 -0
- package/dist/CloudflareAiGateway.d.mts +64 -0
- package/dist/CloudflareAiGateway.mjs +70 -0
- package/dist/CloudflareAiGateway.mjs.map +1 -0
- package/dist/CloudflareBindings.d.mts +112 -0
- package/dist/CloudflareBindings.mjs +101 -0
- package/dist/CloudflareBindings.mjs.map +1 -0
- package/dist/CloudflareBrowser-D4YqaTAl.mjs +495 -0
- package/dist/CloudflareBrowser-D4YqaTAl.mjs.map +1 -0
- package/dist/CloudflareBrowser-DJq53niJ.d.mts +80 -0
- package/dist/CloudflareBrowser.d.mts +2 -0
- package/dist/CloudflareBrowser.mjs +2 -0
- package/dist/CloudflareCodeMode.d.mts +44 -0
- package/dist/CloudflareCodeMode.mjs +616 -0
- package/dist/CloudflareCodeMode.mjs.map +1 -0
- package/dist/CloudflareConfig-f3CqTel1.d.mts +101 -0
- package/dist/CloudflareConfig.d.mts +2 -0
- package/dist/CloudflareConfig.mjs +122 -0
- package/dist/CloudflareConfig.mjs.map +1 -0
- package/dist/CloudflareMemory.d.mts +142 -0
- package/dist/CloudflareMemory.mjs +195 -0
- package/dist/CloudflareMemory.mjs.map +1 -0
- package/dist/CloudflareScheduling.d.mts +52 -0
- package/dist/CloudflareScheduling.mjs +389 -0
- package/dist/CloudflareScheduling.mjs.map +1 -0
- package/dist/CloudflareSubscriptions.d.mts +87 -0
- package/dist/CloudflareSubscriptions.mjs +524 -0
- package/dist/CloudflareSubscriptions.mjs.map +1 -0
- package/dist/CloudflareThreadClient.d.mts +1286 -0
- package/dist/CloudflareThreadClient.mjs +386 -0
- package/dist/CloudflareThreadClient.mjs.map +1 -0
- package/dist/InteractiveBrowser.d.mts +144 -0
- package/dist/InteractiveBrowser.mjs +1090 -0
- package/dist/InteractiveBrowser.mjs.map +1 -0
- package/dist/ProtectedBrowser.d.mts +65 -0
- package/dist/ProtectedBrowser.mjs +859 -0
- package/dist/ProtectedBrowser.mjs.map +1 -0
- package/dist/ThreadObject-BpwkEc5E.mjs +836 -0
- package/dist/ThreadObject-BpwkEc5E.mjs.map +1 -0
- package/dist/ThreadObject-NbFOWK1I.d.mts +816 -0
- package/dist/ThreadObject.d.mts +2 -0
- package/dist/ThreadObject.mjs +3 -0
- package/dist/WakeScheduler.d.mts +23 -0
- package/dist/WakeScheduler.mjs +60 -0
- package/dist/WakeScheduler.mjs.map +1 -0
- package/dist/boundary-BguazVkh.mjs +42 -0
- package/dist/boundary-BguazVkh.mjs.map +1 -0
- package/dist/browser-session-lifecycle-CUbVfEgP.mjs +84 -0
- package/dist/browser-session-lifecycle-CUbVfEgP.mjs.map +1 -0
- package/dist/browser-session-lifecycle-DJpqLXy_.d.mts +21 -0
- package/dist/index.d.mts +13 -1547
- package/dist/index.mjs +13 -1636
- package/dist/prepared-admission-DSi55W-7.mjs +73 -0
- package/dist/prepared-admission-DSi55W-7.mjs.map +1 -0
- package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/package.json +1 -53
- package/src/Alarm.ts +967 -0
- package/src/BrowserRestCapture.ts +477 -0
- package/src/BrowserRestCrawl.ts +540 -0
- package/src/CloudflareAiGateway.ts +170 -0
- package/src/CloudflareBindings.ts +180 -0
- package/src/CloudflareBrowser.ts +15 -0
- package/src/{code-mode-executor.ts → CloudflareCodeMode.ts} +372 -204
- package/src/{config.ts → CloudflareConfig.ts} +9 -8
- package/src/CloudflareMemory.ts +406 -0
- package/src/CloudflareScheduling.ts +733 -0
- package/src/CloudflareSubscriptions.ts +1045 -0
- package/src/CloudflareThreadClient.ts +807 -0
- package/src/InteractiveBrowser.ts +2357 -0
- package/src/ProtectedBrowser.ts +2 -0
- package/src/ThreadObject.ts +1179 -0
- package/src/{wake-scheduler.ts → WakeScheduler.ts} +23 -23
- package/src/index.ts +12 -23
- package/src/internal/boundary.ts +55 -0
- package/src/internal/browser-quick-action.ts +857 -0
- package/src/internal/browser-session-lifecycle.ts +160 -0
- package/src/internal/layers.ts +751 -0
- package/src/internal/message-delivery.ts +148 -0
- package/src/internal/prepared-admission.ts +116 -0
- package/src/internal/progress-wait.ts +121 -0
- package/src/internal/transport.ts +42 -0
- package/src/protected-browser/binding.ts +187 -0
- package/src/protected-browser/inspect-frame.ts +125 -0
- package/src/protected-browser/native.ts +429 -0
- package/src/protected-browser/policy.ts +719 -0
- package/dist/index.mjs.map +0 -1
- package/src/alarm.ts +0 -334
- package/src/bindings.ts +0 -145
- package/src/client.ts +0 -646
- package/src/conversation-object.ts +0 -768
- package/src/layers.ts +0 -376
- package/src/transport.ts +0 -38
package/dist/index.d.mts
CHANGED
|
@@ -1,1547 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
* Cloudflare platform bindings as Effect services (DEPLOY-010: "Cloudflare platform bindings
|
|
15
|
-
* are supplied as Effect services/Layers"). Application code never reads `env` or touches a
|
|
16
|
-
* `DurableObjectState` directly — the Conversation Object class constructs these Layers once
|
|
17
|
-
* per incarnation and everything downstream consumes the services.
|
|
18
|
-
*/
|
|
19
|
-
/** A Cloudflare platform binding was missing or carried the wrong shape (DEPLOY-003/010). */
|
|
20
|
-
declare class CloudflareBindingError extends CloudflareBindingError_base {}
|
|
21
|
-
/**
|
|
22
|
-
* The RPC surface one Conversation Durable Object exposes to Workers and to sibling
|
|
23
|
-
* Conversation Objects. `makeConversationObjectClass` implements it; the Worker-side client
|
|
24
|
-
* and the cross-Object transport call it through `DurableObjectNamespace` stubs. Every
|
|
25
|
-
* `encoded` value is a Schema-encoded envelope (`client.ts` wire schemas for host entry
|
|
26
|
-
* points, `@effect-agent/storage-cloudflare` port envelopes for `portCall`), so the RPC
|
|
27
|
-
* boundary carries only structured-cloneable JSON.
|
|
28
|
-
*/
|
|
29
|
-
interface ConversationObjectRpc extends Rpc.DurableObjectBranded {
|
|
30
|
-
/** Admission-limits gate + `DurableAgentRuntime.submit`; answers a `SubmitResponse`. */
|
|
31
|
-
submitEncoded(encoded: unknown): Promise<unknown>;
|
|
32
|
-
/** Wake-hinted, poll-guaranteed settlement wait; answers an `AwaitSettlementResponse`. */
|
|
33
|
-
awaitSettlementEncoded(encoded: unknown): Promise<unknown>;
|
|
34
|
-
/** One bounded page of canonical records; answers an `ObservePageResponse`. */
|
|
35
|
-
observePage(encoded: unknown): Promise<unknown>;
|
|
36
|
-
/** Durable abort intent; answers an `AbortResponse`. */
|
|
37
|
-
abortEncoded(encoded: unknown): Promise<unknown>;
|
|
38
|
-
/** Durable approval decision (plan §2.6); answers a `ResolveApprovalResponse`. */
|
|
39
|
-
resolveApprovalEncoded(encoded: unknown): Promise<unknown>;
|
|
40
|
-
/** Authorized DUR-017 Unknown-Outcome resolution; answers a `ResolveUnknownResponse`. */
|
|
41
|
-
resolveUnknownEncoded(encoded: unknown): Promise<unknown>;
|
|
42
|
-
/** Owner-side cross-Object port endpoint (WP2 envelopes, executed on LOCAL facets). */
|
|
43
|
-
portCall(encoded: unknown): Promise<unknown>;
|
|
44
|
-
/** Droppable liveness hint from another Object: arms an immediate alarm. */
|
|
45
|
-
wake(): Promise<void>;
|
|
46
|
-
}
|
|
47
|
-
declare const ConversationObjectNamespace_base: Context.ServiceClass<ConversationObjectNamespace, "@effect-agent/platform-cloudflare/ConversationObjectNamespace", {
|
|
48
|
-
readonly namespace: DurableObjectNamespace<ConversationObjectRpc>;
|
|
49
|
-
}>;
|
|
50
|
-
/**
|
|
51
|
-
* The `DurableObjectNamespace` binding that addresses Conversation Objects. The Object
|
|
52
|
-
* identity rule is `namespace.idFromName(conversationId)` (plan §1.2): Conversation IDs are
|
|
53
|
-
* globally unique, so the mapping is total and deterministic and no directory service exists.
|
|
54
|
-
*/
|
|
55
|
-
declare class ConversationObjectNamespace extends ConversationObjectNamespace_base {
|
|
56
|
-
static layer(namespace: DurableObjectNamespace<ConversationObjectRpc>): Layer.Layer<ConversationObjectNamespace>;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Narrow one `env` member to a `DurableObjectNamespace`. `env` is an untyped platform value,
|
|
60
|
-
* and a namespace binding is a host object no Schema can decode, so this is the documented
|
|
61
|
-
* narrowest-boundary check (structural probe for the namespace surface the transport uses);
|
|
62
|
-
* a missing or misshaped binding fails typed before any Layer is built.
|
|
63
|
-
*/
|
|
64
|
-
declare const conversationNamespaceFromEnv: (env: unknown, binding: string) => Effect.Effect<DurableObjectNamespace<ConversationObjectRpc>, CloudflareBindingError>;
|
|
65
|
-
/** `ConversationObjectNamespace` built from the untyped Worker `env` (fails typed). */
|
|
66
|
-
declare const conversationNamespaceLayer: (env: unknown, binding: string) => Layer.Layer<ConversationObjectNamespace, CloudflareBindingError>;
|
|
67
|
-
declare const DurableObjectContext_base: Context.ServiceClass<DurableObjectContext, "@effect-agent/platform-cloudflare/DurableObjectContext", {
|
|
68
|
-
readonly ctx: DurableObjectState;
|
|
69
|
-
readonly env: unknown;
|
|
70
|
-
}>;
|
|
71
|
-
/**
|
|
72
|
-
* The live Durable Object execution context of THIS incarnation. Only Layer construction and
|
|
73
|
-
* the alarm service consume it; important state never lives on it (`ctx.storage` is truth,
|
|
74
|
-
* everything in memory is a cache — deployment spec §11).
|
|
75
|
-
*/
|
|
76
|
-
declare class DurableObjectContext extends DurableObjectContext_base {
|
|
77
|
-
static layer(ctx: DurableObjectState, env: unknown): Layer.Layer<DurableObjectContext>;
|
|
78
|
-
}
|
|
79
|
-
declare const ConversationObjectIdentity_base: Context.ServiceClass<ConversationObjectIdentity, "@effect-agent/platform-cloudflare/ConversationObjectIdentity", {
|
|
80
|
-
readonly conversationId: ConversationId;
|
|
81
|
-
readonly producerId: ProducerId;
|
|
82
|
-
}>;
|
|
83
|
-
/**
|
|
84
|
-
* The Conversation identity this Object serializes and the producer identity its Attempts
|
|
85
|
-
* write with (`{producerPrefix}:{conversationId}`, plan §1.4). Derived once per incarnation
|
|
86
|
-
* from `ctx.id.name` — the Object identity rule guarantees the name IS the Conversation ID.
|
|
87
|
-
*/
|
|
88
|
-
declare class ConversationObjectIdentity extends ConversationObjectIdentity_base {}
|
|
89
|
-
//#endregion
|
|
90
|
-
//#region src/config.d.ts
|
|
91
|
-
declare const CloudflarePlatformConfigError_base: Schema.Class<CloudflarePlatformConfigError, Schema.TaggedStruct<"CloudflarePlatformConfigError", {
|
|
92
|
-
readonly message: Schema.String;
|
|
93
|
-
readonly cause: Schema.optionalKey<Schema.Defect>;
|
|
94
|
-
}>, import("effect/Cause").YieldableError>;
|
|
95
|
-
/** The supplied Cloudflare durable runtime configuration failed validation (DEPLOY-003). */
|
|
96
|
-
declare class CloudflarePlatformConfigError extends CloudflarePlatformConfigError_base {}
|
|
97
|
-
declare const AdmissionLimitExceeded_base: Schema.Class<AdmissionLimitExceeded, Schema.TaggedStruct<"AdmissionLimitExceeded", {
|
|
98
|
-
readonly limit: Schema.Literals<readonly ["queue-depth", "input-bytes", "database-bytes"]>;
|
|
99
|
-
readonly actual: Schema.Int;
|
|
100
|
-
readonly maximum: Schema.Int;
|
|
101
|
-
}>, import("effect/Cause").YieldableError>;
|
|
102
|
-
/**
|
|
103
|
-
* An admission was refused by a host resource limit BEFORE any ledger row existed
|
|
104
|
-
* (deployment spec §8, DEPLOY-007: "Admission has explicit bounded quota and overload
|
|
105
|
-
* behavior... a typed rejection"). This is the DC analogue of `NodeDurableHost`'s
|
|
106
|
-
* `AdmissionClosed` host gate: the port surface stays untouched, the refusal happens in the
|
|
107
|
-
* Conversation Object's submit entry point before `DurableAgentRuntime.submit` runs, and
|
|
108
|
-
* nothing was admitted or written.
|
|
109
|
-
*/
|
|
110
|
-
declare class AdmissionLimitExceeded extends AdmissionLimitExceeded_base {
|
|
111
|
-
get message(): string;
|
|
112
|
-
}
|
|
113
|
-
/** The platform's hard per-Object database cap (10 GB, developers.cloudflare.com limits). */
|
|
114
|
-
declare const CLOUDFLARE_DATABASE_CAP_BYTES = 10000000000;
|
|
115
|
-
/** Default database-size admission ceiling: a 1 GB safety margin under the platform cap. */
|
|
116
|
-
declare const DEFAULT_MAX_DATABASE_BYTES = 9000000000;
|
|
117
|
-
declare const CloudflareAdmissionLimitsValue_base: Schema.Class<CloudflareAdmissionLimitsValue, Schema.Struct<{
|
|
118
|
-
/** Maximum nonterminal Submissions per Conversation lane before new admissions refuse. */
|
|
119
|
-
readonly maxQueueDepthPerLane: Schema.Int;
|
|
120
|
-
/** Maximum encoded input bytes; never above the storage per-value bound. */
|
|
121
|
-
readonly maxInputBytes: Schema.Int;
|
|
122
|
-
/** Maximum `ctx.storage.sql.databaseSize` at admission; stays under the 10 GB platform cap. */
|
|
123
|
-
readonly maxDatabaseBytes: Schema.Int;
|
|
124
|
-
}>, {}>;
|
|
125
|
-
/**
|
|
126
|
-
* Explicit bounded admission quotas checked by the Conversation Object BEFORE admission
|
|
127
|
-
* (exit gate "resource limits are checked before admission").
|
|
128
|
-
*/
|
|
129
|
-
declare class CloudflareAdmissionLimitsValue extends CloudflareAdmissionLimitsValue_base {}
|
|
130
|
-
declare const CloudflareDurableRuntimeConfigValue_base: Schema.Class<CloudflareDurableRuntimeConfigValue, Schema.Struct<{
|
|
131
|
-
readonly deploymentId: Schema.brand<Schema.NonEmptyString, "@effect-agent/session/DeploymentId">;
|
|
132
|
-
/** Head of the minted producer identity `{producerPrefix}:{conversationId}`. */
|
|
133
|
-
readonly producerPrefix: Schema.NonEmptyString;
|
|
134
|
-
/** Submission ownership lease duration (D5); fences work across Object incarnations. */
|
|
135
|
-
readonly ownershipLeaseDuration: Schema.Int;
|
|
136
|
-
/** Base delay of the alarm re-arm backoff when a pass makes no progress. */
|
|
137
|
-
readonly alarmBackoffBase: Schema.Int;
|
|
138
|
-
/** Ceiling of the alarm re-arm backoff. */
|
|
139
|
-
readonly alarmBackoffCap: Schema.Int;
|
|
140
|
-
/**
|
|
141
|
-
* The maintenance-pass scan cadence and the ceiling of every re-arm delay: nonterminal
|
|
142
|
-
* work is revisited at least this often (wake/scan pairing, persistence §14).
|
|
143
|
-
*/
|
|
144
|
-
readonly wakeScanInterval: Schema.Int;
|
|
145
|
-
/** `awaitSettlement` ledger re-check cadence when no wake arrives. */
|
|
146
|
-
readonly settlementPollInterval: Schema.Int;
|
|
147
|
-
/** Worker ownership-lease renewal cadence during an active Attempt. */
|
|
148
|
-
readonly leaseRenewalInterval: Schema.Int;
|
|
149
|
-
/** Active-Run abort-intent poll cadence. */
|
|
150
|
-
readonly abortPollInterval: Schema.Int;
|
|
151
|
-
/** Canonical observation poll cadence of the Durable Object store. */
|
|
152
|
-
readonly observationPollInterval: Schema.Int;
|
|
153
|
-
/** Per-value byte bound; must stay under the platform's 2 MB SQLite value limit. */
|
|
154
|
-
readonly maxStoredValueBytes: Schema.Int;
|
|
155
|
-
/** Opt-in full payload/digest-chain audit while opening the store. */
|
|
156
|
-
readonly verifyOnOpen: Schema.Boolean;
|
|
157
|
-
readonly limits: typeof CloudflareAdmissionLimitsValue;
|
|
158
|
-
}>, {}>;
|
|
159
|
-
/**
|
|
160
|
-
* Validated Cloudflare durable runtime configuration. The producer identity of one
|
|
161
|
-
* Conversation Object is `{producerPrefix}:{conversationId}` — stable across incarnations of
|
|
162
|
-
* the same deployment, distinct across deployments — and producer-epoch fencing (not the
|
|
163
|
-
* producer name) remains the correctness authority (DUR-006).
|
|
164
|
-
*/
|
|
165
|
-
declare class CloudflareDurableRuntimeConfigValue extends CloudflareDurableRuntimeConfigValue_base {}
|
|
166
|
-
declare const CloudflareDurableRuntimeConfig_base: Context.ServiceClass<CloudflareDurableRuntimeConfig, "@effect-agent/platform-cloudflare/CloudflareDurableRuntimeConfig", CloudflareDurableRuntimeConfigValue>;
|
|
167
|
-
/** Explicit configuration authority for the assembled Cloudflare durable runtime. */
|
|
168
|
-
declare class CloudflareDurableRuntimeConfig extends CloudflareDurableRuntimeConfig_base {}
|
|
169
|
-
/** Documented production defaults applied by `CloudflareDurableRuntime.layer`. */
|
|
170
|
-
declare const CLOUDFLARE_RUNTIME_DEFAULTS: {
|
|
171
|
-
readonly ownershipLeaseDuration: number;
|
|
172
|
-
readonly alarmBackoffBase: 100;
|
|
173
|
-
readonly alarmBackoffCap: 5000;
|
|
174
|
-
readonly wakeScanInterval: 1000;
|
|
175
|
-
readonly settlementPollInterval: 500;
|
|
176
|
-
readonly leaseRenewalInterval: 10000;
|
|
177
|
-
readonly abortPollInterval: 500;
|
|
178
|
-
readonly observationPollInterval: 25;
|
|
179
|
-
readonly maxStoredValueBytes: 1900000;
|
|
180
|
-
readonly verifyOnOpen: false;
|
|
181
|
-
readonly maxQueueDepthPerLane: 256;
|
|
182
|
-
readonly maxInputBytes: 1900000;
|
|
183
|
-
readonly maxDatabaseBytes: 9000000000;
|
|
184
|
-
};
|
|
185
|
-
//#endregion
|
|
186
|
-
//#region src/alarm.d.ts
|
|
187
|
-
declare const DurableAlarmError_base: Schema.Class<DurableAlarmError, Schema.TaggedStruct<"DurableAlarmError", {
|
|
188
|
-
readonly operation: Schema.String;
|
|
189
|
-
readonly message: Schema.String;
|
|
190
|
-
readonly cause: Schema.optionalKey<Schema.Defect>;
|
|
191
|
-
}>, import("effect/Cause").YieldableError>;
|
|
192
|
-
/**
|
|
193
|
-
* The single multiplexed Durable Object alarm (decision D-P6-2). A Durable Object has ONE
|
|
194
|
-
* alarm slot; every cadence the Node host ran on fibers (wake scan, lease expiry, settlement
|
|
195
|
-
* and abort re-checks, retry backoff) multiplexes into one idempotent maintenance pass, and
|
|
196
|
-
* the slot always holds the EARLIEST deadline any caller asked for.
|
|
197
|
-
*
|
|
198
|
-
* The alarm invariant (plan §1.4): committed nonterminal work implies a committed alarm.
|
|
199
|
-
* It is established by pre-arming — every mutating entry point and every pass arms the alarm
|
|
200
|
-
* BEFORE its durable mutations — so an eviction at any failpoint leaves a persisted alarm
|
|
201
|
-
* that workerd re-delivers to a fresh incarnation WITHOUT any incoming request. Spurious
|
|
202
|
-
* alarms are harmless by design: a pass over an all-settled lane simply deletes the slot.
|
|
203
|
-
*/
|
|
204
|
-
/** The Durable Object alarm API failed; surfaces on host entry points as a typed refusal. */
|
|
205
|
-
declare class DurableAlarmError extends DurableAlarmError_base {}
|
|
206
|
-
declare const DurableAlarmService_base: Context.ServiceClass<DurableAlarmService, "@effect-agent/platform-cloudflare/DurableAlarmService", {
|
|
207
|
-
/** The scheduled deadline in epoch milliseconds, if any. */
|
|
208
|
-
readonly scheduled: Effect.Effect<Option.Option<number>, DurableAlarmError>;
|
|
209
|
-
/** Replace the slot with this deadline. */
|
|
210
|
-
readonly scheduleAt: (epochMillis: number) => Effect.Effect<void, DurableAlarmError>;
|
|
211
|
-
/** Keep the EARLIER of the existing deadline and this one (the multiplexing rule). */
|
|
212
|
-
readonly ensureScheduledBy: (epochMillis: number) => Effect.Effect<void, DurableAlarmError>;
|
|
213
|
-
/**
|
|
214
|
-
* Arm an immediate alarm (the durable, coalescing local wake) — DEFERRED while a
|
|
215
|
-
* maintenance pass is executing. Workerd cancels an in-flight alarm handler when a new
|
|
216
|
-
* EARLIER deadline is written during its execution (`requestScheduledAlarm`), and the
|
|
217
|
-
* maintenance pass runs INSIDE the alarm handler: an immediate wake landing mid-pass
|
|
218
|
-
* (a routed port mutation, a sibling's `wake()`, the coordinator's own local notify)
|
|
219
|
-
* would kill the running Attempt — manufacturing an ownership loss no real eviction
|
|
220
|
-
* caused, and routing open uncertain-class Tool Calls into spurious Unknown Outcomes.
|
|
221
|
-
* Deferral is contract-safe: wakes are droppable hints, every mutating entry point
|
|
222
|
-
* pre-arms BEFORE its first durable mutation (the alarm invariant never rests on this
|
|
223
|
-
* call), and the deferred wake is flushed when the pass completes.
|
|
224
|
-
*/
|
|
225
|
-
readonly scheduleNow: Effect.Effect<void, DurableAlarmError>;
|
|
226
|
-
/**
|
|
227
|
-
* Run one maintenance pass with wake deferral (see `scheduleNow`): `scheduleNow` calls
|
|
228
|
-
* while `body` executes coalesce into one flag, flushed as an immediate re-arm after the
|
|
229
|
-
* pass — failures of the flush are logged and swallowed (hints are droppable; the pass's
|
|
230
|
-
* own re-arm policy already bounded the next delivery).
|
|
231
|
-
*/
|
|
232
|
-
readonly withWakesDeferred: <A, E, R>(body: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
233
|
-
/** Clear the slot; only the maintenance pass does this, and only when all work settled. */
|
|
234
|
-
readonly cancel: Effect.Effect<void, DurableAlarmError>;
|
|
235
|
-
}>;
|
|
236
|
-
/** `ctx.storage` alarm slot as an Effect service; storage is truth, never a memory field. */
|
|
237
|
-
declare class DurableAlarmService extends DurableAlarmService_base {
|
|
238
|
-
static readonly layer: Layer.Layer<DurableAlarmService, never, DurableObjectContext>;
|
|
239
|
-
}
|
|
240
|
-
declare const MaintenancePassReport_base: Schema.Class<MaintenancePassReport, Schema.Struct<{
|
|
241
|
-
/** Recovery decisions executed (or deferred) BEFORE any new claim in this pass. */
|
|
242
|
-
readonly recovered: Schema.Int;
|
|
243
|
-
/** Settlements the drain pass finalized. */
|
|
244
|
-
readonly settled: Schema.Int;
|
|
245
|
-
/** Submissions still nonterminal after the pass (suspended/unknown lanes stay honest). */
|
|
246
|
-
readonly nonterminal: Schema.Int;
|
|
247
|
-
/** `rearmed` while nonterminal work remains, `cleared` once everything settled. */
|
|
248
|
-
readonly alarm: Schema.Literals<readonly ["rearmed", "cleared"]>;
|
|
249
|
-
}>, {}>;
|
|
250
|
-
/** What one maintenance pass did — auditable evidence mirroring `NodeDurableHost`'s report. */
|
|
251
|
-
declare class MaintenancePassReport extends MaintenancePassReport_base {}
|
|
252
|
-
type MaintenancePassFailure = DurableWorkerFailure | DurableBindingFailure | DurableAlarmError;
|
|
253
|
-
declare const ConversationMaintenance_base: Context.ServiceClass<ConversationMaintenance, "@effect-agent/platform-cloudflare/ConversationMaintenance", {
|
|
254
|
-
/** One idempotent maintenance pass; failures propagate so workerd retries the alarm. */
|
|
255
|
-
readonly pass: Effect.Effect<MaintenancePassReport, MaintenancePassFailure>;
|
|
256
|
-
/**
|
|
257
|
-
* Defensive half of the alarm invariant, run by the constructor gate: if any local
|
|
258
|
-
* Submission is nonterminal and no alarm is scheduled, arm one within the scan interval.
|
|
259
|
-
* Local-only (one ledger scan + the alarm slot) — never a recovery pass, never transport.
|
|
260
|
-
*/
|
|
261
|
-
readonly ensureAlarm: Effect.Effect<void, MaintenancePassFailure>;
|
|
262
|
-
/**
|
|
263
|
-
* The pre-arm every mutating entry point runs BEFORE its first durable mutation: with
|
|
264
|
-
* the alarm committed first, a committed admission (or any other committed nonterminal
|
|
265
|
-
* transition) can never be observed without the alarm that will finish it.
|
|
266
|
-
*/
|
|
267
|
-
readonly preArm: Effect.Effect<void, DurableAlarmError>;
|
|
268
|
-
}>;
|
|
269
|
-
/**
|
|
270
|
-
* The idempotent maintenance pass and the alarm-invariant helpers (plan §1.4, D-P6-1/2).
|
|
271
|
-
*
|
|
272
|
-
* `pass` = pre-arm → `runRecovery` → `processConversationResolved` → re-arm-or-clear:
|
|
273
|
-
*
|
|
274
|
-
* 1. **Pre-arm**: the alarm is re-armed at `now + wakeScanInterval` BEFORE any work, so an
|
|
275
|
-
* eviction (or thrown failure → workerd alarm retry) at any point of the pass leaves a
|
|
276
|
-
* committed alarm and the fresh incarnation converges without an incoming request.
|
|
277
|
-
* 2. **Reconcile before new work** (exit gate): every pass classifies and repairs every
|
|
278
|
-
* nonterminal Submission before the drain claims anything; the pure classifier and the
|
|
279
|
-
* repair executors are idempotent, so at-least-once alarm delivery re-runs them safely.
|
|
280
|
-
* 3. **Drain**: one bounded `processConversationResolved` pass over this Object's lane — the
|
|
281
|
-
* D-P6-1 shape; no infinite `runResolvedWorker` loop ever pins the Object.
|
|
282
|
-
* 4. **Re-arm policy**: nonterminal work re-arms at `now + min(backoff-with-jitter,
|
|
283
|
-
* wakeScanInterval)` — the scan interval bounds every wait (lease expiry of a dead
|
|
284
|
-
* incarnation included, since claims retry each pass) and the backoff (reset on progress,
|
|
285
|
-
* grown otherwise) keeps stuck lanes from busy-spinning; all settled clears the slot.
|
|
286
|
-
*
|
|
287
|
-
* Every step is a durability-protocol step that already tolerates re-execution, which is
|
|
288
|
-
* what makes double-fired alarms harmless (the alarm.test.ts gate).
|
|
289
|
-
*/
|
|
290
|
-
declare class ConversationMaintenance extends ConversationMaintenance_base {
|
|
291
|
-
static readonly layer: Layer.Layer<ConversationMaintenance, never, DurableAgentRuntime | AgentBindingResolver | SubmissionLedger | DurableAlarmService | CloudflareDurableRuntimeConfig | ConversationObjectIdentity>;
|
|
292
|
-
}
|
|
293
|
-
//#endregion
|
|
294
|
-
//#region src/wake-scheduler.d.ts
|
|
295
|
-
/**
|
|
296
|
-
* The DC `WakeScheduler` (plan §1.4):
|
|
297
|
-
*
|
|
298
|
-
* - `notify(local)` → `setAlarm(now)` — durable, cheap, coalescing (the alarm slot keeps the
|
|
299
|
-
* earliest deadline) — plus a same-incarnation PubSub hint for `awaitSettlement` waiters.
|
|
300
|
-
* - `notify(remote)` → fire-and-forget `wake()` on the owning Object's stub with every error
|
|
301
|
-
* swallowed and logged: hints are droppable, and the target's own alarm/scan pairing (the
|
|
302
|
-
* maintenance pass re-polls unsettled children) guarantees liveness without this call.
|
|
303
|
-
* - `wakes` → the bounded sliding PubSub only. No important state lives in memory: the
|
|
304
|
-
* subscription accelerates waiters within one incarnation and the settlement poll interval
|
|
305
|
-
* is the correctness path.
|
|
306
|
-
*/
|
|
307
|
-
declare const cloudflareWakeSchedulerLayer: Layer.Layer<WakeScheduler, never, DurableAlarmService | ConversationObjectIdentity | ConversationObjectNamespace>;
|
|
308
|
-
//#endregion
|
|
309
|
-
//#region src/transport.d.ts
|
|
310
|
-
/**
|
|
311
|
-
* `ConversationPortTransport` over native Durable Object JS RPC (decision D-P6-3): one
|
|
312
|
-
* `portCall(envelope)` on the stub of the Object that owns the addressed Conversation
|
|
313
|
-
* (`namespace.idFromName(conversationId)` — the identity rule, plan §1.2). The envelopes are
|
|
314
|
-
* already Schema-encoded JSON, so the RPC boundary carries only structured-cloneable values;
|
|
315
|
-
* the protocol module stays transport-agnostic and fetch-with-JSON remains the documented
|
|
316
|
-
* fallback carrier.
|
|
317
|
-
*
|
|
318
|
-
* Every delivery problem — stub construction, RPC rejection, overload, deploy-in-progress —
|
|
319
|
-
* surfaces as `PortTransportError` (preserving the platform stub's own `retryable` signal
|
|
320
|
-
* when present) and NEVER as a fabricated answer: on `resolveAdmission` the routing layer
|
|
321
|
-
* turns exactly this error into `AdmissionIndeterminate` (SUB-031).
|
|
322
|
-
*/
|
|
323
|
-
declare const conversationPortTransportLayer: Layer.Layer<ConversationPortTransport, never, ConversationObjectNamespace>;
|
|
324
|
-
//#endregion
|
|
325
|
-
//#region src/layers.d.ts
|
|
326
|
-
/**
|
|
327
|
-
* Raw (unvalidated) construction options for `CloudflareDurableRuntime.layer`, mirroring
|
|
328
|
-
* `NodeDurableRuntimeOptions`. Optional fields default to the documented production values
|
|
329
|
-
* (`CLOUDFLARE_RUNTIME_DEFAULTS`); everything is schema-decoded into
|
|
330
|
-
* `CloudflareDurableRuntimeConfigValue` before any resource opens (deployment §5 gate 1).
|
|
331
|
-
*/
|
|
332
|
-
interface CloudflareDurableRuntimeOptions {
|
|
333
|
-
readonly deploymentId: string;
|
|
334
|
-
/** Head of the minted producer identity `{producerPrefix}:{conversationId}`. */
|
|
335
|
-
readonly producerPrefix: string;
|
|
336
|
-
/** Milliseconds; default 30s (D5). */
|
|
337
|
-
readonly ownershipLeaseDuration?: number | undefined;
|
|
338
|
-
/** Milliseconds; default 100. */
|
|
339
|
-
readonly alarmBackoffBase?: number | undefined;
|
|
340
|
-
/** Milliseconds; default 5000. */
|
|
341
|
-
readonly alarmBackoffCap?: number | undefined;
|
|
342
|
-
/** Milliseconds; default 1000. Bounds every alarm re-arm delay. */
|
|
343
|
-
readonly wakeScanInterval?: number | undefined;
|
|
344
|
-
/** Milliseconds; default 500. */
|
|
345
|
-
readonly settlementPollInterval?: number | undefined;
|
|
346
|
-
/** Milliseconds; default 10000. */
|
|
347
|
-
readonly leaseRenewalInterval?: number | undefined;
|
|
348
|
-
/** Milliseconds; default 500. */
|
|
349
|
-
readonly abortPollInterval?: number | undefined;
|
|
350
|
-
/** Milliseconds; default 25. */
|
|
351
|
-
readonly observationPollInterval?: number | undefined;
|
|
352
|
-
/** Bytes; default just under the 2 MB platform value limit. */
|
|
353
|
-
readonly maxStoredValueBytes?: number | undefined;
|
|
354
|
-
/** Default false. */
|
|
355
|
-
readonly verifyOnOpen?: boolean | undefined;
|
|
356
|
-
/** Nonterminal Submissions per lane before admission refuses; default 256. */
|
|
357
|
-
readonly maxQueueDepthPerLane?: number | undefined;
|
|
358
|
-
/** Encoded input bytes per Submission; default = the stored-value bound. */
|
|
359
|
-
readonly maxInputBytes?: number | undefined;
|
|
360
|
-
/** `ctx.storage.sql.databaseSize` ceiling at admission; default 9 GB (10 GB platform cap). */
|
|
361
|
-
readonly maxDatabaseBytes?: number | undefined;
|
|
362
|
-
/**
|
|
363
|
-
* Durable Object storage fault injection (`ledger:*` / `append:*` locations). Handlers are
|
|
364
|
-
* constructed per incarnation WITH the live `DurableObjectState`, so eviction harnesses can
|
|
365
|
-
* map an armed hit to `ctx.abort()` — the platform's real failure mode. Default none.
|
|
366
|
-
*/
|
|
367
|
-
readonly storageFailpoint?: ((ctx: DurableObjectState) => DoStorageFailpointHandler) | undefined;
|
|
368
|
-
/** Coordinator fault injection (`submit:*` / `terminalize:*` locations); default none. */
|
|
369
|
-
readonly runtimeFailpoint?: ((ctx: DurableObjectState) => DurableRuntimeFailpointHandler) | undefined;
|
|
370
|
-
/**
|
|
371
|
-
* Reconciliation policy consulted for open ordinary Tool Calls before an Unknown Outcome
|
|
372
|
-
* is recorded (durability §10, DUR-009). Defaults to the fail-closed
|
|
373
|
-
* `ToolReconciler.uncertain`.
|
|
374
|
-
*/
|
|
375
|
-
readonly toolReconciler?: Layer.Layer<ToolReconciler> | undefined;
|
|
376
|
-
/**
|
|
377
|
-
* Registered worker Bindings resolved at durable claim time (S2, spec/subagents.md §11):
|
|
378
|
-
* build each with `DurableWorkerBinding.make(binding, digests)`. An Effect or callback form is
|
|
379
|
-
* accepted because capture can be effectful. The callback receives the live Object context and
|
|
380
|
-
* derived identities and is evaluated once per incarnation during Layer construction. Defaults
|
|
381
|
-
* to the empty registration (every resolved claim fails closed).
|
|
382
|
-
*/
|
|
383
|
-
readonly bindings?: CloudflareBindingSource | undefined;
|
|
384
|
-
}
|
|
385
|
-
/** Per-incarnation host values available while registered worker Bindings are captured. */
|
|
386
|
-
interface CloudflareBindingSourceContext {
|
|
387
|
-
readonly ctx: DurableObjectState;
|
|
388
|
-
readonly env: unknown;
|
|
389
|
-
readonly conversationId: ConversationId;
|
|
390
|
-
readonly producerId: ProducerId;
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* Registered worker Bindings, or a closed Effect/callback that captures them once for each
|
|
394
|
-
* Durable Object incarnation. Callback Effects cannot require services or fail typed.
|
|
395
|
-
*/
|
|
396
|
-
type CloudflareBindingSource = ReadonlyArray<ResolvedBinding> | Effect.Effect<ReadonlyArray<ResolvedBinding>, never, never> | ((context: CloudflareBindingSourceContext) => ReadonlyArray<ResolvedBinding> | Effect.Effect<ReadonlyArray<ResolvedBinding>, never, never>);
|
|
397
|
-
/** Every construction failure of the assembled Cloudflare durable runtime stack. */
|
|
398
|
-
type CloudflareDurableRuntimeInitializationError = CloudflarePlatformConfigError | DoStorageInitializationError;
|
|
399
|
-
/** The services `CloudflareDurableRuntime.layer` provides. */
|
|
400
|
-
type CloudflareDurableRuntimeServices = DurableAgentRuntime | SubmissionLedger | ConversationStore | WakeScheduler | DurableRuntimeConfig | AgentBindingResolver | CloudflareDurableRuntimeConfig | ConversationObjectIdentity | DurableAlarmService | ConversationMaintenance | ConversationObjectPorts;
|
|
401
|
-
declare const ConversationObjectPorts_base: Context.ServiceClass<ConversationObjectPorts, "@effect-agent/platform-cloudflare/ConversationObjectPorts", {
|
|
402
|
-
readonly handle: (encoded: unknown) => Effect.Effect<unknown>;
|
|
403
|
-
}>;
|
|
404
|
-
/**
|
|
405
|
-
* Owner-side endpoint body for the Conversation Object's `portCall` (plan §1.3): decode,
|
|
406
|
-
* execute against THIS Object's LOCAL port facets — never the routed decorators, so a
|
|
407
|
-
* request cannot bounce between Objects — and answer the encoded response envelope. Total by
|
|
408
|
-
* construction (protocol anomalies answer `PortFailed(PortProtocolError)`).
|
|
409
|
-
*/
|
|
410
|
-
declare class ConversationObjectPorts extends ConversationObjectPorts_base {}
|
|
411
|
-
/**
|
|
412
|
-
* The DC Layer assembly (deployment §12: a Layer-assembly library, not an app entrypoint;
|
|
413
|
-
* plan §1.4). `layer(options)` decodes the configuration, derives this Object's Conversation
|
|
414
|
-
* and producer identities, opens the Object's private SQLite database through
|
|
415
|
-
* `@effect/sql-sqlite-do` for BOTH the Conversation Log and the Submission Ledger (so claims
|
|
416
|
-
* fence the same producer epochs — ADR-0011 D7 transposed), wraps the local port facets with
|
|
417
|
-
* the WP2 cross-Object routing decorators over the Durable Object RPC transport, wires the
|
|
418
|
-
* alarm-backed wake scheduler and the maintenance pass, defaults reconciliation to the
|
|
419
|
-
* fail-closed `ToolReconciler.uncertain`, and provides a ready `DurableAgentRuntime` on top.
|
|
420
|
-
*
|
|
421
|
-
* Storage compatibility is verified during construction: an incompatible database fails the
|
|
422
|
-
* Layer typed (`DoStorageCompatibilityError`) before anything is mutated (DEPLOY-008).
|
|
423
|
-
*
|
|
424
|
-
* Requires only the two binding services (`DurableObjectContext`,
|
|
425
|
-
* `ConversationObjectNamespace`) — platform values enter exclusively through Layers
|
|
426
|
-
* (DEPLOY-010).
|
|
427
|
-
*/
|
|
428
|
-
declare class CloudflareDurableRuntime {
|
|
429
|
-
static layer(options: CloudflareDurableRuntimeOptions): Layer.Layer<CloudflareDurableRuntimeServices, CloudflareDurableRuntimeInitializationError, DurableObjectContext | ConversationObjectNamespace>;
|
|
430
|
-
}
|
|
431
|
-
//#endregion
|
|
432
|
-
//#region src/client.d.ts
|
|
433
|
-
/** Truncate a diagnostic string to the host protocol's bounded length. */
|
|
434
|
-
declare const boundHostDiagnostic: (value: string) => string;
|
|
435
|
-
declare const HostProtocolError_base: Schema.Class<HostProtocolError, Schema.TaggedStruct<"HostProtocolError", {
|
|
436
|
-
readonly message: Schema.String;
|
|
437
|
-
}>, import("effect/Cause").YieldableError>;
|
|
438
|
-
/**
|
|
439
|
-
* The envelope itself could not be honored: the Object could not decode the request, or a
|
|
440
|
-
* response could not be encoded/decoded. Never carries operation semantics.
|
|
441
|
-
*/
|
|
442
|
-
declare class HostProtocolError extends HostProtocolError_base {}
|
|
443
|
-
declare const ConversationClientError_base: Schema.Class<ConversationClientError, Schema.TaggedStruct<"ConversationClientError", {
|
|
444
|
-
readonly conversationId: Schema.String;
|
|
445
|
-
readonly message: Schema.String;
|
|
446
|
-
readonly cause: Schema.optionalKey<Schema.Defect>;
|
|
447
|
-
}>, import("effect/Cause").YieldableError>;
|
|
448
|
-
/** The Worker-side stub call itself failed (RPC rejection, overload, eviction mid-call). */
|
|
449
|
-
declare class ConversationClientError extends ConversationClientError_base {}
|
|
450
|
-
declare const SubmitRequest_base: Schema.Class<SubmitRequest, Schema.Struct<{
|
|
451
|
-
readonly agentId: Schema.brand<Schema.NonEmptyString, "@effect-agent/core/AgentId">;
|
|
452
|
-
readonly principal: Schema.brand<Schema.NonEmptyString, "@effect-agent/session/Principal">;
|
|
453
|
-
readonly idempotencyKey: Schema.brand<Schema.NonEmptyString, "@effect-agent/session/IdempotencyKey">;
|
|
454
|
-
readonly definitions: typeof DefinitionDigests;
|
|
455
|
-
readonly inputPayload: Schema.declare<Schema.Json, Schema.Json>;
|
|
456
|
-
}>, {}>;
|
|
457
|
-
/**
|
|
458
|
-
* One durable submission, input ALREADY encoded by the caller through the Agent Binding's
|
|
459
|
-
* input schema (the Worker bundles the same Agent definitions as the Object, so schema
|
|
460
|
-
* validation happens client-side; the resolved Binding re-validates at claim time). The
|
|
461
|
-
* Conversation identity is deliberately absent — the addressed Object IS the lane.
|
|
462
|
-
*/
|
|
463
|
-
declare class SubmitRequest extends SubmitRequest_base {}
|
|
464
|
-
declare const ObservePageRequest_base: Schema.Class<ObservePageRequest, Schema.Struct<{
|
|
465
|
-
readonly afterSequence: Schema.optionalKey<Schema.brand<Schema.Natural, "@effect-agent/session/CanonicalSequence">>;
|
|
466
|
-
readonly limit: Schema.Int;
|
|
467
|
-
}>, {}>;
|
|
468
|
-
/** One bounded page of canonical records after an optional sequence. */
|
|
469
|
-
declare class ObservePageRequest extends ObservePageRequest_base {}
|
|
470
|
-
/**
|
|
471
|
-
* Every typed failure a host entry point can produce, plus the protocol's own errors. Same
|
|
472
|
-
* closed-union discipline as the WP2 `PortFailure`: members re-decode to the SAME tagged
|
|
473
|
-
* classes on the Worker side; `cause` chains travel as Schema defects without instance
|
|
474
|
-
* fidelity (plan §2.8).
|
|
475
|
-
*/
|
|
476
|
-
declare const HostFailure: Schema.Union<readonly [typeof AgentInputError, typeof DigestError, typeof AdmissionConflict, typeof SettlementConflict, typeof ApprovalConflict, typeof UnknownResolutionConflict, typeof JoinedToHost, typeof LedgerError, typeof ConversationStoreError, typeof ConversationNotMaterialized, typeof AppendConflict, typeof FenceRejected, typeof DurableRuntimeFailpointError, typeof AdmissionLimitExceeded, typeof DurableAlarmError, typeof HostProtocolError]>;
|
|
477
|
-
type HostFailure = typeof HostFailure.Type;
|
|
478
|
-
declare const SubmitSucceeded_base: Schema.Class<SubmitSucceeded, Schema.TaggedStruct<"SubmitSucceeded", {
|
|
479
|
-
readonly receipt: typeof Receipt;
|
|
480
|
-
}>, {}>;
|
|
481
|
-
declare class SubmitSucceeded extends SubmitSucceeded_base {}
|
|
482
|
-
declare const SettlementReached_base: Schema.Class<SettlementReached, Schema.TaggedStruct<"SettlementReached", {
|
|
483
|
-
readonly settlement: typeof Settlement;
|
|
484
|
-
}>, {}>;
|
|
485
|
-
declare class SettlementReached extends SettlementReached_base {}
|
|
486
|
-
declare const ObservedPage_base: Schema.Class<ObservedPage, Schema.TaggedStruct<"ObservedPage", {
|
|
487
|
-
readonly records: Schema.$Array<typeof CanonicalRecordEnvelope>;
|
|
488
|
-
}>, {}>;
|
|
489
|
-
declare class ObservedPage extends ObservedPage_base {}
|
|
490
|
-
declare const AbortRecorded_base: Schema.Class<AbortRecorded, Schema.TaggedStruct<"AbortRecorded", {
|
|
491
|
-
readonly intent: typeof AbortIntent;
|
|
492
|
-
}>, {}>;
|
|
493
|
-
declare class AbortRecorded extends AbortRecorded_base {}
|
|
494
|
-
declare const ApprovalRecorded_base: Schema.Class<ApprovalRecorded, Schema.TaggedStruct<"ApprovalRecorded", {
|
|
495
|
-
readonly intent: typeof ApprovalDecisionIntent;
|
|
496
|
-
}>, {}>;
|
|
497
|
-
declare class ApprovalRecorded extends ApprovalRecorded_base {}
|
|
498
|
-
declare const UnknownResolutionRecorded_base: Schema.Class<UnknownResolutionRecorded, Schema.TaggedStruct<"UnknownResolutionRecorded", {
|
|
499
|
-
readonly intent: typeof UnknownResolutionIntent;
|
|
500
|
-
}>, {}>;
|
|
501
|
-
declare class UnknownResolutionRecorded extends UnknownResolutionRecorded_base {}
|
|
502
|
-
declare const HostFailed_base: Schema.Class<HostFailed, Schema.TaggedStruct<"HostFailed", {
|
|
503
|
-
readonly failure: Schema.Union<readonly [typeof AgentInputError, typeof DigestError, typeof AdmissionConflict, typeof SettlementConflict, typeof ApprovalConflict, typeof UnknownResolutionConflict, typeof JoinedToHost, typeof LedgerError, typeof ConversationStoreError, typeof ConversationNotMaterialized, typeof AppendConflict, typeof FenceRejected, typeof DurableRuntimeFailpointError, typeof AdmissionLimitExceeded, typeof DurableAlarmError, typeof HostProtocolError]>;
|
|
504
|
-
}>, {}>;
|
|
505
|
-
/** The entry point failed TYPED on the Object; the failure re-decodes verbatim. */
|
|
506
|
-
declare class HostFailed extends HostFailed_base {}
|
|
507
|
-
/** The uniform answer of one host entry point. Callers narrow by the tag their call implies. */
|
|
508
|
-
declare const HostResponse: Schema.Union<readonly [typeof SubmitSucceeded, typeof SettlementReached, typeof ObservedPage, typeof AbortRecorded, typeof ApprovalRecorded, typeof UnknownResolutionRecorded, typeof HostFailed]>;
|
|
509
|
-
type HostResponse = typeof HostResponse.Type;
|
|
510
|
-
declare const decodeSubmitRequest: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<SubmitRequest, Schema.SchemaError, never>;
|
|
511
|
-
declare const encodeSubmitRequest: (input: SubmitRequest, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
512
|
-
readonly agentId: string;
|
|
513
|
-
readonly principal: string;
|
|
514
|
-
readonly idempotencyKey: string;
|
|
515
|
-
readonly definitions: {
|
|
516
|
-
readonly agent: string;
|
|
517
|
-
readonly model: string;
|
|
518
|
-
readonly tools: string;
|
|
519
|
-
};
|
|
520
|
-
readonly inputPayload: Schema.Json;
|
|
521
|
-
}, Schema.SchemaError, never>;
|
|
522
|
-
declare const decodeReceipt: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<Receipt, Schema.SchemaError, never>;
|
|
523
|
-
declare const encodeReceipt: (input: Receipt, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
524
|
-
readonly receiptId: string;
|
|
525
|
-
readonly submissionId: string;
|
|
526
|
-
readonly conversationId: string;
|
|
527
|
-
readonly queueSequence: number;
|
|
528
|
-
}, Schema.SchemaError, never>;
|
|
529
|
-
declare const decodeObservePageRequest: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<ObservePageRequest, Schema.SchemaError, never>;
|
|
530
|
-
declare const encodeObservePageRequest: (input: ObservePageRequest, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
531
|
-
readonly afterSequence?: number | undefined;
|
|
532
|
-
readonly limit: number;
|
|
533
|
-
}, Schema.SchemaError, never>;
|
|
534
|
-
declare const decodeAbortCommand: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<AbortCommand, Schema.SchemaError, never>;
|
|
535
|
-
declare const encodeAbortCommand: (input: AbortCommand, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
536
|
-
readonly submissionId: string;
|
|
537
|
-
readonly author: string;
|
|
538
|
-
readonly reason: string;
|
|
539
|
-
}, Schema.SchemaError, never>;
|
|
540
|
-
declare const decodeApprovalDecisionCommand: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<ApprovalDecisionCommand, Schema.SchemaError, never>;
|
|
541
|
-
declare const encodeApprovalDecisionCommand: (input: ApprovalDecisionCommand, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
542
|
-
readonly submissionId: string;
|
|
543
|
-
readonly toolCallId: string;
|
|
544
|
-
readonly decision: "approved" | "denied";
|
|
545
|
-
readonly resolver: string;
|
|
546
|
-
readonly reason: string;
|
|
547
|
-
}, Schema.SchemaError, never>;
|
|
548
|
-
declare const decodeUnknownResolutionCommand: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<UnknownResolutionCommand, Schema.SchemaError, never>;
|
|
549
|
-
declare const encodeUnknownResolutionCommand: (input: UnknownResolutionCommand, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
550
|
-
readonly submissionId: string;
|
|
551
|
-
readonly toolCallId: string;
|
|
552
|
-
readonly author: string;
|
|
553
|
-
readonly reason: string;
|
|
554
|
-
readonly resolution: {
|
|
555
|
-
readonly _tag: "CompletedWithResult";
|
|
556
|
-
readonly result: Schema.Json;
|
|
557
|
-
readonly isFailure: boolean;
|
|
558
|
-
} | {
|
|
559
|
-
readonly _tag: "NeverHappened";
|
|
560
|
-
} | {
|
|
561
|
-
readonly _tag: "SafeToRetry";
|
|
562
|
-
} | {
|
|
563
|
-
readonly _tag: "AbortSubmission";
|
|
564
|
-
};
|
|
565
|
-
}, Schema.SchemaError, never>;
|
|
566
|
-
declare const encodeHostResponse: (input: AbortRecorded | ApprovalRecorded | HostFailed | ObservedPage | SettlementReached | SubmitSucceeded | UnknownResolutionRecorded, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
567
|
-
readonly _tag: "SubmitSucceeded";
|
|
568
|
-
readonly receipt: {
|
|
569
|
-
readonly receiptId: string;
|
|
570
|
-
readonly submissionId: string;
|
|
571
|
-
readonly conversationId: string;
|
|
572
|
-
readonly queueSequence: number;
|
|
573
|
-
};
|
|
574
|
-
} | {
|
|
575
|
-
readonly _tag: "SettlementReached";
|
|
576
|
-
readonly settlement: {
|
|
577
|
-
readonly submissionId: string;
|
|
578
|
-
readonly settlementId: string;
|
|
579
|
-
readonly receiptId: string;
|
|
580
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
581
|
-
readonly settledAt: string;
|
|
582
|
-
};
|
|
583
|
-
} | {
|
|
584
|
-
readonly _tag: "ObservedPage";
|
|
585
|
-
readonly records: readonly {
|
|
586
|
-
readonly conversationId: string;
|
|
587
|
-
readonly batchId: string;
|
|
588
|
-
readonly sequence: number;
|
|
589
|
-
readonly offset: string;
|
|
590
|
-
readonly record: {
|
|
591
|
-
readonly recordId: string;
|
|
592
|
-
readonly family: "conversation";
|
|
593
|
-
readonly schemaVersion: 1;
|
|
594
|
-
readonly createdAt: string;
|
|
595
|
-
readonly deploymentId: string;
|
|
596
|
-
readonly payload: {
|
|
597
|
-
readonly _tag: "ConversationCreated";
|
|
598
|
-
readonly agentId: string;
|
|
599
|
-
readonly definitions: {
|
|
600
|
-
readonly agent: string;
|
|
601
|
-
readonly model: string;
|
|
602
|
-
readonly tools: string;
|
|
603
|
-
};
|
|
604
|
-
} | {
|
|
605
|
-
readonly _tag: "UserInputRecorded";
|
|
606
|
-
readonly submissionId: string;
|
|
607
|
-
readonly kind: "follow-up" | "steering" | "user";
|
|
608
|
-
readonly runId?: string | undefined;
|
|
609
|
-
readonly input: Schema.Json;
|
|
610
|
-
} | {
|
|
611
|
-
readonly _tag: "ModelCompleted";
|
|
612
|
-
readonly runId: string;
|
|
613
|
-
readonly output: Schema.Json;
|
|
614
|
-
} | {
|
|
615
|
-
readonly _tag: "ModelResponseRecorded";
|
|
616
|
-
readonly runId: string;
|
|
617
|
-
readonly turnId: string;
|
|
618
|
-
readonly turn: number;
|
|
619
|
-
readonly messages: Schema.Json;
|
|
620
|
-
readonly messagesDigest: string;
|
|
621
|
-
readonly inputTokens?: number | undefined;
|
|
622
|
-
readonly outputTokens?: number | undefined;
|
|
623
|
-
} | {
|
|
624
|
-
readonly _tag: "ToolCallPrepared";
|
|
625
|
-
readonly runId: string;
|
|
626
|
-
readonly turnId: string;
|
|
627
|
-
readonly turn: number;
|
|
628
|
-
readonly toolCallId: string;
|
|
629
|
-
readonly toolName: string;
|
|
630
|
-
readonly parameters: Schema.Json;
|
|
631
|
-
readonly parametersDigest: string;
|
|
632
|
-
} | {
|
|
633
|
-
readonly _tag: "ToolCallSettled";
|
|
634
|
-
readonly runId: string;
|
|
635
|
-
readonly toolCallId: string;
|
|
636
|
-
readonly toolName: string;
|
|
637
|
-
readonly result: Schema.Json;
|
|
638
|
-
readonly isFailure: boolean;
|
|
639
|
-
} | {
|
|
640
|
-
readonly _tag: "ToolCallUnknown";
|
|
641
|
-
readonly runId: string;
|
|
642
|
-
readonly turn: number;
|
|
643
|
-
readonly toolCallId: string;
|
|
644
|
-
readonly toolName: string;
|
|
645
|
-
readonly reason: string;
|
|
646
|
-
} | {
|
|
647
|
-
readonly _tag: "ToolCallResolved";
|
|
648
|
-
readonly runId: string;
|
|
649
|
-
readonly toolCallId: string;
|
|
650
|
-
readonly resolution: "completed-with-result" | "failed-with-error" | "never-started" | "safe-retry";
|
|
651
|
-
readonly author: string;
|
|
652
|
-
readonly reason: string;
|
|
653
|
-
} | {
|
|
654
|
-
readonly _tag: "ToolStepSettled";
|
|
655
|
-
readonly runId: string;
|
|
656
|
-
readonly toolCallId: string;
|
|
657
|
-
readonly stepName: string;
|
|
658
|
-
readonly output: Schema.Json;
|
|
659
|
-
readonly outputDigest: string;
|
|
660
|
-
} | {
|
|
661
|
-
readonly _tag: "ToolApprovalRequested";
|
|
662
|
-
readonly runId: string;
|
|
663
|
-
readonly turnId: string;
|
|
664
|
-
readonly turn: number;
|
|
665
|
-
readonly toolCallId: string;
|
|
666
|
-
readonly toolName: string;
|
|
667
|
-
readonly parametersDigest: string;
|
|
668
|
-
} | {
|
|
669
|
-
readonly _tag: "ToolApprovalDecided";
|
|
670
|
-
readonly runId: string;
|
|
671
|
-
readonly turn: number;
|
|
672
|
-
readonly toolCallId: string;
|
|
673
|
-
readonly decision: "approved" | "denied";
|
|
674
|
-
readonly resolver: string;
|
|
675
|
-
readonly reason: string;
|
|
676
|
-
} | {
|
|
677
|
-
readonly _tag: "ModelResponseInterrupted";
|
|
678
|
-
readonly runId: string;
|
|
679
|
-
readonly supersededEpoch: number;
|
|
680
|
-
readonly attemptId: string;
|
|
681
|
-
readonly reason: string;
|
|
682
|
-
} | {
|
|
683
|
-
readonly _tag: "CompactionCreated";
|
|
684
|
-
readonly runId: string;
|
|
685
|
-
readonly turn: number;
|
|
686
|
-
readonly kind: "clear-tool-results" | "summarize";
|
|
687
|
-
readonly coversThrough: number;
|
|
688
|
-
readonly summary?: string | undefined;
|
|
689
|
-
} | {
|
|
690
|
-
readonly _tag: "RunFailed";
|
|
691
|
-
readonly runId: string;
|
|
692
|
-
readonly failure: Schema.Json;
|
|
693
|
-
} | {
|
|
694
|
-
readonly _tag: "RunCompleted";
|
|
695
|
-
readonly runId: string;
|
|
696
|
-
readonly output: Schema.Json;
|
|
697
|
-
} | {
|
|
698
|
-
readonly _tag: "AbortRequested";
|
|
699
|
-
readonly submissionId: string;
|
|
700
|
-
readonly author: string;
|
|
701
|
-
readonly reason: string;
|
|
702
|
-
} | {
|
|
703
|
-
readonly _tag: "SubmissionSettled";
|
|
704
|
-
readonly submissionId: string;
|
|
705
|
-
readonly settlementId: string;
|
|
706
|
-
readonly receiptId: string;
|
|
707
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
708
|
-
readonly runId?: string | undefined;
|
|
709
|
-
readonly result?: Schema.Json | undefined;
|
|
710
|
-
readonly finishReason?: "budget-exhausted" | undefined;
|
|
711
|
-
} | {
|
|
712
|
-
readonly _tag: "SubagentRequested";
|
|
713
|
-
readonly runId: string;
|
|
714
|
-
readonly turnId: string;
|
|
715
|
-
readonly turn: number;
|
|
716
|
-
readonly toolCallId: string;
|
|
717
|
-
readonly delegationId: string;
|
|
718
|
-
readonly targetAgentId: string;
|
|
719
|
-
readonly targetDigests: {
|
|
720
|
-
readonly agent: string;
|
|
721
|
-
readonly model: string;
|
|
722
|
-
readonly tools: string;
|
|
723
|
-
};
|
|
724
|
-
readonly childInput: Schema.Json;
|
|
725
|
-
readonly childInputDigest: string;
|
|
726
|
-
readonly grantDigest: string;
|
|
727
|
-
readonly reservationId: string;
|
|
728
|
-
readonly reservationDigest: string;
|
|
729
|
-
readonly childConversationId: string;
|
|
730
|
-
readonly childPrincipal: string;
|
|
731
|
-
readonly childIdempotencyKey: string;
|
|
732
|
-
} | {
|
|
733
|
-
readonly _tag: "SubagentStarted";
|
|
734
|
-
readonly runId: string;
|
|
735
|
-
readonly toolCallId: string;
|
|
736
|
-
readonly childConversationId: string;
|
|
737
|
-
readonly childSubmissionId: string;
|
|
738
|
-
readonly childReceiptId: string;
|
|
739
|
-
readonly childRunId: string;
|
|
740
|
-
} | {
|
|
741
|
-
readonly _tag: "SubagentJoined";
|
|
742
|
-
readonly runId: string;
|
|
743
|
-
readonly toolCallId: string;
|
|
744
|
-
readonly childSubmissionId: string;
|
|
745
|
-
readonly childSettlementId: string;
|
|
746
|
-
readonly childOutcome: "aborted" | "completed" | "failed";
|
|
747
|
-
readonly childResultDigest: string;
|
|
748
|
-
readonly projectedResultDigest: string;
|
|
749
|
-
readonly usageSummary: Schema.Json;
|
|
750
|
-
readonly reservationId: string;
|
|
751
|
-
readonly finalAccounting: Schema.Json;
|
|
752
|
-
} | {
|
|
753
|
-
readonly _tag: "SubagentLineageRecorded";
|
|
754
|
-
readonly parentLink: {
|
|
755
|
-
readonly delegationId: string;
|
|
756
|
-
readonly parentAgentId: string;
|
|
757
|
-
readonly parentConversationId: string;
|
|
758
|
-
readonly parentRunId: string;
|
|
759
|
-
readonly parentToolCallId: string;
|
|
760
|
-
readonly depth: number;
|
|
761
|
-
};
|
|
762
|
-
readonly parentSubmissionId: string;
|
|
763
|
-
readonly childDefinitionDigests: {
|
|
764
|
-
readonly agent: string;
|
|
765
|
-
readonly model: string;
|
|
766
|
-
readonly tools: string;
|
|
767
|
-
};
|
|
768
|
-
readonly childInputDigest: string;
|
|
769
|
-
readonly grantDigest: string;
|
|
770
|
-
} | {
|
|
771
|
-
readonly _tag: "RepairAnnotated";
|
|
772
|
-
readonly reason: string;
|
|
773
|
-
readonly details: Schema.Json;
|
|
774
|
-
};
|
|
775
|
-
};
|
|
776
|
-
}[];
|
|
777
|
-
} | {
|
|
778
|
-
readonly _tag: "AbortRecorded";
|
|
779
|
-
readonly intent: {
|
|
780
|
-
readonly submissionId: string;
|
|
781
|
-
readonly author: string;
|
|
782
|
-
readonly reason: string;
|
|
783
|
-
readonly requestedAt: string;
|
|
784
|
-
readonly canonicalRecordId?: string | undefined;
|
|
785
|
-
};
|
|
786
|
-
} | {
|
|
787
|
-
readonly _tag: "ApprovalRecorded";
|
|
788
|
-
readonly intent: {
|
|
789
|
-
readonly submissionId: string;
|
|
790
|
-
readonly toolCallId: string;
|
|
791
|
-
readonly decision: "approved" | "denied";
|
|
792
|
-
readonly resolver: string;
|
|
793
|
-
readonly reason: string;
|
|
794
|
-
readonly decidedAt: string;
|
|
795
|
-
readonly canonicalRecordId?: string | undefined;
|
|
796
|
-
};
|
|
797
|
-
} | {
|
|
798
|
-
readonly _tag: "UnknownResolutionRecorded";
|
|
799
|
-
readonly intent: {
|
|
800
|
-
readonly submissionId: string;
|
|
801
|
-
readonly toolCallId: string;
|
|
802
|
-
readonly author: string;
|
|
803
|
-
readonly reason: string;
|
|
804
|
-
readonly resolution: {
|
|
805
|
-
readonly _tag: "CompletedWithResult";
|
|
806
|
-
readonly result: Schema.Json;
|
|
807
|
-
readonly isFailure: boolean;
|
|
808
|
-
} | {
|
|
809
|
-
readonly _tag: "NeverHappened";
|
|
810
|
-
} | {
|
|
811
|
-
readonly _tag: "SafeToRetry";
|
|
812
|
-
} | {
|
|
813
|
-
readonly _tag: "AbortSubmission";
|
|
814
|
-
};
|
|
815
|
-
readonly resolvedAt: string;
|
|
816
|
-
readonly canonicalRecordId?: string | undefined;
|
|
817
|
-
};
|
|
818
|
-
} | {
|
|
819
|
-
readonly _tag: "HostFailed";
|
|
820
|
-
readonly failure: {
|
|
821
|
-
readonly _tag: "HostProtocolError";
|
|
822
|
-
readonly message: string;
|
|
823
|
-
} | {
|
|
824
|
-
readonly _tag: "AgentInputError";
|
|
825
|
-
readonly message: string;
|
|
826
|
-
} | {
|
|
827
|
-
readonly _tag: "DigestError";
|
|
828
|
-
readonly message: string;
|
|
829
|
-
readonly cause?: Schema.Json | undefined;
|
|
830
|
-
} | {
|
|
831
|
-
readonly _tag: "AdmissionConflict";
|
|
832
|
-
readonly conversationId: string;
|
|
833
|
-
readonly principal: string;
|
|
834
|
-
readonly idempotencyKey: string;
|
|
835
|
-
readonly existingInputDigest: string;
|
|
836
|
-
readonly attemptedInputDigest: string;
|
|
837
|
-
} | {
|
|
838
|
-
readonly _tag: "SettlementConflict";
|
|
839
|
-
readonly submissionId: string;
|
|
840
|
-
readonly existingOutcome: "aborted" | "completed" | "failed";
|
|
841
|
-
} | {
|
|
842
|
-
readonly _tag: "ApprovalConflict";
|
|
843
|
-
readonly submissionId: string;
|
|
844
|
-
readonly toolCallId: string;
|
|
845
|
-
readonly existingDecision: "approved" | "denied";
|
|
846
|
-
} | {
|
|
847
|
-
readonly _tag: "UnknownResolutionConflict";
|
|
848
|
-
readonly submissionId: string;
|
|
849
|
-
readonly toolCallId: string;
|
|
850
|
-
} | {
|
|
851
|
-
readonly _tag: "JoinedToHost";
|
|
852
|
-
readonly submissionId: string;
|
|
853
|
-
readonly hostSubmissionId: string;
|
|
854
|
-
} | {
|
|
855
|
-
readonly _tag: "LedgerError";
|
|
856
|
-
readonly operation: string;
|
|
857
|
-
readonly message: string;
|
|
858
|
-
readonly cause?: Schema.Json | undefined;
|
|
859
|
-
} | {
|
|
860
|
-
readonly _tag: "ConversationStoreError";
|
|
861
|
-
readonly operation: string;
|
|
862
|
-
readonly message: string;
|
|
863
|
-
readonly cause?: Schema.Json | undefined;
|
|
864
|
-
} | {
|
|
865
|
-
readonly _tag: "ConversationNotMaterialized";
|
|
866
|
-
readonly conversationId: string;
|
|
867
|
-
} | {
|
|
868
|
-
readonly _tag: "AppendConflict";
|
|
869
|
-
readonly conversationId: string;
|
|
870
|
-
readonly batchId: string;
|
|
871
|
-
readonly reason: "batch-digest" | "record-identity" | "tail";
|
|
872
|
-
readonly actualTailSequence?: number | undefined;
|
|
873
|
-
readonly actualTailDigest?: string | undefined;
|
|
874
|
-
} | {
|
|
875
|
-
readonly _tag: "FenceRejected";
|
|
876
|
-
readonly conversationId: string;
|
|
877
|
-
readonly actualEpoch: number;
|
|
878
|
-
readonly attemptedEpoch: number;
|
|
879
|
-
} | {
|
|
880
|
-
readonly _tag: "DurableRuntimeFailpointError";
|
|
881
|
-
readonly location: "abort:after-intent" | "approval:after-request-append" | "approval:after-suspend" | "claim:after-claim" | "compaction:after-canonical-append" | "input:after-canonical-append" | "join:after-canonical-append" | "join:after-claim" | "resolve:after-intent" | "step:after-step-append" | "subagent:after-admit" | "subagent:after-child-abort-intent" | "subagent:after-child-ready" | "subagent:after-join-append" | "subagent:after-release" | "subagent:after-release-pending" | "subagent:after-request-append" | "subagent:after-reserve" | "subagent:after-sibling-settle" | "subagent:after-start-append" | "subagent:after-suspend" | "submit:after-admit" | "submit:after-materialize" | "terminalize:after-canonical-append" | "terminalize:after-reserve" | "tools:after-prepared-append" | "turn:after-canonical-append" | "turn:after-response-append" | "turn:after-results-append";
|
|
882
|
-
} | {
|
|
883
|
-
readonly _tag: "AdmissionLimitExceeded";
|
|
884
|
-
readonly limit: "database-bytes" | "input-bytes" | "queue-depth";
|
|
885
|
-
readonly actual: number;
|
|
886
|
-
readonly maximum: number;
|
|
887
|
-
} | {
|
|
888
|
-
readonly _tag: "DurableAlarmError";
|
|
889
|
-
readonly operation: string;
|
|
890
|
-
readonly message: string;
|
|
891
|
-
readonly cause?: Schema.Json | undefined;
|
|
892
|
-
};
|
|
893
|
-
}, Schema.SchemaError, never>;
|
|
894
|
-
declare const decodeHostResponse: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<AbortRecorded | ApprovalRecorded | HostFailed | ObservedPage | SettlementReached | SubmitSucceeded | UnknownResolutionRecorded, Schema.SchemaError, never>;
|
|
895
|
-
/** Failure surface of `CloudflareConversationClient.submit`. */
|
|
896
|
-
type ClientSubmitFailure = AgentInputError | DigestError | AdmissionConflict | LedgerError | ConversationStoreError | ConversationNotMaterialized | AppendConflict | FenceRejected | DurableRuntimeFailpointError | AdmissionLimitExceeded | DurableAlarmError | HostProtocolError | ConversationClientError;
|
|
897
|
-
type ClientAwaitFailure = LedgerError | SettlementConflict | HostProtocolError | ConversationClientError;
|
|
898
|
-
type ClientObserveFailure = ConversationStoreError | ConversationNotMaterialized | HostProtocolError | ConversationClientError;
|
|
899
|
-
type ClientAbortFailure = LedgerError | SettlementConflict | JoinedToHost | DurableRuntimeFailpointError | DurableAlarmError | HostProtocolError | ConversationClientError;
|
|
900
|
-
type ClientApprovalFailure = LedgerError | SettlementConflict | ApprovalConflict | DurableAlarmError | HostProtocolError | ConversationClientError;
|
|
901
|
-
type ClientUnknownFailure = LedgerError | SettlementConflict | UnknownResolutionConflict | JoinedToHost | DurableRuntimeFailpointError | DurableAlarmError | HostProtocolError | ConversationClientError;
|
|
902
|
-
declare const CloudflareConversationClient_base: Context.ServiceClass<CloudflareConversationClient, "@effect-agent/platform-cloudflare/CloudflareConversationClient", {
|
|
903
|
-
/** Encode the input client-side, then durably submit to the owning Object. */
|
|
904
|
-
readonly submit: <InputSchema extends Schema.Top>(agent: DurableSubmitAgent<InputSchema>, input: InputSchema["Type"], options: DurableSubmitOptions) => Effect.Effect<Receipt, ClientSubmitFailure, InputSchema["EncodingServices"]>;
|
|
905
|
-
/** Wake-hinted, poll-guaranteed settlement wait executed inside the owning Object. */
|
|
906
|
-
readonly awaitSettlement: (receipt: Receipt) => Effect.Effect<Settlement, ClientAwaitFailure>;
|
|
907
|
-
/** One bounded page of canonical records. */
|
|
908
|
-
readonly readPage: (conversationId: ConversationId, options?: {
|
|
909
|
-
readonly afterSequence?: CanonicalSequence | undefined;
|
|
910
|
-
readonly limit?: number | undefined;
|
|
911
|
-
}) => Effect.Effect<ReadonlyArray<CanonicalRecordEnvelope>, ClientObserveFailure>;
|
|
912
|
-
/**
|
|
913
|
-
* Every canonical record up to the CURRENT committed tail, via repeated pages. A
|
|
914
|
-
* snapshot read, not a live observation — callers wanting liveness re-read after
|
|
915
|
-
* `awaitSettlement`.
|
|
916
|
-
*/
|
|
917
|
-
readonly readAll: (conversationId: ConversationId) => Effect.Effect<ReadonlyArray<CanonicalRecordEnvelope>, ClientObserveFailure>;
|
|
918
|
-
/**
|
|
919
|
-
* Submission-addressed operations take the owning Conversation explicitly (from the
|
|
920
|
-
* Receipt): minted Submission identities stay OPAQUE outside the storage adapter that
|
|
921
|
-
* minted them (D-P6-5), so the client never parses one to find the lane.
|
|
922
|
-
*/
|
|
923
|
-
readonly abort: (conversationId: ConversationId, command: AbortCommand) => Effect.Effect<AbortIntent, ClientAbortFailure>;
|
|
924
|
-
readonly resolveApproval: (conversationId: ConversationId, command: ApprovalDecisionCommand) => Effect.Effect<ApprovalDecisionIntent, ClientApprovalFailure>;
|
|
925
|
-
readonly resolveUnknown: (conversationId: ConversationId, command: UnknownResolutionCommand) => Effect.Effect<UnknownResolutionIntent, ClientUnknownFailure>;
|
|
926
|
-
}>;
|
|
927
|
-
/** Worker-side client over the Conversation Object namespace (DEPLOY-010). */
|
|
928
|
-
declare class CloudflareConversationClient extends CloudflareConversationClient_base {
|
|
929
|
-
static readonly layer: Layer.Layer<CloudflareConversationClient, never, ConversationObjectNamespace>;
|
|
930
|
-
}
|
|
931
|
-
//#endregion
|
|
932
|
-
//#region src/conversation-object.d.ts
|
|
933
|
-
/**
|
|
934
|
-
* `makeConversationObjectClass(options, observability?)` — the Conversation Durable Object
|
|
935
|
-
* (plan §1.4,
|
|
936
|
-
* D-P6-1): a factory returning a class that applications export from their Worker entry.
|
|
937
|
-
* One SQLite-backed Object per Conversation is the serialized owner (durability §6); the
|
|
938
|
-
* Object never runs `runResolvedWorker`'s infinite loop — each ingress event or alarm runs
|
|
939
|
-
* ONE bounded `runRecovery` + `processConversationResolved` pass, and the persisted alarm
|
|
940
|
-
* (the single multiplexed slot, D-P6-2) finishes accepted work across evictions WITHOUT any
|
|
941
|
-
* incoming request.
|
|
942
|
-
*
|
|
943
|
-
* Constructor gate (`blockConcurrencyWhile`) is LOCAL-ONLY: schema migration and the
|
|
944
|
-
* exact-version check, configuration decode, and the defensive ensure-alarm half of the
|
|
945
|
-
* alarm invariant. It deliberately does NOT run the recovery pass: parent recovery can
|
|
946
|
-
* require child-Object reads and vice versa, and two Objects blocked in constructor gates
|
|
947
|
-
* awaiting each other's RPC would deadlock (plan §1.4). Instead every pass runs
|
|
948
|
-
* `runRecovery` BEFORE any claim, so reconciliation still strictly precedes new work.
|
|
949
|
-
*/
|
|
950
|
-
/** Construction options for one deployed Conversation Object class. */
|
|
951
|
-
interface ConversationObjectOptions extends CloudflareDurableRuntimeOptions {
|
|
952
|
-
/**
|
|
953
|
-
* Name of the Worker `env` binding carrying THIS class's `DurableObjectNamespace` — the
|
|
954
|
-
* Object's route back to sibling Conversation Objects for the WP2 cross-Object port calls
|
|
955
|
-
* and remote wakes (DEPLOY-010: the binding enters through a Layer, never ambiently).
|
|
956
|
-
*/
|
|
957
|
-
readonly namespaceBinding: string;
|
|
958
|
-
}
|
|
959
|
-
declare const AdminExplainRequest_base: Schema.Class<AdminExplainRequest, Schema.Struct<{
|
|
960
|
-
readonly submissionId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "@effect-agent/core/SubmissionId">>;
|
|
961
|
-
}>, {}>;
|
|
962
|
-
/** Explain one Submission (`submissionId` present) or every nonterminal lane member. */
|
|
963
|
-
declare class AdminExplainRequest extends AdminExplainRequest_base {}
|
|
964
|
-
declare const AdminVerifyRequest_base: Schema.Class<AdminVerifyRequest, Schema.Struct<{}>, {}>;
|
|
965
|
-
/** Verify carries no parameters — the addressed Object IS the lane. */
|
|
966
|
-
declare class AdminVerifyRequest extends AdminVerifyRequest_base {}
|
|
967
|
-
/** Every typed failure of the four admin entry points, plus the protocol's own errors. */
|
|
968
|
-
declare const AdminFailure: Schema.Union<readonly [typeof OperationDenied, typeof RetryRefused, typeof LedgerError, typeof RunJournalError, typeof DigestError, typeof OwnershipLost, typeof SettlementConflict, typeof ConversationStoreError, typeof ConversationNotMaterialized, typeof AppendConflict, typeof FenceRejected, typeof DurableRuntimeFailpointError, typeof DurableAlarmError, typeof HostProtocolError]>;
|
|
969
|
-
type AdminFailure = typeof AdminFailure.Type;
|
|
970
|
-
declare const ExplainedRecovery_base: Schema.Class<ExplainedRecovery, Schema.TaggedStruct<"ExplainedRecovery", {
|
|
971
|
-
readonly explanations: Schema.$Array<typeof RecoveryExplanation>;
|
|
972
|
-
}>, {}>;
|
|
973
|
-
declare class ExplainedRecovery extends ExplainedRecovery_base {}
|
|
974
|
-
declare const VerifiedIntegrity_base: Schema.Class<VerifiedIntegrity, Schema.TaggedStruct<"VerifiedIntegrity", {
|
|
975
|
-
readonly report: typeof IntegrityReport;
|
|
976
|
-
}>, {}>;
|
|
977
|
-
declare class VerifiedIntegrity extends VerifiedIntegrity_base {}
|
|
978
|
-
declare const RetryExecuted_base: Schema.Class<RetryExecuted, Schema.TaggedStruct<"RetryExecuted", {
|
|
979
|
-
readonly report: typeof RecoveryReport;
|
|
980
|
-
}>, {}>;
|
|
981
|
-
declare class RetryExecuted extends RetryExecuted_base {}
|
|
982
|
-
declare const ObligationsScanned_base: Schema.Class<ObligationsScanned, Schema.TaggedStruct<"ObligationsScanned", {
|
|
983
|
-
readonly report: typeof ObligationReport;
|
|
984
|
-
}>, {}>;
|
|
985
|
-
declare class ObligationsScanned extends ObligationsScanned_base {}
|
|
986
|
-
declare const AdminFailed_base: Schema.Class<AdminFailed, Schema.TaggedStruct<"AdminFailed", {
|
|
987
|
-
readonly failure: Schema.Union<readonly [typeof OperationDenied, typeof RetryRefused, typeof LedgerError, typeof RunJournalError, typeof DigestError, typeof OwnershipLost, typeof SettlementConflict, typeof ConversationStoreError, typeof ConversationNotMaterialized, typeof AppendConflict, typeof FenceRejected, typeof DurableRuntimeFailpointError, typeof DurableAlarmError, typeof HostProtocolError]>;
|
|
988
|
-
}>, {}>;
|
|
989
|
-
/** The admin entry point failed TYPED on the Object; the failure re-decodes verbatim. */
|
|
990
|
-
declare class AdminFailed extends AdminFailed_base {}
|
|
991
|
-
/** The uniform answer of one admin entry point. Callers narrow by the tag their call implies. */
|
|
992
|
-
declare const AdminResponse: Schema.Union<readonly [typeof ExplainedRecovery, typeof VerifiedIntegrity, typeof RetryExecuted, typeof ObligationsScanned, typeof AdminFailed]>;
|
|
993
|
-
type AdminResponse = typeof AdminResponse.Type;
|
|
994
|
-
declare const decodeAdminExplainRequest: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<AdminExplainRequest, Schema.SchemaError, never>;
|
|
995
|
-
declare const decodeAdminVerifyRequest: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<AdminVerifyRequest, Schema.SchemaError, never>;
|
|
996
|
-
declare const decodeRetryCommand: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<RetryCommand, Schema.SchemaError, never>;
|
|
997
|
-
declare const decodeObligationThresholds: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<ObligationThresholds, Schema.SchemaError, never>;
|
|
998
|
-
declare const encodeAdminResponse: (input: AdminFailed | ExplainedRecovery | ObligationsScanned | RetryExecuted | VerifiedIntegrity, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<{
|
|
999
|
-
readonly _tag: "ExplainedRecovery";
|
|
1000
|
-
readonly explanations: readonly {
|
|
1001
|
-
readonly submission: {
|
|
1002
|
-
readonly submissionId: string;
|
|
1003
|
-
readonly conversationId: string;
|
|
1004
|
-
readonly state: "admitted" | "input-applied" | "joined" | "joining" | "ready" | "running" | "settled" | "suspended" | "terminalizing" | "unknown";
|
|
1005
|
-
readonly queueSequence: number;
|
|
1006
|
-
readonly createdAt: string;
|
|
1007
|
-
readonly readyAt?: string | undefined;
|
|
1008
|
-
readonly ageSeconds: number;
|
|
1009
|
-
readonly readyAgeSeconds?: number | undefined;
|
|
1010
|
-
readonly parentLinkage?: {
|
|
1011
|
-
readonly parentSubmissionId: string;
|
|
1012
|
-
readonly parentToolCallId: string;
|
|
1013
|
-
} | undefined;
|
|
1014
|
-
};
|
|
1015
|
-
readonly evidence: {
|
|
1016
|
-
readonly conversationMaterialized: boolean;
|
|
1017
|
-
readonly inputRecorded: boolean;
|
|
1018
|
-
readonly abortRecorded: boolean;
|
|
1019
|
-
readonly recordedSettlementOutcome?: "aborted" | "completed" | "failed" | undefined;
|
|
1020
|
-
readonly openToolCalls: readonly {
|
|
1021
|
-
readonly toolCallId: string;
|
|
1022
|
-
readonly toolName: string;
|
|
1023
|
-
readonly turn: number;
|
|
1024
|
-
}[];
|
|
1025
|
-
readonly openDelegationCalls: readonly {
|
|
1026
|
-
readonly toolCallId: string;
|
|
1027
|
-
readonly toolName: string;
|
|
1028
|
-
readonly turn: number;
|
|
1029
|
-
readonly requested: boolean;
|
|
1030
|
-
readonly started: boolean;
|
|
1031
|
-
readonly joined: boolean;
|
|
1032
|
-
readonly childConversationId?: string | undefined;
|
|
1033
|
-
readonly childSubmissionId?: string | undefined;
|
|
1034
|
-
readonly admission?: "admitted" | "indeterminate" | "not-admitted" | undefined;
|
|
1035
|
-
}[];
|
|
1036
|
-
readonly approvalsPending: readonly {
|
|
1037
|
-
readonly toolCallId: string;
|
|
1038
|
-
readonly turn: number;
|
|
1039
|
-
}[];
|
|
1040
|
-
readonly unknownCalls: readonly {
|
|
1041
|
-
readonly toolCallId: string;
|
|
1042
|
-
readonly toolName: string;
|
|
1043
|
-
readonly reason: string;
|
|
1044
|
-
readonly recordedAt: string;
|
|
1045
|
-
readonly resolved: boolean;
|
|
1046
|
-
}[];
|
|
1047
|
-
readonly approvalDecisions: readonly {
|
|
1048
|
-
readonly submissionId: string;
|
|
1049
|
-
readonly toolCallId: string;
|
|
1050
|
-
readonly decision: "approved" | "denied";
|
|
1051
|
-
readonly resolver: string;
|
|
1052
|
-
readonly reason: string;
|
|
1053
|
-
readonly decidedAt: string;
|
|
1054
|
-
readonly canonicalRecordId?: string | undefined;
|
|
1055
|
-
}[];
|
|
1056
|
-
readonly unknownResolutions: readonly {
|
|
1057
|
-
readonly submissionId: string;
|
|
1058
|
-
readonly toolCallId: string;
|
|
1059
|
-
readonly author: string;
|
|
1060
|
-
readonly reason: string;
|
|
1061
|
-
readonly resolution: {
|
|
1062
|
-
readonly _tag: "CompletedWithResult";
|
|
1063
|
-
readonly result: Schema.Json;
|
|
1064
|
-
readonly isFailure: boolean;
|
|
1065
|
-
} | {
|
|
1066
|
-
readonly _tag: "NeverHappened";
|
|
1067
|
-
} | {
|
|
1068
|
-
readonly _tag: "SafeToRetry";
|
|
1069
|
-
} | {
|
|
1070
|
-
readonly _tag: "AbortSubmission";
|
|
1071
|
-
};
|
|
1072
|
-
readonly resolvedAt: string;
|
|
1073
|
-
readonly canonicalRecordId?: string | undefined;
|
|
1074
|
-
}[];
|
|
1075
|
-
readonly childAttachments: readonly {
|
|
1076
|
-
readonly toolCallId: string;
|
|
1077
|
-
readonly childSubmissionId: string;
|
|
1078
|
-
readonly childState: "admitted" | "input-applied" | "joined" | "joining" | "ready" | "running" | "settled" | "suspended" | "terminalizing" | "unknown";
|
|
1079
|
-
readonly childOutcome?: "aborted" | "completed" | "failed" | undefined;
|
|
1080
|
-
}[];
|
|
1081
|
-
readonly joins: readonly {
|
|
1082
|
-
readonly submissionId: string;
|
|
1083
|
-
readonly state: "admitted" | "input-applied" | "joined" | "joining" | "ready" | "running" | "settled" | "suspended" | "terminalizing" | "unknown";
|
|
1084
|
-
readonly hostSubmissionId: string;
|
|
1085
|
-
}[];
|
|
1086
|
-
readonly hostSubmissionId?: string | undefined;
|
|
1087
|
-
readonly suspension?: {
|
|
1088
|
-
readonly reason: {
|
|
1089
|
-
readonly _tag: "ApprovalPending";
|
|
1090
|
-
readonly toolCallIds: readonly [string, ...string[]];
|
|
1091
|
-
} | {
|
|
1092
|
-
readonly _tag: "WaitingForChild";
|
|
1093
|
-
readonly children: readonly [{
|
|
1094
|
-
readonly toolCallId: string;
|
|
1095
|
-
readonly childSubmissionId: string;
|
|
1096
|
-
}, ...{
|
|
1097
|
-
readonly toolCallId: string;
|
|
1098
|
-
readonly childSubmissionId: string;
|
|
1099
|
-
}[]];
|
|
1100
|
-
};
|
|
1101
|
-
readonly suspendedAt: string;
|
|
1102
|
-
} | undefined;
|
|
1103
|
-
readonly abortIntent?: {
|
|
1104
|
-
readonly submissionId: string;
|
|
1105
|
-
readonly author: string;
|
|
1106
|
-
readonly reason: string;
|
|
1107
|
-
readonly requestedAt: string;
|
|
1108
|
-
readonly canonicalRecordId?: string | undefined;
|
|
1109
|
-
} | undefined;
|
|
1110
|
-
};
|
|
1111
|
-
readonly decision: {
|
|
1112
|
-
readonly _tag: "CompleteMaterialization";
|
|
1113
|
-
readonly submissionId: string;
|
|
1114
|
-
} | {
|
|
1115
|
-
readonly _tag: "RepairReadiness";
|
|
1116
|
-
readonly submissionId: string;
|
|
1117
|
-
} | {
|
|
1118
|
-
readonly _tag: "ApplyInput";
|
|
1119
|
-
readonly submissionId: string;
|
|
1120
|
-
} | {
|
|
1121
|
-
readonly _tag: "RepairInputMarker";
|
|
1122
|
-
readonly submissionId: string;
|
|
1123
|
-
} | {
|
|
1124
|
-
readonly _tag: "ResumeFromTurnBoundary";
|
|
1125
|
-
readonly submissionId: string;
|
|
1126
|
-
} | {
|
|
1127
|
-
readonly _tag: "AppendReservedSettlement";
|
|
1128
|
-
readonly submissionId: string;
|
|
1129
|
-
readonly settlementId: string;
|
|
1130
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
1131
|
-
} | {
|
|
1132
|
-
readonly _tag: "FinalizeLedgerFromHistory";
|
|
1133
|
-
readonly submissionId: string;
|
|
1134
|
-
readonly settlementId: string;
|
|
1135
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
1136
|
-
} | {
|
|
1137
|
-
readonly _tag: "SettleAborted";
|
|
1138
|
-
readonly submissionId: string;
|
|
1139
|
-
} | {
|
|
1140
|
-
readonly _tag: "MarkUnknown";
|
|
1141
|
-
readonly submissionId: string;
|
|
1142
|
-
readonly reason: string;
|
|
1143
|
-
readonly openToolCallIds: readonly string[];
|
|
1144
|
-
} | {
|
|
1145
|
-
readonly _tag: "ResumePendingToolBatch";
|
|
1146
|
-
readonly submissionId: string;
|
|
1147
|
-
readonly turn: number;
|
|
1148
|
-
} | {
|
|
1149
|
-
readonly _tag: "AwaitApprovalDecision";
|
|
1150
|
-
readonly submissionId: string;
|
|
1151
|
-
} | {
|
|
1152
|
-
readonly _tag: "ResumeSuspended";
|
|
1153
|
-
readonly submissionId: string;
|
|
1154
|
-
} | {
|
|
1155
|
-
readonly _tag: "AwaitUnknownResolution";
|
|
1156
|
-
readonly submissionId: string;
|
|
1157
|
-
} | {
|
|
1158
|
-
readonly _tag: "ApplyUnknownResolutions";
|
|
1159
|
-
readonly submissionId: string;
|
|
1160
|
-
} | {
|
|
1161
|
-
readonly _tag: "RevertJoining";
|
|
1162
|
-
readonly submissionId: string;
|
|
1163
|
-
} | {
|
|
1164
|
-
readonly _tag: "RepairJoinMarker";
|
|
1165
|
-
readonly submissionId: string;
|
|
1166
|
-
} | {
|
|
1167
|
-
readonly _tag: "SettleJoinedWithHost";
|
|
1168
|
-
readonly submissionId: string;
|
|
1169
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
1170
|
-
} | {
|
|
1171
|
-
readonly _tag: "AwaitHostSettlement";
|
|
1172
|
-
readonly submissionId: string;
|
|
1173
|
-
readonly hostSubmissionId?: string | undefined;
|
|
1174
|
-
} | {
|
|
1175
|
-
readonly _tag: "CompleteChildAdmission";
|
|
1176
|
-
readonly submissionId: string;
|
|
1177
|
-
readonly toolCallId: string;
|
|
1178
|
-
} | {
|
|
1179
|
-
readonly _tag: "AwaitChildAdmissionResolution";
|
|
1180
|
-
readonly submissionId: string;
|
|
1181
|
-
readonly toolCallId: string;
|
|
1182
|
-
} | {
|
|
1183
|
-
readonly _tag: "RepairSubagentStartLink";
|
|
1184
|
-
readonly submissionId: string;
|
|
1185
|
-
readonly toolCallId: string;
|
|
1186
|
-
} | {
|
|
1187
|
-
readonly _tag: "EnsureWaitingForChild";
|
|
1188
|
-
readonly submissionId: string;
|
|
1189
|
-
readonly children: readonly [{
|
|
1190
|
-
readonly toolCallId: string;
|
|
1191
|
-
readonly childSubmissionId: string;
|
|
1192
|
-
}, ...{
|
|
1193
|
-
readonly toolCallId: string;
|
|
1194
|
-
readonly childSubmissionId: string;
|
|
1195
|
-
}[]];
|
|
1196
|
-
} | {
|
|
1197
|
-
readonly _tag: "AwaitChildSettlement";
|
|
1198
|
-
readonly submissionId: string;
|
|
1199
|
-
} | {
|
|
1200
|
-
readonly _tag: "ResumeWaitingParent";
|
|
1201
|
-
readonly submissionId: string;
|
|
1202
|
-
readonly children: readonly [{
|
|
1203
|
-
readonly toolCallId: string;
|
|
1204
|
-
readonly childSubmissionId: string;
|
|
1205
|
-
}, ...{
|
|
1206
|
-
readonly toolCallId: string;
|
|
1207
|
-
readonly childSubmissionId: string;
|
|
1208
|
-
}[]];
|
|
1209
|
-
} | {
|
|
1210
|
-
readonly _tag: "ApplyJoinAccounting";
|
|
1211
|
-
readonly submissionId: string;
|
|
1212
|
-
readonly toolCallId: string;
|
|
1213
|
-
readonly reservationId: string;
|
|
1214
|
-
} | {
|
|
1215
|
-
readonly _tag: "PropagateChildAbort";
|
|
1216
|
-
readonly submissionId: string;
|
|
1217
|
-
readonly children: readonly [{
|
|
1218
|
-
readonly toolCallId: string;
|
|
1219
|
-
readonly childSubmissionId: string;
|
|
1220
|
-
}, ...{
|
|
1221
|
-
readonly toolCallId: string;
|
|
1222
|
-
readonly childSubmissionId: string;
|
|
1223
|
-
}[]];
|
|
1224
|
-
} | {
|
|
1225
|
-
readonly _tag: "ReleaseOrphanChildReservation";
|
|
1226
|
-
readonly submissionId: string;
|
|
1227
|
-
readonly reservationIds: readonly [string, ...string[]];
|
|
1228
|
-
} | {
|
|
1229
|
-
readonly _tag: "AwaitParentEstablishment";
|
|
1230
|
-
readonly submissionId: string;
|
|
1231
|
-
readonly parentSubmissionId: string;
|
|
1232
|
-
readonly parentToolCallId: string;
|
|
1233
|
-
} | {
|
|
1234
|
-
readonly _tag: "NoAction";
|
|
1235
|
-
readonly submissionId: string;
|
|
1236
|
-
};
|
|
1237
|
-
readonly decisionMeaning: string;
|
|
1238
|
-
readonly disposition: "deferred" | "none" | "repaired" | "unknown";
|
|
1239
|
-
readonly explainedAt: string;
|
|
1240
|
-
}[];
|
|
1241
|
-
} | {
|
|
1242
|
-
readonly _tag: "VerifiedIntegrity";
|
|
1243
|
-
readonly report: {
|
|
1244
|
-
readonly conversationId: string;
|
|
1245
|
-
readonly tailSequence: number;
|
|
1246
|
-
readonly recordCount: number;
|
|
1247
|
-
readonly submissionCount: number;
|
|
1248
|
-
readonly checks: readonly {
|
|
1249
|
-
readonly name: "all-settled" | "checkpoint-binding" | "digest-chain" | "fifo-input-order" | "fifo-settlement-order" | "ledger-canonical-agreement" | "record-identity" | "schema-round-trip" | "sequence-contiguity" | "terminal-uniqueness";
|
|
1250
|
-
readonly status: "failed" | "passed" | "skipped";
|
|
1251
|
-
readonly detail?: string | undefined;
|
|
1252
|
-
}[];
|
|
1253
|
-
readonly ok: boolean;
|
|
1254
|
-
};
|
|
1255
|
-
} | {
|
|
1256
|
-
readonly _tag: "RetryExecuted";
|
|
1257
|
-
readonly report: {
|
|
1258
|
-
readonly submissionId: string;
|
|
1259
|
-
readonly conversationId: string;
|
|
1260
|
-
readonly decision: {
|
|
1261
|
-
readonly _tag: "CompleteMaterialization";
|
|
1262
|
-
readonly submissionId: string;
|
|
1263
|
-
} | {
|
|
1264
|
-
readonly _tag: "RepairReadiness";
|
|
1265
|
-
readonly submissionId: string;
|
|
1266
|
-
} | {
|
|
1267
|
-
readonly _tag: "ApplyInput";
|
|
1268
|
-
readonly submissionId: string;
|
|
1269
|
-
} | {
|
|
1270
|
-
readonly _tag: "RepairInputMarker";
|
|
1271
|
-
readonly submissionId: string;
|
|
1272
|
-
} | {
|
|
1273
|
-
readonly _tag: "ResumeFromTurnBoundary";
|
|
1274
|
-
readonly submissionId: string;
|
|
1275
|
-
} | {
|
|
1276
|
-
readonly _tag: "AppendReservedSettlement";
|
|
1277
|
-
readonly submissionId: string;
|
|
1278
|
-
readonly settlementId: string;
|
|
1279
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
1280
|
-
} | {
|
|
1281
|
-
readonly _tag: "FinalizeLedgerFromHistory";
|
|
1282
|
-
readonly submissionId: string;
|
|
1283
|
-
readonly settlementId: string;
|
|
1284
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
1285
|
-
} | {
|
|
1286
|
-
readonly _tag: "SettleAborted";
|
|
1287
|
-
readonly submissionId: string;
|
|
1288
|
-
} | {
|
|
1289
|
-
readonly _tag: "MarkUnknown";
|
|
1290
|
-
readonly submissionId: string;
|
|
1291
|
-
readonly reason: string;
|
|
1292
|
-
readonly openToolCallIds: readonly string[];
|
|
1293
|
-
} | {
|
|
1294
|
-
readonly _tag: "ResumePendingToolBatch";
|
|
1295
|
-
readonly submissionId: string;
|
|
1296
|
-
readonly turn: number;
|
|
1297
|
-
} | {
|
|
1298
|
-
readonly _tag: "AwaitApprovalDecision";
|
|
1299
|
-
readonly submissionId: string;
|
|
1300
|
-
} | {
|
|
1301
|
-
readonly _tag: "ResumeSuspended";
|
|
1302
|
-
readonly submissionId: string;
|
|
1303
|
-
} | {
|
|
1304
|
-
readonly _tag: "AwaitUnknownResolution";
|
|
1305
|
-
readonly submissionId: string;
|
|
1306
|
-
} | {
|
|
1307
|
-
readonly _tag: "ApplyUnknownResolutions";
|
|
1308
|
-
readonly submissionId: string;
|
|
1309
|
-
} | {
|
|
1310
|
-
readonly _tag: "RevertJoining";
|
|
1311
|
-
readonly submissionId: string;
|
|
1312
|
-
} | {
|
|
1313
|
-
readonly _tag: "RepairJoinMarker";
|
|
1314
|
-
readonly submissionId: string;
|
|
1315
|
-
} | {
|
|
1316
|
-
readonly _tag: "SettleJoinedWithHost";
|
|
1317
|
-
readonly submissionId: string;
|
|
1318
|
-
readonly outcome: "aborted" | "completed" | "failed";
|
|
1319
|
-
} | {
|
|
1320
|
-
readonly _tag: "AwaitHostSettlement";
|
|
1321
|
-
readonly submissionId: string;
|
|
1322
|
-
readonly hostSubmissionId?: string | undefined;
|
|
1323
|
-
} | {
|
|
1324
|
-
readonly _tag: "CompleteChildAdmission";
|
|
1325
|
-
readonly submissionId: string;
|
|
1326
|
-
readonly toolCallId: string;
|
|
1327
|
-
} | {
|
|
1328
|
-
readonly _tag: "AwaitChildAdmissionResolution";
|
|
1329
|
-
readonly submissionId: string;
|
|
1330
|
-
readonly toolCallId: string;
|
|
1331
|
-
} | {
|
|
1332
|
-
readonly _tag: "RepairSubagentStartLink";
|
|
1333
|
-
readonly submissionId: string;
|
|
1334
|
-
readonly toolCallId: string;
|
|
1335
|
-
} | {
|
|
1336
|
-
readonly _tag: "EnsureWaitingForChild";
|
|
1337
|
-
readonly submissionId: string;
|
|
1338
|
-
readonly children: readonly [{
|
|
1339
|
-
readonly toolCallId: string;
|
|
1340
|
-
readonly childSubmissionId: string;
|
|
1341
|
-
}, ...{
|
|
1342
|
-
readonly toolCallId: string;
|
|
1343
|
-
readonly childSubmissionId: string;
|
|
1344
|
-
}[]];
|
|
1345
|
-
} | {
|
|
1346
|
-
readonly _tag: "AwaitChildSettlement";
|
|
1347
|
-
readonly submissionId: string;
|
|
1348
|
-
} | {
|
|
1349
|
-
readonly _tag: "ResumeWaitingParent";
|
|
1350
|
-
readonly submissionId: string;
|
|
1351
|
-
readonly children: readonly [{
|
|
1352
|
-
readonly toolCallId: string;
|
|
1353
|
-
readonly childSubmissionId: string;
|
|
1354
|
-
}, ...{
|
|
1355
|
-
readonly toolCallId: string;
|
|
1356
|
-
readonly childSubmissionId: string;
|
|
1357
|
-
}[]];
|
|
1358
|
-
} | {
|
|
1359
|
-
readonly _tag: "ApplyJoinAccounting";
|
|
1360
|
-
readonly submissionId: string;
|
|
1361
|
-
readonly toolCallId: string;
|
|
1362
|
-
readonly reservationId: string;
|
|
1363
|
-
} | {
|
|
1364
|
-
readonly _tag: "PropagateChildAbort";
|
|
1365
|
-
readonly submissionId: string;
|
|
1366
|
-
readonly children: readonly [{
|
|
1367
|
-
readonly toolCallId: string;
|
|
1368
|
-
readonly childSubmissionId: string;
|
|
1369
|
-
}, ...{
|
|
1370
|
-
readonly toolCallId: string;
|
|
1371
|
-
readonly childSubmissionId: string;
|
|
1372
|
-
}[]];
|
|
1373
|
-
} | {
|
|
1374
|
-
readonly _tag: "ReleaseOrphanChildReservation";
|
|
1375
|
-
readonly submissionId: string;
|
|
1376
|
-
readonly reservationIds: readonly [string, ...string[]];
|
|
1377
|
-
} | {
|
|
1378
|
-
readonly _tag: "AwaitParentEstablishment";
|
|
1379
|
-
readonly submissionId: string;
|
|
1380
|
-
readonly parentSubmissionId: string;
|
|
1381
|
-
readonly parentToolCallId: string;
|
|
1382
|
-
} | {
|
|
1383
|
-
readonly _tag: "NoAction";
|
|
1384
|
-
readonly submissionId: string;
|
|
1385
|
-
};
|
|
1386
|
-
readonly disposition: "deferred" | "none" | "repaired" | "unknown";
|
|
1387
|
-
};
|
|
1388
|
-
} | {
|
|
1389
|
-
readonly _tag: "ObligationsScanned";
|
|
1390
|
-
readonly report: {
|
|
1391
|
-
readonly thresholds: {
|
|
1392
|
-
readonly agingSeconds: number;
|
|
1393
|
-
readonly overdueSeconds: number;
|
|
1394
|
-
};
|
|
1395
|
-
readonly entries: readonly {
|
|
1396
|
-
readonly submissionId: string;
|
|
1397
|
-
readonly conversationId: string;
|
|
1398
|
-
readonly state: "admitted" | "input-applied" | "joined" | "joining" | "ready" | "running" | "settled" | "suspended" | "terminalizing" | "unknown";
|
|
1399
|
-
readonly blockedOn: "approval" | "ready-aged" | "running-aged" | "unknown" | "waitingForChild";
|
|
1400
|
-
readonly ageSeconds: number;
|
|
1401
|
-
readonly severity: "aging" | "ok" | "overdue";
|
|
1402
|
-
}[];
|
|
1403
|
-
readonly generatedAt: string;
|
|
1404
|
-
};
|
|
1405
|
-
} | {
|
|
1406
|
-
readonly _tag: "AdminFailed";
|
|
1407
|
-
readonly failure: {
|
|
1408
|
-
readonly _tag: "OperationDenied";
|
|
1409
|
-
readonly operation: "explain" | "observe" | "resolveApproval" | "resolveUnknown" | "retry" | "scanObligations" | "verify" | "wake";
|
|
1410
|
-
readonly reason: string;
|
|
1411
|
-
readonly conversationId?: string | undefined;
|
|
1412
|
-
readonly submissionId?: string | undefined;
|
|
1413
|
-
} | {
|
|
1414
|
-
readonly _tag: "RetryRefused";
|
|
1415
|
-
readonly submissionId: string;
|
|
1416
|
-
readonly refusal: "await-approval-decision" | "await-unknown-resolution" | "settled";
|
|
1417
|
-
readonly decisionTag: string;
|
|
1418
|
-
readonly message: string;
|
|
1419
|
-
} | {
|
|
1420
|
-
readonly _tag: "LedgerError";
|
|
1421
|
-
readonly operation: string;
|
|
1422
|
-
readonly message: string;
|
|
1423
|
-
readonly cause?: Schema.Json | undefined;
|
|
1424
|
-
} | {
|
|
1425
|
-
readonly _tag: "RunJournalError";
|
|
1426
|
-
readonly message: string;
|
|
1427
|
-
readonly cause?: Schema.Json | undefined;
|
|
1428
|
-
} | {
|
|
1429
|
-
readonly _tag: "DigestError";
|
|
1430
|
-
readonly message: string;
|
|
1431
|
-
readonly cause?: Schema.Json | undefined;
|
|
1432
|
-
} | {
|
|
1433
|
-
readonly _tag: "OwnershipLost";
|
|
1434
|
-
readonly submissionId: string;
|
|
1435
|
-
readonly actualEpoch: number;
|
|
1436
|
-
} | {
|
|
1437
|
-
readonly _tag: "SettlementConflict";
|
|
1438
|
-
readonly submissionId: string;
|
|
1439
|
-
readonly existingOutcome: "aborted" | "completed" | "failed";
|
|
1440
|
-
} | {
|
|
1441
|
-
readonly _tag: "ConversationStoreError";
|
|
1442
|
-
readonly operation: string;
|
|
1443
|
-
readonly message: string;
|
|
1444
|
-
readonly cause?: Schema.Json | undefined;
|
|
1445
|
-
} | {
|
|
1446
|
-
readonly _tag: "ConversationNotMaterialized";
|
|
1447
|
-
readonly conversationId: string;
|
|
1448
|
-
} | {
|
|
1449
|
-
readonly _tag: "AppendConflict";
|
|
1450
|
-
readonly conversationId: string;
|
|
1451
|
-
readonly batchId: string;
|
|
1452
|
-
readonly reason: "batch-digest" | "record-identity" | "tail";
|
|
1453
|
-
readonly actualTailSequence?: number | undefined;
|
|
1454
|
-
readonly actualTailDigest?: string | undefined;
|
|
1455
|
-
} | {
|
|
1456
|
-
readonly _tag: "FenceRejected";
|
|
1457
|
-
readonly conversationId: string;
|
|
1458
|
-
readonly actualEpoch: number;
|
|
1459
|
-
readonly attemptedEpoch: number;
|
|
1460
|
-
} | {
|
|
1461
|
-
readonly _tag: "DurableRuntimeFailpointError";
|
|
1462
|
-
readonly location: "abort:after-intent" | "approval:after-request-append" | "approval:after-suspend" | "claim:after-claim" | "compaction:after-canonical-append" | "input:after-canonical-append" | "join:after-canonical-append" | "join:after-claim" | "resolve:after-intent" | "step:after-step-append" | "subagent:after-admit" | "subagent:after-child-abort-intent" | "subagent:after-child-ready" | "subagent:after-join-append" | "subagent:after-release" | "subagent:after-release-pending" | "subagent:after-request-append" | "subagent:after-reserve" | "subagent:after-sibling-settle" | "subagent:after-start-append" | "subagent:after-suspend" | "submit:after-admit" | "submit:after-materialize" | "terminalize:after-canonical-append" | "terminalize:after-reserve" | "tools:after-prepared-append" | "turn:after-canonical-append" | "turn:after-response-append" | "turn:after-results-append";
|
|
1463
|
-
} | {
|
|
1464
|
-
readonly _tag: "DurableAlarmError";
|
|
1465
|
-
readonly operation: string;
|
|
1466
|
-
readonly message: string;
|
|
1467
|
-
readonly cause?: Schema.Json | undefined;
|
|
1468
|
-
} | {
|
|
1469
|
-
readonly _tag: "HostProtocolError";
|
|
1470
|
-
readonly message: string;
|
|
1471
|
-
};
|
|
1472
|
-
}, Schema.SchemaError, never>;
|
|
1473
|
-
declare const decodeAdminResponse: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Effect.Effect<AdminFailed | ExplainedRecovery | ObligationsScanned | RetryExecuted | VerifiedIntegrity, Schema.SchemaError, never>;
|
|
1474
|
-
/** The public endpoint surface of one Conversation Object instance. */
|
|
1475
|
-
interface ConversationObjectInstance extends DurableObject$1 {
|
|
1476
|
-
submitEncoded(encoded: unknown): Promise<unknown>;
|
|
1477
|
-
awaitSettlementEncoded(encoded: unknown): Promise<unknown>;
|
|
1478
|
-
observePage(encoded: unknown): Promise<unknown>;
|
|
1479
|
-
abortEncoded(encoded: unknown): Promise<unknown>;
|
|
1480
|
-
resolveApprovalEncoded(encoded: unknown): Promise<unknown>;
|
|
1481
|
-
resolveUnknownEncoded(encoded: unknown): Promise<unknown>;
|
|
1482
|
-
explainEncoded(encoded: unknown): Promise<unknown>;
|
|
1483
|
-
verifyEncoded(encoded: unknown): Promise<unknown>;
|
|
1484
|
-
retryEncoded(encoded: unknown): Promise<unknown>;
|
|
1485
|
-
obligationsEncoded(encoded: unknown): Promise<unknown>;
|
|
1486
|
-
portCall(encoded: unknown): Promise<unknown>;
|
|
1487
|
-
wake(): Promise<void>;
|
|
1488
|
-
alarm(alarmInfo?: AlarmInvocationInfo): Promise<void> | void;
|
|
1489
|
-
}
|
|
1490
|
-
/** The constructor shape workerd instantiates for each Conversation Object. */
|
|
1491
|
-
interface ConversationObjectClass {
|
|
1492
|
-
new (ctx: DurableObjectState, env: Cloudflare.Env): ConversationObjectInstance;
|
|
1493
|
-
}
|
|
1494
|
-
/**
|
|
1495
|
-
* Build the application's Conversation Object class (export it from the Worker entry).
|
|
1496
|
-
* effect-cf owns the cached ManagedRuntime, native RPC methods, event scopes, and post-handler
|
|
1497
|
-
* OTLP flush scheduling for RPC and alarm events. The optional outer Layer is built per native
|
|
1498
|
-
* event, so a host can install Tracer/Logger/Metric services and `OtlpExporter.Flusher` without
|
|
1499
|
-
* Effect Agent owning exporter lifecycle machinery.
|
|
1500
|
-
*/
|
|
1501
|
-
declare const makeConversationObjectClass: <EventLayerError = never, EventServices = never>(options: ConversationObjectOptions, observability?: Layer.Layer<EventServices, EventLayerError, DurableObjectContext | ConversationObjectNamespace | DurableObjectState$1.DurableObjectState | WorkerEnvironment>) => ConversationObjectClass;
|
|
1502
|
-
//#endregion
|
|
1503
|
-
//#region src/code-mode-executor.d.ts
|
|
1504
|
-
/**
|
|
1505
|
-
* The Cloudflare Dynamic Worker `CodeExecutor` adapter (C4 of ADR-0017;
|
|
1506
|
-
* DEPLOY-011). Each pass loads one fresh Worker through the Worker Loader
|
|
1507
|
-
* with `globalOutbound: null`, so generated code has no ambient network,
|
|
1508
|
-
* bindings, or secrets; its only authority is the pass-scoped host stub that
|
|
1509
|
-
* routes back to `CodeModeHostEntrypoint` and, from there, into the pass's
|
|
1510
|
-
* `CodeExecutionHost` service. Platform CPU limits stop synchronous runaway
|
|
1511
|
-
* programs; the executor-owned wall-clock deadline interrupts asynchronously
|
|
1512
|
-
* suspended passes. Deployment class `E` only: the adapter records no
|
|
1513
|
-
* persistent state and a later pass may run in a completely different
|
|
1514
|
-
* isolate.
|
|
1515
|
-
*/
|
|
1516
|
-
declare const dynamicWorkerImplementation: SandboxImplementation;
|
|
1517
|
-
/** The narrow host stub the dynamic worker receives (Workers RPC). */
|
|
1518
|
-
interface CodeModeHostStub {
|
|
1519
|
-
readonly call: (passId: string, hostCall: unknown) => Promise<unknown>;
|
|
1520
|
-
}
|
|
1521
|
-
/**
|
|
1522
|
-
* The host-side RPC target for dynamic workers. The application exposes it
|
|
1523
|
-
* from its Worker entry (`export { CodeModeHostEntrypoint }`) and hands the
|
|
1524
|
-
* adapter a same-instance stub — `ctx.exports.CodeModeHostEntrypoint()` in
|
|
1525
|
-
* production (a self service binding may reach a different instance and must
|
|
1526
|
-
* not be used there); tests bind it through Miniflare's `kCurrentWorker`.
|
|
1527
|
-
*/
|
|
1528
|
-
declare class CodeModeHostEntrypoint extends WorkerEntrypoint {
|
|
1529
|
-
call(passId: unknown, hostCall: unknown): Promise<unknown>;
|
|
1530
|
-
}
|
|
1531
|
-
interface DynamicWorkerCodeExecutorOptions {
|
|
1532
|
-
/** The `worker_loader` binding. */
|
|
1533
|
-
readonly loader: WorkerLoader;
|
|
1534
|
-
/**
|
|
1535
|
-
* A SAME-INSTANCE stub of `CodeModeHostEntrypoint`. In production create it
|
|
1536
|
-
* with `ctx.exports.CodeModeHostEntrypoint()`; a cross-instance stub would
|
|
1537
|
-
* dispatch host calls into an isolate without this pass's registry entry.
|
|
1538
|
-
*/
|
|
1539
|
-
readonly hostStub: CodeModeHostStub;
|
|
1540
|
-
/** Compatibility date for dynamic workers; defaults to `2025-05-01`. */
|
|
1541
|
-
readonly compatibilityDate?: string | undefined;
|
|
1542
|
-
}
|
|
1543
|
-
/** Layer building the Dynamic Worker `CodeExecutor` from resolved bindings. */
|
|
1544
|
-
declare const dynamicWorkerCodeExecutorLayer: (options: DynamicWorkerCodeExecutorOptions) => Layer.Layer<CodeExecutor>;
|
|
1545
|
-
//#endregion
|
|
1546
|
-
export { AbortRecorded, AdminExplainRequest, AdminFailed, AdminFailure, AdminResponse, AdminVerifyRequest, AdmissionLimitExceeded, ApprovalRecorded, CLOUDFLARE_DATABASE_CAP_BYTES, CLOUDFLARE_RUNTIME_DEFAULTS, ClientAbortFailure, ClientApprovalFailure, ClientAwaitFailure, ClientObserveFailure, ClientSubmitFailure, ClientUnknownFailure, CloudflareAdmissionLimitsValue, CloudflareBindingError, CloudflareBindingSource, CloudflareBindingSourceContext, CloudflareConversationClient, CloudflareDurableRuntime, CloudflareDurableRuntimeConfig, CloudflareDurableRuntimeConfigValue, CloudflareDurableRuntimeInitializationError, CloudflareDurableRuntimeOptions, CloudflareDurableRuntimeServices, CloudflarePlatformConfigError, CodeModeHostEntrypoint, CodeModeHostStub, ConversationClientError, ConversationMaintenance, 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, RetryExecuted, SettlementReached, SubmitRequest, SubmitSucceeded, UnknownResolutionRecorded, VerifiedIntegrity, boundHostDiagnostic, cloudflareWakeSchedulerLayer, conversationNamespaceFromEnv, conversationNamespaceLayer, conversationPortTransportLayer, decodeAbortCommand, decodeAdminExplainRequest, decodeAdminResponse, decodeAdminVerifyRequest, decodeApprovalDecisionCommand, decodeHostResponse, decodeObligationThresholds, decodeObservePageRequest, decodeReceipt, decodeRetryCommand, decodeSubmitRequest, decodeUnknownResolutionCommand, dynamicWorkerCodeExecutorLayer, dynamicWorkerImplementation, encodeAbortCommand, encodeAdminResponse, encodeApprovalDecisionCommand, encodeHostResponse, encodeObservePageRequest, encodeReceipt, encodeSubmitRequest, encodeUnknownResolutionCommand, makeConversationObjectClass };
|
|
1547
|
-
//# sourceMappingURL=index.d.mts.map
|
|
1
|
+
import { t as CloudflareBindings_d_exports } from "./CloudflareBindings.mjs";
|
|
2
|
+
import { a as CloudflareConfig_d_exports } from "./CloudflareConfig-f3CqTel1.mjs";
|
|
3
|
+
import { t as Alarm_d_exports } from "./Alarm.mjs";
|
|
4
|
+
import { t as CloudflareBrowser_d_exports } from "./CloudflareBrowser-DJq53niJ.mjs";
|
|
5
|
+
import { t as CloudflareAiGateway_d_exports } from "./CloudflareAiGateway.mjs";
|
|
6
|
+
import { t as CloudflareCodeMode_d_exports } from "./CloudflareCodeMode.mjs";
|
|
7
|
+
import { t as CloudflareMemory_d_exports } from "./CloudflareMemory.mjs";
|
|
8
|
+
import { t as CloudflareScheduling_d_exports } from "./CloudflareScheduling.mjs";
|
|
9
|
+
import { t as CloudflareSubscriptions_d_exports } from "./CloudflareSubscriptions.mjs";
|
|
10
|
+
import { t as CloudflareThreadClient_d_exports } from "./CloudflareThreadClient.mjs";
|
|
11
|
+
import { f as ThreadObject_d_exports } from "./ThreadObject-NbFOWK1I.mjs";
|
|
12
|
+
import { t as WakeScheduler_d_exports } from "./WakeScheduler.mjs";
|
|
13
|
+
export { Alarm_d_exports as Alarm, CloudflareAiGateway_d_exports as CloudflareAiGateway, CloudflareBindings_d_exports as CloudflareBindings, CloudflareBrowser_d_exports as CloudflareBrowser, CloudflareCodeMode_d_exports as CloudflareCodeMode, CloudflareConfig_d_exports as CloudflareConfig, CloudflareMemory_d_exports as CloudflareMemory, CloudflareScheduling_d_exports as CloudflareScheduling, CloudflareSubscriptions_d_exports as CloudflareSubscriptions, CloudflareThreadClient_d_exports as CloudflareThreadClient, ThreadObject_d_exports as ThreadObject, WakeScheduler_d_exports as WakeScheduler };
|