@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
@@ -15,6 +15,20 @@ export interface ImplementorArgvPlan {
15
15
  /** Where the final proposal text is captured from after `await handle.done`. */
16
16
  capture: ImplementorCaptureSurface;
17
17
  }
18
+ /**
19
+ * Claude read-only advisory variant for broad @agent/@all brainstorm turns.
20
+ *
21
+ * This is intentionally separate from `buildImplementorArgv('CLAUDE', 'plan')`:
22
+ * normal plan mode keeps Read/Grep/Glob for explicit repo inspection, while
23
+ * broad advisory turns should answer without crawling the workspace. Keeping
24
+ * this as a first-class argv builder lets the command allowlist and drift tests
25
+ * cover the exact runtime command instead of relying on ad hoc shell rewrites.
26
+ *
27
+ * Claude CLI has two related controls: `--allowed-tools` restricts an available
28
+ * tool set, while `--tools ""` disables all built-in tools. Use the latter here
29
+ * because broad advisory turns should have no file-inspection tools at all.
30
+ */
31
+ export declare function buildClaudeNoToolsPlanArgv(): ImplementorArgvPlan;
18
32
  /**
19
33
  * D9 — the ONE shared `CODEVIBE_AGY_MODEL` resolver used by BOTH
20
34
  * `buildImplementorArgv` (the spawned argv) and `agyImplementorAllowlistEntries`
@@ -44,10 +58,19 @@ export declare const AGY_IMPLEMENTOR_PRINT_TIMEOUT = "3600s";
44
58
  * static template can neither pin the value nor omit it when set. Two
45
59
  * FULLY-PINNED templates (plan `--sandbox` vs execute
46
60
  * `--dangerously-skip-permissions` — the N-3 defense-in-depth split), with
47
- * `<workdir>` as the SOLE trailing wildcard. Appended by
61
+ * `<workdir> --print <prompt>` under the trailing wildcard. The prompt is
62
+ * necessarily argv-visible because Agy 1.1.2 removed its stdin prompt mode;
63
+ * the fixed mode/model/timeout prefix remains pinned. Appended by
48
64
  * `makeImplementorCommandScope` at scope construction.
49
65
  */
50
66
  export declare function agyImplementorAllowlistEntries(): string[];
67
+ /**
68
+ * Materialize the trusted stdin payload into Agy 1.1.2's required
69
+ * `--print <prompt>` argument. Fail closed unless the argv is the exact
70
+ * canonical placeholder shape produced by `buildImplementorArgv`; callers
71
+ * cannot use this helper to rewrite arbitrary Agy commands.
72
+ */
73
+ export declare function bindAgyPrintPrompt(argv: readonly string[], prompt: string | undefined, workingDir: string): string[];
51
74
  /**
52
75
  * D3 — the abs-path brief preamble for an agy implementor/decomposer/resolver
53
76
  * spawn. agy is WORKSPACE-CENTRIC: it ignores the process cwd, so the brief
@@ -60,9 +83,12 @@ export declare function agyImplementorAllowlistEntries(): string[];
60
83
  export declare function agyWorkdirBriefPreamble(workdir: string): string;
61
84
  /**
62
85
  * Build the implementor invocation argv for `agent` in `mode`. The leading
63
- * executable name (`claude` / `codex` / `gemini` / `agy`) is the argv[0] so
64
- * callers can pass the whole array to `spawnImplementor` (which resolves the
65
- * binary from PATH). The brief is fed on stdin by the caller (`stdinPayload`).
86
+ * executable name (`claude` / `codex` / `agy`) is the argv[0] so callers can
87
+ * pass the whole array to `spawnImplementor` (which resolves the binary from
88
+ * PATH). The caller supplies the brief through `stdinPayload`; Claude and
89
+ * Codex receive it on stdin, while Agy's spawn boundary replaces the canonical
90
+ * final empty `--print` placeholder with that validated payload. (GEMINI is
91
+ * SUNSET — the `case 'GEMINI'` throws; it is never a routable implementor.)
66
92
  *
67
93
  * `workdir` (AGY-2.0 D3) is REQUIRED for ANTIGRAVITY (agy is
68
94
  * workspace-centric — `--add-dir <workdir>` is its only view of the tree; the
@@ -71,6 +97,31 @@ export declare function agyWorkdirBriefPreamble(workdir: string): string;
71
97
  * ignore it.
72
98
  */
73
99
  export declare function buildImplementorArgv(agent: AgentKind, mode: ImplementorMode, workdir?: string): ImplementorArgvPlan;
