durable-actors 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -15
- package/dist/backend.d.ts +3 -10
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +7 -34
- package/dist/backend.js.map +1 -1
- package/dist/cli/actor-source-watcher.d.ts.map +1 -1
- package/dist/cli/actor-source-watcher.js +6 -2
- package/dist/cli/actor-source-watcher.js.map +1 -1
- package/dist/cli/connection.d.ts +1 -1
- package/dist/cli/control-plane.d.ts.map +1 -1
- package/dist/cli/control-plane.js +8 -4
- package/dist/cli/control-plane.js.map +1 -1
- package/dist/cli/dev.d.ts.map +1 -1
- package/dist/cli/dev.js +35 -3
- package/dist/cli/dev.js.map +1 -1
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +16 -9
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli.js +18 -3
- package/dist/cli.js.map +1 -1
- package/dist/client/clientSettings.d.ts +1 -8
- package/dist/client/clientSettings.d.ts.map +1 -1
- package/dist/client/clientSettings.js +1 -51
- package/dist/client/clientSettings.js.map +1 -1
- package/dist/client/remoteClient.d.ts +4 -35
- package/dist/client/remoteClient.d.ts.map +1 -1
- package/dist/client/remoteClient.js +13 -201
- package/dist/client/remoteClient.js.map +1 -1
- package/dist/client/telemetry.d.ts +4 -12
- package/dist/client/telemetry.d.ts.map +1 -1
- package/dist/client/telemetry.js +3 -19
- package/dist/client/telemetry.js.map +1 -1
- package/dist/client-runtime/client.d.ts +40 -0
- package/dist/client-runtime/client.d.ts.map +1 -0
- package/dist/client-runtime/client.js +183 -0
- package/dist/client-runtime/client.js.map +1 -0
- package/dist/client-runtime/errors.d.ts +30 -0
- package/dist/client-runtime/errors.d.ts.map +1 -0
- package/dist/client-runtime/errors.js +55 -0
- package/dist/client-runtime/errors.js.map +1 -0
- package/dist/client-runtime/http.d.ts +43 -0
- package/dist/client-runtime/http.d.ts.map +1 -0
- package/dist/client-runtime/http.js +63 -0
- package/dist/client-runtime/http.js.map +1 -0
- package/dist/client-runtime/index.browser.d.ts +8 -0
- package/dist/client-runtime/index.browser.d.ts.map +1 -0
- package/dist/client-runtime/index.browser.js +14 -0
- package/dist/client-runtime/index.browser.js.map +1 -0
- package/dist/client-runtime/index.d.ts +6 -0
- package/dist/client-runtime/index.d.ts.map +1 -0
- package/dist/client-runtime/index.js +4 -0
- package/dist/client-runtime/index.js.map +1 -0
- package/dist/client-runtime/json.d.ts +9 -0
- package/dist/client-runtime/json.d.ts.map +1 -0
- package/dist/client-runtime/json.js +16 -0
- package/dist/client-runtime/json.js.map +1 -0
- package/dist/client-runtime/proxy.d.ts +49 -0
- package/dist/client-runtime/proxy.d.ts.map +1 -0
- package/dist/client-runtime/proxy.js +106 -0
- package/dist/client-runtime/proxy.js.map +1 -0
- package/dist/client-runtime/settings.d.ts +20 -0
- package/dist/client-runtime/settings.d.ts.map +1 -0
- package/dist/client-runtime/settings.js +60 -0
- package/dist/client-runtime/settings.js.map +1 -0
- package/dist/client-runtime/stub.d.ts +15 -0
- package/dist/client-runtime/stub.d.ts.map +1 -0
- package/dist/client-runtime/stub.js +44 -0
- package/dist/client-runtime/stub.js.map +1 -0
- package/dist/client-runtime/telemetry.d.ts +13 -0
- package/dist/client-runtime/telemetry.d.ts.map +1 -0
- package/dist/client-runtime/telemetry.js +18 -0
- package/dist/client-runtime/telemetry.js.map +1 -0
- package/dist/compiler/actor-build.js +1 -1
- package/dist/compiler/deployment-build.js +15 -0
- package/dist/compiler/deployment-build.js.map +1 -1
- package/dist/compiler/generators/backend-generator.js +4 -4
- package/dist/compiler/generators/backend-generator.js.map +1 -1
- package/dist/compiler/generators/client-generator.d.ts.map +1 -1
- package/dist/compiler/generators/client-generator.js +6 -19
- package/dist/compiler/generators/client-generator.js.map +1 -1
- package/dist/compiler/generators/typescript-generator.d.ts +1 -1
- package/dist/compiler/generators/typescript-generator.d.ts.map +1 -1
- package/dist/compiler/generators/typescript-generator.js +11 -8
- package/dist/compiler/generators/typescript-generator.js.map +1 -1
- package/dist/compiler/json-schema.d.ts.map +1 -1
- package/dist/compiler/json-schema.js +2 -1
- package/dist/compiler/json-schema.js.map +1 -1
- package/dist/errors.d.ts +1 -29
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -54
- package/dist/errors.js.map +1 -1
- package/dist/generated/client-runtime.d.ts +2 -0
- package/dist/generated/client-runtime.d.ts.map +1 -0
- package/dist/generated/client-runtime.js +2 -0
- package/dist/generated/client-runtime.js.map +1 -0
- package/dist/host/actor-host.d.ts.map +1 -1
- package/dist/host/actor-host.js +4 -18
- package/dist/host/actor-host.js.map +1 -1
- package/dist/host/actor-worker.js +7 -1
- package/dist/host/actor-worker.js.map +1 -1
- package/dist/host/generic-host.d.ts.map +1 -1
- package/dist/host/generic-host.js +4 -5
- package/dist/host/generic-host.js.map +1 -1
- package/dist/host/protocol.d.ts +2 -2
- package/dist/host/protocol.js +1 -1
- package/dist/host/types.d.ts +1 -5
- package/dist/host/types.d.ts.map +1 -1
- package/dist/host/validate-artifact.d.ts +2 -0
- package/dist/host/validate-artifact.d.ts.map +1 -0
- package/dist/host/validate-artifact.js +10 -0
- package/dist/host/validate-artifact.js.map +1 -0
- package/dist/host/worker-supervisor.d.ts +2 -25
- package/dist/host/worker-supervisor.d.ts.map +1 -1
- package/dist/host/worker-supervisor.js +2 -53
- package/dist/host/worker-supervisor.js.map +1 -1
- package/dist/json.d.ts +1 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/json.js +1 -13
- package/dist/json.js.map +1 -1
- package/dist/localRuntime.d.ts.map +1 -1
- package/dist/localRuntime.js +5 -0
- package/dist/localRuntime.js.map +1 -1
- package/dist/projectSdk.d.ts +2 -0
- package/dist/projectSdk.d.ts.map +1 -0
- package/dist/projectSdk.js +19 -0
- package/dist/projectSdk.js.map +1 -0
- package/dist/proxy.d.ts +1 -51
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +1 -71
- package/dist/proxy.js.map +1 -1
- package/dist/templates/actor/README.md +6 -6
- package/dist/templates/actor/package.json +2 -2
- package/dist/templates/actor/pnpm-workspace.yaml +2 -0
- package/dist/templates/ai-chat/README.md +5 -10
- package/dist/templates/ai-chat/package.json +1 -1
- package/dist/templates/ai-chat/pnpm-workspace.yaml +2 -0
- package/dist/templates/ai-chat/src/actors.ts +3 -8
- package/dist/templates/ai-chat/src/backend.ts +2 -12
- package/dist/templates/chat/README.md +1 -1
- package/dist/templates/chat/package.json +2 -2
- package/dist/templates/chat/pnpm-workspace.yaml +2 -0
- package/dist/templates/documents/README.md +1 -1
- package/dist/templates/documents/package.json +2 -2
- package/dist/templates/documents/pnpm-workspace.yaml +2 -0
- package/package.json +24 -21
- package/dist/client/actorHostGrpc.d.ts +0 -50
- package/dist/client/actorHostGrpc.d.ts.map +0 -1
- package/dist/client/actorHostGrpc.js +0 -111
- package/dist/client/actorHostGrpc.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActivateActorReply.d.ts +0 -8
- package/dist/generated/durable_actors/v1/ActivateActorReply.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActivateActorReply.js +0 -3
- package/dist/generated/durable_actors/v1/ActivateActorReply.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActivateActorRequest.d.ts +0 -8
- package/dist/generated/durable_actors/v1/ActivateActorRequest.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActivateActorRequest.js +0 -3
- package/dist/generated/durable_actors/v1/ActivateActorRequest.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActorCompleted.d.ts +0 -9
- package/dist/generated/durable_actors/v1/ActorCompleted.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActorCompleted.js +0 -3
- package/dist/generated/durable_actors/v1/ActorCompleted.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActorControlPlaneService.d.ts +0 -21
- package/dist/generated/durable_actors/v1/ActorControlPlaneService.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActorControlPlaneService.js +0 -3
- package/dist/generated/durable_actors/v1/ActorControlPlaneService.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActorFailed.d.ts +0 -9
- package/dist/generated/durable_actors/v1/ActorFailed.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActorFailed.js +0 -3
- package/dist/generated/durable_actors/v1/ActorFailed.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActorHostService.d.ts +0 -56
- package/dist/generated/durable_actors/v1/ActorHostService.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActorHostService.js +0 -3
- package/dist/generated/durable_actors/v1/ActorHostService.js.map +0 -1
- package/dist/generated/durable_actors/v1/ActorKey.d.ts +0 -11
- package/dist/generated/durable_actors/v1/ActorKey.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ActorKey.js +0 -3
- package/dist/generated/durable_actors/v1/ActorKey.js.map +0 -1
- package/dist/generated/durable_actors/v1/ControlPlaneReply.d.ts +0 -7
- package/dist/generated/durable_actors/v1/ControlPlaneReply.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ControlPlaneReply.js +0 -3
- package/dist/generated/durable_actors/v1/ControlPlaneReply.js.map +0 -1
- package/dist/generated/durable_actors/v1/ControlPlaneRequest.d.ts +0 -7
- package/dist/generated/durable_actors/v1/ControlPlaneRequest.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ControlPlaneRequest.js +0 -3
- package/dist/generated/durable_actors/v1/ControlPlaneRequest.js.map +0 -1
- package/dist/generated/durable_actors/v1/Empty.d.ts +0 -5
- package/dist/generated/durable_actors/v1/Empty.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/Empty.js +0 -3
- package/dist/generated/durable_actors/v1/Empty.js.map +0 -1
- package/dist/generated/durable_actors/v1/HostInvokeActorRequest.d.ts +0 -11
- package/dist/generated/durable_actors/v1/HostInvokeActorRequest.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/HostInvokeActorRequest.js +0 -3
- package/dist/generated/durable_actors/v1/HostInvokeActorRequest.js.map +0 -1
- package/dist/generated/durable_actors/v1/HostSocketEventRequest.d.ts +0 -17
- package/dist/generated/durable_actors/v1/HostSocketEventRequest.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/HostSocketEventRequest.js +0 -3
- package/dist/generated/durable_actors/v1/HostSocketEventRequest.js.map +0 -1
- package/dist/generated/durable_actors/v1/InvokeActorReply.d.ts +0 -16
- package/dist/generated/durable_actors/v1/InvokeActorReply.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/InvokeActorReply.js +0 -3
- package/dist/generated/durable_actors/v1/InvokeActorReply.js.map +0 -1
- package/dist/generated/durable_actors/v1/InvokeActorRequest.d.ts +0 -14
- package/dist/generated/durable_actors/v1/InvokeActorRequest.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/InvokeActorRequest.js +0 -3
- package/dist/generated/durable_actors/v1/InvokeActorRequest.js.map +0 -1
- package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.d.ts +0 -13
- package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.js +0 -3
- package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.js.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaService.d.ts +0 -42
- package/dist/generated/durable_actors/v1/ReplicaService.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaService.js +0 -3
- package/dist/generated/durable_actors/v1/ReplicaService.js.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaSessionHead.d.ts +0 -14
- package/dist/generated/durable_actors/v1/ReplicaSessionHead.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaSessionHead.js +0 -3
- package/dist/generated/durable_actors/v1/ReplicaSessionHead.js.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.d.ts +0 -14
- package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.js +0 -3
- package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.js.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaStreamHead.d.ts +0 -11
- package/dist/generated/durable_actors/v1/ReplicaStreamHead.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaStreamHead.js +0 -3
- package/dist/generated/durable_actors/v1/ReplicaStreamHead.js.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.d.ts +0 -14
- package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.js +0 -3
- package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.js.map +0 -1
- package/dist/generated/durable_actors/v1/Reroute.d.ts +0 -5
- package/dist/generated/durable_actors/v1/Reroute.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/Reroute.js +0 -3
- package/dist/generated/durable_actors/v1/Reroute.js.map +0 -1
- package/dist/generated/durable_actors/v1/SnapshotData.d.ts +0 -7
- package/dist/generated/durable_actors/v1/SnapshotData.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/SnapshotData.js +0 -3
- package/dist/generated/durable_actors/v1/SnapshotData.js.map +0 -1
- package/dist/generated/durable_actors/v1/SnapshotService.d.ts +0 -32
- package/dist/generated/durable_actors/v1/SnapshotService.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/SnapshotService.js +0 -3
- package/dist/generated/durable_actors/v1/SnapshotService.js.map +0 -1
- package/dist/generated/durable_actors/v1/SnapshotWriteReply.d.ts +0 -7
- package/dist/generated/durable_actors/v1/SnapshotWriteReply.d.ts.map +0 -1
- package/dist/generated/durable_actors/v1/SnapshotWriteReply.js +0 -3
- package/dist/generated/durable_actors/v1/SnapshotWriteReply.js.map +0 -1
- package/dist/generated/durable_actors.d.ts +0 -69
- package/dist/generated/durable_actors.d.ts.map +0 -1
- package/dist/generated/durable_actors.js +0 -2
- package/dist/generated/durable_actors.js.map +0 -1
- package/dist/generated/durable_actors.proto +0 -117
- package/dist/generated.browser.d.ts +0 -6
- package/dist/generated.browser.d.ts.map +0 -1
- package/dist/generated.browser.js +0 -10
- package/dist/generated.browser.js.map +0 -1
- package/dist/generated.d.ts +0 -3
- package/dist/generated.d.ts.map +0 -1
- package/dist/generated.js +0 -3
- package/dist/generated.js.map +0 -1
- package/dist/templates/actor/LICENSE.md +0 -9
- package/dist/templates/ai-chat/LICENSE.md +0 -9
- package/dist/templates/chat/LICENSE.md +0 -9
- package/dist/templates/documents/LICENSE.md +0 -9
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const runtimeFiles = { "runtime/client.ts": "import { ActorInvocationError, ActorProtocolError } from \"./errors.js\"\nimport { HttpActorHostTransport, isRecord, responseDocument } from \"./http.js\"\nimport type { ActorHostTarget, ActorHostTransport, DirectActorInvocation } from \"./http.js\"\nimport { cloneJson } from \"./json.js\"\nimport type { JsonValue } from \"./json.js\"\nimport {\n authorizationHeaders,\n configuredSettings,\n environmentSettings,\n projectActorPath,\n runtimeEnvironment,\n validateActorComponent,\n validateOrigin\n} from \"./settings.js\"\nimport type { DurableActorsClientOptions, Environment } from \"./settings.js\"\nimport { LatencyTimeline } from \"./telemetry.js\"\nimport type { TelemetrySink } from \"./telemetry.js\"\n\nconst TARGET_EXPIRATION_SAFETY_MS = 5_000\n\nexport class HttpActorClient {\n private readonly beforeInvoke: (requestId: string) => void\n private settingsValue: RemoteActorSettings | undefined\n protected readonly environment: Environment\n protected readonly fetchRequest: typeof globalThis.fetch\n protected readonly requestId: () => string\n protected readonly actorHost: ActorHostTransport\n protected readonly now: () => number\n protected readonly monotonicNow: () => number\n protected readonly telemetry: TelemetrySink\n protected readonly targets = new Map<string, Promise<ActorHostTarget>>()\n\n constructor(options?: DurableActorsClientOptions, dependencies: HttpActorClientDependencies = {}) {\n this.beforeInvoke = dependencies.beforeInvoke ?? (() => {})\n this.environment = dependencies.environment ?? runtimeEnvironment()\n this.fetchRequest = dependencies.fetch ?? globalThis.fetch\n this.requestId = dependencies.requestId ?? (() => globalThis.crypto.randomUUID())\n this.actorHost = dependencies.actorHost ?? new HttpActorHostTransport(this.fetchRequest)\n // Workflow runtimes can replace Date.now with replayable logical time.\n this.now = dependencies.now ?? (() => performance.timeOrigin + performance.now())\n this.monotonicNow = dependencies.monotonicNow ?? (() => performance.now())\n this.telemetry = dependencies.telemetry ?? (() => {})\n this.settingsValue = options === undefined ? undefined : configuredSettings(options)\n }\n\n async invoke(actorName: string, actorId: string, method: string, args: readonly unknown[]): Promise<unknown> {\n const requestId = validateActorComponent(\"request ID\", this.requestId())\n const timeline = new LatencyTimeline(this.monotonicNow)\n let outcome = \"failed\"\n try {\n this.beforeInvoke(requestId)\n const invocation = this.invocation(requestId, actorName, actorId, method, args)\n timeline.mark(\"invocation_built\")\n const target = await this.target(invocation, timeline)\n timeline.mark(\"target_resolved\")\n const result = await this.direct(target, invocation, true, timeline)\n outcome = \"completed\"\n return result\n } finally {\n this.telemetry({\n event: \"actor_client_invocation\",\n request_id: requestId,\n actor_name: actorName,\n actor_id: actorId,\n method,\n ...timeline.finish(),\n outcome\n })\n }\n }\n\n private async direct(\n target: ActorHostTarget,\n invocation: DirectActorInvocation,\n retryReroute: boolean,\n timeline: LatencyTimeline\n ): Promise<unknown> {\n try {\n const reply = await this.actorHost.invoke(target, invocation)\n timeline.mark(\"host_rpc_completed\")\n if (reply.type === \"completed\") {\n timeline.mark(\"socket_effects_completed\")\n return reply.result\n }\n if (reply.type === \"failed\") throw new ActorInvocationError(reply.code, invocation.requestId, reply.message)\n if (reply.type === \"unauthenticated\" && !retryReroute) {\n this.targets.delete(actorKey(invocation.actorName, invocation.actorId))\n throw new ActorInvocationError(\n \"unauthenticated\",\n invocation.requestId,\n \"actor host rejected the refreshed invocation ticket\"\n )\n }\n if (!retryReroute)\n throw new ActorInvocationError(\n \"unavailable\",\n invocation.requestId,\n \"actor ownership changed repeatedly before execution\"\n )\n this.targets.delete(actorKey(invocation.actorName, invocation.actorId))\n const rerouted = await this.target(invocation, timeline)\n return this.direct(rerouted, invocation, false, timeline)\n } catch (error) {\n if (error instanceof ActorInvocationError || error instanceof ActorProtocolError) throw error\n this.targets.delete(actorKey(invocation.actorName, invocation.actorId))\n const message = error instanceof Error ? error.message : String(error)\n throw new ActorInvocationError(\n \"outcome_unknown\",\n invocation.requestId,\n `actor-host HTTP request failed after dispatch: ${message}`\n )\n }\n }\n\n protected async target(invocation: ActorAddress, timeline: LatencyTimeline): Promise<ActorHostTarget> {\n const key = actorKey(invocation.actorName, invocation.actorId)\n const current = this.targets.get(key)\n timeline.mark(\"target_cache_checked\")\n if (current) {\n const target = await current\n if (target.expiresAtMs > this.now() + TARGET_EXPIRATION_SAFETY_MS) return target\n this.targets.delete(key)\n }\n const resolving = this.resolveTarget(invocation).catch(error => {\n this.targets.delete(key)\n throw error\n })\n this.targets.set(key, resolving)\n return resolving\n }\n\n private async resolveTarget(invocation: ActorAddress): Promise<ActorHostTarget> {\n let response: Response\n try {\n response = await this.fetchRequest(targetUrl(this.settings, invocation.actorName, invocation.actorId), {\n method: \"POST\",\n redirect: \"error\",\n headers: {\n accept: \"application/json\",\n ...authorizationHeaders(this.settings.credential),\n \"x-request-id\": invocation.requestId,\n \"content-type\": \"application/json\"\n },\n body: JSON.stringify({ homeRegion: this.settings.homeRegion })\n })\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n throw new ActorInvocationError(\n \"outcome_unknown\",\n invocation.requestId,\n `control-plane HTTP request failed before dispatch: ${message}`\n )\n }\n const document = await responseDocument(response)\n if (!response.ok) this.throwResponseFailure(response, document, invocation.requestId)\n if (\n !isRecord(document) ||\n typeof document.route !== \"string\" ||\n typeof document.token !== \"string\" ||\n !document.token.trim() ||\n !positiveInteger(document.ownerEpoch) ||\n !positiveInteger(document.expiresAtMs)\n )\n throw new ActorProtocolError(\"control-plane response did not contain a valid actor host target\")\n validateOrigin(document.route)\n return {\n route: document.route,\n token: document.token,\n ownerEpoch: document.ownerEpoch,\n expiresAtMs: document.expiresAtMs\n }\n }\n\n private throwResponseFailure(response: Response, document: unknown, requestId: string): never {\n if (response.status === 401 || response.status === 403)\n throw new ActorInvocationError(\n \"unauthenticated\",\n requestId,\n \"the durable-actors application credential was rejected\"\n )\n const failure = isRecord(document) ? document.error : undefined\n if (\n !isRecord(failure) ||\n typeof failure.code !== \"string\" ||\n !failure.code ||\n typeof failure.message !== \"string\"\n )\n throw new ActorProtocolError(`control-plane HTTP ${response.status} response did not contain a valid error`)\n throw new ActorInvocationError(\n failure.code,\n typeof failure.requestId === \"string\" ? failure.requestId : requestId,\n failure.message\n )\n }\n\n private invocation(\n requestId: string,\n actorName: string,\n actorId: string,\n method: string,\n args: readonly unknown[]\n ): DirectActorInvocation {\n return {\n requestId,\n projectId: this.settings.projectId,\n actorName: validateActorComponent(\"actor name\", actorName),\n actorId: validateActorComponent(\"actor ID\", actorId),\n method: validateActorComponent(\"actor method\", method),\n args: this.jsonArguments(args)\n }\n }\n\n protected get settings(): RemoteActorSettings {\n if (this.settingsValue !== undefined) return this.settingsValue\n this.settingsValue = configuredSettings(environmentSettings(this.environment))\n return this.settingsValue\n }\n\n private jsonArguments(args: readonly unknown[]): readonly JsonValue[] {\n const value = cloneJson(args, \"actor arguments\")\n if (!Array.isArray(value)) throw new ActorProtocolError(\"actor arguments must be a JSON array\")\n return value\n }\n}\n\nfunction targetUrl(settings: RemoteActorSettings, actorName: string, actorId: string): string {\n const actor = validateActorComponent(\"actor name\", actorName)\n const id = validateActorComponent(\"actor ID\", actorId)\n return `${settings.controlPlaneUrl}${projectActorPath(settings.projectId, actor, id)}/find-actor`\n}\n\nfunction actorKey(actorName: string, actorId: string): string {\n return `${actorName}\\u001f${actorId}`\n}\nfunction positiveInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value > 0\n}\ntype ActorAddress = Pick<DirectActorInvocation, \"requestId\" | \"projectId\" | \"actorName\" | \"actorId\">\ntype RemoteActorSettings = ReturnType<typeof configuredSettings>\nexport interface HttpActorClientDependencies {\n readonly environment?: Environment\n readonly fetch?: typeof globalThis.fetch\n readonly requestId?: () => string\n readonly actorHost?: ActorHostTransport\n readonly now?: () => number\n readonly monotonicNow?: () => number\n readonly telemetry?: TelemetrySink\n readonly beforeInvoke?: (requestId: string) => void\n}\nexport type { DurableActorsClientOptions }\n", "runtime/errors.ts": "class ActorConfigurationError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n this.name = \"ActorConfigurationError\"\n }\n}\n\nclass ActorDefinitionError extends Error {\n constructor(message: string) {\n super(message)\n this.name = \"ActorDefinitionError\"\n }\n}\n\n/** Remote failure. Retrying an `outcome_unknown` operation may run it twice. */\nclass ActorInvocationError extends Error {\n /** Error category, such as `actor_error` or `outcome_unknown`. New codes may be added. */\n readonly code: string\n /** Identifies this caller attempt; it is not an application idempotency key. */\n readonly requestId: string\n\n constructor(code: string, requestId: string, message: string) {\n super(message)\n this.name = \"ActorInvocationError\"\n this.code = code\n this.requestId = requestId\n }\n}\n\nclass ActorSessionError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n this.name = \"ActorSessionError\"\n }\n}\n\nclass ActorProtocolError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n this.name = \"ActorProtocolError\"\n }\n}\n\nclass ActorSerializationError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options)\n this.name = \"ActorSerializationError\"\n }\n}\n\nclass ActorValidationError extends Error {\n constructor(message: string) {\n super(message)\n this.name = \"ActorValidationError\"\n }\n}\n\nexport {\n ActorConfigurationError,\n ActorDefinitionError,\n ActorInvocationError,\n ActorProtocolError,\n ActorSerializationError,\n ActorSessionError,\n ActorValidationError\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error)\n}\n\nexport { errorMessage }\n", "runtime/http.ts": "import { ActorProtocolError } from \"./errors.js\"\nimport type { JsonValue } from \"./json.js\"\nimport { projectActorPath, validateOrigin } from \"./settings.js\"\n\nexport class HttpActorHostTransport implements ActorHostTransport {\n constructor(private readonly fetchRequest: typeof globalThis.fetch = globalThis.fetch) {}\n\n async invoke(target: ActorHostTarget, invocation: DirectActorInvocation): Promise<ActorHostReply> {\n const response = await this.post(target, invocation, \"invoke\", {\n requestId: invocation.requestId,\n ownerEpoch: target.ownerEpoch,\n method: invocation.method,\n args: invocation.args\n })\n // A 401 is issued before dispatch, so refreshing this ticket cannot repeat actor code.\n if (response.status === 401) return { type: \"unauthenticated\" }\n if (!response.ok) throw new Error(`actor host returned HTTP ${response.status}`)\n const reply = await responseDocument(response)\n if (isRecord(reply)) {\n if (reply.type === \"completed\" && Object.hasOwn(reply, \"result\"))\n return { type: \"completed\", result: reply.result }\n if (\n reply.type === \"failed\" &&\n typeof reply.code === \"string\" &&\n reply.code.length > 0 &&\n typeof reply.message === \"string\"\n )\n return { type: \"failed\", code: reply.code, message: reply.message }\n if (reply.type === \"reroute\") return { type: \"reroute\" }\n }\n throw new ActorProtocolError(\"actor host response did not contain a valid outcome\")\n }\n\n async publish(target: ActorHostTarget, actor: ActorAddress, effects: readonly unknown[]): Promise<void> {\n const response = await this.post(target, actor, \"socket-effects\", { ownerEpoch: target.ownerEpoch, effects })\n if (!response.ok) throw new Error(`socket effects returned HTTP ${response.status}`)\n }\n\n private post(target: ActorHostTarget, actor: ActorAddress, endpoint: string, body: unknown): Promise<Response> {\n return this.fetchRequest(\n `${validateOrigin(target.route)}${projectActorPath(actor.projectId, actor.actorName, actor.actorId)}/${endpoint}`,\n {\n method: \"POST\",\n redirect: \"error\",\n headers: {\n authorization: `Bearer ${target.token}`,\n \"content-type\": \"application/json\",\n accept: \"application/json\"\n },\n body: JSON.stringify(body)\n }\n )\n }\n}\n\nexport async function responseDocument(response: Response): Promise<unknown> {\n try {\n return await response.json()\n } catch (error) {\n throw new ActorProtocolError(`HTTP ${response.status} response was not valid JSON`, { cause: error })\n }\n}\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nexport interface ActorAddress {\n readonly projectId: string\n readonly actorName: string\n readonly actorId: string\n}\nexport interface ActorHostTarget {\n readonly route: string\n readonly token: string\n readonly ownerEpoch: number\n readonly expiresAtMs: number\n}\nexport interface DirectActorInvocation extends ActorAddress {\n readonly requestId: string\n readonly method: string\n readonly args: readonly JsonValue[]\n}\nexport type ActorHostReply =\n | { readonly type: \"completed\"; readonly result: unknown }\n | { readonly type: \"failed\"; readonly code: string; readonly message: string }\n | { readonly type: \"reroute\" }\n | { readonly type: \"unauthenticated\" }\nexport interface ActorHostTransport {\n invoke(target: ActorHostTarget, invocation: DirectActorInvocation): Promise<ActorHostReply>\n publish(target: ActorHostTarget, actor: ActorAddress, effects: readonly unknown[]): Promise<void>\n}\n", "runtime/index.browser.ts": "import type { SocketProxy as ServerProxy } from \"./proxy.js\"\nimport type { createActorStub as ServerStub, createActorTransport as ServerTransport } from \"./stub.js\"\n\nconst createActorStub: typeof ServerStub = () => {\n throw new Error(\"actors must be used on the server\")\n}\n\nconst createActorTransport: typeof ServerTransport = () => {\n throw new Error(\"actors must be used on the server\")\n}\n\nconst SocketProxy = class {\n constructor() {\n throw new Error(\"ActorProxy must be used on the server\")\n }\n} as unknown as typeof ServerProxy\n\nexport { createActorStub, createActorTransport, SocketProxy }\nexport { ActorInvocationError } from \"./errors.js\"\n", "runtime/index.ts": "export { createActorStub, createActorTransport } from \"./stub.js\"\nexport type { ActorRpcTransport, DurableActorsClientOptions } from \"./stub.js\"\nexport { ActorInvocationError } from \"./errors.js\"\nexport { SocketProxy } from \"./proxy.js\"\nexport type { ProxyActor, SocketGrant, SocketProxyDependencies, SocketProxyOptions } from \"./proxy.js\"\n", "runtime/json.ts": "import { ActorSerializationError } from \"./errors.js\"\n\ntype JsonPrimitive = string | number | boolean | null\ntype JsonObject = { readonly [key: string]: JsonValue }\ntype JsonValue = JsonPrimitive | JsonObject | readonly JsonValue[]\n\nfunction cloneJson(value: unknown, label: string): JsonValue {\n try {\n const encoded = JSON.stringify(value)\n if (encoded === undefined) throw new ActorSerializationError(`${label} must be JSON serializable`)\n return JSON.parse(encoded) as JsonValue\n } catch (error) {\n if (error instanceof ActorSerializationError) throw error\n throw new ActorSerializationError(`${label} must be JSON serializable`, { cause: error })\n }\n}\n\nexport { cloneJson }\nexport type { JsonValue }\n", "runtime/proxy.ts": "import { ActorProtocolError, ActorSerializationError, ActorValidationError } from \"./errors.js\"\nimport { isRecord } from \"./http.js\"\nimport {\n authorizationHeaders,\n configuredSettings,\n environmentSettings,\n projectActorPath,\n validateActorComponent\n} from \"./settings.js\"\n\n/** Overrides for the backend's DURABLE_ACTORS environment settings. */\ninterface SocketProxyOptions {\n readonly projectId?: string\n readonly controlPlaneUrl?: string\n readonly apiKey?: string\n /** Defaults to 180000 ms; accepts 1000–600000 ms. */\n readonly setupTimeoutMs?: number\n}\n\ninterface SocketProxyDependencies {\n readonly fetch?: typeof globalThis.fetch\n}\n\ninterface ProxyActor<Metadata = unknown> {\n readonly types?: Metadata\n}\n\n/** Actor access your backend has already authorized. */\ntype SocketAuthorization<Actors extends Record<string, ProxyActor>> = {\n [Name in keyof Actors & string]: {\n readonly actorName: Name\n readonly actorId: string\n readonly metadata: Actors[Name] extends ProxyActor<infer Metadata> ? Metadata : never\n readonly homeRegion?: string\n readonly authorizationLifetimeMs?: number\n }\n}[keyof Actors & string]\n\n/** Browser connection URL and deadlines in Unix milliseconds. Treat the URL as a credential. */\ninterface SocketGrant {\n websocketUrl: string\n homeRegion: string\n connectByMs: number\n authorizedUntilMs: number\n}\n\n/** Issues browser connection URLs from your backend. */\nclass SocketProxy<Actors extends Record<string, ProxyActor>> {\n private readonly projectId: string\n private readonly origin: string\n private readonly apiKey: string | undefined\n private readonly setupTimeoutMs: number\n private readonly fetchRequest: typeof globalThis.fetch\n\n constructor(\n private readonly actors: Actors,\n options: SocketProxyOptions = {},\n dependencies: SocketProxyDependencies = {}\n ) {\n this.setupTimeoutMs = options.setupTimeoutMs ?? 180000\n if (!Number.isSafeInteger(this.setupTimeoutMs) || this.setupTimeoutMs < 1000 || this.setupTimeoutMs > 600000)\n throw new Error(\"Socket setup timeout must be between one second and ten minutes\")\n const settings = configuredSettings(proxySettings(options))\n this.origin = settings.controlPlaneUrl\n this.apiKey = settings.credential\n this.projectId = settings.projectId\n this.fetchRequest = dependencies.fetch ?? globalThis.fetch\n }\n\n /**\n * Call after authenticating the user and checking actor access.\n * Pass `websocketUrl` to the browser's `new WebSocket()`.\n */\n async handle(authorization: SocketAuthorization<Actors>): Promise<SocketGrant> {\n const actorName = validateActorComponent(\"actor name\", authorization.actorName)\n const actorId = validateActorComponent(\"actor ID\", authorization.actorId)\n if (!Object.hasOwn(this.actors, actorName)) throw new Error(`Unknown actor name: ${actorName}`)\n const metadata = socketMetadata(authorization.metadata)\n const authorizationLifetimeMs = authorization.authorizationLifetimeMs ?? 900000\n if (\n !Number.isSafeInteger(authorizationLifetimeMs) ||\n authorizationLifetimeMs < 1000 ||\n authorizationLifetimeMs > 86400000\n )\n throw new Error(\"Socket authorization lifetime must be between one second and one day\")\n const homeRegion =\n authorization.homeRegion === undefined\n ? undefined\n : validateActorComponent(\"home region\", authorization.homeRegion)\n const response = await this.fetchRequest(\n `${this.origin}${projectActorPath(this.projectId, actorName, actorId)}/find-websocket`,\n {\n method: \"POST\",\n redirect: \"error\",\n headers: { ...authorizationHeaders(this.apiKey), \"content-type\": \"application/json\" },\n body: JSON.stringify({ metadata, authorizationLifetimeMs, homeRegion }),\n signal: AbortSignal.timeout(this.setupTimeoutMs)\n }\n )\n if (!response.ok) throw new Error(`WebSocket authorization could not be issued (HTTP ${response.status})`)\n return socketGrant(await response.json())\n }\n}\n\nfunction proxySettings(options: SocketProxyOptions) {\n const environment = environmentSettings()\n const controlPlaneUrl = options.controlPlaneUrl ?? environment.controlPlaneUrl\n const apiKey = options.apiKey ?? environment.apiKey\n return {\n projectId: options.projectId ?? environment.projectId,\n controlPlaneUrl: controlPlaneUrl ?? \"http://127.0.0.1:7100\",\n apiKey\n }\n}\n\nexport { SocketProxy }\nexport type { ProxyActor, SocketAuthorization, SocketGrant, SocketProxyDependencies, SocketProxyOptions }\n\nfunction socketGrant(value: unknown): SocketGrant {\n if (\n !isRecord(value) ||\n typeof value.websocketUrl !== \"string\" ||\n !URL.canParse(value.websocketUrl) ||\n !/^wss?:$/u.test(new URL(value.websocketUrl).protocol) ||\n typeof value.homeRegion !== \"string\" ||\n !value.homeRegion ||\n !Number.isSafeInteger(value.connectByMs) ||\n !Number.isSafeInteger(value.authorizedUntilMs)\n )\n throw new ActorProtocolError(\"invalid WebSocket authorization response\")\n return {\n websocketUrl: value.websocketUrl,\n homeRegion: value.homeRegion,\n connectByMs: value.connectByMs as number,\n authorizedUntilMs: value.authorizedUntilMs as number\n }\n}\n\nfunction socketMetadata(value: unknown): unknown {\n let encoded: string\n try {\n encoded = JSON.stringify(value)\n if (!isJsonValue(value)) throw new Error(\"invalid JSON value\")\n } catch (error) {\n throw new ActorSerializationError(\"socket metadata must be a JSON value\", { cause: error })\n }\n if (new TextEncoder().encode(encoded).length > 64 * 1024)\n throw new ActorValidationError(\"socket metadata exceeds 65536 bytes\")\n return value\n}\n\nfunction isJsonValue(value: unknown): boolean {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\") return true\n if (typeof value === \"number\") return Number.isFinite(value)\n if (Array.isArray(value)) return Array.from(value).every(isJsonValue)\n return (\n isRecord(value) &&\n [Object.prototype, null].includes(Object.getPrototypeOf(value)) &&\n Object.values(value).every(isJsonValue)\n )\n}\n", "runtime/settings.ts": "import { ActorConfigurationError, ActorValidationError } from \"./errors.js\"\n\nexport interface DurableActorsClientOptions {\n readonly projectId?: string\n readonly apiKey?: string\n readonly homeRegion?: string\n readonly controlPlaneUrl: string\n}\n\nexport type Environment = Record<string, string | undefined>\n\nexport function configuredSettings(value: unknown) {\n if (\n typeof value !== \"object\" ||\n value === null ||\n Array.isArray(value) ||\n Object.keys(value).some(key => ![\"projectId\", \"apiKey\", \"homeRegion\", \"controlPlaneUrl\"].includes(key))\n )\n throw new ActorConfigurationError(\"durable-actors client settings are invalid\")\n const options = value as DurableActorsClientOptions\n const controlPlaneUrl = validateOrigin(options.controlPlaneUrl)\n const local = [\"localhost\", \"127.0.0.1\", \"[::1]\"].includes(new URL(controlPlaneUrl).hostname)\n const projectId = options.projectId ?? (local ? \"local\" : undefined)\n if (typeof projectId !== \"string\" || !/^[A-Za-z0-9._-]{1,64}$/u.test(projectId) || [\".\", \"..\"].includes(projectId))\n throw new ActorConfigurationError(\n \"durable-actors client settings are invalid: a valid projectId is required for remote connections\"\n )\n if (options.apiKey !== undefined && (typeof options.apiKey !== \"string\" || !options.apiKey.trim()))\n throw new ActorConfigurationError(\"durable-actors client settings are invalid: apiKey must not be empty\")\n if (options.homeRegion !== undefined) validateActorComponent(\"home region\", options.homeRegion)\n return { projectId, credential: options.apiKey?.trim(), homeRegion: options.homeRegion, controlPlaneUrl }\n}\n\nexport function environmentSettings(environment: Environment = runtimeEnvironment()): DurableActorsClientOptions {\n return {\n projectId: environment.DURABLE_ACTORS_PROJECT_ID,\n apiKey: environment.DURABLE_ACTORS_SECRET ?? environment.DURABLE_ACTORS_API_KEY,\n homeRegion: environment.DURABLE_ACTORS_HOME_REGION,\n controlPlaneUrl: environment.DURABLE_ACTORS_CONTROL_PLANE_URL ?? \"http://127.0.0.1:7100\"\n }\n}\n\nexport function runtimeEnvironment(): Environment {\n return (globalThis as typeof globalThis & { process?: { env?: Environment } }).process?.env ?? {}\n}\n\nexport function validateOrigin(origin: string): string {\n let url: URL\n try {\n url = new URL(origin)\n } catch (error) {\n throw new ActorConfigurationError(`actor HTTP origin is invalid: ${origin}`, { cause: error })\n }\n if (\n !/^https?:$/u.test(url.protocol) ||\n !url.hostname ||\n url.username ||\n url.password ||\n url.pathname !== \"/\" ||\n url.search ||\n url.hash\n )\n throw new ActorConfigurationError(`actor URL must be an HTTP or HTTPS origin: ${origin}`)\n return url.origin\n}\n\nexport function validateActorComponent(name: string, value: string): string {\n if (typeof value !== \"string\" || !/^[A-Za-z0-9._-]+$/u.test(value) || value === \".\" || value === \"..\")\n throw new ActorValidationError(\n `${name} may contain only ASCII letters, digits, '.', '-', and '_' and must not be a path segment`\n )\n return value\n}\n\nexport function projectActorPath(projectId: string, actorName: string, actorId: string): string {\n return `/v1/projects/${encodeURIComponent(validateActorComponent(\"project ID\", projectId))}/actors/${encodeURIComponent(validateActorComponent(\"actor name\", actorName))}/${encodeURIComponent(validateActorComponent(\"actor ID\", actorId))}`\n}\n\nexport function authorizationHeaders(credential: string | undefined): Record<string, string> {\n return credential === undefined ? {} : { authorization: `Bearer ${credential}` }\n}\n", "runtime/stub.ts": "import { HttpActorClient } from \"./client.js\"\nimport { ActorDefinitionError, ActorSerializationError } from \"./errors.js\"\nimport { validateActorComponent } from \"./settings.js\"\nimport type { DurableActorsClientOptions } from \"./settings.js\"\n\ninterface ActorRpcTransport {\n invoke(actorName: string, actorId: string, method: string, args: readonly unknown[]): Promise<unknown>\n}\n\ninterface ActorRpcMethod {\n readonly name: string\n readonly result: \"void\" | \"value\"\n}\n\n/** Creates a backend client from generated method definitions. */\nfunction createActorStub<Stub extends object>(\n actorName: string,\n actorId: string,\n methods: readonly ActorRpcMethod[],\n transport?: ActorRpcTransport\n): Stub {\n validateActorComponent(\"actor name\", actorName)\n validateActorComponent(\"actor ID\", actorId)\n const stub = Object.create(null)\n for (const method of methods) {\n validateActorComponent(\"actor method\", method.name)\n if ([\"then\", \"connect\", \"broadcast\", \"onConnect\", \"onMessage\", \"onDisconnect\"].includes(method.name))\n throw new ActorDefinitionError(`actor method ${actorName}.${method.name} is reserved`)\n if (Object.hasOwn(stub, method.name))\n throw new ActorDefinitionError(`duplicate actor method ${actorName}.${method.name}`)\n Object.defineProperty(stub, method.name, {\n enumerable: true,\n value: async (...args: unknown[]) => {\n const parameters = invocationArguments(args)\n const client = transport ?? defaultTransport()\n const result = await client.invoke(actorName, actorId, method.name, parameters)\n return method.result === \"void\" ? undefined : result\n }\n })\n }\n return stub as Stub\n}\n\nexport { createActorStub }\nexport type { ActorRpcMethod, ActorRpcTransport }\n\nlet shared: ActorRpcTransport | undefined\nexport function createActorTransport(options: DurableActorsClientOptions): ActorRpcTransport {\n return new HttpActorClient(options)\n}\n\nfunction defaultTransport(): ActorRpcTransport {\n return (shared ??= new HttpActorClient())\n}\nexport type { DurableActorsClientOptions }\n\nfunction invocationArguments(args: readonly unknown[]): readonly unknown[] {\n let end = args.length\n while (end > 0 && args[end - 1] === undefined) end--\n const parameters = args.slice(0, end)\n if (parameters.includes(undefined))\n throw new ActorSerializationError(\"undefined cannot precede a supplied RPC argument in JSON transport\")\n return parameters\n}\n", "runtime/telemetry.ts": "type TelemetryEvent = Record<string, boolean | number | string | undefined>\ntype TelemetrySink = (event: TelemetryEvent) => void\n\nclass LatencyTimeline {\n private readonly origin: number\n private readonly milestones: Record<string, number> = { started_at_ms: 0 }\n\n constructor(private readonly now: () => number = () => performance.now()) {\n this.origin = this.now()\n }\n\n mark(name: string): void {\n this.milestones[`${name}_at_ms`] = Math.max(0, Math.round(this.now() - this.origin))\n }\n\n finish(): Record<string, number> {\n this.mark(\"completed\")\n return { ...this.milestones }\n }\n}\n\nexport { LatencyTimeline }\nexport type { TelemetryEvent, TelemetrySink }\n", "runtime/package.json": "{\n \"private\": true,\n \"type\": \"module\",\n \"sideEffects\": false,\n \"browser\": {\n \"./index.ts\": \"./index.browser.ts\",\n \"./index.js\": \"./index.browser.js\"\n }\n}\n", "runtime/LICENSE.md": "MIT License\n\nCopyright (c) 2026 Terse\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n" };
|
|
2
|
+
//# sourceMappingURL=client-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../src/generated/client-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAA2B,EAAC,mBAAmB,EAAC,0jWAA0jW,EAAC,mBAAmB,EAAC,w/DAAw/D,EAAC,iBAAiB,EAAC,ohIAAohI,EAAC,0BAA0B,EAAC,2rBAA2rB,EAAC,kBAAkB,EAAC,qWAAqW,EAAC,iBAAiB,EAAC,owBAAowB,EAAC,kBAAkB,EAAC,mjNAAmjN,EAAC,qBAAqB,EAAC,+yHAA+yH,EAAC,iBAAiB,EAAC,mmFAAmmF,EAAC,sBAAsB,EAAC,kuBAAkuB,EAAC,sBAAsB,EAAC,kMAAkM,EAAC,oBAAoB,EAAC,ijCAAijC,EAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor-host.d.ts","sourceRoot":"","sources":["../../src/host/actor-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,UAAU,CAAA;AAWxD,OAAO,KAAK,EAAuB,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAKtG,iBAAe,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAM5C;AAED,cAAM,YAAY;IAKV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN5B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAoC;gBAGjC,QAAQ,GAAE,iBAAkD,EAC5D,gBAAgB,GAAE,4BAA4E,EAC9F,MAAM,CAAC,EAAE,MAAM,YAAA;IAGpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;YAKxB,UAAU;
|
|
1
|
+
{"version":3,"file":"actor-host.d.ts","sourceRoot":"","sources":["../../src/host/actor-host.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,UAAU,CAAA;AAWxD,OAAO,KAAK,EAAuB,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAKtG,iBAAe,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAM5C;AAED,cAAM,YAAY;IAKV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN5B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAoC;gBAGjC,QAAQ,GAAE,iBAAkD,EAC5D,gBAAgB,GAAE,4BAA4E,EAC9F,MAAM,CAAC,EAAE,MAAM,YAAA;IAGpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;YAKxB,UAAU;CAsB3B;AAmQD,iBAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAqBlF;AAED,iBAAS,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe1D;AAMD,iBAAe,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CASrF;AAcD,iBAAS,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAS5E;AAmBD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAA"}
|
package/dist/host/actor-host.js
CHANGED
|
@@ -6,7 +6,7 @@ import { pathToFileURL } from "node:url";
|
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { ActorConfigurationError, ActorProtocolError, ActorSessionError } from "../errors.js";
|
|
8
8
|
import { failedReply, parseActorSessionServerMessage } from "./protocol.js";
|
|
9
|
-
import { ActorWorkerSupervisor
|
|
9
|
+
import { ActorWorkerSupervisor } from "./worker-supervisor.js";
|
|
10
10
|
const MAX_MESSAGE_BYTES = 32 * 1024 * 1024;
|
|
11
11
|
async function runActorHost() {
|
|
12
12
|
const session = new ActorSession();
|
|
@@ -36,10 +36,7 @@ class ActorSession {
|
|
|
36
36
|
}
|
|
37
37
|
async initialize() {
|
|
38
38
|
const actorEntrypointUrl = await resolveActorEntrypoint(this.settings.actorEntrypoint);
|
|
39
|
-
const supervisor = this.createSupervisor({
|
|
40
|
-
actorEntrypointUrl,
|
|
41
|
-
actorIdleTimeoutMs: this.settings.actorIdleTimeoutMs
|
|
42
|
-
});
|
|
39
|
+
const supervisor = this.createSupervisor({ actorEntrypointUrl });
|
|
43
40
|
const commandHandler = (command, allowNextInvocation, publish, connections) => supervisor.handle(command, allowNextInvocation, publish, connections);
|
|
44
41
|
try {
|
|
45
42
|
const actorNames = await discoverActorNames(supervisor, this.settings.startupTimeoutMs);
|
|
@@ -88,7 +85,7 @@ class ActorSessionConnection {
|
|
|
88
85
|
const connection = new ActorSessionConnection(socket, commandHandler, activeActors, watchActiveActors);
|
|
89
86
|
connection.send({
|
|
90
87
|
type: "attach",
|
|
91
|
-
protocol:
|
|
88
|
+
protocol: 18,
|
|
92
89
|
actor_names: actorNames
|
|
93
90
|
});
|
|
94
91
|
await connection.waitUntilAttached(timeoutMs);
|
|
@@ -346,8 +343,7 @@ function parseHostSettings(environment) {
|
|
|
346
343
|
return {
|
|
347
344
|
socketPath: result.data.DURABLE_ACTORS_EXECUTOR_SOCKET,
|
|
348
345
|
actorEntrypoint: result.data.DURABLE_ACTORS_ENTRYPOINT,
|
|
349
|
-
startupTimeoutMs: parseStartupTimeout(environment.DURABLE_ACTORS_HOST_STARTUP_MS)
|
|
350
|
-
actorIdleTimeoutMs: parseActorIdleTimeout(environment.DURABLE_ACTORS_ACTOR_IDLE_TIMEOUT_SECONDS)
|
|
346
|
+
startupTimeoutMs: parseStartupTimeout(environment.DURABLE_ACTORS_HOST_STARTUP_MS)
|
|
351
347
|
};
|
|
352
348
|
}
|
|
353
349
|
function parseStartupTimeout(value) {
|
|
@@ -358,17 +354,7 @@ function parseStartupTimeout(value) {
|
|
|
358
354
|
throw new ActorConfigurationError("DURABLE_ACTORS_HOST_STARTUP_MS must be a positive integer");
|
|
359
355
|
return parsed;
|
|
360
356
|
}
|
|
361
|
-
function parseActorIdleTimeout(value) {
|
|
362
|
-
if (value === undefined)
|
|
363
|
-
return DEFAULT_ACTOR_IDLE_TIMEOUT_MS;
|
|
364
|
-
const parsed = Number(value);
|
|
365
|
-
if (!Number.isInteger(parsed) || parsed <= 0 || parsed > MAX_ACTOR_IDLE_TIMEOUT_SECONDS) {
|
|
366
|
-
throw new ActorConfigurationError(`DURABLE_ACTORS_ACTOR_IDLE_TIMEOUT_SECONDS must be an integer between 1 and ${MAX_ACTOR_IDLE_TIMEOUT_SECONDS}`);
|
|
367
|
-
}
|
|
368
|
-
return parsed * 1_000;
|
|
369
|
-
}
|
|
370
357
|
const DEFAULT_ACTOR_STARTUP_TIMEOUT_MS = 10_000;
|
|
371
|
-
const MAX_ACTOR_IDLE_TIMEOUT_SECONDS = 86_400;
|
|
372
358
|
const actorSessionSettingsSchema = z.object({
|
|
373
359
|
DURABLE_ACTORS_EXECUTOR_SOCKET: z.string().trim().min(1),
|
|
374
360
|
DURABLE_ACTORS_ENTRYPOINT: z.string().trim().min(1).optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor-host.js","sourceRoot":"","sources":["../../src/host/actor-host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actor-host.js","sourceRoot":"","sources":["../../src/host/actor-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@ import { failedReply } from "./protocol.js";
|
|
|
8
8
|
const port = parentPort;
|
|
9
9
|
if (port === null)
|
|
10
10
|
throw new Error("actor Worker requires a parent message port");
|
|
11
|
+
let exiting = false;
|
|
12
|
+
// Bun 1.3 can drain microtasks after process.exit().
|
|
13
|
+
process.once("exit", () => {
|
|
14
|
+
exiting = true;
|
|
15
|
+
});
|
|
11
16
|
let assigned = false;
|
|
12
17
|
const invocation = new AsyncLocalStorage();
|
|
13
18
|
const publishing = new Map();
|
|
@@ -75,7 +80,8 @@ async function initialize(data) {
|
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
function post(message) {
|
|
78
|
-
|
|
83
|
+
if (!exiting)
|
|
84
|
+
port.postMessage(message);
|
|
79
85
|
}
|
|
80
86
|
function allowNextInvocation() {
|
|
81
87
|
const messageId = invocation.getStore();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor-worker.js","sourceRoot":"","sources":["../../src/host/actor-worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"actor-worker.js","sourceRoot":"","sources":["../../src/host/actor-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-host.d.ts","sourceRoot":"","sources":["../../src/host/generic-host.ts"],"names":[],"mappings":"AAQA,iBAAe,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CA+B9C;
|
|
1
|
+
{"version":3,"file":"generic-host.d.ts","sourceRoot":"","sources":["../../src/host/generic-host.ts"],"names":[],"mappings":"AAQA,iBAAe,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CA+B9C;AAkDD,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -10,11 +10,11 @@ async function runGenericHost() {
|
|
|
10
10
|
const settings = parseHostSettings(process.env);
|
|
11
11
|
const socket = await connectSocket(settings.socketPath);
|
|
12
12
|
const assignment = readAssignment(socket);
|
|
13
|
-
socket.write(`${JSON.stringify({ type: "warm", protocol:
|
|
14
|
-
const { entrypoint
|
|
13
|
+
socket.write(`${JSON.stringify({ type: "warm", protocol: 18 })}\n`);
|
|
14
|
+
const { entrypoint } = await assignment;
|
|
15
15
|
await waitForCode(entrypoint);
|
|
16
16
|
let available = true;
|
|
17
|
-
const session = new ActorSession({ ...settings, actorEntrypoint: entrypoint
|
|
17
|
+
const session = new ActorSession({ ...settings, actorEntrypoint: entrypoint }, options => new ActorWorkerSupervisor({
|
|
18
18
|
...options,
|
|
19
19
|
createWorker: (data, onStateChange) => {
|
|
20
20
|
if (!available)
|
|
@@ -80,8 +80,7 @@ async function waitForCode(entrypoint) {
|
|
|
80
80
|
}
|
|
81
81
|
const assignmentSchema = z.object({
|
|
82
82
|
type: z.literal("load"),
|
|
83
|
-
entrypoint: z.string().refine(isAbsolute, "entrypoint must be absolute")
|
|
84
|
-
actorIdleTimeoutMs: z.number().int().positive().max(86_400_000)
|
|
83
|
+
entrypoint: z.string().refine(isAbsolute, "entrypoint must be absolute")
|
|
85
84
|
});
|
|
86
85
|
export { runGenericHost };
|
|
87
86
|
//# sourceMappingURL=generic-host.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-host.js","sourceRoot":"","sources":["../../src/host/generic-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE3E,KAAK,UAAU,cAAc;IACzB,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAA;IAChC,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACnB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QACnE,MAAM,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"generic-host.js","sourceRoot":"","sources":["../../src/host/generic-host.ts"],"names":[],"mappings":"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"}
|
package/dist/host/protocol.d.ts
CHANGED
|
@@ -153,7 +153,7 @@ declare const executorCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
153
153
|
}, z.core.$strip>], "type">;
|
|
154
154
|
declare const actorSessionServerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
155
155
|
type: z.ZodLiteral<"attached">;
|
|
156
|
-
protocol: z.ZodLiteral<
|
|
156
|
+
protocol: z.ZodLiteral<18>;
|
|
157
157
|
supports_residency: z.ZodOptional<z.ZodBoolean>;
|
|
158
158
|
}, z.core.$strip>, z.ZodObject<{
|
|
159
159
|
type: z.ZodLiteral<"socket_connections">;
|
|
@@ -270,7 +270,7 @@ type ActorSessionClientMessage = {
|
|
|
270
270
|
};
|
|
271
271
|
interface AttachMessage {
|
|
272
272
|
readonly type: "attach";
|
|
273
|
-
readonly protocol:
|
|
273
|
+
readonly protocol: 18;
|
|
274
274
|
readonly actor_names: readonly string[];
|
|
275
275
|
}
|
|
276
276
|
interface ReplyMessage {
|
package/dist/host/protocol.js
CHANGED
|
@@ -54,7 +54,7 @@ const executorCommandSchema = z.discriminatedUnion("type", [
|
|
|
54
54
|
hydrateCommandSchema
|
|
55
55
|
]);
|
|
56
56
|
const actorSessionServerMessageSchema = z.discriminatedUnion("type", [
|
|
57
|
-
z.object({ type: z.literal("attached"), protocol: z.literal(
|
|
57
|
+
z.object({ type: z.literal("attached"), protocol: z.literal(18), supports_residency: z.boolean().optional() }),
|
|
58
58
|
z.object({
|
|
59
59
|
type: z.literal("socket_connections"),
|
|
60
60
|
message_id: z.number().int().nonnegative(),
|
package/dist/host/types.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { ActorIdentity } from "../actor/identity.js";
|
|
2
2
|
import type { SocketConnection, SocketEffect } from "../actor/socketProtocol.js";
|
|
3
3
|
import type { ActorExecutorCommand, ActorExecutorReply, ActorWorkerData, HydrateCommand, InvokeCommand, WebSocketEventCommand } from "./protocol.js";
|
|
4
|
-
import type { ActorWorkerSupervisor
|
|
4
|
+
import type { ActorWorkerSupervisor } from "./worker-supervisor.js";
|
|
5
5
|
interface ActorHostSettings {
|
|
6
6
|
readonly socketPath: string;
|
|
7
7
|
readonly actorEntrypoint: string | undefined;
|
|
8
8
|
readonly startupTimeoutMs: number;
|
|
9
|
-
readonly actorIdleTimeoutMs: number;
|
|
10
9
|
}
|
|
11
10
|
type SocketPublisher = (effects: readonly SocketEffect[]) => Promise<void>;
|
|
12
11
|
type SocketSource = () => Promise<readonly SocketConnection[]>;
|
|
@@ -14,7 +13,6 @@ type ActorCommandHandler = (command: ActorExecutorCommand, allowNextInvocation:
|
|
|
14
13
|
type ActorWorkerSupervisorFactory = (options: ActorWorkerSupervisorOptions) => Pick<ActorWorkerSupervisor, "ready" | "handle" | "close" | "activeActors" | "onActiveActorsChange">;
|
|
15
14
|
interface ActorWorkerSupervisorOptions {
|
|
16
15
|
readonly actorEntrypointUrl: string;
|
|
17
|
-
readonly actorIdleTimeoutMs?: number;
|
|
18
16
|
readonly createWorker?: ActorWorkerFactory;
|
|
19
17
|
}
|
|
20
18
|
interface ResidentActorWorkerOptions {
|
|
@@ -22,10 +20,8 @@ interface ResidentActorWorkerOptions {
|
|
|
22
20
|
readonly sequenceBase: number;
|
|
23
21
|
readonly onActiveActorsChange: () => void;
|
|
24
22
|
readonly moduleUrl: string;
|
|
25
|
-
readonly idleTimeoutMs: number;
|
|
26
23
|
readonly worker?: ActorWorkerHandle;
|
|
27
24
|
readonly createWorker: ActorWorkerFactory;
|
|
28
|
-
readonly onIdle: (actor: ResidentActorWorker) => void;
|
|
29
25
|
}
|
|
30
26
|
type ActorWorkerState = "starting" | "ready" | "stopping" | "stopped";
|
|
31
27
|
interface ActorWorkerHandle {
|
package/dist/host/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEhF,OAAO,KAAK,EACR,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACxB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEhF,OAAO,KAAK,EACR,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,EACxB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAEnE,UAAU,iBAAiB;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CACpC;AAED,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1E,KAAK,YAAY,GAAG,MAAM,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAA;AAE9D,KAAK,mBAAmB,GAAG,CACvB,OAAO,EAAE,oBAAoB,EAC7B,mBAAmB,EAAE,MAAM,IAAI,EAC/B,OAAO,CAAC,EAAE,eAAe,EACzB,WAAW,CAAC,EAAE,YAAY,KACzB,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAEhC,KAAK,4BAA4B,GAAG,CAChC,OAAO,EAAE,4BAA4B,KACpC,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,sBAAsB,CAAC,CAAA;AAExG,UAAU,4BAA4B;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAC7C;AAED,UAAU,0BAA0B;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAA;CAC5C;AAED,KAAK,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;AAErE,UAAU,iBAAiB;IACvB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,KAAK,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAA;IACnC,OAAO,CACH,OAAO,EAAE,aAAa,GAAG,qBAAqB,GAAG,cAAc,EAC/D,mBAAmB,EAAE,MAAM,IAAI,EAC/B,OAAO,CAAC,EAAE,eAAe,EACzB,WAAW,CAAC,EAAE,YAAY,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,IAAI,KAAK,iBAAiB,CAAA;AAEjG,YAAY,EACR,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EACf,YAAY,EACf,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-artifact.d.ts","sourceRoot":"","sources":["../../src/host/validate-artifact.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { ActorWorkerSupervisor } from "./worker-supervisor.js";
|
|
3
|
+
const supervisor = new ActorWorkerSupervisor({ actorEntrypointUrl: pathToFileURL(process.argv[2]).href });
|
|
4
|
+
try {
|
|
5
|
+
await supervisor.ready();
|
|
6
|
+
}
|
|
7
|
+
finally {
|
|
8
|
+
supervisor.close();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=validate-artifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-artifact.js","sourceRoot":"","sources":["../../src/host/validate-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,UAAU,GAAG,IAAI,qBAAqB,CAAC,EAAE,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAC1G,IAAI,CAAC;IACD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;AAC5B,CAAC;QAAS,CAAC;IACP,UAAU,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import type { ActorIdentity } from "../actor/identity.js";
|
|
2
2
|
import type { ActorExecutorCommand, ActorExecutorReply, ActorWorkerData, HydrateCommand, InvokeCommand, WebSocketEventCommand } from "./protocol.js";
|
|
3
|
-
import type {
|
|
4
|
-
declare const DEFAULT_ACTOR_IDLE_TIMEOUT_MS = 60000;
|
|
3
|
+
import type { ActorWorkerHandle, ActorWorkerState, ActorWorkerSupervisorOptions, SocketPublisher, SocketSource } from "./types.js";
|
|
5
4
|
declare class ActorWorkerSupervisor {
|
|
6
5
|
private readonly actorEntrypointUrl;
|
|
7
|
-
private readonly actorIdleTimeoutMs;
|
|
8
6
|
private readonly createWorker;
|
|
9
7
|
private resident;
|
|
10
8
|
private lastActiveActors;
|
|
11
9
|
private readonly activeActorListeners;
|
|
12
10
|
private speculativeWorker;
|
|
13
|
-
private speculativeTimer;
|
|
14
11
|
private identity;
|
|
15
12
|
private closed;
|
|
16
13
|
private actorNames;
|
|
@@ -26,27 +23,8 @@ declare class ActorWorkerSupervisor {
|
|
|
26
23
|
private discardPreload;
|
|
27
24
|
private execute;
|
|
28
25
|
private evict;
|
|
29
|
-
private removeIfCurrent;
|
|
30
26
|
private takeSpeculativeWorker;
|
|
31
27
|
}
|
|
32
|
-
declare class ResidentActorWorker {
|
|
33
|
-
readonly identity: ActorIdentity;
|
|
34
|
-
readonly sequenceBase: number;
|
|
35
|
-
readonly moduleUrl: string;
|
|
36
|
-
readonly idleTimeoutMs: number;
|
|
37
|
-
readonly createWorker: ActorWorkerFactory;
|
|
38
|
-
readonly onIdle: (actor: ResidentActorWorker) => void;
|
|
39
|
-
lastCompletedAt: number;
|
|
40
|
-
private readonly onActiveActorsChange;
|
|
41
|
-
private worker;
|
|
42
|
-
private idleTimer;
|
|
43
|
-
private activeInvocations;
|
|
44
|
-
constructor(options: ResidentActorWorkerOptions);
|
|
45
|
-
execute(command: InvokeCommand | WebSocketEventCommand | HydrateCommand, allowNextInvocation: () => void, publish?: SocketPublisher, connections?: SocketSource): Promise<ActorExecutorReply>;
|
|
46
|
-
isActive(): boolean;
|
|
47
|
-
isIdle(): boolean;
|
|
48
|
-
terminate(reason: string): void;
|
|
49
|
-
}
|
|
50
28
|
declare class ActorWorker implements ActorWorkerHandle {
|
|
51
29
|
private onStateChange;
|
|
52
30
|
private readonly worker;
|
|
@@ -77,6 +55,5 @@ declare class ActorWorker implements ActorWorkerHandle {
|
|
|
77
55
|
private exited;
|
|
78
56
|
private fail;
|
|
79
57
|
}
|
|
80
|
-
export { ActorWorker, ActorWorkerSupervisor
|
|
81
|
-
export type { ResidentActorWorker };
|
|
58
|
+
export { ActorWorker, ActorWorkerSupervisor };
|
|
82
59
|
//# sourceMappingURL=worker-supervisor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-supervisor.d.ts","sourceRoot":"","sources":["../../src/host/worker-supervisor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAMzD,OAAO,KAAK,EACR,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAIf,cAAc,EACd,aAAa,EACb,qBAAqB,EACxB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"worker-supervisor.d.ts","sourceRoot":"","sources":["../../src/host/worker-supervisor.ts"],"names":[],"mappings":"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"}
|