@quantiya/codevibe-claude-plugin 2.0.27 → 2.0.29

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 (333) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +1 -0
  3. package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +1 -0
  4. package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +5 -1
  5. package/node_modules/@quantiya/codevibe-core/dist/index.js +447 -415
  6. package/node_modules/@quantiya/codevibe-core/dist/local-executor/__tests__/local-executor-teams-summary.test.d.ts +1 -0
  7. package/node_modules/@quantiya/codevibe-core/dist/local-executor/hook-bridge.d.ts +2 -1
  8. package/node_modules/@quantiya/codevibe-core/dist/local-executor/index.d.ts +5 -0
  9. package/node_modules/@quantiya/codevibe-core/dist/local-executor/local-executor-impl.d.ts +16 -0
  10. package/node_modules/@quantiya/codevibe-core/dist/local-executor/team-summary.d.ts +151 -0
  11. package/node_modules/@quantiya/codevibe-core/dist/local-model/ollama.d.ts +3 -1
  12. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-buffer-join.test.d.ts +1 -0
  13. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-normalization.test.d.ts +1 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/audit-summary.test.d.ts +1 -0
  15. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/decision-map-lifecycle.test.d.ts +1 -0
  16. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/planner-confirmation-routing.test.d.ts +1 -0
  17. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/query_audit_tier_gate.test.d.ts +1 -0
  18. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-fail-safe.test.d.ts +1 -0
  19. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/__tests__/quorum-loop-summary.test.d.ts +1 -0
  20. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/audit-runner.d.ts +25 -0
  21. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/audit-summary.d.ts +240 -0
  22. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.d.ts +11 -3
  23. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/cli.js +3693 -1315
  24. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/context-compaction.d.ts +2 -0
  25. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/gate-decision-submit.d.ts +1 -1
  26. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/index.d.ts +23 -17
  27. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/quorum-loop.d.ts +96 -1
  28. package/node_modules/@quantiya/codevibe-core/dist/planner/local-gemma.d.ts +35 -7
  29. package/node_modules/@quantiya/codevibe-core/package.json +2 -2
  30. package/node_modules/es-toolkit/CHANGELOG.md +3 -38
  31. package/node_modules/es-toolkit/dist/browser.global.js +4 -4
  32. package/node_modules/es-toolkit/dist/compat/array/differenceWith.js +1 -2
  33. package/node_modules/es-toolkit/dist/compat/array/differenceWith.mjs +1 -2
  34. package/node_modules/es-toolkit/dist/compat/array/findLastIndex.js +3 -5
  35. package/node_modules/es-toolkit/dist/compat/array/findLastIndex.mjs +3 -5
  36. package/node_modules/es-toolkit/dist/compat/array/sortedIndexBy.js +1 -1
  37. package/node_modules/es-toolkit/dist/compat/array/sortedIndexBy.mjs +1 -1
  38. package/node_modules/es-toolkit/dist/compat/array/without.js +2 -8
  39. package/node_modules/es-toolkit/dist/compat/array/without.mjs +2 -8
  40. package/node_modules/es-toolkit/dist/compat/array/xorWith.js +6 -4
  41. package/node_modules/es-toolkit/dist/compat/array/xorWith.mjs +6 -4
  42. package/node_modules/es-toolkit/dist/compat/compat.js +1 -1
  43. package/node_modules/es-toolkit/dist/compat/compat.mjs +1 -1
  44. package/node_modules/es-toolkit/dist/compat/function/debounce.js +1 -1
  45. package/node_modules/es-toolkit/dist/compat/function/debounce.mjs +1 -1
  46. package/node_modules/es-toolkit/dist/compat/index.js +1 -1
  47. package/node_modules/es-toolkit/dist/compat/index.mjs +1 -1
  48. package/node_modules/es-toolkit/dist/compat/object/has.js +2 -3
  49. package/node_modules/es-toolkit/dist/compat/object/has.mjs +2 -3
  50. package/node_modules/es-toolkit/dist/compat/object/hasIn.js +2 -3
  51. package/node_modules/es-toolkit/dist/compat/object/hasIn.mjs +2 -3
  52. package/node_modules/es-toolkit/dist/compat/object/mergeWith.js +1 -1
  53. package/node_modules/es-toolkit/dist/compat/object/mergeWith.mjs +1 -1
  54. package/node_modules/es-toolkit/dist/compat/object/omitBy.js +1 -1
  55. package/node_modules/es-toolkit/dist/compat/object/omitBy.mjs +1 -1
  56. package/node_modules/es-toolkit/dist/compat/object/pickBy.js +1 -1
  57. package/node_modules/es-toolkit/dist/compat/object/pickBy.mjs +1 -1
  58. package/node_modules/es-toolkit/dist/compat/util/toString.js +1 -3
  59. package/node_modules/es-toolkit/dist/compat/util/toString.mjs +1 -3
  60. package/node_modules/es-toolkit/dist/fp/index.d.mts +1 -2
  61. package/node_modules/es-toolkit/dist/fp/index.d.ts +1 -2
  62. package/node_modules/es-toolkit/dist/fp/index.js +0 -2
  63. package/node_modules/es-toolkit/dist/fp/index.mjs +1 -2
  64. package/node_modules/es-toolkit/dist/index.d.mts +1 -3
  65. package/node_modules/es-toolkit/dist/index.d.ts +1 -3
  66. package/node_modules/es-toolkit/dist/index.js +0 -4
  67. package/node_modules/es-toolkit/dist/index.mjs +1 -3
  68. package/node_modules/es-toolkit/dist/object/merge.d.mts +1 -3
  69. package/node_modules/es-toolkit/dist/object/merge.d.ts +1 -3
  70. package/node_modules/es-toolkit/dist/object/merge.js +40 -0
  71. package/node_modules/es-toolkit/dist/object/merge.mjs +40 -0
  72. package/node_modules/es-toolkit/dist/object/omitBy.d.mts +2 -4
  73. package/node_modules/es-toolkit/dist/object/omitBy.d.ts +2 -4
  74. package/node_modules/es-toolkit/dist/object/omitBy.js +3 -4
  75. package/node_modules/es-toolkit/dist/object/omitBy.mjs +3 -4
  76. package/node_modules/es-toolkit/dist/object/pickBy.d.mts +2 -4
  77. package/node_modules/es-toolkit/dist/object/pickBy.d.ts +2 -4
  78. package/node_modules/es-toolkit/dist/object/pickBy.js +3 -4
  79. package/node_modules/es-toolkit/dist/object/pickBy.mjs +3 -4
  80. package/node_modules/es-toolkit/dist/types/index.d.mts +2 -11
  81. package/node_modules/es-toolkit/dist/types/index.d.ts +2 -11
  82. package/node_modules/es-toolkit/dist/util/attempt.d.mts +1 -1
  83. package/node_modules/es-toolkit/dist/util/attempt.d.ts +1 -1
  84. package/node_modules/es-toolkit/dist/util/attemptAsync.d.mts +1 -1
  85. package/node_modules/es-toolkit/dist/util/attemptAsync.d.ts +1 -1
  86. package/node_modules/es-toolkit/dist/util/index.d.mts +1 -3
  87. package/node_modules/es-toolkit/dist/util/index.d.ts +1 -3
  88. package/node_modules/es-toolkit/dist/util/index.js +0 -4
  89. package/node_modules/es-toolkit/dist/util/index.mjs +1 -3
  90. package/node_modules/es-toolkit/package.json +1 -44
  91. package/node_modules/node-abi/abi_registry.json +0 -7
  92. package/node_modules/node-abi/package.json +1 -1
  93. package/node_modules/qs/.github/THREAT_MODEL.md +3 -3
  94. package/node_modules/qs/CHANGELOG.md +0 -15
  95. package/node_modules/qs/README.md +1 -19
  96. package/node_modules/qs/dist/qs.js +21 -21
  97. package/node_modules/qs/eslint.config.mjs +1 -1
  98. package/node_modules/qs/lib/parse.js +4 -3
  99. package/node_modules/qs/lib/stringify.js +8 -23
  100. package/node_modules/qs/lib/utils.js +3 -10
  101. package/node_modules/qs/package.json +4 -4
  102. package/node_modules/qs/test/parse.js +3 -192
  103. package/node_modules/qs/test/stringify.js +0 -317
  104. package/node_modules/qs/test/utils.js +0 -12
  105. package/node_modules/type-fest/index.d.ts +7 -6
  106. package/node_modules/type-fest/package.json +1 -1
  107. package/node_modules/type-fest/readme.md +5 -6
  108. package/node_modules/type-fest/source/delimiter-case.d.ts +1 -1
  109. package/node_modules/type-fest/source/get.d.ts +1 -1
  110. package/node_modules/type-fest/source/internal/object.d.ts +1 -30
  111. package/node_modules/type-fest/source/is-literal.d.ts +269 -43
  112. package/node_modules/type-fest/source/jsonify.d.ts +5 -1
  113. package/node_modules/type-fest/source/remove-prefix.d.ts +1 -1
  114. package/node_modules/type-fest/source/remove-suffix.d.ts +1 -1
  115. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +3 -4
  116. package/node_modules/type-fest/source/split.d.ts +1 -1
  117. package/node_modules/type-fest/source/string-repeat.d.ts +1 -1
  118. package/node_modules/type-fest/source/string-to-array.d.ts +1 -1
  119. package/node_modules/type-fest/source/tsconfig-json.d.ts +1 -1
  120. package/node_modules/type-fest/source/typed-array.d.ts +0 -1
  121. package/node_modules/type-fest/source/writable.d.ts +2 -2
  122. package/package.json +2 -2
  123. package/node_modules/@quantiya/codevibe-core/dist/orchestration-shell/direct-file-delete.d.ts +0 -22
  124. package/node_modules/es-toolkit/dist/fp/flowAsync.d.mts +0 -213
  125. package/node_modules/es-toolkit/dist/fp/flowAsync.d.ts +0 -213
  126. package/node_modules/es-toolkit/dist/fp/flowAsync.js +0 -37
  127. package/node_modules/es-toolkit/dist/fp/flowAsync.mjs +0 -37
  128. package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.d.mts +0 -23
  129. package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.d.ts +0 -23
  130. package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.js +0 -28
  131. package/node_modules/es-toolkit/dist/fp/iterator/cartesianProduct.mjs +0 -28
  132. package/node_modules/es-toolkit/dist/fp/iterator/chunk.d.mts +0 -19
  133. package/node_modules/es-toolkit/dist/fp/iterator/chunk.d.ts +0 -19
  134. package/node_modules/es-toolkit/dist/fp/iterator/chunk.js +0 -24
  135. package/node_modules/es-toolkit/dist/fp/iterator/chunk.mjs +0 -24
  136. package/node_modules/es-toolkit/dist/fp/iterator/count.d.mts +0 -20
  137. package/node_modules/es-toolkit/dist/fp/iterator/count.d.ts +0 -20
  138. package/node_modules/es-toolkit/dist/fp/iterator/count.js +0 -25
  139. package/node_modules/es-toolkit/dist/fp/iterator/count.mjs +0 -25
  140. package/node_modules/es-toolkit/dist/fp/iterator/drop.d.mts +0 -20
  141. package/node_modules/es-toolkit/dist/fp/iterator/drop.d.ts +0 -20
  142. package/node_modules/es-toolkit/dist/fp/iterator/drop.js +0 -24
  143. package/node_modules/es-toolkit/dist/fp/iterator/drop.mjs +0 -24
  144. package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.d.mts +0 -18
  145. package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.d.ts +0 -18
  146. package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.js +0 -23
  147. package/node_modules/es-toolkit/dist/fp/iterator/dropWhile.mjs +0 -23
  148. package/node_modules/es-toolkit/dist/fp/iterator/every.d.mts +0 -20
  149. package/node_modules/es-toolkit/dist/fp/iterator/every.d.ts +0 -20
  150. package/node_modules/es-toolkit/dist/fp/iterator/every.js +0 -24
  151. package/node_modules/es-toolkit/dist/fp/iterator/every.mjs +0 -24
  152. package/node_modules/es-toolkit/dist/fp/iterator/filter.d.mts +0 -37
  153. package/node_modules/es-toolkit/dist/fp/iterator/filter.d.ts +0 -37
  154. package/node_modules/es-toolkit/dist/fp/iterator/filter.js +0 -8
  155. package/node_modules/es-toolkit/dist/fp/iterator/filter.mjs +0 -8
  156. package/node_modules/es-toolkit/dist/fp/iterator/find.d.mts +0 -20
  157. package/node_modules/es-toolkit/dist/fp/iterator/find.d.ts +0 -20
  158. package/node_modules/es-toolkit/dist/fp/iterator/find.js +0 -24
  159. package/node_modules/es-toolkit/dist/fp/iterator/find.mjs +0 -24
  160. package/node_modules/es-toolkit/dist/fp/iterator/flatMap.d.mts +0 -20
  161. package/node_modules/es-toolkit/dist/fp/iterator/flatMap.d.ts +0 -20
  162. package/node_modules/es-toolkit/dist/fp/iterator/flatMap.js +0 -24
  163. package/node_modules/es-toolkit/dist/fp/iterator/flatMap.mjs +0 -24
  164. package/node_modules/es-toolkit/dist/fp/iterator/forEach.d.mts +0 -22
  165. package/node_modules/es-toolkit/dist/fp/iterator/forEach.d.ts +0 -22
  166. package/node_modules/es-toolkit/dist/fp/iterator/forEach.js +0 -26
  167. package/node_modules/es-toolkit/dist/fp/iterator/forEach.mjs +0 -26
  168. package/node_modules/es-toolkit/dist/fp/iterator/head.d.mts +0 -19
  169. package/node_modules/es-toolkit/dist/fp/iterator/head.d.ts +0 -19
  170. package/node_modules/es-toolkit/dist/fp/iterator/head.js +0 -24
  171. package/node_modules/es-toolkit/dist/fp/iterator/head.mjs +0 -24
  172. package/node_modules/es-toolkit/dist/fp/iterator/index.d.mts +0 -22
  173. package/node_modules/es-toolkit/dist/fp/iterator/index.d.ts +0 -22
  174. package/node_modules/es-toolkit/dist/fp/iterator/index.js +0 -43
  175. package/node_modules/es-toolkit/dist/fp/iterator/index.mjs +0 -22
  176. package/node_modules/es-toolkit/dist/fp/iterator/map.d.mts +0 -20
  177. package/node_modules/es-toolkit/dist/fp/iterator/map.d.ts +0 -20
  178. package/node_modules/es-toolkit/dist/fp/iterator/map.js +0 -24
  179. package/node_modules/es-toolkit/dist/fp/iterator/map.mjs +0 -24
  180. package/node_modules/es-toolkit/dist/fp/iterator/partition.d.mts +0 -22
  181. package/node_modules/es-toolkit/dist/fp/iterator/partition.d.ts +0 -22
  182. package/node_modules/es-toolkit/dist/fp/iterator/partition.js +0 -27
  183. package/node_modules/es-toolkit/dist/fp/iterator/partition.mjs +0 -27
  184. package/node_modules/es-toolkit/dist/fp/iterator/reduce.d.mts +0 -24
  185. package/node_modules/es-toolkit/dist/fp/iterator/reduce.d.ts +0 -24
  186. package/node_modules/es-toolkit/dist/fp/iterator/reduce.js +0 -28
  187. package/node_modules/es-toolkit/dist/fp/iterator/reduce.mjs +0 -28
  188. package/node_modules/es-toolkit/dist/fp/iterator/scan.d.mts +0 -21
  189. package/node_modules/es-toolkit/dist/fp/iterator/scan.d.ts +0 -21
  190. package/node_modules/es-toolkit/dist/fp/iterator/scan.js +0 -26
  191. package/node_modules/es-toolkit/dist/fp/iterator/scan.mjs +0 -26
  192. package/node_modules/es-toolkit/dist/fp/iterator/some.d.mts +0 -20
  193. package/node_modules/es-toolkit/dist/fp/iterator/some.d.ts +0 -20
  194. package/node_modules/es-toolkit/dist/fp/iterator/some.js +0 -24
  195. package/node_modules/es-toolkit/dist/fp/iterator/some.mjs +0 -24
  196. package/node_modules/es-toolkit/dist/fp/iterator/take.d.mts +0 -21
  197. package/node_modules/es-toolkit/dist/fp/iterator/take.d.ts +0 -21
  198. package/node_modules/es-toolkit/dist/fp/iterator/take.js +0 -25
  199. package/node_modules/es-toolkit/dist/fp/iterator/take.mjs +0 -25
  200. package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.d.mts +0 -19
  201. package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.d.ts +0 -19
  202. package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.js +0 -24
  203. package/node_modules/es-toolkit/dist/fp/iterator/takeWhile.mjs +0 -24
  204. package/node_modules/es-toolkit/dist/fp/iterator/toArray.d.mts +0 -21
  205. package/node_modules/es-toolkit/dist/fp/iterator/toArray.d.ts +0 -21
  206. package/node_modules/es-toolkit/dist/fp/iterator/toArray.js +0 -25
  207. package/node_modules/es-toolkit/dist/fp/iterator/toArray.mjs +0 -25
  208. package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.d.mts +0 -20
  209. package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.d.ts +0 -20
  210. package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.js +0 -25
  211. package/node_modules/es-toolkit/dist/fp/iterator/uniqBy.mjs +0 -25
  212. package/node_modules/es-toolkit/dist/fp/iterator/zip.d.mts +0 -20
  213. package/node_modules/es-toolkit/dist/fp/iterator/zip.d.ts +0 -20
  214. package/node_modules/es-toolkit/dist/fp/iterator/zip.js +0 -25
  215. package/node_modules/es-toolkit/dist/fp/iterator/zip.mjs +0 -25
  216. package/node_modules/es-toolkit/dist/iterator/_internal/iterator.js +0 -74
  217. package/node_modules/es-toolkit/dist/iterator/_internal/iterator.mjs +0 -74
  218. package/node_modules/es-toolkit/dist/iterator/cartesianProduct.d.mts +0 -33
  219. package/node_modules/es-toolkit/dist/iterator/cartesianProduct.d.ts +0 -33
  220. package/node_modules/es-toolkit/dist/iterator/cartesianProduct.js +0 -95
  221. package/node_modules/es-toolkit/dist/iterator/cartesianProduct.mjs +0 -95
  222. package/node_modules/es-toolkit/dist/iterator/chunk.d.mts +0 -21
  223. package/node_modules/es-toolkit/dist/iterator/chunk.d.ts +0 -21
  224. package/node_modules/es-toolkit/dist/iterator/chunk.js +0 -40
  225. package/node_modules/es-toolkit/dist/iterator/chunk.mjs +0 -40
  226. package/node_modules/es-toolkit/dist/iterator/count.d.mts +0 -18
  227. package/node_modules/es-toolkit/dist/iterator/count.d.ts +0 -18
  228. package/node_modules/es-toolkit/dist/iterator/count.js +0 -26
  229. package/node_modules/es-toolkit/dist/iterator/count.mjs +0 -26
  230. package/node_modules/es-toolkit/dist/iterator/dropWhile.d.mts +0 -20
  231. package/node_modules/es-toolkit/dist/iterator/dropWhile.d.ts +0 -20
  232. package/node_modules/es-toolkit/dist/iterator/dropWhile.js +0 -52
  233. package/node_modules/es-toolkit/dist/iterator/dropWhile.mjs +0 -52
  234. package/node_modules/es-toolkit/dist/iterator/head.d.mts +0 -21
  235. package/node_modules/es-toolkit/dist/iterator/head.d.ts +0 -21
  236. package/node_modules/es-toolkit/dist/iterator/head.js +0 -26
  237. package/node_modules/es-toolkit/dist/iterator/head.mjs +0 -26
  238. package/node_modules/es-toolkit/dist/iterator/index.d.mts +0 -13
  239. package/node_modules/es-toolkit/dist/iterator/index.d.ts +0 -13
  240. package/node_modules/es-toolkit/dist/iterator/index.js +0 -25
  241. package/node_modules/es-toolkit/dist/iterator/index.mjs +0 -13
  242. package/node_modules/es-toolkit/dist/iterator/iterate.d.mts +0 -20
  243. package/node_modules/es-toolkit/dist/iterator/iterate.d.ts +0 -20
  244. package/node_modules/es-toolkit/dist/iterator/iterate.js +0 -32
  245. package/node_modules/es-toolkit/dist/iterator/iterate.mjs +0 -32
  246. package/node_modules/es-toolkit/dist/iterator/partition.d.mts +0 -18
  247. package/node_modules/es-toolkit/dist/iterator/partition.d.ts +0 -18
  248. package/node_modules/es-toolkit/dist/iterator/partition.js +0 -36
  249. package/node_modules/es-toolkit/dist/iterator/partition.mjs +0 -36
  250. package/node_modules/es-toolkit/dist/iterator/range.d.mts +0 -42
  251. package/node_modules/es-toolkit/dist/iterator/range.d.ts +0 -42
  252. package/node_modules/es-toolkit/dist/iterator/range.js +0 -25
  253. package/node_modules/es-toolkit/dist/iterator/range.mjs +0 -25
  254. package/node_modules/es-toolkit/dist/iterator/scan.d.mts +0 -23
  255. package/node_modules/es-toolkit/dist/iterator/scan.d.ts +0 -23
  256. package/node_modules/es-toolkit/dist/iterator/scan.js +0 -47
  257. package/node_modules/es-toolkit/dist/iterator/scan.mjs +0 -47
  258. package/node_modules/es-toolkit/dist/iterator/takeWhile.d.mts +0 -20
  259. package/node_modules/es-toolkit/dist/iterator/takeWhile.d.ts +0 -20
  260. package/node_modules/es-toolkit/dist/iterator/takeWhile.js +0 -34
  261. package/node_modules/es-toolkit/dist/iterator/takeWhile.mjs +0 -34
  262. package/node_modules/es-toolkit/dist/iterator/uniqBy.d.mts +0 -22
  263. package/node_modules/es-toolkit/dist/iterator/uniqBy.d.ts +0 -22
  264. package/node_modules/es-toolkit/dist/iterator/uniqBy.js +0 -43
  265. package/node_modules/es-toolkit/dist/iterator/uniqBy.mjs +0 -43
  266. package/node_modules/es-toolkit/dist/iterator/zip.d.mts +0 -23
  267. package/node_modules/es-toolkit/dist/iterator/zip.d.ts +0 -23
  268. package/node_modules/es-toolkit/dist/iterator/zip.js +0 -45
  269. package/node_modules/es-toolkit/dist/iterator/zip.mjs +0 -45
  270. package/node_modules/es-toolkit/dist/types/EmptyObject.d.mts +0 -21
  271. package/node_modules/es-toolkit/dist/types/EmptyObject.d.ts +0 -21
  272. package/node_modules/es-toolkit/dist/types/IsEqual.d.mts +0 -18
  273. package/node_modules/es-toolkit/dist/types/IsEqual.d.ts +0 -18
  274. package/node_modules/es-toolkit/dist/types/JSONValue.d.mts +0 -24
  275. package/node_modules/es-toolkit/dist/types/JSONValue.d.ts +0 -24
  276. package/node_modules/es-toolkit/dist/types/Merge.d.mts +0 -37
  277. package/node_modules/es-toolkit/dist/types/Merge.d.ts +0 -37
  278. package/node_modules/es-toolkit/dist/types/ObjectKeys.d.mts +0 -19
  279. package/node_modules/es-toolkit/dist/types/ObjectKeys.d.ts +0 -19
  280. package/node_modules/es-toolkit/dist/types/Primitive.d.mts +0 -14
  281. package/node_modules/es-toolkit/dist/types/Primitive.d.ts +0 -14
  282. package/node_modules/es-toolkit/dist/types/SetOptional.d.mts +0 -20
  283. package/node_modules/es-toolkit/dist/types/SetOptional.d.ts +0 -20
  284. package/node_modules/es-toolkit/dist/types/SetRequired.d.mts +0 -20
  285. package/node_modules/es-toolkit/dist/types/SetRequired.d.ts +0 -20
  286. package/node_modules/es-toolkit/dist/types/UnknownRecord.d.mts +0 -24
  287. package/node_modules/es-toolkit/dist/types/UnknownRecord.d.ts +0 -24
  288. package/node_modules/es-toolkit/dist/util/defer.d.mts +0 -27
  289. package/node_modules/es-toolkit/dist/util/defer.d.ts +0 -27
  290. package/node_modules/es-toolkit/dist/util/defer.js +0 -31
  291. package/node_modules/es-toolkit/dist/util/defer.mjs +0 -31
  292. package/node_modules/es-toolkit/dist/util/deferAsync.d.mts +0 -30
  293. package/node_modules/es-toolkit/dist/util/deferAsync.d.ts +0 -30
  294. package/node_modules/es-toolkit/dist/util/deferAsync.js +0 -34
  295. package/node_modules/es-toolkit/dist/util/deferAsync.mjs +0 -34
  296. package/node_modules/es-toolkit/fp/iterator.d.ts +0 -1
  297. package/node_modules/es-toolkit/fp/iterator.js +0 -1
  298. package/node_modules/es-toolkit/iterator.d.ts +0 -1
  299. package/node_modules/es-toolkit/iterator.js +0 -1
  300. package/node_modules/fs-ext/build/Makefile +0 -347
  301. package/node_modules/fs-ext/build/Release/.deps/Release/fs_ext.node.d +0 -1
  302. package/node_modules/fs-ext/build/Release/.deps/Release/obj.target/fs_ext/fs-ext.o.d +0 -165
  303. package/node_modules/fs-ext/build/Release/fs_ext.node +0 -0
  304. package/node_modules/fs-ext/build/Release/obj.target/fs_ext/fs-ext.o +0 -0
  305. package/node_modules/fs-ext/build/binding.Makefile +0 -6
  306. package/node_modules/fs-ext/build/config.gypi +0 -503
  307. package/node_modules/fs-ext/build/fs_ext.target.mk +0 -183
  308. package/node_modules/fs-ext/build/gyp-mac-tool +0 -768
  309. package/node_modules/keytar/build/Release/keytar.node +0 -0
  310. package/node_modules/type-fest/source/is-boolean-literal.d.ts +0 -39
  311. package/node_modules/type-fest/source/is-numeric-literal.d.ts +0 -50
  312. package/node_modules/type-fest/source/is-string-literal.d.ts +0 -72
  313. package/node_modules/type-fest/source/is-symbol-literal.d.ts +0 -39
  314. package/node_modules/type-fest/source/rename-keys.d.ts +0 -163
  315. /package/node_modules/@quantiya/codevibe-core/dist/{orchestration-shell/__tests__/direct-file-delete.test.d.ts → appsync/__tests__/supervision-subscription.test.d.ts} +0 -0
  316. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/LICENSE.md +0 -0
  317. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/README.md +0 -0
  318. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/common.gypi +0 -0
  319. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/except.gypi +0 -0
  320. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/index.js +0 -0
  321. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi-inl.deprecated.h +0 -0
  322. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi-inl.h +0 -0
  323. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/napi.h +0 -0
  324. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/node_api.gyp +0 -0
  325. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/noexcept.gypi +0 -0
  326. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/nothing.c +0 -0
  327. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/package-support.json +0 -0
  328. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/package.json +0 -0
  329. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/README.md +0 -0
  330. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/check-napi.js +0 -0
  331. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/clang-format.js +0 -0
  332. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/conversion.js +0 -0
  333. /package/node_modules/{keytar/node_modules/node-addon-api → node-addon-api}/tools/eslint-format.js +0 -0
