@quantiya/codevibe-claude-plugin 2.0.7 → 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 (304) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/server.js +11 -11
  3. package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +170 -30
  4. package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +2 -0
  5. package/node_modules/@quantiya/codevibe-core/dist/auth/__tests__/keychain-cli.test.d.ts +1 -0
  6. package/node_modules/@quantiya/codevibe-core/dist/auth/keychain-cli.d.ts +6 -0
  7. package/node_modules/@quantiya/codevibe-core/dist/companion-mode/index.d.ts +14 -0
  8. package/node_modules/@quantiya/codevibe-core/dist/credential-broker/oauth-account-lock.d.ts +47 -1
  9. package/node_modules/@quantiya/codevibe-core/dist/crypto/__tests__/open-prompt-id.test.d.ts +1 -0
  10. package/node_modules/@quantiya/codevibe-core/dist/crypto/index.d.ts +1 -0
  11. package/node_modules/@quantiya/codevibe-core/dist/crypto/open-prompt-id.d.ts +36 -0
  12. package/node_modules/@quantiya/codevibe-core/dist/e1/__tests__/prompt-raise.test.d.ts +1 -0
  13. package/node_modules/@quantiya/codevibe-core/dist/e1/index.d.ts +2 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/e1/prompt-raise.d.ts +65 -0
  15. package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +4 -1
  16. package/node_modules/@quantiya/codevibe-core/dist/index.js +4480 -252
  17. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-manager.test.d.ts +1 -0
  18. package/node_modules/@quantiya/codevibe-core/dist/keychain/__tests__/keychain-migrate.test.d.ts +1 -0
  19. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-backend.d.ts +105 -0
  20. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.d.ts +17 -3
  21. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-migrate.d.ts +46 -0
  22. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/anchored-fs.test.d.ts +1 -0
  23. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-directory.test.d.ts +1 -0
  24. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/bounded-output.test.d.ts +1 -0
  25. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/durable-directory.test.d.ts +1 -0
  26. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/hosted-class-a-sink.test.d.ts +1 -0
  27. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-identity.test.d.ts +1 -0
  28. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/process-tree.test.d.ts +1 -0
  29. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/publication-authority-capability.test.d.ts +1 -0
  30. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/snapshot-merge.test.d.ts +1 -0
  31. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority-fixture.d.ts +3 -0
  32. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-authority.test.d.ts +1 -0
  33. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/workspace-materializer.test.d.ts +1 -0
  34. package/node_modules/@quantiya/codevibe-core/dist/local-executor/agentic-disposable-repo.d.ts +23 -6
  35. package/node_modules/@quantiya/codevibe-core/dist/local-executor/agentic-resolve.d.ts +16 -0
  36. package/node_modules/@quantiya/codevibe-core/dist/local-executor/anchored-fs.d.ts +243 -0
  37. package/node_modules/@quantiya/codevibe-core/dist/local-executor/bounded-directory.d.ts +64 -0
  38. package/node_modules/@quantiya/codevibe-core/dist/local-executor/bounded-helper.d.ts +22 -0
  39. package/node_modules/@quantiya/codevibe-core/dist/local-executor/bounded-output.d.ts +11 -0
  40. package/node_modules/@quantiya/codevibe-core/dist/local-executor/class-a-emit.d.ts +13 -1
  41. package/node_modules/@quantiya/codevibe-core/dist/local-executor/durable-directory.d.ts +25 -0
  42. package/node_modules/@quantiya/codevibe-core/dist/local-executor/durable-store.d.ts +217 -25
  43. package/node_modules/@quantiya/codevibe-core/dist/local-executor/hosted-class-a-sink.d.ts +27 -0
  44. package/node_modules/@quantiya/codevibe-core/dist/local-executor/index.d.ts +3 -2
  45. package/node_modules/@quantiya/codevibe-core/dist/local-executor/local-executor-impl.d.ts +159 -69
  46. package/node_modules/@quantiya/codevibe-core/dist/local-executor/process-identity.d.ts +16 -0
  47. package/node_modules/@quantiya/codevibe-core/dist/local-executor/process-tree.d.ts +123 -0
  48. package/node_modules/@quantiya/codevibe-core/dist/local-executor/revert-reconcile.d.ts +4 -0
  49. package/node_modules/@quantiya/codevibe-core/dist/local-executor/revert-runner.d.ts +14 -1
  50. package/node_modules/@quantiya/codevibe-core/dist/local-executor/snapshot-merge.d.ts +124 -0
  51. package/node_modules/@quantiya/codevibe-core/dist/local-executor/task-group-types.d.ts +7 -6
  52. package/node_modules/@quantiya/codevibe-core/dist/local-executor/team-execution-flag.d.ts +2 -2
  53. package/node_modules/@quantiya/codevibe-core/dist/local-executor/track-registry.d.ts +2 -0
  54. package/node_modules/@quantiya/codevibe-core/dist/local-executor/types.d.ts +33 -2
  55. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/build.d.ts +5 -0
  56. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/deploy-preflight.d.ts +2 -0
  57. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/diff-sanity.d.ts +12 -0
  58. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/hostile-grep.d.ts +2 -0
  59. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/lint.d.ts +2 -0
  60. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/shell-runner.d.ts +5 -0
  61. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/source-traceability.d.ts +2 -0
  62. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/tests.d.ts +3 -0
  63. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-gates/typecheck.d.ts +3 -0
  64. package/node_modules/@quantiya/codevibe-core/dist/local-executor/verification-runner.d.ts +6 -0
  65. package/node_modules/@quantiya/codevibe-core/dist/local-executor/workspace-authority.d.ts +45 -0
  66. package/node_modules/@quantiya/codevibe-core/dist/local-executor/workspace-materializer.d.ts +27 -0
  67. package/node_modules/@quantiya/codevibe-core/dist/local-executor/workspace-shadow.d.ts +378 -85
  68. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/advisory-attachment-journal.test.d.ts +1 -0
  69. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-offer-e1.test.d.ts +1 -0
  70. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/workspace-shutdown.test.d.ts +1 -0
  71. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/advisory-attachment-journal.d.ts +165 -0
  72. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/attachments.d.ts +47 -58
  73. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/bounded-shutdown.d.ts +6 -0
  74. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +36938 -27120
  75. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/declared-test-runner.d.ts +21 -2
  76. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/emit-shell-event.d.ts +7 -0
  77. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/explicit-tty-exit.d.ts +1 -2
  78. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/gate-decision-submit.d.ts +11 -0
  79. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/gate-prompts.d.ts +75 -0
  80. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +3 -0
  81. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/planner-offer-e1.d.ts +97 -0
  82. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/quorum-loop.d.ts +270 -60
  83. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/reducer.d.ts +9 -0
  84. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/task-progress.d.ts +15 -4
  85. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/team-decompose.d.ts +10 -10
  86. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/types.d.ts +32 -2
  87. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/workspace-shutdown.d.ts +27 -0
  88. package/node_modules/@quantiya/codevibe-core/dist/reviewer/output-parser.d.ts +19 -0
  89. package/node_modules/@quantiya/codevibe-core/dist/reviewer/types.d.ts +3 -0
  90. package/node_modules/@quantiya/codevibe-core/dist/reviewer/verdict-classifier.d.ts +1 -0
  91. package/node_modules/@quantiya/codevibe-core/dist/session/session-rekey.d.ts +4 -3
  92. package/node_modules/@quantiya/codevibe-core/dist/substrate/command-runner.d.ts +2 -0
  93. package/node_modules/@quantiya/codevibe-core/dist/substrate/docker.d.ts +7 -32
  94. package/node_modules/@quantiya/codevibe-core/dist/substrate/index.d.ts +0 -1
  95. package/node_modules/@quantiya/codevibe-core/dist/substrate/sandbox-exec.d.ts +0 -13
  96. package/node_modules/@quantiya/codevibe-core/dist/substrate/types.d.ts +7 -2
  97. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/__tests__/reviewer-credential-preflight.test.d.ts +1 -0
  98. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/engage-substrate.d.ts +3 -0
  99. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/index.d.ts +2 -0
  100. package/node_modules/@quantiya/codevibe-core/dist/substrate-launch/reviewer-credential-preflight.d.ts +50 -0
  101. package/node_modules/@quantiya/codevibe-core/dist/test-publication-authority-setup.d.ts +1 -0
  102. package/node_modules/@quantiya/codevibe-core/dist/tool-activity/replay-cursor.d.ts +42 -8
  103. package/node_modules/@quantiya/codevibe-core/dist/types/encryption.d.ts +5 -0
  104. package/node_modules/@quantiya/codevibe-core/dist/types/events.d.ts +5 -0
  105. package/node_modules/@quantiya/codevibe-core/package.json +3 -3
  106. package/node_modules/es-toolkit/CHANGELOG.md +46 -0
  107. package/node_modules/es-toolkit/dist/array/partition.d.mts +5 -4
  108. package/node_modules/es-toolkit/dist/array/partition.d.ts +5 -4
  109. package/node_modules/es-toolkit/dist/array/unzipWith.js +1 -1
  110. package/node_modules/es-toolkit/dist/array/unzipWith.mjs +1 -1
  111. package/node_modules/es-toolkit/dist/browser.global.js +3 -3
  112. package/node_modules/es-toolkit/dist/compat/_internal/ListIterateeCustom.d.mts +3 -2
  113. package/node_modules/es-toolkit/dist/compat/_internal/ListIterateeCustom.d.ts +3 -2
  114. package/node_modules/es-toolkit/dist/compat/_internal/assignValue.js +2 -3
  115. package/node_modules/es-toolkit/dist/compat/_internal/assignValue.mjs +2 -3
  116. package/node_modules/es-toolkit/dist/compat/_internal/createPadding.js +14 -0
  117. package/node_modules/es-toolkit/dist/compat/_internal/createPadding.mjs +13 -0
  118. package/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js +14 -1
  119. package/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.mjs +14 -1
  120. package/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js +2 -3
  121. package/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.mjs +2 -3
  122. package/node_modules/es-toolkit/dist/compat/_internal/regexMultiByte.js +11 -0
  123. package/node_modules/es-toolkit/dist/compat/_internal/regexMultiByte.mjs +11 -0
  124. package/node_modules/es-toolkit/dist/compat/array/every.js +5 -24
  125. package/node_modules/es-toolkit/dist/compat/array/every.mjs +5 -24
  126. package/node_modules/es-toolkit/dist/compat/array/filter.d.mts +7 -3
  127. package/node_modules/es-toolkit/dist/compat/array/filter.d.ts +7 -3
  128. package/node_modules/es-toolkit/dist/compat/array/filter.js +11 -11
  129. package/node_modules/es-toolkit/dist/compat/array/filter.mjs +11 -11
  130. package/node_modules/es-toolkit/dist/compat/array/find.d.mts +10 -6
  131. package/node_modules/es-toolkit/dist/compat/array/find.d.ts +10 -6
  132. package/node_modules/es-toolkit/dist/compat/array/find.js +1 -1
  133. package/node_modules/es-toolkit/dist/compat/array/find.mjs +1 -1
  134. package/node_modules/es-toolkit/dist/compat/array/findIndex.d.mts +0 -1
  135. package/node_modules/es-toolkit/dist/compat/array/findIndex.d.ts +0 -1
  136. package/node_modules/es-toolkit/dist/compat/array/findIndex.js +2 -1
  137. package/node_modules/es-toolkit/dist/compat/array/findIndex.mjs +2 -1
  138. package/node_modules/es-toolkit/dist/compat/array/findLast.d.mts +1 -1
  139. package/node_modules/es-toolkit/dist/compat/array/findLast.d.ts +1 -1
  140. package/node_modules/es-toolkit/dist/compat/array/findLast.js +12 -12
  141. package/node_modules/es-toolkit/dist/compat/array/findLast.mjs +12 -12
  142. package/node_modules/es-toolkit/dist/compat/array/findLastIndex.js +1 -0
  143. package/node_modules/es-toolkit/dist/compat/array/findLastIndex.mjs +1 -0
  144. package/node_modules/es-toolkit/dist/compat/array/flatMap.js +3 -2
  145. package/node_modules/es-toolkit/dist/compat/array/flatMap.mjs +3 -2
  146. package/node_modules/es-toolkit/dist/compat/array/flatMapDepth.js +2 -2
  147. package/node_modules/es-toolkit/dist/compat/array/flatMapDepth.mjs +2 -2
  148. package/node_modules/es-toolkit/dist/compat/array/flatten.d.mts +4 -5
  149. package/node_modules/es-toolkit/dist/compat/array/flatten.d.ts +4 -5
  150. package/node_modules/es-toolkit/dist/compat/array/flatten.js +14 -15
  151. package/node_modules/es-toolkit/dist/compat/array/flatten.mjs +14 -15
  152. package/node_modules/es-toolkit/dist/compat/array/flattenDeep.d.mts +1 -1
  153. package/node_modules/es-toolkit/dist/compat/array/flattenDeep.d.ts +1 -1
  154. package/node_modules/es-toolkit/dist/compat/array/flattenDeep.js +2 -2
  155. package/node_modules/es-toolkit/dist/compat/array/flattenDeep.mjs +2 -2
  156. package/node_modules/es-toolkit/dist/compat/array/flattenDepth.js +18 -2
  157. package/node_modules/es-toolkit/dist/compat/array/flattenDepth.mjs +18 -2
  158. package/node_modules/es-toolkit/dist/compat/array/groupBy.js +5 -4
  159. package/node_modules/es-toolkit/dist/compat/array/groupBy.mjs +4 -3
  160. package/node_modules/es-toolkit/dist/compat/array/includes.js +8 -3
  161. package/node_modules/es-toolkit/dist/compat/array/includes.mjs +8 -3
  162. package/node_modules/es-toolkit/dist/compat/array/intersectionBy.js +12 -5
  163. package/node_modules/es-toolkit/dist/compat/array/intersectionBy.mjs +12 -5
  164. package/node_modules/es-toolkit/dist/compat/array/intersectionWith.js +2 -3
  165. package/node_modules/es-toolkit/dist/compat/array/intersectionWith.mjs +2 -3
  166. package/node_modules/es-toolkit/dist/compat/array/invokeMap.js +3 -7
  167. package/node_modules/es-toolkit/dist/compat/array/invokeMap.mjs +3 -4
  168. package/node_modules/es-toolkit/dist/compat/array/lastIndexOf.js +3 -2
  169. package/node_modules/es-toolkit/dist/compat/array/lastIndexOf.mjs +3 -2
  170. package/node_modules/es-toolkit/dist/compat/array/nth.js +2 -2
  171. package/node_modules/es-toolkit/dist/compat/array/nth.mjs +2 -2
  172. package/node_modules/es-toolkit/dist/compat/array/pullAllWith.js +2 -3
  173. package/node_modules/es-toolkit/dist/compat/array/pullAllWith.mjs +2 -3
  174. package/node_modules/es-toolkit/dist/compat/array/size.js +2 -0
  175. package/node_modules/es-toolkit/dist/compat/array/size.mjs +2 -0
  176. package/node_modules/es-toolkit/dist/compat/array/sortedIndexOf.js +2 -3
  177. package/node_modules/es-toolkit/dist/compat/array/sortedIndexOf.mjs +2 -3
  178. package/node_modules/es-toolkit/dist/compat/array/sortedLastIndexOf.js +2 -3
  179. package/node_modules/es-toolkit/dist/compat/array/sortedLastIndexOf.mjs +2 -3
  180. package/node_modules/es-toolkit/dist/compat/compat.d.mts +4 -3
  181. package/node_modules/es-toolkit/dist/compat/compat.d.ts +4 -3
  182. package/node_modules/es-toolkit/dist/compat/compat.js +10 -11
  183. package/node_modules/es-toolkit/dist/compat/compat.mjs +10 -11
  184. package/node_modules/es-toolkit/dist/compat/index.d.mts +4 -3
  185. package/node_modules/es-toolkit/dist/compat/index.d.ts +4 -3
  186. package/node_modules/es-toolkit/dist/compat/index.js +10 -9
  187. package/node_modules/es-toolkit/dist/compat/index.mjs +10 -9
  188. package/node_modules/es-toolkit/dist/compat/math/inRange.d.mts +5 -2
  189. package/node_modules/es-toolkit/dist/compat/math/inRange.d.ts +5 -2
  190. package/node_modules/es-toolkit/dist/compat/math/inRange.js +14 -11
  191. package/node_modules/es-toolkit/dist/compat/math/inRange.mjs +14 -11
  192. package/node_modules/es-toolkit/dist/compat/math/maxBy.d.mts +1 -1
  193. package/node_modules/es-toolkit/dist/compat/math/maxBy.d.ts +1 -1
  194. package/node_modules/es-toolkit/dist/compat/math/maxBy.js +18 -4
  195. package/node_modules/es-toolkit/dist/compat/math/maxBy.mjs +18 -4
  196. package/node_modules/es-toolkit/dist/compat/math/minBy.d.mts +1 -1
  197. package/node_modules/es-toolkit/dist/compat/math/minBy.d.ts +1 -1
  198. package/node_modules/es-toolkit/dist/compat/math/minBy.js +18 -4
  199. package/node_modules/es-toolkit/dist/compat/math/minBy.mjs +18 -4
  200. package/node_modules/es-toolkit/dist/compat/object/assign.js +2 -3
  201. package/node_modules/es-toolkit/dist/compat/object/assign.mjs +2 -3
  202. package/node_modules/es-toolkit/dist/compat/object/assignIn.js +2 -3
  203. package/node_modules/es-toolkit/dist/compat/object/assignIn.mjs +2 -3
  204. package/node_modules/es-toolkit/dist/compat/object/assignInWith.js +2 -3
  205. package/node_modules/es-toolkit/dist/compat/object/assignInWith.mjs +2 -3
  206. package/node_modules/es-toolkit/dist/compat/object/assignWith.js +2 -3
  207. package/node_modules/es-toolkit/dist/compat/object/assignWith.mjs +2 -3
  208. package/node_modules/es-toolkit/dist/compat/object/create.js +1 -1
  209. package/node_modules/es-toolkit/dist/compat/object/create.mjs +1 -1
  210. package/node_modules/es-toolkit/dist/compat/object/defaults.js +2 -3
  211. package/node_modules/es-toolkit/dist/compat/object/defaults.mjs +2 -3
  212. package/node_modules/es-toolkit/dist/compat/object/has.js +1 -1
  213. package/node_modules/es-toolkit/dist/compat/object/has.mjs +1 -1
  214. package/node_modules/es-toolkit/dist/compat/object/hasIn.js +1 -1
  215. package/node_modules/es-toolkit/dist/compat/object/hasIn.mjs +1 -1
  216. package/node_modules/es-toolkit/dist/compat/object/unset.js +1 -1
  217. package/node_modules/es-toolkit/dist/compat/object/unset.mjs +1 -1
  218. package/node_modules/es-toolkit/dist/compat/object/values.js +5 -1
  219. package/node_modules/es-toolkit/dist/compat/object/values.mjs +5 -1
  220. package/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js +4 -5
  221. package/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.mjs +4 -5
  222. package/node_modules/es-toolkit/dist/compat/string/camelCase.js +6 -2
  223. package/node_modules/es-toolkit/dist/compat/string/camelCase.mjs +6 -2
  224. package/node_modules/es-toolkit/dist/compat/string/kebabCase.js +2 -2
  225. package/node_modules/es-toolkit/dist/compat/string/kebabCase.mjs +2 -2
  226. package/node_modules/es-toolkit/dist/compat/string/lowerCase.js +2 -2
  227. package/node_modules/es-toolkit/dist/compat/string/lowerCase.mjs +2 -2
  228. package/node_modules/es-toolkit/dist/compat/string/pad.js +10 -3
  229. package/node_modules/es-toolkit/dist/compat/string/pad.mjs +10 -3
  230. package/node_modules/es-toolkit/dist/compat/string/padEnd.js +7 -1
  231. package/node_modules/es-toolkit/dist/compat/string/padEnd.mjs +7 -1
  232. package/node_modules/es-toolkit/dist/compat/string/padStart.js +7 -1
  233. package/node_modules/es-toolkit/dist/compat/string/padStart.mjs +7 -1
  234. package/node_modules/es-toolkit/dist/compat/string/snakeCase.js +2 -2
  235. package/node_modules/es-toolkit/dist/compat/string/snakeCase.mjs +2 -2
  236. package/node_modules/es-toolkit/dist/compat/string/startCase.js +1 -1
  237. package/node_modules/es-toolkit/dist/compat/string/startCase.mjs +1 -1
  238. package/node_modules/es-toolkit/dist/compat/string/template.d.mts +1 -1
  239. package/node_modules/es-toolkit/dist/compat/string/template.d.ts +1 -1
  240. package/node_modules/es-toolkit/dist/compat/string/templateSettings.d.mts +18 -1
  241. package/node_modules/es-toolkit/dist/compat/string/templateSettings.d.ts +18 -1
  242. package/node_modules/es-toolkit/dist/compat/string/templateSettings.js +4 -1
  243. package/node_modules/es-toolkit/dist/compat/string/templateSettings.mjs +5 -1
  244. package/node_modules/es-toolkit/dist/compat/string/truncate.js +2 -9
  245. package/node_modules/es-toolkit/dist/compat/string/truncate.mjs +1 -8
  246. package/node_modules/es-toolkit/dist/compat/string/upperCase.js +2 -2
  247. package/node_modules/es-toolkit/dist/compat/string/upperCase.mjs +2 -2
  248. package/node_modules/es-toolkit/dist/compat/util/eq.d.mts +17 -1
  249. package/node_modules/es-toolkit/dist/compat/util/eq.d.ts +17 -1
  250. package/node_modules/es-toolkit/dist/compat/util/eq.js +19 -1
  251. package/node_modules/es-toolkit/dist/compat/util/eq.mjs +19 -1
  252. package/node_modules/es-toolkit/dist/compat/util/toArray.js +2 -1
  253. package/node_modules/es-toolkit/dist/compat/util/toArray.mjs +2 -1
  254. package/node_modules/es-toolkit/dist/fp/flow.d.mts +213 -0
  255. package/node_modules/es-toolkit/dist/fp/flow.d.ts +213 -0
  256. package/node_modules/es-toolkit/dist/fp/flow.js +50 -0
  257. package/node_modules/es-toolkit/dist/fp/flow.mjs +50 -0
  258. package/node_modules/es-toolkit/dist/fp/index.d.mts +2 -1
  259. package/node_modules/es-toolkit/dist/fp/index.d.ts +2 -1
  260. package/node_modules/es-toolkit/dist/fp/index.js +3 -1
  261. package/node_modules/es-toolkit/dist/fp/index.mjs +3 -2
  262. package/node_modules/es-toolkit/dist/fp/pipe.js +8 -12
  263. package/node_modules/es-toolkit/dist/fp/pipe.mjs +8 -12
  264. package/node_modules/es-toolkit/dist/map/hasValue.js +2 -2
  265. package/node_modules/es-toolkit/dist/map/hasValue.mjs +2 -2
  266. package/node_modules/es-toolkit/dist/predicate/isEqualWith.js +2 -3
  267. package/node_modules/es-toolkit/dist/predicate/isEqualWith.mjs +2 -3
  268. package/node_modules/es-toolkit/dist/string/deburr.js +1 -1
  269. package/node_modules/es-toolkit/dist/string/deburr.mjs +1 -1
  270. package/node_modules/es-toolkit/dist/types/DeepPartial.d.mts +21 -0
  271. package/node_modules/es-toolkit/dist/types/DeepPartial.d.ts +21 -0
  272. package/node_modules/es-toolkit/dist/types/DeepReadonly.d.mts +22 -0
  273. package/node_modules/es-toolkit/dist/types/DeepReadonly.d.ts +22 -0
  274. package/node_modules/es-toolkit/dist/types/NonEmptyArray.d.mts +14 -0
  275. package/node_modules/es-toolkit/dist/types/NonEmptyArray.d.ts +14 -0
  276. package/node_modules/es-toolkit/dist/types/Simplify.d.mts +18 -0
  277. package/node_modules/es-toolkit/dist/types/Simplify.d.ts +18 -0
  278. package/node_modules/es-toolkit/dist/types/ValueOf.d.mts +14 -0
  279. package/node_modules/es-toolkit/dist/types/ValueOf.d.ts +14 -0
  280. package/node_modules/es-toolkit/dist/types/Writable.d.mts +15 -0
  281. package/node_modules/es-toolkit/dist/types/Writable.d.ts +15 -0
  282. package/node_modules/es-toolkit/dist/types/index.d.mts +7 -0
  283. package/node_modules/es-toolkit/dist/types/index.d.ts +7 -0
  284. package/node_modules/es-toolkit/package.json +23 -7
  285. package/node_modules/es-toolkit/types.d.ts +1 -0
  286. package/node_modules/fs-ext/build/Makefile +347 -0
  287. package/node_modules/fs-ext/build/Release/.deps/Release/fs_ext.node.d +1 -0
  288. package/node_modules/fs-ext/build/Release/.deps/Release/obj.target/fs_ext/fs-ext.o.d +165 -0
  289. package/node_modules/fs-ext/build/Release/fs_ext.node +0 -0
  290. package/node_modules/fs-ext/build/Release/obj.target/fs_ext/fs-ext.o +0 -0
  291. package/node_modules/fs-ext/build/binding.Makefile +6 -0
  292. package/node_modules/fs-ext/build/config.gypi +503 -0
  293. package/node_modules/fs-ext/build/fs_ext.target.mk +183 -0
  294. package/node_modules/fs-ext/build/gyp-mac-tool +768 -0
  295. package/node_modules/media-typer/README.md +15 -14
  296. package/node_modules/media-typer/index.js +0 -8
  297. package/node_modules/media-typer/package.json +16 -12
  298. package/package.json +2 -2
  299. package/node_modules/@quantiya/codevibe-core/dist/substrate/git-proxy.d.ts +0 -35
  300. package/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.d.mts +0 -17
  301. package/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.d.ts +0 -17
  302. package/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.js +0 -19
  303. package/node_modules/es-toolkit/dist/_internal/isEqualsSameValueZero.mjs +0 -19
  304. /package/node_modules/@quantiya/codevibe-core/dist/{substrate/__tests__/git-proxy.test.d.ts → appsync/__tests__/refresh-open-prompt-ttl-chunk.test.d.ts} +0 -0
