@gnolith/taproot 0.1.0-rc.0 → 0.3.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.
Files changed (60) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/COMPATIBILITY.md +15 -3
  3. package/LICENSE +21 -21
  4. package/README.md +122 -46
  5. package/SECURITY.md +10 -3
  6. package/SUPPORT.md +6 -1
  7. package/dist/authorization-maintenance.d.ts +55 -0
  8. package/dist/authorization-maintenance.d.ts.map +1 -0
  9. package/dist/authorization-maintenance.js +686 -0
  10. package/dist/authorization-maintenance.js.map +1 -0
  11. package/dist/authorization.d.ts +98 -0
  12. package/dist/authorization.d.ts.map +1 -0
  13. package/dist/authorization.js +1137 -0
  14. package/dist/authorization.js.map +1 -0
  15. package/dist/canonical.d.ts +2 -1
  16. package/dist/canonical.d.ts.map +1 -1
  17. package/dist/canonical.js +9 -1
  18. package/dist/canonical.js.map +1 -1
  19. package/dist/errors.d.ts +10 -0
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +10 -0
  22. package/dist/errors.js.map +1 -1
  23. package/dist/index.d.ts +127 -50
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +352 -44
  26. package/dist/index.js.map +1 -1
  27. package/dist/migrations.d.ts +42 -0
  28. package/dist/migrations.d.ts.map +1 -0
  29. package/dist/migrations.js +550 -0
  30. package/dist/migrations.js.map +1 -0
  31. package/dist/rdf.js +1 -1
  32. package/dist/rdf.js.map +1 -1
  33. package/dist/repository.d.ts +22 -11
  34. package/dist/repository.d.ts.map +1 -1
  35. package/dist/repository.js +596 -63
  36. package/dist/repository.js.map +1 -1
  37. package/dist/schema.d.ts +41 -7
  38. package/dist/schema.d.ts.map +1 -1
  39. package/dist/schema.js +722 -83
  40. package/dist/schema.js.map +1 -1
  41. package/dist/types.d.ts +59 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/docs/api.md +70 -18
  44. package/docs/architecture.md +21 -8
  45. package/docs/authorization.md +82 -0
  46. package/docs/completion-audit.md +22 -16
  47. package/docs/operations.md +48 -9
  48. package/docs/product-scope.md +11 -4
  49. package/docs/release-policy.md +4 -0
  50. package/docs/testing.md +31 -5
  51. package/docs/threat-model.md +38 -6
  52. package/examples/d1-diamond-interop/README.md +12 -0
  53. package/examples/d1-diamond-interop/demo.ts +281 -0
  54. package/migrations/0002_audit_operations.sql +4 -3
  55. package/migrations/0003_canonical_statement_text.sql +31 -0
  56. package/migrations/0004_canonical_authorization_policy.sql +213 -0
  57. package/package.json +12 -7
  58. package/examples/codex-site/.openai/hosting.json +0 -3
  59. package/examples/codex-site/README.md +0 -13
  60. package/examples/codex-site/demo.ts +0 -152
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,8 +1,19 @@
1
- import { type D1DatabaseLike } from '@gnolith/diamond';
2
- export declare const TAPROOT_SCHEMA_VERSION = "2";
3
- export declare const TAPROOT_JSON_VERSION = "1";
1
+ import { type SqliteDatabaseLike } from '@gnolith/diamond';
2
+ export declare const TAPROOT_SCHEMA_VERSION = "3";
3
+ export declare const TAPROOT_JSON_VERSION = "2";
4
4
  export declare const TAPROOT_RDF_VERSION = "2";