@@ -239,6 +239,8 @@ export declare function renderRehydratedSessionContext(deps: {
239
239
  clearance: ContextItemSensitivity;
240
240
  /** Stage-2 R1 H1 — the dispatch scope (see `rehydrateSessionContext`). */
241
241
  scope?: DispatchScope;
242
+ /** Classifier control state comes from the current request, not prior decisions. */
243
+ purpose?: 'classification';
242
244
  }): Promise<string>;
243
245
  /**
244
246
  * §6 Eviction/GC — TTL-only retention sweep of the per-session log dirs
@@ -62,7 +62,7 @@ export interface GateDecisionSubmitDeps {
62
62
  * 2026-06-11, option-4 "Reject and restart"). `undefined` when no shadow was
63
63
  * mapped at decision time (or no loop is wired).
64
64
  */
65
- onTerminalDecision?: (taskId: string, postAction: PostDecisionAction, expectedShadow?: unknown) => Promise<void> | void;
65
+ onTerminalDecision?: (taskId: string, postAction: PostDecisionAction, expectedShadow?: unknown, canonicalDecision?: string) => Promise<void> | void;
66
66
  /**
67
67
  * Optional — resolves the live shadow INSTANCE for a task at decision time. Read
68
68
  * ONCE at the TOP of `submitGateDecision` (BEFORE the `applyUserDecision` SDK
@@ -131,6 +131,10 @@ export interface RunOrchestrationShellArgs {
131
131
  teamShellEventTap?: {
132
132
  fn: (args: TeamTapEvent) => void;
133
133
  };
134
+ /** P36: Store-tap installed by cli.ts so team merge audit summaries are routed into this shell's store. */
135
+ teamMergeAuditSummaryTap?: {
136
+ fn: (summary: any) => void;
137
+ };
134
138
  /**
135
139
  * CP-1.f §3.C.20 — the desktop reviewer-quorum loop driver. Present for a
136
140
  * real Max session (constructed in `cli.ts` alongside the team LE). When
@@ -235,14 +239,20 @@ export { configureContextItemsHostedSync, wakeContextItemsHostedSync, drainConte
235
239
  export { compactSessionContext, maybeFireCompactionSafetyValve, rehydrateSessionContext, renderRehydratedSessionContext, distillItems, projectDistilledForRole, loadCompactionCache, compactionCachePath, onTaskBoundary, gcContextItemLogs, scheduleContextItemsGc, COMPACTION_SAFETY_VALVE_TAIL_BYTES, COMPACTION_KEEP_HOT_RECENT_ITEMS, CONTEXT_ITEMS_RETENTION_MS, SESSION_CONTEXT_SECTION_MAX_CHARS, type DistilledFact, type DistilledTaskSummary, type SessionCompactionCache, type CompactionResult, type RehydratedSessionContext, } from './context-compaction';
236
240
  export { routeSlashCommand, applySlashOutput, type SlashOutput, type ShellAction, } from './slash-router';
237
241
  export { buildAuditBrowserModel, routeAuditEntry, auditKindLabel, auditKindCopy, renderAuditBrowserText, renderAuditEntryText, ENTRY_DETAILS_UNAVAILABLE, NO_AUDIT_ENTRIES, AUDIT_LOG_TOO_LARGE, AUDIT_LOG_TITLE, AUDIT_BROWSER_MAX_HEADLINE, WIRE_PUBLIC_PLAINTEXT_KINDS, formatAuditExport, type AuditDetailRow, type AuditFilterOptions, type AuditExportFormat, type AuditExportPayload, type AuditBrowserModel, type AuditEntryModel, type AuditReviewerVerdictModel, type AuditTaskAuthorizedModel, type DecryptContentFn, } from './audit-browser';
238
- export { runAuditBrowser, renderAuditResultText, AUDIT_BROWSER_UPGRADE_HINT, type RunAuditBrowserResult, type RunAuditBrowserDeps, } from './audit-runner';
242
+ export { runAuditBrowser, renderAuditResultText, AUDIT_BROWSER_UPGRADE_HINT, type RunAuditBrowserResult, type RunAuditBrowserDeps, runAuditSummary, AUDIT_SUMMARY_PRO_MAX_HEADLINE, AUDIT_SUMMARY_UPGRADE_HINT, type RunAuditSummaryResult, type RunAuditSummaryDeps, } from './audit-runner';
243
+ export { compileAuditSummary, renderSummaryMarkdown, isTaskCompletionAuditSummary, type TaskAuditSummaryModel, type AuditSeatModel, type AuditFindingModel, type VerificationResultModel, type TaskCompletionOutcome, type UserDecisionRecord, type ReviewHistorySnapshot, } from './audit-summary';
244
+ export { atomicWriteJsonSync, FileDurableTeamDeliveryJournal, wireSnapshotMergeObserver, adaptSnapshotMergeResult, runSnapshotMergeWithObservedCleanup, emitTeamCompletionSummary, type AtomicWriteOptions, type TeamDeliveryJournalEntry, type TeamDeliveryRouting, type SnapshotCleanupObserver, type WireSnapshotMergeObserverResult, type AdaptedSnapshotMergeResult, type RunSnapshotMergeWithObservedCleanupOptions, type EmitTeamCompletionSummaryOptions, type EmitTeamCompletionSummaryResult, } from '../local-executor/team-summary';
239
245
  export { buildAuditFlagIndex, runFlagCommand, renderFlagResultText, FLAG_NO_INDEX_LINE, type RunFlagCommandResult, type RunFlagCommandDeps, type FlagAppSyncClient, } from './flag-command';
240
246
  export { AuditLogPanel } from './components/AuditLogPanel';
247
+ export { renderConversationEntry, ConversationPane } from './components/ConversationPane';
248
+ export { renderEntryAsLine, runLineLogFallback } from './non-tty-fallback';
249
+ export { initInkRuntime, getInkRuntime } from './ink-runtime';
241
250
  export { reducer } from './reducer';
242
251
  export { createOrchestrationStore, type OrchestrationStore } from './store';
243
252
  export type { Mode, Tier, PlannerDecision, AgentKind, PlannerHealthState, RunningTaskState, ReviewerSeatState, GateState, ExecutionEventEntry, RefusalEventEntry, BypassEventEntry, MobileEventEntry, EventStreamEntry, ConversationEntry, QueuedTask, PendingClarification, OrchestrationState, OrchestrationAction, LastModeFile, TeamState, TeamTrackEntry, TeamTrackState, TeamMergeGateStatus, LiveProgress, } from './types';
244
253
  export { formatElapsed, isSpinnerPhase, renderProgressLine, type TaskProgressEvent, type OnProgress, } from './task-progress';
245
254
  export { runDeclaredTestSurfaces, DECLARED_TEST_TIMEOUT_MS, type DeclaredTestResult, type DeclaredTestReason, type RunDeclaredTestSurfacesArgs, } from './declared-test-runner';
255
+ export { QuorumLoop, type QuorumLoopDeps } from './quorum-loop';
246
256
  /**
247
257
  * [A1g] Round-5 (Codex round-4 MEDIUM) — INVOCATION-OWNED conversation deltas.
248
258
  *
@@ -296,6 +306,13 @@ export declare const turnAuthoringContext: AsyncLocalStorage<TurnAuthoringSink>;
296
306
  * OUTERMOST diff — never double-pushed.
297
307
  */
