@claudexor/daemon 5.0.2 → 5.1.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 (156) hide show
  1. package/dist/client.d.ts +56 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/deferred-message-owner.d.ts +4 -0
  4. package/dist/deferred-message-owner.d.ts.map +1 -1
  5. package/dist/deferred-messages.d.ts +22 -1
  6. package/dist/deferred-messages.d.ts.map +1 -1
  7. package/dist/deferred-messages.js +50 -15
  8. package/dist/deferred-messages.js.map +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/interactions.d.ts.map +1 -1
  14. package/dist/interactions.js +29 -7
  15. package/dist/interactions.js.map +1 -1
  16. package/dist/model-operation-execution.d.ts +10 -0
  17. package/dist/model-operation-execution.d.ts.map +1 -1
  18. package/dist/model-operation-execution.js +12 -5
  19. package/dist/model-operation-execution.js.map +1 -1
  20. package/dist/model-operations.d.ts +1 -0
  21. package/dist/model-operations.d.ts.map +1 -1
  22. package/dist/model-operations.js +20 -10
  23. package/dist/model-operations.js.map +1 -1
  24. package/dist/quota-registry-support.d.ts.map +1 -1
  25. package/dist/quota-registry-support.js +14 -9
  26. package/dist/quota-registry-support.js.map +1 -1
  27. package/dist/server.d.ts +2 -2
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js.map +1 -1
  30. package/dist/store/blob-files.d.ts +2 -2
  31. package/dist/store/blob-files.d.ts.map +1 -1
  32. package/dist/store/blob-files.js +1 -0
  33. package/dist/store/blob-files.js.map +1 -1
  34. package/dist/store/command-prune.d.ts.map +1 -1
  35. package/dist/store/command-prune.js +4 -0
  36. package/dist/store/command-prune.js.map +1 -1
  37. package/dist/store/commands.d.ts +7 -2
  38. package/dist/store/commands.d.ts.map +1 -1
  39. package/dist/store/commands.js +38 -11
  40. package/dist/store/commands.js.map +1 -1
  41. package/dist/store/deferred-message-rows.d.ts +10 -0
  42. package/dist/store/deferred-message-rows.d.ts.map +1 -1
  43. package/dist/store/deferred-message-rows.js +28 -1
  44. package/dist/store/deferred-message-rows.js.map +1 -1
  45. package/dist/store/deferred-messages.d.ts +10 -3
  46. package/dist/store/deferred-messages.d.ts.map +1 -1
  47. package/dist/store/deferred-messages.js +45 -9
  48. package/dist/store/deferred-messages.js.map +1 -1
  49. package/dist/store/external-files.d.ts +17 -0
  50. package/dist/store/external-files.d.ts.map +1 -1
  51. package/dist/store/external-files.js +54 -0
  52. package/dist/store/external-files.js.map +1 -1
  53. package/dist/store/idempotency.d.ts +1 -1
  54. package/dist/store/idempotency.d.ts.map +1 -1
  55. package/dist/store/idempotency.js +2 -1
  56. package/dist/store/idempotency.js.map +1 -1
  57. package/dist/store/libuv-pool.d.ts +25 -0
  58. package/dist/store/libuv-pool.d.ts.map +1 -0
  59. package/dist/store/libuv-pool.js +96 -0
  60. package/dist/store/libuv-pool.js.map +1 -0
  61. package/dist/store/maintenance-worker.d.ts.map +1 -1
  62. package/dist/store/maintenance-worker.js +45 -0
  63. package/dist/store/maintenance-worker.js.map +1 -1
  64. package/dist/store/maintenance.d.ts +28 -2
  65. package/dist/store/maintenance.d.ts.map +1 -1
  66. package/dist/store/maintenance.js +36 -6
  67. package/dist/store/maintenance.js.map +1 -1
  68. package/dist/store/project-router.d.ts +107 -1
  69. package/dist/store/project-router.d.ts.map +1 -1
  70. package/dist/store/project-router.js +30 -0
  71. package/dist/store/project-router.js.map +1 -1
  72. package/dist/store/publish-blob.d.ts.map +1 -1
  73. package/dist/store/publish-blob.js +36 -14
  74. package/dist/store/publish-blob.js.map +1 -1
  75. package/dist/store/purge-files.d.ts +11 -2
  76. package/dist/store/purge-files.d.ts.map +1 -1
  77. package/dist/store/purge-files.js +34 -7
  78. package/dist/store/purge-files.js.map +1 -1
  79. package/dist/store/resource-release.d.ts +15 -0
  80. package/dist/store/resource-release.d.ts.map +1 -0
  81. package/dist/store/resource-release.js +56 -0
  82. package/dist/store/resource-release.js.map +1 -0
  83. package/dist/store/resource-rows.d.ts +2 -0
  84. package/dist/store/resource-rows.d.ts.map +1 -1
  85. package/dist/store/resource-rows.js.map +1 -1
  86. package/dist/store/resource-uses.d.ts +84 -0
  87. package/dist/store/resource-uses.d.ts.map +1 -0
  88. package/dist/store/resource-uses.js +129 -0
  89. package/dist/store/resource-uses.js.map +1 -0
  90. package/dist/store/resources.d.ts +16 -2
  91. package/dist/store/resources.d.ts.map +1 -1
  92. package/dist/store/resources.js +42 -3
  93. package/dist/store/resources.js.map +1 -1
  94. package/dist/store/retention-changes.d.ts +8 -2
  95. package/dist/store/retention-changes.d.ts.map +1 -1
  96. package/dist/store/retention-changes.js +24 -11
  97. package/dist/store/retention-changes.js.map +1 -1
  98. package/dist/store/retention-generations.d.ts +7 -2
  99. package/dist/store/retention-generations.d.ts.map +1 -1
  100. package/dist/store/retention-generations.js +71 -26
  101. package/dist/store/retention-generations.js.map +1 -1
  102. package/dist/store/retention-reference-reader.d.ts +26 -1
  103. package/dist/store/retention-reference-reader.d.ts.map +1 -1
  104. package/dist/store/retention-reference-reader.js +31 -7
  105. package/dist/store/retention-reference-reader.js.map +1 -1
  106. package/dist/store/retention-references.d.ts +5 -0
  107. package/dist/store/retention-references.d.ts.map +1 -1
  108. package/dist/store/retention-references.js +35 -6
  109. package/dist/store/retention-references.js.map +1 -1
  110. package/dist/store/schema.d.ts +2 -2
  111. package/dist/store/schema.d.ts.map +1 -1
  112. package/dist/store/schema.js +17 -2
  113. package/dist/store/schema.js.map +1 -1
  114. package/dist/store/sql-command-router.d.ts +10 -1
  115. package/dist/store/sql-command-router.d.ts.map +1 -1
  116. package/dist/store/sql-command-router.js +10 -1
  117. package/dist/store/sql-command-router.js.map +1 -1
  118. package/dist/store/sql-daemon-services.d.ts.map +1 -1
  119. package/dist/store/sql-daemon-services.js +9 -8
  120. package/dist/store/sql-daemon-services.js.map +1 -1
  121. package/dist/store/sql-validation.d.ts.map +1 -1
  122. package/dist/store/sql-validation.js +1 -0
  123. package/dist/store/sql-validation.js.map +1 -1
  124. package/dist/store/terminal-files.d.ts +6 -3
  125. package/dist/store/terminal-files.d.ts.map +1 -1
  126. package/dist/store/terminal-files.js +6 -38
  127. package/dist/store/terminal-files.js.map +1 -1
  128. package/dist/store/thread-closure.d.ts +62 -0
  129. package/dist/store/thread-closure.d.ts.map +1 -0
  130. package/dist/store/thread-closure.js +290 -0
  131. package/dist/store/thread-closure.js.map +1 -0
  132. package/dist/store/thread-retirement.d.ts +29 -0
  133. package/dist/store/thread-retirement.d.ts.map +1 -0
  134. package/dist/store/thread-retirement.js +123 -0
  135. package/dist/store/thread-retirement.js.map +1 -0
  136. package/dist/store/threads.d.ts.map +1 -1
  137. package/dist/store/threads.js +6 -1
  138. package/dist/store/threads.js.map +1 -1
  139. package/dist/store/upload-imports.d.ts.map +1 -1
  140. package/dist/store/upload-imports.js +16 -3
  141. package/dist/store/upload-imports.js.map +1 -1
  142. package/dist/store/uploads.d.ts +13 -2
  143. package/dist/store/uploads.d.ts.map +1 -1
  144. package/dist/store/uploads.js +76 -30
  145. package/dist/store/uploads.js.map +1 -1
  146. package/dist/store-contracts.d.ts +25 -2
  147. package/dist/store-contracts.d.ts.map +1 -1
  148. package/dist/terminal-authority.d.ts +1 -1
  149. package/dist/thread-lifecycle.d.ts +3 -1
  150. package/dist/thread-lifecycle.d.ts.map +1 -1
  151. package/dist/thread-lifecycle.js +2 -2
  152. package/dist/thread-lifecycle.js.map +1 -1
  153. package/dist/writer-lease.d.ts.map +1 -1
  154. package/dist/writer-lease.js +6 -3
  155. package/dist/writer-lease.js.map +1 -1
  156. package/package.json +5 -5
