@quantiya/codevibe-core 2.0.1 → 2.0.2

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 (282) hide show
  1. package/dist/__tests__/prompt-parser.test.d.ts +1 -0
  2. package/dist/adapter/registry.d.ts +69 -2
  3. package/dist/appsync/__tests__/appsync-client-event-source-filter.test.d.ts +1 -0
  4. package/dist/appsync/__tests__/appsync-client-task-group.test.d.ts +1 -0
  5. package/dist/appsync/__tests__/cleanup-subscription.test.d.ts +1 -0
  6. package/dist/appsync/__tests__/coerce-awsjson-and-review-summary.test.d.ts +1 -0
  7. package/dist/appsync/__tests__/cp1f-quorum-sdk.test.d.ts +1 -0
  8. package/dist/appsync/__tests__/event-throttle.test.d.ts +1 -0
  9. package/dist/appsync/appsync-client.d.ts +621 -10
  10. package/dist/appsync/event-throttle.d.ts +28 -0
  11. package/dist/appsync/index.d.ts +3 -0
  12. package/dist/appsync/queries.d.ts +19 -0
  13. package/dist/audit-keys/index.d.ts +32 -0
  14. package/dist/auth/auth-service.d.ts +32 -2
  15. package/dist/auth/auth-telemetry.d.ts +19 -1
  16. package/dist/auth/index.d.ts +1 -0
  17. package/dist/companion-mode/persist-preference.d.ts +1 -1
  18. package/dist/config/config.d.ts +8 -1
  19. package/dist/continuation/__tests__/dirty-state-collector.test.d.ts +1 -0
  20. package/dist/continuation/__tests__/integration.test.d.ts +1 -0
  21. package/dist/continuation/__tests__/packet-reader.test.d.ts +1 -0
  22. package/dist/continuation/__tests__/packet-writer.test.d.ts +1 -0
  23. package/dist/continuation/__tests__/parity.test.d.ts +1 -0
  24. package/dist/continuation/__tests__/status-cli.test.d.ts +1 -0
  25. package/dist/continuation/dirty-state-collector.d.ts +46 -0
  26. package/dist/continuation/index.d.ts +8 -0
  27. package/dist/continuation/packet-reader.d.ts +33 -0
  28. package/dist/continuation/packet-writer.d.ts +86 -0
  29. package/dist/continuation/types.d.ts +239 -0
  30. package/dist/credential-broker/__tests__/broker.test.d.ts +1 -0
  31. package/dist/credential-broker/__tests__/canonical.test.d.ts +1 -0
  32. package/dist/credential-broker/__tests__/scrubber.test.d.ts +1 -0
  33. package/dist/credential-broker/__tests__/upstream-client.test.d.ts +1 -0
  34. package/dist/credential-broker/__tests__/vendor-key-store.test.d.ts +1 -0
  35. package/dist/credential-broker/audit-sink.d.ts +69 -0
  36. package/dist/credential-broker/broker-config.d.ts +39 -0
  37. package/dist/credential-broker/broker-token.d.ts +123 -0
  38. package/dist/credential-broker/broker.d.ts +165 -0
  39. package/dist/credential-broker/canonical.d.ts +119 -0
  40. package/dist/credential-broker/index.d.ts +15 -0
  41. package/dist/credential-broker/scrubber.d.ts +45 -0
  42. package/dist/credential-broker/types.d.ts +141 -0
  43. package/dist/credential-broker/upstream-client.d.ts +20 -0
  44. package/dist/credential-broker/vendor-key-store.d.ts +54 -0
  45. package/dist/index.d.ts +6 -1
  46. package/dist/index.js +427 -124
  47. package/dist/keychain/__tests__/keychain-backend.test.d.ts +1 -0
  48. package/dist/keychain/keychain-backend.d.ts +82 -0
  49. package/dist/local-executor/__tests__/agentic-disposable-repo.test.d.ts +1 -0
  50. package/dist/local-executor/__tests__/agentic-resolve.test.d.ts +1 -0
  51. package/dist/local-executor/__tests__/agentic-resolver-flag.test.d.ts +1 -0
  52. package/dist/local-executor/__tests__/class-a-sign.test.d.ts +1 -0
  53. package/dist/local-executor/__tests__/class1-reconcilers.test.d.ts +1 -0
  54. package/dist/local-executor/__tests__/class2-resolver.test.d.ts +1 -0
  55. package/dist/local-executor/__tests__/confined-model-caller.test.d.ts +1 -0
  56. package/dist/local-executor/__tests__/conflict-classifier.test.d.ts +1 -0
  57. package/dist/local-executor/__tests__/conflict-resolution-durable-store.test.d.ts +1 -0
  58. package/dist/local-executor/__tests__/conflict-resolution-store.test.d.ts +1 -0
  59. package/dist/local-executor/__tests__/cp1f-quorum-consumer.test.d.ts +1 -0
  60. package/dist/local-executor/__tests__/cp7-audit-writer.test.d.ts +1 -0
  61. package/dist/local-executor/__tests__/durable-store.test.d.ts +1 -0
  62. package/dist/local-executor/__tests__/git-lock-retry.test.d.ts +1 -0
  63. package/dist/local-executor/__tests__/implementor-argv.test.d.ts +1 -0
  64. package/dist/local-executor/__tests__/local-executor-teams.test.d.ts +1 -0
  65. package/dist/local-executor/__tests__/merge-conflict-extract.test.d.ts +1 -0
  66. package/dist/local-executor/__tests__/merge-conflict-git.integration.test.d.ts +1 -0
  67. package/dist/local-executor/__tests__/merge-conflict-resolve-agentic.integration.test.d.ts +1 -0
  68. package/dist/local-executor/__tests__/merge-conflict-resolve.integration.test.d.ts +1 -0
  69. package/dist/local-executor/__tests__/merge-journal-store.test.d.ts +1 -0
  70. package/dist/local-executor/__tests__/merge-train-agentic-recovery.integration.test.d.ts +1 -0
  71. package/dist/local-executor/__tests__/merge-train-w3.integration.test.d.ts +1 -0
  72. package/dist/local-executor/__tests__/merge-train-waveb.integration.test.d.ts +1 -0
  73. package/dist/local-executor/__tests__/merge-train.test.d.ts +1 -0
  74. package/dist/local-executor/__tests__/promote-wal-store.test.d.ts +1 -0
  75. package/dist/local-executor/__tests__/revert-reconcile.test.d.ts +1 -0
  76. package/dist/local-executor/__tests__/revert-runner.test.d.ts +1 -0
  77. package/dist/local-executor/__tests__/shared-contract-detector.test.d.ts +1 -0
  78. package/dist/local-executor/__tests__/substrate-engage.test.d.ts +1 -0
  79. package/dist/local-executor/__tests__/team-execution-flag.test.d.ts +1 -0
  80. package/dist/local-executor/__tests__/track-registry.test.d.ts +1 -0
  81. package/dist/local-executor/__tests__/wb2-review-bundle.test.d.ts +1 -0
  82. package/dist/local-executor/__tests__/wb2-substrate-spawn.live.test.d.ts +1 -0
  83. package/dist/local-executor/__tests__/workspace-shadow.test.d.ts +1 -0
  84. package/dist/local-executor/__tests__/worktree-merge.test.d.ts +1 -0
  85. package/dist/local-executor/agentic-disposable-repo.d.ts +52 -0
  86. package/dist/local-executor/agentic-resolve.d.ts +54 -0
  87. package/dist/local-executor/agentic-resolver-flag.d.ts +9 -0
  88. package/dist/local-executor/authority.d.ts +33 -1
  89. package/dist/local-executor/class-a-emit.d.ts +3 -1
  90. package/dist/local-executor/class-a-sign.d.ts +57 -0
  91. package/dist/local-executor/class-b-consumer.d.ts +159 -4
  92. package/dist/local-executor/class-b-verify.d.ts +30 -0
  93. package/dist/local-executor/class1-reconcilers.d.ts +58 -0
  94. package/dist/local-executor/class2-resolver.d.ts +74 -0
  95. package/dist/local-executor/confined-model-caller.d.ts +39 -0
  96. package/dist/local-executor/conflict-classifier.d.ts +21 -0
  97. package/dist/local-executor/conflict-resolution-durable-store.d.ts +61 -0
  98. package/dist/local-executor/conflict-resolution-store.d.ts +210 -0
  99. package/dist/local-executor/conflict-types.d.ts +86 -0
  100. package/dist/local-executor/cp7-audit-writer.d.ts +152 -0
  101. package/dist/local-executor/durable-store.d.ts +334 -0
  102. package/dist/local-executor/git-lock-retry.d.ts +40 -0
  103. package/dist/local-executor/hook-bridge.d.ts +1 -1
  104. package/dist/local-executor/implementor-argv.d.ts +183 -0
  105. package/dist/local-executor/index.d.ts +44 -3
  106. package/dist/local-executor/local-executor-impl.d.ts +645 -4
  107. package/dist/local-executor/merge-conflict-extract.d.ts +34 -0
  108. package/dist/local-executor/merge-conflict-resolve.d.ts +101 -0
  109. package/dist/local-executor/merge-journal-store.d.ts +311 -0
  110. package/dist/local-executor/merge-train.d.ts +713 -0
  111. package/dist/local-executor/promote-wal-store.d.ts +301 -0
  112. package/dist/local-executor/resolution-set-index.d.ts +51 -0
  113. package/dist/local-executor/revert-reconcile.d.ts +89 -0
  114. package/dist/local-executor/revert-runner.d.ts +17 -0
  115. package/dist/local-executor/shared-contract-detector.d.ts +57 -0
  116. package/dist/local-executor/spawn.d.ts +29 -1
  117. package/dist/local-executor/task-group-types.d.ts +346 -0
  118. package/dist/local-executor/team-execution-flag.d.ts +21 -0
  119. package/dist/local-executor/track-registry.d.ts +50 -0
  120. package/dist/local-executor/types.d.ts +238 -4
  121. package/dist/local-executor/wb2-review-bundle.d.ts +59 -0
  122. package/dist/local-executor/workspace-shadow.d.ts +290 -0
  123. package/dist/local-executor/worktree-merge.d.ts +601 -0
  124. package/dist/local-model/__tests__/installer.test.d.ts +1 -0
  125. package/dist/local-model/__tests__/manager.test.d.ts +1 -0
  126. package/dist/local-model/__tests__/ollama.test.d.ts +1 -0
  127. package/dist/local-model/__tests__/runtime.test.d.ts +1 -0
  128. package/dist/local-model/__tests__/state.test.d.ts +1 -0
  129. package/dist/local-model/manager.d.ts +119 -0
  130. package/dist/local-model/ollama.d.ts +27 -0
  131. package/dist/local-model/runtime.d.ts +27 -0
  132. package/dist/local-model/state.d.ts +32 -0
  133. package/dist/orchestration/detect-agents.d.ts +15 -2
  134. package/dist/orchestration/setup-types.d.ts +2 -1
  135. package/dist/orchestration-shell/__tests__/attachments.test.d.ts +1 -0
  136. package/dist/orchestration-shell/__tests__/audit-browser.test.d.ts +1 -0
  137. package/dist/orchestration-shell/__tests__/audited-path-fixes.test.d.ts +1 -0
  138. package/dist/orchestration-shell/__tests__/bracketed-paste.test.d.ts +1 -0
  139. package/dist/orchestration-shell/__tests__/cli-group-halt-wiring.test.d.ts +1 -0
  140. package/dist/orchestration-shell/__tests__/cli-orchestration-session-bootstrap.test.d.ts +1 -0
  141. package/dist/orchestration-shell/__tests__/cli-probe-group-status.test.d.ts +1 -0
  142. package/dist/orchestration-shell/__tests__/cli-quorum-loop-tier.test.d.ts +1 -0
  143. package/dist/orchestration-shell/__tests__/cli-verdict-classifier-wiring.test.d.ts +1 -0
  144. package/dist/orchestration-shell/__tests__/context-store.test.d.ts +1 -0
  145. package/dist/orchestration-shell/__tests__/cp10-585-accept-echo-target.test.d.ts +1 -0
  146. package/dist/orchestration-shell/__tests__/cp10-585-loop.test.d.ts +1 -0
  147. package/dist/orchestration-shell/__tests__/cp10-585-prompts.test.d.ts +1 -0
  148. package/dist/orchestration-shell/__tests__/cp12-w2b-team-loop.test.d.ts +1 -0
  149. package/dist/orchestration-shell/__tests__/cp12-w4-team-recovery.test.d.ts +1 -0
  150. package/dist/orchestration-shell/__tests__/cp1f-quorum-loop.test.d.ts +1 -0
  151. package/dist/orchestration-shell/__tests__/cp606-team-track-user-resolved.test.d.ts +1 -0
  152. package/dist/orchestration-shell/__tests__/cp7-reviewer-substrate.test.d.ts +1 -0
  153. package/dist/orchestration-shell/__tests__/declared-test-runner.test.d.ts +1 -0
  154. package/dist/orchestration-shell/__tests__/familiarize-routing.test.d.ts +1 -0
  155. package/dist/orchestration-shell/__tests__/gate-decision-submit.test.d.ts +1 -0
  156. package/dist/orchestration-shell/__tests__/gate-details-panel.test.d.ts +1 -0
  157. package/dist/orchestration-shell/__tests__/gate-verdict-details-dispatch.test.d.ts +1 -0
  158. package/dist/orchestration-shell/__tests__/group-decision-submit.test.d.ts +1 -0
  159. package/dist/orchestration-shell/__tests__/image-attach-e2e.test.d.ts +1 -0
  160. package/dist/orchestration-shell/__tests__/input-bar-autocomplete.test.d.ts +1 -0
  161. package/dist/orchestration-shell/__tests__/live-region-cap.test.d.ts +1 -0
  162. package/dist/orchestration-shell/__tests__/live-static-order.test.d.ts +1 -0
  163. package/dist/orchestration-shell/__tests__/model-cli.test.d.ts +1 -0
  164. package/dist/orchestration-shell/__tests__/non-gate-prompt-routing.test.d.ts +1 -0
  165. package/dist/orchestration-shell/__tests__/orchestration-app-group-decision-transport.test.d.ts +1 -0
  166. package/dist/orchestration-shell/__tests__/orchestration-app-layout.test.d.ts +1 -0
  167. package/dist/orchestration-shell/__tests__/reissue-team-retained-spec.test.d.ts +1 -0
  168. package/dist/orchestration-shell/__tests__/review-summary-render.test.d.ts +1 -0
  169. package/dist/orchestration-shell/__tests__/reviewer-wizard.test.d.ts +1 -0
  170. package/dist/orchestration-shell/__tests__/reviewers-format.test.d.ts +1 -0
  171. package/dist/orchestration-shell/__tests__/root-discovery.test.d.ts +1 -0
  172. package/dist/orchestration-shell/__tests__/serialize-submissions.test.d.ts +1 -0
  173. package/dist/orchestration-shell/__tests__/slash-suggest.test.d.ts +1 -0
  174. package/dist/orchestration-shell/__tests__/status-format.test.d.ts +1 -0
  175. package/dist/orchestration-shell/__tests__/task-progress.test.d.ts +1 -0
  176. package/dist/orchestration-shell/__tests__/team-decompose-routing.test.d.ts +1 -0
  177. package/dist/orchestration-shell/__tests__/team-decompose-types.test.d.ts +1 -0
  178. package/dist/orchestration-shell/__tests__/team-decompose.test.d.ts +1 -0
  179. package/dist/orchestration-shell/__tests__/team-e2e-smoke.test.d.ts +1 -0
  180. package/dist/orchestration-shell/__tests__/tier2-reviewer-selection.test.d.ts +1 -0
  181. package/dist/orchestration-shell/__tests__/web-browsing.test.d.ts +1 -0
  182. package/dist/orchestration-shell/attachments.d.ts +152 -0
  183. package/dist/orchestration-shell/audit-browser.d.ts +115 -0
  184. package/dist/orchestration-shell/audit-runner.d.ts +59 -0
  185. package/dist/orchestration-shell/bracketed-paste.d.ts +26 -0
  186. package/dist/orchestration-shell/cli.d.ts +336 -1
  187. package/dist/orchestration-shell/cli.js +39318 -3436
  188. package/dist/orchestration-shell/components/AuditLogPanel.d.ts +11 -0
  189. package/dist/orchestration-shell/components/ConversationPane.d.ts +7 -1
  190. package/dist/orchestration-shell/components/GateDetailsPanel.d.ts +57 -0
  191. package/dist/orchestration-shell/components/GatePanelEntry.d.ts +9 -0
  192. package/dist/orchestration-shell/components/GatePromptEntry.d.ts +7 -0
  193. package/dist/orchestration-shell/components/InputBar.d.ts +17 -3
  194. package/dist/orchestration-shell/components/LiveProgressLine.d.ts +8 -0
  195. package/dist/orchestration-shell/components/MultiTrackStatusNode.d.ts +8 -0
  196. package/dist/orchestration-shell/components/OrchestrationApp.d.ts +81 -15
  197. package/dist/orchestration-shell/components/ReviewerSetupWizard.d.ts +24 -0
  198. package/dist/orchestration-shell/components/StatusBar.d.ts +15 -2
  199. package/dist/orchestration-shell/context-store.d.ts +389 -0
  200. package/dist/orchestration-shell/declared-test-runner.d.ts +84 -0
  201. package/dist/orchestration-shell/emit-shell-event.d.ts +1 -1
  202. package/dist/orchestration-shell/gate-decision-submit.d.ts +245 -0
  203. package/dist/orchestration-shell/gate-prompts.d.ts +361 -3
  204. package/dist/orchestration-shell/index.d.ts +613 -1
  205. package/dist/orchestration-shell/ink-runtime.d.ts +21 -1
  206. package/dist/orchestration-shell/live-region-cap.d.ts +70 -0
  207. package/dist/orchestration-shell/live-static-order.d.ts +22 -0
  208. package/dist/orchestration-shell/non-tty-fallback.d.ts +21 -0
  209. package/dist/orchestration-shell/quorum-loop.d.ts +1900 -0
  210. package/dist/orchestration-shell/root-discovery.d.ts +25 -0
  211. package/dist/orchestration-shell/route-browse.d.ts +20 -0
  212. package/dist/orchestration-shell/slash-router.d.ts +20 -1
  213. package/dist/orchestration-shell/slash-routes/continuation.d.ts +71 -0
  214. package/dist/orchestration-shell/slash-routes/reviewers.d.ts +41 -0
  215. package/dist/orchestration-shell/slash-suggest.d.ts +29 -0
  216. package/dist/orchestration-shell/status-format.d.ts +59 -0
  217. package/dist/orchestration-shell/task-progress.d.ts +122 -0
  218. package/dist/orchestration-shell/team-decompose.d.ts +196 -0
  219. package/dist/orchestration-shell/types.d.ts +363 -3
  220. package/dist/orchestration-shell/vendor/ink-parse-keypress.d.ts +42 -0
  221. package/dist/orchestration-shell/web/extract.d.ts +11 -0
  222. package/dist/orchestration-shell/web/fetch.d.ts +15 -0
  223. package/dist/orchestration-shell/web/ip.d.ts +26 -0
  224. package/dist/orchestration-shell/web/sanitize.d.ts +14 -0
  225. package/dist/orchestration-shell/web/search.d.ts +16 -0
  226. package/dist/planner/__tests__/local-gemma.test.d.ts +1 -0
  227. package/dist/planner/index.d.ts +2 -0
  228. package/dist/planner/local-advisory.d.ts +84 -0
  229. package/dist/planner/local-gemma.d.ts +23 -0
  230. package/dist/planner/types.d.ts +16 -6
  231. package/dist/reviewer/__tests__/antigravity-provider.test.d.ts +1 -0
  232. package/dist/reviewer/__tests__/claude-provider-json.test.d.ts +1 -0
  233. package/dist/reviewer/__tests__/cp7-reviewer-sandbox.test.d.ts +1 -0
  234. package/dist/reviewer/__tests__/output-parser-classifier-helpers.test.d.ts +1 -0
  235. package/dist/reviewer/__tests__/verdict-classifier.test.d.ts +1 -0
  236. package/dist/reviewer/index.d.ts +2 -0
  237. package/dist/reviewer/output-parser.d.ts +48 -12
  238. package/dist/reviewer/provider.d.ts +107 -3
  239. package/dist/reviewer/providers/__tests__/failure-classifier.test.d.ts +1 -0
  240. package/dist/reviewer/providers/antigravity.d.ts +49 -0
  241. package/dist/reviewer/providers/claude.d.ts +19 -4
  242. package/dist/reviewer/providers/codex.d.ts +47 -5
  243. package/dist/reviewer/providers/failure-classifier.d.ts +26 -0
  244. package/dist/reviewer/providers/gemini.d.ts +5 -4
  245. package/dist/reviewer/registry.d.ts +5 -5
  246. package/dist/reviewer/subprocess.d.ts +37 -0
  247. package/dist/reviewer/token-usage.d.ts +32 -0
  248. package/dist/reviewer/types.d.ts +5 -5
  249. package/dist/reviewer/verdict-classifier.d.ts +62 -0
  250. package/dist/session/__tests__/prepare-event-timestamp.test.d.ts +1 -0
  251. package/dist/session/index.d.ts +1 -0
  252. package/dist/session/prepare-event-timestamp.d.ts +30 -0
  253. package/dist/substrate/__tests__/docker.test.d.ts +1 -0
  254. package/dist/substrate/__tests__/forwarder.test.d.ts +1 -0
  255. package/dist/substrate/__tests__/git-proxy.test.d.ts +1 -0
  256. package/dist/substrate/__tests__/sandbox-exec.test.d.ts +1 -0
  257. package/dist/substrate/__tests__/substrate-e2e.integration.test.d.ts +1 -0
  258. package/dist/substrate/command-runner.d.ts +19 -0
  259. package/dist/substrate/docker.d.ts +134 -0
  260. package/dist/substrate/errors.d.ts +33 -0
  261. package/dist/substrate/forwarder.d.ts +67 -0
  262. package/dist/substrate/git-proxy.d.ts +35 -0
  263. package/dist/substrate/index.d.ts +12 -0
  264. package/dist/substrate/relay-script.d.ts +27 -0
  265. package/dist/substrate/sandbox-exec.d.ts +116 -0
  266. package/dist/substrate/types.d.ts +218 -0
  267. package/dist/substrate-launch/__tests__/apikey-bootstrap.test.d.ts +1 -0
  268. package/dist/substrate-launch/__tests__/creditless-loop.integration.test.d.ts +1 -0
  269. package/dist/substrate-launch/__tests__/engage-substrate.test.d.ts +1 -0
  270. package/dist/substrate-launch/__tests__/fallback-ladder.test.d.ts +1 -0
  271. package/dist/substrate-launch/__tests__/le-env-scrub.test.d.ts +1 -0
  272. package/dist/substrate-launch/__tests__/sanitized-env.test.d.ts +1 -0
  273. package/dist/substrate-launch/apikey-bootstrap.d.ts +84 -0
  274. package/dist/substrate-launch/engage-substrate.d.ts +102 -0
  275. package/dist/substrate-launch/fallback-ladder.d.ts +49 -0
  276. package/dist/substrate-launch/index.d.ts +12 -0
  277. package/dist/substrate-launch/le-env-scrub.d.ts +77 -0
  278. package/dist/substrate-launch/sanitized-env.d.ts +73 -0
  279. package/dist/types/auth.d.ts +6 -1
  280. package/dist/types/events.d.ts +3 -1
  281. package/dist/types/reviewer.d.ts +6 -6
  282. package/package.json +7 -3