298
308
  export declare function installTurnAuthoringDispatchWrapper(store: OrchestrationStore): void;
309
+ /**
310
+ * P36 / R7-F1: Wire team merge audit summary dispatch to desktop conversation store.
311
+ */
312
+ export declare function wireTeamMergeAuditSummary(store: OrchestrationStore, target: {
313
+ fn?: (summary: any) => void;
314
+ onTeamMergeAuditSummary?: (summary: any) => void;
315
+ }): void;
299
316
  /**
300
317
  * §5 lines 336-365 LOCK + §16 LOCK #14. Single entrypoint that wires
301
318
  * the store + emit chokepoint + slash router and either mounts the
@@ -364,7 +381,11 @@ export declare const TASK_REVIEW_SUMMARY_FETCH_TIMEOUT_MS = 5000;
364
381
  * dispatcher stays decoupled from the SDK + session-key plumbing (and is
365
382
  * unit-testable with a mock).
366
383
  */
367
- export type ReviewSummaryFetcher = (taskId: string, gateId: string, sessionId: string) => Promise<DecryptedReviewSummaryInput | null>;
384
+ export type ReviewSummaryFetcher = (taskId: string, gateId: string, sessionId: string, options?: {
385
+ isAbandoned?: () => boolean;
386
+ expectedGeneration?: number;
387
+ expectedFence?: number;
388
+ }) => Promise<DecryptedReviewSummaryInput | null>;
368
389
  export declare function handleSubscribedEvent(event: Event, store: OrchestrationStore, sessionKeyResolver?: (sessionId: string) => Promise<string | null>, reviewSummaryFetcher?: ReviewSummaryFetcher, maybeAutoContinue?: (envelope: GatePromptEnvelope) => boolean, onDurableGateResolution?: (resolution: DurableGateResolution) => Promise<void> | void): void;