100
+ /**
101
+ * A1b (Codex summary never-read fix, READ side) — read a Codex implementor's
102
+ * `--output-last-message` capture file, resolving the HOST path the same way
103
+ * the reviewer provider does (`src/reviewer/providers/codex.ts::
104
+ * resolveLastMessagePaths` — the lifted shared pattern, not a duplicate):
105
+ *
106
+ * 1. The direct capture path (`plan.capture.path`, an absolute `os.tmpdir()`
107
+ * file) — the legacy/unconfined case, where codex wrote the host tmp file.
108
+ * 2. `<workdir>/<basename>` — the CONFINED-substrate case. This candidate is
109
+ * only ever populated because the spawn path REWRITES the codex argv:
110
+ * `relocateCodexLastMessageForSubstrate` (below) turns the absolute value
111
+ * into a bare basename when the substrate is proven engaged, so codex
112
+ * (cwd = workdir on both A1/A5 backends) writes `<workdir>/<basename>` —
113
+ * host-readable via the A1 bind-mount / the A5 shared fs. Without that
114
+ * write-side rewrite an absolute tmp path is unwritable (A5) or lands in
115
+ * the container's own /tmp (A1) and no read candidate could ever find it.
116
+ * The workdir is the round's shadow dir.
117
+ *
118
+ * The first readable candidate wins; it is best-effort unlinked after the read
119
+ * (we own the file's lifecycle — mirrors the reviewer/decomposer cleanup).
120
+ * NEVER throws: a missing/unreadable file on every candidate returns `''` (the
121
+ * summary is an audit-only nicety; the captured diff, not the summary, is the
122
+ * round's contract).
123
+ */
124
+ export declare function readImplementorLastMessage(capturePath: string, workdir?: string): string;
74
125
  /**
75
126
  * Positive runtime evidence that this process is ACTUALLY inside a container —
76
127
  * the confinement boundary that `CODEVIBE_TRUSTED_CONTAINER` asserts. Docker
@@ -118,7 +169,7 @@ export declare function isTrustedContainerBoundary(env?: NodeJS.ProcessEnv, inCo
118
169
  * namespaces / macOS Seatbelt) and is the only filesystem confinement.
119
170
  *
120
171
  * NARROW BY DESIGN:
121
- * - Only CODEX is affected (Claude/Gemini have no bwrap inner sandbox).
172
+ * - Only CODEX is affected (Claude + Antigravity have no bwrap inner sandbox).
122
173
  * - Only `workspace-write` (the EXECUTE variant) is rewritten. `read-only`
123
174
  * (PLAN mode) is left untouched — it is a DELIBERATE write restriction, and
124
175
  * `danger-full-access` would let a plan-mode agent write, violating the plan
@@ -127,6 +178,37 @@ export declare function isTrustedContainerBoundary(env?: NodeJS.ProcessEnv, inCo
127
178
  * Pure; returns a NEW array when it rewrites, the same array otherwise.
128
179
  */
129
180
  export declare function applyOuterBoundarySandbox(argv: readonly string[], agent: AgentKind, outerBoundaryConfines: boolean): string[];
