@yielded/agent-platform-cloudflare 0.1.0-beta.173 → 0.1.0-beta.175

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.
Files changed (70) hide show
  1. package/dist/{Alarm-BMEAZo3p.mjs → Alarm-B44efvB1.mjs} +162 -103
  2. package/dist/Alarm-B44efvB1.mjs.map +1 -0
  3. package/dist/Alarm.d.mts +2 -0
  4. package/dist/Alarm.mjs +1 -1
  5. package/dist/BrowserRestCapture.mjs.map +1 -1
  6. package/dist/BrowserRestCrawl.mjs.map +1 -1
  7. package/dist/{BrowserSession-Bx0V1-6_.d.mts → BrowserSession-Cojp7nth.d.mts} +3 -2
  8. package/dist/{BrowserSession-BfNmyayH.mjs → BrowserSession-aovMjfL4.mjs} +14 -14
  9. package/dist/BrowserSession-aovMjfL4.mjs.map +1 -0
  10. package/dist/BrowserSession.d.mts +1 -1
  11. package/dist/BrowserSession.mjs +2 -2
  12. package/dist/BrowserUse.d.mts +40 -64
  13. package/dist/BrowserUse.mjs +223 -2
  14. package/dist/BrowserUse.mjs.map +1 -0
  15. package/dist/CloudflareBrowser-Vt8qTdYW.mjs.map +1 -1
  16. package/dist/CloudflareCodeMode.mjs.map +1 -1
  17. package/dist/CloudflareScheduling.mjs +9 -9
  18. package/dist/CloudflareScheduling.mjs.map +1 -1
  19. package/dist/CloudflareSubscriptions.mjs +15 -15
  20. package/dist/CloudflareSubscriptions.mjs.map +1 -1
  21. package/dist/{CloudflareThreadClient-DgZVrZzF.mjs → CloudflareThreadClient-Ai3MTs3X.mjs} +43 -40
  22. package/dist/CloudflareThreadClient-Ai3MTs3X.mjs.map +1 -0
  23. package/dist/CloudflareThreadClient.mjs +1 -1
  24. package/dist/{InteractiveBrowser-LdKzQeLR.mjs → InteractiveBrowser-BHNlwjZL.mjs} +40 -31
  25. package/dist/InteractiveBrowser-BHNlwjZL.mjs.map +1 -0
  26. package/dist/InteractiveBrowser.mjs +1 -1
  27. package/dist/{ThreadObject-CRbLbdXM.d.mts → ThreadObject-CxNlhoPL.d.mts} +3 -3
  28. package/dist/{ThreadObject-CGIaz6Jv.mjs → ThreadObject-DGvlHWYi.mjs} +50 -52
  29. package/dist/ThreadObject-DGvlHWYi.mjs.map +1 -0
  30. package/dist/ThreadObject.d.mts +1 -1
  31. package/dist/ThreadObject.mjs +1 -1
  32. package/dist/WakeScheduler.d.mts +1 -1
  33. package/dist/WakeScheduler.mjs +8 -3
  34. package/dist/WakeScheduler.mjs.map +1 -1
  35. package/dist/index.d.mts +2 -2
  36. package/dist/index.mjs +5 -5
  37. package/dist/{prepared-admission-CSdzFM_v.mjs → prepared-admission-DYdffQ8K.mjs} +2 -2
  38. package/dist/{prepared-admission-CSdzFM_v.mjs.map → prepared-admission-DYdffQ8K.mjs.map} +1 -1
  39. package/package.json +1 -1
  40. package/src/Alarm.ts +293 -155
  41. package/src/BrowserRestCapture.ts +1 -0
  42. package/src/BrowserRestCrawl.ts +1 -0
  43. package/src/BrowserSession.ts +3 -2
  44. package/src/BrowserUse.ts +287 -1504
  45. package/src/CloudflareCodeMode.ts +6 -0
  46. package/src/CloudflareScheduling.ts +103 -103
  47. package/src/CloudflareSubscriptions.ts +192 -199
  48. package/src/CloudflareThreadClient.ts +258 -269
  49. package/src/InteractiveBrowser.ts +43 -17
  50. package/src/ThreadObject.ts +51 -45
  51. package/src/WakeScheduler.ts +12 -9
  52. package/src/internal/browser-binding.ts +8 -0
  53. package/src/internal/browser-credentials.ts +18 -13
  54. package/src/internal/browser-file-selection.ts +13 -2
  55. package/src/internal/browser-quick-action.ts +1 -0
  56. package/src/internal/browser-session-lifecycle.ts +32 -36
  57. package/src/internal/due-queue.ts +38 -19
  58. package/src/internal/layers.ts +108 -87
  59. package/src/internal/message-delivery.ts +61 -37
  60. package/dist/Alarm-BMEAZo3p.mjs.map +0 -1
  61. package/dist/BrowserSession-BfNmyayH.mjs.map +0 -1
  62. package/dist/BrowserUse-Bc2JdLW2.mjs +0 -1528
  63. package/dist/BrowserUse-Bc2JdLW2.mjs.map +0 -1
  64. package/dist/CloudflareThreadClient-DgZVrZzF.mjs.map +0 -1
  65. package/dist/InteractiveBrowser-LdKzQeLR.mjs.map +0 -1
  66. package/dist/ThreadObject-CGIaz6Jv.mjs.map +0 -1
  67. package/dist/page-function-CmUCcyNP.mjs +0 -11
  68. package/dist/page-function-CmUCcyNP.mjs.map +0 -1
  69. package/src/internal/browser-dom.ts +0 -886
  70. package/src/internal/browser-jev-dom.ts +0 -362
@@ -1,2 +1,2 @@
1
- import { C as ThreadObjectPorts, D as layerInHost, E as layerHostConfig, S as submit, T as layerConfig, _ as decodeRetryCommand, a as AdminVerifyRequest, b as make, c as RetryExecuted, d as VerifiedIntegrity, f as alarms, g as decodeObligationThresholds, h as decodeAdminVerifyRequest, i as AdminResponse, m as decodeAdminResponse, n as AdminFailed, o as ExplainedRecovery, p as decodeAdminExplainRequest, r as AdminFailure, s as ObligationsScanned, t as AdminExplainRequest, u as ThreadRpcOperation, v as encodeAdminResponse, w as layer, x as portCall, y as handleRpc } from "./ThreadObject-CGIaz6Jv.mjs";
1
+ import { C as ThreadObjectPorts, D as layerInHost, E as layerHostConfig, S as submit, T as layerConfig, _ as decodeRetryCommand, a as AdminVerifyRequest, b as make, c as RetryExecuted, d as VerifiedIntegrity, f as alarms, g as decodeObligationThresholds, h as decodeAdminVerifyRequest, i as AdminResponse, m as decodeAdminResponse, n as AdminFailed, o as ExplainedRecovery, p as decodeAdminExplainRequest, r as AdminFailure, s as ObligationsScanned, t as AdminExplainRequest, u as ThreadRpcOperation, v as encodeAdminResponse, w as layer, x as portCall, y as handleRpc } from "./ThreadObject-DGvlHWYi.mjs";
2
2
  export { AdminExplainRequest, AdminFailed, AdminFailure, AdminResponse, AdminVerifyRequest, ExplainedRecovery, ObligationsScanned, RetryExecuted, ThreadObjectPorts, ThreadRpcOperation, VerifiedIntegrity, alarms, decodeAdminExplainRequest, decodeAdminResponse, decodeAdminVerifyRequest, decodeObligationThresholds, decodeRetryCommand, encodeAdminResponse, handleRpc, layer, layerConfig, layerHostConfig, layerInHost, make, portCall, submit };