@@ -0,0 +1,165 @@
1
+ import { type AnchoredCommittedFile } from '../local-executor/anchored-fs';
2
+ import { type ProcessIdentity } from '../local-executor/process-identity';
3
+ import { type ProcessCleanupOwner } from '../local-executor/process-tree';
4
+ import { type WorkspaceRootAuthority } from '../local-executor/workspace-authority';
5
+ export declare function advisoryAttachmentJournalRoot(home?: string): string;
6
+ export interface BatchRecordV1 {
7
+ version: 1;
8
+ kind: 'batch';
9
+ batchId: string;
10
+ sessionId: string;
11
+ workspaceKey: string;
12
+ owner: ProcessIdentity;
13
+ workspaceRoot: WorkspaceRootAuthority;
14
+ directory: WorkspaceRootAuthority;
15
+ createdAtMs: number;
16
+ }
17
+ interface AttachmentContentAuthority {
18
+ sha256: string;
19
+ size: number;
20
+ mode: number;
21
+ }
22
+ export interface AttachmentRecordV1 {
23
+ version: 1;
24
+ kind: 'attachment';
25
+ recordId: string;
26
+ batchId: string;
27
+ sessionId: string;
28
+ owner: ProcessIdentity;
29
+ workspaceRoot: WorkspaceRootAuthority;
30
+ directory: WorkspaceRootAuthority;
31
+ targetName: string;
32
+ content: AttachmentContentAuthority;
33
+ phase: 'pending' | 'committed';
34
+ file: AnchoredCommittedFile | null;
35
+ createdAtMs: number;
36
+ }
37
+ export interface AdvisoryProcessRecordV1 {
38
+ version: 1;
39
+ kind: 'process';
40
+ recordId: string;
41
+ batchId: string;
42
+ sessionId: string;
43
+ owner: ProcessIdentity;
44
+ workspaceRoot: WorkspaceRootAuthority;
45
+ processOwner: ProcessCleanupOwner;
46
+ createdAtMs: number;
47
+ }
48
+ export interface AdvisoryAttachmentBatchAuthority {
49
+ readonly value: BatchRecordV1;
50
+ readonly recordPath: string;
51
+ readonly recordIdentity: AnchoredCommittedFile;
52
+ }
53
+ export interface AdvisoryAttachmentPublicationAuthority {
54
+ readonly value: AttachmentRecordV1;
55
+ readonly recordPath: string;
56
+ readonly recordIdentity: AnchoredCommittedFile;
57
+ }
58
+ export interface AdvisoryProcessAuthority {
59
+ readonly value: AdvisoryProcessRecordV1;
60
+ readonly recordPath: string;
61
+ readonly recordIdentity: AnchoredCommittedFile;
62
+ }
63
+ export interface AdvisoryAttachmentRecoveryResult {
64
+ recoveredAttachments: number;
65
+ retiredBatches: number;
66
+ retainedLive: number;
67
+ }
68
+ export declare class AdvisoryAttachmentWorkspaceBlockedError extends Error {
69
+ constructor(message?: string);
70
+ }
71
+ export declare class AdvisoryAttachmentJournal {
72
+ private readonly sessionId;
73
+ private readonly rootPath;
74
+ private readonly anchorPath;
75
+ private readonly currentOwner;
76
+ private readonly ownerIsAlive;
77
+ private readonly retryProcessOwner;
78
+ private readonly mintId;
79
+ private readonly now;
80
+ private readonly retirementSettleMs;
81
+ private rootAuthority;
82
+ private readonly activeBatchIds;
83
+ constructor(opts: {
84
+ sessionId: string;
85
+ /** @internal isolated private root for deterministic tests. */
86
+ rootDir?: string;
87
+ /** @internal existing ancestor for the isolated private root. */
88
+ anchorPath?: string;
89
+ /** @internal deterministic OS-incarnation seam for recovery tests. */
90
+ currentProcessIdentityFn?: () => Promise<ProcessIdentity>;
91
+ /** @internal deterministic liveness seam for recovery tests. */
92
+ isProcessIdentityAliveFn?: (identity: ProcessIdentity) => Promise<boolean>;
93
+ /** @internal deterministic exact process-group recovery seam. */
94
+ retryProcessCleanupOwnerFn?: (owner: ProcessCleanupOwner) => Promise<void>;
95
+ /** @internal deterministic UUID seam for recovery/collision tests. */
96
+ newId?: () => string;
97
+ /** @internal deterministic timestamp seam for canonical-record tests. */
98
+ now?: () => number;
99
+ /** @internal shorten the transient helper-retirement observation window. */
100
+ retirementSettleMs?: number;
101
+ });
102
+ private openRoot;
103
+ private readRecord;
104
+ private readRetirementRecord;
105
+ private helperArtifactTarget;
106
+ private listRecords;
107
+ private writeNewRecord;
108
+ private replaceRecord;
109
+ private removeRecord;
110
+ private assertBatchToken;
111
+ private assertPublicationToken;
112
+ private assertProcessToken;
113
+ private recoverProcessRecord;
114
+ /**
115
+ * `anchoredRemoveFile` quarantines an exact file under a fresh private
116
+ * `.codevibe-retire-*` name before unlink. If the helper dies in that narrow
117
+ * interval, recover the tombstone by immutable inode/content authority rather
118
+ * than by a pathname capability that the helper deliberately never exposes.
119
+ */
120
+ private findRetiredImage;
121
+ private recoverAttachmentRecord;
122
+ recoverDeadOwners(): Promise<AdvisoryAttachmentRecoveryResult>;
123
+ assertWorkspaceSafe(workingDir: string): Promise<void>;
124
+ assertBatchOwnsWorkspace(batch: AdvisoryAttachmentBatchAuthority, workingDir: string): Promise<void>;
125
+ beginBatch(args: {
126
+ workspaceRoot: WorkspaceRootAuthority;
127
+ directory: WorkspaceRootAuthority;
128
+ }): Promise<AdvisoryAttachmentBatchAuthority>;
129
+ /**
130
+ * Bind one exact advisory process group to the image batch before the
131
+ * untrusted target receives its launch ACK. A separate record per panel cell
132
+ * avoids shared-record CAS races when several advisors start concurrently.
133
+ */
134
+ beginProcess(batch: AdvisoryAttachmentBatchAuthority, processOwner: ProcessCleanupOwner): Promise<AdvisoryProcessAuthority>;
135
+ /**
136
+ * Retire a process binding only after exact process-group absence is proven.
137
+ * The spawn layer already performs this proof before its retirement hook;
138
+ * repeating it here makes the journal API independently fail closed.
139
+ */
140
+ retireProcess(authority: AdvisoryProcessAuthority, processOwner: ProcessCleanupOwner): Promise<void>;
141
+ beginPublication(args: {
142
+ batch: AdvisoryAttachmentBatchAuthority;
143
+ extension: string;
144
+ bytes: Buffer;
145
+ }): Promise<AdvisoryAttachmentPublicationAuthority>;
146
+ commitPublication(authority: AdvisoryAttachmentPublicationAuthority, file: AnchoredCommittedFile): Promise<AdvisoryAttachmentPublicationAuthority>;
147
+ abortUnpublished(authority: AdvisoryAttachmentPublicationAuthority): Promise<void>;
148
+ cleanupPublication(authority: AdvisoryAttachmentPublicationAuthority): Promise<void>;
149
+ /**
150
+ * Resolve an ambiguous image/journal commit failure from the immutable
151
+ * pending authority. The record identity may legitimately have advanced to
152
+ * `committed` before the caller lost the acknowledgement, so this verifies
153
+ * the immutable batch/target/content tuple rather than requiring the stale
154
+ * record inode.
155
+ */
156
+ recoverPublication(authority: AdvisoryAttachmentPublicationAuthority): Promise<void>;
157
+ finishBatch(batch: AdvisoryAttachmentBatchAuthority): Promise<void>;
158
+ /**
159
+ * Final normal-exit audit. It retries only this journal instance's batches
160
+ * (or definitely-dead predecessors), then refuses successful retirement while
161
+ * any record for the session remains.
162
+ */
163
+ disposeSession(): Promise<void>;
164
+ }
165
+ export {};
@@ -1,4 +1,7 @@
1
1
  import type { ImageAttachment } from './types';