181
+ /**
182
+ * A1b (Codex summary never-read fix, WRITE side) — substrate-aware relocation
183
+ * of the Codex `--output-last-message` value. Mirrors the reviewer provider's
184
+ * `resolveLastMessagePaths(sandboxed=true, …)` contract on the IMPLEMENTOR
185
+ * path: under the CP-7 substrate codex CANNOT write the host `os.tmpdir()`
186
+ * (A1 Docker never mounts host /tmp — an absolute tmp path writes the
187
+ * CONTAINER's own /tmp, unreadable by the host; A5 Seatbelt grants writes to
188
+ * the WORKDIR only — the write is DENIED outright; the reviewer provider
189
+ * documents the same false-on-both-backends failure at codex.ts:143-152). So
190
+ * when the substrate is PROVEN engaged, rewrite the absolute capture path to
191
+ * its bare BASENAME: codex's cwd IS the workdir on both backends (A5 `exec`
192
+ * spawns with `cwd: workdir`; A1 runs in `/workspace`, the workdir
193
+ * bind-mount), so the file lands at `<workdir>/<basename>` — exactly where
194
+ * `readImplementorLastMessage`'s relocated candidate reads it back.
195
+ *
196
+ * Called from `LocalExecutor.spawnImplementor` at the SAME per-spawn rewrite
197
+ * point as `applyOuterBoundarySandbox`, gated on the engager's OWN
198
+ * `substrateEngaged` proof — NOT predicted at argv-build time (the engage
199
+ * outcome — substrate vs reduced_trust vs legacy — is only knowable when the
200
+ * engager actually runs), and NOT on the trusted-container boundary (there the
201
+ * desktop and codex share ONE fs namespace, so the absolute tmp path works and
202
+ * must stay — it is read candidate #1).
203
+ *
204
+ * NARROW BY DESIGN (mirrors `applyOuterBoundarySandbox`):
205
+ * - Only CODEX (the only file-capture agent) is affected.
206
+ * - Only when `substrateEngaged`; the unconfined argv is byte-identical.
207
+ * - The command-allowlist templates end `--output-last-message *`, so the
208
+ * rewritten argv still passes `enforceCommand` (drift-guard-tested).
209
+ * Pure; returns a NEW array when it rewrites, a copy otherwise.
210
+ */
211
+ export declare function relocateCodexLastMessageForSubstrate(argv: readonly string[], agent: AgentKind, substrateEngaged: boolean): string[];
130
212
  /**
131
213
  * Authority `commandAllowlist` entries covering EVERY (agent, mode) argv
132
214
  * `buildImplementorArgv` can produce. The single-impl + team LEs seed this
@@ -142,8 +224,8 @@ export declare function applyOuterBoundarySandbox(argv: readonly string[], agent
142
224
  *
143
225
  * Matching (authority.ts `enforceCommand`): an entry is a LITERAL full
144
226
  * `argv.join(' ')` match, OR a ` *`-suffix TEMPLATE (prefix match).
145
- * - Claude / Gemini argvs are fixed → literal entries. (Gemini's `-p ''`
146
- * empty arg yields a DOUBLE space in the join preserved verbatim here.)
227
+ * - Claude argvs are fixed → literal entries. (Gemini is SUNSET as of
228
+ * 2026-07 and is no longer a routable implementor, so it has no entry.)
147
229
  * - Codex carries a per-spawn temp path in `--output-last-message <tmp>` →
148
230
  * a ` *` template: the literal prefix up to `--output-last-message`, then
149
231
  * the wildcard absorbs the varying path + trailing `-`.
@@ -5,11 +5,12 @@ export { agyImplementorAllowlistEntries, agyWorkdirBriefPreamble, AGY_IMPLEMENTO
5
5
  export { verifyClassBEd25519, classBCanonicalForSigning, ed25519PublicKeyFromRaw, type ClassBCryptoVerifyResult, } from './class-b-verify';
6
6
  export { TrackRegistry, TrackProcess, trackKey } from './track-registry';
7
7
  export { EmitShellEventFn, HookBridge, HookBridgeDeps, } from './hook-bridge';
8
- export { LocalExecutorImpl, LocalExecutorImplDeps, MergeGateAppSyncClient, MergeGateContentEncryptor, makeEmptyScope, } from './local-executor-impl';
8
+ export { LocalExecutorImpl, LocalExecutorImplDeps, MergeGateAppSyncClient, MergeGateContentEncryptor, TEAM_TRACK_HEARTBEAT_INTERVAL_MS, makeEmptyScope, } from './local-executor-impl';
9
9
  export type { SubstrateEngager, SubstrateEngageResult, StrictBadgeSink, } from './local-executor-impl';
10
10
  export { Cp7AuditWriter, CP7_CANONICAL_FORM_VERSION, GENESIS_PREV_HASH, canonicalJson, canonicalEntryBytes, computeEntryHash, verifyChain, } from './cp7-audit-writer';
11
11
  export type { Cp7AuditEntry } from './cp7-audit-writer';
12
- export { ClassAEmitter, ClassAEmitterContext, ClassAEnvelope, ClassAMessageType, ClassASink, DEFAULT_DEDUPE_CAP, EmitterLogger, ExecutionEventKind, ExecutorRefusalPayload, FileChangePayload, LocalStubSink, ProcessExitedPayload, ProcessSpawnedPayload, ToolUsePayload, VerificationGateKind, VerificationResultPayload, VerificationRunPayload, isValidUlid, } from './class-a-emit';
12
+ export { ClassAEmitter, ClassAEmitterContext, ClassAEnvelope, ClassAMessageType, ClassASink, DEFAULT_DEDUPE_CAP, EmitterLogger, ExecutionEventKind, ExecutorRefusalPayload, FileChangePayload, LocalStubSink, ProcessExitedPayload, ProcessSpawnedPayload, TrackProgressPayload, ToolUsePayload, VerificationGateKind, VerificationResultPayload, VerificationRunPayload, isValidUlid, } from './class-a-emit';
13
+ export { HostedClassASink, HOSTED_CLASS_A_EMIT_TIMEOUT_MS, type HostedClassARecordTransport, } from './hosted-class-a-sink';
13
14
  export { DEFAULT_GATE_TIMEOUT_MS, GateRunResult, SUMMARY_CAP_BYTES, TIMEOUT_EXIT_CODE, VerificationGateRequest, VerificationRunnerDeps, runVerificationGates, truncateUtf8Safe, } from './verification-runner';
14
15
  export { ClassBConsumer, ClassBConsumerDeps, ClassBConsumerState, ClassBVerificationResult, INBOUND_REPLAY_CAP, INBOUND_REPLAY_TTL_MS, UlidReplayRegistry, verifyClassBSignature, normalizeTrackAssignedWire, isValidTrackAssignedPayload, } from './class-b-consumer';
15
16
  export { DeviceSigningKey, canonicalJsonForSigning, signClassAEnvelope, signMergeClassification, } from './class-a-sign';
@@ -3,29 +3,32 @@ import { AuthorityScope } from './authority';
3
3
  import { ClassAEmitter, ClassAEmitterContext, ClassASink, VerificationGateKind } from './class-a-emit';
4
4
  import { type DeviceSigningKey } from './class-a-sign';
5
5
  import { EmitShellEventFn } from './hook-bridge';
6
- import { MergeResult, SubmitMergeGateVerdictInput } from './task-group-types';
6
+ import { SubmitMergeGateVerdictInput } from './task-group-types';
7
7
  import { TrackRegistry } from './track-registry';
8
- import { AgentKind, AuthorityAction, ClassBInbound, GateDispatchPayload, HookEvent, ImplementorHandle, LocalExecutor, MergeGateDispatchPayload, ProbeHandle, ProcessRole, ReviewerDispatchPayload, ReviseFeedbackPayload, ReviewerHandle, SpawnArgs, TrackAssignedPayload } from './types';
8
+ import { AgentKind, AuthorityAction, ClassBInbound, GateDispatchPayload, HookEvent, ImplementorHandle, LocalExecutor, MergeGateDispatchPayload, ProbeHandle, ProcessRole, ReviewerDispatchPayload, ReviseFeedbackPayload, ReviewerHandle, SpawnArgs, TrackAssignedPayload, type DurableSessionResourceDisposeOptions, type WorkspaceDisposeOptions } from './types';
9
9
  import { type TeamExecution } from './team-execution-flag';
10
+ import { type SnapshotBundlesView, type SnapshotMergeGateResult } from './snapshot-merge';
11
+ import { type WorkspaceRootAuthority } from './workspace-authority';
10
12
  import type { RenderedConflict, TrackIntentDiff } from './wb2-review-bundle';
11
13
  import type { ConflictModelCaller } from './class2-resolver';
12
14
  import type { ConflictResolverContext } from './merge-conflict-resolve';
13
15
  import { type ContentCipher } from './conflict-resolution-durable-store';
14
- import type { TrackTipsView } from './durable-store';
16
+ import type { PromoteManifestInput, SnapshotPromotionJournalV1, TrackTipsView } from './durable-store';
17
+ import { type ReviewedShadowDiffFile, type ShadowEnv } from './workspace-shadow';
15
18
  /**
16
19
  * CP-7 W2 Stage-2 HIGH (Finding 2) — STRICT delivery sink for the
17
20
  * `tier:'none'` (moat-OFF) reduced-trust badge.
18
21
  *
19
22
  * The ordinary `emitShellEvent` chokepoint RESOLVES WITHOUT EMITTING when the
20
- * cohort flag is off, the session is a `cp1a-local-*` stub, or no session key
21
- * exists (see `emit-shell-event.ts`); the team store tap likewise ignores the
23
+ * no session key exists (see
24
+ * `emit-shell-event.ts`); the team store tap likewise ignores the
22
25
  * `cp7_reduced_trust` notification. A `tier:'none'` badge routed through it can
23
26
  * therefore "succeed" (await resolves) while the user sees NOTHING — and the
24
27
  * legacy unsandboxed spawn would proceed on only a WARN.
25
28
  *
26
29
  * A `StrictBadgeSink` MUST instead CONFIRM that the user-facing NOTIFICATION was
27
30
  * ACTUALLY delivered (e.g. `createEvent` was invoked) and THROW when it cannot
28
- * deliver (cohort off / no session / stub / tap-ignored). For `tier:'none'` a
31
+ * deliver (no session / stub / tap-ignored). For `tier:'none'` a
29
32
  * throw → FAIL CLOSED (no legacy spawn). It is INTENTIONALLY separate from the
30
33
  * audit emit: audit emission stays on the existing Class-A / shell-event path;
31
34
  * this sink is ONLY the user-facing moat-OFF warning.
@@ -44,7 +47,9 @@ export type StrictBadgeSink = (badge: {
44
47
  * inject a mock without constructing the full GraphQL client.
45
48
  */