@@ -0,0 +1,77 @@
1
+ import { spawnSync } from "node:child_process";
2
+ /** The guard marker: present on a re-exec'd (already-scrubbed) LE process. */
3
+ export declare const LE_ENV_SCRUBBED_MARKER = "CODEVIBE_LE_ENV_SCRUBBED";
4
+ /** True if `key` is a credential-shaped env var that must not ride the LE env. */
5
+ export declare function isCredShapedEnvKey(key: string): boolean;
6
+ /**
7
+ * Return the credential-shaped keys present in `env` (the keys the re-exec
8
+ * scrubs). Exported for the test + for an optional caller-side log of WHAT was
9
+ * scrubbed (the VALUES are never logged).
10
+ */
11
+ export declare function findCredShapedKeys(env: Readonly<Record<string, string | undefined>>): string[];
12
+ /**
13
+ * Build the scrubbed env for the re-exec: a COPY of `env` with every
14
+ * credential-shaped key REMOVED and the guard marker ADDED. The base-URL /
15
+ * config-discovery / marker keys + every non-cred var are preserved verbatim so
16
+ * the re-exec'd LE behaves identically (companion + orchestration unaffected).
17
+ */
18
+ export declare function buildScrubbedLeEnv(env: Readonly<Record<string, string | undefined>>): Record<string, string>;
19
+ /** Injectable deps so the re-exec logic is unit-testable without a real fork. */
20
+ export interface LeEnvScrubDeps {
21
+ /** Platform check (default `process.platform`). The vector is macOS-only. */
22
+ platform?: NodeJS.Platform;
23
+ /** The env to inspect (default `process.env`). */
24
+ env?: Readonly<Record<string, string | undefined>>;
25
+ /** The interpreter to re-exec (default `process.execPath`). */
26
+ execPath?: string;
27
+ /** The argv to re-exec with (default `process.argv.slice(1)` — drops node). */
28
+ argv?: string[];
29
+ /** The cwd to preserve (default `process.cwd()`). */
30
+ cwd?: string;
31
+ /**
32
+ * The synchronous spawn primitive (default `node:child_process.spawnSync`).
33
+ * Injected in tests so we can assert the call shape WITHOUT a real re-exec.
34
+ */
35
+ spawnSyncFn?: typeof spawnSync;
36
+ /**
37
+ * The process-exit primitive (default `process.exit`). Injected in tests so
38
+ * the re-exec path can be asserted without killing the test runner.
39
+ */
40
+ exit?: (code: number) => never;
41
+ /** Optional structured log sink (no VALUES — only the scrubbed key NAMES). */
42
+ onScrub?: (scrubbedKeys: string[]) => void;
43
+ }
44
+ /**
45
+ * Decide-and-act: if the LE's exec-time env carries a credential-shaped var AND
46
+ * it has NOT already been scrubbed (the guard marker is absent), RE-EXEC the LE
47
+ * with a scrubbed exec-time env so the sandboxed agent's reachable parent
48
+ * (KERN_PROCARGS2) carries no credential — then `process.exit()` with the
49
+ * child's exit code. Otherwise RETURN (the caller continues normally).
50
+ *
51
+ * ── r6 HIGH-1 (Codex): SCAN-FIRST, marker is NOT a blind bypass ────────────
52
+ * The marker (`CODEVIBE_LE_ENV_SCRUBBED`) was checked FIRST and returned EARLY,
53
+ * so a launch env carrying BOTH the marker AND a cred-shaped var (e.g. a spoofed
54
+ * `CODEVIBE_LE_ENV_SCRUBBED=1` + `ANTHROPIC_API_KEY=…`) skipped the re-exec — the
55
+ * LE kept a vendor key in its exec-time procargs, reopening the A5 parent-procargs
56
+ * vector. The fix REORDERS so the credential SCAN is authoritative:
57
+ * - NO cred-shaped key remains → return clean, regardless of the marker.
58
+ * - cred-shaped key present, marker ABSENT → re-exec + set marker (one-shot).
59
+ * - cred-shaped key present, marker PRESENT → PATHOLOGICAL/spoofed state. A
60
+ * genuine re-exec'd child has NO cred-shaped keys (we stripped them in
61
+ * `buildScrubbedLeEnv`), so the marker is NOT trustworthy here: FAIL CLOSED
62
+ * (throw) — never launch the LE with cred-shaped vars present, and do NOT
63
+ * loop-re-exec (which could spin).
64
+ * The one-shot loop guard is INTACT for the normal path: the re-exec'd child has
65
+ * no creds → the scan finds nothing → it returns clean via the first branch.
66
+ *
67
+ * On the non-darwin path (or when no cred-shaped var is present) it is a cheap
68
+ * no-op that returns.
69
+ *
70
+ * @returns `false` if no re-exec happened (caller proceeds in THIS process). It
71
+ * never returns `true` — when a re-exec IS performed it calls `exit()` and
72
+ * does not return (the type is `boolean` for the test's injected-exit case,
73
+ * where the stubbed `exit` does return).
74
+ * @throws if a cred-shaped var is present WHILE the scrub marker is already set
75
+ * (the pathological/spoofed state) — fail closed, never launch with a cred.
76
+ */
77
+ export declare function scrubLeEnvOrReexec(deps?: LeEnvScrubDeps): boolean;
@@ -0,0 +1,73 @@
1
+ import type { VendorProvider } from "../credential-broker/types";
2
+ /**
3
+ * The minimal SAFE env keys the agent process needs for hygiene — NEVER
4
+ * credentials. We copy these from a caller-supplied safe source (defaulting to
5
+ * a fixed minimal set), NOT a blanket `process.env` sweep.
6
+ *
7
+ * Deliberately EXCLUDES: anything `*_KEY`/`*_TOKEN`/`*_SECRET`, AWS_*, GH_*,
8
+ * GOOGLE_*, ANTHROPIC_*, OPENAI_*, SSH_*, npm_config_*, and every other ambient
9
+ * var. If a future hygiene var is needed, it is added HERE explicitly.
10
+ */
11
+ export declare const SAFE_ENV_ALLOWLIST: readonly string[];
12
+ /** A fixed, minimal PATH for the sandbox — does NOT trust the host PATH. */
13
+ export declare const SANDBOX_DEFAULT_PATH = "/usr/local/bin:/usr/bin:/bin";
14
+ /** Inputs for building the agent's sanitized base env. */
15
+ export interface SanitizedEnvInput {
16
+ /** The vendor the substrate-confined implementor brokers (Claude/Codex). */
17
+ provider: VendorProvider;
18
+ /**
19
+ * The URL the agent reaches the broker at FROM INSIDE the sandbox
20
+ * (`SubstrateSpec.sandboxBrokerUrl`). For Claude this becomes
21
+ * `ANTHROPIC_BASE_URL`; for Codex the base_url goes in config (the env is not
22
+ * the redirect channel) but we still set it for parity/debuggability.
23
+ */
24
+ sandboxBrokerUrl: string;
25
+ /**
26
+ * The HOME the agent sees inside the sandbox. For A1 Docker this is the
27
+ * container workdir-adjacent home; for A5 it is the worktree (the only
28
+ * writable fs). NEVER the host home (that would expose the keychain/dotfiles).
29
+ */
30
+ sandboxHome: string;
31
+ /**
32
+ * The IN-SANDBOX path of the apiKeyHelper bootstrap dir (PART D). The agent
33
+ * config (`settings.json` for Claude / `config.toml` for Codex) lives HERE,
34
+ * and that config is what points the CLI at the broker apiKeyHelper / `[auth]
35
+ * command`. We MUST point the agent at this dir via the CLI's native config-
36
+ * discovery env, or the agent never reads the helper and the "creditless"
37
+ * loop is fake (Stage-2 M-1):
38
+ * - Claude → `CLAUDE_CONFIG_DIR` (SPIKE-FINDINGS §1 method: isolated
39
+ * `HOME` + `CLAUDE_CONFIG_DIR` is the discovery path the spike used).
40
+ * - Codex → `CODEX_HOME` (SPIKE-FINDINGS §2 empirical: clean `HOME` +
41
+ * `CODEX_HOME` is the config-discovery path the spike used).
42
+ * Required for the substrate path; the I1 allow-list still drops every cred.
43
+ */
44
+ sandboxBootstrapDir: string;
45
+ /**
46
+ * A SAFE source for the hygiene values (LANG/TERM/…). Defaults to a minimal
47
+ * fixed map. The LE may pass a curated subset of `process.env` for locale, but
48
+ * ONLY the SAFE_ENV_ALLOWLIST keys are copied — credentials never are.
49
+ */
50
+ safeSource?: Readonly<Record<string, string | undefined>>;
51
+ /** Override the sandbox PATH (default {@link SANDBOX_DEFAULT_PATH}). */
52
+ path?: string;
53
+ }
54
+ /**
55
+ * Build the agent's sanitized BASE env (allow-list; no markers). The caller
56
+ * (the spawn seam) folds the §3.6 marker keys in afterward via
57
+ * `buildSubstrateImplementorEnv`. The result is the COMPLETE non-marker env the
58
+ * agent sees — every ambient credential is ABSENT because nothing is copied
59
+ * unless it is on the allow-list.
60
+ *
61
+ * @returns a fresh `Record<string,string>` containing ONLY: PATH, HOME, the
62
+ * safe hygiene keys present in `safeSource`, and the broker base-URL var(s).
63
+ */
64
+ export declare function buildSanitizedBaseEnv(input: SanitizedEnvInput): Record<string, string>;
65
+ /**
66
+ * Defensive fail-closed guard: assert the built env carries NO credential-
67
+ * shaped key. The allow-list builder never produces one, but this is the
68
+ * belt-and-suspenders check the LE runs before launch — a thrown error here is
69
+ * a HARD STOP (better to refuse to launch than to leak a credential into the
70
+ * agent). The broker base-URL vars are explicitly exempt (they are not
71
+ * credentials and not key-shaped). Returns the env unchanged on success.
72
+ */
73
+ export declare function assertNoAmbientCreds(env: Readonly<Record<string, string>>): void;
@@ -11,5 +11,10 @@ export interface TokenData {
11
11
  }