369
390
  /**
370
391
  * Route a `USER_PROMPT` sent from the paired MOBILE companion into the shell's
@@ -924,21 +945,6 @@ export declare function serializeShellSubmissions(handler: (text: string, images
924
945
  * slash route then reports "unavailable").
925
946
  */
926
947
  export declare function buildContinuationActionDeps(args: RunOrchestrationShellArgs, store: OrchestrationStore): Partial<ContinuationCliDeps>;
927
- /**
928
- * WEB-BROWSING deterministic fast-path detector (docs/WEB-BROWSING-DESIGN.md).
929
- * Returns the http(s) URL(s) to read when the prompt is unambiguously a "read
930
- * this URL" request, else null. Tight by design:
931
- * - SUPPRESSED while a clarification is pending (don't hijack a pending
932
- * start_task whose answer happens to be a URL) — the classifier handles it.
933
- * This is correct for EVERY pending clarification: a `browse` decision never
934
- * emits a clarifying_question (the parser invariant forbids advisory_summary/
935
- * clarifying_question on browse), so a pending clarification is ALWAYS from a
936
- * non-browse route — there is no "pending browse clarification" to preserve.
937
- * - fires ONLY when the prompt is URL-leading OR a read-intent verb governs the
938
- * URL clause (so "fix the CORS bug, API at https://…" stays start_task).
939
- * The URL regex is copied from `protectUrls` (unexported in local-advisory.ts).
940
- */
941
- export declare function detectBrowseFastPath(text: string, pending: PendingClarification | null): string[] | null;
942
948
  /**
943
949
  * Tokenize a command line string respecting single/double quotes and backslash escapes.
944
950
  * Returns tokens array or error if unclosed quote / trailing escape.
@@ -3,6 +3,9 @@ import type { Session } from '../types';
3
3
  import type { LocalExecutor } from '../local-executor';
4
4
  import type { ClassBInbound } from '../local-executor/types';
5
5
  import type { ImageAttachment } from './types';
6
+ import { type TaskAuditSummaryModel, type ReviewHistorySnapshot, type UserDecisionRecord } from './audit-summary';
7
+ import type { DecryptedReviewSummaryInput } from './gate-prompts';
8
+ import type { ShellEventEmit, ShellEventEmitResult } from './emit-shell-event';
6
9
  import { type ImplementorMode } from '../local-executor/implementor-argv';
7
10
  import { type FallbackLadderDeps } from '../substrate-launch/fallback-ladder';
8
11
  import type { ConflictModelCaller } from '../local-executor/class2-resolver';
@@ -160,13 +163,23 @@ export interface RoundFindingRecord {
160
163
  seatId: string;
161
164
  role: ReviewerRole;
162
165
  reviewerAgent: ReviewerAgentKind;
163
- verdict: VerdictKind;
166
+ verdict: VerdictKind | string;
164
167
  /** Capped to HISTORY_SUGGESTION_MAX_CHARS each at capture. */