@@ -11,7 +11,7 @@ declare namespace WakeScheduler_d_exports {
11
11
  * - `notify(local)` wakes progress and settlement registrations, publishes a worker hint, and
12
12
  * schedules the earliest alarm. Processing an owned Thread defers immediate alarms until
13
13
  * processing exits; pre-armed recovery deadlines remain active. Progress hints skip settlement
14
- * registrations only.
14
+ * registrations; single-Thread native progress also omits the redundant worker hint.
15
15
  * - `notify(remote)` → fire-and-forget `wake()` on the owning Object's stub with every error
16
16
  * swallowed and logged: hints are droppable, and the target's own alarm/scan pairing (the
17
17
  * maintenance pass re-polls unsettled children) guarantees liveness without this call.
@@ -1,7 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { ThreadObjectNamespace, ThreadObjectPlacement, callThreadObject } from "./CloudflareBindings.mjs";
3
3
  import { r as safeCauseMessage } from "./boundary-BguazVkh.mjs";
4
- import { r as DurableAlarmService } from "./Alarm-BMEAZo3p.mjs";
4
+ import { r as DurableAlarmService } from "./Alarm-B44efvB1.mjs";
5
+ import { CurrentNativeSource } from "@yielded/agent-storage-cloudflare/port-routing";
5
6
  import "@yielded/agent/identifiers";
6
7
  import { WakeScheduler, makeWakeSubscriptionHub } from "@yielded/agent/wake-scheduler";
7
8
  import { Effect, Layer, PubSub, Schema, Stream } from "effect";
@@ -26,7 +27,7 @@ var RemoteWakeDropped = class extends Schema.TaggedError()("RemoteWakeDropped",
26
27
  * - `notify(local)` wakes progress and settlement registrations, publishes a worker hint, and
27
28
  * schedules the earliest alarm. Processing an owned Thread defers immediate alarms until
28
29
  * processing exits; pre-armed recovery deadlines remain active. Progress hints skip settlement
29
- * registrations only.
30
+ * registrations; single-Thread native progress also omits the redundant worker hint.
30
31
  * - `notify(remote)` → fire-and-forget `wake()` on the owning Object's stub with every error
31
32
  * swallowed and logged: hints are droppable, and the target's own alarm/scan pairing (the
32
33
  * maintenance pass re-polls unsettled children) guarantees liveness without this call.