@@ -2,7 +2,7 @@ import type { DatabaseSync } from "node:sqlite";
2
2
  /** `PRAGMA application_id` of every engine store ("CXEN"). */
3
3
  export declare const ENGINE_APPLICATION_ID = 1129858382;
4
4
  /** `PRAGMA user_version`: the one schema this engine creates and serves. */
5
- export declare const ENGINE_SCHEMA_VERSION = 6;
5
+ export declare const ENGINE_SCHEMA_VERSION = 7;
6
6
  /** Version 5: guard both the expression key and partial predicate against non-JSON bodies.
7
7
  * Acceptance is mutable query policy, not index membership. */
8
8
  export declare const PLAN_ANSWER_RUN_SQL = "CASE WHEN json_valid(CAST(body AS TEXT))\n THEN json_extract(CAST(body AS TEXT),'$.answers_plan_run_id') END";
@@ -15,7 +15,7 @@ export declare const PLAN_ANSWER_PRESENT_SQL = "CASE WHEN json_valid(CAST(body A
15
15
  * history. `pid` is the surrogate of one partition generation and the only
16
16
  * partition key a row carries.
17
17
  */
18
- export declare const ENGINE_SCHEMA_SQL = "\nCREATE TABLE meta(key TEXT PRIMARY KEY, value TEXT NOT NULL) STRICT;\nCREATE TABLE partition(id INTEGER PRIMARY KEY, name TEXT NOT NULL, epoch TEXT NOT NULL, status TEXT NOT NULL,\n next_seq INTEGER NOT NULL, project_id TEXT, created_at TEXT NOT NULL, UNIQUE(name, epoch)) STRICT;\nCREATE TABLE event(pid INTEGER NOT NULL, seq INTEGER NOT NULL, time TEXT NOT NULL, type TEXT NOT NULL,\n payload BLOB NOT NULL, payload_sha TEXT, slot_key TEXT, group_key TEXT, PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\nCREATE INDEX event_type ON event(pid, type, seq);\nCREATE INDEX event_slot ON event(pid, slot_key) WHERE slot_key IS NOT NULL;\nCREATE INDEX event_group ON event(pid, group_key) WHERE group_key IS NOT NULL;\nCREATE INDEX event_payload ON event(payload_sha) WHERE payload_sha IS NOT NULL;\nCREATE INDEX event_command_age ON event(time,pid,seq) WHERE type IN ('command.accepted','command.updated');\nCREATE TABLE blob(sha256 TEXT PRIMARY KEY, size INTEGER NOT NULL, inline BLOB) STRICT;\nCREATE TABLE command(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, operation TEXT NOT NULL, state TEXT NOT NULL, client_id TEXT,\n run_id TEXT, task_id TEXT, run_dir TEXT, thread_id TEXT, turn_id TEXT, delegated_from TEXT, continue_from TEXT, scope_root TEXT,\n created_at TEXT NOT NULL, started_at TEXT, finished_at TEXT, summary BLOB NOT NULL, params_sha TEXT NOT NULL, result_sha TEXT,\n error BLOB, last_event_seq INTEGER, response_state TEXT, response_expires_at TEXT, request_resource_id TEXT, response_resource_id TEXT,\n kind TEXT NOT NULL, live INTEGER NOT NULL DEFAULT 1, needs_decision INTEGER NOT NULL DEFAULT 0, task_group_id TEXT) STRICT;\nCREATE INDEX command_run ON command(run_id);\nCREATE INDEX command_partition ON command(pid);\nCREATE INDEX command_active ON command(state, pid) WHERE live = 1 AND state IN ('queued','running');\nCREATE INDEX command_thread ON command(thread_id, state);\nCREATE INDEX command_turn ON command(turn_id, created_at);\nCREATE INDEX command_request_resource ON command(request_resource_id) WHERE request_resource_id IS NOT NULL;\nCREATE INDEX command_response_resource ON command(response_resource_id) WHERE response_resource_id IS NOT NULL;\nCREATE INDEX command_parent ON command(delegated_from);\nCREATE INDEX command_continue ON command(continue_from);\nCREATE INDEX command_list ON command(created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_list_state ON command(state, created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_terminal ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL;\nCREATE INDEX command_prunable ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL AND needs_decision = 0;\nCREATE INDEX command_expiry ON command(response_state, response_expires_at) WHERE kind = 'model';\nCREATE INDEX command_maintenance_harness ON command(json_extract(CAST(summary AS TEXT),'$.params.harness'),created_at)\n WHERE live=1 AND kind='maintenance';\nCREATE INDEX command_params ON command(params_sha);\nCREATE INDEX command_result ON command(result_sha) WHERE result_sha IS NOT NULL;\nCREATE TABLE run_terminal(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, event BLOB NOT NULL) STRICT;\nCREATE TABLE effect_obligation(kind TEXT NOT NULL, key TEXT NOT NULL, pid INTEGER NOT NULL, created_at TEXT NOT NULL, payload BLOB NOT NULL,\n state TEXT NOT NULL DEFAULT 'pending', materialized_g INTEGER, PRIMARY KEY(kind, key)) WITHOUT ROWID, STRICT;\nCREATE TABLE idempotency(owner TEXT NOT NULL, pid INTEGER NOT NULL, key_digest TEXT NOT NULL, operation TEXT NOT NULL,\n request_digest TEXT NOT NULL, target_id TEXT NOT NULL, result BLOB, created_at TEXT NOT NULL,\n PRIMARY KEY(owner, pid, key_digest)) WITHOUT ROWID, STRICT;\nCREATE INDEX idempotency_target ON idempotency(target_id);\nCREATE TABLE thread(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, state TEXT NOT NULL, updated_at TEXT NOT NULL,\n head_revision INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) STRICT;\nCREATE INDEX thread_list ON thread(pid, state, updated_at DESC);\nCREATE TABLE turn(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, thread_id TEXT NOT NULL, ordinal INTEGER NOT NULL, run_id TEXT,\n created_at TEXT NOT NULL, prompt_sha TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX turn_thread ON turn(thread_id, ordinal);\nCREATE UNIQUE INDEX turn_run ON turn(run_id) WHERE run_id IS NOT NULL;\nCREATE INDEX turn_prompt ON turn(prompt_sha);\nCREATE TABLE session(id TEXT PRIMARY KEY, thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) WITHOUT ROWID, STRICT;\nCREATE INDEX session_lane ON session(thread_id, harness_id, profile_id);\nCREATE INDEX session_order ON session(thread_id, insertion_ordinal);\nCREATE INDEX session_partition ON session(pid, insertion_ordinal);\nCREATE TABLE lane_checkpoint(thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, turn_id TEXT NOT NULL, body BLOB NOT NULL, PRIMARY KEY(thread_id, harness_id, profile_id)) WITHOUT ROWID, STRICT;\nCREATE INDEX lane_checkpoint_order ON lane_checkpoint(thread_id, insertion_ordinal);\nCREATE INDEX lane_checkpoint_partition ON lane_checkpoint(pid, insertion_ordinal);\nCREATE TABLE interaction(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, run_id TEXT NOT NULL, state TEXT NOT NULL,\n request BLOB NOT NULL, resolution BLOB) STRICT;\nCREATE INDEX interaction_pending ON interaction(run_id) WHERE state = 'pending';\nCREATE INDEX interaction_run ON interaction(run_id);\nCREATE INDEX interaction_partition_pending ON interaction(pid,run_id) WHERE state = 'pending';\nCREATE TABLE operator_decision(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE TABLE project(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, root TEXT NOT NULL, status TEXT NOT NULL,\n current_pid INTEGER, creation_key_digest TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX project_root_active ON project(pid, root) WHERE status = 'active';\nCREATE INDEX project_current_pid ON project(current_pid) WHERE status = 'active';\nCREATE TABLE pruned_root(root TEXT PRIMARY KEY) STRICT;\nCREATE TABLE resource(id TEXT PRIMARY KEY, purpose TEXT, kind TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,\n state TEXT NOT NULL, created_at TEXT NOT NULL, expires_at TEXT, released_at TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX resource_sha ON resource(sha256);\nCREATE INDEX resource_expiry ON resource(state, expires_at);\nCREATE TABLE upload(id TEXT PRIMARY KEY, state TEXT NOT NULL, received_bytes INTEGER NOT NULL, expected_bytes INTEGER,\n finalize_sha TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX upload_finalize ON upload(finalize_sha) WHERE finalize_sha IS NOT NULL;\nCREATE TABLE import_partition(name TEXT PRIMARY KEY, status TEXT NOT NULL, pid INTEGER, epoch TEXT, next_seq INTEGER,\n previous_frame_hash TEXT, source_size INTEGER, source_mtime TEXT, fingerprint TEXT, records INTEGER, digest TEXT, problem TEXT) STRICT;\nCREATE TABLE unclassified(pid INTEGER NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, reason TEXT NOT NULL, payload BLOB NOT NULL,\n PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\n\nCREATE TABLE account_last_service(harness_id TEXT NOT NULL, profile_id TEXT NOT NULL, requested_model_key TEXT NOT NULL,\n binding_digest TEXT NOT NULL, service_seq INTEGER NOT NULL, observed_at TEXT NOT NULL, run_id TEXT NOT NULL,\n attempt_id TEXT NOT NULL, try_index INTEGER NOT NULL,\n PRIMARY KEY(harness_id, profile_id, requested_model_key, binding_digest)) WITHOUT ROWID, STRICT;\n\nCREATE TABLE deferred_message(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, predecessor_job_id TEXT NOT NULL,\n revision INTEGER NOT NULL, state TEXT NOT NULL CHECK(state IN ('waiting','held','dispatched','cleared')),\n body_sha TEXT, hold BLOB, successor_job_id TEXT, dispatched_revision INTEGER, created_at TEXT NOT NULL) STRICT;\nCREATE UNIQUE INDEX deferred_message_slot ON deferred_message(pid,predecessor_job_id) WHERE state IN ('waiting','held');\nCREATE INDEX deferred_message_predecessor ON deferred_message(predecessor_job_id);\nCREATE INDEX deferred_message_successor ON deferred_message(successor_job_id) WHERE successor_job_id IS NOT NULL;\nCREATE INDEX deferred_message_body ON deferred_message(body_sha) WHERE body_sha IS NOT NULL;\n\nCREATE INDEX turn_plan_answer ON turn(thread_id,CASE WHEN json_valid(CAST(body AS TEXT))\n THEN json_extract(CAST(body AS TEXT),'$.answers_plan_run_id') END,ordinal)\n WHERE CASE WHEN json_valid(CAST(body AS TEXT))\n THEN json_extract(CAST(body AS TEXT),'$.answers_plan_run_id') END IS NOT NULL;\n\nCREATE INDEX command_task_group ON command(task_group_id,created_at DESC,id DESC)\n WHERE live=1 AND kind='product' AND task_group_id IS NOT NULL;\nCREATE INDEX command_task_group_state ON command(task_group_id,state,created_at DESC,id DESC)\n WHERE live=1 AND kind='product' AND task_group_id IS NOT NULL;\n";
18
+ export declare const ENGINE_SCHEMA_SQL = "\nCREATE TABLE meta(key TEXT PRIMARY KEY, value TEXT NOT NULL) STRICT;\nCREATE TABLE partition(id INTEGER PRIMARY KEY, name TEXT NOT NULL, epoch TEXT NOT NULL, status TEXT NOT NULL,\n next_seq INTEGER NOT NULL, project_id TEXT, created_at TEXT NOT NULL, UNIQUE(name, epoch)) STRICT;\nCREATE TABLE event(pid INTEGER NOT NULL, seq INTEGER NOT NULL, time TEXT NOT NULL, type TEXT NOT NULL,\n payload BLOB NOT NULL, payload_sha TEXT, slot_key TEXT, group_key TEXT, PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\nCREATE INDEX event_type ON event(pid, type, seq);\nCREATE INDEX event_slot ON event(pid, slot_key) WHERE slot_key IS NOT NULL;\nCREATE INDEX event_group ON event(pid, group_key) WHERE group_key IS NOT NULL;\nCREATE INDEX event_payload ON event(payload_sha) WHERE payload_sha IS NOT NULL;\nCREATE INDEX event_command_age ON event(time,pid,seq) WHERE type IN ('command.accepted','command.updated');\nCREATE TABLE blob(sha256 TEXT PRIMARY KEY, size INTEGER NOT NULL, inline BLOB) STRICT;\nCREATE TABLE command(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, operation TEXT NOT NULL, state TEXT NOT NULL, client_id TEXT,\n run_id TEXT, task_id TEXT, run_dir TEXT, thread_id TEXT, turn_id TEXT, delegated_from TEXT, continue_from TEXT, scope_root TEXT,\n created_at TEXT NOT NULL, started_at TEXT, finished_at TEXT, summary BLOB NOT NULL, params_sha TEXT NOT NULL, result_sha TEXT,\n error BLOB, last_event_seq INTEGER, response_state TEXT, response_expires_at TEXT, request_resource_id TEXT, response_resource_id TEXT,\n kind TEXT NOT NULL, live INTEGER NOT NULL DEFAULT 1, needs_decision INTEGER NOT NULL DEFAULT 0, task_group_id TEXT) STRICT;\nCREATE INDEX command_run ON command(run_id);\nCREATE INDEX command_partition ON command(pid);\nCREATE INDEX command_active ON command(state, pid) WHERE live = 1 AND state IN ('queued','running');\nCREATE INDEX command_thread ON command(thread_id, state);\nCREATE INDEX command_turn ON command(turn_id, created_at);\nCREATE INDEX command_request_resource ON command(request_resource_id) WHERE request_resource_id IS NOT NULL;\nCREATE INDEX command_response_resource ON command(response_resource_id) WHERE response_resource_id IS NOT NULL;\nCREATE INDEX command_parent ON command(delegated_from);\nCREATE INDEX command_continue ON command(continue_from);\nCREATE INDEX command_list ON command(created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_list_state ON command(state, created_at DESC, id DESC) WHERE live = 1 AND kind = 'product';\nCREATE INDEX command_terminal ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL;\nCREATE INDEX command_prunable ON command(created_at, id)\n WHERE live = 1 AND kind IN ('product','delivery','maintenance') AND finished_at IS NOT NULL AND needs_decision = 0;\nCREATE INDEX command_expiry ON command(response_state, response_expires_at) WHERE kind = 'model';\nCREATE INDEX command_maintenance_harness ON command(json_extract(CAST(summary AS TEXT),'$.params.harness'),created_at)\n WHERE live=1 AND kind='maintenance';\nCREATE INDEX command_params ON command(params_sha);\nCREATE INDEX command_result ON command(result_sha) WHERE result_sha IS NOT NULL;\nCREATE TABLE run_terminal(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, event BLOB NOT NULL) STRICT;\nCREATE TABLE effect_obligation(kind TEXT NOT NULL, key TEXT NOT NULL, pid INTEGER NOT NULL, created_at TEXT NOT NULL, payload BLOB NOT NULL,\n state TEXT NOT NULL DEFAULT 'pending', materialized_g INTEGER, PRIMARY KEY(kind, key)) WITHOUT ROWID, STRICT;\nCREATE TABLE idempotency(owner TEXT NOT NULL, pid INTEGER NOT NULL, key_digest TEXT NOT NULL, operation TEXT NOT NULL,\n request_digest TEXT NOT NULL, target_id TEXT NOT NULL, result BLOB, created_at TEXT NOT NULL,\n PRIMARY KEY(owner, pid, key_digest)) WITHOUT ROWID, STRICT;\nCREATE INDEX idempotency_target ON idempotency(target_id);\nCREATE TABLE thread(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, state TEXT NOT NULL, updated_at TEXT NOT NULL,\n head_revision INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) STRICT;\nCREATE INDEX thread_list ON thread(pid, state, updated_at DESC);\nCREATE TABLE turn(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, thread_id TEXT NOT NULL, ordinal INTEGER NOT NULL, run_id TEXT,\n created_at TEXT NOT NULL, prompt_sha TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX turn_thread ON turn(thread_id, ordinal);\nCREATE UNIQUE INDEX turn_run ON turn(run_id) WHERE run_id IS NOT NULL;\nCREATE INDEX turn_prompt ON turn(prompt_sha);\nCREATE TABLE session(id TEXT PRIMARY KEY, thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, body BLOB NOT NULL) WITHOUT ROWID, STRICT;\nCREATE INDEX session_lane ON session(thread_id, harness_id, profile_id);\nCREATE INDEX session_order ON session(thread_id, insertion_ordinal);\nCREATE INDEX session_partition ON session(pid, insertion_ordinal);\nCREATE TABLE lane_checkpoint(thread_id TEXT NOT NULL, harness_id TEXT NOT NULL, profile_id TEXT NOT NULL DEFAULT '', pid INTEGER NOT NULL,\n insertion_ordinal INTEGER NOT NULL DEFAULT 0, turn_id TEXT NOT NULL, body BLOB NOT NULL, PRIMARY KEY(thread_id, harness_id, profile_id)) WITHOUT ROWID, STRICT;\nCREATE INDEX lane_checkpoint_order ON lane_checkpoint(thread_id, insertion_ordinal);\nCREATE INDEX lane_checkpoint_partition ON lane_checkpoint(pid, insertion_ordinal);\nCREATE TABLE interaction(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, run_id TEXT NOT NULL, state TEXT NOT NULL,\n request BLOB NOT NULL, resolution BLOB) STRICT;\nCREATE INDEX interaction_pending ON interaction(run_id) WHERE state = 'pending';\nCREATE INDEX interaction_run ON interaction(run_id);\nCREATE INDEX interaction_partition_pending ON interaction(pid,run_id) WHERE state = 'pending';\nCREATE TABLE operator_decision(run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE TABLE project(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, root TEXT NOT NULL, status TEXT NOT NULL,\n current_pid INTEGER, creation_key_digest TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, body BLOB NOT NULL) STRICT;\nCREATE UNIQUE INDEX project_root_active ON project(pid, root) WHERE status = 'active';\nCREATE INDEX project_current_pid ON project(current_pid) WHERE status = 'active';\nCREATE TABLE pruned_root(root TEXT PRIMARY KEY) STRICT;\nCREATE TABLE resource(id TEXT PRIMARY KEY, purpose TEXT, kind TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,\n state TEXT NOT NULL, created_at TEXT NOT NULL, expires_at TEXT, released_at TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX resource_sha ON resource(sha256);\nCREATE INDEX resource_expiry ON resource(state, expires_at);\nCREATE TABLE upload(id TEXT PRIMARY KEY, state TEXT NOT NULL, received_bytes INTEGER NOT NULL, expected_bytes INTEGER,\n finalize_sha TEXT, body BLOB NOT NULL) STRICT;\nCREATE INDEX upload_finalize ON upload(finalize_sha) WHERE finalize_sha IS NOT NULL;\nCREATE TABLE import_partition(name TEXT PRIMARY KEY, status TEXT NOT NULL, pid INTEGER, epoch TEXT, next_seq INTEGER,\n previous_frame_hash TEXT, source_size INTEGER, source_mtime TEXT, fingerprint TEXT, records INTEGER, digest TEXT, problem TEXT) STRICT;\nCREATE TABLE unclassified(pid INTEGER NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, reason TEXT NOT NULL, payload BLOB NOT NULL,\n PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;\n\nCREATE TABLE account_last_service(harness_id TEXT NOT NULL, profile_id TEXT NOT NULL, requested_model_key TEXT NOT NULL,\n binding_digest TEXT NOT NULL, service_seq INTEGER NOT NULL, observed_at TEXT NOT NULL, run_id TEXT NOT NULL,\n attempt_id TEXT NOT NULL, try_index INTEGER NOT NULL,\n PRIMARY KEY(harness_id, profile_id, requested_model_key, binding_digest)) WITHOUT ROWID, STRICT;\n\nCREATE TABLE deferred_message(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, predecessor_job_id TEXT NOT NULL,\n revision INTEGER NOT NULL, state TEXT NOT NULL CHECK(state IN ('waiting','held','dispatched','cleared')),\n body_sha TEXT, hold BLOB, successor_job_id TEXT, dispatched_revision INTEGER, created_at TEXT NOT NULL) STRICT;\nCREATE UNIQUE INDEX deferred_message_slot ON deferred_message(pid,predecessor_job_id) WHERE state IN ('waiting','held');\nCREATE INDEX deferred_message_predecessor ON deferred_message(predecessor_job_id);\nCREATE INDEX deferred_message_successor ON deferred_message(successor_job_id) WHERE successor_job_id IS NOT NULL;\nCREATE INDEX deferred_message_body ON deferred_message(body_sha) WHERE body_sha IS NOT NULL;\n\nCREATE INDEX turn_plan_answer ON turn(thread_id,CASE WHEN json_valid(CAST(body AS TEXT))\n THEN json_extract(CAST(body AS TEXT),'$.answers_plan_run_id') END,ordinal)\n WHERE CASE WHEN json_valid(CAST(body AS TEXT))\n THEN json_extract(CAST(body AS TEXT),'$.answers_plan_run_id') END IS NOT NULL;\n\nCREATE INDEX command_task_group ON command(task_group_id,created_at DESC,id DESC)\n WHERE live=1 AND kind='product' AND task_group_id IS NOT NULL;\nCREATE INDEX command_task_group_state ON command(task_group_id,state,created_at DESC,id DESC)\n WHERE live=1 AND kind='product' AND task_group_id IS NOT NULL;\n\nCREATE TABLE resource_use(resource_id TEXT NOT NULL, owner TEXT NOT NULL\n CHECK(owner IN ('command','turn','deferred_message')), owner_id TEXT NOT NULL, sha256 TEXT NOT NULL,\n PRIMARY KEY(resource_id, owner, owner_id)) WITHOUT ROWID, STRICT;\nCREATE INDEX resource_use_owner ON resource_use(owner, owner_id);\nCREATE INDEX resource_use_sha ON resource_use(sha256);\nALTER TABLE deferred_message ADD COLUMN held_revision INTEGER;\nALTER TABLE deferred_message ADD COLUMN resumed BLOB;\nALTER TABLE turn ADD COLUMN dispatched_at TEXT;\n";
19
19
  /** Every table the DDL creates, in creation order (for tests and the importer seam). */
