@productbrain/cli 0.1.0-beta.1138 → 0.1.0-beta.11385

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 (1495) hide show
  1. package/README.md +14 -4
  2. package/dist/__tests__/adapters.test.js +79 -53
  3. package/dist/__tests__/adapters.test.js.map +1 -1
  4. package/dist/__tests__/adminConfig.test.d.ts +18 -0
  5. package/dist/__tests__/adminConfig.test.d.ts.map +1 -0
  6. package/dist/__tests__/adminConfig.test.js +221 -0
  7. package/dist/__tests__/adminConfig.test.js.map +1 -0
  8. package/dist/__tests__/batch-transformations.test.js +2 -26
  9. package/dist/__tests__/batch-transformations.test.js.map +1 -1
  10. package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
  11. package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
  12. package/dist/__tests__/capture-receipt-coaching.test.js +108 -0
  13. package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
  14. package/dist/__tests__/capture-receipt-role-hint.test.d.ts +2 -0
  15. package/dist/__tests__/capture-receipt-role-hint.test.d.ts.map +1 -0
  16. package/dist/__tests__/capture-receipt-role-hint.test.js +64 -0
  17. package/dist/__tests__/capture-receipt-role-hint.test.js.map +1 -0
  18. package/dist/__tests__/capture-receipt-spine-floor.test.d.ts +2 -0
  19. package/dist/__tests__/capture-receipt-spine-floor.test.d.ts.map +1 -0
  20. package/dist/__tests__/capture-receipt-spine-floor.test.js +45 -0
  21. package/dist/__tests__/capture-receipt-spine-floor.test.js.map +1 -0
  22. package/dist/__tests__/capture.test.js +437 -231
  23. package/dist/__tests__/capture.test.js.map +1 -1
  24. package/dist/__tests__/cli-error-once.test.d.ts +2 -0
  25. package/dist/__tests__/cli-error-once.test.d.ts.map +1 -0
  26. package/dist/__tests__/cli-error-once.test.js +51 -0
  27. package/dist/__tests__/cli-error-once.test.js.map +1 -0
  28. package/dist/__tests__/client-binding-guard.test.d.ts +2 -0
  29. package/dist/__tests__/client-binding-guard.test.d.ts.map +1 -0
  30. package/dist/__tests__/client-binding-guard.test.js +84 -0
  31. package/dist/__tests__/client-binding-guard.test.js.map +1 -0
  32. package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
  33. package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
  34. package/dist/__tests__/coaching-mirror-drift.test.js +50 -0
  35. package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
  36. package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
  37. package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
  38. package/dist/__tests__/codex-prep-parity.test.js +84 -0
  39. package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
  40. package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
  41. package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
  42. package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
  43. package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
  44. package/dist/__tests__/config.test.js +583 -40
  45. package/dist/__tests__/config.test.js.map +1 -1
  46. package/dist/__tests__/constants.test.js +13 -4
  47. package/dist/__tests__/constants.test.js.map +1 -1
  48. package/dist/__tests__/constellation.test.js +26 -14
  49. package/dist/__tests__/constellation.test.js.map +1 -1
  50. package/dist/__tests__/conversation.test.d.ts +2 -0
  51. package/dist/__tests__/conversation.test.d.ts.map +1 -0
  52. package/dist/__tests__/conversation.test.js +113 -0
  53. package/dist/__tests__/conversation.test.js.map +1 -0
  54. package/dist/__tests__/entry-formatter.test.d.ts +2 -0
  55. package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
  56. package/dist/__tests__/entry-formatter.test.js +228 -0
  57. package/dist/__tests__/entry-formatter.test.js.map +1 -0
  58. package/dist/__tests__/entry-preflight.test.d.ts +2 -0
  59. package/dist/__tests__/entry-preflight.test.d.ts.map +1 -0
  60. package/dist/__tests__/entry-preflight.test.js +58 -0
  61. package/dist/__tests__/entry-preflight.test.js.map +1 -0
  62. package/dist/__tests__/entryAccept-batch.test.d.ts +2 -0
  63. package/dist/__tests__/entryAccept-batch.test.d.ts.map +1 -0
  64. package/dist/__tests__/entryAccept-batch.test.js +305 -0
  65. package/dist/__tests__/entryAccept-batch.test.js.map +1 -0
  66. package/dist/__tests__/entryAccept.test.d.ts +2 -0
  67. package/dist/__tests__/entryAccept.test.d.ts.map +1 -0
  68. package/dist/__tests__/entryAccept.test.js +582 -0
  69. package/dist/__tests__/entryAccept.test.js.map +1 -0
  70. package/dist/__tests__/entryDiscardResolve.test.d.ts +2 -0
  71. package/dist/__tests__/entryDiscardResolve.test.d.ts.map +1 -0
  72. package/dist/__tests__/entryDiscardResolve.test.js +28 -0
  73. package/dist/__tests__/entryDiscardResolve.test.js.map +1 -0
  74. package/dist/__tests__/entryOwn.test.d.ts +2 -0
  75. package/dist/__tests__/entryOwn.test.d.ts.map +1 -0
  76. package/dist/__tests__/entryOwn.test.js +50 -0
  77. package/dist/__tests__/entryOwn.test.js.map +1 -0
  78. package/dist/__tests__/entryTick.test.d.ts +2 -0
  79. package/dist/__tests__/entryTick.test.d.ts.map +1 -0
  80. package/dist/__tests__/entryTick.test.js +40 -0
  81. package/dist/__tests__/entryTick.test.js.map +1 -0
  82. package/dist/__tests__/envelope-contract.test.js +2 -0
  83. package/dist/__tests__/envelope-contract.test.js.map +1 -1
  84. package/dist/__tests__/errors.test.js +41 -0
  85. package/dist/__tests__/errors.test.js.map +1 -1
  86. package/dist/__tests__/fields.test.js +14 -3
  87. package/dist/__tests__/fields.test.js.map +1 -1
  88. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts +2 -0
  89. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts.map +1 -0
  90. package/dist/__tests__/gateway-dry-run-timeout.test.js +70 -0
  91. package/dist/__tests__/gateway-dry-run-timeout.test.js.map +1 -0
  92. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts +2 -0
  93. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts.map +1 -0
  94. package/dist/__tests__/gateway-timeout-body-phase.test.js +116 -0
  95. package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
  96. package/dist/__tests__/glossary.test.js +10 -27
  97. package/dist/__tests__/glossary.test.js.map +1 -1
  98. package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
  99. package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
  100. package/dist/__tests__/health-gap-kinds-drift.test.js +43 -0
  101. package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
  102. package/dist/__tests__/hook-intents.test.js +31 -43
  103. package/dist/__tests__/hook-intents.test.js.map +1 -1
  104. package/dist/__tests__/init.test.d.ts +2 -1
  105. package/dist/__tests__/init.test.d.ts.map +1 -1
  106. package/dist/__tests__/init.test.js +167 -23
  107. package/dist/__tests__/init.test.js.map +1 -1
  108. package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
  109. package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
  110. package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
  111. package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
  112. package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
  113. package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
  114. package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
  115. package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
  116. package/dist/__tests__/login.test.js +18 -1
  117. package/dist/__tests__/login.test.js.map +1 -1
  118. package/dist/__tests__/missingPin.test.d.ts +11 -0
  119. package/dist/__tests__/missingPin.test.d.ts.map +1 -0
  120. package/dist/__tests__/missingPin.test.js +232 -0
  121. package/dist/__tests__/missingPin.test.js.map +1 -0
  122. package/dist/__tests__/notice-marker.test.js +146 -11
  123. package/dist/__tests__/notice-marker.test.js.map +1 -1
  124. package/dist/__tests__/orient.test.js +368 -38
  125. package/dist/__tests__/orient.test.js.map +1 -1
  126. package/dist/__tests__/perimeter.test.js +1 -1
  127. package/dist/__tests__/perimeter.test.js.map +1 -1
  128. package/dist/__tests__/preview-key-refresh.test.js +73 -13
  129. package/dist/__tests__/preview-key-refresh.test.js.map +1 -1
  130. package/dist/__tests__/profiles.test.js +498 -8
  131. package/dist/__tests__/profiles.test.js.map +1 -1
  132. package/dist/__tests__/prompts.test.js +18 -1
  133. package/dist/__tests__/prompts.test.js.map +1 -1
  134. package/dist/__tests__/rate-limit-resilience.test.d.ts +8 -0
  135. package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
  136. package/dist/__tests__/rate-limit-resilience.test.js +191 -0
  137. package/dist/__tests__/rate-limit-resilience.test.js.map +1 -0
  138. package/dist/__tests__/read-target-notice.test.d.ts +2 -0
  139. package/dist/__tests__/read-target-notice.test.d.ts.map +1 -0
  140. package/dist/__tests__/read-target-notice.test.js +125 -0
  141. package/dist/__tests__/read-target-notice.test.js.map +1 -0
  142. package/dist/__tests__/relate.test.js +246 -14
  143. package/dist/__tests__/relate.test.js.map +1 -1
  144. package/dist/__tests__/removed-commands.test.d.ts +2 -0
  145. package/dist/__tests__/removed-commands.test.d.ts.map +1 -0
  146. package/dist/__tests__/removed-commands.test.js +99 -0
  147. package/dist/__tests__/removed-commands.test.js.map +1 -0
  148. package/dist/__tests__/reply-commands-registered.test.d.ts +2 -0
  149. package/dist/__tests__/reply-commands-registered.test.d.ts.map +1 -0
  150. package/dist/__tests__/reply-commands-registered.test.js +81 -0
  151. package/dist/__tests__/reply-commands-registered.test.js.map +1 -0
  152. package/dist/__tests__/repo-detect.test.js +18 -38
  153. package/dist/__tests__/repo-detect.test.js.map +1 -1
  154. package/dist/__tests__/reportedProfile.test.d.ts +2 -0
  155. package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
  156. package/dist/__tests__/reportedProfile.test.js +328 -0
  157. package/dist/__tests__/reportedProfile.test.js.map +1 -0
  158. package/dist/__tests__/restore.test.d.ts +2 -0
  159. package/dist/__tests__/restore.test.d.ts.map +1 -0
  160. package/dist/__tests__/restore.test.js +85 -0
  161. package/dist/__tests__/restore.test.js.map +1 -0
  162. package/dist/__tests__/route-latency-budget.test.d.ts +2 -0
  163. package/dist/__tests__/route-latency-budget.test.d.ts.map +1 -0
  164. package/dist/__tests__/route-latency-budget.test.js +107 -0
  165. package/dist/__tests__/route-latency-budget.test.js.map +1 -0
  166. package/dist/__tests__/runner.test.js +59 -44
  167. package/dist/__tests__/runner.test.js.map +1 -1
  168. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts +2 -0
  169. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts.map +1 -0
  170. package/dist/__tests__/session-binding-refusal-tenant.test.js +112 -0
  171. package/dist/__tests__/session-binding-refusal-tenant.test.js.map +1 -0
  172. package/dist/__tests__/session-close-conversation.test.d.ts +2 -0
  173. package/dist/__tests__/session-close-conversation.test.d.ts.map +1 -0
  174. package/dist/__tests__/session-close-conversation.test.js +75 -0
  175. package/dist/__tests__/session-close-conversation.test.js.map +1 -0
  176. package/dist/__tests__/session-close-loop.test.d.ts +2 -0
  177. package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
  178. package/dist/__tests__/session-close-loop.test.js +259 -0
  179. package/dist/__tests__/session-close-loop.test.js.map +1 -0
  180. package/dist/__tests__/session-label.test.d.ts +2 -0
  181. package/dist/__tests__/session-label.test.d.ts.map +1 -0
  182. package/dist/__tests__/session-label.test.js +46 -0
  183. package/dist/__tests__/session-label.test.js.map +1 -0
  184. package/dist/__tests__/session-list-show.test.d.ts +2 -0
  185. package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
  186. package/dist/__tests__/session-list-show.test.js +173 -0
  187. package/dist/__tests__/session-list-show.test.js.map +1 -0
  188. package/dist/__tests__/session-pinned-role.test.d.ts +2 -0
  189. package/dist/__tests__/session-pinned-role.test.d.ts.map +1 -0
  190. package/dist/__tests__/session-pinned-role.test.js +305 -0
  191. package/dist/__tests__/session-pinned-role.test.js.map +1 -0
  192. package/dist/__tests__/session-reset.test.js +23 -7
  193. package/dist/__tests__/session-reset.test.js.map +1 -1
  194. package/dist/__tests__/session-resume-backstop.test.js +42 -0
  195. package/dist/__tests__/session-resume-backstop.test.js.map +1 -1
  196. package/dist/__tests__/session-role-name-sanitize.test.d.ts +2 -0
  197. package/dist/__tests__/session-role-name-sanitize.test.d.ts.map +1 -0
  198. package/dist/__tests__/session-role-name-sanitize.test.js +122 -0
  199. package/dist/__tests__/session-role-name-sanitize.test.js.map +1 -0
  200. package/dist/__tests__/session-start-key-refresh.test.js +47 -28
  201. package/dist/__tests__/session-start-key-refresh.test.js.map +1 -1
  202. package/dist/__tests__/session-state-machine.test.js +190 -9
  203. package/dist/__tests__/session-state-machine.test.js.map +1 -1
  204. package/dist/__tests__/session-switch.test.js +217 -4
  205. package/dist/__tests__/session-switch.test.js.map +1 -1
  206. package/dist/__tests__/session-touch.test.js +48 -107
  207. package/dist/__tests__/session-touch.test.js.map +1 -1
  208. package/dist/__tests__/sessionBinding.test.d.ts +2 -0
  209. package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
  210. package/dist/__tests__/sessionBinding.test.js +118 -0
  211. package/dist/__tests__/sessionBinding.test.js.map +1 -0
  212. package/dist/__tests__/sessionByIdLookup.test.d.ts +2 -0
  213. package/dist/__tests__/sessionByIdLookup.test.d.ts.map +1 -0
  214. package/dist/__tests__/sessionByIdLookup.test.js +63 -0
  215. package/dist/__tests__/sessionByIdLookup.test.js.map +1 -0
  216. package/dist/__tests__/skill-vocabulary.test.d.ts +1 -1
  217. package/dist/__tests__/skill-vocabulary.test.js +7 -2
  218. package/dist/__tests__/skill-vocabulary.test.js.map +1 -1
  219. package/dist/__tests__/state.test.js +21 -1
  220. package/dist/__tests__/state.test.js.map +1 -1
  221. package/dist/__tests__/stillTrue.test.d.ts +2 -0
  222. package/dist/__tests__/stillTrue.test.d.ts.map +1 -0
  223. package/dist/__tests__/stillTrue.test.js +52 -0
  224. package/dist/__tests__/stillTrue.test.js.map +1 -0
  225. package/dist/__tests__/strip.test.js +57 -3
  226. package/dist/__tests__/strip.test.js.map +1 -1
  227. package/dist/__tests__/surfaces.test.js +3 -4
  228. package/dist/__tests__/surfaces.test.js.map +1 -1
  229. package/dist/__tests__/tenant-notice-write-path.test.d.ts +2 -0
  230. package/dist/__tests__/tenant-notice-write-path.test.d.ts.map +1 -0
  231. package/dist/__tests__/tenant-notice-write-path.test.js +183 -0
  232. package/dist/__tests__/tenant-notice-write-path.test.js.map +1 -0
  233. package/dist/__tests__/update-check.test.js +21 -1
  234. package/dist/__tests__/update-check.test.js.map +1 -1
  235. package/dist/__tests__/update.test.js +470 -8
  236. package/dist/__tests__/update.test.js.map +1 -1
  237. package/dist/__tests__/upgrade-runner.test.js +0 -3
  238. package/dist/__tests__/upgrade-runner.test.js.map +1 -1
  239. package/dist/__tests__/verify-formatter.test.d.ts +2 -0
  240. package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
  241. package/dist/__tests__/verify-formatter.test.js +85 -0
  242. package/dist/__tests__/verify-formatter.test.js.map +1 -0
  243. package/dist/__tests__/vocabulary-leak.test.d.ts +1 -7
  244. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -1
  245. package/dist/__tests__/vocabulary-leak.test.js +8 -115
  246. package/dist/__tests__/vocabulary-leak.test.js.map +1 -1
  247. package/dist/__tests__/workspace.test.js +11 -72
  248. package/dist/__tests__/workspace.test.js.map +1 -1
  249. package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
  250. package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
  251. package/dist/__tests__/workspaceNotice.test.js +559 -0
  252. package/dist/__tests__/workspaceNotice.test.js.map +1 -0
  253. package/dist/commands/__tests__/quality.test.d.ts +2 -0
  254. package/dist/commands/__tests__/quality.test.d.ts.map +1 -0
  255. package/dist/commands/__tests__/quality.test.js +250 -0
  256. package/dist/commands/__tests__/quality.test.js.map +1 -0
  257. package/dist/commands/__tests__/rework.test.d.ts +2 -0
  258. package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
  259. package/dist/commands/__tests__/rework.test.js +149 -0
  260. package/dist/commands/__tests__/rework.test.js.map +1 -0
  261. package/dist/commands/__tests__/tensionsList.test.d.ts +2 -0
  262. package/dist/commands/__tests__/tensionsList.test.d.ts.map +1 -0
  263. package/dist/commands/__tests__/tensionsList.test.js +63 -0
  264. package/dist/commands/__tests__/tensionsList.test.js.map +1 -0
  265. package/dist/commands/accept-policy.d.ts +10 -0
  266. package/dist/commands/accept-policy.d.ts.map +1 -0
  267. package/dist/commands/accept-policy.js +107 -0
  268. package/dist/commands/accept-policy.js.map +1 -0
  269. package/dist/commands/admin/cockpit.d.ts +2 -13
  270. package/dist/commands/admin/cockpit.d.ts.map +1 -1
  271. package/dist/commands/admin/cockpit.js +5 -5
  272. package/dist/commands/admin/cockpit.js.map +1 -1
  273. package/dist/commands/admin/index.d.ts +49 -0
  274. package/dist/commands/admin/index.d.ts.map +1 -1
  275. package/dist/commands/admin/index.js +148 -29
  276. package/dist/commands/admin/index.js.map +1 -1
  277. package/dist/commands/admin/index.test.d.ts +2 -0
  278. package/dist/commands/admin/index.test.d.ts.map +1 -0
  279. package/dist/commands/admin/index.test.js +94 -0
  280. package/dist/commands/admin/index.test.js.map +1 -0
  281. package/dist/commands/admin/inspect.d.ts.map +1 -1
  282. package/dist/commands/admin/inspect.js +2 -7
  283. package/dist/commands/admin/inspect.js.map +1 -1
  284. package/dist/commands/admin/probe.d.ts +75 -0
  285. package/dist/commands/admin/probe.d.ts.map +1 -0
  286. package/dist/commands/admin/probe.js +224 -0
  287. package/dist/commands/admin/probe.js.map +1 -0
  288. package/dist/commands/admin/probe.test.d.ts +2 -0
  289. package/dist/commands/admin/probe.test.d.ts.map +1 -0
  290. package/dist/commands/admin/probe.test.js +193 -0
  291. package/dist/commands/admin/probe.test.js.map +1 -0
  292. package/dist/commands/admin/run.d.ts +43 -0
  293. package/dist/commands/admin/run.d.ts.map +1 -0
  294. package/dist/commands/admin/run.js +78 -0
  295. package/dist/commands/admin/run.js.map +1 -0
  296. package/dist/commands/admin/run.test.d.ts +18 -0
  297. package/dist/commands/admin/run.test.d.ts.map +1 -0
  298. package/dist/commands/admin/run.test.js +168 -0
  299. package/dist/commands/admin/run.test.js.map +1 -0
  300. package/dist/commands/admin/seed.d.ts +6 -21
  301. package/dist/commands/admin/seed.d.ts.map +1 -1
  302. package/dist/commands/admin/seed.js +41 -310
  303. package/dist/commands/admin/seed.js.map +1 -1
  304. package/dist/commands/admin/seed.test.d.ts +3 -4
  305. package/dist/commands/admin/seed.test.d.ts.map +1 -1
  306. package/dist/commands/admin/seed.test.js +26 -76
  307. package/dist/commands/admin/seed.test.js.map +1 -1
  308. package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -1
  309. package/dist/commands/admin/seedRegistryEntries.generated.js +3 -84
  310. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -1
  311. package/dist/commands/admin/seedRegistryEntries.test.d.ts +5 -3
  312. package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -1
  313. package/dist/commands/admin/seedRegistryEntries.test.js +60 -26
  314. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -1
  315. package/dist/commands/admin/seedRowType.d.ts +22 -0
  316. package/dist/commands/admin/seedRowType.d.ts.map +1 -0
  317. package/dist/commands/admin/seedRowType.js +2 -0
  318. package/dist/commands/admin/seedRowType.js.map +1 -0
  319. package/dist/commands/admin/seedStatusColor.d.ts +9 -0
  320. package/dist/commands/admin/seedStatusColor.d.ts.map +1 -0
  321. package/dist/commands/admin/seedStatusColor.js +19 -0
  322. package/dist/commands/admin/seedStatusColor.js.map +1 -0
  323. package/dist/commands/admin/seedStatusColor.test.d.ts +2 -0
  324. package/dist/commands/admin/seedStatusColor.test.d.ts.map +1 -0
  325. package/dist/commands/admin/seedStatusColor.test.js +31 -0
  326. package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
  327. package/dist/commands/brief.d.ts.map +1 -1
  328. package/dist/commands/brief.js +24 -2
  329. package/dist/commands/brief.js.map +1 -1
  330. package/dist/commands/capture.d.ts +17 -16
  331. package/dist/commands/capture.d.ts.map +1 -1
  332. package/dist/commands/capture.js +105 -288
  333. package/dist/commands/capture.js.map +1 -1
  334. package/dist/commands/chain-walk.d.ts.map +1 -1
  335. package/dist/commands/chain-walk.js.map +1 -1
  336. package/dist/commands/changes.d.ts.map +1 -1
  337. package/dist/commands/changes.js.map +1 -1
  338. package/dist/commands/codex-prep.d.ts +11 -1
  339. package/dist/commands/codex-prep.d.ts.map +1 -1
  340. package/dist/commands/codex-prep.js +14 -83
  341. package/dist/commands/codex-prep.js.map +1 -1
  342. package/dist/commands/collections.d.ts +1 -1
  343. package/dist/commands/collections.d.ts.map +1 -1
  344. package/dist/commands/collections.js +1 -1
  345. package/dist/commands/collections.js.map +1 -1
  346. package/dist/commands/conflicts.d.ts +35 -0
  347. package/dist/commands/conflicts.d.ts.map +1 -0
  348. package/dist/commands/conflicts.js +194 -0
  349. package/dist/commands/conflicts.js.map +1 -0
  350. package/dist/commands/conflicts.test.d.ts +2 -0
  351. package/dist/commands/conflicts.test.d.ts.map +1 -0
  352. package/dist/commands/conflicts.test.js +179 -0
  353. package/dist/commands/conflicts.test.js.map +1 -0
  354. package/dist/commands/connect-config.test.js +12 -9
  355. package/dist/commands/connect-config.test.js.map +1 -1
  356. package/dist/commands/connect-decline.test.d.ts +2 -0
  357. package/dist/commands/connect-decline.test.d.ts.map +1 -0
  358. package/dist/commands/connect-decline.test.js +70 -0
  359. package/dist/commands/connect-decline.test.js.map +1 -0
  360. package/dist/commands/connect-integration.test.js +29 -15
  361. package/dist/commands/connect-integration.test.js.map +1 -1
  362. package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
  363. package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
  364. package/dist/commands/connect-legacy-migration.test.js +108 -0
  365. package/dist/commands/connect-legacy-migration.test.js.map +1 -0
  366. package/dist/commands/connect-redeem-failure.test.d.ts +2 -0
  367. package/dist/commands/connect-redeem-failure.test.d.ts.map +1 -0
  368. package/dist/commands/connect-redeem-failure.test.js +133 -0
  369. package/dist/commands/connect-redeem-failure.test.js.map +1 -0
  370. package/dist/commands/connect-screens.d.ts +11 -17
  371. package/dist/commands/connect-screens.d.ts.map +1 -1
  372. package/dist/commands/connect-screens.js +19 -81
  373. package/dist/commands/connect-screens.js.map +1 -1
  374. package/dist/commands/connect-screens.test.d.ts +2 -0
  375. package/dist/commands/connect-screens.test.d.ts.map +1 -0
  376. package/dist/commands/connect-screens.test.js +19 -0
  377. package/dist/commands/connect-screens.test.js.map +1 -0
  378. package/dist/commands/connect-seal.test.d.ts +2 -0
  379. package/dist/commands/connect-seal.test.d.ts.map +1 -0
  380. package/dist/commands/connect-seal.test.js +54 -0
  381. package/dist/commands/connect-seal.test.js.map +1 -0
  382. package/dist/commands/connect.d.ts +16 -14
  383. package/dist/commands/connect.d.ts.map +1 -1
  384. package/dist/commands/connect.js +247 -87
  385. package/dist/commands/connect.js.map +1 -1
  386. package/dist/commands/connect.test.js +247 -29
  387. package/dist/commands/connect.test.js.map +1 -1
  388. package/dist/commands/constellation.d.ts.map +1 -1
  389. package/dist/commands/constellation.js.map +1 -1
  390. package/dist/commands/context.d.ts.map +1 -1
  391. package/dist/commands/context.js.map +1 -1
  392. package/dist/commands/cross-cut.d.ts.map +1 -1
  393. package/dist/commands/cross-cut.js.map +1 -1
  394. package/dist/commands/direction.d.ts +10 -0
  395. package/dist/commands/direction.d.ts.map +1 -0
  396. package/dist/commands/direction.js +79 -0
  397. package/dist/commands/direction.js.map +1 -0
  398. package/dist/commands/doctor.d.ts.map +1 -1
  399. package/dist/commands/doctor.js +112 -46
  400. package/dist/commands/doctor.js.map +1 -1
  401. package/dist/commands/doctor.test.js +220 -29
  402. package/dist/commands/doctor.test.js.map +1 -1
  403. package/dist/commands/entryAccept.d.ts +26 -0
  404. package/dist/commands/entryAccept.d.ts.map +1 -0
  405. package/dist/commands/entryAccept.js +309 -0
  406. package/dist/commands/entryAccept.js.map +1 -0
  407. package/dist/commands/entryDiscardResolve.d.ts +9 -0
  408. package/dist/commands/entryDiscardResolve.d.ts.map +1 -0
  409. package/dist/commands/entryDiscardResolve.js +27 -0
  410. package/dist/commands/entryDiscardResolve.js.map +1 -0
  411. package/dist/commands/entryOwn.d.ts +5 -0
  412. package/dist/commands/entryOwn.d.ts.map +1 -0
  413. package/dist/commands/entryOwn.js +17 -0
  414. package/dist/commands/entryOwn.js.map +1 -0
  415. package/dist/commands/entryPreflight.d.ts +8 -0
  416. package/dist/commands/entryPreflight.d.ts.map +1 -0
  417. package/dist/commands/entryPreflight.js +48 -0
  418. package/dist/commands/entryPreflight.js.map +1 -0
  419. package/dist/commands/entryTick.d.ts +8 -0
  420. package/dist/commands/entryTick.d.ts.map +1 -0
  421. package/dist/commands/entryTick.js +43 -0
  422. package/dist/commands/entryTick.js.map +1 -0
  423. package/dist/commands/feedback.d.ts +39 -0
  424. package/dist/commands/feedback.d.ts.map +1 -0
  425. package/dist/commands/feedback.js +176 -0
  426. package/dist/commands/feedback.js.map +1 -0
  427. package/dist/commands/feedback.test.d.ts +2 -0
  428. package/dist/commands/feedback.test.d.ts.map +1 -0
  429. package/dist/commands/feedback.test.js +117 -0
  430. package/dist/commands/feedback.test.js.map +1 -0
  431. package/dist/commands/fields.d.ts.map +1 -1
  432. package/dist/commands/fields.js +1 -1
  433. package/dist/commands/fields.js.map +1 -1
  434. package/dist/commands/files.d.ts +26 -0
  435. package/dist/commands/files.d.ts.map +1 -0
  436. package/dist/commands/files.js +160 -0
  437. package/dist/commands/files.js.map +1 -0
  438. package/dist/commands/files.test.d.ts +2 -0
  439. package/dist/commands/files.test.d.ts.map +1 -0
  440. package/dist/commands/files.test.js +278 -0
  441. package/dist/commands/files.test.js.map +1 -0
  442. package/dist/commands/handshakeCursorSkillCleanup.d.ts +36 -0
  443. package/dist/commands/handshakeCursorSkillCleanup.d.ts.map +1 -0
  444. package/dist/commands/handshakeCursorSkillCleanup.js +110 -0
  445. package/dist/commands/handshakeCursorSkillCleanup.js.map +1 -0
  446. package/dist/commands/handshakeDriftClassification.d.ts +33 -0
  447. package/dist/commands/handshakeDriftClassification.d.ts.map +1 -0
  448. package/dist/commands/handshakeDriftClassification.js +62 -0
  449. package/dist/commands/handshakeDriftClassification.js.map +1 -0
  450. package/dist/commands/history.d.ts +32 -0
  451. package/dist/commands/history.d.ts.map +1 -0
  452. package/dist/commands/history.js +55 -0
  453. package/dist/commands/history.js.map +1 -0
  454. package/dist/commands/history.test.d.ts +2 -0
  455. package/dist/commands/history.test.d.ts.map +1 -0
  456. package/dist/commands/history.test.js +121 -0
  457. package/dist/commands/history.test.js.map +1 -0
  458. package/dist/commands/init.d.ts +15 -2
  459. package/dist/commands/init.d.ts.map +1 -1
  460. package/dist/commands/init.js +111 -19
  461. package/dist/commands/init.js.map +1 -1
  462. package/dist/commands/login.d.ts.map +1 -1
  463. package/dist/commands/login.js +15 -11
  464. package/dist/commands/login.js.map +1 -1
  465. package/dist/commands/organisation.d.ts +12 -0
  466. package/dist/commands/organisation.d.ts.map +1 -0
  467. package/dist/commands/organisation.js +146 -0
  468. package/dist/commands/organisation.js.map +1 -0
  469. package/dist/commands/organisation.test.d.ts +2 -0
  470. package/dist/commands/organisation.test.d.ts.map +1 -0
  471. package/dist/commands/organisation.test.js +116 -0
  472. package/dist/commands/organisation.test.js.map +1 -0
  473. package/dist/commands/organisationHierarchy.d.ts +15 -0
  474. package/dist/commands/organisationHierarchy.d.ts.map +1 -0
  475. package/dist/commands/organisationHierarchy.js +114 -0
  476. package/dist/commands/organisationHierarchy.js.map +1 -0
  477. package/dist/commands/organisationHierarchy.test.d.ts +2 -0
  478. package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
  479. package/dist/commands/organisationHierarchy.test.js +144 -0
  480. package/dist/commands/organisationHierarchy.test.js.map +1 -0
  481. package/dist/commands/organisationWrite.d.ts +20 -0
  482. package/dist/commands/organisationWrite.d.ts.map +1 -0
  483. package/dist/commands/organisationWrite.js +41 -0
  484. package/dist/commands/organisationWrite.js.map +1 -0
  485. package/dist/commands/orient.d.ts +45 -96
  486. package/dist/commands/orient.d.ts.map +1 -1
  487. package/dist/commands/orient.js +139 -54
  488. package/dist/commands/orient.js.map +1 -1
  489. package/dist/commands/outcome.d.ts +90 -0
  490. package/dist/commands/outcome.d.ts.map +1 -0
  491. package/dist/commands/outcome.js +201 -0
  492. package/dist/commands/outcome.js.map +1 -0
  493. package/dist/commands/outcome.test.d.ts +2 -0
  494. package/dist/commands/outcome.test.d.ts.map +1 -0
  495. package/dist/commands/outcome.test.js +320 -0
  496. package/dist/commands/outcome.test.js.map +1 -0
  497. package/dist/commands/people.d.ts +6 -0
  498. package/dist/commands/people.d.ts.map +1 -0
  499. package/dist/commands/people.js +23 -0
  500. package/dist/commands/people.js.map +1 -0
  501. package/dist/commands/people.test.d.ts +2 -0
  502. package/dist/commands/people.test.d.ts.map +1 -0
  503. package/dist/commands/people.test.js +61 -0
  504. package/dist/commands/people.test.js.map +1 -0
  505. package/dist/commands/profile.d.ts +23 -2
  506. package/dist/commands/profile.d.ts.map +1 -1
  507. package/dist/commands/profile.js +192 -35
  508. package/dist/commands/profile.js.map +1 -1
  509. package/dist/commands/quality.d.ts +28 -0
  510. package/dist/commands/quality.d.ts.map +1 -0
  511. package/dist/commands/quality.js +74 -0
  512. package/dist/commands/quality.js.map +1 -0
  513. package/dist/commands/questions.d.ts +23 -0
  514. package/dist/commands/questions.d.ts.map +1 -0
  515. package/dist/commands/questions.js +238 -0
  516. package/dist/commands/questions.js.map +1 -0
  517. package/dist/commands/questions.test.d.ts +2 -0
  518. package/dist/commands/questions.test.d.ts.map +1 -0
  519. package/dist/commands/questions.test.js +159 -0
  520. package/dist/commands/questions.test.js.map +1 -0
  521. package/dist/commands/relate.d.ts +1 -0
  522. package/dist/commands/relate.d.ts.map +1 -1
  523. package/dist/commands/relate.js +85 -13
  524. package/dist/commands/relate.js.map +1 -1
  525. package/dist/commands/restore.d.ts +2 -0
  526. package/dist/commands/restore.d.ts.map +1 -0
  527. package/dist/commands/restore.js +83 -0
  528. package/dist/commands/restore.js.map +1 -0
  529. package/dist/commands/rework.d.ts +24 -0
  530. package/dist/commands/rework.d.ts.map +1 -0
  531. package/dist/commands/rework.js +97 -0
  532. package/dist/commands/rework.js.map +1 -0
  533. package/dist/commands/role.d.ts +90 -0
  534. package/dist/commands/role.d.ts.map +1 -0
  535. package/dist/commands/role.js +236 -0
  536. package/dist/commands/role.js.map +1 -0
  537. package/dist/commands/role.test.d.ts +2 -0
  538. package/dist/commands/role.test.d.ts.map +1 -0
  539. package/dist/commands/role.test.js +354 -0
  540. package/dist/commands/role.test.js.map +1 -0
  541. package/dist/commands/scoreboard.d.ts +26 -0
  542. package/dist/commands/scoreboard.d.ts.map +1 -0
  543. package/dist/commands/scoreboard.js +40 -0
  544. package/dist/commands/scoreboard.js.map +1 -0
  545. package/dist/commands/search.d.ts +2 -1
  546. package/dist/commands/search.d.ts.map +1 -1
  547. package/dist/commands/search.js +5 -4
  548. package/dist/commands/search.js.map +1 -1
  549. package/dist/commands/session.d.ts +36 -5
  550. package/dist/commands/session.d.ts.map +1 -1
  551. package/dist/commands/session.js +301 -155
  552. package/dist/commands/session.js.map +1 -1
  553. package/dist/commands/status.d.ts +7 -0
  554. package/dist/commands/status.d.ts.map +1 -0
  555. package/dist/commands/status.js +101 -0
  556. package/dist/commands/status.js.map +1 -0
  557. package/dist/commands/status.test.d.ts +2 -0
  558. package/dist/commands/status.test.d.ts.map +1 -0
  559. package/dist/commands/status.test.js +75 -0
  560. package/dist/commands/status.test.js.map +1 -0
  561. package/dist/commands/stillTrue.d.ts +14 -0
  562. package/dist/commands/stillTrue.d.ts.map +1 -0
  563. package/dist/commands/stillTrue.js +48 -0
  564. package/dist/commands/stillTrue.js.map +1 -0
  565. package/dist/commands/tensionsList.d.ts +5 -0
  566. package/dist/commands/tensionsList.d.ts.map +1 -0
  567. package/dist/commands/tensionsList.js +27 -0
  568. package/dist/commands/tensionsList.js.map +1 -0
  569. package/dist/commands/update.d.ts +21 -0
  570. package/dist/commands/update.d.ts.map +1 -1
  571. package/dist/commands/update.js +175 -42
  572. package/dist/commands/update.js.map +1 -1
  573. package/dist/commands/upgrade.js +2 -2
  574. package/dist/commands/upgrade.js.map +1 -1
  575. package/dist/commands/usage.d.ts.map +1 -1
  576. package/dist/commands/usage.js +0 -18
  577. package/dist/commands/usage.js.map +1 -1
  578. package/dist/commands/verify.d.ts.map +1 -1
  579. package/dist/commands/verify.js +5 -0
  580. package/dist/commands/verify.js.map +1 -1
  581. package/dist/commands/welcome.d.ts.map +1 -1
  582. package/dist/commands/welcome.js +7 -3
  583. package/dist/commands/welcome.js.map +1 -1
  584. package/dist/commands/whoami.d.ts +10 -2
  585. package/dist/commands/whoami.d.ts.map +1 -1
  586. package/dist/commands/whoami.js +77 -20
  587. package/dist/commands/whoami.js.map +1 -1
  588. package/dist/commands/whoami.test.js +86 -6
  589. package/dist/commands/whoami.test.js.map +1 -1
  590. package/dist/commands/workspace.d.ts +7 -74
  591. package/dist/commands/workspace.d.ts.map +1 -1
  592. package/dist/commands/workspace.js +9 -70
  593. package/dist/commands/workspace.js.map +1 -1
  594. package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts +2 -0
  595. package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts.map +1 -0
  596. package/dist/formatters/__tests__/orient-plannedWorkCut.test.js +49 -0
  597. package/dist/formatters/__tests__/orient-plannedWorkCut.test.js.map +1 -0
  598. package/dist/formatters/__tests__/orient-provenance.test.d.ts +2 -3
  599. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -1
  600. package/dist/formatters/__tests__/orient-provenance.test.js +41 -176
  601. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -1
  602. package/dist/formatters/__tests__/orient-ruleLists.test.d.ts +2 -0
  603. package/dist/formatters/__tests__/orient-ruleLists.test.d.ts.map +1 -0
  604. package/dist/formatters/__tests__/orient-ruleLists.test.js +93 -0
  605. package/dist/formatters/__tests__/orient-ruleLists.test.js.map +1 -0
  606. package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
  607. package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
  608. package/dist/formatters/__tests__/session-list-show.test.js +195 -0
  609. package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
  610. package/dist/formatters/__tests__/session.test.js +172 -8
  611. package/dist/formatters/__tests__/session.test.js.map +1 -1
  612. package/dist/formatters/__tests__/tensionsList.test.d.ts +2 -0
  613. package/dist/formatters/__tests__/tensionsList.test.d.ts.map +1 -0
  614. package/dist/formatters/__tests__/tensionsList.test.js +30 -0
  615. package/dist/formatters/__tests__/tensionsList.test.js.map +1 -0
  616. package/dist/formatters/brief.d.ts +6 -15
  617. package/dist/formatters/brief.d.ts.map +1 -1
  618. package/dist/formatters/brief.js +16 -14
  619. package/dist/formatters/brief.js.map +1 -1
  620. package/dist/formatters/brief.test.d.ts +2 -0
  621. package/dist/formatters/brief.test.d.ts.map +1 -0
  622. package/dist/formatters/brief.test.js +21 -0
  623. package/dist/formatters/brief.test.js.map +1 -0
  624. package/dist/formatters/capture.d.ts +24 -13
  625. package/dist/formatters/capture.d.ts.map +1 -1
  626. package/dist/formatters/capture.js +36 -14
  627. package/dist/formatters/capture.js.map +1 -1
  628. package/dist/formatters/coaching.d.ts +59 -0
  629. package/dist/formatters/coaching.d.ts.map +1 -0
  630. package/dist/formatters/coaching.js +51 -0
  631. package/dist/formatters/coaching.js.map +1 -0
  632. package/dist/formatters/collections.d.ts +0 -1
  633. package/dist/formatters/collections.d.ts.map +1 -1
  634. package/dist/formatters/collections.js +14 -5
  635. package/dist/formatters/collections.js.map +1 -1
  636. package/dist/formatters/conflicts.d.ts +71 -0
  637. package/dist/formatters/conflicts.d.ts.map +1 -0
  638. package/dist/formatters/conflicts.js +105 -0
  639. package/dist/formatters/conflicts.js.map +1 -0
  640. package/dist/formatters/conflicts.test.d.ts +2 -0
  641. package/dist/formatters/conflicts.test.d.ts.map +1 -0
  642. package/dist/formatters/conflicts.test.js +166 -0
  643. package/dist/formatters/conflicts.test.js.map +1 -0
  644. package/dist/formatters/context.d.ts +1 -1
  645. package/dist/formatters/context.d.ts.map +1 -1
  646. package/dist/formatters/context.js.map +1 -1
  647. package/dist/formatters/direction.d.ts +48 -0
  648. package/dist/formatters/direction.d.ts.map +1 -0
  649. package/dist/formatters/direction.js +75 -0
  650. package/dist/formatters/direction.js.map +1 -0
  651. package/dist/formatters/direction.test.d.ts +2 -0
  652. package/dist/formatters/direction.test.d.ts.map +1 -0
  653. package/dist/formatters/direction.test.js +70 -0
  654. package/dist/formatters/direction.test.js.map +1 -0
  655. package/dist/formatters/entry.d.ts +56 -3
  656. package/dist/formatters/entry.d.ts.map +1 -1
  657. package/dist/formatters/entry.js +69 -8
  658. package/dist/formatters/entry.js.map +1 -1
  659. package/dist/formatters/entryAccept.d.ts +83 -0
  660. package/dist/formatters/entryAccept.d.ts.map +1 -0
  661. package/dist/formatters/entryAccept.js +79 -0
  662. package/dist/formatters/entryAccept.js.map +1 -0
  663. package/dist/formatters/feedback.d.ts +61 -0
  664. package/dist/formatters/feedback.d.ts.map +1 -0
  665. package/dist/formatters/feedback.js +95 -0
  666. package/dist/formatters/feedback.js.map +1 -0
  667. package/dist/formatters/feedback.test.d.ts +2 -0
  668. package/dist/formatters/feedback.test.d.ts.map +1 -0
  669. package/dist/formatters/feedback.test.js +142 -0
  670. package/dist/formatters/feedback.test.js.map +1 -0
  671. package/dist/formatters/fields.d.ts +7 -1
  672. package/dist/formatters/fields.d.ts.map +1 -1
  673. package/dist/formatters/fields.js +9 -3
  674. package/dist/formatters/fields.js.map +1 -1
  675. package/dist/formatters/fields.test.d.ts +2 -0
  676. package/dist/formatters/fields.test.d.ts.map +1 -0
  677. package/dist/formatters/fields.test.js +42 -0
  678. package/dist/formatters/fields.test.js.map +1 -0
  679. package/dist/formatters/handshake.d.ts +24 -6
  680. package/dist/formatters/handshake.d.ts.map +1 -1
  681. package/dist/formatters/handshake.js +34 -15
  682. package/dist/formatters/handshake.js.map +1 -1
  683. package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
  684. package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
  685. package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
  686. package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
  687. package/dist/formatters/orient.d.ts +92 -145
  688. package/dist/formatters/orient.d.ts.map +1 -1
  689. package/dist/formatters/orient.js +143 -183
  690. package/dist/formatters/orient.js.map +1 -1
  691. package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
  692. package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
  693. package/dist/formatters/orient.rcrtMiss.test.js +77 -0
  694. package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
  695. package/dist/formatters/orient.rituals.test.d.ts +2 -0
  696. package/dist/formatters/orient.rituals.test.d.ts.map +1 -0
  697. package/dist/formatters/orient.rituals.test.js +72 -0
  698. package/dist/formatters/orient.rituals.test.js.map +1 -0
  699. package/dist/formatters/orientDegradation.d.ts +38 -0
  700. package/dist/formatters/orientDegradation.d.ts.map +1 -0
  701. package/dist/formatters/orientDegradation.js +50 -0
  702. package/dist/formatters/orientDegradation.js.map +1 -0
  703. package/dist/formatters/orientDegradation.test.d.ts +2 -0
  704. package/dist/formatters/orientDegradation.test.d.ts.map +1 -0
  705. package/dist/formatters/orientDegradation.test.js +28 -0
  706. package/dist/formatters/orientDegradation.test.js.map +1 -0
  707. package/dist/formatters/orientDirection.d.ts +25 -0
  708. package/dist/formatters/orientDirection.d.ts.map +1 -0
  709. package/dist/formatters/orientDirection.js +7 -0
  710. package/dist/formatters/orientDirection.js.map +1 -0
  711. package/dist/formatters/orientDirection.test.d.ts +2 -0
  712. package/dist/formatters/orientDirection.test.d.ts.map +1 -0
  713. package/dist/formatters/orientDirection.test.js +48 -0
  714. package/dist/formatters/orientDirection.test.js.map +1 -0
  715. package/dist/formatters/orientRetrievalMiss.d.ts +22 -0
  716. package/dist/formatters/orientRetrievalMiss.d.ts.map +1 -0
  717. package/dist/formatters/orientRetrievalMiss.js +17 -0
  718. package/dist/formatters/orientRetrievalMiss.js.map +1 -0
  719. package/dist/formatters/plannedWorkCounts.d.ts +19 -0
  720. package/dist/formatters/plannedWorkCounts.d.ts.map +1 -0
  721. package/dist/formatters/plannedWorkCounts.js +17 -0
  722. package/dist/formatters/plannedWorkCounts.js.map +1 -0
  723. package/dist/formatters/qualityChecks.d.ts +14 -0
  724. package/dist/formatters/qualityChecks.d.ts.map +1 -0
  725. package/dist/formatters/qualityChecks.js +97 -0
  726. package/dist/formatters/qualityChecks.js.map +1 -0
  727. package/dist/formatters/questions.d.ts +76 -0
  728. package/dist/formatters/questions.d.ts.map +1 -0
  729. package/dist/formatters/questions.js +122 -0
  730. package/dist/formatters/questions.js.map +1 -0
  731. package/dist/formatters/questions.test.d.ts +2 -0
  732. package/dist/formatters/questions.test.d.ts.map +1 -0
  733. package/dist/formatters/questions.test.js +156 -0
  734. package/dist/formatters/questions.test.js.map +1 -0
  735. package/dist/formatters/relate.d.ts +13 -2
  736. package/dist/formatters/relate.d.ts.map +1 -1
  737. package/dist/formatters/relate.js +15 -5
  738. package/dist/formatters/relate.js.map +1 -1
  739. package/dist/formatters/relate.test.d.ts +2 -0
  740. package/dist/formatters/relate.test.d.ts.map +1 -0
  741. package/dist/formatters/relate.test.js +91 -0
  742. package/dist/formatters/relate.test.js.map +1 -0
  743. package/dist/formatters/scoreboard.d.ts +11 -0
  744. package/dist/formatters/scoreboard.d.ts.map +1 -0
  745. package/dist/formatters/scoreboard.js +156 -0
  746. package/dist/formatters/scoreboard.js.map +1 -0
  747. package/dist/formatters/scoreboard.test.d.ts +2 -0
  748. package/dist/formatters/scoreboard.test.d.ts.map +1 -0
  749. package/dist/formatters/scoreboard.test.js +284 -0
  750. package/dist/formatters/scoreboard.test.js.map +1 -0
  751. package/dist/formatters/search.d.ts +24 -0
  752. package/dist/formatters/search.d.ts.map +1 -1
  753. package/dist/formatters/search.js +26 -11
  754. package/dist/formatters/search.js.map +1 -1
  755. package/dist/formatters/search.test.d.ts +2 -0
  756. package/dist/formatters/search.test.d.ts.map +1 -0
  757. package/dist/formatters/search.test.js +86 -0
  758. package/dist/formatters/search.test.js.map +1 -0
  759. package/dist/formatters/session-feedback.test.d.ts +2 -0
  760. package/dist/formatters/session-feedback.test.d.ts.map +1 -0
  761. package/dist/formatters/session-feedback.test.js +124 -0
  762. package/dist/formatters/session-feedback.test.js.map +1 -0
  763. package/dist/formatters/session.d.ts +121 -5
  764. package/dist/formatters/session.d.ts.map +1 -1
  765. package/dist/formatters/session.js +319 -31
  766. package/dist/formatters/session.js.map +1 -1
  767. package/dist/formatters/spineCheck.d.ts +14 -0
  768. package/dist/formatters/spineCheck.d.ts.map +1 -0
  769. package/dist/formatters/spineCheck.js +113 -0
  770. package/dist/formatters/spineCheck.js.map +1 -0
  771. package/dist/formatters/spineCheck.test.d.ts +2 -0
  772. package/dist/formatters/spineCheck.test.d.ts.map +1 -0
  773. package/dist/formatters/spineCheck.test.js +76 -0
  774. package/dist/formatters/spineCheck.test.js.map +1 -0
  775. package/dist/formatters/tensionsList.d.ts +17 -0
  776. package/dist/formatters/tensionsList.d.ts.map +1 -0
  777. package/dist/formatters/tensionsList.js +33 -0
  778. package/dist/formatters/tensionsList.js.map +1 -0
  779. package/dist/formatters/update.d.ts +26 -0
  780. package/dist/formatters/update.d.ts.map +1 -1
  781. package/dist/formatters/update.js +39 -7
  782. package/dist/formatters/update.js.map +1 -1
  783. package/dist/formatters/update.test.d.ts +2 -0
  784. package/dist/formatters/update.test.d.ts.map +1 -0
  785. package/dist/formatters/update.test.js +71 -0
  786. package/dist/formatters/update.test.js.map +1 -0
  787. package/dist/formatters/verify.d.ts +12 -4
  788. package/dist/formatters/verify.d.ts.map +1 -1
  789. package/dist/formatters/verify.js +20 -2
  790. package/dist/formatters/verify.js.map +1 -1
  791. package/dist/generated/healthGapKinds.generated.d.ts +12 -0
  792. package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
  793. package/dist/generated/healthGapKinds.generated.js +16 -0
  794. package/dist/generated/healthGapKinds.generated.js.map +1 -0
  795. package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts +12 -0
  796. package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts.map +1 -0
  797. package/dist/generated/organisationalAuthorityRefusalCodes.generated.js +11 -0
  798. package/dist/generated/organisationalAuthorityRefusalCodes.generated.js.map +1 -0
  799. package/dist/generated/routeLatencyBudget.generated.d.ts +54 -0
  800. package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
  801. package/dist/generated/routeLatencyBudget.generated.js +264 -0
  802. package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
  803. package/dist/generated/sourceSurfaces.generated.d.ts +12 -0
  804. package/dist/generated/sourceSurfaces.generated.d.ts.map +1 -0
  805. package/dist/generated/sourceSurfaces.generated.js +11 -0
  806. package/dist/generated/sourceSurfaces.generated.js.map +1 -0
  807. package/dist/generators/adapters.d.ts +39 -6
  808. package/dist/generators/adapters.d.ts.map +1 -1
  809. package/dist/generators/adapters.js +88 -89
  810. package/dist/generators/adapters.js.map +1 -1
  811. package/dist/generators/adapters.test.js +14 -6
  812. package/dist/generators/adapters.test.js.map +1 -1
  813. package/dist/generators/briefing-projections.test.d.ts +2 -0
  814. package/dist/generators/briefing-projections.test.d.ts.map +1 -0
  815. package/dist/generators/briefing-projections.test.js +98 -0
  816. package/dist/generators/briefing-projections.test.js.map +1 -0
  817. package/dist/generators/context-md.d.ts +7 -2
  818. package/dist/generators/context-md.d.ts.map +1 -1
  819. package/dist/generators/context-md.js +14 -53
  820. package/dist/generators/context-md.js.map +1 -1
  821. package/dist/generators/everyone-rules-md.d.ts +9 -0
  822. package/dist/generators/everyone-rules-md.d.ts.map +1 -0
  823. package/dist/generators/everyone-rules-md.js +21 -0
  824. package/dist/generators/everyone-rules-md.js.map +1 -0
  825. package/dist/generators/noProjectionAssets.d.ts +15 -0
  826. package/dist/generators/noProjectionAssets.d.ts.map +1 -0
  827. package/dist/generators/noProjectionAssets.js +6 -0
  828. package/dist/generators/noProjectionAssets.js.map +1 -0
  829. package/dist/generators/portable-knowledge.d.ts +9 -26
  830. package/dist/generators/portable-knowledge.d.ts.map +1 -1
  831. package/dist/generators/portable-knowledge.js +11 -125
  832. package/dist/generators/portable-knowledge.js.map +1 -1
  833. package/dist/generators/portable-knowledge.test.js +82 -267
  834. package/dist/generators/portable-knowledge.test.js.map +1 -1
  835. package/dist/generators/region-projections.d.ts +0 -1
  836. package/dist/generators/region-projections.d.ts.map +1 -1
  837. package/dist/generators/region-projections.js +7 -5
  838. package/dist/generators/region-projections.js.map +1 -1
  839. package/dist/generators/region-projections.test.js +10 -15
  840. package/dist/generators/region-projections.test.js.map +1 -1
  841. package/dist/generators/region.test.js +9 -10
  842. package/dist/generators/region.test.js.map +1 -1
  843. package/dist/generators/retired-projections.d.ts +12 -0
  844. package/dist/generators/retired-projections.d.ts.map +1 -0
  845. package/dist/generators/retired-projections.js +75 -0
  846. package/dist/generators/retired-projections.js.map +1 -0
  847. package/dist/generators/retired-projections.test.d.ts +2 -0
  848. package/dist/generators/retired-projections.test.d.ts.map +1 -0
  849. package/dist/generators/retired-projections.test.js +64 -0
  850. package/dist/generators/retired-projections.test.js.map +1 -0
  851. package/dist/handleCliError.d.ts +30 -0
  852. package/dist/handleCliError.d.ts.map +1 -0
  853. package/dist/handleCliError.js +91 -0
  854. package/dist/handleCliError.js.map +1 -0
  855. package/dist/index.d.ts +0 -5
  856. package/dist/index.d.ts.map +1 -1
  857. package/dist/index.js +168 -610
  858. package/dist/index.js.map +1 -1
  859. package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
  860. package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
  861. package/dist/lib/__tests__/parseFields.test.js +40 -0
  862. package/dist/lib/__tests__/parseFields.test.js.map +1 -0
  863. package/dist/lib/adminConfig.d.ts +48 -0
  864. package/dist/lib/adminConfig.d.ts.map +1 -0
  865. package/dist/lib/adminConfig.js +130 -0
  866. package/dist/lib/adminConfig.js.map +1 -0
  867. package/dist/lib/canonicalRefs.d.ts +27 -8
  868. package/dist/lib/canonicalRefs.d.ts.map +1 -1
  869. package/dist/lib/canonicalRefs.js +25 -6
  870. package/dist/lib/canonicalRefs.js.map +1 -1
  871. package/dist/lib/captureLink.d.ts +7 -0
  872. package/dist/lib/captureLink.d.ts.map +1 -0
  873. package/dist/lib/captureLink.js +29 -0
  874. package/dist/lib/captureLink.js.map +1 -0
  875. package/dist/lib/checklist.d.ts +32 -0
  876. package/dist/lib/checklist.d.ts.map +1 -0
  877. package/dist/lib/checklist.js +79 -0
  878. package/dist/lib/checklist.js.map +1 -0
  879. package/dist/lib/cliFirstRun.d.ts +16 -0
  880. package/dist/lib/cliFirstRun.d.ts.map +1 -0
  881. package/dist/lib/cliFirstRun.js +19 -0
  882. package/dist/lib/cliFirstRun.js.map +1 -0
  883. package/dist/lib/client.d.ts +38 -24
  884. package/dist/lib/client.d.ts.map +1 -1
  885. package/dist/lib/client.js +209 -102
  886. package/dist/lib/client.js.map +1 -1
  887. package/dist/lib/commanderOptions.d.ts +8 -0
  888. package/dist/lib/commanderOptions.d.ts.map +1 -0
  889. package/dist/lib/commanderOptions.js +10 -0
  890. package/dist/lib/commanderOptions.js.map +1 -0
  891. package/dist/lib/compose-wrapup-view.d.ts +68 -0
  892. package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
  893. package/dist/lib/compose-wrapup-view.js +40 -0
  894. package/dist/lib/compose-wrapup-view.js.map +1 -0
  895. package/dist/lib/config.d.ts +47 -115
  896. package/dist/lib/config.d.ts.map +1 -1
  897. package/dist/lib/config.js +113 -384
  898. package/dist/lib/config.js.map +1 -1
  899. package/dist/lib/configResult.d.ts +110 -0
  900. package/dist/lib/configResult.d.ts.map +1 -0
  901. package/dist/lib/configResult.js +189 -0
  902. package/dist/lib/configResult.js.map +1 -0
  903. package/dist/lib/connectProfileName.d.ts +36 -0
  904. package/dist/lib/connectProfileName.d.ts.map +1 -0
  905. package/dist/lib/connectProfileName.js +72 -0
  906. package/dist/lib/connectProfileName.js.map +1 -0
  907. package/dist/lib/connectProfileName.test.d.ts +2 -0
  908. package/dist/lib/connectProfileName.test.d.ts.map +1 -0
  909. package/dist/lib/connectProfileName.test.js +100 -0
  910. package/dist/lib/connectProfileName.test.js.map +1 -0
  911. package/dist/lib/constants.d.ts +7 -2
  912. package/dist/lib/constants.d.ts.map +1 -1
  913. package/dist/lib/constants.js +9 -2
  914. package/dist/lib/constants.js.map +1 -1
  915. package/dist/lib/conversation.d.ts +36 -0
  916. package/dist/lib/conversation.d.ts.map +1 -0
  917. package/dist/lib/conversation.js +66 -0
  918. package/dist/lib/conversation.js.map +1 -0
  919. package/dist/lib/createEntryResult.d.ts +34 -0
  920. package/dist/lib/createEntryResult.d.ts.map +1 -0
  921. package/dist/lib/createEntryResult.js +12 -0
  922. package/dist/lib/createEntryResult.js.map +1 -0
  923. package/dist/lib/deployment.js +2 -2
  924. package/dist/lib/deployment.js.map +1 -1
  925. package/dist/lib/deployment.test.js +20 -1
  926. package/dist/lib/deployment.test.js.map +1 -1
  927. package/dist/lib/envKeySnapshot.d.ts +10 -0
  928. package/dist/lib/envKeySnapshot.d.ts.map +1 -0
  929. package/dist/lib/envKeySnapshot.js +30 -0
  930. package/dist/lib/envKeySnapshot.js.map +1 -0
  931. package/dist/lib/errors.d.ts +90 -0
  932. package/dist/lib/errors.d.ts.map +1 -1
  933. package/dist/lib/errors.js +83 -0
  934. package/dist/lib/errors.js.map +1 -1
  935. package/dist/lib/frontmatter.d.ts +55 -0
  936. package/dist/lib/frontmatter.d.ts.map +1 -0
  937. package/dist/lib/frontmatter.js +92 -0
  938. package/dist/lib/frontmatter.js.map +1 -0
  939. package/dist/lib/frontmatter.test.d.ts +15 -0
  940. package/dist/lib/frontmatter.test.d.ts.map +1 -0
  941. package/dist/lib/frontmatter.test.js +98 -0
  942. package/dist/lib/frontmatter.test.js.map +1 -0
  943. package/dist/lib/gatewayTimeout.d.ts +88 -0
  944. package/dist/lib/gatewayTimeout.d.ts.map +1 -0
  945. package/dist/lib/gatewayTimeout.js +118 -0
  946. package/dist/lib/gatewayTimeout.js.map +1 -0
  947. package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
  948. package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
  949. package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
  950. package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
  951. package/dist/lib/glossary.d.ts +3 -15
  952. package/dist/lib/glossary.d.ts.map +1 -1
  953. package/dist/lib/glossary.js +6 -47
  954. package/dist/lib/glossary.js.map +1 -1
  955. package/dist/lib/hook-intents.d.ts +9 -4
  956. package/dist/lib/hook-intents.d.ts.map +1 -1
  957. package/dist/lib/hook-intents.js +10 -11
  958. package/dist/lib/hook-intents.js.map +1 -1
  959. package/dist/lib/judgeWait.d.ts +50 -0
  960. package/dist/lib/judgeWait.d.ts.map +1 -0
  961. package/dist/lib/judgeWait.js +64 -0
  962. package/dist/lib/judgeWait.js.map +1 -0
  963. package/dist/lib/kernelEnvelope.d.ts +42 -0
  964. package/dist/lib/kernelEnvelope.d.ts.map +1 -0
  965. package/dist/lib/kernelEnvelope.js +67 -0
  966. package/dist/lib/kernelEnvelope.js.map +1 -0
  967. package/dist/lib/localBinding.d.ts +86 -0
  968. package/dist/lib/localBinding.d.ts.map +1 -0
  969. package/dist/lib/localBinding.js +173 -0
  970. package/dist/lib/localBinding.js.map +1 -0
  971. package/dist/lib/normalizeMaterializedFilename.d.ts +3 -3
  972. package/dist/lib/normalizeMaterializedFilename.js +3 -3
  973. package/dist/lib/notice-marker.d.ts.map +1 -1
  974. package/dist/lib/notice-marker.js +186 -16
  975. package/dist/lib/notice-marker.js.map +1 -1
  976. package/dist/lib/outcomeObjectiveLines.d.ts +30 -0
  977. package/dist/lib/outcomeObjectiveLines.d.ts.map +1 -0
  978. package/dist/lib/outcomeObjectiveLines.js +29 -0
  979. package/dist/lib/outcomeObjectiveLines.js.map +1 -0
  980. package/dist/lib/ownerLine.d.ts +90 -0
  981. package/dist/lib/ownerLine.d.ts.map +1 -0
  982. package/dist/lib/ownerLine.js +77 -0
  983. package/dist/lib/ownerLine.js.map +1 -0
  984. package/dist/lib/parseFields.d.ts +19 -0
  985. package/dist/lib/parseFields.d.ts.map +1 -0
  986. package/dist/lib/parseFields.js +49 -0
  987. package/dist/lib/parseFields.js.map +1 -0
  988. package/dist/lib/pinnedRole.d.ts +28 -0
  989. package/dist/lib/pinnedRole.d.ts.map +1 -0
  990. package/dist/lib/pinnedRole.js +106 -0
  991. package/dist/lib/pinnedRole.js.map +1 -0
  992. package/dist/lib/platformGlossary.d.ts +22 -0
  993. package/dist/lib/platformGlossary.d.ts.map +1 -0
  994. package/dist/lib/platformGlossary.js +26 -0
  995. package/dist/lib/platformGlossary.js.map +1 -0
  996. package/dist/lib/previewBanner.d.ts +9 -0
  997. package/dist/lib/previewBanner.d.ts.map +1 -0
  998. package/dist/lib/previewBanner.js +36 -0
  999. package/dist/lib/previewBanner.js.map +1 -0
  1000. package/dist/lib/productbrain-files.d.ts +108 -0
  1001. package/dist/lib/productbrain-files.d.ts.map +1 -0
  1002. package/dist/lib/productbrain-files.js +240 -0
  1003. package/dist/lib/productbrain-files.js.map +1 -0
  1004. package/dist/lib/productbrain-files.test.d.ts +2 -0
  1005. package/dist/lib/productbrain-files.test.d.ts.map +1 -0
  1006. package/dist/lib/productbrain-files.test.js +518 -0
  1007. package/dist/lib/productbrain-files.test.js.map +1 -0
  1008. package/dist/lib/profiles.d.ts +52 -4
  1009. package/dist/lib/profiles.d.ts.map +1 -1
  1010. package/dist/lib/profiles.js +72 -21
  1011. package/dist/lib/profiles.js.map +1 -1
  1012. package/dist/lib/projectConfig.d.ts +130 -0
  1013. package/dist/lib/projectConfig.d.ts.map +1 -0
  1014. package/dist/lib/projectConfig.js +252 -0
  1015. package/dist/lib/projectConfig.js.map +1 -0
  1016. package/dist/lib/prompts.d.ts +2 -0
  1017. package/dist/lib/prompts.d.ts.map +1 -1
  1018. package/dist/lib/prompts.js +2 -0
  1019. package/dist/lib/prompts.js.map +1 -1
  1020. package/dist/lib/proseBody.d.ts +14 -0
  1021. package/dist/lib/proseBody.d.ts.map +1 -0
  1022. package/dist/lib/proseBody.js +25 -0
  1023. package/dist/lib/proseBody.js.map +1 -0
  1024. package/dist/lib/rate-limit.d.ts +34 -0
  1025. package/dist/lib/rate-limit.d.ts.map +1 -0
  1026. package/dist/lib/rate-limit.js +89 -0
  1027. package/dist/lib/rate-limit.js.map +1 -0
  1028. package/dist/lib/readinessNotices.d.ts +12 -0
  1029. package/dist/lib/readinessNotices.d.ts.map +1 -0
  1030. package/dist/lib/readinessNotices.js +15 -0
  1031. package/dist/lib/readinessNotices.js.map +1 -0
  1032. package/dist/lib/repo-detect.d.ts +8 -2
  1033. package/dist/lib/repo-detect.d.ts.map +1 -1
  1034. package/dist/lib/repo-detect.js +11 -6
  1035. package/dist/lib/repo-detect.js.map +1 -1
  1036. package/dist/lib/reportedProfile.d.ts +18 -0
  1037. package/dist/lib/reportedProfile.d.ts.map +1 -0
  1038. package/dist/lib/reportedProfile.js +144 -0
  1039. package/dist/lib/reportedProfile.js.map +1 -0
  1040. package/dist/lib/restsOn.d.ts +33 -0
  1041. package/dist/lib/restsOn.d.ts.map +1 -0
  1042. package/dist/lib/restsOn.js +34 -0
  1043. package/dist/lib/restsOn.js.map +1 -0
  1044. package/dist/lib/ruleListRender.d.ts +265 -0
  1045. package/dist/lib/ruleListRender.d.ts.map +1 -0
  1046. package/dist/lib/ruleListRender.js +364 -0
  1047. package/dist/lib/ruleListRender.js.map +1 -0
  1048. package/dist/lib/runner.d.ts +9 -1
  1049. package/dist/lib/runner.d.ts.map +1 -1
  1050. package/dist/lib/runner.js +30 -4
  1051. package/dist/lib/runner.js.map +1 -1
  1052. package/dist/lib/seatSentence.d.ts +64 -0
  1053. package/dist/lib/seatSentence.d.ts.map +1 -0
  1054. package/dist/lib/seatSentence.js +85 -0
  1055. package/dist/lib/seatSentence.js.map +1 -0
  1056. package/dist/lib/session.d.ts +86 -12
  1057. package/dist/lib/session.d.ts.map +1 -1
  1058. package/dist/lib/session.js +243 -24
  1059. package/dist/lib/session.js.map +1 -1
  1060. package/dist/lib/sessionBinding.d.ts +61 -0
  1061. package/dist/lib/sessionBinding.d.ts.map +1 -0
  1062. package/dist/lib/sessionBinding.js +125 -0
  1063. package/dist/lib/sessionBinding.js.map +1 -0
  1064. package/dist/lib/sessionNotices.d.ts +54 -0
  1065. package/dist/lib/sessionNotices.d.ts.map +1 -0
  1066. package/dist/lib/sessionNotices.js +132 -0
  1067. package/dist/lib/sessionNotices.js.map +1 -0
  1068. package/dist/lib/sessionNotices.test.d.ts +2 -0
  1069. package/dist/lib/sessionNotices.test.d.ts.map +1 -0
  1070. package/dist/lib/sessionNotices.test.js +53 -0
  1071. package/dist/lib/sessionNotices.test.js.map +1 -0
  1072. package/dist/lib/spineVerdictRead.d.ts +70 -0
  1073. package/dist/lib/spineVerdictRead.d.ts.map +1 -0
  1074. package/dist/lib/spineVerdictRead.js +73 -0
  1075. package/dist/lib/spineVerdictRead.js.map +1 -0
  1076. package/dist/lib/spinner.js +2 -2
  1077. package/dist/lib/spinner.js.map +1 -1
  1078. package/dist/lib/startup-resolution-signals.d.ts +34 -0
  1079. package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
  1080. package/dist/lib/startup-resolution-signals.js +116 -0
  1081. package/dist/lib/startup-resolution-signals.js.map +1 -0
  1082. package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
  1083. package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
  1084. package/dist/lib/startup-resolution-signals.test.js +113 -0
  1085. package/dist/lib/startup-resolution-signals.test.js.map +1 -0
  1086. package/dist/lib/startup-signals.d.ts +12 -0
  1087. package/dist/lib/startup-signals.d.ts.map +1 -0
  1088. package/dist/lib/startup-signals.js +179 -0
  1089. package/dist/lib/startup-signals.js.map +1 -0
  1090. package/dist/lib/startup-signals.test.d.ts +2 -0
  1091. package/dist/lib/startup-signals.test.d.ts.map +1 -0
  1092. package/dist/lib/startup-signals.test.js +165 -0
  1093. package/dist/lib/startup-signals.test.js.map +1 -0
  1094. package/dist/lib/state.d.ts +11 -2
  1095. package/dist/lib/state.d.ts.map +1 -1
  1096. package/dist/lib/state.js +11 -4
  1097. package/dist/lib/state.js.map +1 -1
  1098. package/dist/lib/statusCategories.d.ts +162 -0
  1099. package/dist/lib/statusCategories.d.ts.map +1 -0
  1100. package/dist/lib/statusCategories.js +286 -0
  1101. package/dist/lib/statusCategories.js.map +1 -0
  1102. package/dist/lib/strip.d.ts +17 -0
  1103. package/dist/lib/strip.d.ts.map +1 -1
  1104. package/dist/lib/strip.js +48 -1
  1105. package/dist/lib/strip.js.map +1 -1
  1106. package/dist/lib/style.d.ts +8 -2
  1107. package/dist/lib/style.d.ts.map +1 -1
  1108. package/dist/lib/style.js +24 -17
  1109. package/dist/lib/style.js.map +1 -1
  1110. package/dist/lib/update-check.d.ts +3 -8
  1111. package/dist/lib/update-check.d.ts.map +1 -1
  1112. package/dist/lib/update-check.js +11 -46
  1113. package/dist/lib/update-check.js.map +1 -1
  1114. package/dist/lib/upgrade-runner.d.ts.map +1 -1
  1115. package/dist/lib/upgrade-runner.js +2 -7
  1116. package/dist/lib/upgrade-runner.js.map +1 -1
  1117. package/dist/lib/workspaceNotice.d.ts +202 -0
  1118. package/dist/lib/workspaceNotice.d.ts.map +1 -0
  1119. package/dist/lib/workspaceNotice.js +345 -0
  1120. package/dist/lib/workspaceNotice.js.map +1 -0
  1121. package/dist/lib/writePerimeter.d.ts +72 -0
  1122. package/dist/lib/writePerimeter.d.ts.map +1 -0
  1123. package/dist/lib/writePerimeter.js +128 -0
  1124. package/dist/lib/writePerimeter.js.map +1 -0
  1125. package/dist/registerEntryCommands.d.ts +18 -0
  1126. package/dist/registerEntryCommands.d.ts.map +1 -0
  1127. package/dist/registerEntryCommands.js +122 -0
  1128. package/dist/registerEntryCommands.js.map +1 -0
  1129. package/dist/registerHistoryCommand.d.ts +8 -0
  1130. package/dist/registerHistoryCommand.d.ts.map +1 -0
  1131. package/dist/registerHistoryCommand.js +14 -0
  1132. package/dist/registerHistoryCommand.js.map +1 -0
  1133. package/dist/registerOutcomeCommands.d.ts +27 -0
  1134. package/dist/registerOutcomeCommands.d.ts.map +1 -0
  1135. package/dist/registerOutcomeCommands.js +27 -0
  1136. package/dist/registerOutcomeCommands.js.map +1 -0
  1137. package/dist/registerRoleCommands.d.ts +11 -0
  1138. package/dist/registerRoleCommands.d.ts.map +1 -0
  1139. package/dist/registerRoleCommands.js +43 -0
  1140. package/dist/registerRoleCommands.js.map +1 -0
  1141. package/dist/registerTensionsCommands.d.ts +10 -0
  1142. package/dist/registerTensionsCommands.d.ts.map +1 -0
  1143. package/dist/registerTensionsCommands.js +15 -0
  1144. package/dist/registerTensionsCommands.js.map +1 -0
  1145. package/dist/scoreboard/diagnose.d.ts +185 -0
  1146. package/dist/scoreboard/diagnose.d.ts.map +1 -0
  1147. package/dist/scoreboard/diagnose.js +282 -0
  1148. package/dist/scoreboard/diagnose.js.map +1 -0
  1149. package/dist/scoreboard/diagnose.test.d.ts +15 -0
  1150. package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
  1151. package/dist/scoreboard/diagnose.test.js +288 -0
  1152. package/dist/scoreboard/diagnose.test.js.map +1 -0
  1153. package/dist/scoreboard/floors.d.ts +47 -0
  1154. package/dist/scoreboard/floors.d.ts.map +1 -0
  1155. package/dist/scoreboard/floors.js +33 -0
  1156. package/dist/scoreboard/floors.js.map +1 -0
  1157. package/dist/scoreboard/localDrift.d.ts +23 -0
  1158. package/dist/scoreboard/localDrift.d.ts.map +1 -0
  1159. package/dist/scoreboard/localDrift.js +111 -0
  1160. package/dist/scoreboard/localDrift.js.map +1 -0
  1161. package/dist/scoreboard/localDrift.test.d.ts +9 -0
  1162. package/dist/scoreboard/localDrift.test.d.ts.map +1 -0
  1163. package/dist/scoreboard/localDrift.test.js +82 -0
  1164. package/dist/scoreboard/localDrift.test.js.map +1 -0
  1165. package/dist/surfaces/__tests__/adapter.test.js +2 -6
  1166. package/dist/surfaces/__tests__/adapter.test.js.map +1 -1
  1167. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.d.ts +2 -0
  1168. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.d.ts.map +1 -0
  1169. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.js +180 -0
  1170. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.js.map +1 -0
  1171. package/dist/surfaces/__tests__/telemetry.test.js +4 -15
  1172. package/dist/surfaces/__tests__/telemetry.test.js.map +1 -1
  1173. package/dist/surfaces/adapters/claude.d.ts.map +1 -1
  1174. package/dist/surfaces/adapters/claude.js +30 -25
  1175. package/dist/surfaces/adapters/claude.js.map +1 -1
  1176. package/dist/surfaces/registry.js +1 -1
  1177. package/dist/surfaces/registry.js.map +1 -1
  1178. package/dist/surfaces/telemetry.d.ts +10 -3
  1179. package/dist/surfaces/telemetry.d.ts.map +1 -1
  1180. package/dist/surfaces/telemetry.js +5 -11
  1181. package/dist/surfaces/telemetry.js.map +1 -1
  1182. package/package.json +8 -9
  1183. package/dist/__tests__/audit.test.d.ts +0 -2
  1184. package/dist/__tests__/audit.test.d.ts.map +0 -1
  1185. package/dist/__tests__/audit.test.js +0 -399
  1186. package/dist/__tests__/audit.test.js.map +0 -1
  1187. package/dist/__tests__/authority-domains.test.d.ts +0 -2
  1188. package/dist/__tests__/authority-domains.test.d.ts.map +0 -1
  1189. package/dist/__tests__/authority-domains.test.js +0 -48
  1190. package/dist/__tests__/authority-domains.test.js.map +0 -1
  1191. package/dist/__tests__/handshake-augment.test.d.ts +0 -2
  1192. package/dist/__tests__/handshake-augment.test.d.ts.map +0 -1
  1193. package/dist/__tests__/handshake-augment.test.js +0 -423
  1194. package/dist/__tests__/handshake-augment.test.js.map +0 -1
  1195. package/dist/__tests__/handshake-dormancy.test.d.ts +0 -2
  1196. package/dist/__tests__/handshake-dormancy.test.d.ts.map +0 -1
  1197. package/dist/__tests__/handshake-dormancy.test.js +0 -207
  1198. package/dist/__tests__/handshake-dormancy.test.js.map +0 -1
  1199. package/dist/__tests__/handshake-formatter.test.d.ts +0 -2
  1200. package/dist/__tests__/handshake-formatter.test.d.ts.map +0 -1
  1201. package/dist/__tests__/handshake-formatter.test.js +0 -67
  1202. package/dist/__tests__/handshake-formatter.test.js.map +0 -1
  1203. package/dist/__tests__/handshake-preview.test.d.ts +0 -2
  1204. package/dist/__tests__/handshake-preview.test.d.ts.map +0 -1
  1205. package/dist/__tests__/handshake-preview.test.js +0 -841
  1206. package/dist/__tests__/handshake-preview.test.js.map +0 -1
  1207. package/dist/__tests__/handshake.e2e.test.d.ts +0 -2
  1208. package/dist/__tests__/handshake.e2e.test.d.ts.map +0 -1
  1209. package/dist/__tests__/handshake.e2e.test.js +0 -1252
  1210. package/dist/__tests__/handshake.e2e.test.js.map +0 -1
  1211. package/dist/__tests__/handshake.test.d.ts +0 -2
  1212. package/dist/__tests__/handshake.test.d.ts.map +0 -1
  1213. package/dist/__tests__/handshake.test.js +0 -805
  1214. package/dist/__tests__/handshake.test.js.map +0 -1
  1215. package/dist/__tests__/ingest.test.d.ts +0 -2
  1216. package/dist/__tests__/ingest.test.d.ts.map +0 -1
  1217. package/dist/__tests__/ingest.test.js +0 -185
  1218. package/dist/__tests__/ingest.test.js.map +0 -1
  1219. package/dist/__tests__/method-registry.integration.test.d.ts +0 -6
  1220. package/dist/__tests__/method-registry.integration.test.d.ts.map +0 -1
  1221. package/dist/__tests__/method-registry.integration.test.js +0 -18
  1222. package/dist/__tests__/method-registry.integration.test.js.map +0 -1
  1223. package/dist/__tests__/method-registry.test.d.ts +0 -14
  1224. package/dist/__tests__/method-registry.test.d.ts.map +0 -1
  1225. package/dist/__tests__/method-registry.test.js +0 -134
  1226. package/dist/__tests__/method-registry.test.js.map +0 -1
  1227. package/dist/__tests__/onboarding-path-b.test.d.ts +0 -2
  1228. package/dist/__tests__/onboarding-path-b.test.d.ts.map +0 -1
  1229. package/dist/__tests__/onboarding-path-b.test.js +0 -46
  1230. package/dist/__tests__/onboarding-path-b.test.js.map +0 -1
  1231. package/dist/__tests__/onboarding.test.d.ts +0 -6
  1232. package/dist/__tests__/onboarding.test.d.ts.map +0 -1
  1233. package/dist/__tests__/onboarding.test.js +0 -347
  1234. package/dist/__tests__/onboarding.test.js.map +0 -1
  1235. package/dist/__tests__/promote.test.d.ts +0 -2
  1236. package/dist/__tests__/promote.test.d.ts.map +0 -1
  1237. package/dist/__tests__/promote.test.js +0 -230
  1238. package/dist/__tests__/promote.test.js.map +0 -1
  1239. package/dist/__tests__/proposals.test.d.ts +0 -2
  1240. package/dist/__tests__/proposals.test.d.ts.map +0 -1
  1241. package/dist/__tests__/proposals.test.js +0 -167
  1242. package/dist/__tests__/proposals.test.js.map +0 -1
  1243. package/dist/__tests__/setup-ingest.test.d.ts +0 -2
  1244. package/dist/__tests__/setup-ingest.test.d.ts.map +0 -1
  1245. package/dist/__tests__/setup-ingest.test.js +0 -71
  1246. package/dist/__tests__/setup-ingest.test.js.map +0 -1
  1247. package/dist/__tests__/setup-resolver.test.d.ts +0 -14
  1248. package/dist/__tests__/setup-resolver.test.d.ts.map +0 -1
  1249. package/dist/__tests__/setup-resolver.test.js +0 -228
  1250. package/dist/__tests__/setup-resolver.test.js.map +0 -1
  1251. package/dist/commands/__tests__/connect-handoff.test.d.ts +0 -11
  1252. package/dist/commands/__tests__/connect-handoff.test.d.ts.map +0 -1
  1253. package/dist/commands/__tests__/connect-handoff.test.js +0 -111
  1254. package/dist/commands/__tests__/connect-handoff.test.js.map +0 -1
  1255. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +0 -15
  1256. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +0 -1
  1257. package/dist/commands/__tests__/setup-detect-surfaces.test.js +0 -149
  1258. package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +0 -1
  1259. package/dist/commands/__tests__/setup-state.test.d.ts +0 -2
  1260. package/dist/commands/__tests__/setup-state.test.d.ts.map +0 -1
  1261. package/dist/commands/__tests__/setup-state.test.js +0 -194
  1262. package/dist/commands/__tests__/setup-state.test.js.map +0 -1
  1263. package/dist/commands/accept.d.ts +0 -18
  1264. package/dist/commands/accept.d.ts.map +0 -1
  1265. package/dist/commands/accept.js +0 -76
  1266. package/dist/commands/accept.js.map +0 -1
  1267. package/dist/commands/audit.d.ts +0 -25
  1268. package/dist/commands/audit.d.ts.map +0 -1
  1269. package/dist/commands/audit.js +0 -215
  1270. package/dist/commands/audit.js.map +0 -1
  1271. package/dist/commands/authority-domains.d.ts +0 -146
  1272. package/dist/commands/authority-domains.d.ts.map +0 -1
  1273. package/dist/commands/authority-domains.js +0 -283
  1274. package/dist/commands/authority-domains.js.map +0 -1
  1275. package/dist/commands/brand-pack.d.ts +0 -2
  1276. package/dist/commands/brand-pack.d.ts.map +0 -1
  1277. package/dist/commands/brand-pack.js +0 -25
  1278. package/dist/commands/brand-pack.js.map +0 -1
  1279. package/dist/commands/connect-context.d.ts +0 -45
  1280. package/dist/commands/connect-context.d.ts.map +0 -1
  1281. package/dist/commands/connect-context.js +0 -64
  1282. package/dist/commands/connect-context.js.map +0 -1
  1283. package/dist/commands/connect-context.test.d.ts +0 -2
  1284. package/dist/commands/connect-context.test.d.ts.map +0 -1
  1285. package/dist/commands/connect-context.test.js +0 -110
  1286. package/dist/commands/connect-context.test.js.map +0 -1
  1287. package/dist/commands/connect-handoff.d.ts +0 -51
  1288. package/dist/commands/connect-handoff.d.ts.map +0 -1
  1289. package/dist/commands/connect-handoff.js +0 -70
  1290. package/dist/commands/connect-handoff.js.map +0 -1
  1291. package/dist/commands/handshake.d.ts +0 -222
  1292. package/dist/commands/handshake.d.ts.map +0 -1
  1293. package/dist/commands/handshake.js +0 -2421
  1294. package/dist/commands/handshake.js.map +0 -1
  1295. package/dist/commands/ingest.d.ts +0 -14
  1296. package/dist/commands/ingest.d.ts.map +0 -1
  1297. package/dist/commands/ingest.js +0 -189
  1298. package/dist/commands/ingest.js.map +0 -1
  1299. package/dist/commands/method.d.ts +0 -99
  1300. package/dist/commands/method.d.ts.map +0 -1
  1301. package/dist/commands/method.js +0 -785
  1302. package/dist/commands/method.js.map +0 -1
  1303. package/dist/commands/migrate-setup.d.ts +0 -18
  1304. package/dist/commands/migrate-setup.d.ts.map +0 -1
  1305. package/dist/commands/migrate-setup.js +0 -198
  1306. package/dist/commands/migrate-setup.js.map +0 -1
  1307. package/dist/commands/promote.d.ts +0 -12
  1308. package/dist/commands/promote.d.ts.map +0 -1
  1309. package/dist/commands/promote.js +0 -113
  1310. package/dist/commands/promote.js.map +0 -1
  1311. package/dist/commands/proposals.d.ts +0 -9
  1312. package/dist/commands/proposals.d.ts.map +0 -1
  1313. package/dist/commands/proposals.js +0 -24
  1314. package/dist/commands/proposals.js.map +0 -1
  1315. package/dist/commands/reject.d.ts +0 -14
  1316. package/dist/commands/reject.d.ts.map +0 -1
  1317. package/dist/commands/reject.js +0 -44
  1318. package/dist/commands/reject.js.map +0 -1
  1319. package/dist/commands/setup-audit.d.ts +0 -59
  1320. package/dist/commands/setup-audit.d.ts.map +0 -1
  1321. package/dist/commands/setup-audit.js +0 -250
  1322. package/dist/commands/setup-audit.js.map +0 -1
  1323. package/dist/commands/setup-detect-surfaces.d.ts +0 -38
  1324. package/dist/commands/setup-detect-surfaces.d.ts.map +0 -1
  1325. package/dist/commands/setup-detect-surfaces.js +0 -76
  1326. package/dist/commands/setup-detect-surfaces.js.map +0 -1
  1327. package/dist/commands/setup-ingest.d.ts +0 -17
  1328. package/dist/commands/setup-ingest.d.ts.map +0 -1
  1329. package/dist/commands/setup-ingest.js +0 -226
  1330. package/dist/commands/setup-ingest.js.map +0 -1
  1331. package/dist/commands/setup-resolver.d.ts +0 -58
  1332. package/dist/commands/setup-resolver.d.ts.map +0 -1
  1333. package/dist/commands/setup-resolver.js +0 -150
  1334. package/dist/commands/setup-resolver.js.map +0 -1
  1335. package/dist/commands/setup-state.d.ts +0 -42
  1336. package/dist/commands/setup-state.d.ts.map +0 -1
  1337. package/dist/commands/setup-state.js +0 -93
  1338. package/dist/commands/setup-state.js.map +0 -1
  1339. package/dist/commands/setup.d.ts +0 -23
  1340. package/dist/commands/setup.d.ts.map +0 -1
  1341. package/dist/commands/setup.js +0 -69
  1342. package/dist/commands/setup.js.map +0 -1
  1343. package/dist/formatters/audit.d.ts +0 -52
  1344. package/dist/formatters/audit.d.ts.map +0 -1
  1345. package/dist/formatters/audit.js +0 -81
  1346. package/dist/formatters/audit.js.map +0 -1
  1347. package/dist/formatters/promote.d.ts +0 -30
  1348. package/dist/formatters/promote.d.ts.map +0 -1
  1349. package/dist/formatters/promote.js +0 -39
  1350. package/dist/formatters/promote.js.map +0 -1
  1351. package/dist/formatters/proposals.d.ts +0 -45
  1352. package/dist/formatters/proposals.d.ts.map +0 -1
  1353. package/dist/formatters/proposals.js +0 -62
  1354. package/dist/formatters/proposals.js.map +0 -1
  1355. package/dist/generators/archetypes.d.ts +0 -52
  1356. package/dist/generators/archetypes.d.ts.map +0 -1
  1357. package/dist/generators/archetypes.js +0 -153
  1358. package/dist/generators/archetypes.js.map +0 -1
  1359. package/dist/generators/archetypes.test.d.ts +0 -2
  1360. package/dist/generators/archetypes.test.d.ts.map +0 -1
  1361. package/dist/generators/archetypes.test.js +0 -237
  1362. package/dist/generators/archetypes.test.js.map +0 -1
  1363. package/dist/generators/chain-classifier.d.ts +0 -49
  1364. package/dist/generators/chain-classifier.d.ts.map +0 -1
  1365. package/dist/generators/chain-classifier.js +0 -180
  1366. package/dist/generators/chain-classifier.js.map +0 -1
  1367. package/dist/generators/chain-classifier.test.d.ts +0 -2
  1368. package/dist/generators/chain-classifier.test.d.ts.map +0 -1
  1369. package/dist/generators/chain-classifier.test.js +0 -257
  1370. package/dist/generators/chain-classifier.test.js.map +0 -1
  1371. package/dist/generators/chain-rules.d.ts +0 -42
  1372. package/dist/generators/chain-rules.d.ts.map +0 -1
  1373. package/dist/generators/chain-rules.js +0 -144
  1374. package/dist/generators/chain-rules.js.map +0 -1
  1375. package/dist/generators/chain-rules.test.d.ts +0 -2
  1376. package/dist/generators/chain-rules.test.d.ts.map +0 -1
  1377. package/dist/generators/chain-rules.test.js +0 -179
  1378. package/dist/generators/chain-rules.test.js.map +0 -1
  1379. package/dist/generators/handshake-diff.d.ts +0 -67
  1380. package/dist/generators/handshake-diff.d.ts.map +0 -1
  1381. package/dist/generators/handshake-diff.js +0 -183
  1382. package/dist/generators/handshake-diff.js.map +0 -1
  1383. package/dist/generators/handshake-diff.test.d.ts +0 -2
  1384. package/dist/generators/handshake-diff.test.d.ts.map +0 -1
  1385. package/dist/generators/handshake-diff.test.js +0 -264
  1386. package/dist/generators/handshake-diff.test.js.map +0 -1
  1387. package/dist/lib/activation.d.ts +0 -28
  1388. package/dist/lib/activation.d.ts.map +0 -1
  1389. package/dist/lib/activation.js +0 -57
  1390. package/dist/lib/activation.js.map +0 -1
  1391. package/dist/lib/activation.test.d.ts +0 -6
  1392. package/dist/lib/activation.test.d.ts.map +0 -1
  1393. package/dist/lib/activation.test.js +0 -121
  1394. package/dist/lib/activation.test.js.map +0 -1
  1395. package/dist/lib/collectionRegistry.d.ts +0 -38
  1396. package/dist/lib/collectionRegistry.d.ts.map +0 -1
  1397. package/dist/lib/collectionRegistry.js +0 -112
  1398. package/dist/lib/collectionRegistry.js.map +0 -1
  1399. package/dist/lib/conversation-engine.d.ts +0 -45
  1400. package/dist/lib/conversation-engine.d.ts.map +0 -1
  1401. package/dist/lib/conversation-engine.js +0 -112
  1402. package/dist/lib/conversation-engine.js.map +0 -1
  1403. package/dist/lib/conversation-phases.d.ts +0 -59
  1404. package/dist/lib/conversation-phases.d.ts.map +0 -1
  1405. package/dist/lib/conversation-phases.js +0 -11
  1406. package/dist/lib/conversation-phases.js.map +0 -1
  1407. package/dist/lib/conversation-signals.d.ts +0 -30
  1408. package/dist/lib/conversation-signals.d.ts.map +0 -1
  1409. package/dist/lib/conversation-signals.js +0 -64
  1410. package/dist/lib/conversation-signals.js.map +0 -1
  1411. package/dist/lib/inferSourceDate.d.ts +0 -12
  1412. package/dist/lib/inferSourceDate.d.ts.map +0 -1
  1413. package/dist/lib/inferSourceDate.js +0 -44
  1414. package/dist/lib/inferSourceDate.js.map +0 -1
  1415. package/dist/lib/method-registry.d.ts +0 -32
  1416. package/dist/lib/method-registry.d.ts.map +0 -1
  1417. package/dist/lib/method-registry.js +0 -53
  1418. package/dist/lib/method-registry.js.map +0 -1
  1419. package/dist/lib/onboarding-path-b.d.ts +0 -10
  1420. package/dist/lib/onboarding-path-b.d.ts.map +0 -1
  1421. package/dist/lib/onboarding-path-b.js +0 -213
  1422. package/dist/lib/onboarding-path-b.js.map +0 -1
  1423. package/dist/lib/onboarding-shared.d.ts +0 -80
  1424. package/dist/lib/onboarding-shared.d.ts.map +0 -1
  1425. package/dist/lib/onboarding-shared.js +0 -174
  1426. package/dist/lib/onboarding-shared.js.map +0 -1
  1427. package/dist/lib/onboarding-topics.d.ts +0 -27
  1428. package/dist/lib/onboarding-topics.d.ts.map +0 -1
  1429. package/dist/lib/onboarding-topics.js +0 -57
  1430. package/dist/lib/onboarding-topics.js.map +0 -1
  1431. package/dist/lib/onboarding.d.ts +0 -17
  1432. package/dist/lib/onboarding.d.ts.map +0 -1
  1433. package/dist/lib/onboarding.js +0 -350
  1434. package/dist/lib/onboarding.js.map +0 -1
  1435. package/dist/lib/telemetry/contextServed.generated.d.ts +0 -119
  1436. package/dist/lib/telemetry/contextServed.generated.d.ts.map +0 -1
  1437. package/dist/lib/telemetry/contextServed.generated.js +0 -85
  1438. package/dist/lib/telemetry/contextServed.generated.js.map +0 -1
  1439. package/dist/lib/telemetry/emitContextServed.d.ts +0 -84
  1440. package/dist/lib/telemetry/emitContextServed.d.ts.map +0 -1
  1441. package/dist/lib/telemetry/emitContextServed.js +0 -205
  1442. package/dist/lib/telemetry/emitContextServed.js.map +0 -1
  1443. package/dist/lib/telemetry/emitContextServed.test.d.ts +0 -12
  1444. package/dist/lib/telemetry/emitContextServed.test.d.ts.map +0 -1
  1445. package/dist/lib/telemetry/emitContextServed.test.js +0 -211
  1446. package/dist/lib/telemetry/emitContextServed.test.js.map +0 -1
  1447. package/dist/lib/telemetry.d.ts +0 -15
  1448. package/dist/lib/telemetry.d.ts.map +0 -1
  1449. package/dist/lib/telemetry.js +0 -47
  1450. package/dist/lib/telemetry.js.map +0 -1
  1451. package/dist/setup/__tests__/coach-traces.test.d.ts +0 -2
  1452. package/dist/setup/__tests__/coach-traces.test.d.ts.map +0 -1
  1453. package/dist/setup/__tests__/coach-traces.test.js +0 -189
  1454. package/dist/setup/__tests__/coach-traces.test.js.map +0 -1
  1455. package/dist/setup/__tests__/setup-commands.test.d.ts +0 -2
  1456. package/dist/setup/__tests__/setup-commands.test.d.ts.map +0 -1
  1457. package/dist/setup/__tests__/setup-commands.test.js +0 -177
  1458. package/dist/setup/__tests__/setup-commands.test.js.map +0 -1
  1459. package/dist/setup/__tests__/state-machine.test.d.ts +0 -2
  1460. package/dist/setup/__tests__/state-machine.test.d.ts.map +0 -1
  1461. package/dist/setup/__tests__/state-machine.test.js +0 -341
  1462. package/dist/setup/__tests__/state-machine.test.js.map +0 -1
  1463. package/dist/setup/detect-surfaces.d.ts +0 -21
  1464. package/dist/setup/detect-surfaces.d.ts.map +0 -1
  1465. package/dist/setup/detect-surfaces.js +0 -39
  1466. package/dist/setup/detect-surfaces.js.map +0 -1
  1467. package/dist/setup/manifest-writer.d.ts +0 -17
  1468. package/dist/setup/manifest-writer.d.ts.map +0 -1
  1469. package/dist/setup/manifest-writer.js +0 -153
  1470. package/dist/setup/manifest-writer.js.map +0 -1
  1471. package/dist/setup/perimeter.d.ts +0 -72
  1472. package/dist/setup/perimeter.d.ts.map +0 -1
  1473. package/dist/setup/perimeter.js +0 -128
  1474. package/dist/setup/perimeter.js.map +0 -1
  1475. package/dist/setup/state-machine.d.ts +0 -67
  1476. package/dist/setup/state-machine.d.ts.map +0 -1
  1477. package/dist/setup/state-machine.js +0 -124
  1478. package/dist/setup/state-machine.js.map +0 -1
  1479. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +0 -2
  1480. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +0 -1
  1481. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +0 -132
  1482. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +0 -1
  1483. package/templates/archetypes/boundary.md +0 -23
  1484. package/templates/archetypes/constraint.md +0 -23
  1485. package/templates/archetypes/convention.md +0 -23
  1486. package/templates/archetypes/policy.md +0 -23
  1487. package/templates/archetypes/quality-gate.md +0 -23
  1488. package/templates/archetypes/workflow.md +0 -23
  1489. package/templates/general/code-integrity.md +0 -11
  1490. package/templates/general/getting-started.md +0 -12
  1491. package/templates/method-registry.json +0 -16
  1492. package/templates/node-ts/code-integrity.md +0 -13
  1493. package/templates/node-ts/testing.md +0 -12
  1494. package/templates/python/code-integrity.md +0 -13
  1495. package/templates/python/testing.md +0 -12