@@ -42,7 +43,11 @@ const cloudflareWakeSchedulerLayer = Layer.effect(WakeScheduler)(Effect.gen(func
42
43
  const settlements = yield* makeWakeSubscriptionHub;
43
44
  yield* Effect.addFinalizer(() => PubSub.shutdown(hints));
44
45
  const scheduleLocal = alarm.scheduleNow.pipe(Effect.catch((error) => Effect.logWarning("CloudflareWakeScheduler: local alarm wake failed", error)));
45
- const notifyLocal = (threadId, kind) => (kind === "progress" ? progress.notify(threadId) : settlements.notify(threadId).pipe(Effect.andThen(progress.notify(threadId)))).pipe(Effect.andThen(PubSub.publish(hints, threadId)), Effect.andThen(scheduleLocal), Effect.asVoid);
46
+ const notifyLocal = Effect.fnUntraced(function* (threadId, kind) {
47
+ yield* kind === "progress" ? progress.notify(threadId) : settlements.notify(threadId).pipe(Effect.andThen(progress.notify(threadId)));
48
+ if (kind !== "progress" || placement.threadId === void 0 || !(yield* CurrentNativeSource)) yield* PubSub.publish(hints, threadId);
49
+ yield* scheduleLocal;
50
+ });
46
51
  const notifyRemote = (threadId) => callThreadObject(threadId, (target) => target.wake(), (cause) => RemoteWakeDropped.make({
47
52
  threadId,
48
53
  message: safeCauseMessage(cause, "The remote wake failed without a diagnostic"),
@@ -1 +1 @@
1
- {"version":3,"file":"WakeScheduler.mjs","names":[],"sources":["../src/WakeScheduler.ts"],"sourcesContent":["import { type ThreadId } from \"@yielded/agent/identifiers\";\nimport { makeWakeSubscriptionHub, WakeScheduler } from \"@yielded/agent/wake-scheduler\";\nimport { Effect, Layer, PubSub, Schema, Stream } from \"effect\";\n\nimport { DurableAlarmService } from \"./Alarm.ts\";\nimport {\n callThreadObject,\n ThreadObjectPlacement,\n ThreadObjectNamespace,\n} from \"./CloudflareBindings.ts\";\nimport { safeCauseMessage } from \"./internal/boundary.ts\";\n\n/**\n * Bounded in-memory wake buffer for same-incarnation workers. Wake\n * hints are droppable by contract (consumers pair hints with durable authority), so\n * a full buffer slides out the oldest hint and an eviction simply loses the buffer — the\n * poll interval and the persisted alarm keep liveness (persistence §14).\n */\nconst WAKE_BUFFER_CAPACITY = 1_024;\n\n/** A remote wake stub call failed; always swallowed and logged (hints are droppable). */\nclass RemoteWakeDropped extends Schema.TaggedError<RemoteWakeDropped>()(\"RemoteWakeDropped\", {\n threadId: Schema.String,\n message: Schema.String,\n cause: Schema.optionalKey(Schema.Defect()),\n}) {}\n\n/**\n * The DC `WakeScheduler` (plan §1.4):\n *\n * - `notify(local)` wakes progress and settlement registrations, publishes a worker hint, and\n * schedules the earliest alarm. Processing an owned Thread defers immediate alarms until\n * processing exits; pre-armed recovery deadlines remain active. Progress hints skip settlement\n * registrations only.\n * - `notify(remote)` → fire-and-forget `wake()` on the owning Object's stub with every error\n * swallowed and logged: hints are droppable, and the target's own alarm/scan pairing (the\n * maintenance pass re-polls unsettled children) guarantees liveness without this call.\n * - `wakes` → the bounded sliding PubSub only. Thread waiters use Scope-owned one-shot hubs;\n * the settlement poll interval and persisted alarm retain liveness after hint loss.\n */\nexport const cloudflareWakeSchedulerLayer: Layer.Layer<\n WakeScheduler,\n never,\n DurableAlarmService | ThreadObjectPlacement | ThreadObjectNamespace\n> = Layer.effect(WakeScheduler)(\n Effect.gen(function* () {\n const alarm = yield* DurableAlarmService;\n const placement = yield* ThreadObjectPlacement;\n const namespace = yield* ThreadObjectNamespace;\n const hints = yield* PubSub.sliding<ThreadId>(WAKE_BUFFER_CAPACITY);\n const progress = yield* makeWakeSubscriptionHub;\n const settlements = yield* makeWakeSubscriptionHub;\n\n yield* Effect.addFinalizer(() => PubSub.shutdown(hints));\n\n const scheduleLocal = alarm.scheduleNow.pipe(\n Effect.catch((error) =>\n Effect.logWarning(\"CloudflareWakeScheduler: local alarm wake failed\", error),\n ),\n );\n\n const notifyLocal = (threadId: ThreadId, kind?: \"progress\") =>\n (kind === \"progress\"\n ? progress.notify(threadId)\n : settlements.notify(threadId).pipe(Effect.andThen(progress.notify(threadId)))\n ).pipe(\n Effect.andThen(PubSub.publish(hints, threadId)),\n Effect.andThen(scheduleLocal),\n Effect.asVoid,\n );\n\n const notifyRemote = (threadId: ThreadId) =>\n callThreadObject(\n threadId,\n (target) => target.wake(),\n (cause) =>\n RemoteWakeDropped.make({\n threadId,\n message: safeCauseMessage(cause, \"The remote wake failed without a diagnostic\"),\n cause,\n }),\n ).pipe(\n Effect.provideService(ThreadObjectNamespace, namespace),\n Effect.catch((error) =>\n Effect.logWarning(`CloudflareWakeScheduler: remote wake of ${threadId} dropped`, error),\n ),\n Effect.asVoid,\n );\n\n return WakeScheduler.of({\n withProcessing: (threadId, body) =>\n placement.ownsThread(threadId)\n ? alarm.withHintsDeferred(body).pipe(Effect.ensuring(scheduleLocal))\n : body,\n notify: (threadId, kind) =>\n placement.ownsThread(threadId) ? notifyLocal(threadId, kind) : notifyRemote(threadId),\n subscribe: (threadId, kind) =>\n (kind === \"settlement\" ? settlements : progress).subscribe(threadId),\n wakes: Stream.fromPubSub(hints),\n });\n }),\n);\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAM,uBAAuB;;AAG7B,IAAM,oBAAN,cAAgC,OAAO,YAA+B,CAAC,CAAC,qBAAqB;CAC3F,UAAU,OAAO;CACjB,SAAS,OAAO;CAChB,OAAO,OAAO,YAAY,OAAO,OAAO,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;AAeJ,MAAa,+BAIT,MAAM,OAAO,aAAa,CAAC,CAC7B,OAAO,IAAI,aAAa;CACtB,MAAM,QAAQ,OAAO;CACrB,MAAM,YAAY,OAAO;CACzB,MAAM,YAAY,OAAO;CACzB,MAAM,QAAQ,OAAO,OAAO,QAAkB,oBAAoB;CAClE,MAAM,WAAW,OAAO;CACxB,MAAM,cAAc,OAAO;CAE3B,OAAO,OAAO,mBAAmB,OAAO,SAAS,KAAK,CAAC;CAEvD,MAAM,gBAAgB,MAAM,YAAY,KACtC,OAAO,OAAO,UACZ,OAAO,WAAW,oDAAoD,KAAK,CAC7E,CACF;CAEA,MAAM,eAAe,UAAoB,UACtC,SAAS,aACN,SAAS,OAAO,QAAQ,IACxB,YAAY,OAAO,QAAQ,CAAC,CAAC,KAAK,OAAO,QAAQ,SAAS,OAAO,QAAQ,CAAC,CAAC,EAAA,CAC7E,KACA,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,CAAC,GAC9C,OAAO,QAAQ,aAAa,GAC5B,OAAO,MACT;CAEF,MAAM,gBAAgB,aACpB,iBACE,WACC,WAAW,OAAO,KAAK,IACvB,UACC,kBAAkB,KAAK;EACrB;EACA,SAAS,iBAAiB,OAAO,6CAA6C;EAC9E;CACF,CAAC,CACL,CAAC,CAAC,KACA,OAAO,eAAe,uBAAuB,SAAS,GACtD,OAAO,OAAO,UACZ,OAAO,WAAW,2CAA2C,SAAS,WAAW,KAAK,CACxF,GACA,OAAO,MACT;CAEF,OAAO,cAAc,GAAG;EACtB,iBAAiB,UAAU,SACzB,UAAU,WAAW,QAAQ,IACzB,MAAM,kBAAkB,IAAI,CAAC,CAAC,KAAK,OAAO,SAAS,aAAa,CAAC,IACjE;EACN,SAAS,UAAU,SACjB,UAAU,WAAW,QAAQ,IAAI,YAAY,UAAU,IAAI,IAAI,aAAa,QAAQ;EACtF,YAAY,UAAU,UACnB,SAAS,eAAe,cAAc,SAAA,CAAU,UAAU,QAAQ;EACrE,OAAO,OAAO,WAAW,KAAK;CAChC,CAAC;AACH,CAAC,CACH"}
1
+ {"version":3,"file":"WakeScheduler.mjs","names":[],"sources":["../src/WakeScheduler.ts"],"sourcesContent":["import { CurrentNativeSource } from \"@yielded/agent-storage-cloudflare/port-routing\";\nimport { type ThreadId } from \"@yielded/agent/identifiers\";\nimport { makeWakeSubscriptionHub, WakeScheduler } from \"@yielded/agent/wake-scheduler\";\nimport { Effect, Layer, PubSub, Schema, Stream } from \"effect\";\n\nimport { DurableAlarmService } from \"./Alarm.ts\";\nimport {\n callThreadObject,\n ThreadObjectPlacement,\n ThreadObjectNamespace,\n} from \"./CloudflareBindings.ts\";\nimport { safeCauseMessage } from \"./internal/boundary.ts\";\n\n/**\n * Bounded in-memory wake buffer for same-incarnation workers. Wake\n * hints are droppable by contract (consumers pair hints with durable authority), so\n * a full buffer slides out the oldest hint and an eviction simply loses the buffer — the\n * poll interval and the persisted alarm keep liveness (persistence §14).\n */\nconst WAKE_BUFFER_CAPACITY = 1_024;\n\n/** A remote wake stub call failed; always swallowed and logged (hints are droppable). */\nclass RemoteWakeDropped extends Schema.TaggedError<RemoteWakeDropped>()(\"RemoteWakeDropped\", {\n threadId: Schema.String,\n message: Schema.String,\n cause: Schema.optionalKey(Schema.Defect()),\n}) {}\n\n/**\n * The DC `WakeScheduler` (plan §1.4):\n *\n * - `notify(local)` wakes progress and settlement registrations, publishes a worker hint, and\n * schedules the earliest alarm. Processing an owned Thread defers immediate alarms until\n * processing exits; pre-armed recovery deadlines remain active. Progress hints skip settlement\n * registrations; single-Thread native progress also omits the redundant worker hint.\n * - `notify(remote)` → fire-and-forget `wake()` on the owning Object's stub with every error\n * swallowed and logged: hints are droppable, and the target's own alarm/scan pairing (the\n * maintenance pass re-polls unsettled children) guarantees liveness without this call.\n * - `wakes` → the bounded sliding PubSub only. Thread waiters use Scope-owned one-shot hubs;\n * the settlement poll interval and persisted alarm retain liveness after hint loss.\n */\nexport const cloudflareWakeSchedulerLayer: Layer.Layer<\n WakeScheduler,\n never,\n DurableAlarmService | ThreadObjectPlacement | ThreadObjectNamespace\n> = Layer.effect(WakeScheduler)(\n Effect.gen(function* () {\n const alarm = yield* DurableAlarmService;\n const placement = yield* ThreadObjectPlacement;\n const namespace = yield* ThreadObjectNamespace;\n const hints = yield* PubSub.sliding<ThreadId>(WAKE_BUFFER_CAPACITY);\n const progress = yield* makeWakeSubscriptionHub;\n const settlements = yield* makeWakeSubscriptionHub;\n\n yield* Effect.addFinalizer(() => PubSub.shutdown(hints));\n\n const scheduleLocal = alarm.scheduleNow.pipe(\n Effect.catch((error) =>\n Effect.logWarning(\"CloudflareWakeScheduler: local alarm wake failed\", error),\n ),\n );\n\n const notifyLocal = Effect.fnUntraced(function* (threadId: ThreadId, kind?: \"progress\") {\n yield* kind === \"progress\"\n ? progress.notify(threadId)\n : settlements.notify(threadId).pipe(Effect.andThen(progress.notify(threadId)));\n\n // Progress waiters still observe every hint. The single-Thread maintenance loop\n // already awaits the running native fiber; its source commits enroll auxiliary work.\n if (kind !== \"progress\" || placement.threadId === undefined || !(yield* CurrentNativeSource))\n yield* PubSub.publish(hints, threadId);\n yield* scheduleLocal;\n });\n\n const notifyRemote = (threadId: ThreadId) =>\n callThreadObject(\n threadId,\n (target) => target.wake(),\n (cause) =>\n RemoteWakeDropped.make({\n threadId,\n message: safeCauseMessage(cause, \"The remote wake failed without a diagnostic\"),\n cause,\n }),\n ).pipe(\n Effect.provideService(ThreadObjectNamespace, namespace),\n Effect.catch((error) =>\n Effect.logWarning(`CloudflareWakeScheduler: remote wake of ${threadId} dropped`, error),\n ),\n Effect.asVoid,\n );\n\n return WakeScheduler.of({\n withProcessing: (threadId, body) =>\n placement.ownsThread(threadId)\n ? alarm.withHintsDeferred(body).pipe(Effect.ensuring(scheduleLocal))\n : body,\n notify: (threadId, kind) =>\n placement.ownsThread(threadId) ? notifyLocal(threadId, kind) : notifyRemote(threadId),\n subscribe: (threadId, kind) =>\n (kind === \"settlement\" ? settlements : progress).subscribe(threadId),\n wakes: Stream.fromPubSub(hints),\n });\n }),\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,uBAAuB;;AAG7B,IAAM,oBAAN,cAAgC,OAAO,YAA+B,CAAC,CAAC,qBAAqB;CAC3F,UAAU,OAAO;CACjB,SAAS,OAAO;CAChB,OAAO,OAAO,YAAY,OAAO,OAAO,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;AAeJ,MAAa,+BAIT,MAAM,OAAO,aAAa,CAAC,CAC7B,OAAO,IAAI,aAAa;CACtB,MAAM,QAAQ,OAAO;CACrB,MAAM,YAAY,OAAO;CACzB,MAAM,YAAY,OAAO;CACzB,MAAM,QAAQ,OAAO,OAAO,QAAkB,oBAAoB;CAClE,MAAM,WAAW,OAAO;CACxB,MAAM,cAAc,OAAO;CAE3B,OAAO,OAAO,mBAAmB,OAAO,SAAS,KAAK,CAAC;CAEvD,MAAM,gBAAgB,MAAM,YAAY,KACtC,OAAO,OAAO,UACZ,OAAO,WAAW,oDAAoD,KAAK,CAC7E,CACF;CAEA,MAAM,cAAc,OAAO,WAAW,WAAW,UAAoB,MAAmB;EACtF,OAAO,SAAS,aACZ,SAAS,OAAO,QAAQ,IACxB,YAAY,OAAO,QAAQ,CAAC,CAAC,KAAK,OAAO,QAAQ,SAAS,OAAO,QAAQ,CAAC,CAAC;EAI/E,IAAI,SAAS,cAAc,UAAU,aAAa,KAAA,KAAa,EAAE,OAAO,sBACtE,OAAO,OAAO,QAAQ,OAAO,QAAQ;EACvC,OAAO;CACT,CAAC;CAED,MAAM,gBAAgB,aACpB,iBACE,WACC,WAAW,OAAO,KAAK,IACvB,UACC,kBAAkB,KAAK;EACrB;EACA,SAAS,iBAAiB,OAAO,6CAA6C;EAC9E;CACF,CAAC,CACL,CAAC,CAAC,KACA,OAAO,eAAe,uBAAuB,SAAS,GACtD,OAAO,OAAO,UACZ,OAAO,WAAW,2CAA2C,SAAS,WAAW,KAAK,CACxF,GACA,OAAO,MACT;CAEF,OAAO,cAAc,GAAG;EACtB,iBAAiB,UAAU,SACzB,UAAU,WAAW,QAAQ,IACzB,MAAM,kBAAkB,IAAI,CAAC,CAAC,KAAK,OAAO,SAAS,aAAa,CAAC,IACjE;EACN,SAAS,UAAU,SACjB,UAAU,WAAW,QAAQ,IAAI,YAAY,UAAU,IAAI,IAAI,aAAa,QAAQ;EACtF,YAAY,UAAU,UACnB,SAAS,eAAe,cAAc,SAAA,CAAU,UAAU,QAAQ;EACrE,OAAO,OAAO,WAAW,KAAK;CAChC,CAAC;AACH,CAAC,CACH"}
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import { o as CloudflareConfig_d_exports } from "./CloudflareConfig-C9MvPbX8.mjs
3
3
  import { t as Alarm_d_exports } from "./Alarm.mjs";
4
4
  import { r as BrowserCredentials_d_exports } from "./BrowserCredentials-C5IWfi7f.mjs";
5
5
  import { t as CloudflareBrowser_d_exports } from "./CloudflareBrowser-gu7gma0Y.mjs";
6
- import { a as BrowserSession_d_exports } from "./BrowserSession-Bx0V1-6_.mjs";
6
+ import { a as BrowserSession_d_exports } from "./BrowserSession-Cojp7nth.mjs";
7
7
  import { t as BrowserUse_d_exports } from "./BrowserUse.mjs";
8
8
  import { t as CloudflareAiGateway_d_exports } from "./CloudflareAiGateway.mjs";
9
9
  import { t as CloudflareCodeMode_d_exports } from "./CloudflareCodeMode.mjs";
@@ -11,6 +11,6 @@ import { t as CloudflareMemory_d_exports } from "./CloudflareMemory.mjs";
11
11
  import { t as CloudflareScheduling_d_exports } from "./CloudflareScheduling.mjs";
12
12
  import { t as CloudflareSubscriptions_d_exports } from "./CloudflareSubscriptions.mjs";
13
13
  import { m as CloudflareThreadClient_d_exports } from "./CloudflareThreadClient-HO_3rkM7.mjs";
14
- import { f as ThreadObject_d_exports } from "./ThreadObject-CRbLbdXM.mjs";
14
+ import { f as ThreadObject_d_exports } from "./ThreadObject-CxNlhoPL.mjs";
15
15
  import { t as WakeScheduler_d_exports } from "./WakeScheduler.mjs";
16
16
  export { Alarm_d_exports as Alarm, BrowserCredentials_d_exports as BrowserCredentials, BrowserSession_d_exports as BrowserSession, BrowserUse_d_exports as BrowserUse, 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 };
package/dist/index.mjs CHANGED
@@ -1,16 +1,16 @@
1
1
  import { t as CloudflareBindings_exports } from "./CloudflareBindings.mjs";
2
2
  import { t as CloudflareConfig_exports } from "./CloudflareConfig.mjs";
3
- import { t as Alarm_exports } from "./Alarm-BMEAZo3p.mjs";
3
+ import { t as Alarm_exports } from "./Alarm-B44efvB1.mjs";
4
4
  import { t as CloudflareBrowser_exports } from "./CloudflareBrowser-Vt8qTdYW.mjs";
5
5
  import { t as CloudflareCodeMode_exports } from "./CloudflareCodeMode.mjs";
6
6
  import { t as CloudflareMemory_exports } from "./CloudflareMemory.mjs";
7
- import { s as CloudflareThreadClient_exports } from "./CloudflareThreadClient-DgZVrZzF.mjs";
7
+ import { s as CloudflareThreadClient_exports } from "./CloudflareThreadClient-Ai3MTs3X.mjs";
8
8
  import { t as CloudflareScheduling_exports } from "./CloudflareScheduling.mjs";
9
9
  import { t as CloudflareSubscriptions_exports } from "./CloudflareSubscriptions.mjs";
10
10
  import { t as WakeScheduler_exports } from "./WakeScheduler.mjs";
11
- import { l as ThreadObject_exports } from "./ThreadObject-CGIaz6Jv.mjs";
11
+ import { l as ThreadObject_exports } from "./ThreadObject-DGvlHWYi.mjs";
12
12
  import { t as CloudflareAiGateway_exports } from "./CloudflareAiGateway.mjs";
13
13
  import { t as BrowserCredentials_exports } from "./BrowserCredentials.mjs";
14
- import { i as BrowserSession_exports } from "./BrowserSession-BfNmyayH.mjs";
15
- import { t as BrowserUse_exports } from "./BrowserUse-Bc2JdLW2.mjs";
14
+ import { i as BrowserSession_exports } from "./BrowserSession-aovMjfL4.mjs";
15
+ import { t as BrowserUse_exports } from "./BrowserUse.mjs";
16
16
  export { Alarm_exports as Alarm, BrowserCredentials_exports as BrowserCredentials, BrowserSession_exports as BrowserSession, BrowserUse_exports as BrowserUse, CloudflareAiGateway_exports as CloudflareAiGateway, CloudflareBindings_exports as CloudflareBindings, CloudflareBrowser_exports as CloudflareBrowser, CloudflareCodeMode_exports as CloudflareCodeMode, CloudflareConfig_exports as CloudflareConfig, CloudflareMemory_exports as CloudflareMemory, CloudflareScheduling_exports as CloudflareScheduling, CloudflareSubscriptions_exports as CloudflareSubscriptions, CloudflareThreadClient_exports as CloudflareThreadClient, ThreadObject_exports as ThreadObject, WakeScheduler_exports as WakeScheduler };
@@ -1,4 +1,4 @@
1
- import { o as CloudflareThreadClient } from "./CloudflareThreadClient-DgZVrZzF.mjs";
1
+ import { o as CloudflareThreadClient } from "./CloudflareThreadClient-Ai3MTs3X.mjs";
2
2
  import "@yielded/agent/durable-agent-runtime";
3
3
  import "@yielded/agent/identifiers";
4
4
  import { Effect, Layer } from "effect";
@@ -70,4 +70,4 @@ const cloudflareScheduledInputAdmissionLayer = Layer.effect(ScheduledInputAdmiss
70
70
  //#endregion
71
71
  export { cloudflareScheduledInputAdmissionLayer as n, cloudflarePreparedInputAdmissionLayer as t };
72
72
 
73
- //# sourceMappingURL=prepared-admission-CSdzFM_v.mjs.map
73
+ //# sourceMappingURL=prepared-admission-DYdffQ8K.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-admission-CSdzFM_v.mjs","names":[],"sources":["../src/internal/prepared-admission.ts"],"sourcesContent":["import { type DurableSubmitAgent } from \"@yielded/agent/durable-agent-runtime\";\nimport { type AgentId } from \"@yielded/agent/identifiers\";\nimport { PreparedInputAdmission } from \"@yielded/agent/prepared-input-admission\";\nimport { PersistedJson } from \"@yielded/agent/records\";\nimport {\n type ScheduledEnvelope,\n ScheduledInputAdmission,\n ScheduledInputRetryable,\n ScheduledInputRefused,\n ScheduleStorageError,\n} from \"@yielded/agent/schedule\";\nimport { type PreparedInput } from \"@yielded/agent/subscription\";\nimport { Effect, Layer } from \"effect\";\n\nimport { CloudflareThreadClient, type ThreadClientError } from \"../CloudflareThreadClient.ts\";\n\nconst passthroughAgent = (agentId: AgentId): DurableSubmitAgent<typeof PersistedJson> => ({\n definition: { id: agentId, input: PersistedJson },\n});\n\n/** Ordinary prepared admission through one freshly addressed Thread Object call. */\nexport const cloudflarePreparedInputAdmissionLayer: Layer.Layer<\n PreparedInputAdmission,\n never,\n CloudflareThreadClient\n> = Layer.effect(\n PreparedInputAdmission,\n Effect.gen(function* () {\n const client = yield* CloudflareThreadClient;\n\n return PreparedInputAdmission.of({\n submissionStatus: (receipt) =>\n client\n .submissionStatus(receipt)\n .pipe(Effect.mapError(() => ScheduledInputRetryable.make({ reason: \"storage\" }))),\n submit: (envelope) =>\n client\n .submit(passthroughAgent(envelope.agentId), envelope.input, {\n threadId: envelope.threadId,\n principal: envelope.deliveryPrincipal,\n idempotencyKey: envelope.admissionKey,\n ...(envelope.admissionGroup === undefined\n ? {}\n : { admissionGroup: envelope.admissionGroup }),\n ...(envelope.admissionFence === undefined\n ? {}\n : { admissionFence: envelope.admissionFence }),\n ...(envelope.workerAdmission === undefined\n ? {}\n : { workerAdmission: envelope.workerAdmission }),\n ...(envelope.messageAdmission === undefined\n ? {}\n : { messageAdmission: envelope.messageAdmission }),\n definitions: envelope.definitions,\n })\n .pipe(\n Effect.catchTags({\n AdmissionConflict: () =>\n ScheduleStorageError.make({ operation: \"prepared admission\", reason: \"corrupt\" }),\n AdmissionLimitExceeded: () => ScheduledInputRetryable.make({ reason: \"capacity\" }),\n ThreadClientError: (error: ThreadClientError) =>\n ScheduledInputRetryable.make({\n reason: error.overloaded === true ? \"capacity\" : \"transport\",\n }),\n HostProtocolError: () => ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n AdmissionPolicyError: (error) =>\n error.reason === \"refused\"\n ? ScheduledInputRefused.make({ code: error.code })\n : ScheduledInputRetryable.make({\n reason: error.reason === \"occupied\" ? \"capacity\" : \"storage\",\n }),\n LedgerError: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n ThreadStoreError: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n DurableAlarmError: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n AgentInputError: () =>\n ScheduleStorageError.make({ operation: \"prepared admission\", reason: \"corrupt\" }),\n DigestError: () =>\n ScheduleStorageError.make({ operation: \"prepared admission\", reason: \"corrupt\" }),\n ThreadNotMaterialized: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n AppendConflict: () => ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n OwnershipLost: () => ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n DurableRuntimeFailpointError: () =>\n ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n }),\n ),\n });\n }),\n);\n\nconst preparedFromSchedule = (envelope: ScheduledEnvelope): PreparedInput => ({\n schemaVersion: 1,\n threadId: envelope.threadId,\n deliveryPrincipal: envelope.deliveryPrincipal,\n ...(envelope.admissionGroup === undefined ? {} : { admissionGroup: envelope.admissionGroup }),\n ...(envelope.admissionFence === undefined ? {} : { admissionFence: envelope.admissionFence }),\n agentId: envelope.agentId,\n definitions: envelope.definitions,\n input: envelope.input,\n inputDigest: envelope.inputDigest,\n admissionKey: envelope.admissionKey,\n authorization: envelope.authorization,\n});\n\n/** Compatibility adapter retaining Scheduling's public admission port. */\nexport const cloudflareScheduledInputAdmissionLayer: Layer.Layer<\n ScheduledInputAdmission,\n never,\n PreparedInputAdmission\n> = Layer.effect(\n ScheduledInputAdmission,\n Effect.map(PreparedInputAdmission, (admission) =>\n ScheduledInputAdmission.of({\n submit: (envelope) => admission.submit(preparedFromSchedule(envelope)),\n }),\n ),\n);\n"],"mappings":";;;;;;;;;AAgBA,MAAM,oBAAoB,aAAgE,EACxF,YAAY;CAAE,IAAI;CAAS,OAAO;AAAc,EAClD;;AAGA,MAAa,wCAIT,MAAM,OACR,wBACA,OAAO,IAAI,aAAa;CACtB,MAAM,SAAS,OAAO;CAEtB,OAAO,uBAAuB,GAAG;EAC/B,mBAAmB,YACjB,OACG,iBAAiB,OAAO,CAAC,CACzB,KAAK,OAAO,eAAe,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC,CAAC,CAAC;EACpF,SAAS,aACP,OACG,OAAO,iBAAiB,SAAS,OAAO,GAAG,SAAS,OAAO;GAC1D,UAAU,SAAS;GACnB,WAAW,SAAS;GACpB,gBAAgB,SAAS;GACzB,GAAI,SAAS,mBAAmB,KAAA,IAC5B,CAAC,IACD,EAAE,gBAAgB,SAAS,eAAe;GAC9C,GAAI,SAAS,mBAAmB,KAAA,IAC5B,CAAC,IACD,EAAE,gBAAgB,SAAS,eAAe;GAC9C,GAAI,SAAS,oBAAoB,KAAA,IAC7B,CAAC,IACD,EAAE,iBAAiB,SAAS,gBAAgB;GAChD,GAAI,SAAS,qBAAqB,KAAA,IAC9B,CAAC,IACD,EAAE,kBAAkB,SAAS,iBAAiB;GAClD,aAAa,SAAS;EACxB,CAAC,CAAC,CACD,KACC,OAAO,UAAU;GACf,yBACE,qBAAqB,KAAK;IAAE,WAAW;IAAsB,QAAQ;GAAU,CAAC;GAClF,8BAA8B,wBAAwB,KAAK,EAAE,QAAQ,WAAW,CAAC;GACjF,oBAAoB,UAClB,wBAAwB,KAAK,EAC3B,QAAQ,MAAM,eAAe,OAAO,aAAa,YACnD,CAAC;GACH,yBAAyB,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;GAC7E,uBAAuB,UACrB,MAAM,WAAW,YACb,sBAAsB,KAAK,EAAE,MAAM,MAAM,KAAK,CAAC,IAC/C,wBAAwB,KAAK,EAC3B,QAAQ,MAAM,WAAW,aAAa,aAAa,UACrD,CAAC;GACP,mBAAmB,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GACrE,wBAAwB,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GAC1E,yBAAyB,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GAC3E,uBACE,qBAAqB,KAAK;IAAE,WAAW;IAAsB,QAAQ;GAAU,CAAC;GAClF,mBACE,qBAAqB,KAAK;IAAE,WAAW;IAAsB,QAAQ;GAAU,CAAC;GAClF,6BAA6B,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GAC/E,sBAAsB,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;GAC1E,qBAAqB,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;GACzE,oCACE,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;EACxD,CAAC,CACH;CACN,CAAC;AACH,CAAC,CACH;AAEA,MAAM,wBAAwB,cAAgD;CAC5E,eAAe;CACf,UAAU,SAAS;CACnB,mBAAmB,SAAS;CAC5B,GAAI,SAAS,mBAAmB,KAAA,IAAY,CAAC,IAAI,EAAE,gBAAgB,SAAS,eAAe;CAC3F,GAAI,SAAS,mBAAmB,KAAA,IAAY,CAAC,IAAI,EAAE,gBAAgB,SAAS,eAAe;CAC3F,SAAS,SAAS;CAClB,aAAa,SAAS;CACtB,OAAO,SAAS;CAChB,aAAa,SAAS;CACtB,cAAc,SAAS;CACvB,eAAe,SAAS;AAC1B;;AAGA,MAAa,yCAIT,MAAM,OACR,yBACA,OAAO,IAAI,yBAAyB,cAClC,wBAAwB,GAAG,EACzB,SAAS,aAAa,UAAU,OAAO,qBAAqB,QAAQ,CAAC,EACvE,CAAC,CACH,CACF"}
1
+ {"version":3,"file":"prepared-admission-DYdffQ8K.mjs","names":[],"sources":["../src/internal/prepared-admission.ts"],"sourcesContent":["import { type DurableSubmitAgent } from \"@yielded/agent/durable-agent-runtime\";\nimport { type AgentId } from \"@yielded/agent/identifiers\";\nimport { PreparedInputAdmission } from \"@yielded/agent/prepared-input-admission\";\nimport { PersistedJson } from \"@yielded/agent/records\";\nimport {\n type ScheduledEnvelope,\n ScheduledInputAdmission,\n ScheduledInputRetryable,\n ScheduledInputRefused,\n ScheduleStorageError,\n} from \"@yielded/agent/schedule\";\nimport { type PreparedInput } from \"@yielded/agent/subscription\";\nimport { Effect, Layer } from \"effect\";\n\nimport { CloudflareThreadClient, type ThreadClientError } from \"../CloudflareThreadClient.ts\";\n\nconst passthroughAgent = (agentId: AgentId): DurableSubmitAgent<typeof PersistedJson> => ({\n definition: { id: agentId, input: PersistedJson },\n});\n\n/** Ordinary prepared admission through one freshly addressed Thread Object call. */\nexport const cloudflarePreparedInputAdmissionLayer: Layer.Layer<\n PreparedInputAdmission,\n never,\n CloudflareThreadClient\n> = Layer.effect(\n PreparedInputAdmission,\n Effect.gen(function* () {\n const client = yield* CloudflareThreadClient;\n\n return PreparedInputAdmission.of({\n submissionStatus: (receipt) =>\n client\n .submissionStatus(receipt)\n .pipe(Effect.mapError(() => ScheduledInputRetryable.make({ reason: \"storage\" }))),\n submit: (envelope) =>\n client\n .submit(passthroughAgent(envelope.agentId), envelope.input, {\n threadId: envelope.threadId,\n principal: envelope.deliveryPrincipal,\n idempotencyKey: envelope.admissionKey,\n ...(envelope.admissionGroup === undefined\n ? {}\n : { admissionGroup: envelope.admissionGroup }),\n ...(envelope.admissionFence === undefined\n ? {}\n : { admissionFence: envelope.admissionFence }),\n ...(envelope.workerAdmission === undefined\n ? {}\n : { workerAdmission: envelope.workerAdmission }),\n ...(envelope.messageAdmission === undefined\n ? {}\n : { messageAdmission: envelope.messageAdmission }),\n definitions: envelope.definitions,\n })\n .pipe(\n Effect.catchTags({\n AdmissionConflict: () =>\n ScheduleStorageError.make({ operation: \"prepared admission\", reason: \"corrupt\" }),\n AdmissionLimitExceeded: () => ScheduledInputRetryable.make({ reason: \"capacity\" }),\n ThreadClientError: (error: ThreadClientError) =>\n ScheduledInputRetryable.make({\n reason: error.overloaded === true ? \"capacity\" : \"transport\",\n }),\n HostProtocolError: () => ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n AdmissionPolicyError: (error) =>\n error.reason === \"refused\"\n ? ScheduledInputRefused.make({ code: error.code })\n : ScheduledInputRetryable.make({\n reason: error.reason === \"occupied\" ? \"capacity\" : \"storage\",\n }),\n LedgerError: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n ThreadStoreError: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n DurableAlarmError: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n AgentInputError: () =>\n ScheduleStorageError.make({ operation: \"prepared admission\", reason: \"corrupt\" }),\n DigestError: () =>\n ScheduleStorageError.make({ operation: \"prepared admission\", reason: \"corrupt\" }),\n ThreadNotMaterialized: () => ScheduledInputRetryable.make({ reason: \"storage\" }),\n AppendConflict: () => ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n OwnershipLost: () => ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n DurableRuntimeFailpointError: () =>\n ScheduledInputRetryable.make({ reason: \"ambiguous\" }),\n }),\n ),\n });\n }),\n);\n\nconst preparedFromSchedule = (envelope: ScheduledEnvelope): PreparedInput => ({\n schemaVersion: 1,\n threadId: envelope.threadId,\n deliveryPrincipal: envelope.deliveryPrincipal,\n ...(envelope.admissionGroup === undefined ? {} : { admissionGroup: envelope.admissionGroup }),\n ...(envelope.admissionFence === undefined ? {} : { admissionFence: envelope.admissionFence }),\n agentId: envelope.agentId,\n definitions: envelope.definitions,\n input: envelope.input,\n inputDigest: envelope.inputDigest,\n admissionKey: envelope.admissionKey,\n authorization: envelope.authorization,\n});\n\n/** Compatibility adapter retaining Scheduling's public admission port. */\nexport const cloudflareScheduledInputAdmissionLayer: Layer.Layer<\n ScheduledInputAdmission,\n never,\n PreparedInputAdmission\n> = Layer.effect(\n ScheduledInputAdmission,\n Effect.map(PreparedInputAdmission, (admission) =>\n ScheduledInputAdmission.of({\n submit: (envelope) => admission.submit(preparedFromSchedule(envelope)),\n }),\n ),\n);\n"],"mappings":";;;;;;;;;AAgBA,MAAM,oBAAoB,aAAgE,EACxF,YAAY;CAAE,IAAI;CAAS,OAAO;AAAc,EAClD;;AAGA,MAAa,wCAIT,MAAM,OACR,wBACA,OAAO,IAAI,aAAa;CACtB,MAAM,SAAS,OAAO;CAEtB,OAAO,uBAAuB,GAAG;EAC/B,mBAAmB,YACjB,OACG,iBAAiB,OAAO,CAAC,CACzB,KAAK,OAAO,eAAe,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC,CAAC,CAAC;EACpF,SAAS,aACP,OACG,OAAO,iBAAiB,SAAS,OAAO,GAAG,SAAS,OAAO;GAC1D,UAAU,SAAS;GACnB,WAAW,SAAS;GACpB,gBAAgB,SAAS;GACzB,GAAI,SAAS,mBAAmB,KAAA,IAC5B,CAAC,IACD,EAAE,gBAAgB,SAAS,eAAe;GAC9C,GAAI,SAAS,mBAAmB,KAAA,IAC5B,CAAC,IACD,EAAE,gBAAgB,SAAS,eAAe;GAC9C,GAAI,SAAS,oBAAoB,KAAA,IAC7B,CAAC,IACD,EAAE,iBAAiB,SAAS,gBAAgB;GAChD,GAAI,SAAS,qBAAqB,KAAA,IAC9B,CAAC,IACD,EAAE,kBAAkB,SAAS,iBAAiB;GAClD,aAAa,SAAS;EACxB,CAAC,CAAC,CACD,KACC,OAAO,UAAU;GACf,yBACE,qBAAqB,KAAK;IAAE,WAAW;IAAsB,QAAQ;GAAU,CAAC;GAClF,8BAA8B,wBAAwB,KAAK,EAAE,QAAQ,WAAW,CAAC;GACjF,oBAAoB,UAClB,wBAAwB,KAAK,EAC3B,QAAQ,MAAM,eAAe,OAAO,aAAa,YACnD,CAAC;GACH,yBAAyB,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;GAC7E,uBAAuB,UACrB,MAAM,WAAW,YACb,sBAAsB,KAAK,EAAE,MAAM,MAAM,KAAK,CAAC,IAC/C,wBAAwB,KAAK,EAC3B,QAAQ,MAAM,WAAW,aAAa,aAAa,UACrD,CAAC;GACP,mBAAmB,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GACrE,wBAAwB,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GAC1E,yBAAyB,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GAC3E,uBACE,qBAAqB,KAAK;IAAE,WAAW;IAAsB,QAAQ;GAAU,CAAC;GAClF,mBACE,qBAAqB,KAAK;IAAE,WAAW;IAAsB,QAAQ;GAAU,CAAC;GAClF,6BAA6B,wBAAwB,KAAK,EAAE,QAAQ,UAAU,CAAC;GAC/E,sBAAsB,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;GAC1E,qBAAqB,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;GACzE,oCACE,wBAAwB,KAAK,EAAE,QAAQ,YAAY,CAAC;EACxD,CAAC,CACH;CACN,CAAC;AACH,CAAC,CACH;AAEA,MAAM,wBAAwB,cAAgD;CAC5E,eAAe;CACf,UAAU,SAAS;CACnB,mBAAmB,SAAS;CAC5B,GAAI,SAAS,mBAAmB,KAAA,IAAY,CAAC,IAAI,EAAE,gBAAgB,SAAS,eAAe;CAC3F,GAAI,SAAS,mBAAmB,KAAA,IAAY,CAAC,IAAI,EAAE,gBAAgB,SAAS,eAAe;CAC3F,SAAS,SAAS;CAClB,aAAa,SAAS;CACtB,OAAO,SAAS;CAChB,aAAa,SAAS;CACtB,cAAc,SAAS;CACvB,eAAe,SAAS;AAC1B;;AAGA,MAAa,yCAIT,MAAM,OACR,yBACA,OAAO,IAAI,yBAAyB,cAClC,wBAAwB,GAAG,EACzB,SAAS,aAAa,UAAU,OAAO,qBAAqB,QAAQ,CAAC,EACvE,CAAC,CACH,CACF"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@yielded/agent-platform-cloudflare","version":"0.1.0-beta.173","dependencies":{"@effect/platform-browser":"4.0.3","@effect/sql-sqlite-do":"4.0.3","@yielded/agent":"0.1.0-beta.173","@yielded/agent-storage-cloudflare":"0.1.0-beta.173","@yielded/agent-storage-sql":"0.1.0-beta.173","puppeteer-core":"24.29.0"},"devDependencies":{"@cloudflare/vitest-plugin":"1.4.0","@cloudflare/workers-types":"5.20260926.1","@effect/platform-node":"4.0.3","@effect/sql-d1":"4.0.3","@effect/vitest":"4.0.3","@yielded/agent-testing":"0.1.0-beta.173","effect":"4.0.3","effect-cf":"0.56.2","esbuild":"0.28.1","miniflare":"5.20260811.1-alpha","typescript":"7.0.2","vite":"npm:@voidzero-dev/vite-plus-core@1.1.0","vite-plus":"1.1.0","vitest":"5.0.3"},"peerDependencies":{"effect":"^4.0.3","effect-cf":"^0.56.0"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./alarm":{"types":"./dist/Alarm.d.mts","default":"./dist/Alarm.mjs"},"./browser-rest-capture":{"types":"./dist/BrowserRestCapture.d.mts","default":"./dist/BrowserRestCapture.mjs"},"./browser-rest-crawl":{"types":"./dist/BrowserRestCrawl.d.mts","default":"./dist/BrowserRestCrawl.mjs"},"./cloudflare-bindings":{"types":"./dist/CloudflareBindings.d.mts","default":"./dist/CloudflareBindings.mjs"},"./cloudflare-browser":{"types":"./dist/CloudflareBrowser.d.mts","default":"./dist/CloudflareBrowser.mjs"},"./cloudflare-code-mode":{"types":"./dist/CloudflareCodeMode.d.mts","default":"./dist/CloudflareCodeMode.mjs"},"./cloudflare-config":{"types":"./dist/CloudflareConfig.d.mts","default":"./dist/CloudflareConfig.mjs"},"./cloudflare-memory":{"types":"./dist/CloudflareMemory.d.mts","default":"./dist/CloudflareMemory.mjs"},"./cloudflare-scheduling":{"types":"./dist/CloudflareScheduling.d.mts","default":"./dist/CloudflareScheduling.mjs"},"./cloudflare-subscriptions":{"types":"./dist/CloudflareSubscriptions.d.mts","default":"./dist/CloudflareSubscriptions.mjs"},"./cloudflare-thread-client":{"types":"./dist/CloudflareThreadClient.d.mts","default":"./dist/CloudflareThreadClient.mjs"},"./interactive-browser":{"types":"./dist/InteractiveBrowser.d.mts","default":"./dist/InteractiveBrowser.mjs"},"./browser-session":{"types":"./dist/BrowserSession.d.mts","default":"./dist/BrowserSession.mjs"},"./browser-credentials":{"types":"./dist/BrowserCredentials.d.mts","default":"./dist/BrowserCredentials.mjs"},"./thread-object":{"types":"./dist/ThreadObject.d.mts","default":"./dist/ThreadObject.mjs"},"./wake-scheduler":{"types":"./dist/WakeScheduler.d.mts","default":"./dist/WakeScheduler.mjs"},"./cloudflare-ai-gateway":{"types":"./dist/CloudflareAiGateway.d.mts","default":"./dist/CloudflareAiGateway.mjs"},"./browser-use":{"types":"./dist/BrowserUse.d.mts","default":"./dist/BrowserUse.mjs"}},"description":"Cloudflare Layer assembly for Effect Agent: Durable Objects and Browser Run adapters.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/yielded-dev/agent.git","directory":"packages/platform-cloudflare"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json"}}
1
+ {"name":"@yielded/agent-platform-cloudflare","version":"0.1.0-beta.175","dependencies":{"@effect/platform-browser":"4.0.3","@effect/sql-sqlite-do":"4.0.3","@yielded/agent":"0.1.0-beta.175","@yielded/agent-storage-cloudflare":"0.1.0-beta.175","@yielded/agent-storage-sql":"0.1.0-beta.175","puppeteer-core":"24.29.0"},"devDependencies":{"@cloudflare/vitest-plugin":"1.4.0","@cloudflare/workers-types":"5.20260926.1","@effect/platform-node":"4.0.3","@effect/sql-d1":"4.0.3","@effect/vitest":"4.0.3","@yielded/agent-testing":"0.1.0-beta.175","effect":"4.0.3","effect-cf":"0.56.2","esbuild":"0.28.1","miniflare":"5.20260811.1-alpha","typescript":"7.0.2","vite":"npm:@voidzero-dev/vite-plus-core@1.1.0","vite-plus":"1.1.0","vitest":"5.0.3"},"peerDependencies":{"effect":"^4.0.3","effect-cf":"^0.56.0"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./alarm":{"types":"./dist/Alarm.d.mts","default":"./dist/Alarm.mjs"},"./browser-rest-capture":{"types":"./dist/BrowserRestCapture.d.mts","default":"./dist/BrowserRestCapture.mjs"},"./browser-rest-crawl":{"types":"./dist/BrowserRestCrawl.d.mts","default":"./dist/BrowserRestCrawl.mjs"},"./cloudflare-bindings":{"types":"./dist/CloudflareBindings.d.mts","default":"./dist/CloudflareBindings.mjs"},"./cloudflare-browser":{"types":"./dist/CloudflareBrowser.d.mts","default":"./dist/CloudflareBrowser.mjs"},"./cloudflare-code-mode":{"types":"./dist/CloudflareCodeMode.d.mts","default":"./dist/CloudflareCodeMode.mjs"},"./cloudflare-config":{"types":"./dist/CloudflareConfig.d.mts","default":"./dist/CloudflareConfig.mjs"},"./cloudflare-memory":{"types":"./dist/CloudflareMemory.d.mts","default":"./dist/CloudflareMemory.mjs"},"./cloudflare-scheduling":{"types":"./dist/CloudflareScheduling.d.mts","default":"./dist/CloudflareScheduling.mjs"},"./cloudflare-subscriptions":{"types":"./dist/CloudflareSubscriptions.d.mts","default":"./dist/CloudflareSubscriptions.mjs"},"./cloudflare-thread-client":{"types":"./dist/CloudflareThreadClient.d.mts","default":"./dist/CloudflareThreadClient.mjs"},"./interactive-browser":{"types":"./dist/InteractiveBrowser.d.mts","default":"./dist/InteractiveBrowser.mjs"},"./browser-session":{"types":"./dist/BrowserSession.d.mts","default":"./dist/BrowserSession.mjs"},"./browser-credentials":{"types":"./dist/BrowserCredentials.d.mts","default":"./dist/BrowserCredentials.mjs"},"./thread-object":{"types":"./dist/ThreadObject.d.mts","default":"./dist/ThreadObject.mjs"},"./wake-scheduler":{"types":"./dist/WakeScheduler.d.mts","default":"./dist/WakeScheduler.mjs"},"./cloudflare-ai-gateway":{"types":"./dist/CloudflareAiGateway.d.mts","default":"./dist/CloudflareAiGateway.mjs"},"./browser-use":{"types":"./dist/BrowserUse.d.mts","default":"./dist/BrowserUse.mjs"}},"description":"Cloudflare Layer assembly for Effect Agent: Durable Objects and Browser Run adapters.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/yielded-dev/agent.git","directory":"packages/platform-cloudflare"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json"}}