2
+ import { type AnchoredCommittedFile } from '../local-executor/anchored-fs';
3
+ import { type WorkspaceRootAuthority } from '../local-executor/workspace-authority';
4
+ import { AdvisoryAttachmentJournal, type AdvisoryAttachmentBatchAuthority, type AdvisoryAttachmentPublicationAuthority } from './advisory-attachment-journal';
2
5
  /** Per-file on-disk cap (§10.5). */
3
6
  export declare const MAX_IMAGE_BYTES: number;
4
7
  /** Max attachments on the FINAL accumulated+deduped task set (§5). */
@@ -67,75 +70,61 @@ export interface CopiedAttachment {
67
70
  mime: string;
68
71
  }
69
72
  /**
70
- * [#637 Stage-2 R6 HIGH] The pinned filesystem identity of the attachments dir
71
- * (`dev`+`ino` from the validation/creation-time lstat). `O_NOFOLLOW` guards
72
- * only the FINAL path component, so any op that RESOLVES THROUGH the dir
73
- * (tmp-file open, rename, unlink, rmdir) must re-verify the parent dir is
74
- * still the very same inode immediately beforehand — a concurrent swap of
75
- * `.codevibe-attachments` to a symlink would otherwise redirect writes or
76
- * deletions outside the repo.
73
+ * Exact filesystem authority retained from advisory staging through cleanup.
74
+ * Paths alone are never deletion authority.
77
75
  */