@@ -16,12 +16,23 @@ const ACTIVE_PROFILE_PATH = resolve(HOME_CONFIG_DIR, 'active-profile');
16
16
  const LEGACY_ENV_PATH = resolve(HOME_CONFIG_DIR, '.env');
17
17
  /** Profile name validation: lowercase alphanumeric + hyphens, 1-32 chars. */
18
18
  const PROFILE_NAME_RE = /^[a-z0-9][a-z0-9-]{0,31}$/;
19
- function validateProfileName(name) {
19
+ /**
20
+ * Validate a profile name — lowercase alphanumeric + hyphens, 1-32 chars, no path
21
+ * separators. profilePath() runs it on every name, so no caller can turn an untrusted name
22
+ * (`PB_PROFILE`, a committed pin, the active-profile file) into a path outside the profiles
23
+ * folder (TEN-4503).
24
+ */
25
+ export function validateProfileName(name) {
20
26
  if (!PROFILE_NAME_RE.test(name)) {
21
27
  throw new CLIError(`Invalid profile name "${name}". Must be 1-32 chars, lowercase alphanumeric + hyphens, starting with alphanumeric.`, { code: ErrorCode.PROFILE_NAME_INVALID, category: 'profile' });
22
28
  }
23
29
  }
24
- function profilePath(name) {
30
+ /**
31
+ * The one place a profile name becomes a file path. It validates the name first, so
32
+ * `../x` or an absolute name is refused before any read or write (TEN-4503).
33
+ */
34
+ export function profilePath(name) {
35
+ validateProfileName(name);
25
36
  return resolve(PROFILES_DIR, `${name}.env`);
26
37
  }
27
38
  function parseEnvFile(content) {
@@ -49,9 +60,12 @@ function readProfileFile(path) {
49
60
  /**
50
61
  * Auto-migrate legacy ~/.config/productbrain/.env to profiles/default.env.
51
62
  * Only runs if legacy file exists AND no profiles directory exists.
52
- * If profiles already exist, silently removes the legacy .env (TEN-1343).
63
+ * If profiles already exist, silently removes the legacy .env (TEN-1343) — so any caller
64
+ * that might CREATE the profiles dir before this runs (e.g. `pb connect`'s named-profile
65
+ * create path) must call this FIRST, or the legacy file is deleted, unmigrated (Codex
66
+ * review, WP-628 P1).
53
67
  */
54
- function autoMigrate() {
68
+ export function autoMigrate() {
55
69
  if (existsSync(PROFILES_DIR)) {
56
70
  if (existsSync(LEGACY_ENV_PATH))
57
71
  unlinkSync(LEGACY_ENV_PATH);
@@ -92,12 +106,17 @@ export function getActiveProfile() {
92
106
  return envProfile;
93
107
  return getGlobalActiveProfile();
94
108
  }
95
- /** Create a new profile. */
96
- export function createProfile(name, apiKey, siteUrl) {
97
- validateProfileName(name);
98
- if (existsSync(profilePath(name))) {
99
- throw new CLIError(`Profile "${name}" already exists.`, { code: ErrorCode.PROFILE_ALREADY_EXISTS, category: 'profile' });
100
- }
109
+ /**
110
+ * Create a new profile.
111
+ *
112
+ * TEN-2851: refuses to overwrite an existing profile file by default — a caller wanting to
113
+ * replace an occupied profile's credentials must pass `{ overwrite: true }` explicitly (the
114
+ * act stays deliberate at every call site, never a silent side-effect of a name collision).
115
+ * `pb connect` is the one caller that passes it, and only for the profile this folder's own
116
+ * pin already names — a key rotation (TASK-638, connect.ts saveKeyAsProfile).
117
+ */
118
+ export function createProfile(name, apiKey, siteUrl, opts) {
119
+ const path = profilePath(name);
101
120
  mkdirSync(PROFILES_DIR, { recursive: true });
102
121
  const lines = [
103
122
  `# Product Brain CLI profile: ${name}`,
@@ -107,15 +126,41 @@ export function createProfile(name, apiKey, siteUrl) {
107
126
  lines.push(`CONVEX_SITE_URL=${siteUrl}`);
108
127
  }
109
128
  lines.push('');
110
- writeFileSync(profilePath(name), lines.join('\n'), { mode: 0o600 });
111
- // If this is the first profile, make it active
112
- if (!existsSync(ACTIVE_PROFILE_PATH)) {
129
+ const content = lines.join('\n');
130
+ // TEN-2851 TOCTOU (Copilot review): an existsSync() pre-check followed by a plain 'w'
131
+ // write leaves a race window — a concurrent process can create the file between the
132
+ // check and the write, and 'w' would silently truncate it. When NOT overwriting, use the
133
+ // exclusive-create flag 'wx' so the filesystem is the atomic guard: EEXIST (whether from
134
+ // a pre-existing file or one created in the race window) surfaces as the SAME
135
+ // PROFILE_ALREADY_EXISTS error every existing caller already handles. `{ overwrite: true }`
136
+ // is an explicit replace of this folder's own profile (see connect.ts saveKeyAsProfile) and
137
+ // intentionally keeps the plain 'w' flag — it means to replace whatever is there.
138
+ if (opts?.overwrite) {
139
+ writeFileSync(path, content, { mode: 0o600 });
140
+ }
141
+ else {
142
+ try {
143
+ writeFileSync(path, content, { mode: 0o600, flag: 'wx' });
144
+ }
145
+ catch (err) {
146
+ if (err && typeof err === 'object' && 'code' in err && err.code === 'EEXIST') {
147
+ throw new CLIError(`Profile "${name}" already exists.`, { code: ErrorCode.PROFILE_ALREADY_EXISTS, category: 'profile' });
148
+ }
149
+ throw err;
150
+ }
151
+ }
152
+ // If this is the first profile, make it active. Scoped to !opts?.overwrite (Codex review,
153
+ // WP-628 P2): an overwrite call means the profile ALREADY existed — it can never be "the
154
+ // first profile ever created" — so it must never claim a missing active-profile marker.
155
+ // Without this guard, confirming an overwrite while that marker happens to be absent would
156
+ // silently activate the overwritten target globally, contradicting this function's own
157
+ // "does not activate globally" contract (connect.ts saveKeyAsProfile docstring).
158
+ if (!opts?.overwrite && !existsSync(ACTIVE_PROFILE_PATH)) {
113
159
  writeFileSync(ACTIVE_PROFILE_PATH, name, { mode: 0o600 });
114
160
  }
115
161
  }
116
162
  /** Switch the active profile. */
117
163
  export function useProfile(name) {
118
- validateProfileName(name);
119
164
  if (!existsSync(profilePath(name))) {
120
165
  throw new CLIError(`Profile "${name}" does not exist.`, { code: ErrorCode.PROFILE_NOT_FOUND, category: 'profile' });
121
166
  }
@@ -124,7 +169,6 @@ export function useProfile(name) {
124
169
  }
125
170
  /** Delete a profile. Cannot delete the last profile or the active profile. */
126
171
  export function deleteProfile(name) {
127
- validateProfileName(name);
128
172
  const path = profilePath(name);
129
173
  if (!existsSync(path)) {
130
174
  throw new CLIError(`Profile "${name}" does not exist.`, { code: ErrorCode.PROFILE_NOT_FOUND, category: 'profile' });
@@ -151,7 +195,7 @@ export function resolveProfileConfig() {
151
195
  if (envProfile) {
152
196
  const config = readProfileFile(profilePath(envProfile));
153
197
  if (config)
154
- return config;
198
+ return { ...config, profileName: envProfile };
155
199
  }
156
200
  // 2. Check active-profile file
157
201
  if (existsSync(ACTIVE_PROFILE_PATH)) {
@@ -159,30 +203,37 @@ export function resolveProfileConfig() {
159
203
  if (name) {
160
204
  const config = readProfileFile(profilePath(name));
161
205
  if (config)
162
- return config;
206
+ return { ...config, profileName: name };
163
207
  }
164
208
  }
165
209
  // 3. Check "default" profile
166
210
  {
167
211
  const config = readProfileFile(profilePath('default'));
168
212
  if (config)
169
- return config;
213
+ return { ...config, profileName: 'default' };
170
214
  }
171
- // 4. Fall back to legacy .env
215
+ // 4. Fall back to legacy .env — not a named profile, so no profileName.
172
216
  {
173
217
  const config = readProfileFile(LEGACY_ENV_PATH);
174
218
  if (config)
175
- return config;
219
+ return { ...config, profileName: null };
176
220
  }
177
221
  return null;
178
222
  }
179
223
  /**
180
224
  * Resolve config for a specific named profile.
181
- * Returns null if the profile doesn't exist.
225
+ * Returns null both when the profile file is absent AND when it exists but fails to parse
226
+ * (missing/empty PRODUCTBRAIN_API_KEY) — those two cases are NOT the same thing to a caller
227
+ * deciding whether it's safe to create; use `profileFileExists()` to tell them apart
228
+ * (Codex review, WP-628 P2).
182
229
  */
183
230
  export function resolveNamedProfileConfig(name) {
184
231
  return readProfileFile(profilePath(name));
185
232
  }
233
+ /** Does a profile FILE exist at this name, independent of whether it parses (see above). */
234
+ export function profileFileExists(name) {
235
+ return existsSync(profilePath(name));
236
+ }
186
237
  // Exported for testing
187
238
  export { PROFILES_DIR, ACTIVE_PROFILE_PATH, LEGACY_ENV_PATH, HOME_CONFIG_DIR };
188
239
  //# sourceMappingURL=profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/lib/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/lib/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * The repo's own Product Brain config files — locating them and reading what they declare.
3
+ *
4
+ * Split out of config.ts under STD-2 / DEC-1504. The seam is deliberate and worth keeping:
5
+ * this module answers "what does THIS REPO say about itself" from the filesystem and git's index, while
6
+ * config.ts answers "which credential do we therefore use". Nothing here reads a credential
7
+ * store, an env var, or the global active profile — so it has no dependency on config.ts and
8
+ * cannot participate in an import cycle.
9
+ *
10
+ * Split config design:
11
+ * - config.json (committed): its PRESENCE declares a Product Brain project. The CLI never reads
12
+ * its siteUrl: a cloned repo controls that file, so it must not route a key (TEN-4500).
13
+ * - config.local.json (gitignored): profile pin, and an optional acting role (DEC-1961) —
14
+ * machine-local, never committed; a copy git tracks is refused (TEN-4501). Because it
15
+ * is gitignored, a fresh clone or worktree does NOT inherit it (INS-2462) — the caller must
16
+ * treat "no pin" as an explicit state, never as permission to guess a workspace.
17
+ */
18
+ /** Local project config shape — .productbrain/config.local.json (gitignored, machine-local) */
19
+ export interface LocalProjectConfig {
20
+ profile?: string;
21
+ /** Direct preview API key — set by `npm run pb:preview`, cleared by `npm run pb:real`. */
22
+ apiKey?: string;
23
+ /**
24
+ * An `apiKey` was present but failed the `API_KEY_PREFIX` bar, so it was not loaded.
25
+ * Kept apart from `apiKey` so a malformed key can never bind, while diagnostics can still
26
+ * say "malformed" instead of misreporting it as absent.
27
+ */
28
+ apiKeyMalformed?: boolean;
29
+ /** Preview site URL — set alongside apiKey by `npm run pb:preview`. */
30
+ siteUrl?: string;
31
+ /** Marks this config as preview-bound; the CLI shows a loud banner on every command. */
32
+ preview?: boolean;
33
+ /** Human-readable preview workspace name for the banner (e.g. "Preview Workspace"). */
34
+ workspaceName?: string;
35
+ /**
36
+ * The key file `npm run pb:preview` bound and the facts it read from that file (TASK-809, TEN-4883).
37
+ * The stale-key refresh re-reads only this file, and only while it still says these facts.
38
+ */
39
+ previewKey?: PreviewKeyBinding;
40
+ /**
41
+ * The role this folder's sessions act as (DEC-1961, TASK-639): a role id such as ROL-12, added
42
+ * by hand beside `profile`. Optional; absent is the ordinary state. It only labels attribution,
43
+ * and the kernel decides whether the person holds it (RULE-128).
44
+ */
45
+ role?: string;
46
+ /** `role` was present but not a non-empty string. Kept apart so it can never bind a role. */
47
+ roleMalformed?: boolean;
48
+ }
49
+ /**
50
+ * Walk up the directory tree (git-style) to find the nearest CLI project root.
51
+ *
52
+ * A `.productbrain/` directory only counts as a CLI project root when it carries
53
+ * CLI configuration — `config.json` (committed project declaration) or
54
+ * `config.local.json` (machine-local profile pin or preview binding). A
55
+ * projection-only `.productbrain/` written by `pb handshake` (briefing.md,
56
+ * context.md, rules/, etc.) does NOT count — otherwise a subrepo like
57
+ * `packages/cli/.productbrain/` would shadow the real configuring root and
58
+ * `npm run pb:preview` writes (which always land at the repo-root
59
+ * `.productbrain/`) would be invisible to commands run from the subrepo.
60
+ *
61
+ * Stops at home directory or filesystem root. Returns the directory containing
62
+ * a config-bearing `.productbrain/`, or null if not found.
63
+ */
64
+ export declare function findProjectRoot(startDir: string): string | null;
65
+ /**
66
+ * Does the committed `.productbrain/config.json` EXIST, independent of whether it parses?
67
+ *
68
+ * The project's self-declaration is the file's PRESENCE, not its contents. A content reader
69
+ * returns null for a malformed or non-object file exactly as it does for an absent one, so a
70
+ * caller asking "is this a project" through that value reads a DAMAGED declaration as no
71
+ * declaration at all — and falls through to whatever workspace the global profile names. A
72
+ * corrupt committed file must not be a way out of the project's own tenant rules, so callers
73
+ * deciding whether a repo has declared itself ask this instead (Codex review, WP-694 S2).
74
+ */
75
+ export declare function projectConfigExists(): boolean;
76
+ /**
77
+ * Is `<root>/<rel>` tracked in git's index? A TRACKED file is never ignored regardless of
78
+ * .gitignore. `git ls-files -- <path>` prints the path when tracked, nothing when not. Not a git
79
+ * work tree, or git unavailable → null. Never throws. Lives here, not in productbrain-files.ts
80
+ * (which re-exports it), so the pin reader can use it without an import cycle.
81
+ */
82
+ export declare function makeGitTrackedChecker(root: string): (rel: string) => boolean | null;
83
+ /**
84
+ * What `npm run pb:preview` recorded about the key file it bound (scripts/pb-binding.mjs writes it as
85
+ * previewKeyFile, previewPerson, previewWorkspaceSlug, previewRole, copied from that file).
86
+ */
87
+ export interface PreviewKeyBinding {
88
+ file: string;
89
+ person: string;
90
+ workspaceSlug: string;
91
+ role: string;
92
+ }
93
+ /**
94
+ * TEN-4883: read the bound key file for the stale-key refresh, or null. The seed writes many
95
+ * preview-*.json sidecars for other people and workspaces (preview-chain.json, preview-readonly.json,
96
+ * …), so the file is accepted only while its person, workspaceSlug and role still equal what the
97
+ * binding recorded from it: a config naming another sidecar can never cross the person or workspace.
98
+ */
99
+ export declare function readBoundPreviewKey(projectRoot: string, binding: PreviewKeyBinding): {
100
+ apiKey?: unknown;
101
+ siteUrl?: unknown;
102
+ } | null;
103
+ /**
104
+ * TEN-4501 (TASK-639): a config.local.json that git tracks is committed, so its pin, its preview
105
+ * key and its role travel to every clone. Refuse to read it. Only a confirmed `true` refuses:
106
+ * outside a git work tree there is no index for the file to be in. A tracked pin deleted from the
107
+ * working tree is refused too: the next pin write would recreate a committed file (TASK-648).
108
+ * pb connect calls this before its redeem for the folder it is about to pin (WP-810).
109
+ */
110
+ export declare function refuseTrackedPin(projectRoot: string): void;
111
+ /** The home folder is no project: a pin or hooks written there bind every folder under it (TASK-562). */
112
+ export declare function isHomeFolder(folder: string, home?: string): boolean;
113
+ /** The refusal pb connect gives in the home folder, pinned word for word by its test (RULE-662). */
114
+ export declare const HOME_FOLDER_REFUSAL = "Run pb connect in your project folder, not your home folder.";
115
+ /**
116
+ * TASK-562: a new terminal opens in the home folder, and a pin there binds every folder under it
117
+ * (findProjectRoot walks up to it). pb connect calls this before its redeem, so the token still works.
118
+ */
119
+ export declare function refuseHomeFolder(folder: string): void;
120
+ /**
121
+ * Read .productbrain/config.local.json from the walked-up project root.
122
+ * Returns the machine-local pin (`profile`), the optional hand-added `role` (DEC-1961), and any
123
+ * preview-binding fields (`apiKey`, `siteUrl`, `preview`, `workspaceName`, `previewKey`) written by
124
+ * `npm run pb:preview` — all gitignored, never committed.
125
+ * Returns null if file missing or project root not found.
126
+ * Warns to stderr on invalid JSON. Throws only when git tracks the file, even one deleted from the
127
+ * working tree (refuseTrackedPin).
128
+ */
129
+ export declare function readLocalProjectConfig(): LocalProjectConfig | null;
130
+ //# sourceMappingURL=projectConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/lib/projectConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,+FAA+F;AAC/F,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CASnF;AAQD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAYnI;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAY1D;AAKD,yGAAyG;AACzG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,OAAO,CAE9E;AAED,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,iEAAiE,CAAC;AAElG;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,GAAG,IAAI,CA6DlE"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * The repo's own Product Brain config files — locating them and reading what they declare.
3
+ *
4
+ * Split out of config.ts under STD-2 / DEC-1504. The seam is deliberate and worth keeping:
5
+ * this module answers "what does THIS REPO say about itself" from the filesystem and git's index, while
6
+ * config.ts answers "which credential do we therefore use". Nothing here reads a credential
7
+ * store, an env var, or the global active profile — so it has no dependency on config.ts and
8
+ * cannot participate in an import cycle.
9
+ *
10
+ * Split config design:
11
+ * - config.json (committed): its PRESENCE declares a Product Brain project. The CLI never reads
12
+ * its siteUrl: a cloned repo controls that file, so it must not route a key (TEN-4500).
13
+ * - config.local.json (gitignored): profile pin, and an optional acting role (DEC-1961) —
14
+ * machine-local, never committed; a copy git tracks is refused (TEN-4501). Because it
15
+ * is gitignored, a fresh clone or worktree does NOT inherit it (INS-2462) — the caller must
16
+ * treat "no pin" as an explicit state, never as permission to guess a workspace.
17
+ */
18
+ import { readFileSync, existsSync, realpathSync } from 'fs';
19
+ import { resolve } from 'path';
20
+ import { homedir } from 'os';
21
+ import { execFileSync } from 'child_process';
22
+ import { API_KEY_PREFIX } from './tokenConstants.js';
23
+ import { CLIError, ErrorCode } from './errors.js';
24
+ /**
25
+ * Walk up the directory tree (git-style) to find the nearest CLI project root.
26
+ *
27
+ * A `.productbrain/` directory only counts as a CLI project root when it carries
28
+ * CLI configuration — `config.json` (committed project declaration) or
29
+ * `config.local.json` (machine-local profile pin or preview binding). A
30
+ * projection-only `.productbrain/` written by `pb handshake` (briefing.md,
31
+ * context.md, rules/, etc.) does NOT count — otherwise a subrepo like
32
+ * `packages/cli/.productbrain/` would shadow the real configuring root and
33
+ * `npm run pb:preview` writes (which always land at the repo-root
34
+ * `.productbrain/`) would be invisible to commands run from the subrepo.
35
+ *
36
+ * Stops at home directory or filesystem root. Returns the directory containing
37
+ * a config-bearing `.productbrain/`, or null if not found.
38
+ */
39
+ export function findProjectRoot(startDir) {
40
+ let dir = startDir;
41
+ const home = homedir();
42
+ while (true) {
43
+ const pbDir = resolve(dir, '.productbrain');
44
+ if (existsSync(pbDir) &&
45
+ (existsSync(resolve(pbDir, 'config.json')) ||
46
+ existsSync(resolve(pbDir, 'config.local.json')))) {
47
+ return dir;
48
+ }
49
+ const parent = resolve(dir, '..');
50
+ if (parent === dir || dir === home)
51
+ return null;
52
+ dir = parent;
53
+ }
54
+ }
55
+ /**
56
+ * Does the committed `.productbrain/config.json` EXIST, independent of whether it parses?
57
+ *
58
+ * The project's self-declaration is the file's PRESENCE, not its contents. A content reader
59
+ * returns null for a malformed or non-object file exactly as it does for an absent one, so a
60
+ * caller asking "is this a project" through that value reads a DAMAGED declaration as no
61
+ * declaration at all — and falls through to whatever workspace the global profile names. A
62
+ * corrupt committed file must not be a way out of the project's own tenant rules, so callers
63
+ * deciding whether a repo has declared itself ask this instead (Codex review, WP-694 S2).
64
+ */
65
+ export function projectConfigExists() {
66
+ const projectRoot = findProjectRoot(process.cwd());
67
+ if (!projectRoot)
68
+ return false;
69
+ return existsSync(resolve(projectRoot, '.productbrain', 'config.json'));
70
+ }
71
+ /**
72
+ * Is `<root>/<rel>` tracked in git's index? A TRACKED file is never ignored regardless of
73
+ * .gitignore. `git ls-files -- <path>` prints the path when tracked, nothing when not. Not a git
74
+ * work tree, or git unavailable → null. Never throws. Lives here, not in productbrain-files.ts
75
+ * (which re-exports it), so the pin reader can use it without an import cycle.
76
+ */
77
+ export function makeGitTrackedChecker(root) {
78
+ return (rel) => {
79
+ try {
80
+ const out = execFileSync('git', ['ls-files', '--', rel], { cwd: root, encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
81
+ return out.trim().length > 0;
82
+ }
83
+ catch {
84
+ return null; // not a git work tree, or git unavailable
85
+ }
86
+ };
87
+ }
88
+ /** A preview key file name the seed writes (preview.json, preview-founder.json, …): a bare name, no path. */
89
+ const PREVIEW_KEY_FILE = /^preview(-[a-z]+)*\.json$/;
90
+ /** A printed entry id, e.g. ROL-12: the only shape a pinned role may take. */
91
+ const ROLE_ID = /^[A-Z]+-\d+$/;
92
+ /** All four recorded binding facts, or null when any is missing or the wrong shape. */
93
+ function parsePreviewKeyBinding(parsed) {
94
+ const { previewKeyFile: file, previewPerson: person, previewWorkspaceSlug: workspaceSlug, previewRole: role } = parsed;
95
+ if (typeof file !== 'string' || !PREVIEW_KEY_FILE.test(file))
96
+ return null;
97
+ if (typeof person !== 'string' || !person || typeof workspaceSlug !== 'string' || !workspaceSlug)
98
+ return null;
99
+ if (typeof role !== 'string' || !ROLE_ID.test(role))
100
+ return null;
101
+ return { file, person, workspaceSlug, role };
102
+ }
103
+ /**
104
+ * TEN-4883: read the bound key file for the stale-key refresh, or null. The seed writes many
105
+ * preview-*.json sidecars for other people and workspaces (preview-chain.json, preview-readonly.json,
106
+ * …), so the file is accepted only while its person, workspaceSlug and role still equal what the
107
+ * binding recorded from it: a config naming another sidecar can never cross the person or workspace.
108
+ */
109
+ export function readBoundPreviewKey(projectRoot, binding) {
110
+ const path = resolve(projectRoot, '.productbrain', binding.file);
111
+ if (!existsSync(path))
112
+ return null;
113
+ try {
114
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
115
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
116
+ return null;
117
+ const { person, workspaceSlug, role } = parsed;
118
+ if (person !== binding.person || workspaceSlug !== binding.workspaceSlug || role !== binding.role)
119
+ return null;
120
+ return parsed;
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ /** Project roots whose pin git was asked about and does not track (one git spawn per root). */
127
+ const untrackedPinRoots = new Set();
128
+ /**
129
+ * TEN-4501 (TASK-639): a config.local.json that git tracks is committed, so its pin, its preview
130
+ * key and its role travel to every clone. Refuse to read it. Only a confirmed `true` refuses:
131
+ * outside a git work tree there is no index for the file to be in. A tracked pin deleted from the
132
+ * working tree is refused too: the next pin write would recreate a committed file (TASK-648).
133
+ * pb connect calls this before its redeem for the folder it is about to pin (WP-810).
134
+ */
135
+ export function refuseTrackedPin(projectRoot) {
136
+ if (untrackedPinRoots.has(projectRoot))
137
+ return;
138
+ if (makeGitTrackedChecker(projectRoot)('.productbrain/config.local.json') === true) {
139
+ const pinPath = resolve(projectRoot, '.productbrain', 'config.local.json');
140
+ const state = existsSync(pinPath) ? 'is tracked by git' : 'is deleted but still tracked by git';
141
+ throw new CLIError(`${pinPath} ${state}, so it is committed and every clone shares it. Refusing to use it.`, {
142
+ code: ErrorCode.CONFIG_INVALID,
143
+ category: 'config',
144
+ guidance: 'Untrack it with `git rm --cached .productbrain/config.local.json`, then run `pb files --fix` so git ignores it.',
145
+ });
146
+ }
147
+ untrackedPinRoots.add(projectRoot);
148
+ }
149
+ /** A symlinked home (macOS /tmp → /private/tmp) must still compare equal to its target. */
150
+ const realPath = (p) => { try {
151
+ return realpathSync(p);
152
+ }
153
+ catch {
154
+ return resolve(p);
155
+ } };
156
+ /** The home folder is no project: a pin or hooks written there bind every folder under it (TASK-562). */
157
+ export function isHomeFolder(folder, home = homedir()) {
158
+ return realPath(folder) === realPath(home);
159
+ }
160
+ /** The refusal pb connect gives in the home folder, pinned word for word by its test (RULE-662). */
161
+ export const HOME_FOLDER_REFUSAL = 'Run pb connect in your project folder, not your home folder.';
162
+ /**
163
+ * TASK-562: a new terminal opens in the home folder, and a pin there binds every folder under it
164
+ * (findProjectRoot walks up to it). pb connect calls this before its redeem, so the token still works.
165
+ */
166
+ export function refuseHomeFolder(folder) {
167
+ if (!isHomeFolder(folder))
168
+ return;
169
+ throw new CLIError(HOME_FOLDER_REFUSAL, {
170
+ code: ErrorCode.VALIDATION_FAILED,
171
+ category: 'validation',
172
+ guidance: 'cd into your project, then run the same command. Your token still works.',
173
+ });
174
+ }
175
+ /**
176
+ * Read .productbrain/config.local.json from the walked-up project root.
177
+ * Returns the machine-local pin (`profile`), the optional hand-added `role` (DEC-1961), and any
178
+ * preview-binding fields (`apiKey`, `siteUrl`, `preview`, `workspaceName`, `previewKey`) written by
179
+ * `npm run pb:preview` — all gitignored, never committed.
180
+ * Returns null if file missing or project root not found.
181
+ * Warns to stderr on invalid JSON. Throws only when git tracks the file, even one deleted from the
182
+ * working tree (refuseTrackedPin).
183
+ */
184
+ export function readLocalProjectConfig() {
185
+ const projectRoot = findProjectRoot(process.cwd());
186
+ if (!projectRoot)
187
+ return null;
188
+ const configPath = resolve(projectRoot, '.productbrain', 'config.local.json');
189
+ // Before the existence check (WP-810, TASK-648): a pin git still tracks but the working tree has
190
+ // deleted is refused too, or the next pin write (pb connect) would recreate a committed file.
191
+ refuseTrackedPin(projectRoot);
192
+ if (!existsSync(configPath))
193
+ return null;
194
+ try {
195
+ const raw = readFileSync(configPath, 'utf8');
196
+ const parsed = JSON.parse(raw);
197
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
198
+ process.stderr.write('Warning: .productbrain/config.local.json is not a JSON object, skipping.\n');
199
+ return null;
200
+ }
201
+ const result = {};
202
+ if (typeof parsed.profile === 'string' && parsed.profile) {
203
+ result.profile = parsed.profile;
204
+ }
205
+ // Preview binding fields — written by `npm run pb:preview`, cleared by `npm run pb:real`.
206
+ //
207
+ // Fail closed on ANY present-but-invalid apiKey, not just a wrong-prefix string: a number,
208
+ // an empty string, a boolean or an object is a corrupt or hand-written binding, and treating
209
+ // it as absent would let the caller skip the claimed binding and adopt a sibling profile pin
210
+ // — the workspace substitution this whole path exists to prevent. Only `undefined`/`null`
211
+ // count as absent: JSON `null` conventionally means "no value", and `npm run pb:real` strips
212
+ // the preview keys entirely rather than nulling them.
213
+ if (parsed.apiKey !== undefined && parsed.apiKey !== null) {
214
+ if (typeof parsed.apiKey === 'string' && parsed.apiKey.startsWith(API_KEY_PREFIX)) {
215
+ result.apiKey = parsed.apiKey;
216
+ }
217
+ else {
218
+ result.apiKeyMalformed = true;
219
+ }
220
+ }
221
+ if (typeof parsed.siteUrl === 'string' && parsed.siteUrl) {
222
+ result.siteUrl = parsed.siteUrl;
223
+ }
224
+ if (parsed.preview === true) {
225
+ result.preview = true;
226
+ }
227
+ if (typeof parsed.workspaceName === 'string' && parsed.workspaceName) {
228
+ result.workspaceName = parsed.workspaceName;
229
+ }
230
+ // The bound key file and its recorded facts hold together or not at all; without them the
231
+ // stale-key refresh reads no file (TEN-4883), so absent and malformed need no separate flag.
232
+ const previewKey = parsePreviewKeyBinding(parsed);
233
+ if (previewKey)
234
+ result.previewKey = previewKey;
235
+ // Same fail-closed rule as apiKey: a present-but-unusable role is flagged, never dropped, so a
236
+ // session start refuses instead of acting as some other role (RULE-632). Only the printed id
237
+ // shape (ROL-12) is a role: anything else would reach the kernel and be echoed back raw.
238
+ if (parsed.role !== undefined && parsed.role !== null) {
239
+ const role = typeof parsed.role === 'string' ? parsed.role.trim() : '';
240
+ if (ROLE_ID.test(role))
241
+ result.role = role;
242
+ else
243
+ result.roleMalformed = true;
244
+ }
245
+ return result;
246
+ }
247
+ catch {
248
+ process.stderr.write('Warning: .productbrain/config.local.json contains invalid JSON, skipping.\n');
249
+ return null;
250
+ }
251
+ }
252
+ //# sourceMappingURL=projectConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/lib/projectConfig.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export interface PromptOptions {
12
12
  export interface ConfirmOptions {
13
13
  message: string;
14
14
  initialValue?: boolean;
15
+ /** Returned on Esc / Ctrl+C instead of exiting, for a caller that must clean up first (TASK-641). */
16
+ cancelValue?: boolean;
15
17
  }
16
18
  export interface SelectOptions<T> {
17
19
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AA0CD,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,uCAAuC;AACvC,wBAAsB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED,mDAAmD;AACnD,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpE;AAED,iDAAiD;AACjD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlE;AAED,wDAAwD;AACxD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrE;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;CACrB;AAED,qDAAqD;AACrD,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAW9E;AAED,6EAA6E;AAC7E,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1C;AAED,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,6EAA6E;AAC7E,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,kFAAkF;AAClF,eAAO,MAAM,GAAG;gBACC,MAAM;mBACN,MAAM;gBACN,MAAM;iBACN,MAAM;gBACN,MAAM;oBACL,MAAM;CAGvB,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AA0CD,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,uCAAuC;AACvC,wBAAsB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED,mDAAmD;AACnD,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CASpE;AAED,iDAAiD;AACjD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlE;AAED,wDAAwD;AACxD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrE;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;CACrB;AAED,qDAAqD;AACrD,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAW9E;AAED,6EAA6E;AAC7E,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1C;AAED,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,6EAA6E;AAC7E,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,kFAAkF;AAClF,eAAO,MAAM,GAAG;gBACC,MAAM;mBACN,MAAM;gBACN,MAAM;iBACN,MAAM;gBACN,MAAM;oBACL,MAAM;CAGvB,CAAC"}
@@ -63,6 +63,8 @@ export async function confirm(opts) {
63
63
  message: opts.message,
64
64
  initialValue: opts.initialValue,
65
65
  });
66
+ if (opts.cancelValue !== undefined && isCancelled(result))
67
+ return opts.cancelValue;
66
68
  handleCancel(result);
67
69
  return result;
68
70
  }