@quantiya/codevibe-codex-plugin 2.0.6 → 2.0.8

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 (562) hide show
  1. package/README.md +20 -23
  2. package/dist/server.js +21 -21
  3. package/hooks/common.sh +506 -19
  4. package/{bin/codevibe-codex → libexec/companion-launcher} +37 -76
  5. package/node_modules/@quantiya/codevibe-core/README.md +7 -5
  6. package/node_modules/@quantiya/codevibe-core/dist/agy-cli-contract.d.ts +14 -0
  7. package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +229 -61
  8. package/node_modules/@quantiya/codevibe-core/dist/appsync/event-throttle.d.ts +33 -0
  9. package/node_modules/@quantiya/codevibe-core/dist/appsync/index.d.ts +3 -2
  10. package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +6 -2
  11. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-telemetry.d.ts +26 -0
  12. package/node_modules/@quantiya/codevibe-core/dist/auth/keychain-cli.d.ts +6 -0
  13. package/node_modules/@quantiya/codevibe-core/dist/auth/vendor-key-cli.d.ts +49 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/index.d.ts +50 -22
  15. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/persist-preference.d.ts +1 -5
  16. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/resolve-agent.d.ts +5 -4
  17. package/node_modules/@quantiya/codevibe-core/dist/config/config.d.ts +0 -5
  18. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/oauth-refresh.test.d.ts +1 -0
  19. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/__tests__/upstream-result-helpers.d.ts +21 -0
  20. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/broker.d.ts +196 -12
  21. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/chatgpt-config.d.ts +40 -0
  22. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/index.d.ts +4 -1
  23. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/oauth-account-lock.d.ts +150 -0
  24. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/oauth-refresh.d.ts +72 -0
  25. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/types.d.ts +165 -17
  26. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/upstream-client.d.ts +3 -2
  27. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/vendor-key-store.d.ts +32 -1
  28. package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/encrypt-for-emit.test.d.ts +1 -0
  29. package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/open-prompt-id.test.d.ts +1 -0
  30. package/node_modules/@quantiya/codevibe-core/dist/crypto/encrypt-for-emit.d.ts +39 -0
  31. package/node_modules/@quantiya/codevibe-core/dist/crypto/index.d.ts +3 -0
  32. package/node_modules/@quantiya/codevibe-core/dist/crypto/open-prompt-id.d.ts +36 -0
  33. package/node_modules/@quantiya/codevibe-core/dist/daemon/__tests__/process-guards.test.d.ts +1 -0
  34. package/node_modules/@quantiya/codevibe-core/dist/daemon/index.d.ts +2 -0
  35. package/node_modules/@quantiya/codevibe-core/dist/daemon/process-guards.d.ts +38 -0
  36. package/node_modules/@quantiya/codevibe-core/dist/e1/__tests__/prompt-raise.test.d.ts +1 -0
  37. package/node_modules/@quantiya/codevibe-core/dist/e1/index.d.ts +2 -0
  38. package/node_modules/@quantiya/codevibe-core/dist/e1/prompt-raise.d.ts +65 -0
  39. package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +20 -2
  40. package/node_modules/@quantiya/codevibe-core/dist/index.js +4543 -288
  41. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-manager.test.d.ts +1 -0
  42. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-migrate.test.d.ts +1 -0
  43. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-backend.d.ts +105 -0
  44. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.d.ts +40 -5
  45. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-migrate.d.ts +46 -0
  46. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/anchored-fs.test.d.ts +1 -0
  47. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-directory.test.d.ts +1 -0
  48. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-output.test.d.ts +1 -0
  49. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/durable-directory.test.d.ts +1 -0
  50. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/hosted-class-a-sink.test.d.ts +1 -0
  51. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-identity.test.d.ts +1 -0
  52. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-tree.test.d.ts +1 -0
  53. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/publication-authority-capability.test.d.ts +1 -0
  54. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/reviewer-rationale-flag.test.d.ts +1 -0
  55. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/snapshot-merge.test.d.ts +1 -0
  56. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority-fixture.d.ts +3 -0
  57. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority.test.d.ts +1 -0
  58. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-materializer.test.d.ts +1 -0
  59. package/node_modules/@quantiya/codevibe-core/dist/local-executor/agentic-disposable-repo.d.ts +23 -6
  60. package/node_modules/@quantiya/codevibe-core/dist/local-executor/agentic-resolve.d.ts +16 -0
  61. package/node_modules/@quantiya/codevibe-core/dist/local-executor/anchored-fs.d.ts +243 -0
  62. package/node_modules/@quantiya/codevibe-core/dist/local-executor/bounded-directory.d.ts +64 -0
  63. package/node_modules/@quantiya/codevibe-core/dist/local-executor/bounded-helper.d.ts +22 -0
  64. package/node_modules/@quantiya/codevibe-core/dist/local-executor/bounded-output.d.ts +11 -0
  65. package/node_modules/@quantiya/codevibe-core/dist/local-executor/class-a-emit.d.ts +13 -1
  66. package/node_modules/@quantiya/codevibe-core/dist/local-executor/class-a-sign.d.ts +15 -0
  67. package/node_modules/@quantiya/codevibe-core/dist/local-executor/durable-directory.d.ts +25 -0
  68. package/node_modules/@quantiya/codevibe-core/dist/local-executor/durable-store.d.ts +217 -25
  69. package/node_modules/@quantiya/codevibe-core/dist/local-executor/group-decision-outcome.d.ts +11 -0
  70. package/node_modules/@quantiya/codevibe-core/dist/local-executor/hosted-class-a-sink.d.ts +27 -0
  71. package/node_modules/@quantiya/codevibe-core/dist/local-executor/implementor-argv.d.ts +89 -7
  72. package/node_modules/@quantiya/codevibe-core/dist/local-executor/index.d.ts +3 -2
  73. package/node_modules/@quantiya/codevibe-core/dist/local-executor/local-executor-impl.d.ts +177 -76
  74. package/node_modules/@quantiya/codevibe-core/dist/local-executor/merge-conflict-resolve.d.ts +19 -0
  75. package/node_modules/@quantiya/codevibe-core/dist/local-executor/process-identity.d.ts +16 -0
  76. package/node_modules/@quantiya/codevibe-core/dist/local-executor/process-tree.d.ts +123 -0
  77. package/node_modules/@quantiya/codevibe-core/dist/local-executor/revert-reconcile.d.ts +16 -0
  78. package/node_modules/@quantiya/codevibe-core/dist/local-executor/revert-runner.d.ts +14 -1
  79. package/node_modules/@quantiya/codevibe-core/dist/local-executor/reviewer-rationale-flag.d.ts +10 -0
  80. package/node_modules/@quantiya/codevibe-core/dist/local-executor/snapshot-merge.d.ts +124 -0
  81. package/node_modules/@quantiya/codevibe-core/dist/local-executor/task-group-types.d.ts +7 -6
  82. package/node_modules/@quantiya/codevibe-core/dist/local-executor/team-execution-flag.d.ts +2 -2
  83. package/node_modules/@quantiya/codevibe-core/dist/local-executor/track-registry.d.ts +2 -0
  84. package/node_modules/@quantiya/codevibe-core/dist/local-executor/types.d.ts +34 -2
  85. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/build.d.ts +5 -0
  86. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/deploy-preflight.d.ts +2 -0
  87. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/diff-sanity.d.ts +12 -0
  88. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/hostile-grep.d.ts +2 -0
  89. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/lint.d.ts +2 -0
  90. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/shell-runner.d.ts +5 -0
  91. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/source-traceability.d.ts +2 -0
  92. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/tests.d.ts +3 -0
  93. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/typecheck.d.ts +3 -0
  94. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-runner.d.ts +6 -0
  95. package/node_modules/@quantiya/codevibe-core/dist/local-executor/workspace-authority.d.ts +45 -0
  96. package/node_modules/@quantiya/codevibe-core/dist/local-executor/workspace-materializer.d.ts +27 -0
  97. package/node_modules/@quantiya/codevibe-core/dist/local-executor/workspace-shadow.d.ts +378 -85
  98. package/node_modules/@quantiya/codevibe-core/dist/local-model/manager.d.ts +1 -1
  99. package/node_modules/@quantiya/codevibe-core/dist/local-model/ollama.d.ts +40 -0
  100. package/node_modules/@quantiya/codevibe-core/dist/orchestration/__tests__/detect-agents.test.d.ts +1 -0
  101. package/node_modules/@quantiya/codevibe-core/dist/orchestration/detect-agents.d.ts +10 -30
  102. package/node_modules/@quantiya/codevibe-core/dist/orchestration/index.d.ts +1 -2
  103. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/a1a-planner-offers.test.d.ts +1 -0
  104. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/a6-cli-surface.test.d.ts +1 -0
  105. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachment-journal.test.d.ts +1 -0
  106. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachments-dir-race.test.d.ts +1 -0
  107. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-multi-mention-panel.test.d.ts +1 -0
  108. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-panel-attachments.test.d.ts +1 -0
  109. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-quota-stdout-result.test.d.ts +1 -0
  110. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/agent-turn-context-batch.test.d.ts +1 -0
  111. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/bounded-shutdown.test.d.ts +1 -0
  112. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/brainstorm-quorum-wiring.test.d.ts +1 -0
  113. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/brainstorm-quorum.test.d.ts +1 -0
  114. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cli-team-session-key.test.d.ts +1 -0
  115. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/command-intent.test.d.ts +1 -0
  116. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-compaction.test.d.ts +1 -0
  117. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items-hosted-sync.test.d.ts +1 -0
  118. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items-wiring.test.d.ts +1 -0
  119. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/context-items.test.d.ts +1 -0
  120. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp8-full-team-events.test.d.ts +1 -0
  121. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/cp8-team-decomposed-zk.test.d.ts +1 -0
  122. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/explicit-tty-exit.test.d.ts +1 -0
  123. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/mention-suggest.test.d.ts +1 -0
  124. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-offer-e1.test.d.ts +1 -0
  125. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/route-browse-summarize-recovery.test.d.ts +1 -0
  126. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-shutdown.test.d.ts +1 -0
  127. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/advisory-attachment-journal.d.ts +165 -0
  128. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/attachments.d.ts +53 -8
  129. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/bounded-shutdown.d.ts +22 -0
  130. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/brainstorm-quorum.d.ts +118 -0
  131. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +97 -70
  132. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +51847 -33465
  133. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/command-intent.d.ts +56 -0
  134. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/components/InputBar.d.ts +6 -0
  135. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/components/OrchestrationApp.d.ts +2 -0
  136. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts +264 -0
  137. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-items-hosted-sync.d.ts +19 -0
  138. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-items.d.ts +408 -0
  139. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-store.d.ts +162 -0
  140. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/declared-test-runner.d.ts +21 -2
  141. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/emit-shell-event.d.ts +41 -13
  142. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/explicit-tty-exit.d.ts +17 -0
  143. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/gate-decision-submit.d.ts +11 -0
  144. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/gate-prompts.d.ts +78 -3
  145. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +309 -37
  146. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/mention-suggest.d.ts +11 -0
  147. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/mode-selection.d.ts +4 -22
  148. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/planner-offer-e1.d.ts +97 -0
  149. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/quorum-loop.d.ts +603 -77
  150. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/reducer.d.ts +9 -0
  151. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/task-progress.d.ts +17 -4
  152. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/team-decompose.d.ts +47 -29
  153. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/types.d.ts +103 -6
  154. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/workspace-shutdown.d.ts +27 -0
  155. package/node_modules/@quantiya/codevibe-core/dist/planner/index.d.ts +1 -1
  156. package/node_modules/@quantiya/codevibe-core/dist/planner/local-advisory.d.ts +12 -0
  157. package/node_modules/@quantiya/codevibe-core/dist/planner/local-gemma.d.ts +27 -0
  158. package/node_modules/@quantiya/codevibe-core/dist/planner/types.d.ts +7 -0
  159. package/node_modules/@quantiya/codevibe-core/dist/reviewer/index.d.ts +0 -2
  160. package/node_modules/@quantiya/codevibe-core/dist/reviewer/output-parser.d.ts +19 -0
  161. package/node_modules/@quantiya/codevibe-core/dist/reviewer/provider.d.ts +9 -6
  162. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/antigravity.d.ts +2 -3
  163. package/node_modules/@quantiya/codevibe-core/dist/reviewer/registry.d.ts +9 -4
  164. package/node_modules/@quantiya/codevibe-core/dist/reviewer/token-usage.d.ts +10 -0
  165. package/node_modules/@quantiya/codevibe-core/dist/reviewer/types.d.ts +3 -0
  166. package/node_modules/@quantiya/codevibe-core/dist/reviewer/verdict-classifier.d.ts +1 -0
  167. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/device-registration-lease.test.d.ts +1 -0
  168. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/pending-session-create.test.d.ts +1 -0
  169. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-rekey-fingerprint.test.d.ts +1 -0
  170. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-key-reconciliation.test.d.ts +1 -0
  171. package/node_modules/@quantiya/codevibe-core/dist/session/__tests__/session-resume-pending-first.test.d.ts +1 -0
  172. package/node_modules/@quantiya/codevibe-core/dist/session/device-key-watcher.d.ts +1 -0
  173. package/node_modules/@quantiya/codevibe-core/dist/session/index.d.ts +4 -2
  174. package/node_modules/@quantiya/codevibe-core/dist/session/pending-session-create.d.ts +61 -0
  175. package/node_modules/@quantiya/codevibe-core/dist/session/register-device-key.d.ts +11 -1
  176. package/node_modules/@quantiya/codevibe-core/dist/session/session-rekey.d.ts +8 -8
  177. package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.d.ts +21 -1
  178. package/node_modules/@quantiya/codevibe-core/dist/substrate/command-runner.d.ts +2 -0
  179. package/node_modules/@quantiya/codevibe-core/dist/substrate/docker.d.ts +14 -32
  180. package/node_modules/@quantiya/codevibe-core/dist/substrate/index.d.ts +0 -1
  181. package/node_modules/@quantiya/codevibe-core/dist/substrate/sandbox-exec.d.ts +17 -16
  182. package/node_modules/@quantiya/codevibe-core/dist/substrate/types.d.ts +39 -5
  183. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/reviewer-credential-preflight.test.d.ts +1 -0
  184. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/apikey-bootstrap.d.ts +24 -1
  185. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/engage-substrate.d.ts +20 -0
  186. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/index.d.ts +2 -0
  187. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/reviewer-credential-preflight.d.ts +50 -0
  188. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/sanitized-env.d.ts +5 -5
  189. package/node_modules/@quantiya/codevibe-core/dist/test-publication-authority-setup.d.ts +1 -0
  190. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/consolidator.test.d.ts +1 -0
  191. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/digest.test.d.ts +1 -0
  192. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/flock-rollout-lock.test.d.ts +1 -0
  193. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/ledger.test.d.ts +1 -0
  194. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/outbox.test.d.ts +1 -0
  195. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/replay-cursor.test.d.ts +1 -0
  196. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/session-map.test.d.ts +1 -0
  197. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/__tests__/socket-rollout-lock.test.d.ts +1 -0
  198. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/atomic-file.d.ts +27 -0
  199. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/consolidator.d.ts +253 -0
  200. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/digest.d.ts +4 -0
  201. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/flock-rollout-lock.d.ts +68 -0
  202. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/index.d.ts +9 -0
  203. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/ledger.d.ts +274 -0
  204. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/outbox.d.ts +60 -0
  205. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/replay-cursor.d.ts +190 -0
  206. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/session-map.d.ts +133 -0
  207. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/socket-rollout-lock.d.ts +57 -0
  208. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/types.d.ts +368 -0
  209. package/node_modules/@quantiya/codevibe-core/dist/types/encryption.d.ts +9 -0
  210. package/node_modules/@quantiya/codevibe-core/dist/types/events.d.ts +29 -4
  211. package/node_modules/@quantiya/codevibe-core/dist/types/session.d.ts +32 -2
  212. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/README.md +207 -163
  213. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/index.d.ts +15 -0
  214. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/index.js +31 -0
  215. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/max.d.ts +2 -0
  216. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/max.js +3 -0
  217. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/md5.d.ts +4 -0
  218. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/md5.js +13 -0
  219. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/native.d.ts +6 -0
  220. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/native.js +4 -0
  221. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/nil.d.ts +2 -0
  222. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/nil.js +3 -0
  223. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/package.json +1 -0
  224. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/parse.d.ts +2 -0
  225. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/parse.js +11 -0
  226. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/regex.d.ts +2 -0
  227. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/regex.js +3 -0
  228. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/rng.d.ts +1 -0
  229. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/rng.js +13 -0
  230. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/sha1.d.ts +4 -0
  231. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/sha1.js +13 -0
  232. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/stringify.d.ts +3 -0
  233. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/stringify.js +39 -0
  234. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/types.d.ts +21 -0
  235. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/types.js +2 -0
  236. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/uuid-bin.d.ts +1 -0
  237. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/uuid-bin.js +72 -0
  238. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v1.d.ts +11 -0
  239. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v1.js +87 -0
  240. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v1ToV6.d.ts +2 -0
  241. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v1ToV6.js +13 -0
  242. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v3.d.ts +9 -0
  243. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v3.js +14 -0
  244. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v35.d.ts +7 -0
  245. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v35.js +44 -0
  246. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v4.d.ts +4 -0
  247. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v4.js +29 -0
  248. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v5.d.ts +9 -0
  249. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v5.js +14 -0
  250. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v6.d.ts +4 -0
  251. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v6.js +22 -0
  252. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v6ToV1.d.ts +2 -0
  253. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v6ToV1.js +13 -0
  254. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v7.d.ts +9 -0
  255. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/v7.js +69 -0
  256. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/validate.d.ts +2 -0
  257. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/validate.js +7 -0
  258. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/version.d.ts +2 -0
  259. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs/version.js +10 -0
  260. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/index.d.ts +15 -0
  261. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/index.js +31 -0
  262. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/max.d.ts +2 -0
  263. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/max.js +3 -0
  264. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/md5.d.ts +2 -0
  265. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/md5.js +137 -0
  266. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/native.d.ts +4 -0
  267. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/native.js +4 -0
  268. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/nil.d.ts +2 -0
  269. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/nil.js +3 -0
  270. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/package.json +1 -0
  271. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/parse.d.ts +2 -0
  272. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/parse.js +11 -0
  273. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/regex.d.ts +2 -0
  274. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/regex.js +3 -0
  275. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/rng.d.ts +1 -0
  276. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/rng.js +14 -0
  277. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/sha1.d.ts +2 -0
  278. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/sha1.js +72 -0
  279. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/stringify.d.ts +3 -0
  280. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/stringify.js +39 -0
  281. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/types.d.ts +21 -0
  282. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/types.js +2 -0
  283. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +1 -0
  284. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/uuid-bin.js +72 -0
  285. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v1.d.ts +11 -0
  286. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v1.js +87 -0
  287. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +2 -0
  288. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v1ToV6.js +13 -0
  289. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v3.d.ts +9 -0
  290. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v3.js +14 -0
  291. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v35.d.ts +7 -0
  292. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v35.js +44 -0
  293. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v4.d.ts +4 -0
  294. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v4.js +29 -0
  295. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v5.d.ts +9 -0
  296. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v5.js +14 -0
  297. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v6.d.ts +4 -0
  298. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v6.js +22 -0
  299. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +2 -0
  300. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v6ToV1.js +13 -0
  301. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v7.d.ts +9 -0
  302. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/v7.js +69 -0
  303. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/validate.d.ts +2 -0
  304. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/validate.js +7 -0
  305. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/version.d.ts +2 -0
  306. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/cjs-browser/version.js +10 -0
  307. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/bin/uuid +2 -0
  308. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/index.d.ts +15 -0
  309. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/{esm-node → esm}/index.js +9 -4
  310. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/max.d.ts +2 -0
  311. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/max.js +1 -0
  312. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/md5.d.ts +4 -0
  313. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/md5.js +11 -0
  314. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/native.d.ts +6 -0
  315. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/native.js +2 -0
  316. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/nil.d.ts +2 -0
  317. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/nil.js +1 -0
  318. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/parse.d.ts +2 -0
  319. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/parse.js +9 -0
  320. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/regex.d.ts +2 -0
  321. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/regex.js +1 -0
  322. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/rng.d.ts +1 -0
  323. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/rng.js +10 -0
  324. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/sha1.d.ts +4 -0
  325. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/sha1.js +11 -0
  326. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/stringify.d.ts +3 -0
  327. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/stringify.js +35 -0
  328. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/types.d.ts +21 -0
  329. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/types.js +1 -0
  330. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/uuid-bin.d.ts +1 -0
  331. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/uuid-bin.js +70 -0
  332. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v1.d.ts +11 -0
  333. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v1.js +83 -0
  334. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v1ToV6.d.ts +2 -0
  335. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v1ToV6.js +10 -0
  336. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v3.d.ts +9 -0
  337. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v3.js +9 -0
  338. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v35.d.ts +7 -0
  339. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v35.js +39 -0
  340. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v4.d.ts +4 -0
  341. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v4.js +27 -0
  342. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v5.d.ts +9 -0
  343. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v5.js +9 -0
  344. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v6.d.ts +4 -0
  345. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v6.js +20 -0
  346. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v6ToV1.d.ts +2 -0
  347. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v6ToV1.js +10 -0
  348. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v7.d.ts +9 -0
  349. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/v7.js +65 -0
  350. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/validate.d.ts +2 -0
  351. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/validate.js +5 -0
  352. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/version.d.ts +2 -0
  353. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm/version.js +8 -0
  354. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/index.d.ts +15 -0
  355. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/index.js +9 -4
  356. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/max.d.ts +2 -0
  357. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/max.js +1 -0
  358. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/md5.d.ts +2 -0
  359. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/md5.js +113 -193
  360. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/native.d.ts +4 -0
  361. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/native.js +1 -3
  362. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/nil.d.ts +2 -0
  363. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/nil.js +1 -1
  364. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/parse.d.ts +2 -0
  365. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/parse.js +6 -32
  366. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/regex.d.ts +2 -0
  367. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/regex.js +1 -1
  368. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/rng.d.ts +1 -0
  369. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/rng.js +6 -13
  370. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/sha1.d.ts +2 -0
  371. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/sha1.js +62 -88
  372. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/stringify.d.ts +3 -0
  373. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/stringify.js +27 -25
  374. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/types.d.ts +21 -0
  375. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/types.js +1 -0
  376. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +1 -0
  377. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/uuid-bin.js +70 -0
  378. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1.d.ts +11 -0
  379. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1.js +78 -90
  380. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +2 -0
  381. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1ToV6.js +10 -0
  382. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v3.d.ts +9 -0
  383. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v3.js +8 -3
  384. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v35.d.ts +7 -0
  385. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v35.js +30 -57
  386. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v4.d.ts +4 -0
  387. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v4.js +21 -23
  388. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v5.d.ts +9 -0
  389. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v5.js +8 -3
  390. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v6.d.ts +4 -0
  391. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v6.js +20 -0
  392. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +2 -0
  393. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v6ToV1.js +10 -0
  394. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v7.d.ts +9 -0
  395. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v7.js +65 -0
  396. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/validate.d.ts +2 -0
  397. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/validate.js +2 -4
  398. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/version.d.ts +2 -0
  399. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/version.js +5 -8
  400. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/package.json +73 -76
  401. package/node_modules/@quantiya/codevibe-core/package.json +7 -6
  402. package/node_modules/fs-ext/.eslintrc +53 -0
  403. package/node_modules/fs-ext/.github/workflows/node.js.yml +31 -0
  404. package/node_modules/fs-ext/.travis.yml +25 -0
  405. package/node_modules/fs-ext/LICENSE.txt +18 -0
  406. package/node_modules/fs-ext/README.md +130 -0
  407. package/node_modules/fs-ext/appveyor.yml +20 -0
  408. package/node_modules/fs-ext/binding.gyp +11 -0
  409. package/node_modules/fs-ext/build/Makefile +347 -0
  410. package/node_modules/fs-ext/build/Release/.deps/Release/fs_ext.node.d +1 -0
  411. package/node_modules/fs-ext/build/Release/.deps/Release/obj.target/fs_ext/fs-ext.o.d +165 -0
  412. package/node_modules/fs-ext/build/Release/fs_ext.node +0 -0
  413. package/node_modules/fs-ext/build/Release/obj.target/fs_ext/fs-ext.o +0 -0
  414. package/node_modules/fs-ext/build/binding.Makefile +6 -0
  415. package/node_modules/fs-ext/build/config.gypi +504 -0
  416. package/node_modules/fs-ext/build/fs_ext.target.mk +183 -0
  417. package/node_modules/fs-ext/build/gyp-mac-tool +768 -0
  418. package/node_modules/fs-ext/example.js +57 -0
  419. package/node_modules/fs-ext/fs-ext.cc +622 -0
  420. package/node_modules/fs-ext/fs-ext.js +131 -0
  421. package/node_modules/fs-ext/package.json +42 -0
  422. package/node_modules/fs-ext/run_tests.js +17 -0
  423. package/node_modules/fs-ext/tests/test-fs-fcntl.js +350 -0
  424. package/node_modules/fs-ext/tests/test-fs-flock.js +452 -0
  425. package/node_modules/fs-ext/tests/test-fs-flock_stress.js +239 -0
  426. package/node_modules/fs-ext/tests/test-fs-seek.js +607 -0
  427. package/node_modules/fs-ext/tests/test-fs-seek_stress.js +313 -0
  428. package/node_modules/fs-ext/tests/test-fs-statvfs.js +15 -0
  429. package/node_modules/fs-ext/tests/worker-test.js +56 -0
  430. package/node_modules/fs-ext/wscript +15 -0
  431. package/node_modules/nan/.github/workflows/ci.yml +46 -0
  432. package/node_modules/nan/.pre-commit-config.yaml +8 -0
  433. package/node_modules/nan/CHANGELOG.md +605 -0
  434. package/node_modules/nan/CMakeLists.txt +138 -0
  435. package/node_modules/nan/LICENSE.md +9 -0
  436. package/node_modules/nan/README.md +457 -0
  437. package/node_modules/nan/doc/asyncworker.md +146 -0
  438. package/node_modules/nan/doc/buffers.md +54 -0
  439. package/node_modules/nan/doc/callback.md +76 -0
  440. package/node_modules/nan/doc/converters.md +41 -0
  441. package/node_modules/nan/doc/errors.md +226 -0
  442. package/node_modules/nan/doc/json.md +62 -0
  443. package/node_modules/nan/doc/maybe_types.md +583 -0
  444. package/node_modules/nan/doc/methods.md +689 -0
  445. package/node_modules/nan/doc/new.md +147 -0
  446. package/node_modules/nan/doc/node_misc.md +123 -0
  447. package/node_modules/nan/doc/object_wrappers.md +263 -0
  448. package/node_modules/nan/doc/persistent.md +296 -0
  449. package/node_modules/nan/doc/scopes.md +73 -0
  450. package/node_modules/nan/doc/script.md +58 -0
  451. package/node_modules/nan/doc/string_bytes.md +81 -0
  452. package/node_modules/nan/doc/v8_internals.md +211 -0
  453. package/node_modules/nan/doc/v8_misc.md +85 -0
  454. package/node_modules/nan/include_dirs.js +1 -0
  455. package/node_modules/nan/nan.h +3202 -0
  456. package/node_modules/nan/nan_callbacks.h +141 -0
  457. package/node_modules/nan/nan_callbacks_12_inl.h +730 -0
  458. package/node_modules/nan/nan_callbacks_pre_12_inl.h +528 -0
  459. package/node_modules/nan/nan_converters.h +72 -0
  460. package/node_modules/nan/nan_converters_43_inl.h +68 -0
  461. package/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  462. package/node_modules/nan/nan_define_own_property_helper.h +29 -0
  463. package/node_modules/nan/nan_implementation_12_inl.h +446 -0
  464. package/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  465. package/node_modules/nan/nan_json.h +166 -0
  466. package/node_modules/nan/nan_maybe_43_inl.h +360 -0
  467. package/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  468. package/node_modules/nan/nan_new.h +340 -0
  469. package/node_modules/nan/nan_object_wrap.h +156 -0
  470. package/node_modules/nan/nan_persistent_12_inl.h +132 -0
  471. package/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  472. package/node_modules/nan/nan_private.h +73 -0
  473. package/node_modules/nan/nan_scriptorigin.h +97 -0
  474. package/node_modules/nan/nan_string_bytes.h +305 -0
  475. package/node_modules/nan/nan_typedarray_contents.h +96 -0
  476. package/node_modules/nan/nan_weak.h +453 -0
  477. package/node_modules/nan/package.json +38 -0
  478. package/node_modules/nan/tools/1to2.js +412 -0
  479. package/node_modules/nan/tools/README.md +14 -0
  480. package/node_modules/nan/tools/package.json +19 -0
  481. package/package.json +5 -5
  482. package/node_modules/@quantiya/codevibe-core/dist/orchestration/orchestration-cli.d.ts +0 -12
  483. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-bootstrap.d.ts +0 -146
  484. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-failure-recourse.d.ts +0 -23
  485. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-save.d.ts +0 -47
  486. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-seat-picker.d.ts +0 -72
  487. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-telemetry.d.ts +0 -54
  488. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-test-agents.d.ts +0 -108
  489. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-types.d.ts +0 -146
  490. package/node_modules/@quantiya/codevibe-core/dist/orchestration/setup-wizard.d.ts +0 -57
  491. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cohort-flag.d.ts +0 -16
  492. package/node_modules/@quantiya/codevibe-core/dist/reviewer/providers/gemini.d.ts +0 -109
  493. package/node_modules/@quantiya/codevibe-core/dist/substrate/git-proxy.d.ts +0 -35
  494. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CHANGELOG.md +0 -274
  495. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CONTRIBUTING.md +0 -18
  496. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/bin/uuid +0 -2
  497. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/index.js +0 -79
  498. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/md5.js +0 -223
  499. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/native.js +0 -11
  500. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/nil.js +0 -8
  501. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/parse.js +0 -45
  502. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/regex.js +0 -8
  503. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/rng.js +0 -25
  504. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/sha1.js +0 -104
  505. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/stringify.js +0 -44
  506. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v1.js +0 -107
  507. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v3.js +0 -16
  508. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v35.js +0 -80
  509. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v4.js +0 -43
  510. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v5.js +0 -16
  511. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/validate.js +0 -17
  512. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/version.js +0 -21
  513. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/md5.js +0 -13
  514. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/native.js +0 -4
  515. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/nil.js +0 -1
  516. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/parse.js +0 -35
  517. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/regex.js +0 -1
  518. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/rng.js +0 -12
  519. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/sha1.js +0 -13
  520. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/stringify.js +0 -33
  521. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v1.js +0 -95
  522. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v3.js +0 -4
  523. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v35.js +0 -66
  524. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v4.js +0 -29
  525. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v5.js +0 -4
  526. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/validate.js +0 -7
  527. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/version.js +0 -11
  528. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/index.js +0 -79
  529. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5-browser.js +0 -223
  530. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5.js +0 -23
  531. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native-browser.js +0 -11
  532. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native.js +0 -15
  533. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/nil.js +0 -8
  534. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/parse.js +0 -45
  535. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/regex.js +0 -8
  536. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng-browser.js +0 -25
  537. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng.js +0 -24
  538. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1-browser.js +0 -104
  539. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1.js +0 -23
  540. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/stringify.js +0 -44
  541. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/uuid-bin.js +0 -85
  542. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v1.js +0 -107
  543. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v3.js +0 -16
  544. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v35.js +0 -80
  545. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v4.js +0 -43
  546. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v5.js +0 -16
  547. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/validate.js +0 -17
  548. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/version.js +0 -21
  549. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/wrapper.mjs +0 -10
  550. /package/node_modules/@quantiya/codevibe-core/dist/{companion-mode/__tests__/detect-parallel.test.d.ts → appsync/__tests__/appsync-client-context-items.test.d.ts} +0 -0
  551. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration-shell/__tests__/cli-stub-session-adapter.test.d.ts → appsync/__tests__/heartbeat-active.test.d.ts} +0 -0
  552. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-bootstrap.test.d.ts → appsync/__tests__/orphan-sweep-null-heartbeat.test.d.ts} +0 -0
  553. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-failure-recourse.test.d.ts → appsync/__tests__/refresh-open-prompt-ttl-chunk.test.d.ts} +0 -0
  554. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-save.test.d.ts → auth/__tests__/keychain-cli.test.d.ts} +0 -0
  555. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-seat-picker.test.d.ts → auth/__tests__/vendor-key-cli.test.d.ts} +0 -0
  556. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-telemetry.test.d.ts → companion-mode/__tests__/mode-selected-emit.test.d.ts} +0 -0
  557. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-test-agents.test.d.ts → companion-mode/__tests__/private-launcher-detection.test.d.ts} +0 -0
  558. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-types.test.d.ts → companion-mode/__tests__/private-launcher-path.test.d.ts} +0 -0
  559. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration/__tests__/setup-wizard.test.d.ts → credential-broker/__tests__/broker-c4.test.d.ts} +0 -0
  560. /package/node_modules/@quantiya/codevibe-core/dist/{reviewer/providers/__tests__/gemini-live-smoke.test.d.ts → credential-broker/__tests__/broker-streaming.test.d.ts} +0 -0
  561. /package/node_modules/@quantiya/codevibe-core/dist/{reviewer/providers/__tests__/gemini.test.d.ts → credential-broker/__tests__/chatgpt-config.test.d.ts} +0 -0
  562. /package/node_modules/@quantiya/codevibe-core/dist/{substrate/__tests__/git-proxy.test.d.ts → credential-broker/__tests__/oauth-account-lock.test.d.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ import type { Dirent } from 'node:fs';
2
+ import type { WorkspaceRootAuthority } from './workspace-authority.js';
3
+ /** Shared metadata ceilings for every CodeVibe-owned filesystem traversal. */
4
+ export declare const MAX_METADATA_ENTRY_COUNT = 100000;
5
+ export declare const MAX_METADATA_PATH_BYTES: number;
6
+ export interface MetadataBudget {
7
+ entries: number;
8
+ utf8PathBytes: number;
9
+ readonly maxEntries: number;
10
+ readonly maxUtf8PathBytes: number;
11
+ }
12
+ export declare function createMetadataBudget(maxEntries?: number, maxUtf8PathBytes?: number): MetadataBudget;
13
+ /** Charge one path before retaining it or doing work derived from it. */
14
+ export declare function consumeMetadataPath(budget: MetadataBudget, value: string, label: string): void;
15
+ /** Validate an existing collection incrementally, without an intermediate map. */
16
+ export declare function assertMetadataPathCollection(values: Iterable<string>, label: string, budget?: MetadataBudget): void;
17
+ /** Validate object-backed path collections without allocating `items.map(...)`. */
18
+ export declare function assertMetadataItemPathCollection<T>(items: Iterable<T>, pathOf: (item: T) => string, label: string, budget?: MetadataBudget): void;
19
+ export interface BoundedDirectoryStat {
20
+ dev: string;
21
+ ino: string;
22
+ birthtimeNs: string;
23
+ canonicalPath: string;
24
+ size: bigint;
25
+ mtimeMs: number;
26
+ mtimeNs: string;
27
+ ctimeNs: string;
28
+ nlink: string;
29
+ }
30
+ /** Metadata captured in the same isolated enumeration request, when requested. */
31
+ export declare function boundedDirectoryStat(entry: Dirent): BoundedDirectoryStat | undefined;
32
+ /**
33
+ * Enumerate a directory in an isolated process group. The helper's absolute
34
+ * deadline is armed before its first target-filesystem access, so a blocked
35
+ * FUSE/network open, read, or close cannot retain a desktop lifecycle lock.
36
+ * Entries are streamed and charged in the desktop before being retained.
37
+ */
38
+ export declare function readDirectoryBounded(dirPath: string, budget: MetadataBudget, label: string, relativePrefix?: string, opts?: {
39
+ /** @internal lower deterministic helper deadline for tests. */
40
+ helperTimeoutMs?: number;
41
+ /** @internal deterministic target-filesystem stall seam. */
42
+ testHangStage?: 'open' | 'read' | 'stat' | 'close';
43
+ /** Capture lstat metadata inside the same deadline-bound worker request. */
44
+ includeStats?: boolean;
45
+ /** @internal deterministic seam after a missing component, before acknowledgement. */
46
+ beforeMissing?: () => Promise<void> | void;
47
+ /** @internal deterministic seam before final public-chain authentication. */
48
+ beforeCompletion?: () => Promise<void> | void;
49
+ /** Exact directory inode that must own the enumeration. */
50
+ expectedDirectory?: {
51
+ dev: string;
52
+ ino: string;
53
+ birthtimeNs?: string;
54
+ canonicalPath?: string;
55
+ size?: bigint;
56
+ mtimeNs?: string;
57
+ ctimeNs?: string;
58
+ nlink?: string;
59
+ };
60
+ /** Persisted root authority used to enter the complete relative chain. */
61
+ rootAuthority?: WorkspaceRootAuthority;
62
+ /** Directory path relative to `rootAuthority` (empty means the root). */
63
+ relativeDirectory?: string;
64
+ }): Promise<Dirent[]>;
@@ -0,0 +1,22 @@
1
+ import { type ChildProcess, type SpawnOptions } from 'node:child_process';
2
+ /** Production ceiling for one helper protocol wait or helper subtree. */
3
+ export declare const DEFAULT_HELPER_TIMEOUT_MS: number;
4
+ export declare const MAX_HELPER_TIMEOUT_MS: number;
5
+ /** Cleanup is itself bounded; callers must never wait forever for `close`. */
6
+ export declare const DEFAULT_HELPER_TERMINATION_TIMEOUT_MS = 5000;
7
+ /** Absolute deadline inherited by recursive helper descendants. */
8
+ export declare const HELPER_DEADLINE_ENV = "CODEVIBE_HELPER_DEADLINE_AT_MS";
9
+ export declare const HELPER_TIMEOUT_ENV = "CODEVIBE_HELPER_TIMEOUT_MS";
10
+ export declare function resolveHelperTimeout(value: number | undefined): number;
11
+ export declare function helperDeadlineEnv(timeoutMs: number): Record<string, string>;
12
+ /** Spawn every top-level helper in its own POSIX process group. */
13
+ export declare function spawnIsolatedHelper(command: string, args: readonly string[], options: SpawnOptions): ChildProcess;
14
+ export declare function observeChildClose(child: ChildProcess): Promise<number | null>;
15
+ export declare function withHelperDeadline<T>(work: Promise<T>, timeoutMs: number, label: string): Promise<T>;
16
+ /**
17
+ * Best-effort full-tree termination with a hard upper bound on cleanup wait.
18
+ * POSIX helpers are isolated process-group leaders. Windows uses taskkill's
19
+ * `/T` tree semantics and then a direct-kill fallback; neither path is awaited
20
+ * without a deadline.
21
+ */
22
+ export declare function terminateHelperTree(child: ChildProcess | undefined, closed: Promise<unknown> | undefined, timeoutMs?: number): Promise<void>;
@@ -0,0 +1,11 @@
1
+ /** Maximum retained bytes per stdout/stderr stream; pipes are still fully drained. */
2
+ export declare const MAX_RETAINED_PROCESS_OUTPUT_BYTES: number;
3
+ export declare class BoundedOutputBuffer {
4
+ private readonly limit;
5
+ private chunks;
6
+ private bytes;
7
+ constructor(limit?: number);
8
+ push(value: Buffer | string): void;
9
+ toBuffer(): Buffer;
10
+ toString(): string;
11
+ }
@@ -2,7 +2,7 @@ import type { AdapterProgressEnvelope } from '../adapter/progress';
2
2
  import { AuthorityRefusal, AuthorityRefusalCategory } from './authority';
3
3
  import { type DeviceSigningKey } from './class-a-sign';
4
4
  import { AgentKind, FailureClass, ProcessRole } from './types';
5
- export type ExecutionEventKind = 'PROCESS_SPAWNED' | 'TOOL_USE' | 'FILE_CHANGE' | 'VERIFICATION_RUN' | 'PROCESS_EXITED';
5
+ export type ExecutionEventKind = 'PROCESS_SPAWNED' | 'TOOL_USE' | 'FILE_CHANGE' | 'VERIFICATION_RUN' | 'PROCESS_EXITED' | 'TRACK_PROGRESS';
6
6
  export type ClassAMessageType = 'EXECUTION_EVENT' | 'EXECUTOR_REFUSAL' | 'VERIFICATION_RESULT' | 'ADAPTER_PROGRESS';
7
7
  export interface ClassAEnvelope {
8
8
  messageVersion: 1;
@@ -51,6 +51,15 @@ export interface ProcessExitedPayload {
51
51
  exitCode: number;
52
52
  failureClass: FailureClass;
53
53
  }
54
+ /** Team-child liveness fact; its hosted audit append renews the exact lease. */
55
+ export interface TrackProgressPayload {
56
+ kind: 'TRACK_PROGRESS';
57
+ taskGroupId: string;
58
+ trackIndex: number;
59
+ dispatchGeneration: number;
60
+ phase: 'track_spawned' | 'lease_heartbeat';
61
+ sequence: number;
62
+ }
54
63
  export interface ExecutorRefusalPayload {
55
64
  refusedMessageId: string;
56
65
  refusalCategory: AuthorityRefusalCategory;
@@ -124,6 +133,9 @@ export declare class ClassAEmitter {
124
133
  failureClass: FailureClass;
125
134
  occurredAt?: string;
126
135
  }): Promise<void>;
136
+ emitTrackProgress(ctx: ClassAEmitterContext, args: Omit<TrackProgressPayload, 'kind'> & {
137
+ occurredAt?: string;
138
+ }): Promise<void>;
127
139
  emitExecutorRefusal(ctx: ClassAEmitterContext, args: {
128
140
  refusal: AuthorityRefusal;
129
141
  refusedMessageId: string;
@@ -23,6 +23,21 @@ export interface DeviceSigningKey {
23
23
  * exact canonical string and catch future json-freeze JCS drift.
24
24
  */
25
25
  export declare function canonicalJsonForSigning(obj: Record<string, unknown>, signatureFieldName: string): string;
26
+ /**
27
+ * Sign `canonical` (the JCS string) with the device's P-256 key under
28
+ * ECDSA-P-256-with-SHA-256, returning the STANDARD-base64 of the raw 64-byte
29
+ * r‖s (IEEE P-1363) signature. Matches the Rust verifier's
30
+ * `Signature::from_slice(&B64.decode(sig))` decode path (signing.rs:203-218).
31
+ */
32
+ export declare function signCanonical(canonical: string, keys: DeviceSigningKey): string;
33
+ /**
34
+ * Generic writer-attestation signing primitive. Unlike Class A envelopes,
35
+ * every field in this closed object is in the signing domain; the signature
36
+ * is carried in the adjacent GraphQL input rather than embedded in `payload`.
37
+ */
38
+ export declare function signWriterEventPayload(payload: Record<string, unknown>, keys: DeviceSigningKey): string;
39
+ export declare const WRITER_EVENT_ATTESTATION_SCHEMA: "codevibe.encrypted_desktop_event.writer.v1";
40
+ export declare function signWriterEventEnvelope(envelope: Record<string, unknown>, keys: DeviceSigningKey): string;
26
41
  /**
27
42
  * Sign a Class A envelope object. The canonical bytes are the JCS of the
28
43
  * envelope with `signature` removed (matching Rust
@@ -0,0 +1,25 @@
1
+ export interface DurableDirectoryIdentity {
2
+ canonicalPath: string;
3
+ dev: string;
4
+ ino: string;
5
+ birthtimeNs: string;
6
+ mtimeMs: number;
7
+ created: boolean;
8
+ }
9
+ /**
10
+ * Create/validate a directory tree and seal every acknowledged target with
11
+ * child-then-parent fsync inside a killable, deadline-bound helper.
12
+ */
13
+ export declare function ensureDurableDirectoryTree(target: string, opts?: {
14
+ /** Existing durable ancestor; every controlled descendant is resealed on every retry. */
15
+ anchorPath?: string;
16
+ mode?: number;
17
+ enforceTargetMode?: boolean;
18
+ helperTimeoutMs?: number;
19
+ /** @internal deterministic durability failure seam. */
20
+ failDirectorySyncStage?: 'created-child' | 'created-parent' | 'target-child' | 'target-parent';
21
+ /** @internal deterministic target-filesystem stall seam. */
22
+ testHangStage?: 'anchor-open' | 'component-open' | 'mkdir' | 'created-child' | 'created-parent' | 'target-child' | 'target-parent';
23
+ /** @internal replace the live anchor after binding; proves cwd anchoring and final rejection. */
24
+ testSwapAnchorTo?: string;
25
+ }): Promise<DurableDirectoryIdentity>;
@@ -1,11 +1,37 @@
1
- import type { ShadowChangeKind, ShadowDiffFile } from './workspace-shadow';
1
+ import { type ReviewedShadowDiffFile, type ShadowChangeKind, type ShadowDiffFile } from './workspace-shadow';
2
+ import { type SnapshotBundlesView, type SnapshotTrackBundle } from './snapshot-merge';
2
3
  import type { ImageAttachment } from '../orchestration-shell/types';
4
+ import { type WorkspaceRootAuthority } from './workspace-authority';
5
+ export declare const MAX_STORE_JSON_BYTES: number;
6
+ export declare const MAX_PREIMAGE_BYTES: number;
7
+ export declare const MAX_PREIMAGE_AGGREGATE_BYTES: number;
3
8
  /** The current manifest schema version (append-only; bump on a breaking shape change). */
4
9
  export declare const REVERT_MANIFEST_VERSION: 1;
5
10
  /** Marker stored in `preImageRef` for a file that did NOT exist pre-promote (a created file). */
6
11
  export declare const ABSENT_PREIMAGE: "ABSENT";
7
12
  /** Default TTL for a true-orphan manifest GC fallback (~48h, LOCK #589-I). */
8
13
  export declare const ORPHAN_TTL_MS: number;
14
+ type StoreHelperRequest = ({
15
+ operation: 'stat-child';
16
+ name: string;
17
+ } | {
18
+ operation: 'mkdir';
19
+ name: string;
20
+ mode: number;
21
+ } | {
22
+ operation: 'remove-file';
23
+ name: string;
24
+ childDev: string;
25
+ childIno: string;
26
+ childBirthtimeNs: string;
27
+ childCanonicalPath: string;
28
+ }) & {
29
+ /** @internal deterministic durability-failure seam. */
30
+ failDirectorySyncStage?: 'mkdir-child' | 'mkdir-parent' | 'remove-parent';
31
+ /** @internal deterministic blocked-helper seam. */
32
+ testHangBeforeReady?: boolean;
33
+ };
34
+ type StoreOperation = StoreHelperRequest['operation'] | 'write' | 'remove-tree';
9
35
  /**
10
36
  * The lifecycle of a group's revert record — the GC-predicate key (LOCK #589-I).
11
37
  * A group is GC-eligible ONLY in a terminal lifecycle (`accepted` /
@@ -15,6 +41,8 @@ export declare const ORPHAN_TTL_MS: number;
15
41
  export type RevertLifecycle = 'in_flight' | 'accepted' | 'reject_revert_in_progress' | 'reject_revert_complete';
16
42
  /** One applied-file entry in the durable revert manifest. */
17
43
  export interface RevertManifestEntry {
44
+ /** Exact user-root instance on which this reverse authority may operate. */
45
+ workspaceRootAuthority: WorkspaceRootAuthority;
18
46
  /** The track that applied this path. */
19
47
  trackIndex: number;
20
48
  /** Monotonic apply order ACROSS the whole group (reverse order drives reverse-apply). */
@@ -30,8 +58,12 @@ export interface RevertManifestEntry {
30
58
  preImageRef: string;
31
59
  /** SHA-256 of the pre-image content; `null` for an absent (created) file. */
32
60
  preImageHash: string | null;
61
+ /** POSIX permission bits of the pre-image; `null` when absent. */
62
+ preImageMode: number | null;
33
63
  /** SHA-256 of the applied content; `null` for a `deleted` file. */
34
64
  postPromoteHash: string | null;
65
+ /** POSIX permission bits of the applied image; `null` when deleted. */
66
+ postPromoteMode: number | null;
35
67
  }
36
68
  /** The revert-manifest record-type-1 slot. */
37
69
  export interface RevertManifestSlot {
@@ -57,6 +89,18 @@ export interface PendingGroupDecision {
57
89
  claimToken: string;
58
90
  notes?: string;
59
91
  }
92
+ export interface SnapshotPromotionJournalV1 {
93
+ version: 1;
94
+ workspaceRootAuthority: WorkspaceRootAuthority;
95
+ /** Hash of the exact bundle set + integration gate specification. */
96
+ operationHash: string;
97
+ state: 'prepared' | 'applied' | 'acknowledged' | 'reverted' | 'rejected';
98
+ /** Reviewed final bytes and exact pre-images needed for crash reconciliation. */
99
+ files: ReviewedShadowDiffFile[];
100
+ /** Content address over `files`; corruption fails closed before replay. */
101
+ filesHash: string;
102
+ updatedAtMs: number;
103
+ }
60
104
  /**
61
105
  * Record-type-3 slot (PHASE-589/469 W3.2 RESIDUAL 1) — the retained `/team`
62
106
  * launch input a `REJECT_RESTART` re-dispatches from. `workItems` is the wire
@@ -109,6 +153,8 @@ export interface RevertRecordV1 {
109
153
  * Append-only field — a pre-HIGH-1 record decodes via the `?? null` reads.
110
154
  */
111
155
  pendingDecision?: PendingGroupDecision | null;
156
+ /** Record type 5 — group promotion prepare/apply/acknowledge journal. */
157
+ snapshotPromotion?: SnapshotPromotionJournalV1 | null;
112
158
  }
113
159
  /**
114
160
  * Stable cursor key for ONE manifest entry (W3-H1). The crash-resume cursor MUST
@@ -120,9 +166,11 @@ export interface RevertRecordV1 {
120
166
  * dirty (stuck at B instead of the oldest baseline). The separator is a single
121
167
  * space; `promoteOrder` is a non-negative integer (no spaces), so the leading
122
168
  * maximal digit-run before the first space uniquely decomposes `(promoteOrder,
123
- * path)` — the key is collision-free. Keys are only string-compared (Set
124
- * membership), never parsed back. (Exported so the revert-runner reads/writes the
125
- * SAME key.)
169
+ * path)` — the key is collision-free. Live journal validation parses the key
170
+ * back into this canonical form, rejects duplicates, and the revert runner binds
171
+ * it to an actual manifest entry. The cursor is an audit/checkpoint hint only;
172
+ * recovery idempotently replays the manifest instead of trusting cursor presence
173
+ * as proof of completed filesystem mutation.
126
174
  */
127
175
  export declare function revertEntryKey(promoteOrder: number, relPath: string): string;
128
176
  /** The write-ahead revert journal — crash-resume cursor (LOCK #589-I). */
@@ -139,16 +187,16 @@ export interface RevertJournalV1 {
139
187
  revertedPaths: string[];
140
188
  /**
141
189
  * W3-H1 — the PER-ENTRY resume cursor: `revertEntryKey(promoteOrder, path)` for
142
- * each manifest entry reverted in THIS pass. Resume skips by ENTRY identity (not
143
- * path), so a same-path multi-promote reverts EVERY remaining step in reverse
144
- * order after a mid-revert crash. Append-only field — a pre-W3-H1 journal decodes
145
- * via the `?? []` reads (its in-flight steps re-run, which is idempotent: the
146
- * 3-hash check in revertOne no-ops an already-reverted entry).
190
+ * each manifest entry reverted in THIS pass. Recovery authenticates membership
191
+ * but never treats cursor presence as filesystem proof: every non-final path is
192
+ * replayed idempotently in reverse order. Append-only field — a pre-W3-H1
193
+ * journal decodes via the `?? []` reads.
147
194
  */
148
195
  revertedEntryKeys?: string[];
149
196
  }
150
197
  /** Manifest entries a promote contributes, BEFORE the content is spilled to blobs. */
151
198
  export interface PromoteManifestInput {
199
+ workspaceRootAuthority: WorkspaceRootAuthority;
152
200
  trackIndex: number;
153
201
  promoteOrder: number;
154
202
  path: string;
@@ -157,8 +205,10 @@ export interface PromoteManifestInput {
157
205
  preImageContent: string | null;
158
206
  /** SHA-256 of `preImageContent`; `null` when absent. */
159
207
  preImageHash: string | null;
208
+ preImageMode: number | null;
160
209
  /** SHA-256 of the applied content; `null` for a deleted file. */
161
210
  postPromoteHash: string | null;
211
+ postPromoteMode: number | null;
162
212
  }
163
213
  /**
164
214
  * CP-14 Wave A — one committed track tip (a merge-train input). Written at the
@@ -186,6 +236,28 @@ export interface TrackTipsView {
186
236
  */
187
237
  export declare class RevertManifestStore {
188
238
  private readonly rootDir;
239
+ private readonly maxStoreJsonBytes;
240
+ private readonly maxPreImageAggregateBytes;
241
+ private readonly maxMetadataEntries;
242
+ private readonly maxMetadataPathBytes;
243
+ private readonly beforePreImageOpen?;
244
+ private readonly afterPreImageStat?;
245
+ private readonly afterAnchoredParentValidation?;
246
+ private readonly beforeStoreFileRetirement?;
247
+ private readonly afterTreeTombstoneRename?;
248
+ private readonly failAnchoredWriteAt;
249
+ private readonly failDirectorySyncAt;
250
+ private readonly failMkdirDirectorySyncStage;
251
+ private readonly failRootDirectorySyncStage;
252
+ private readonly helperTimeoutMs;
253
+ private readonly testHangStoreHelperBeforeReady;
254
+ private readonly testHangPreImageEnumerationStat;
255
+ private readonly testHangPreImageReadStage;
256
+ private readonly afterAnchoredWriteValidation?;
257
+ private readonly afterJsonAuthorityRead?;
258
+ private readonly afterPreImageAbsentRead?;
259
+ private readonly beforeMergeFenceAcquire?;
260
+ private anchoredWriteCount;
189
261
  /**
190
262
  * CP-14 Wave A (Codex r2 MED) — per-group serialization for the track-tips
191
263
  * read-modify-write. Two tracks of the SAME group authorize concurrently (the
@@ -195,11 +267,62 @@ export declare class RevertManifestStore {
195
267
  * only source of truth). A per-group promise chain serializes the RMW.
196
268
  */
197
269
  private readonly trackTipChains;
270
+ /** Groups for which this store instance authored session-owned resources. */
271
+ private readonly sessionOwnedGroups;
272
+ private readonly ownerLeasePromises;
273
+ private readonly ownerLeaseNonce;
274
+ /** A successful seal is reusable; every later helper still authenticates this exact inode. */
275
+ private rootDirectoryPromise?;
198
276
  constructor(opts?: {
199
277
  rootDir?: string;
278
+ /** @internal lower deterministic limit for serialized-authority boundary tests. */
279
+ maxStoreJsonBytes?: number;
280
+ /** @internal lower deterministic aggregate pre-image quota for tests. */
281
+ maxPreImageAggregateBytes?: number;
282
+ /** @internal lower deterministic shared metadata ceilings for tests. */
283
+ maxMetadataEntries?: number;
284
+ maxMetadataPathBytes?: number;
285
+ /** @internal deterministic read-race seam. */
286
+ beforePreImageOpen?: (blobPath: string) => Promise<void> | void;
287
+ /** @internal deterministic same-inode growth seam. */
288
+ afterPreImageStat?: (blobPath: string) => Promise<void> | void;
289
+ /** @internal deterministic parent-swap seam, after final path validation. */
290
+ afterAnchoredParentValidation?: (operation: StoreOperation, parent: string, name: string) => Promise<void> | void;
291
+ /** @internal exact syscall seam after source validation, before retirement. */
292
+ beforeStoreFileRetirement?: (filePath: string) => Promise<void> | void;
293
+ /** @internal deterministic post-rename tree-substitution seam. */
294
+ afterTreeTombstoneRename?: (tombstonePath: string, taskGroupId: string) => Promise<void> | void;
295
+ /** @internal deterministic failed-write cleanup seam. */
296
+ failAnchoredWriteAfterTemp?: boolean;
297
+ /** @internal fail the Nth anchored write after its temp is durable. */
298
+ failAnchoredWriteAt?: number;
299
+ /** @internal fail the Nth anchored write at its post-publication directory sync. */
300
+ failDirectorySyncAt?: number;
301
+ /** @internal fail durable child creation before acknowledgement. */
302
+ failMkdirDirectorySyncStage?: 'mkdir-child' | 'mkdir-parent';
303
+ /** @internal fail root resealing before acknowledgement. */
304
+ failRootDirectorySyncStage?: 'target-child' | 'target-parent';
305
+ /** @internal lower deterministic helper deadline for tests. */
306
+ helperTimeoutMs?: number;
307
+ /** @internal deterministic blocked store-helper seam. */
308
+ testHangStoreHelperBeforeReady?: boolean;
309
+ /** @internal deterministic bounded pre-image enumeration/read seams. */
310
+ testHangPreImageEnumerationStat?: boolean;
311
+ testHangPreImageReadStage?: 'open' | 'read' | 'close';
312
+ /** @internal deterministic prepared-inode replacement seam. */
313
+ afterAnchoredWriteValidation?: (filePath: string) => Promise<void> | void;
314
+ /** @internal deterministic independent-store RMW seam. */
315
+ afterJsonAuthorityRead?: (filePath: string) => Promise<void> | void;
316
+ /** @internal deterministic content-addressed create race seam. */
317
+ afterPreImageAbsentRead?: (blobPath: string) => Promise<void> | void;
318
+ /** @internal causal cross-process fence test seam. */
319
+ beforeMergeFenceAcquire?: (taskGroupId: string) => Promise<void> | void;
200
320
  });
201
321
  /** Serialize `fn` against other track-tip RMW for the same group (Codex r2 MED). */
202
322
  private withTrackTipLock;
323
+ private ownSessionGroup;
324
+ private ensureOwnerLease;
325
+ listSessionOwnedGroups(): string[];
203
326
  /** The per-group directory `<root>/<taskGroupId>/`. */
204
327
  private groupDir;
205
328
  /**
@@ -213,19 +336,25 @@ export declare class RevertManifestStore {
213
336
  * `recursive: true` honors `mode` for the components it creates.
214
337
  */
215
338
  private mkdirSecure;
216
- /**
217
- * Refuse to operate under a path whose any in-`rootDir` component is a symlink
218
- * (LOCK #589-G "no symlink following"). lstat each component from `rootDir`
219
- * down; a symlinked component throws. Missing components are fine (not yet
220
- * created). The `rootDir` itself is lstat-checked too.
221
- */
222
- private assertNoSymlinkComponents;
339
+ private runStoreHelper;
223
340
  /**
224
341
  * Atomic write: write `<final>.tmp.<pid>.<rand>` (`0600`) → fsync → rename →
225
342
  * fsync(dir). Refuses symlinked components first. NEVER logs CONTENT.
226
343
  */
227
344
  private atomicWrite;
345
+ /**
346
+ * Capture one group directory by an opened, no-follow handle. Callers carry
347
+ * this identity from the authority read through destructive cleanup, so a
348
+ * pathname replacement can never make GC remove a different directory.
349
+ */
350
+ private captureGroupIdentity;
351
+ private captureChildDirectoryIdentity;
352
+ private assertGroupIdentity;
353
+ private readJsonSnapshot;
228
354
  private readJson;
355
+ private readRecordSnapshot;
356
+ private readJournalSnapshot;
357
+ private assertSnapshotParent;
229
358
  /**
230
359
  * Append a track's promote entries to the group manifest, BEFORE the tree
231
360
  * mutates (LOCK #589-I). Spills pre-image content to `preimages/<sha>.blob`.
@@ -256,8 +385,43 @@ export declare class RevertManifestStore {
256
385
  * tip is missing.
257
386
  */
258
387
  readTrackTips(taskGroupId: string): Promise<TrackTipsView>;
259
- /** Read a pre-image blob's content by its manifest `preImageRef`. */
260
- readPreImage(taskGroupId: string, preImageRef: string): Promise<string>;
388
+ /**
389
+ * Persist one track's reviewed bytes and per-file pre-image hashes. The
390
+ * record is idempotent on `trackIndex`, serialized against sibling tracks,
391
+ * atomic, and removed with the group lifecycle.
392
+ */
393
+ appendTrackBundle(taskGroupId: string, bundle: SnapshotTrackBundle): Promise<void>;
394
+ readTrackBundles(taskGroupId: string): Promise<SnapshotBundlesView>;
395
+ /**
396
+ * Serialize the complete merge-gate body (including hosted verdict submit)
397
+ * across every dispatch generation and every desktop executor process that
398
+ * shares this durable group root. The callback process owns the lock through
399
+ * an OS-incarnation identity; helper death cannot split the fence and PID
400
+ * reuse cannot inherit it.
401
+ */
402
+ withSnapshotMergeGateFence<T>(taskGroupId: string, operation: () => Promise<T>, signal?: AbortSignal): Promise<T>;
403
+ private withSnapshotMergeGateFenceTimeout;
404
+ /** Cross-process RMW fence for aggregate quotas and manifest append. */
405
+ private withGroupWriterFence;
406
+ clearTrackBundles(taskGroupId: string): Promise<void>;
407
+ readSnapshotPromotion(taskGroupId: string): Promise<SnapshotPromotionJournalV1 | null>;
408
+ /** Durable PREPARE; must complete before the first user-tree mutation. */
409
+ prepareSnapshotPromotion(taskGroupId: string, operationHash: string, files: readonly ReviewedShadowDiffFile[], workspaceRootAuthority: WorkspaceRootAuthority): Promise<void>;
410
+ markSnapshotPromotionApplied(taskGroupId: string, operationHash: string): Promise<void>;
411
+ acknowledgeSnapshotPromotion(taskGroupId: string, operationHash: string): Promise<void>;
412
+ /**
413
+ * Terminal reject disposition. `reverted` means every final pre-image was
414
+ * reverified; `rejected` means user-owned conflicts were explicitly retained.
415
+ * Either state retires forward-promotion authority and permits terminal GC.
416
+ */
417
+ dispositionSnapshotPromotionRejected(taskGroupId: string, operationHash: string, verifiedReverted: boolean): Promise<void>;
418
+ private setSnapshotPromotionState;
419
+ /**
420
+ * Read and authenticate a pre-image through stable no-follow handles. The
421
+ * manifest hash and the content-addressed filename must agree before any
422
+ * reverse CAS is allowed to consume these bytes.
423
+ */
424
+ readPreImage(taskGroupId: string, preImageRef: string, expectedHash: string): Promise<string>;
261
425
  private setLifecycle;
262
426
  /** Group accepted/kept → terminal lifecycle `accepted` (GC-eligible). */
263
427
  markAccepted(taskGroupId: string): Promise<void>;
@@ -301,8 +465,8 @@ export declare class RevertManifestStore {
301
465
  clearPendingDecision(taskGroupId: string): Promise<void>;
302
466
  /**
303
467
  * Begin a revert journal (or read the existing one to RESUME). If a
304
- * `reverting` journal already exists, return it (the caller resumes,
305
- * skipping `revertedPaths`); otherwise start a fresh one.
468
+ * `reverting` journal already exists, return it so the caller can authenticate
469
+ * its checkpoints and replay idempotently; otherwise start a fresh one.
306
470
  */
307
471
  beginRevert(taskGroupId: string): Promise<RevertJournalV1>;
308
472
  /** Read the current journal (or `null`). */
@@ -311,16 +475,17 @@ export declare class RevertManifestStore {
311
475
  /**
312
476
  * Record ONE reverted manifest ENTRY (append-only resume cursor). W3-H1: the
313
477
  * cursor is keyed on the entry IDENTITY `(promoteOrder, path)` — NOT path alone —
314
- * so a same-path multi-promote records EACH step independently and a crash-resume
315
- * reverts every remaining step. The path is ALSO appended (legacy/diagnostics
316
- * compat). Idempotent on the entry key (a redelivered record is a no-op);
317
- * atomic + append-only per LOCK #589-G.
478
+ * so a same-path multi-promote records EACH step independently. The path is
479
+ * ALSO appended (legacy/diagnostics compat). The runner authenticates these
480
+ * checkpoints but replays non-final paths idempotently, so a forged checkpoint
481
+ * cannot skip a reverse CAS. Idempotent on the entry key; atomic + append-only.
318
482
  */
319
483
  recordReverted(taskGroupId: string, relPath: string, promoteOrder: number): Promise<void>;
320
484
  /** Mark the journal complete (the revert finished this pass). */
321
485
  endRevert(taskGroupId: string): Promise<void>;
322
486
  /** List every group id with a durable record under `<root>/`. */
323
487
  listManifests(): Promise<string[]>;
488
+ private hasLiveOwnerLease;
324
489
  /**
325
490
  * GC predicate (LOCK #589-I): delete a group's `<taskGroupId>/` ONLY when its
326
491
  * LOCAL lifecycle is terminal (`accepted` / `reject_revert_complete`) OR it is
@@ -328,7 +493,34 @@ export declare class RevertManifestStore {
328
493
  * "engine terminal alone" is INSUFFICIENT (the caller reconciles BEFORE GC).
329
494
  * Returns the ids it removed.
330
495
  */
331
- gc(now?: number, ttlMs?: number): Promise<string[]>;
496
+ gc(now?: number, ttlMs?: number, protectedTaskGroupIds?: ReadonlySet<string>): Promise<string[]>;
497
+ private gcOneGroup;
498
+ /**
499
+ * Same-session terminal reclamation for one group. This is intentionally
500
+ * stricter than TTL GC: the lifecycle must be terminal, the pending-decision
501
+ * crash token must be gone, and snapshot promotion must already be terminal.
502
+ */
503
+ gcTerminalGroup(taskGroupId: string): Promise<boolean>;
504
+ /**
505
+ * Terminal collection for the completion callback that already owns the
506
+ * stable-root merge fence. Never call this from an independent decision path.
507
+ */
508
+ gcTerminalGroupAlreadyFenced(taskGroupId: string): Promise<boolean>;
509
+ /**
510
+ * Normal-session retirement for every group authored by this store instance.
511
+ * Ordinary reviewed bundles/specs/journals are removed immediately. Durable
512
+ * state is retained only when exact workspace proof says a mutation may still
513
+ * need replay/revert authority.
514
+ */
515
+ disposeSessionOwnedGroups(opts: {
516
+ verifyPreparedBases: (journal: SnapshotPromotionJournalV1) => Promise<boolean>;
517
+ verifyManifestBases: (entries: readonly RevertManifestEntry[]) => Promise<boolean>;
518
+ }): Promise<{
519
+ removed: string[];
520
+ retained: string[];
521
+ }>;
522
+ private removeGroupDirectory;
332
523
  }
333
524
  /** SHA-256 hex of UTF-8 content (exported for the promote-site manifest capture). */
334
525
  export declare function hashManifestContent(content: string): string;
526
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Map a group-escalation decision label to its authoritative
3
+ * `TEAM_GROUP_RESOLVED.outcome` const. Both accept-family decisions resolve the
4
+ * group `complete`; each reject-family decision has its OWN distinct terminal so
5
+ * mobile can tell abort / restart / plain-reject apart (the closed-enum promise).
6
+ *
7
+ * A label outside the closed 5-option set (only reachable from a corrupt persisted
8
+ * marker — the SDK re-validates live labels) maps to the safest `group_user_rejected`
9
+ * so a recovered decision still resolves the group rather than stranding it.
10
+ */
11
+ export declare function decisionToGroupOutcome(decision: string): string;
@@ -0,0 +1,27 @@
1
+ import type { ClassAEnvelope, ClassASink } from './class-a-emit';
2
+ export interface HostedClassARecordTransport {
3
+ recordExecutionEvent(input: {
4
+ taskId: string;
5
+ sessionId: string;
6
+ kind: 'PROGRESS_EVENT' | 'TOOL_USE';
7
+ payload: unknown;
8
+ dedupKeyHex: string;
9
+ }, sessionKeyBase64: string, options?: {
10
+ signal?: AbortSignal;
11
+ }): Promise<void>;
12
+ }
13
+ /** A heartbeat must fail quickly enough that a later interval can retry. */
14
+ export declare const HOSTED_CLASS_A_EMIT_TIMEOUT_MS = 10000;
15
+ /**
16
+ * Class A → existing `recordExecutionEvent` transport.
17
+ *
18
+ * The complete signed envelope is the encrypted audit payload. The outer
19
+ * mutation fields remain the server-readable routing/dedup surface required by
20
+ * the existing handler; team child tasks receive its targeted lease renewal.
21
+ */
22
+ export declare class HostedClassASink implements ClassASink {
23
+ private readonly transport;
24
+ private readonly sessionKeyBase64;
25
+ constructor(transport: HostedClassARecordTransport, sessionKeyBase64: string);
26
+ emit(envelope: ClassAEnvelope): Promise<void>;
27
+ }