5
- export declare const taprootSchemaStatements: readonly ["CREATE TABLE IF NOT EXISTS taproot_entities (\n entity_id TEXT PRIMARY KEY,\n entity_type TEXT NOT NULL CHECK (entity_type IN ('item', 'property')),\n datatype TEXT,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n deleted_at TEXT,\n redirect_to TEXT,\n CHECK ((entity_type = 'item' AND datatype IS NULL)\n OR (entity_type = 'property' AND datatype IS NOT NULL))\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_revisions (\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n actor TEXT,\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n event_id TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n deleted_at TEXT,\n redirect_to TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (entity_id, revision),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_audit_events (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n event_type TEXT NOT NULL CHECK (event_type IN ('create', 'update', 'revert', 'delete', 'restore', 'redirect', 'import', 'repair')),\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n request_id TEXT,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n details_json TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (entity_id, revision) REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_migrations (\n version INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_rdf_ownership (\n entity_id TEXT NOT NULL,\n subject_key TEXT NOT NULL,\n predicate_key TEXT NOT NULL,\n object_key TEXT NOT NULL,\n graph_key TEXT NOT NULL,\n PRIMARY KEY (entity_id, subject_key, predicate_key, object_key, graph_key),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_id_counters (\n entity_type TEXT PRIMARY KEY CHECK (entity_type IN ('item', 'property')),\n next_numeric_id INTEGER NOT NULL CHECK (next_numeric_id > 0)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_terms (\n entity_id TEXT NOT NULL,\n language TEXT NOT NULL,\n term_type TEXT NOT NULL CHECK (term_type IN ('label', 'description', 'alias')),\n value TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n PRIMARY KEY (entity_id, language, term_type, ordinal),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_metadata (\n metadata_key TEXT PRIMARY KEY,\n metadata_value TEXT NOT NULL\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_assertions (\n assertion_key TEXT PRIMARY KEY\n ) STRICT", "CREATE INDEX IF NOT EXISTS taproot_entities_type_idx\n ON taproot_entities(entity_type, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_entities_modified_idx\n ON taproot_entities(modified_at, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_revisions_entity_idx\n ON taproot_entity_revisions(entity_id, revision DESC)", "CREATE INDEX IF NOT EXISTS taproot_terms_lookup_idx\n ON taproot_terms(language, value COLLATE NOCASE, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_audit_entity_idx\n ON taproot_audit_events(entity_id, revision DESC, event_id)", "CREATE INDEX IF NOT EXISTS taproot_audit_request_idx\n ON taproot_audit_events(request_id) WHERE request_id IS NOT NULL", "CREATE INDEX IF NOT EXISTS taproot_rdf_ownership_quad_idx\n ON taproot_rdf_ownership(subject_key, predicate_key, object_key, graph_key, entity_id)", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_update\n BEFORE UPDATE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_delete\n BEFORE DELETE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_update\n BEFORE UPDATE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_delete\n BEFORE DELETE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END", "INSERT INTO taproot_id_counters(entity_type, next_numeric_id)\n VALUES ('item', 1), ('property', 1)\n ON CONFLICT(entity_type) DO NOTHING", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES\n ('schema_version', '2'),\n ('canonical_json_version', '1'),\n ('rdf_mapping_version', '2')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value", "INSERT INTO taproot_migrations(version, name) VALUES (1, 'initial'), (2, 'audit-and-operations')\n ON CONFLICT(version) DO NOTHING"];
5
+ /** Additive canonical authorization catalog introduced by migration 0004. */
6
+ export declare const taprootAuthorizationSchemaStatements: readonly ["CREATE TABLE IF NOT EXISTS taproot_installation_authorization (\n singleton INTEGER PRIMARY KEY CHECK (singleton = 1),\n installation_id TEXT NOT NULL UNIQUE,\n authorization_revision INTEGER NOT NULL CHECK (authorization_revision >= 1),\n search_generation INTEGER NOT NULL CHECK (search_generation >= 1),\n last_advance_id TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_authorization (\n entity_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n workspace_id TEXT,\n owner_principal_id TEXT NOT NULL,\n visibility_json TEXT NOT NULL CHECK (json_valid(visibility_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n source_revision INTEGER NOT NULL,\n authorization_revision INTEGER NOT NULL,\n deleted_at TEXT,\n event_id TEXT NOT NULL UNIQUE,\n updated_at TEXT NOT NULL,\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id),\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_authorization_revisions (\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n installation_id TEXT NOT NULL,\n workspace_id TEXT,\n owner_principal_id TEXT NOT NULL,\n visibility_json TEXT NOT NULL CHECK (json_valid(visibility_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n deleted_at TEXT,\n event_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n PRIMARY KEY (entity_id, source_revision),\n FOREIGN KEY (entity_id, source_revision)\n REFERENCES taproot_entity_revisions(entity_id, revision),\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_statement_authorization (\n entity_id TEXT NOT NULL,\n statement_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n restrictions_json TEXT NOT NULL CHECK (json_valid(restrictions_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n PRIMARY KEY (entity_id, statement_id),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_statement_authorization_revisions (\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n statement_id TEXT NOT NULL,\n restrictions_json TEXT NOT NULL CHECK (json_valid(restrictions_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n PRIMARY KEY (entity_id, source_revision, statement_id),\n FOREIGN KEY (entity_id, source_revision)\n REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_projection_outbox (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n authorization_revision INTEGER NOT NULL,\n search_generation INTEGER NOT NULL,\n operation TEXT NOT NULL CHECK (operation IN ('upsert', 'delete', 'repair', 'backfill')),\n state TEXT NOT NULL DEFAULT 'pending' CHECK (state IN ('pending', 'claimed', 'complete')),\n created_at TEXT NOT NULL,\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_backfill_plans (\n plan_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n base_authorization_revision INTEGER NOT NULL,\n manifest_json TEXT NOT NULL CHECK (json_valid(manifest_json)),\n manifest_hash TEXT NOT NULL,\n entity_count INTEGER NOT NULL CHECK (entity_count > 0 AND entity_count <= 100),\n revision_count INTEGER NOT NULL CHECK (revision_count > 0),\n status TEXT NOT NULL CHECK (status IN ('planned', 'applying', 'complete')),\n created_by TEXT NOT NULL,\n created_at TEXT NOT NULL,\n completed_at TEXT\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_admin_audit (\n sequence INTEGER PRIMARY KEY AUTOINCREMENT,\n audit_id TEXT NOT NULL UNIQUE,\n event_type TEXT NOT NULL CHECK (event_type IN ('backfill-plan', 'backfill-apply')),\n principal_id TEXT NOT NULL,\n plan_id TEXT NOT NULL,\n authorization_revision INTEGER NOT NULL,\n details_json TEXT NOT NULL CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (plan_id) REFERENCES taproot_authorization_backfill_plans(plan_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_installation_authorization_advances (\n advance_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n from_revision INTEGER NOT NULL,\n to_revision INTEGER NOT NULL,\n search_generation INTEGER NOT NULL,\n domain TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n reason TEXT NOT NULL,\n created_at TEXT NOT NULL,\n CHECK (to_revision = from_revision + 1)\n ) STRICT", "CREATE INDEX IF NOT EXISTS taproot_entity_authorization_candidate_idx\n ON taproot_entity_authorization(installation_id, deleted_at, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_entity_authorization_revision_idx\n ON taproot_entity_authorization_revisions(entity_id, source_revision DESC)", "CREATE INDEX IF NOT EXISTS taproot_statement_authorization_candidate_idx\n ON taproot_statement_authorization(entity_id, source_revision, statement_id)", "CREATE INDEX IF NOT EXISTS taproot_authorization_outbox_state_idx\n ON taproot_authorization_projection_outbox(state, authorization_revision, event_id)", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_replace\n BEFORE INSERT ON taproot_entity_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_entity_revisions\n WHERE entity_id = NEW.entity_id AND revision = NEW.revision\n )\n BEGIN SELECT RAISE(ABORT, 'taproot revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_replace\n BEFORE INSERT ON taproot_audit_events\n WHEN EXISTS (\n SELECT 1 FROM taproot_audit_events WHERE event_id = NEW.event_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot audit events cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_identity_no_update\n BEFORE UPDATE OF installation_id ON taproot_installation_authorization\n BEGIN SELECT RAISE(ABORT, 'taproot installation identity is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_no_delete\n BEFORE DELETE ON taproot_installation_authorization\n BEGIN SELECT RAISE(ABORT, 'taproot installation authorization is durable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_no_replace\n BEFORE INSERT ON taproot_installation_authorization\n WHEN EXISTS (SELECT 1 FROM taproot_installation_authorization WHERE singleton = NEW.singleton)\n BEGIN SELECT RAISE(ABORT, 'taproot installation authorization cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_update\n BEFORE UPDATE ON taproot_entity_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_delete\n BEFORE DELETE ON taproot_entity_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_replace\n BEFORE INSERT ON taproot_entity_authorization_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_entity_authorization_revisions\n WHERE (entity_id = NEW.entity_id AND source_revision = NEW.source_revision)\n OR event_id = NEW.event_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_update\n BEFORE UPDATE ON taproot_statement_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_delete\n BEFORE DELETE ON taproot_statement_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_replace\n BEFORE INSERT ON taproot_statement_authorization_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_statement_authorization_revisions\n WHERE entity_id = NEW.entity_id AND source_revision = NEW.source_revision\n AND statement_id = NEW.statement_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_update\n BEFORE UPDATE ON taproot_authorization_admin_audit\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_delete\n BEFORE DELETE ON taproot_authorization_admin_audit\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_replace\n BEFORE INSERT ON taproot_authorization_admin_audit\n WHEN EXISTS (\n SELECT 1 FROM taproot_authorization_admin_audit\n WHERE sequence = NEW.sequence OR audit_id = NEW.audit_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_update\n BEFORE UPDATE ON taproot_installation_authorization_advances\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_delete\n BEFORE DELETE ON taproot_installation_authorization_advances\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_replace\n BEFORE INSERT ON taproot_installation_authorization_advances\n WHEN EXISTS (\n SELECT 1 FROM taproot_installation_authorization_advances\n WHERE advance_id = NEW.advance_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances cannot be replaced'); END", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES ('schema_version', '3')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value", "INSERT INTO taproot_migrations(version, name)\n VALUES (4, 'canonical-authorization-policy')\n ON CONFLICT(version) DO NOTHING"];
7
+ export declare const taprootSchemaStatements: readonly ["CREATE TABLE IF NOT EXISTS taproot_entities (\n entity_id TEXT PRIMARY KEY,\n entity_type TEXT NOT NULL CHECK (entity_type IN ('item', 'property')),\n datatype TEXT,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n deleted_at TEXT,\n redirect_to TEXT,\n CHECK ((entity_type = 'item' AND datatype IS NULL)\n OR (entity_type = 'property' AND datatype IS NOT NULL))\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_revisions (\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n actor TEXT,\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n event_id TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n deleted_at TEXT,\n redirect_to TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (entity_id, revision),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_audit_events (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n event_type TEXT NOT NULL CHECK (event_type IN ('create', 'update', 'revert', 'delete', 'restore', 'redirect', 'import', 'repair')),\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n request_id TEXT,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n details_json TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (entity_id, revision) REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_migrations (\n version INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_rdf_ownership (\n entity_id TEXT NOT NULL,\n subject_key TEXT NOT NULL,\n predicate_key TEXT NOT NULL,\n object_key TEXT NOT NULL,\n graph_key TEXT NOT NULL,\n PRIMARY KEY (entity_id, subject_key, predicate_key, object_key, graph_key),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_id_counters (\n entity_type TEXT PRIMARY KEY CHECK (entity_type IN ('item', 'property')),\n next_numeric_id INTEGER NOT NULL CHECK (next_numeric_id > 0)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_terms (\n entity_id TEXT NOT NULL,\n language TEXT NOT NULL,\n term_type TEXT NOT NULL CHECK (term_type IN ('label', 'description', 'alias')),\n value TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n PRIMARY KEY (entity_id, language, term_type, ordinal),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_metadata (\n metadata_key TEXT PRIMARY KEY,\n metadata_value TEXT NOT NULL\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_assertions (\n assertion_key TEXT PRIMARY KEY\n ) STRICT", "CREATE INDEX IF NOT EXISTS taproot_entities_type_idx\n ON taproot_entities(entity_type, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_entities_modified_idx\n ON taproot_entities(modified_at, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_revisions_entity_idx\n ON taproot_entity_revisions(entity_id, revision DESC)", "CREATE INDEX IF NOT EXISTS taproot_terms_lookup_idx\n ON taproot_terms(language, value COLLATE NOCASE, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_audit_entity_idx\n ON taproot_audit_events(entity_id, revision DESC, event_id)", "CREATE INDEX IF NOT EXISTS taproot_audit_request_idx\n ON taproot_audit_events(request_id) WHERE request_id IS NOT NULL", "CREATE INDEX IF NOT EXISTS taproot_rdf_ownership_quad_idx\n ON taproot_rdf_ownership(subject_key, predicate_key, object_key, graph_key, entity_id)", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_update\n BEFORE UPDATE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_delete\n BEFORE DELETE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_update\n BEFORE UPDATE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_delete\n BEFORE DELETE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END", "INSERT INTO taproot_id_counters(entity_type, next_numeric_id)\n VALUES ('item', 1), ('property', 1)\n ON CONFLICT(entity_type) DO NOTHING", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES\n ('schema_version', '2'),\n ('canonical_json_version', '2'),\n ('rdf_mapping_version', '2')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value", "INSERT INTO taproot_migrations(version, name) VALUES (1, 'initial'), (2, 'audit-and-operations'), (3, 'canonical-statement-text')\n ON CONFLICT(version) DO NOTHING", "CREATE TABLE IF NOT EXISTS taproot_installation_authorization (\n singleton INTEGER PRIMARY KEY CHECK (singleton = 1),\n installation_id TEXT NOT NULL UNIQUE,\n authorization_revision INTEGER NOT NULL CHECK (authorization_revision >= 1),\n search_generation INTEGER NOT NULL CHECK (search_generation >= 1),\n last_advance_id TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_authorization (\n entity_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n workspace_id TEXT,\n owner_principal_id TEXT NOT NULL,\n visibility_json TEXT NOT NULL CHECK (json_valid(visibility_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n source_revision INTEGER NOT NULL,\n authorization_revision INTEGER NOT NULL,\n deleted_at TEXT,\n event_id TEXT NOT NULL UNIQUE,\n updated_at TEXT NOT NULL,\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id),\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_authorization_revisions (\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n installation_id TEXT NOT NULL,\n workspace_id TEXT,\n owner_principal_id TEXT NOT NULL,\n visibility_json TEXT NOT NULL CHECK (json_valid(visibility_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n deleted_at TEXT,\n event_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n PRIMARY KEY (entity_id, source_revision),\n FOREIGN KEY (entity_id, source_revision)\n REFERENCES taproot_entity_revisions(entity_id, revision),\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_statement_authorization (\n entity_id TEXT NOT NULL,\n statement_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n restrictions_json TEXT NOT NULL CHECK (json_valid(restrictions_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n PRIMARY KEY (entity_id, statement_id),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_statement_authorization_revisions (\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n statement_id TEXT NOT NULL,\n restrictions_json TEXT NOT NULL CHECK (json_valid(restrictions_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n PRIMARY KEY (entity_id, source_revision, statement_id),\n FOREIGN KEY (entity_id, source_revision)\n REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_projection_outbox (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n authorization_revision INTEGER NOT NULL,\n search_generation INTEGER NOT NULL,\n operation TEXT NOT NULL CHECK (operation IN ('upsert', 'delete', 'repair', 'backfill')),\n state TEXT NOT NULL DEFAULT 'pending' CHECK (state IN ('pending', 'claimed', 'complete')),\n created_at TEXT NOT NULL,\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_backfill_plans (\n plan_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n base_authorization_revision INTEGER NOT NULL,\n manifest_json TEXT NOT NULL CHECK (json_valid(manifest_json)),\n manifest_hash TEXT NOT NULL,\n entity_count INTEGER NOT NULL CHECK (entity_count > 0 AND entity_count <= 100),\n revision_count INTEGER NOT NULL CHECK (revision_count > 0),\n status TEXT NOT NULL CHECK (status IN ('planned', 'applying', 'complete')),\n created_by TEXT NOT NULL,\n created_at TEXT NOT NULL,\n completed_at TEXT\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_admin_audit (\n sequence INTEGER PRIMARY KEY AUTOINCREMENT,\n audit_id TEXT NOT NULL UNIQUE,\n event_type TEXT NOT NULL CHECK (event_type IN ('backfill-plan', 'backfill-apply')),\n principal_id TEXT NOT NULL,\n plan_id TEXT NOT NULL,\n authorization_revision INTEGER NOT NULL,\n details_json TEXT NOT NULL CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (plan_id) REFERENCES taproot_authorization_backfill_plans(plan_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_installation_authorization_advances (\n advance_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n from_revision INTEGER NOT NULL,\n to_revision INTEGER NOT NULL,\n search_generation INTEGER NOT NULL,\n domain TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n reason TEXT NOT NULL,\n created_at TEXT NOT NULL,\n CHECK (to_revision = from_revision + 1)\n ) STRICT", "CREATE INDEX IF NOT EXISTS taproot_entity_authorization_candidate_idx\n ON taproot_entity_authorization(installation_id, deleted_at, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_entity_authorization_revision_idx\n ON taproot_entity_authorization_revisions(entity_id, source_revision DESC)", "CREATE INDEX IF NOT EXISTS taproot_statement_authorization_candidate_idx\n ON taproot_statement_authorization(entity_id, source_revision, statement_id)", "CREATE INDEX IF NOT EXISTS taproot_authorization_outbox_state_idx\n ON taproot_authorization_projection_outbox(state, authorization_revision, event_id)", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_replace\n BEFORE INSERT ON taproot_entity_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_entity_revisions\n WHERE entity_id = NEW.entity_id AND revision = NEW.revision\n )\n BEGIN SELECT RAISE(ABORT, 'taproot revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_replace\n BEFORE INSERT ON taproot_audit_events\n WHEN EXISTS (\n SELECT 1 FROM taproot_audit_events WHERE event_id = NEW.event_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot audit events cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_identity_no_update\n BEFORE UPDATE OF installation_id ON taproot_installation_authorization\n BEGIN SELECT RAISE(ABORT, 'taproot installation identity is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_no_delete\n BEFORE DELETE ON taproot_installation_authorization\n BEGIN SELECT RAISE(ABORT, 'taproot installation authorization is durable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_no_replace\n BEFORE INSERT ON taproot_installation_authorization\n WHEN EXISTS (SELECT 1 FROM taproot_installation_authorization WHERE singleton = NEW.singleton)\n BEGIN SELECT RAISE(ABORT, 'taproot installation authorization cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_update\n BEFORE UPDATE ON taproot_entity_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_delete\n BEFORE DELETE ON taproot_entity_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_replace\n BEFORE INSERT ON taproot_entity_authorization_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_entity_authorization_revisions\n WHERE (entity_id = NEW.entity_id AND source_revision = NEW.source_revision)\n OR event_id = NEW.event_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_update\n BEFORE UPDATE ON taproot_statement_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_delete\n BEFORE DELETE ON taproot_statement_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_replace\n BEFORE INSERT ON taproot_statement_authorization_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_statement_authorization_revisions\n WHERE entity_id = NEW.entity_id AND source_revision = NEW.source_revision\n AND statement_id = NEW.statement_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_update\n BEFORE UPDATE ON taproot_authorization_admin_audit\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_delete\n BEFORE DELETE ON taproot_authorization_admin_audit\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_replace\n BEFORE INSERT ON taproot_authorization_admin_audit\n WHEN EXISTS (\n SELECT 1 FROM taproot_authorization_admin_audit\n WHERE sequence = NEW.sequence OR audit_id = NEW.audit_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_update\n BEFORE UPDATE ON taproot_installation_authorization_advances\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_delete\n BEFORE DELETE ON taproot_installation_authorization_advances\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_replace\n BEFORE INSERT ON taproot_installation_authorization_advances\n WHEN EXISTS (\n SELECT 1 FROM taproot_installation_authorization_advances\n WHERE advance_id = NEW.advance_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances cannot be replaced'); END", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES ('schema_version', '3')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value", "INSERT INTO taproot_migrations(version, name)\n VALUES (4, 'canonical-authorization-policy')\n ON CONFLICT(version) DO NOTHING"];
8
+ /** Exact package-created schema before authored statement text became required. */
9
+ export declare const preStatementTextTaprootSchemaStatements: string[];
10
+ /** Exact package-created schema used before the v2 audit migration. */
11
+ export declare const legacyTaprootV1Statements: readonly [string, "CREATE TABLE IF NOT EXISTS taproot_entity_revisions (\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n actor TEXT,\n edit_summary TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (entity_id, revision),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", string, string, string, string, string, string, string, string, "INSERT INTO taproot_id_counters(entity_type, next_numeric_id)\n VALUES ('item', 1), ('property', 1)", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES\n ('schema_version', '1'),\n ('canonical_json_version', '1'),\n ('rdf_mapping_version', '1')"];
12
+ export declare const taprootUpgradeCatalogStatements: string[];
13
+ export declare const taprootPreFinalizeCatalogStatements: ("CREATE TABLE IF NOT EXISTS taproot_entities (\n entity_id TEXT PRIMARY KEY,\n entity_type TEXT NOT NULL CHECK (entity_type IN ('item', 'property')),\n datatype TEXT,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n deleted_at TEXT,\n redirect_to TEXT,\n CHECK ((entity_type = 'item' AND datatype IS NULL)\n OR (entity_type = 'property' AND datatype IS NOT NULL))\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_entity_revisions (\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n actor TEXT,\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n event_id TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n deleted_at TEXT,\n redirect_to TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (entity_id, revision),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_audit_events (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n event_type TEXT NOT NULL CHECK (event_type IN ('create', 'update', 'revert', 'delete', 'restore', 'redirect', 'import', 'repair')),\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n request_id TEXT,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n details_json TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (entity_id, revision) REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_migrations (\n version INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_rdf_ownership (\n entity_id TEXT NOT NULL,\n subject_key TEXT NOT NULL,\n predicate_key TEXT NOT NULL,\n object_key TEXT NOT NULL,\n graph_key TEXT NOT NULL,\n PRIMARY KEY (entity_id, subject_key, predicate_key, object_key, graph_key),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_id_counters (\n entity_type TEXT PRIMARY KEY CHECK (entity_type IN ('item', 'property')),\n next_numeric_id INTEGER NOT NULL CHECK (next_numeric_id > 0)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_terms (\n entity_id TEXT NOT NULL,\n language TEXT NOT NULL,\n term_type TEXT NOT NULL CHECK (term_type IN ('label', 'description', 'alias')),\n value TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n PRIMARY KEY (entity_id, language, term_type, ordinal),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_metadata (\n metadata_key TEXT PRIMARY KEY,\n metadata_value TEXT NOT NULL\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_assertions (\n assertion_key TEXT PRIMARY KEY\n ) STRICT" | "CREATE INDEX IF NOT EXISTS taproot_entities_type_idx\n ON taproot_entities(entity_type, entity_id)" | "CREATE INDEX IF NOT EXISTS taproot_entities_modified_idx\n ON taproot_entities(modified_at, entity_id)" | "CREATE INDEX IF NOT EXISTS taproot_revisions_entity_idx\n ON taproot_entity_revisions(entity_id, revision DESC)" | "CREATE INDEX IF NOT EXISTS taproot_terms_lookup_idx\n ON taproot_terms(language, value COLLATE NOCASE, entity_id)" | "CREATE INDEX IF NOT EXISTS taproot_audit_entity_idx\n ON taproot_audit_events(entity_id, revision DESC, event_id)" | "CREATE INDEX IF NOT EXISTS taproot_audit_request_idx\n ON taproot_audit_events(request_id) WHERE request_id IS NOT NULL" | "CREATE INDEX IF NOT EXISTS taproot_rdf_ownership_quad_idx\n ON taproot_rdf_ownership(subject_key, predicate_key, object_key, graph_key, entity_id)" | "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_update\n BEFORE UPDATE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END" | "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_delete\n BEFORE DELETE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END" | "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_update\n BEFORE UPDATE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END" | "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_delete\n BEFORE DELETE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END" | "INSERT INTO taproot_id_counters(entity_type, next_numeric_id)\n VALUES ('item', 1), ('property', 1)\n ON CONFLICT(entity_type) DO NOTHING" | "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES\n ('schema_version', '2'),\n ('canonical_json_version', '2'),\n ('rdf_mapping_version', '2')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value" | "INSERT INTO taproot_migrations(version, name) VALUES (1, 'initial'), (2, 'audit-and-operations'), (3, 'canonical-statement-text')\n ON CONFLICT(version) DO NOTHING")[];
14
+ export declare const legacyTaprootStructureStatements: readonly ["ALTER TABLE taproot_entity_revisions RENAME TO taproot_entity_revisions_v1", string, "INSERT INTO taproot_entity_revisions(\n entity_id, revision, entity_json, actor, attribution_json, edit_summary,\n tags_json, event_id, content_hash, parent_hash, deleted_at, redirect_to, created_at\n )\n SELECT entity_id, revision, entity_json, actor, NULL, edit_summary,\n '[]', NULL, NULL, NULL, NULL, NULL, created_at\n FROM taproot_entity_revisions_v1", "DROP TABLE taproot_entity_revisions_v1", ...string[]];
15
+ export declare const legacyRevisionFinalizeStatements: readonly ["ALTER TABLE taproot_entity_revisions RENAME TO taproot_entity_revisions_backfill", string, "INSERT INTO taproot_entity_revisions(\n entity_id, revision, entity_json, actor, attribution_json, edit_summary,\n tags_json, event_id, content_hash, parent_hash, deleted_at, redirect_to, created_at\n ) SELECT entity_id, revision, entity_json, actor, attribution_json, edit_summary,\n tags_json, event_id, content_hash, parent_hash, deleted_at, redirect_to, created_at\n FROM taproot_entity_revisions_backfill", "DROP TABLE taproot_entity_revisions_backfill", string, string, string, string];
16
+ export declare const taprootFinalizeStatements: readonly [...("CREATE TABLE IF NOT EXISTS taproot_entities (\n entity_id TEXT PRIMARY KEY,\n entity_type TEXT NOT NULL CHECK (entity_type IN ('item', 'property')),\n datatype TEXT,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n deleted_at TEXT,\n redirect_to TEXT,\n CHECK ((entity_type = 'item' AND datatype IS NULL)\n OR (entity_type = 'property' AND datatype IS NOT NULL))\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_entity_revisions (\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n actor TEXT,\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n event_id TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n deleted_at TEXT,\n redirect_to TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (entity_id, revision),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_audit_events (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n event_type TEXT NOT NULL CHECK (event_type IN ('create', 'update', 'revert', 'delete', 'restore', 'redirect', 'import', 'repair')),\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n request_id TEXT,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n details_json TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (entity_id, revision) REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_migrations (\n version INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_rdf_ownership (\n entity_id TEXT NOT NULL,\n subject_key TEXT NOT NULL,\n predicate_key TEXT NOT NULL,\n object_key TEXT NOT NULL,\n graph_key TEXT NOT NULL,\n PRIMARY KEY (entity_id, subject_key, predicate_key, object_key, graph_key),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_id_counters (\n entity_type TEXT PRIMARY KEY CHECK (entity_type IN ('item', 'property')),\n next_numeric_id INTEGER NOT NULL CHECK (next_numeric_id > 0)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_terms (\n entity_id TEXT NOT NULL,\n language TEXT NOT NULL,\n term_type TEXT NOT NULL CHECK (term_type IN ('label', 'description', 'alias')),\n value TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n PRIMARY KEY (entity_id, language, term_type, ordinal),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_metadata (\n metadata_key TEXT PRIMARY KEY,\n metadata_value TEXT NOT NULL\n ) STRICT" | "CREATE TABLE IF NOT EXISTS taproot_assertions (\n assertion_key TEXT PRIMARY KEY\n ) STRICT" | "CREATE INDEX IF NOT EXISTS taproot_entities_type_idx\n ON taproot_entities(entity_type, entity_id)" | "CREATE INDEX IF NOT EXISTS taproot_entities_modified_idx\n ON taproot_entities(modified_at, entity_id)" | "CREATE INDEX IF NOT EXISTS taproot_revisions_entity_idx\n ON taproot_entity_revisions(entity_id, revision DESC)" | "CREATE INDEX IF NOT EXISTS taproot_terms_lookup_idx\n ON taproot_terms(language, value COLLATE NOCASE, entity_id)" | "CREATE INDEX IF NOT EXISTS taproot_audit_entity_idx\n ON taproot_audit_events(entity_id, revision DESC, event_id)" | "CREATE INDEX IF NOT EXISTS taproot_audit_request_idx\n ON taproot_audit_events(request_id) WHERE request_id IS NOT NULL" | "CREATE INDEX IF NOT EXISTS taproot_rdf_ownership_quad_idx\n ON taproot_rdf_ownership(subject_key, predicate_key, object_key, graph_key, entity_id)" | "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_update\n BEFORE UPDATE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END" | "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_delete\n BEFORE DELETE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END" | "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_update\n BEFORE UPDATE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END" | "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_delete\n BEFORE DELETE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END" | "INSERT INTO taproot_id_counters(entity_type, next_numeric_id)\n VALUES ('item', 1), ('property', 1)\n ON CONFLICT(entity_type) DO NOTHING" | "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES\n ('schema_version', '2'),\n ('canonical_json_version', '2'),\n ('rdf_mapping_version', '2')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value" | "INSERT INTO taproot_migrations(version, name) VALUES (1, 'initial'), (2, 'audit-and-operations'), (3, 'canonical-statement-text')\n ON CONFLICT(version) DO NOTHING")[], "CREATE TABLE IF NOT EXISTS taproot_installation_authorization (\n singleton INTEGER PRIMARY KEY CHECK (singleton = 1),\n installation_id TEXT NOT NULL UNIQUE,\n authorization_revision INTEGER NOT NULL CHECK (authorization_revision >= 1),\n search_generation INTEGER NOT NULL CHECK (search_generation >= 1),\n last_advance_id TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_authorization (\n entity_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n workspace_id TEXT,\n owner_principal_id TEXT NOT NULL,\n visibility_json TEXT NOT NULL CHECK (json_valid(visibility_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n source_revision INTEGER NOT NULL,\n authorization_revision INTEGER NOT NULL,\n deleted_at TEXT,\n event_id TEXT NOT NULL UNIQUE,\n updated_at TEXT NOT NULL,\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id),\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_authorization_revisions (\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n installation_id TEXT NOT NULL,\n workspace_id TEXT,\n owner_principal_id TEXT NOT NULL,\n visibility_json TEXT NOT NULL CHECK (json_valid(visibility_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n deleted_at TEXT,\n event_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n PRIMARY KEY (entity_id, source_revision),\n FOREIGN KEY (entity_id, source_revision)\n REFERENCES taproot_entity_revisions(entity_id, revision),\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_statement_authorization (\n entity_id TEXT NOT NULL,\n statement_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n restrictions_json TEXT NOT NULL CHECK (json_valid(restrictions_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n PRIMARY KEY (entity_id, statement_id),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_statement_authorization_revisions (\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n statement_id TEXT NOT NULL,\n restrictions_json TEXT NOT NULL CHECK (json_valid(restrictions_json)),\n effective_visibility_json TEXT NOT NULL CHECK (json_valid(effective_visibility_json)),\n authorization_revision INTEGER NOT NULL,\n PRIMARY KEY (entity_id, source_revision, statement_id),\n FOREIGN KEY (entity_id, source_revision)\n REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_projection_outbox (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n source_revision INTEGER NOT NULL,\n authorization_revision INTEGER NOT NULL,\n search_generation INTEGER NOT NULL,\n operation TEXT NOT NULL CHECK (operation IN ('upsert', 'delete', 'repair', 'backfill')),\n state TEXT NOT NULL DEFAULT 'pending' CHECK (state IN ('pending', 'claimed', 'complete')),\n created_at TEXT NOT NULL,\n FOREIGN KEY (event_id) REFERENCES taproot_audit_events(event_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_backfill_plans (\n plan_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n base_authorization_revision INTEGER NOT NULL,\n manifest_json TEXT NOT NULL CHECK (json_valid(manifest_json)),\n manifest_hash TEXT NOT NULL,\n entity_count INTEGER NOT NULL CHECK (entity_count > 0 AND entity_count <= 100),\n revision_count INTEGER NOT NULL CHECK (revision_count > 0),\n status TEXT NOT NULL CHECK (status IN ('planned', 'applying', 'complete')),\n created_by TEXT NOT NULL,\n created_at TEXT NOT NULL,\n completed_at TEXT\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_authorization_admin_audit (\n sequence INTEGER PRIMARY KEY AUTOINCREMENT,\n audit_id TEXT NOT NULL UNIQUE,\n event_type TEXT NOT NULL CHECK (event_type IN ('backfill-plan', 'backfill-apply')),\n principal_id TEXT NOT NULL,\n plan_id TEXT NOT NULL,\n authorization_revision INTEGER NOT NULL,\n details_json TEXT NOT NULL CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (plan_id) REFERENCES taproot_authorization_backfill_plans(plan_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_installation_authorization_advances (\n advance_id TEXT PRIMARY KEY,\n installation_id TEXT NOT NULL,\n from_revision INTEGER NOT NULL,\n to_revision INTEGER NOT NULL,\n search_generation INTEGER NOT NULL,\n domain TEXT NOT NULL,\n principal_id TEXT NOT NULL,\n reason TEXT NOT NULL,\n created_at TEXT NOT NULL,\n CHECK (to_revision = from_revision + 1)\n ) STRICT", "CREATE INDEX IF NOT EXISTS taproot_entity_authorization_candidate_idx\n ON taproot_entity_authorization(installation_id, deleted_at, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_entity_authorization_revision_idx\n ON taproot_entity_authorization_revisions(entity_id, source_revision DESC)", "CREATE INDEX IF NOT EXISTS taproot_statement_authorization_candidate_idx\n ON taproot_statement_authorization(entity_id, source_revision, statement_id)", "CREATE INDEX IF NOT EXISTS taproot_authorization_outbox_state_idx\n ON taproot_authorization_projection_outbox(state, authorization_revision, event_id)", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_replace\n BEFORE INSERT ON taproot_entity_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_entity_revisions\n WHERE entity_id = NEW.entity_id AND revision = NEW.revision\n )\n BEGIN SELECT RAISE(ABORT, 'taproot revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_replace\n BEFORE INSERT ON taproot_audit_events\n WHEN EXISTS (\n SELECT 1 FROM taproot_audit_events WHERE event_id = NEW.event_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot audit events cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_identity_no_update\n BEFORE UPDATE OF installation_id ON taproot_installation_authorization\n BEGIN SELECT RAISE(ABORT, 'taproot installation identity is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_no_delete\n BEFORE DELETE ON taproot_installation_authorization\n BEGIN SELECT RAISE(ABORT, 'taproot installation authorization is durable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_no_replace\n BEFORE INSERT ON taproot_installation_authorization\n WHEN EXISTS (SELECT 1 FROM taproot_installation_authorization WHERE singleton = NEW.singleton)\n BEGIN SELECT RAISE(ABORT, 'taproot installation authorization cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_update\n BEFORE UPDATE ON taproot_entity_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_delete\n BEFORE DELETE ON taproot_entity_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_entity_authorization_revisions_no_replace\n BEFORE INSERT ON taproot_entity_authorization_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_entity_authorization_revisions\n WHERE (entity_id = NEW.entity_id AND source_revision = NEW.source_revision)\n OR event_id = NEW.event_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_update\n BEFORE UPDATE ON taproot_statement_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_delete\n BEFORE DELETE ON taproot_statement_authorization_revisions\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_statement_authorization_revisions_no_replace\n BEFORE INSERT ON taproot_statement_authorization_revisions\n WHEN EXISTS (\n SELECT 1 FROM taproot_statement_authorization_revisions\n WHERE entity_id = NEW.entity_id AND source_revision = NEW.source_revision\n AND statement_id = NEW.statement_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot statement authorization revisions cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_update\n BEFORE UPDATE ON taproot_authorization_admin_audit\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_delete\n BEFORE DELETE ON taproot_authorization_admin_audit\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit is immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_authorization_admin_audit_no_replace\n BEFORE INSERT ON taproot_authorization_admin_audit\n WHEN EXISTS (\n SELECT 1 FROM taproot_authorization_admin_audit\n WHERE sequence = NEW.sequence OR audit_id = NEW.audit_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization administration audit cannot be replaced'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_update\n BEFORE UPDATE ON taproot_installation_authorization_advances\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_delete\n BEFORE DELETE ON taproot_installation_authorization_advances\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_installation_authorization_advances_no_replace\n BEFORE INSERT ON taproot_installation_authorization_advances\n WHEN EXISTS (\n SELECT 1 FROM taproot_installation_authorization_advances\n WHERE advance_id = NEW.advance_id\n )\n BEGIN SELECT RAISE(ABORT, 'taproot authorization advances cannot be replaced'); END", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES ('schema_version', '3')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value", "INSERT INTO taproot_migrations(version, name)\n VALUES (4, 'canonical-authorization-policy')\n ON CONFLICT(version) DO NOTHING"];
6
17
  export interface TaprootSchemaInspection {
7
18
  valid: boolean;
8
19
  versions: Record<string, string>;
@@ -13,7 +24,30 @@ export interface TaprootSchemaInspection {
13
24
  missingTriggers: string[];
14
25
  errors: string[];
15
26
  }
16
- export declare function initializeTaproot(db: D1DatabaseLike): Promise<void>;
17
- export declare function inspectTaprootSchema(db: D1DatabaseLike): Promise<TaprootSchemaInspection>;
18
- export declare function assertTaprootSchema(db: D1DatabaseLike): Promise<void>;
27
+ export declare function initializeTaproot(db: SqliteDatabaseLike, options?: {
28
+ baseIri?: string;
29
+ }): Promise<void>;
30
+ export declare function isRecognizedLegacyV1(db: SqliteDatabaseLike, tables: Array<{
31
+ name: string;
32
+ }>): Promise<boolean>;
33
+ export declare function backfillRdfOwnership(db: SqliteDatabaseLike, previousVersion: string | undefined, previousBaseIri?: string): Promise<void>;
34
+ export declare function backfillLegacyRevisions(db: SqliteDatabaseLike): Promise<void>;
35
+ export declare function backfillTaprootAudit(db: SqliteDatabaseLike): Promise<void>;
36
+ export declare function verifyTaprootSemanticState(db: SqliteDatabaseLike, baseIri: string): Promise<void>;
37
+ /** Uses JavaScript trim semantics, including Unicode whitespace, for parity with runtime validation. */
38
+ export declare const PERSISTED_STATEMENT_TEXT_PAGE_SIZE = 100;
39
+ export declare function verifyPersistedStatementText(db: SqliteDatabaseLike): Promise<void>;
40
+ export declare function verifyTaprootPackageSeeds(db: SqliteDatabaseLike): Promise<void>;
41
+ export declare function inspectTaprootSchema(db: SqliteDatabaseLike): Promise<TaprootSchemaInspection>;
42
+ /**
43
+ * Verify the exact package-owned catalog before adopting a current pre-ledger
44
+ * database. This is intentionally stricter than the operational inspection:
45
+ * names alone must never authorize stamping an arbitrary look-alike schema.
46
+ */
47
+ export declare function isExactTaprootSchema(db: SqliteDatabaseLike): Promise<boolean>;
48
+ /** Exact package catalog immediately before canonical authorization migration 0004. */
49
+ export declare function isExactPreAuthorizationTaprootSchema(db: SqliteDatabaseLike): Promise<boolean>;
50
+ export declare function isExactTaprootUpgradeSchema(db: SqliteDatabaseLike): Promise<boolean>;
51
+ export declare function isExactTaprootPreFinalizeSchema(db: SqliteDatabaseLike): Promise<boolean>;
52
+ export declare function assertTaprootSchema(db: SqliteDatabaseLike): Promise<void>;
19
53
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAO1B,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,eAAO,MAAM,uBAAuB,04KAiH1B,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCzE;AA4OD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAuHlC;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}