165
168
  suggestedChanges: string[];
166
169
  /** Capped to HISTORY_REASONING_MAX_CHARS at capture. Stored for audit /
167
170
  * bounded reuse; NOT rendered into the brief (the brief carries verdict +
168
171
  * suggested changes only). */
169
172
  reasoning: string;
173
+ /** P36: Optional review metadata preserved for task audit summary. */
174
+ modelUsed?: string | null;
175
+ tokensUsed?: number | null;
176
+ latencyMs?: number | null;
177
+ durationSeconds?: number | null;
178
+ residualObservations?: string[];
179
+ /** P36 / R1-F9: Preserved degradation metadata when history budget is exceeded. */
180
+ historyDegraded?: boolean;
181
+ omittedFindingsCount?: number;
182
+ omittedResidualsCount?: number;
170
183
  }
171
184
  /**
172
185
  * A1b — ONE implementor rationale entry (Stage-2 R1 Codex LOW-4: the round is
@@ -529,6 +542,15 @@ export interface QuorumLoopDeps {
529
542
  * `expiresAt = now + TTL`. ABSENT → the default `CONTINUATION_EXPIRES_TTL_MS`.
530
543
  */
531
544
  continuationTtlMs?: number;
545
+ /**
546
+ * P36: Task-completion audit summary local store callback.
547
+ * Dispatched directly to desktop store upon task completion.
548
+ */
549
+ onTaskAuditSummary?: (summary: TaskAuditSummaryModel, markdown: string) => void;
550
+ /**
551
+ * P36: Emitter for companion notification event.
552
+ */
553
+ emitShellEvent?: (args: ShellEventEmit) => Promise<ShellEventEmitResult>;
532
554
  }