12
12
  /**
13
13
  * Environment configuration
14
+ *
15
+ * Mirrors `src/config/config.ts` Environment. Kept in sync (LOCK #IE-5):
16
+ * widening one without the other surfaces as duplicate-definition compile
17
+ * errors at every import site. See
18
+ * `codevibe-backend/docs/2.0/PHASE-INFRA-EXPERIMENT-ENV-DESIGN.md`.
14
19
  */
15
- export type Environment = 'development' | 'production';
20
+ export type Environment = 'development' | 'production' | 'experiment';
@@ -23,7 +23,9 @@ export declare enum EventType {
23
23
  PLANNER_RECOVERED = "PLANNER_RECOVERED",
24
24
  SLASH_COMMAND_INVOKED = "SLASH_COMMAND_INVOKED",
25
25
  STRUCTURAL_SUMMARY_GENERATED = "STRUCTURAL_SUMMARY_GENERATED",
26
- LOCAL_AUTHORITY_REFUSAL = "LOCAL_AUTHORITY_REFUSAL"
26
+ LOCAL_AUTHORITY_REFUSAL = "LOCAL_AUTHORITY_REFUSAL",
27
+ CONTINUATION_PACKET_WRITTEN = "CONTINUATION_PACKET_WRITTEN",
28
+ CONTINUATION_PACKET_FAILED = "CONTINUATION_PACKET_FAILED"
27
29
  }
