The state vocabulary, the table, that table's fixed row key, and the DDL
built from all three are IMPORTED, never declared here — and they are not
re-exported from this module either.
Imported because PROVISIONING creates this table
(deployment-identity-protocol.mjs), and CREATE TABLE IF NOT EXISTS would
silently accept a differently-shaped table it had already made — so a second
copy of the schema would not fail loudly, it would quietly drop the CHECK
constraints that make every CAS below total rather than "the CAS, on
whichever row you meant". That module is also the only file both sides can
share: it ships at the package root for the provisioning CLI and
fleet-control, neither of which can import this package's TypeScript.
Not re-exported because a raw constant with two homes is a constant two
consumers can disagree about. @proofoftech/flowsafe/deployment-identity-protocol
is the one place to import the table name or the state list from; what this
module publishes is the TYPED surface built on them — the state type, the
store, the refusals, and the admission predicates.
The state vocabulary, the table, that table's fixed row key, and the DDL built from all three are IMPORTED, never declared here — and they are not re-exported from this module either.
Imported because PROVISIONING creates this table (deployment-identity-protocol.mjs), and
CREATE TABLE IF NOT EXISTSwould silently accept a differently-shaped table it had already made — so a second copy of the schema would not fail loudly, it would quietly drop the CHECK constraints that make every CAS below total rather than "the CAS, on whichever row you meant". That module is also the only file both sides can share: it ships at the package root for the provisioning CLI and fleet-control, neither of which can import this package's TypeScript.Not re-exported because a raw constant with two homes is a constant two consumers can disagree about.
@proofoftech/flowsafe/deployment-identity-protocolis the one place to import the table name or the state list from; what this module publishes is the TYPED surface built on them — the state type, the store, the refusals, and the admission predicates.