edge.forms.takoform.com/ActorNamespace@0.1.0
Actor Namespace
Give a Worker actor class a persistent identity space.
Public package readback verified
Host support and admission are separate from package publication. These fields describe portable desired state, not a provider-specific deployment command.
How it fits
Every traffic-weighted WorkerVersion must export the class. Actor instances are runtime data, not individual Form Resources.
Works with: Module Worker · Worker Version · Worker Deployment
Full contract description
Long-lived identity of one addressable-actor id space: a class the worker's active deployment serves, with at most one live execution context per actor id, private durable storage per id, and one alarm per id. The Form fixes that model by identity through the worker.actor@1.0.0 contract in its providedInterfaces; it carries no implementation snapshot, so which code answers is whatever the worker's active Worker Deployment selects. Actors are runtime data reached through module-worker.actor bindings, never Resources: every id addresses an actor and the first delivery is its creation. One worker carries at most one Actor Namespace per class name, because two namespaces over one class would give that class two disjoint id spaces.
- Kind
ActorNamespace- Definition version
0.1.0- Role
identity
Desired state
className- Class export name the serving module provides, in the JavaScript identifier grammar. Every weighted version of the active deployment must export it; one that does not keeps this namespace from becoming Ready, and invoking a stub of it is refused rather than queued.
pattern: "^[A-Za-z_$][A-Za-z0-9_$]*$"
worker- Module Worker identity whose active deployment serves this actor class. Changing it replaces the namespace.
additionalProperties: false
Example desired state
This is the exact fixtures/desired.json from this package, not a complete Host API request or OpenTofu configuration. Replace example resource references and artifact digests with your own; it does not provision anything by itself.
{
"className": "ChatRoom",
"worker": {
"apiVersion": "edge.forms.takoform.com",
"kind": "ModuleWorker",
"name": "module-worker"
}
}
Read source fixture
Full desired-state schema
Nested fields, allowed alternatives and all schema constraints. Host-validated semantics also apply; read the contract description above.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"description": "Long-lived identity of one addressable-actor id space: a class the worker's active deployment serves, with at most one live execution context per actor id, private durable storage per id, and one alarm per id. The Form fixes that model by identity through the worker.actor@1.0.0 contract in its providedInterfaces; it carries no implementation snapshot, so which code answers is whatever the worker's active Worker Deployment selects. Actors are runtime data reached through module-worker.actor bindings, never Resources: every id addresses an actor and the first delivery is its creation. One worker carries at most one Actor Namespace per class name, because two namespaces over one class would give that class two disjoint id spaces.",
"properties": {
"className": {
"description": "Class export name the serving module provides, in the JavaScript identifier grammar. Every weighted version of the active deployment must export it; one that does not keeps this namespace from becoming Ready, and invoking a stub of it is refused rather than queued.",
"pattern": "^[A-Za-z_$][A-Za-z0-9_$]*$",
"type": "string"
},
"worker": {
"additionalProperties": false,
"description": "Module Worker identity whose active deployment serves this actor class. Changing it replaces the namespace.",
"properties": {
"apiVersion": {
"const": "edge.forms.takoform.com",
"type": "string"
},
"kind": {
"const": "ModuleWorker",
"type": "string"
},
"name": {
"maxLength": 63,
"minLength": 1,
"pattern": "^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$",
"type": "string"
}
},
"required": [
"apiVersion",
"kind",
"name"
],
"type": "object",
"x-takoform-required-interface": {
"apiVersion": "interfaces.takoform.com/v1alpha1",
"name": "worker.runtime",
"schemaDigest": "sha256:ed2f8211aac5be94488d391945ca6aca7627a4ecbd261e39790093e887feae08",
"version": "1.1.0"
}
}
},
"required": [
"className",
"worker"
],
"title": "Actor Namespace desired state",
"type": "object"
}Lifecycle
createreaddeleteimportobserve
Provided interfaces
worker.actor@1.0.0sha256:f5428fb587de80261dd7363dc5b8a3f4aab7e469fa1b5fce8441ad9acbec8218
Canonical package locator
- Package digest
sha256:eb174b666890ef630e82746374c8a91aec8692c64e98e82dc580a85d17307743- Schema digest
sha256:3669f3bebf7b4c6169d5a3cdf7e7ca4e8d1851516702a437be6ef69c2b9b98d7- Tag
forms/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2bmn2g64somfwwk43qmfrwk/sha256-eb174b666890ef630e82746374c8a91aec8692c64e98e82dc580a85d17307743- Source path
forms/releases/k-mvsgozjomzxxe3ltfz2gc23pmzxxe3jomnxw2l2bmn2g64somfwwk43qmfrwk/sha256-eb174b666890ef630e82746374c8a91aec8692c64e98e82dc580a85d17307743- Signed set
e7f8a39311dd011b8467e97e7f300cabb9a6b06c
Four-field FormRef
{
"apiVersion": "edge.forms.takoform.com",
"kind": "ActorNamespace",
"definitionVersion": "0.1.0",
"schemaDigest": "sha256:3669f3bebf7b4c6169d5a3cdf7e7ca4e8d1851516702a437be6ef69c2b9b98d7"
}