78
- export interface AttachmentsDirIdentity {
79
- dev: number;
80
- ino: number;
76
+ export interface AdvisoryAttachmentCleanupAuthority {
77
+ /** Private durable owner; the shared exact ignore guard is persistent. */
78
+ journal: AdvisoryAttachmentJournal;
79
+ batch: AdvisoryAttachmentBatchAuthority;
80
+ /** Only exact turn-owned image publications. */
81
+ files: Array<{
82
+ identity: AnchoredCommittedFile;
83
+ publication: AdvisoryAttachmentPublicationAuthority;
84
+ }>;
81
85
  }
82
- /**
83
- * [R6 HIGH] Identity re-check immediately before a write/cleanup op that
84
- * resolves through the attachments dir: lstat (never follows), must be a REAL
85
- * directory with the SAME dev+ino as pinned at validation time. Any mismatch,
86
- * missing identity, or lstat failure → false (fail CLOSED). Node has no
87
- * openat-style fd-relative open/rename/unlink; the immediately-preceding
88
- * re-check is the accepted approximation (the residual window is the single
89
- * syscall gap).
90
- */
91
- export declare function verifyAttachmentsDirIdentity(dirPath: string, identity: AttachmentsDirIdentity | null): boolean;
92
86
  export interface PreparedAttachments {
93
87
  copiedAttachments: CopiedAttachment[];
94
88
  failedAttachments: ImageAttachment[];
95
89
  /** The brief with FAILED-copy refs rewritten to a neutral marker (no dangling ref). */
96
90
  roundBrief: string;
97
- /**
98
- * [#637 Stage-2 R5 LOW-3] True iff THIS call's OWN mkdir created the
99
- * attachments dir (non-recursive — a dir raced into existence by another
100
- * process signals EEXIST → false). The advisory caller gates its cleanup
101
- * rmdir on this so it never removes a dir it did not create; a caller-side
102
- * stat-before-await inference was racy.
103
- */
104
- createdAttachmentsDir: boolean;
105
- /**
106
- * [R6 HIGH] The pinned identity every copy was verified against — null when
107
- * staging was refused or no directory could be established. Cleanup callers
108
- * MUST pass this to `verifyAttachmentsDirIdentity` immediately before each
109
- * unlink and the rmdir.
110
- */
111
- attachmentsDirIdentity: AttachmentsDirIdentity | null;
91
+ /** Present only for real-worktree advisory staging. */
92
+ advisoryCleanupAuthority: AdvisoryAttachmentCleanupAuthority | null;
112
93
  }
113
94
  /**
114
- * Per-round copy + failure-rewrite in ONE step (§7.3, rev-7). For each attachment,
115
- * fd-copy (the §6/§7.3 `O_NOFOLLOW` + byte-ceiling + re-sniff re-validation) into
116
- * `<shadowDir>/.codevibe-attachments/<id>.<ext>` via a temp + atomic rename; for a
117
- * FAILED copy, unlink the partial dest AND rewrite that attachment's neutral rel-ref
118
- * in `roundBrief` to `[attached image skipped]` (so no dangling ref survives). The
119
- * returned `roundBrief` (failures neutralized) feeds BOTH the per-agent stdin AND
120
- * the execute-first payload. Never throws / never hard-blocks.
95
+ * Stage read-only brainstorm attachments in the user's real worktree.
121
96
  *
122
- * [#637] `destMode: 'real_worktree'` the read-only advisory panel stages into
123
- * the user's REAL repo (no shadow). A pre-existing symlink / non-directory at
124
- * `.codevibe-attachments` there belongs to the USER, so the whole staging is
125
- * REFUSED (every attachment failed, refs neutralized; the advisory proceeds
126
- * text-only) instead of the shadow path's rm-and-recreate. Default `'shadow'`
127
- * keeps the replacement behavior the shadow is disposable and the entry there
128
- * could only be implementor-planted.
97
+ * This path deliberately remains separate from implementor snapshot staging:
98
+ * user-owned conflicting entries are never removed, and the caller receives
99
+ * exact creation + inode identity so its per-turn cleanup cannot traverse a
100
+ * replacement symlink.
101
+ */
102
+ export declare function prepareAttachmentsForAdvisoryWorktree(roundBrief: string, attachments: ImageAttachment[], workdir: string, journal: AdvisoryAttachmentJournal, opts?: {
103
+ /** @internal deterministic root-replacement seam. */
104
+ onRootCaptured?: (authority: WorkspaceRootAuthority) => Promise<void> | void;
105
+ /** @internal deterministic directory-replacement seam. */
106
+ onDirEnsured?: (authority: WorkspaceRootAuthority) => Promise<void> | void;
107
+ /** @internal deterministic pre-publication swap seam. */
108
+ beforeFileCommit?: (attachment: ImageAttachment, destination: string) => Promise<void> | void;
109
+ }): Promise<PreparedAttachments>;
110
+ /**
111
+ * Retire only files committed by one advisory staging call. Exact file,
112
+ * directory, and root identities are re-authenticated by anchored helpers;
113
+ * replacement entries are retained untouched.
114
+ */
115
+ export declare function cleanupPreparedAdvisoryAttachments(prepared: PreparedAttachments, opts?: {
116
+ /** @internal deterministic exact-unlink race seam. */
117
+ beforeFileRemove?: (file: AnchoredCommittedFile, quarantinePath: string) => Promise<void> | void;
118
+ }): Promise<void>;
119
+ /**
120
+ * Per-round copy + failure-rewrite in ONE step (§7.3, rev-7). For each attachment,
121
+ * validate the captured snapshot authority, create its attachments directory
122
+ * through the anchored helper, and publish each bounded/re-sniffed image with
123
+ * an anchored atomic write. A failed copy rewrites that attachment's neutral
124
+ * reference to `[attached image skipped]`; this function never hard-blocks the
125
+ * task on attachment failure.
129
126
  */
130
- export declare function prepareAttachmentsForSpawn(roundBrief: string, attachments: ImageAttachment[], shadowDir: string, opts?: {
131
- destMode?: 'shadow' | 'real_worktree';
132
- /**
133
- * Injectable test seam (deterministic swap-window tests, same idiom as
134
- * `IngestOptions.newId`): runs between the dir-identity pin and the
135
- * per-file copies — exactly the [R6 HIGH] race window.
136
- */
137
- onDirEnsured?: () => void;
138
- }): PreparedAttachments;
127
+ export declare function prepareAttachmentsForSpawn(roundBrief: string, attachments: ImageAttachment[], shadowRootAuthority: WorkspaceRootAuthority): Promise<PreparedAttachments>;
139
128
  /**
140
129
  * Per-agent rendering of the copied-attachment refs, appended to the brief at spawn
141
130
  * (§7.2). The stored/canonical brief is agent-NEUTRAL (`.codevibe-attachments/<id>.<ext>`);
@@ -7,6 +7,12 @@ export interface BoundedSharedShutdownOperationOptions {
7
7
  normalTimeoutMs: number;
8
8
  signalTimeoutMs: number;
9
9
  onTimeout?: (deadlineClass: ShutdownDeadlineClass, timeoutMs: number) => void;
10
+ /**
11
+ * Optionally turn a deadline into a caller-visible failure. Normal shutdown
12
+ * uses this to refuse a successful exit while cleanup authority is still
13
+ * unresolved; signal shutdown intentionally remains best-effort and bounded.
14
+ */
15
+ timeoutError?: (deadlineClass: ShutdownDeadlineClass, timeoutMs: number) => Error | undefined;
10
16
  }
11
17
  /**
12
18
  * Starts one shutdown operation and gives normal and signal callers one shared