28
30
  export declare enum EventSource {
29
31
  DESKTOP = "DESKTOP",
@@ -25,20 +25,20 @@ export declare enum ReviewerRole {
25
25
  /**
26
26
  * One seat in a user's reviewer panel. `seat_id` is the panel position
27
27
  * (0-indexed: Pro has seats 0–1, Max has 0–2). `role` is the review lens
28
- * — unique within a policy. `agent` (CLAUDE | GEMINI | CODEX) may repeat
29
- * across seats — single-vendor users get multiple same-kind seats with
30
- * distinct roles.
28
+ * — unique within a policy. `agent` (CLAUDE | GEMINI | CODEX | ANTIGRAVITY —
29
+ * AGY-2.0 Phase A reviewer-type contract, task #51) may repeat across seats
30
+ * — single-vendor users get multiple same-kind seats with distinct roles.
31
31
  */
32
32
  export interface ReviewerAgentSpec {
33
33
  seatId: number;
34
34
  role: ReviewerRole;
35
- agent: 'CLAUDE' | 'GEMINI' | 'CODEX';
35
+ agent: 'CLAUDE' | 'GEMINI' | 'CODEX' | 'ANTIGRAVITY';
36
36
  modelHint?: string | null;
37
37
  }
38
38
  export interface ReviewerAgentSpecInput {
39
39
  seatId: number;
40
40
  role: ReviewerRole;
41
- agent: 'CLAUDE' | 'GEMINI' | 'CODEX';
41
+ agent: 'CLAUDE' | 'GEMINI' | 'CODEX' | 'ANTIGRAVITY';
42
42
  modelHint?: string | null;
43
43
  }
44
44
  /**
@@ -60,7 +60,7 @@ export interface UpdateReviewerPolicyInput {
60
60
  */
61
61
  export interface UserReviewerPolicySnapshot {
62
62
  userId: string;
63
- availableAgents?: Array<'CLAUDE' | 'GEMINI' | 'CODEX'> | null;
63
+ availableAgents?: Array<'CLAUDE' | 'GEMINI' | 'CODEX' | 'ANTIGRAVITY'> | null;
64
64
  orchestrationEnabledDefault?: boolean | null;
65
65
  reviewerSeats?: ReviewerAgentSpec[] | null;
66
66
  updatedAt: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantiya/codevibe-core",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
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",
@@ -16,7 +16,8 @@
16
16
  "scripts": {
17
17
  "typecheck": "tsc --noEmit",
18
18
  "emit-types": "tsc --emitDeclarationOnly",
19
- "build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --packages=external --outfile=dist/orchestration-shell/cli.js --banner:js=\"#!/usr/bin/env node\"",
19
+ "build": "rm -rf dist && npm run emit-types && esbuild src/index.ts --bundle --platform=node --target=node18 --minify --packages=external --outfile=dist/index.js && esbuild src/orchestration-shell/cli.ts --bundle --platform=node --target=node18 --packages=external --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 -Elq 'CODEVIBE_TEST_FORCE_QUOTA_FAIL|CODEVIBE_TEST_FORCE_IMPLEMENTOR_AGENT' dist/index.js dist/orchestration-shell/cli.js; then echo 'ERROR: a CODEVIBE_TEST_FORCE_* test hook leaked into a published bundle (prod-unreachability invariant)'; exit 1; fi; echo 'OK — no test-only hooks in published bundles'",
20
21
  "clean": "rm -rf dist",
21
22
  "prepublishOnly": "npm run build",
22
23
  "test": "vitest run",
@@ -27,14 +28,17 @@
27
28
  "@iarna/toml": "^2.2.5",
28
29
  "@npmcli/package-json": "^5.2.1",
29
30
  "gradient-string": "^3.0.0",
30
- "ink": "^5.2.1",
31
+ "ink": "5.2.1",
31
32
  "ink-select-input": "^6.2.0",
32
33
  "ink-spinner": "^5.0.0",
33
34
  "ink-text-input": "^6.0.0",
35
+ "json-freeze": "^1.0.0",
36
+ "parse5": "^7.3.0",
34
37
  "react": "^18.3.1",
35
38
  "ulid": "^3.0.0",
36
39
  "uuid": "^9.0.0",
37
40
  "ws": "^8.14.0",
41
+ "yaml": "^2.9.0",
38
42
  "zod": "^3.23.0"
39
43
  },
40
44
  "optionalDependencies": {