20
20
  export declare const ENGINE_TABLES: readonly string[];
21
21
  export interface SchemaIdentity {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAyCvC;+DAC+D;AAC/D,eAAO,MAAM,mBAAmB,kHACoC,CAAC;AACrE,eAAO,MAAM,uBAAuB,8HAAuC,CAAC;AA4B5E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,kpSAmF2E,CAAC;AAE1G,wFAAwF;AACxF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAC;AAgBF,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,CAYnE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAqB9F;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,GAAE,MAAM,IAAuB,GAAG,IAAI,CAkCvF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAwDvC;+DAC+D;AAC/D,eAAO,MAAM,mBAAmB,kHACoC,CAAC;AACrE,eAAO,MAAM,uBAAuB,8HAAuC,CAAC;AA4B5E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,8qTAmF2F,CAAC;AAE1H,wFAAwF;AACxF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAE1C,CAAC;AAiBF,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,CAYnE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAqB9F;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,GAAE,MAAM,IAAuB,GAAG,IAAI,CAkCvF"}
@@ -3,7 +3,21 @@ import { StoreSchemaUnsupportedError } from "./errors.js";
3
3
  /** `PRAGMA application_id` of every engine store ("CXEN"). */
4
4
  export const ENGINE_APPLICATION_ID = 0x4358454e;
5
5
  /** `PRAGMA user_version`: the one schema this engine creates and serves. */
6
- export const ENGINE_SCHEMA_VERSION = 6;
6
+ export const ENGINE_SCHEMA_VERSION = 7;
7
+ /** Version 7: accepted owners holding managed ordinary resources (#249) and the
8
+ * instant a thread turn's first product command was accepted (its durable dispatch
9
+ * fact, which outlives command retention); the revision a deferred draft's hold was
10
+ * applied at and its visible return from a process-custody hold (#613). */
11
+ const SCHEMA_V7_SQL = `
12
+ CREATE TABLE resource_use(resource_id TEXT NOT NULL, owner TEXT NOT NULL
13
+ CHECK(owner IN ('command','turn','deferred_message')), owner_id TEXT NOT NULL, sha256 TEXT NOT NULL,
14
+ PRIMARY KEY(resource_id, owner, owner_id)) WITHOUT ROWID, STRICT;
15
+ CREATE INDEX resource_use_owner ON resource_use(owner, owner_id);
16
+ CREATE INDEX resource_use_sha ON resource_use(sha256);
17
+ ALTER TABLE deferred_message ADD COLUMN held_revision INTEGER;
18
+ ALTER TABLE deferred_message ADD COLUMN resumed BLOB;
19
+ ALTER TABLE turn ADD COLUMN dispatched_at TEXT;
20
+ `;
7
21
  /** Version 4: one reserved editable next message; accepted params stay immutable. */
8
22
  const DEFERRED_MESSAGE_SQL = `
9
23
  CREATE TABLE deferred_message(id TEXT PRIMARY KEY, pid INTEGER NOT NULL, predecessor_job_id TEXT NOT NULL,
@@ -159,7 +173,7 @@ CREATE TABLE import_partition(name TEXT PRIMARY KEY, status TEXT NOT NULL, pid I
159
173
  previous_frame_hash TEXT, source_size INTEGER, source_mtime TEXT, fingerprint TEXT, records INTEGER, digest TEXT, problem TEXT) STRICT;
160
174
  CREATE TABLE unclassified(pid INTEGER NOT NULL, seq INTEGER NOT NULL, type TEXT NOT NULL, reason TEXT NOT NULL, payload BLOB NOT NULL,
161
175
  PRIMARY KEY(pid, seq)) WITHOUT ROWID, STRICT;
162
- ${ACCOUNT_LAST_SERVICE_SQL}${DEFERRED_MESSAGE_SQL}${PLAN_ANSWER_INDEX_SQL}${TASK_GROUP_COLUMN_INDEX_SQL}`;
176
+ ${ACCOUNT_LAST_SERVICE_SQL}${DEFERRED_MESSAGE_SQL}${PLAN_ANSWER_INDEX_SQL}${TASK_GROUP_COLUMN_INDEX_SQL}${SCHEMA_V7_SQL}`;
163
177
  /** Every table the DDL creates, in creation order (for tests and the importer seam). */
164
178
  export const ENGINE_TABLES = Object.freeze([...ENGINE_SCHEMA_SQL.matchAll(/CREATE TABLE (\w+)\(/g)].map((match) => match[1]));
165
179
  /**
@@ -174,6 +188,7 @@ const SCHEMA_MIGRATIONS = new Map([
174
188
  [3, (db) => db.exec(DEFERRED_MESSAGE_SQL)],
175
189
  [4, (db) => db.exec(PLAN_ANSWER_INDEX_SQL)],
176
190
  [5, (db) => db.exec(TASK_GROUP_COLUMN_SQL)],
191
+ [6, (db) => db.exec(SCHEMA_V7_SQL)],
177
192
  ]);
178
193
  export function readSchemaIdentity(db) {
179
194
  const scalar = (sql) => {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/store/schema.ts"],"names":[],"mappings":"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"}
@@ -8,22 +8,31 @@ import { SqlCommandStore } from "./commands.js";
8
8
  import { SqlDeferredMessages } from "./deferred-messages.js";
9
9
  import { SqlEventLedger } from "./event-store.js";
10
10
  import { SqlInteractionStore } from "./interactions.js";
11
+ import type { MaintenanceController } from "./maintenance.js";
11
12
  import type { Obligations } from "./obligations.js";
12
13
  import { type PartitionGeneration } from "./partitions.js";
13
14
  import { SqlProjectRouter } from "./project-router.js";
14
15
  import type { SqlProjectStore } from "./projects.js";
15
16
  import type { SqlTerminalFiles } from "./terminal-files.js";
17
+ import type { ThreadClosure } from "./thread-closure.js";
16
18
  /** One addressed router over current generations. These lightweight writers
17
19
  * carry no restored history or separate partition cache. */
18
20
  export declare class SqlCommandRouter extends SqlProjectRouter implements CommandBackend, ProjectThreadPort {
19
21
  private readonly persistence;
22
+ /** The store's maintenance worker: its read-only snapshot answers closure observations. */
23
+ private readonly snapshots;
20
24
  readonly queries: SqlCommandQueries;
21
25
  constructor(projects: SqlProjectStore, persistence: {
22
26
  obligations: Obligations;
23
27
  terminalFiles: SqlTerminalFiles;
24
28
  pruner: SqlCommandPruner;
25
29
  validateRefs?: ConstructorParameters<typeof SqlDeferredMessages>[4];
26
- });
30
+ },
31
+ /** The store's maintenance worker: its read-only snapshot answers closure observations. */
32
+ snapshots: Pick<MaintenanceController, "threadClosure">);
33
+ /** An observation, read in that snapshot off the writer's thread. Retirement never
34
+ * trusts it: it reads the closure again inside its deciding transaction. */
35
+ threadClosure(id: string, signal?: AbortSignal): Promise<ThreadClosure | null>;
27
36
  commandStore(generation: PartitionGeneration): SqlCommandStore;
28
37
  current(): SqlCommandStore;
29
38
  forRequest(params: unknown): SqlCommandStore;
@@ -1 +1 @@
1
- {"version":3,"file":"sql-command-router.d.ts","sourceRoot":"","sources":["../../src/store/sql-command-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-command-router.d.ts","sourceRoot":"","sources":["../../src/store/sql-command-router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;4DAC4D;AAC5D,qBAAa,gBACX,SAAQ,gBACR,YAAW,cAAc,EAAE,iBAAiB;IAK1C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAM5B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,SAAS;IAV5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,YACE,QAAQ,EAAE,eAAe,EACR,WAAW,EAAE;QAC5B,WAAW,EAAE,WAAW,CAAC;QACzB,aAAa,EAAE,gBAAgB,CAAC;QAChC,MAAM,EAAE,gBAAgB,CAAC;QACzB,YAAY,CAAC,EAAE,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;KACrE;IACD,2FAA2F;IAC1E,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,EAIzE;IAED;gFAC4E;IAC5E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE7E;IAED,YAAY,CAAC,UAAU,EAAE,mBAAmB,GAAG,eAAe,CAK7D;IACD,OAAO,IAAI,eAAe,CAEzB;IACD,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAE3C;IACD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAGhD;IACD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAUvD;IACD,aAAa,CAAC,UAAU,EAAE,mBAAmB,GAAG,mBAAmB,CAoBlE;IACD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpE;IACD,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,cAAc,CAEtF;IACD,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAE3D;IACD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CASjE;IACD,OAAO,CAAC,SAAS;IAGjB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAE9C;IACD,iCAAiC,CAC/B,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,iCAGzD;IACD,sBAAsB,CACpB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,sBAAsB,EAChC,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,+DAG1D;IACD,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAMzD;IACD,6EAA6E;IACvE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,iBAMjF;IACD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;;;;;MAI7E;IACD,aAAa,CACX,MAAM,EAAE,OAAO,EACf,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;;;;;;;;;;;;;;;;;;MAO5E;IACD,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAElD;IACD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAE7C;CACF"}
@@ -15,12 +15,21 @@ import { SqlRunEventStore } from "./run-events.js";
15
15
  * carry no restored history or separate partition cache. */
16
16
  export class SqlCommandRouter extends SqlProjectRouter {
17
17
  persistence;
18
+ snapshots;
18
19
  queries;
19
- constructor(projects, persistence) {
20
+ constructor(projects, persistence,
21
+ /** The store's maintenance worker: its read-only snapshot answers closure observations. */
22
+ snapshots) {
20
23
  super(projects);
21
24
  this.persistence = persistence;
25
+ this.snapshots = snapshots;
22
26
  this.queries = new SqlCommandQueries(this.store, projects.blobs);
23
27
  }
28
+ /** An observation, read in that snapshot off the writer's thread. Retirement never
29
+ * trusts it: it reads the closure again inside its deciding transaction. */
30
+ threadClosure(id, signal) {
31
+ return this.snapshots.threadClosure(id, signal);
32
+ }
24
33
  commandStore(generation) {
25
34
  return new SqlCommandStore(this.store, this.projects.blobs, generation, {
26
35
  ...this.persistence,
@@ -1 +1 @@
1
- {"version":3,"file":"sql-command-router.js","sourceRoot":"","sources":["../../src/store/sql-command-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-command-router.js","sourceRoot":"","sources":["../../src/store/sql-command-router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql-daemon-services.d.ts","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGlF,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAyB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAChE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;CAC3D;AAED;;gFAEgF;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;IAwEzF;;iEAE6D;;+BAElC,MAAM,YAAY,uBAAuB;;IA+BpE,+EAA+E;;EAelF"}
1
+ {"version":3,"file":"sql-daemon-services.d.ts","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGlF,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAyB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAChE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,WAAW,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;CAC3D;AAED;;gFAEgF;AAChF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;IA6EzF;;iEAE6D;;+BAElC,MAAM,YAAY,uBAAuB;;IA+BpE,+EAA+E;;EAelF"}
@@ -28,25 +28,26 @@ export function createSqlDaemonServices(store, options) {
28
28
  const terminalFiles = new SqlTerminalFiles(store, obligations);
29
29
  const pruner = new SqlCommandPruner(store, blobs, { log: options.log });
30
30
  const projects = new SqlProjectStore(store, blobs, obligations);
31
+ // One maintenance worker per store; its read-only snapshot also answers closure observations.
32
+ const maintenance = new MaintenanceController(store, {
33
+ ...options.maintenance,
34
+ log: options.log,
35
+ blobs,
36
+ });
31
37
  const threads = new SqlCommandRouter(projects, {
32
38
  obligations,
33
39
  terminalFiles,
34
40
  pruner,
35
- validateRefs: (refs) => {
36
- resources.resolve(refs);
41
+ validateRefs: (refs, heldBy) => {
42
+ resources.resolve(refs, heldBy);
37
43
  },
38
- });
44
+ }, maintenance);
39
45
  let globalEvents = null;
40
46
  resources = new SqlResourceStore(store, blobs, obligations, options.log);
41
47
  const purgeFiles = new SqlPurgeFiles(store, obligations);
42
48
  obligations.registerHandler("purge_fs", purgeFiles.handler(options.purgeFiles));
43
49
  obligations.registerHandler("archive_fs", partitionFilesHandler(store));
44
50
  obligations.registerHandler("quarantine_fs", partitionFilesHandler(store));
45
- const maintenance = new MaintenanceController(store, {
46
- ...options.maintenance,
47
- log: options.log,
48
- blobs,
49
- });
50
51
  const quotaFor = (events) => new QuotaRegistry(events, options.refreshers, store.now, options.subjects, options.pacerStore);
51
52
  let quota = null;
52
53
  const rebindGlobal = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"sql-daemon-services.js","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-daemon-services.js","sourceRoot":"","sources":["../../src/store/sql-daemon-services.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql-validation.d.ts","sourceRoot":"","sources":["../../src/store/sql-validation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;yDAEyD;AACzD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,mBAAmB,EAC/B,aAAa,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,GACvD,qBAAqB,EAAE,CAsGzB"}
1
+ {"version":3,"file":"sql-validation.d.ts","sourceRoot":"","sources":["../../src/store/sql-validation.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;yDAEyD;AACzD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,mBAAmB,EAC/B,aAAa,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,GACvD,qBAAqB,EAAE,CAuGzB"}
@@ -58,6 +58,7 @@ export function sqlRecoveryProjections(store, blobs, generation, validateSetup)
58
58
  prompt: blobs.read(row.prompt_sha).toString("utf8"),
59
59
  });
60
60
  bindings("thread", "thread");
61
+ bindings("thread_retire", "thread");
61
62
  bindings("turn", "turn");
62
63
  },
63
64
  },
@@ -1 +1 @@
1
- {"version":3,"file":"sql-validation.js","sourceRoot":"","sources":["../../src/store/sql-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-validation.js","sourceRoot":"","sources":["../../src/store/sql-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,EACN,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAmB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;yDAEyD;AACzD,MAAM,UAAU,sBAAsB,CACpC,KAAkB,EAClB,KAAgB,EAChB,UAA+B,EAC/B,aAAwD;IAExD,MAAM,IAAI,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAC;IAC/F,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,MAA0C,EAAE,EAAE;QAC9E,MAAM,IAAI,GAAG,KAAK;aACf,OAAO,CAAC,oBAAoB,KAAK,cAAc,CAAC;aAChD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAgC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE;QAC/D,MAAM,GAAG,GAAG,KAAK;aACd,OAAO,CACN,mDAAmD,KAAK;aACnD,MAAM,kEAAkE,MAAM,kBAAkB,CACtG;aACA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IACrE,CAAC,CAAC;IACF,MAAM,WAAW,GAA4B;QAC3C;YACE,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,GAAG,EAAE;gBACb,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YACnD,CAAC;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,MAAM,GAAG,IAAI,KAAK;qBACpB,OAAO,CAAC,mCAAmC,CAAC;qBAC5C,GAAG,CAAC,UAAU,CAAC,GAAG,CAA4B;oBAC/C,qBAAqB,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjC,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,GAAG,EAAE;gBACb,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5B,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,SAAS,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;gBAC7C,KAAK,MAAM,GAAG,IAAI,KAAK;qBACpB,OAAO,CAAC,8CAA8C,CAAC;qBACvD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAoD;oBACvE,UAAU,CAAC,KAAK,CAAC;wBACf,GAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY;wBAC7B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;qBACpD,CAAC,CAAC;gBACL,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC7B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,MAAM,GAAG,IAAI,KAAK;qBACpB,OAAO,CAAC,wDAAwD,CAAC;qBACjE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAkE,EAAE,CAAC;oBACxF,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACnD,IAAI,GAAG,CAAC,UAAU;wBAAE,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,MAAM,GAAG,IAAI,KAAK;qBACpB,OAAO,CAAC,gDAAgD,CAAC;qBACzD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAgC;oBACnD,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;SACF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,GAAG,EAAE;gBACb,KAAK,MAAM,GAAG,IAAI,KAAK;qBACpB,OAAO,CAAC,4CAA4C,CAAC;qBACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAiC;oBACpD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;oBACxF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;SACF;KACF,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ;QAC9B,WAAW,CAAC,IAAI,CACd;YACE,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,GAAG,EAAE;gBACb,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjC,CAAC;SACF,EACD;YACE,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,GAAG,EAAE,CACb,IAAI,aAAa,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,EAAE;SACvF,EACD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAC7D,CAAC;IACJ,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { RunTelemetry, type RunEvent, type RunFacts } from "@claudexor/schema";
1
+ import { RunTelemetry, type RunEvent } from "@claudexor/schema";
2
2
  import { appendLine } from "@claudexor/util";
3
3
  import type { JobRecord } from "../job-record.js";
4
4
  import { writeExternalFile } from "./external-files.js";
@@ -19,7 +19,6 @@ export declare class SqlTerminalFiles {
19
19
  });
20
20
  pending(runIdOrCommandId: string): boolean;
21
21
  materialize(runId: string): void;
22
- prepareRecoveryTelemetry(runDir: string, facts: RunFacts): RunTelemetry | null;
23
22
  /**
24
23
  * Off the request thread, before the synchronous terminal hook: write the
25
24
  * receipts (and a needed per-run log rewrite) its file step will publish, as
@@ -28,8 +27,12 @@ export declare class SqlTerminalFiles {
28
27
  * first. The hook renames a temp
29
28
  * into place, after its SQL commit and in the same synchronous section, only
30
29
  * when its bytes equal what it would write; anything else it writes itself.
30
+ *
31
+ * `final/telemetry.yaml` is never rewritten here: its `run_facts` mirror is
32
+ * retired (final/run_facts.yaml + SQL/event are the authority), and a legacy
33
+ * obligation payload's telemetry is ignored rather than compared or written.
31
34
  */
32
- stage(record: JobRecord, event: RunEvent, telemetry: RunTelemetry | null): Promise<void>;
35
+ stage(record: JobRecord, event: RunEvent, _telemetry: RunTelemetry | null): Promise<void>;
33
36
  private write;
34
37
  private writeFiles;
35
38
  /** A staged temp with exactly these bytes is renamed into place; else they are written. */
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-files.d.ts","sourceRoot":"","sources":["../../src/store/terminal-files.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAEZ,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAY,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,OAAO,EAEL,iBAAiB,EAGlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,kBAAkB,CAAC;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA6D9C;4DAC4D;AAC5D,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAPrB;iFAC6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiE;IAExF,YACmB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,WAAW,EACxB,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;KAAO,EAG3F;IAED,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAMzC;IAED,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAO/B;IAED,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI,CAS7E;IAED;;;;;;;;OAQG;IACG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD7F;IAED,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,UAAU;IAwElB,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAiBf,oFAAoF;IACpF,OAAO,CAAC,OAAO;CAWhB"}
1
+ {"version":3,"file":"terminal-files.d.ts","sourceRoot":"","sources":["../../src/store/terminal-files.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAA8B,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAY,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,OAAO,EAEL,iBAAiB,EAGlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,kBAAkB,CAAC;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoD9C;4DAC4D;AAC5D,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAPrB;iFAC6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiE;IAExF,YACmB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,WAAW,EACxB,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,iBAAiB,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;KAAO,EAG3F;IAED,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAMzC;IAED,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAO/B;IAED;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C9F;IAED,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,UAAU;IA2DlB,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAiBf,oFAAoF;IACpF,OAAO,CAAC,OAAO;CAWhB"}
@@ -1,7 +1,7 @@
1
1
  import { readFileSync, unlinkSync } from "node:fs";
2
2
  import { open, readFile } from "node:fs/promises";
3
3
  import { join } from "node:path";
4
- import { RunTelemetry, validateRunFactsInvariants, } from "@claudexor/schema";
4
+ import { validateRunFactsInvariants } from "@claudexor/schema";
5
5
  import { appendLine, hashJson } from "@claudexor/util";
6
6
  import { parse as parseYaml } from "yaml";
7
7
  import { lstatOrNull, normalizedTerminalEvents, recoveredTerminalFacts, tailExpectsAppend, } from "../terminal-authority.js";
@@ -40,15 +40,6 @@ async function readTail(path) {
40
40
  await handle.close();
41
41
  }
42
42
  }
43
- /** The telemetry receipt for a terminal's RunFacts; a mismatch is refused. */
44
- function telemetryReceipt(telemetry, facts) {
45
- if (telemetry === null || telemetry === undefined)
46
- return null;
47
- const prepared = RunTelemetry.parse(telemetry);
48
- if (hashJson(prepared.run_facts) !== hashJson(facts))
49
- throw new Error("durable terminal telemetry does not match SQL authority");
50
- return receipt(prepared);
51
- }
52
43
  /** What a terminal needs of its per-run log: nothing, its line appended, or a rewrite. */
53
44
  function eventsRepair(bytes, event, terminalSeq) {
54
45
  const normalized = Buffer.from(normalizedTerminalEvents(bytes, event, terminalSeq));
@@ -86,15 +77,6 @@ export class SqlTerminalFiles {
86
77
  });
87
78
  this.obligations.materialize("terminal_files", runId);
88
79
  }
89
- prepareRecoveryTelemetry(runDir, facts) {
90
- try {
91
- const telemetry = RunTelemetry.safeParse(parseYaml(readFileSync(join(runDir, "final", "telemetry.yaml"), "utf8")));
92
- return telemetry.success ? RunTelemetry.parse({ ...telemetry.data, run_facts: facts }) : null;
93
- }
94
- catch {
95
- return null;
96
- }
97
- }
98
80
  /**
99
81
  * Off the request thread, before the synchronous terminal hook: write the
100
82
  * receipts (and a needed per-run log rewrite) its file step will publish, as
@@ -103,8 +85,12 @@ export class SqlTerminalFiles {
103
85
  * first. The hook renames a temp
104
86
  * into place, after its SQL commit and in the same synchronous section, only
105
87
  * when its bytes equal what it would write; anything else it writes itself.
88
+ *
89
+ * `final/telemetry.yaml` is never rewritten here: its `run_facts` mirror is
90
+ * retired (final/run_facts.yaml + SQL/event are the authority), and a legacy
91
+ * obligation payload's telemetry is ignored rather than compared or written.
106
92
  */
107
- async stage(record, event, telemetry) {
93
+ async stage(record, event, _telemetry) {
108
94
  this.discard(event.run_id);
109
95
  const files = [];
110
96
  let staging;
@@ -118,14 +104,6 @@ export class SqlTerminalFiles {
118
104
  bytes: receipt(facts),
119
105
  purpose: "terminal_receipt",
120
106
  });
121
- const telemetryBytes = telemetryReceipt(telemetry, facts);
122
- if (telemetryBytes)
123
- files.push({
124
- dir: finalDir,
125
- name: "telemetry.yaml",
126
- bytes: telemetryBytes,
127
- purpose: "terminal_receipt",
128
- });
129
107
  // The usual log needs only the terminal appended, which the commit does;
130
108
  // only a log whose tail says otherwise is read whole and a rewrite staged.
131
109
  const eventsPath = join(record.runDir, "events.jsonl");
@@ -207,16 +185,6 @@ export class SqlTerminalFiles {
207
185
  purpose: "terminal_receipt",
208
186
  });
209
187
  effects.register(finalDir);
210
- const telemetry = telemetryReceipt(row.payload?.telemetry, facts);
211
- if (telemetry) {
212
- this.publish(row.key, {
213
- dir: finalDir,
214
- name: "telemetry.yaml",
215
- bytes: telemetry,
216
- purpose: "terminal_receipt",
217
- });
218
- effects.register(finalDir);
219
- }
220
188
  const eventsPath = join(root, "events.jsonl");
221
189
  const existing = lstatOrNull(eventsPath);
222
190
  if (existing && (!existing.isFile() || existing.isSymbolicLink()))
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-files.js","sourceRoot":"","sources":["../../src/store/terminal-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-files.js","sourceRoot":"","sources":["../../src/store/terminal-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { Thread } from "@claudexor/schema";
2
+ import type { BlobFiles } from "./blob-files.js";
3
+ import type { EngineStore } from "./store.js";
4
+ export interface ThreadClosureHold {
5
+ code: "closure_not_quiescent" | "closure_awaiting_decision" | "closure_partition_unavailable" | "command_record_not_retained";
6
+ subject: string;
7
+ message: string;
8
+ }
9
+ export interface ThreadClosureCommand {
10
+ jobId: string;
11
+ runId: string | null;
12
+ state: string;
13
+ kind: string;
14
+ threadId: string | null;
15
+ turnId: string | null;
16
+ continueFrom: string | null;
17
+ delegatedFrom: string | null;
18
+ runDir: string | null;
19
+ }
20
+ /** One exact engine record of the closure, addressed for an exported document. */
21
+ export interface ThreadClosureDocument {
22
+ key: string;
23
+ path: string;
24
+ }
25
+ /**
26
+ * Everything the engine store knows about one thread's work, read in one
27
+ * snapshot: the thread, its turns, sessions and checkpoints, and the
28
+ * typed command graph reached from them through `continue_from` and
29
+ * `delegated_from` in both directions, with those commands' interactions,
30
+ * decisions, deferred messages and terminal records. `digest` changes when any
31
+ * of those rows does; `holds` name what keeps the closure from being finished.
32
+ */
33
+ export interface ThreadClosure {
34
+ storeId: string;
35
+ thread: Thread;
36
+ headRevision: number;
37
+ digest: string;
38
+ turns: {
39
+ turnId: string;
40
+ ordinal: number;
41
+ runId: string | null;
42
+ promptSha256: string;
43
+ }[];
44
+ commands: ThreadClosureCommand[];
45
+ documents: ThreadClosureDocument[];
46
+ holds: ThreadClosureHold[];
47
+ }
48
+ /** The thread row alone and its store: one addressed read, for answers that
49
+ * need no closure. Like the closure, it answers for a purged thread too. */
50
+ export declare function readClosureThread(store: EngineStore, threadId: string): {
51
+ storeId: string;
52
+ thread: Thread;
53
+ } | null;
54
+ /** What the closure read uses: statements on one connection, in one snapshot, and the
55
+ * store's identity. Acceptance passes the writer inside its transaction; observation
56
+ * passes the maintenance worker's read-only snapshot (`maintenance-worker.ts`). */
57
+ export type ClosureReader = Pick<EngineStore, "prepare" | "storeId">;
58
+ /** Throws nothing for a retained thread; a missing thread returns null. */
59
+ export declare function readThreadClosure(store: ClosureReader, threadId: string): ThreadClosure | null;
60
+ /** The exact bytes of one closure document; a vanished row is null, never empty. */
61
+ export declare function readThreadClosureDocument(store: EngineStore, blobs: BlobFiles, threadId: string, key: string): Buffer | null;
62
+ //# sourceMappingURL=thread-closure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-closure.d.ts","sourceRoot":"","sources":["../../src/store/thread-closure.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EACA,uBAAuB,GACvB,2BAA2B,GAC3B,+BAA+B,GAC/B,6BAA6B,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzF,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AA4BD;4EAC4E;AAC5E,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,GACf;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI5C;AAED;;mFAEmF;AACnF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;AAErE,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAoQ9F;AAgED,oFAAoF;AACpF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAGf"}