46
49
  export interface MergeGateAppSyncClient {
47
- submitMergeGateVerdict(input: SubmitMergeGateVerdictInput): Promise<{
50
+ submitMergeGateVerdict(input: SubmitMergeGateVerdictInput, opts?: {
51
+ signal?: AbortSignal;
52
+ }): Promise<{
48
53
  outcome: string;
49
54
  }>;
50
55
  }
@@ -73,6 +78,7 @@ export type SubstrateEngageResult = {
73
78
  reducedTrust: boolean;
74
79
  reducedTrustReason?: string;
75
80
  substrateHandle: SubstrateHandle;
81
+ agentConfigDir?: string;
76
82
  refreshBrokerToken(): Promise<void>;
77
83
  teardown(): Promise<void>;
78
84
  } | {
@@ -93,14 +99,36 @@ export type SubstrateEngager = (input: {
93
99
  taskId: string;
94
100
  agentKind: AgentKind;
95
101
  workdir: string;
102
+ /** Exact task-workspace incarnation selected by the orchestration owner. */
103
+ workdirAuthority?: WorkspaceRootAuthority;
96
104
  role: ProcessRole;
105
+ /**
106
+ * A1d (design §8.1) — the spawn demands hard confinement (`SpawnArgs.
107
+ * requireConfined`; today only the WB2 agentic class-2 resolver dispatch).
108
+ * Threaded so the engager can build the WRITE-CONFINED resolver row for a
109
+ * broker-less reduced-trust agent (GEMINI/ANTIGRAVITY) instead of returning
110
+ * an immediate `reduced_trust` — which the requireConfined guard below would
111
+ * fail-close to the human gate (the design's mandatory fallback, which still
112
+ * applies whenever the row cannot be established).
113
+ */
114
+ requireConfined?: boolean;
97
115
  }) => Promise<SubstrateEngageResult>;
116
+ /** Backend lease is 15 minutes; three renewal opportunities fit inside it. */
117
+ export declare const TEAM_TRACK_HEARTBEAT_INTERVAL_MS: number;
98
118
  export interface LocalExecutorImplDeps {
99
119
  sessionId: string;
100
120
  initialScope?: AuthorityScope;
101
121
  baseCtx: Omit<ClassAEmitterContext, 'taskId'>;
102
122
  adapter: AgentKind;
103
123
  sink?: ClassASink;
124
+ /**
125
+ * Hosted Class A sink dedicated to team-child progress/lease renewal.
126
+ * Keeping this explicit prevents pre-task/refusal events from being sent
127
+ * against a placeholder task id while still making team liveness durable.
128
+ */
129
+ teamProgressSink?: ClassASink;
130
+ /** Production team construction refuses admission without the hosted sink. */
131
+ requireHostedTrackHeartbeat?: boolean;
104
132
  emitShellEvent: EmitShellEventFn;
105
133
  logger?: {
106
134
  warn: (msg: string, meta?: Record<string, unknown>) => void;
@@ -114,7 +142,7 @@ export interface LocalExecutorImplDeps {
114
142
  /**
115
143
  * Builds the `SpawnArgs.argv` for a track's implementor given the track
116
144
  * payload + canonicalized state dir. The shell knows which agent binary
117
- * (claude/gemini/codex) to invoke and the prompt wiring; the LE only
145
+ * (claude/codex/agy) to invoke and the prompt wiring; the LE only
118
146
  * orchestrates spawn + idempotency + state-dir isolation. When omitted, the
119
147
  * MergeGate happy-path + idempotency tests still exercise the registry via a
120
148
  * `spawnTrackImplementor` stub.
@@ -131,9 +159,9 @@ export interface LocalExecutorImplDeps {
131
159
  /** E2E content encryptor. Defaults to `cryptoService` if injected by the shell. */
132
160
  contentEncryptor?: MergeGateContentEncryptor;
133
161
  /**
134
- * Repo root (canonicalized absolute) — the parent under which per-track state
135
- * dirs `<repoRoot>/.codevibe/state/<group>/<track>/` live, and the cwd the
136
- * MergeGate integration check runs in. Required for team sessions.
162
+ * Repo root (canonicalized absolute) — anchors validation of the legacy
163
+ * `state_dir` wire field and is the real folder the MergeGate ultimately
164
+ * promotes into. No per-track state directory is materialized.
137
165
  */
138
166
  repoRoot?: string;
139
167
  /**
@@ -151,12 +179,27 @@ export interface LocalExecutorImplDeps {
151
179
  taskId: string;
152
180
  taskGroupId: string;
153
181
  trackIndex: number;
182
+ dispatchGeneration: number;
154
183
  agent: AgentKind;
155
184
  writePaths: string[];
156
185
  autoModifiedFiles: string[];
157
186
  /** #590 — the track's own-module test files; part of the declared write
158
187
  * scope (engine disjointness-validated) so a test write stays in-lane. */
159
188
  testSurfaces: string[];
189
+ }) => Promise<'accepted' | 'refused'>;
190
+ /**
191
+ * Terminal group-lifecycle bridge. The QuorumLoop owns the real per-track
192
+ * implementor handles and task snapshots; LocalExecutor's registry contains
193
+ * membership-only handles. The callback must publish its fence synchronously
194
+ * when called, then drain/abort/clean the exact members before resolving.
195
+ */
196
+ haltTeamTaskGroup?: (info: {
197
+ taskGroupId: string;
198
+ members: readonly {
199
+ taskId: string;
200
+ trackIndex: number;
201
+ dispatchGeneration: number;
202
+ }[];
160
203
  }) => Promise<void>;
161
204
  /**
162
205
  * CP-12 W4 (#593, Stage-2 r1 Codex MED) — corrupt-brief TOMBSTONE predicate
@@ -170,7 +213,7 @@ export interface LocalExecutorImplDeps {
170
213
  * Keyed by `(taskGroupId, trackIndex)` (#593 Stage-2 r2) — B.2 recovery
171
214
  * aggregates across groups, so a tombstone must be scoped to its group.
172
215
  */
173
- isTrackTombstoned?: (taskGroupId: string, trackIndex: number) => boolean;
216
+ isTrackTombstoned?: (taskGroupId: string, trackIndex: number, taskId: string, dispatchGeneration: number) => boolean;
174
217
  /**
175
218
  * #592 PROVENANCE GUARD (live path, wired to `QuorumLoop.isForeignTeamGroup`).
176
219
  * `launchTrack` consults it right after the tombstone gate — BEFORE any registry
@@ -201,8 +244,8 @@ export interface LocalExecutorImplDeps {
201
244
  * `tier:'none'` (moat-OFF) reduced-trust badge. When supplied (production
202
245
  * wiring in cli.ts), the moat-OFF badge is delivered through THIS sink — which
203
246
  * confirms the NOTIFICATION actually reached `createEvent` and THROWS on a
204
- * silent no-op (cohort off / no session key / stub / tap-ignored) — instead of
205
- * the cohort-gated `emitShellEvent` that can resolve without emitting. A throw
247
+ * silent no-op (no session key / stub / tap-ignored) — instead of
248
+ * `emitShellEvent` that can resolve without emitting. A throw
206
249
  * here makes the `tier:'none'` path FAIL CLOSED (no unsandboxed spawn).
207
250
  *
208
251
  * ABSENT (default) → the legacy behavior: the badge goes through
@@ -246,41 +289,38 @@ export interface LocalExecutorImplDeps {
246
289
  * MergeGate so it never calls this).
247
290
  */
248
291
  awaitTaskShadowQuiescent?: (taskId: string) => Promise<void>;
249
- /**
250
- * TEST SEAM — override the bounded await for member track tips in the
251
- * `worktree_merge` gate (default {@link TRACK_TIP_AWAIT_MS}). The engine
252
- * dispatches `MergeGateDispatch` as soon as the LAST track flips Passed, but
253
- * the desktop commits each track's tip asynchronously on its OWN
254
- * `TaskAuthorized` receipt — so the dispatch can arrive BEFORE the final
255
- * track's commit has even STARTED (the shadow-ops mutex is not yet held, so
256
- * the quiescence barrier passes straight through). Dogfood-pinned 2026-07-02:
257
- * team-joint-conflict read a missing tip 0.1s before the commit landed →
258
- * FAIL verdict stored → the real train's later PASS hit the #C12-1 replay →
259
- * "Team halted — merge_integration_failure" AFTER a successful promote.
260
- */
292
+ /** Bounded await for every reviewed member bundle (legacy option name). */
261
293
  trackTipAwaitMs?: number;
294
+ /** Overall deadline shared by initial hosted verdict submit + same-key replay. */
295
+ mergeGateSubmitTimeoutMs?: number;
262
296
  /**
263
- * CP-14 — the team execution model. Since the §10 retirement (2026-07-03)
264
- * `worktree_merge` is the ONLY model: the merge gate always runs
265
- * {@link runWorktreeMergeGate} (merge-train the committed track branches +
266
- * promote the integration tip). Retained as a dep for wire/test stability.
297
+ * CP-14 — the team execution wire model. `worktree_merge` is the only label,
298
+ * but the live desktop implementation uses reviewed bundles and filesystem
299
+ * snapshots. Retained as a dep for wire/test stability.
267
300
  */
268
301
  teamExecution?: TeamExecution;
269
- /**
270
- * CP-14 Wave A — read the durable committed track tips (the merge-train inputs)
271
- * for a group. Backed by `RevertManifestStore.readTrackTips`. REQUIRED when
272
- * `teamExecution === 'worktree_merge'` (the gate fails closed without it).
273
- */
302
+ /** Deprecated offline migration reader. The live dispatch path never calls it. */
274
303
  readTrackTips?: (taskGroupId: string) => Promise<TrackTipsView>;
275
- /**
276
- * TEST SEAM (§10 retirement, 2026-07-03) override the worktree merge gate
277
- * body. Defaults to the real {@link runWorktreeMergeBranch} (merge-train +
278
- * promote). Mirrors the `runVerificationGatesFn` precedent: unit tests of the
279
- * classification/signing/submission flow AROUND the gate inject a fixed
280
- * result instead of standing up a real git fixture with track branches (the
281
- * merge-train itself has its own fixture-backed suites).
282
- */
283
- worktreeMergeGateFn?: (payload: MergeGateDispatchPayload, repoRootCanonical: string, gateKinds: VerificationGateKind[]) => Promise<MergeResult>;
304
+ /** Git-independent reviewed track bundles (the default team merge inputs). */
305
+ readTrackBundles?: (taskGroupId: string) => Promise<SnapshotBundlesView>;
306
+ /** Durable all-generation/cross-process fence around gate + hosted submission. */
307
+ withSnapshotMergeGateFence?: <T>(taskGroupId: string, operation: () => Promise<T>, signal?: AbortSignal) => Promise<T>;
308
+ /** Persist merged pre-images before the one group promotion mutates user files. */
309
+ persistSnapshotPreImages?: (taskGroupId: string, ownerTrackIndex: number, entries: PromoteManifestInput[]) => Promise<void>;
310
+ readSnapshotPromotion?: (taskGroupId: string) => Promise<SnapshotPromotionJournalV1 | null>;
311
+ prepareSnapshotPromotion?: (taskGroupId: string, operationHash: string, files: readonly ReviewedShadowDiffFile[], workspaceRootAuthority: WorkspaceRootAuthority) => Promise<void>;
312
+ markSnapshotPromotionApplied?: (taskGroupId: string, operationHash: string) => Promise<void>;
313
+ /** Optional shadow lifecycle hooks shared with implementor workspaces. */
314
+ snapshotShadowEnv?: ShadowEnv;
315
+ /** Mark a successfully accepted group terminal and reclaim its bundle state. */
316
+ completeSnapshotGroup?: (taskGroupId: string) => Promise<void>;
317
+ /** Normal-exit retirement of all ordinary durable resources from this session. */
318
+ disposeSnapshotSessionResources?: () => Promise<void>;
319
+ /**
320
+ * Legacy-named TEST SEAM around the merge-gate body. Production defaults to
321
+ * the reviewed-bundle filesystem snapshot implementation.
322
+ */
323
+ worktreeMergeGateFn?: (payload: MergeGateDispatchPayload, repoRootCanonical: string, gateKinds: VerificationGateKind[]) => Promise<SnapshotMergeGateResult>;
284
324
  /**
285
325
  * Audited-path fix (Fix 1) — surface a hosted-side PolicyRejection to the
286
326
  * DESKTOP. The LE already emits a mobile-bound NOTIFICATION via
@@ -376,6 +416,7 @@ export declare class LocalExecutorImpl implements LocalExecutor {
376
416
  private scope;
377
417
  private taskId;
378
418
  private readonly emitter;
419
+ private readonly trackProgressEmitter?;
379
420
  private readonly bridge;
380
421
  private readonly classBConsumer;
381
422
  private readonly emitShellEvent;
@@ -384,6 +425,11 @@ export declare class LocalExecutorImpl implements LocalExecutor {
384
425
  private readonly sessionId;
385
426
  private readonly trackRegistry;
386
427
  private readonly trackPayloads;
428
+ private readonly trackHeartbeats;
429
+ /** Hosted heartbeat requests admitted before a terminal/session fence. */
430
+ private readonly trackHeartbeatEmits;
431
+ /** Every accepted TrackAssigned launch coroutine, including pre-bridge awaits. */
432
+ private readonly trackLaunchPromises;
387
433
  private readonly resolvedMergeOutcomes;
388
434
  /**
389
435
  * CP-14 concurrent-dispatch dedup — the ONE in-flight merge-gate run per
@@ -392,6 +438,20 @@ export declare class LocalExecutorImpl implements LocalExecutor {
392
438
  * the #TC-7 replay path (re-submit → server replays the stored outcome).
393
439
  */
394
440
  private readonly inFlightMergeGates;
441
+ /** Disposable integration snapshots not owned by the QuorumLoop task map. */
442
+ private readonly integrationShadows;
443
+ /** Sticky exact task ids used by the post-drain durable enumeration. */
444
+ private readonly integrationTaskIdsOwned;
445
+ /** Group-terminal fence, installed before any halt await or registry abort. */
446
+ private readonly haltedTaskGroups;
447
+ private readonly integrationAbort;
448
+ private workspaceShutdown;
449
+ /** Auditless advisory spawns admitted before the session shutdown fence. */
450
+ private readonly advisorySpawnAdmissions;
451
+ /** Process-tree failures discovered after an advisory handle was returned. */
452
+ private readonly advisoryProcessCleanupFailures;
453
+ /** One exact final retirement result, reusable by strict/non-strict callers. */
454
+ private durableSessionResourceFailures;
395
455
  private _lastMergeGateEmitMs;
396
456
  private readonly teamDeps;
397
457
  private readonly logger;
@@ -423,6 +483,20 @@ export declare class LocalExecutorImpl implements LocalExecutor {
423
483
  spawnImplementor(args: SpawnArgs): Promise<ImplementorHandle>;
424
484
  spawnReviewer(_args: SpawnArgs): Promise<ReviewerHandle>;
425
485
  spawnHealthProbe(args: SpawnArgs): Promise<ProbeHandle>;
486
+ /**
487
+ * Publish advisory ownership synchronously before the first spawn await.
488
+ * Caller cancellation and session shutdown converge on one signal.
489
+ */
490
+ private admitAdvisorySpawn;
491
+ private bindAdvisorySpawn;
492
+ private settleAdvisorySpawn;
493
+ /**
494
+ * Abort and drain every auditless implementor admission to a fixed point.
495
+ * `handle.done` includes verified process-tree cleanup and registered exit
496
+ * hooks, so resolving this phase is the safe boundary before a shell turn
497
+ * removes the image the process was reading.
498
+ */
499
+ private drainAdvisorySpawns;
426
500
  /**
427
501
  * CP-7 PART F — engage the trusted-execution substrate for ONE implementor
428
502
  * spawn. Returns the `SpawnArgs` to launch with (substrate-augmented on the
@@ -448,7 +522,7 @@ export declare class LocalExecutorImpl implements LocalExecutor {
448
522
  * ambient `process.env` reachable): the badge MUST be DELIVERED before the
449
523
  * agent runs. It is routed through the STRICT delivery sink
450
524
  * (`deps.strictBadgeSink`) which CONFIRMS the NOTIFICATION actually reached
451
- * `createEvent` and THROWS on a silent no-op (cohort off / no session key /
525
+ * `createEvent` and THROWS on a silent no-op (no session key /
452
526
  * stub / tap-ignored) — the ordinary `emitShellEvent` would RESOLVE without
453
527
  * emitting in those cases (Finding 2). This method AWAITS that delivery with
454
528
  * a bounded timeout and RE-THROWS on a reject/timeout. The WARN log stays
@@ -491,6 +565,12 @@ export declare class LocalExecutorImpl implements LocalExecutor {
491
565
  * discards EXACTLY the rejected task's shadow. Optional for non-WS callers.
492
566
  */
493
567
  consumeClassB(packet: ClassBInbound, envelopeTaskId?: string): Promise<void>;
568
+ private stopExactTrackHeartbeat;
569
+ private stopTaskGroupHeartbeats;
570
+ private stopAllTrackHeartbeats;
571
+ private startTrackHeartbeat;
572
+ private retireTaskGroupMembership;
573
+ private removeExactTrackRegistration;
494
574
  /**
495
575
  * #C12-14 — launch the implementor for one track. IDEMPOTENT by
496
576
  * `(task_group_id, track_index, dispatch_generation)`: a duplicate
@@ -498,13 +578,18 @@ export declare class LocalExecutorImpl implements LocalExecutor {
498
578
  * (#C12-17). A strictly-newer generation (dispute re-dispatch, #C12-19)
499
579
  * supersedes the stale entry.
500
580
  *
501
- * Steps: (1) idempotency check; (2) create + canonicalize the per-track
502
- * `state_dir` via the existing spawn authority guard (NO bypass
503
- * `fs.realpath` exactly as `spawnSubprocess` requires); (3) advance the
504
- * per-track authority scope to `ownership_scope`; (4) spawn the implementor
505
- * in `state_dir` with the track's child `task_id`.
581
+ * Steps: (1) idempotency check; (2) validate the legacy per-track `state_dir`
582
+ * wire value without creating it; (3) register membership; (4) bridge the
583
+ * task into the QuorumLoop, which launches in a disposable WorkspaceShadow.
506
584
  */
507
585
  private launchTrack;
586
+ /**
587
+ * Bind membership changes to the durable group fence shared by reviewed
588
+ * bundle publication and merge-gate execution. A newer track generation can
589
+ * never replace membership while older reviewed bytes are being integrated
590
+ * or their hosted verdict is still in flight.
591
+ */
592
+ private launchTrackFenced;
508
593
  /**
509
594
  * CP-12 W4 (#593) — the public team-dispatch recovery entrypoint. Exposes the
510
595
  * EXACT private `launchTrack` body (register + brief bridge) so the QuorumLoop
@@ -518,13 +603,6 @@ export declare class LocalExecutorImpl implements LocalExecutor {
518
603
  * → recovery skips it (no repair, no gate dispatch).
519
604
  */
520
605
  recoverLaunchTrack(payload: TrackAssignedPayload): Promise<'registered' | 'duplicate' | 'rejected'>;
521
- /**
522
- * FIX-4 — wrap a track's `SpawnArgs` with the Class A process-lifecycle
523
- * audit hooks, mirroring the single-track `spawnWithLifecycle` path but bound
524
- * to the TRACK's own `task_id` as the Class A context (so PROCESS_SPAWNED /
525
- * PROCESS_EXITED envelopes attribute to the right track, not the team task).
526
- */
527
- private withTrackLifecycle;
528
606
  /**
529
607
  * #C12-7/#C12-8 — MergeGate runner. The `owner_track_index` track runs the
530
608
  * shared integration check, derives a PASS/FAIL classification from the gate
@@ -538,14 +616,12 @@ export declare class LocalExecutorImpl implements LocalExecutor {
538
616
  * SharedFileConflict / ScopeViolation / ReviewerDisagreement / BudgetExhausted.
539
617
  */
540
618
  /**
541
- * CP-14 Wave A the `worktree_merge` merge-gate branch: build the merge-train
542
- * inputs from the durable committed tips + the live member set, run
543
- * {@link runWorktreeMergeGate} (merge-train Tier-1 promote the integration
544
- * tip), and map the outcome to a `MergeResult` for the engine verdict. A
545
- * `merged_promoted` ⇒ PASS; ANY halt ⇒ FAIL (the user tree is untouched by
546
- * construction — #C14-AON — so there is no content to revert). FAILS CLOSED if
547
- * `readTrackTips` is unwired (the gate cannot read its inputs).
619
+ * Live Git-independent merge branch: await every reviewed track bundle, merge
620
+ * against exact pre-image hashes, verify in a disposable snapshot, and promote
621
+ * once. Missing inputs, drift, overlap, or a failed gate all fail closed.
548
622
  */
623
+ private runSnapshotMergeBranch;
624
+ /** Legacy reader for pre-migration Git branch-tip records. Not live-selected. */
549
625
  private runWorktreeMergeBranch;
550
626
  /**
551
627
  * [P1b] GUARANTEED LOCAL freeze for the merge-gate timer. Wraps the inner gate
@@ -566,6 +642,26 @@ export declare class LocalExecutorImpl implements LocalExecutor {
566
642
  * still propagates (the `finally` only emits — it never swallows).
567
643
  */
568
644
  private runMergeGate;
645
+ /**
646
+ * Wait for bundle publishers without owning their fence. Each attempt first
647
+ * drains the current task lifecycle mutexes, then briefly enters the durable
648
+ * fence and checks exact task/generation bundle readiness. A ready attempt
649
+ * retains the same fence continuously through integration and hosted submit.
650
+ */
651
+ private runMergeGateFenced;
652
+ /** True only for a missing exact current-generation bundle; malformed input is classified inside the gate. */
653
+ private snapshotInputsMissing;
654
+ /**
655
+ * Normal session teardown for integration snapshots. Abort their verification
656
+ * children, await the full in-flight gate coroutines (which own their snapshot
657
+ * `finally` blocks), then reclaim any remaining directories. Marker TTL cleanup
658
+ * is only the hard-crash fallback.
659
+ */
660
+ private retireIntegrationShadow;
661
+ private cleanupDurableIntegrationSnapshots;
662
+ private getDurableSessionResourceFailures;
663
+ disposeDurableSessionResources(opts?: DurableSessionResourceDisposeOptions): Promise<void>;
664
+ disposeWorkspaces(opts?: WorkspaceDisposeOptions): Promise<void>;
569
665
  /** The single-flight merge-gate run body (P1b freeze wrapper). See {@link runMergeGate}. */
570
666
  private runMergeGateExclusive;
571
667
  /**
@@ -575,6 +671,7 @@ export declare class LocalExecutorImpl implements LocalExecutor {
575
671
  * A thrown exit never returns → the wrapper's boolean stays `false` → freeze.
576
672
  */
577
673
  private runMergeGateInner;
674
+ private submitMergeGateVerdictWithDeadline;
578
675
  /**
579
676
  * PHASE-589+469 W1 (§5.A / §5.C / #TC-2 / #TC-3) — drive the desktop CLI
580
677
  * convergence from the AUTHORITATIVE engine `outcome`. Emits, via the SAME
@@ -591,6 +688,7 @@ export declare class LocalExecutorImpl implements LocalExecutor {
591
688
  * uses). Team-only path — single-impl never reaches runMergeGate (#TC-8).
592
689
  */
593
690
  private emitGroupConvergence;
691
+ private emitGroupConvergenceOwned;
594
692
  /**
595
693
  * PHASE-589/469 W3.2 (D2) — drive the per-track render flip + group-resolved
596
694
  * render for a USER GROUP DECISION (the 5-option escalation COMMIT), through
@@ -629,18 +727,16 @@ export declare class LocalExecutorImpl implements LocalExecutor {
629
727
  * non-negative safe integer. Otherwise a `task_group_id` of
630
728
  * "../../../../tmp/x" makes the DERIVED path itself escape, and the
631
729
  * packet's matching `state_dir` then passes the exact-match check.
632
- * 1. Compute the trusted state root `realpath(realpath(repoRoot)/.codevibe/
633
- * state)` (realpath resolves any symlinked component).
634
- * 2. DERIVE `realpath(stateRoot)/<task_group_id>/<track_index>`, mkdir -p,
635
- * realpath it (canonical workingDir for the spawn guard).
636
- * 3. CONTAINMENT CHECK the realpath'd derived dir MUST stay strictly under
637
- * the realpath'd state root (catches both `..`-segment AND symlinked-
638
- * component escapes).
639
- * 4. Verify the payload's supplied `state_dir` resolves to EXACTLY the
640
- * derived path. A mismatch / escape ⇒ REJECT (return null): no spawn, no
641
- * scope grant. Never feed an attacker-controlled path into the grant.
730
+ * 1. Canonicalize the repo root and derive the virtual legacy state path
731
+ * `<repo>/.codevibe/state/<task_group_id>/<track_index>` lexically.
732
+ * 2. Reject any existing path component that is a symlink/non-directory.
733
+ * Nothing is created: team implementors now run in disposable snapshots,
734
+ * so materializing these obsolete state directories would only leak disk
735
+ * entries on every TrackAssigned.
736
+ * 3. Verify the payload's supplied `state_dir` normalizes to EXACTLY the
737
+ * derived path. A mismatch / escape REJECT (return null).
642
738
  *
643
- * Returns the canonical derived dir on success, or `null` on a confinement
739
+ * Returns the normalized derived path on success, or `null` on a confinement
644
740
  * violation (logged here; the caller drops the packet).
645
741
  */
646
742
  private canonicalizeStateDir;
@@ -675,7 +771,8 @@ export declare class LocalExecutorImpl implements LocalExecutor {
675
771
  * §2.3 — emit a per-track progress event carrying `track_index` + `task_id`
676
772
  * in metadata so mobile/desktop CAN render per-track threads (CP-8 #469
677
773
  * renders; W2.b adds the wire attribution only). Emitting a per-track
678
- * progress event also renews that track's lease (#C12-18). This path is ONLY
774
+ * progress event is the UI/status projection only. The independently signed
775
+ * Class A heartbeat owns backend lease renewal (#C12-18). This path is ONLY
679
776
  * for group tracks — single-track events go through the hook bridge and OMIT
680
777
  * the field (backward-compatible).
681
778
  */
@@ -708,6 +805,10 @@ export declare class LocalExecutorImpl implements LocalExecutor {
708
805
  get emitterForTests(): ClassAEmitter;
709
806
  /** CP-12 W2.b — expose the per-track registry for idempotency introspection. */
710
807
  get trackRegistryForTests(): TrackRegistry;
808
+ /** @internal exact terminal-retirement assertions. */
809
+ get trackPayloadCountForTests(): number;
810
+ /** @internal recurring lease owner count. */
811
+ get trackHeartbeatCountForTests(): number;
711
812
  private contextOrNull;
712
813
  /**
713
814
  * Context resolver for ClassBConsumer emit paths (refusals + PolicyRejection).