533
555
  /**
534
556
  * Map the lowercase wire `AgentKind` (`"claude"`) used by the engine dispatch
@@ -670,6 +692,30 @@ export declare class QuorumLoop {
670
692
  * exactly: cleared on promote / discard / round-0 restart replacement.
671
693
  */
672
694
  private readonly roundHistoryByTask;
695
+ /**
696
+ * P36: Bounded FIFO map (max 500) of the most recent user decision per task,
697
+ * recorded by `recordUserDecision` and evicted on task promotion.
698
+ */
699
+ private readonly lastUserDecisionByTask;
700
+ /**
701
+ * P36: Bounded cache of recently completed task summary metadata (max 100).
702
+ * Enables reconciliation if a user decision arrives or is replayed after promotion.
703
+ */
704
+ private readonly completedTaskSummaries;
705
+ private readonly expectedRosterByTask;
706
+ private readonly taskDegradedMetadataByTask;
707
+ private getCompletedSummariesPath;
708
+ private shouldUnlinkAbandonedTmpLockFile;
709
+ private withCompletedSummariesLock;
710
+ private loadCompletedSummariesFromDisk;
711
+ private recordCompletedTaskSummary;
712
+ getCompletedTaskSummary(taskId: string): {
713
+ historySnapshot?: ReviewHistorySnapshot | null;
714
+ filesApplied: number;
715
+ completedAt: string;
716
+ originEpoch?: number;
717
+ workspaceApplicationStatus?: "pending_merge_gate" | "applied" | "unobserved";
718
+ } | undefined;
673
719
  /**
674
720
  * A1b — the implementor's own per-round stdout rationale (the
675
721
  * `extractAgentSummary` text), recorded as `{ round, text }` (LOW-4: labels
@@ -826,6 +872,11 @@ export declare class QuorumLoop {
826
872
  * cardinality is bounded by those same dedup sets).
827
873
  */
828
874
  private readonly taskByGateId;
875
+ private readonly activeGateByTaskId;
876
+ private readonly conflictedSeatsByTask;
877
+ private readonly nonApprovedSeatsByTask;
878
+ private readonly restartFenceByTaskId;
879
+ private readonly gateFenceByGateId;
829
880
  /** Exact immutable team generation that authored each team gate. */
830
881
  private readonly teamAuthorityByGateId;
831
882
  /**
@@ -1158,6 +1209,7 @@ export declare class QuorumLoop {
1158
1209
  /** Installed by the session-owning shell after both objects are constructed. */
1159
1210
  setWorkspaceOutcomeSink(sink: WorkspaceOutcomeSink | undefined): void;
1160
1211
  isWorkspaceTaskTerminallyRetired(taskId: string): boolean;
1212
+ isTaskTerminallyRetired(taskId: string): boolean;
1161
1213
  /** The current active task id (for the recovery poll). */
1162
1214
  get activeTask(): string | null;
1163
1215
  /** Arm an explicit, one-shot comprehensive baseline for the active task. */
@@ -1605,6 +1657,49 @@ export declare class QuorumLoop {
1605
1657
  * taskId (SECURITY INVARIANT: no user content, mirrors `discarded`).
1606
1658
  */
1607
1659
  reportFinalApprovalCancelled(taskId: string, postAction: PostDecisionAction): void;
1660
+ /**
1661
+ * P36: Record a user decision for task audit summary compilation.
1662
+ * Evicts the oldest entry if size exceeds 500 (FIFO).
1663
+ */
1664
+ recordUserDecision(taskId: string, decision: UserDecisionRecord): void;
1665
+ /**
1666
+ * P36: Snapshot in-memory round findings history before eviction at promote.
1667
+ */
1668
+ captureReviewHistorySnapshot(taskId: string): ReviewHistorySnapshot;
1669
+ /**
1670
+ * R18-F4: Sanitize history record for snapshot so internal raw caches and scratch fields
1671
+ * are never copied into the serialized snapshot or persistence layer.
1672
+ */
1673
+ private sanitizeHistoryRecordForSnapshot;
1674
+ /**
1675
+ * P36: Wire or replace the desktop task-completion audit summary callback.
1676
+ */
1677
+ setOnTaskAuditSummary(fn: (summary: TaskAuditSummaryModel, markdown: string) => void): void;
1678
+ /**
1679
+ * P36 / R13-F1 / R14-F2 / R14-F3 / R14-F4 / R14-F5:
1680
+ * Ingest wire review summary fetched from AppSync (getTaskReviewSummary)
1681
+ * into the in-memory roundHistoryByTask map so post-promotion task audit summary
1682
+ * generation has full reviewer provenance without requiring preloaded disk fixtures.
1683
+ *
1684
+ * Reconciles idempotently by (roundNum, seatIdStr), preserving local high-fidelity telemetry,
1685
+ * enforces fail-closed roster declaration from reviewQuorum.seats, parses verdicts strictly
1686
+ * (never defaulting missing/invalid decisions to APPROVE), tracks degradation metadata,
1687
+ * and rejects late fetches for terminally retired or completed tasks.
1688
+ */
1689
+ ingestReviewSummary(taskId: string, summary: DecryptedReviewSummaryInput): void;
1690
+ /**
1691
+ * Public helper to retrieve the task's current restart generation fence.
1692
+ */
1693
+ getRestartFence(taskId: string): number;
1694
+ /**
1695
+ * Statically/externally register an active gate mapping for a task (e.g., prompt arrival or test fixture).
1696
+ */
1697
+ registerActiveGate(taskId: string, gateId: string, roundNumber?: number, generationFence?: number): void;
1698
+ /**
1699
+ * Check whether an incoming gate review summary is still relevant for the specified task.
1700
+ * Rejects requests if task is retired, summary is completed, or gate does not match active task gate and restart fence.
1701
+ */
1702
+ isGateRelevantForTask(taskId: string, gateId: string, expectedGeneration?: number, expectedFence?: number): boolean;
1608
1703
  /**
1609
1704
  * Authoritative TaskGroupHalted bridge from LocalExecutor. Calling this async
1610
1705
  * method publishes the terminal group fence synchronously (before its first
@@ -2,7 +2,9 @@ import type { PlannerAdapter } from './adapter';
2
2
  import type { LocalGemmaAdvisoryRunner } from './local-advisory';
3
3
  import type { PlannerDecision, PlannerInput, PlannerProbeResult } from './types';
4
4
  export interface LocalGemmaPlannerRunner {
5
- classify(promptText: string): Promise<string>;
5
+ classify(promptText: string, options?: {
6
+ jsonSchema?: object;
7
+ }): Promise<string>;
6
8
  generateAdvisory?: LocalGemmaAdvisoryRunner['generateAdvisory'];
7
9
  probe?(): Promise<PlannerProbeResult>;
8
10
  /**
@@ -24,16 +26,42 @@ export interface LocalGemmaPlannerRunner {
24
26
  * local Gemma model RESPONDED but its output could not be parsed into a valid
25
27
  * route (out-of-domain prose, truncated JSON, unsupported action/keys, etc.).
26
28
  *
27
- * This is deliberately DISTINCT from an infrastructure failure (Ollama
28
- * unreachable / timeout / budget / tier-gate those reject out of the runner,
29
- * never reach the parser). The orchestration shell catches THIS class and
30
- * degrades to a safe "general question / not a build request" advisory route
31
- * instead of surfacing a `planner-error`; a genuine infra failure still surfaces
32
- * "Planner unavailable" because retrying would not help.
29
+ * Distinct from infrastructure failure: the shell reports invalid routing data
30
+ * without inventing a successful classification or starting a task.
33
31
  */
34
32
  export declare class PlannerOutputUnparseableError extends Error {
35
33
  constructor(message: string);
36
34
  }
35
+ export declare const LOCAL_GEMMA_DECISION_JSON_SCHEMA: {
36
+ type: string;
37
+ properties: {
38
+ rationale: {
39
+ type: string;
40
+ };
41
+ clarifying_question: {
42
+ type: string;
43
+ };
44
+ advisory_summary: {
45
+ type: string;
46
+ };
47
+ browseUrls: {
48
+ type: string;
49
+ items: {
50
+ type: string;
51
+ pattern: string;
52
+ };
53
+ };
54
+ browseQuery: {
55
+ type: string;
56
+ };
57
+ action: {
58
+ type: string;
59
+ enum: ("start_task" | "summarize_current_status" | "advisory_response" | "ask_user" | "refuse" | "team_decompose" | "familiarize" | "brainstorm" | "browse")[];
60
+ };
61
+ };
62
+ required: string[];
63
+ additionalProperties: boolean;
64
+ };
37
65
  /**
38
66
  * Text-only route classifier prompt. It intentionally excludes repository
39
67
  * paths, summaries, source snippets, file bodies, and the raw structural digest.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.23",
3
+ "version": "2.0.25",
4
4
  "description": "Core library for CodeVibe plugins - shared keychain, crypto, AppSync, and auth functionality",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "typecheck": "tsc --noEmit",
18
18
  "emit-types": "tsc --emitDeclarationOnly",
19
19
  "build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --minify-syntax --packages=external --define:__CODEVIBE_TEST_BUILD__=false --outfile=dist/orchestration-shell/cli.js --banner:js=\"#!/usr/bin/env node\" && npm run verify-no-test-hooks",
20
- "verify-no-test-hooks": "if grep -ERl 'CODEVIBE_TEST_FORCE_QUOTA_FAIL|CODEVIBE_TEST_FORCE_IMPLEMENTOR_AGENT|CODEVIBE_ANCHORED_PUBLICATION_AUTHORITY_ROOT|codevibe-anchored-publications-|cv-publication-authority-vitest-|codevibe\\.test\\.publication-authority-|setPublicationAuthorityRootForTestBuild|__CODEVIBE_TEST_BUILD__' dist; then echo 'ERROR: a test-only hook leaked into a published artifact (prod-unreachability invariant)'; exit 1; fi; echo 'OK — no test-only hooks in published artifacts'",
20
+ "verify-no-test-hooks": "if grep -ERl 'CODEVIBE_TEST_FORCE_QUOTA_FAIL|CODEVIBE_TEST_FORCE_IMPLEMENTOR_AGENT|CODEVIBE_ANCHORED_PUBLICATION_AUTHORITY_ROOT|codevibe-anchored-publications-|cv-publication-authority-vitest-|codevibe\\.test\\.publication-authority-|setPublicationAuthorityRootForTestBuild|__CODEVIBE_TEST_BUILD__|_onBeforeLinkForTesting|_onBeforeSummariesLockForTesting|__codevibe_test_on_before_link|__codevibe_test_on_before_summaries_lock' dist; then echo 'ERROR: a test-only hook leaked into a published artifact (prod-unreachability invariant)'; exit 1; fi; echo 'OK — no test-only hooks in published artifacts'",
21
21
  "clean": "rm -rf dist",
22
22
  "prepublishOnly": "npm run build",
23
23
  "test": "vitest run",
@@ -1,40 +1,5 @@
1
1
  # es-toolkit Changelog
2
2
 
3
- ## Version v1.52.0
4
-
5
- Released on August 28th, 2026.
6
-
7
- - Added the `es-toolkit/iterator` entrypoint, a lazy iterator module with `chunk`,
8
- `count`, `dropWhile`, `head`, `iterate`, `partition`, `range`, `scan`,
9
- `takeWhile`, `uniqBy`, and `zip` ([#1815]), plus `cartesianProduct` ([#2031]).
10
- The same functions are also available from `es-toolkit/fp/iterator`.
11
- - Added `defer` and `deferAsync` to `es-toolkit/util`. ([#2032])
12
- - Added `flowAsync` to `es-toolkit/fp`, a promise-aware left-to-right composition. ([#2033])
13
- - Added the `EmptyObject`, `IsEqual`, `JSONValue`, `Primitive`, `SetOptional`,
14
- `SetRequired`, and `UnknownRecord` types. ([#2044])
15
-
16
- - Fixed `merge` to infer the deep merged return type, and exported the `Merge` type. ([#1959])
17
- - Fixed `omitBy` and `pickBy` to type numeric callback keys as strings, and
18
- exported the `ObjectKeys` type. ([#2037])
19
- - Fixed `attempt` and `attemptAsync` to default their error type parameter to `unknown`. ([#2052])
20
-
21
- The following bring `es-toolkit/compat` closer to Lodash. Behavior for the affected
22
- edge cases now matches Lodash, so results may differ if you relied on the previous output.
23
-
24
- - Fixed `compat/debounce` to skip the `maxWait` invocation when both `leading` and
25
- `trailing` are `false`. ([#1678])
26
- - Fixed `compat/toString` to convert objects with a custom `valueOf`. ([#2034])
27
- - Fixed `compat/mergeWith` to assign `null` values in array sources. ([#1929])
28
- - Fixed `compat/has` and `compat/hasIn` to normalize the `-0` path key. ([#2035])
29
- - Fixed `compat/differenceWith` and `compat/without` to normalize `-0` to `0`. ([#2049])
30
- - Fixed `compat/findLastIndex` to convert `fromIndex` to an integer. ([#2047])
31
- - Fixed `compat/xorWith` to match Lodash when no comparator is given. ([#2057])
32
-
33
- - Covered the new iterator entrypoints in the dist and browser compatibility
34
- checks. ([#2030])
35
- - Made the agent skills portable when installed on their own. ([#2054])
36
- - Fixed documentation typos and the Deno install commands. ([#2062])
37
-
38
3
  ## Version v1.51.0
39
4
 
40
5
  Released on August 17th, 2026.
@@ -254,7 +219,7 @@ We sincerely thank @SrAnthony and @umsungjun for their contributions. We appreci
254
219
 
255
220
  ## Version v1.46.0
256
221
 
257
- Released on April 22nd, 2026.
222
+ Released on April 22th, 2026.
258
223
 
259
224
  - Changed `AbortError` and `TimeoutError` to extend `DOMException`. ([#1660])
260
225
  - Added `keyBy` to the `map` entrypoint exports. ([#1650])
@@ -425,7 +390,7 @@ We sincerely thank @dayongkr, @cobocho, @raon0211, and @D-Sketon for their contr
425
390
 
426
391
  ## Version v1.39.6
427
392
 
428
- Released on July 2nd, 2025.
393
+ Released on July 2th, 2025.
429
394
 
430
395
  - Fixed handling of null/undefined values in `values` function.
431
396
  - Fixed type safety in `compat/get` by adding GetFieldType utility type.
@@ -1050,4 +1015,4 @@ Released on June 3rd, 2024.
1050
1015
 
1051
1016
  ## Version v1.0.2
1052
1017
 
1053
- Initial release. Released on May 31st, 2024.
1018
+ Initial release. Released on May 31th, 2024.