@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
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
8
8
  import { mkdirSync, writeFileSync, readFileSync, rmSync } from 'fs';
9
- import { resolve } from 'path';
9
+ import { dirname, resolve } from 'path';
10
10
  import { tmpdir } from 'os';
11
11
  import { randomUUID } from 'crypto';
12
12
  // Mock the profiles module to prevent real profile config from leaking in
@@ -30,6 +30,7 @@ describe('config resolution', () => {
30
30
  const envKeys = ['PRODUCTBRAIN_API_KEY', 'CONVEX_SITE_URL', 'PB_PROFILE', 'PB_ENV'];
31
31
  // Import after mock setup
32
32
  let resolveConfig;
33
+ let getConfig;
33
34
  let getConfigSafe;
34
35
  let resetConfigCache;
35
36
  let findProjectRoot;
@@ -49,6 +50,7 @@ describe('config resolution', () => {
49
50
  // Dynamic import to get module with mocks applied
50
51
  const config = await import('../lib/config.js');
51
52
  resolveConfig = config.resolveConfig;
53
+ getConfig = config.getConfig;
52
54
  getConfigSafe = config.getConfigSafe;
53
55
  resetConfigCache = config.resetConfigCache;
54
56
  findProjectRoot = config.findProjectRoot;
@@ -173,19 +175,127 @@ describe('config resolution', () => {
173
175
  expect(result.apiKey).toBe('pb_sk_local_profile_key');
174
176
  expect(result.source).toBe('project');
175
177
  });
176
- it('config.json siteUrl is used as gateway override with global profile', async () => {
177
- const { resolveProfileConfig } = await import('../lib/profiles.js');
178
- resolveProfileConfig.mockReturnValueOnce({
179
- apiKey: 'pb_sk_global_key',
180
- siteUrl: 'https://profile.example.com',
178
+ it('FAILS CLOSED on a dangling repo-local pin — never silently falls through to the global active profile', async () => {
179
+ const { resolveNamedProfileConfig, resolveProfileConfig } = await import('../lib/profiles.js');
180
+ // Pin names a profile that no longer resolves (deleted, or never fully set up).
181
+ resolveNamedProfileConfig.mockReturnValue(null);
182
+ // A perfectly usable global profile is available — and must NOT be adopted.
183
+ resolveProfileConfig.mockReturnValue({
184
+ apiKey: 'pb_sk_global_profile_key',
185
+ siteUrl: 'https://global-profile.example.com',
186
+ });
187
+ const pbDir = resolve(tempDir, '.productbrain');
188
+ mkdirSync(pbDir, { recursive: true });
189
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'deleted-workspace' }));
190
+ expect(() => resolveConfig()).toThrow(/pinned to profile "deleted-workspace"/);
191
+ });
192
+ it('dangling repo-local pin throws AUTH_MISSING rather than returning a foreign credential', async () => {
193
+ const { resolveNamedProfileConfig, resolveProfileConfig } = await import('../lib/profiles.js');
194
+ // Pin resolves to a profile file that exists but carries no API key.
195
+ resolveNamedProfileConfig.mockReturnValue({
196
+ siteUrl: 'https://pinned.example.com',
197
+ });
198
+ resolveProfileConfig.mockReturnValue({
199
+ apiKey: 'pb_sk_global_profile_key',
200
+ siteUrl: 'https://global-profile.example.com',
201
+ });
202
+ const pbDir = resolve(tempDir, '.productbrain');
203
+ mkdirSync(pbDir, { recursive: true });
204
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'keyless-workspace' }));
205
+ let caught;
206
+ try {
207
+ resolveConfig();
208
+ }
209
+ catch (e) {
210
+ caught = e;
211
+ }
212
+ expect(caught?.code).toBe('AUTH_MISSING');
213
+ });
214
+ it('TASK-562: with no key, getConfig and getConfigOrGuide throw the one missing-key sentence getConfigSafe reports, and never ask to paste a key', async () => {
215
+ const { getConfigOrGuide } = await import('../lib/config.js');
216
+ const safe = getConfigSafe();
217
+ expect(safe.ok).toBe(false);
218
+ if (safe.ok)
219
+ return;
220
+ expect(safe.guidance).not.toMatch(/pb login/);
221
+ let caught;
222
+ try {
223
+ getConfig();
224
+ }
225
+ catch (e) {
226
+ caught = e;
227
+ }
228
+ expect(caught).toMatchObject({ message: safe.reason, guidance: safe.guidance, code: 'AUTH_MISSING' });
229
+ const tty = process.stdin.isTTY;
230
+ Object.defineProperty(process.stdin, 'isTTY', { value: true, configurable: true });
231
+ try {
232
+ await expect(getConfigOrGuide(async () => { })).rejects.toMatchObject({ message: safe.reason, guidance: safe.guidance });
233
+ }
234
+ finally {
235
+ Object.defineProperty(process.stdin, 'isTTY', { value: tty, configurable: true });
236
+ }
237
+ });
238
+ it('getConfig() refuses a dangling pin — the loadEnv() cascade must not adopt the global profile', async () => {
239
+ // This is the door ~98 command modules use, and it is a SEPARATE cascade from
240
+ // resolveConfig() — loadEnv() mutates process.env rather than returning a value.
241
+ const { resolveNamedProfileConfig, resolveProfileConfig } = await import('../lib/profiles.js');
242
+ resolveNamedProfileConfig.mockReturnValue(null);
243
+ resolveProfileConfig.mockReturnValue({
244
+ apiKey: 'pb_sk_global_profile_key',
245
+ siteUrl: 'https://global-profile.example.com',
246
+ });
247
+ const pbDir = resolve(tempDir, '.productbrain');
248
+ mkdirSync(pbDir, { recursive: true });
249
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'deleted-workspace' }));
250
+ expect(() => getConfig()).toThrow(/pinned to profile "deleted-workspace"/);
251
+ // The foreign credential must never become the live binding.
252
+ expect(process.env.PRODUCTBRAIN_API_KEY).toBeUndefined();
253
+ });
254
+ it('a pin whose profile has a malformed key is a broken pin, not a credential', async () => {
255
+ const { resolveNamedProfileConfig, resolveProfileConfig } = await import('../lib/profiles.js');
256
+ resolveNamedProfileConfig.mockReturnValue({
257
+ apiKey: 'not-a-pb-key',
258
+ siteUrl: 'https://pinned.example.com',
259
+ });
260
+ resolveProfileConfig.mockReturnValue({
261
+ apiKey: 'pb_sk_global_profile_key',
262
+ siteUrl: 'https://global-profile.example.com',
263
+ });
264
+ const pbDir = resolve(tempDir, '.productbrain');
265
+ mkdirSync(pbDir, { recursive: true });
266
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'malformed-workspace' }));
267
+ // Names the pin, rather than deferring to a generic "no API key, run pb login".
268
+ expect(() => resolveConfig()).toThrow(/pinned to profile "malformed-workspace"/);
269
+ });
270
+ it('getConfigSafe() REPORTS a dangling pin instead of throwing — diagnostics must still render', async () => {
271
+ const { resolveNamedProfileConfig, resolveProfileConfig } = await import('../lib/profiles.js');
272
+ resolveNamedProfileConfig.mockReturnValue(null);
273
+ resolveProfileConfig.mockReturnValue({
274
+ apiKey: 'pb_sk_global_profile_key',
275
+ siteUrl: 'https://global-profile.example.com',
276
+ });
277
+ const pbDir = resolve(tempDir, '.productbrain');
278
+ mkdirSync(pbDir, { recursive: true });
279
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'deleted-workspace' }));
280
+ // `pb doctor` and the bare-`pb` dashboard go through here; they must diagnose, not die.
281
+ const result = getConfigSafe();
282
+ expect(result.ok).toBe(false);
283
+ expect(result.reason).toMatch(/pinned to profile "deleted-workspace"/);
284
+ });
285
+ it('a pin with no URL of its own goes to DEFAULT_SITE_URL, never config.json siteUrl (TEN-4500)', async () => {
286
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
287
+ resolveNamedProfileConfig.mockReturnValueOnce({
288
+ apiKey: 'pb_sk_pinned_key',
181
289
  });
182
290
  const pbDir = resolve(tempDir, '.productbrain');
183
291
  mkdirSync(pbDir, { recursive: true });
184
292
  writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'https://project-gateway.example.com' }));
293
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'product-brain' }));
185
294
  const result = resolveConfig();
186
- expect(result.apiKey).toBe('pb_sk_global_key');
187
- expect(result.siteUrl).toBe('https://project-gateway.example.com');
188
- expect(result.source).toBe('profile');
295
+ expect(result.apiKey).toBe('pb_sk_pinned_key');
296
+ expect(result.siteUrl).toBe('https://gateway.productbrain.io');
297
+ expect(result.siteUrlSource).toBe('default');
298
+ expect(result.source).toBe('project');
189
299
  });
190
300
  it('env vars override project config.local.json', () => {
191
301
  process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_env_key';
@@ -204,24 +314,18 @@ describe('config resolution', () => {
204
314
  expect(result.siteUrl).toBe('https://gateway.productbrain.io');
205
315
  expect(result.source).toBe('default');
206
316
  });
207
- it('ignores profile field in config.json (legacy migration)', () => {
317
+ it('ignores profile field in config.json (legacy migration) — not a pin, so the project has no tenant', () => {
208
318
  const pbDir = resolve(tempDir, '.productbrain');
209
319
  mkdirSync(pbDir, { recursive: true });
210
- // Old config.json with profile field — must be ignored
320
+ // Old config.json with profile field — must be ignored, not treated as a pin
211
321
  writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'https://project.example.com', profile: 'should-be-ignored' }));
212
- const result = resolveConfig();
213
- // profile in config.json must NOT be resolved — no profile mock set up
214
- expect(result.apiKey).toBeUndefined();
215
- expect(result.source).toBe('default');
322
+ expect(() => resolveConfig()).toThrow(/no tenant pin/i);
216
323
  });
217
- it('handles partial project config (only siteUrl, no apiKey)', () => {
324
+ it('a declared project with only siteUrl and no pin refuses rather than falling through', () => {
218
325
  const pbDir = resolve(tempDir, '.productbrain');
219
326
  mkdirSync(pbDir, { recursive: true });
220
327
  writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'https://partial.example.com' }));
221
- const result = resolveConfig();
222
- // No apiKey in project config, so it should fall through to default
223
- expect(result.apiKey).toBeUndefined();
224
- expect(result.source).toBe('default');
328
+ expect(() => resolveConfig()).toThrow(/no tenant pin/i);
225
329
  });
226
330
  });
227
331
  describe('getConfigSafe()', () => {
@@ -233,6 +337,211 @@ describe('config resolution', () => {
233
337
  expect(result.reason).toContain('No API key');
234
338
  }
235
339
  });
340
+ it('names the FILE, not CONVEX_SITE_URL, when a file supplied the non-HTTPS URL', () => {
341
+ // A file-sourced siteUrl outranks CONVEX_SITE_URL everywhere except an env-key override, so
342
+ // "set CONVEX_SITE_URL" would send the operator back through the same failure.
343
+ process.env.CONVEX_SITE_URL = 'https://this-would-never-win.example.com';
344
+ const pbDir = resolve(tempDir, '.productbrain');
345
+ mkdirSync(pbDir, { recursive: true });
346
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
347
+ apiKey: 'pb_sk_preview_key_0123456789abcdef',
348
+ siteUrl: 'http://insecure.example.com',
349
+ preview: true,
350
+ }));
351
+ resetConfigCache();
352
+ const result = getConfigSafe();
353
+ expect(result.ok).toBe(false);
354
+ if (!result.ok) {
355
+ expect(result.kind).toBe('invalid-url');
356
+ expect(result.reason).toMatch(/must use HTTPS/i);
357
+ // The binding supplies its own URL, so the repair is that file alone — naming a profile
358
+ // it may also pin would point at something that does not control this URL.
359
+ expect(result.guidance).toContain('.productbrain/config.local.json');
360
+ expect(result.guidance).not.toMatch(/profile/i);
361
+ expect(result.guidance).not.toMatch(/CONVEX_SITE_URL/);
362
+ }
363
+ });
364
+ it('names CONVEX_SITE_URL when the environment did supply the non-HTTPS URL', () => {
365
+ process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_env_key';
366
+ process.env.CONVEX_SITE_URL = 'http://insecure.example.com';
367
+ resetConfigCache();
368
+ const result = getConfigSafe();
369
+ expect(result.ok).toBe(false);
370
+ if (!result.ok) {
371
+ expect(result.kind).toBe('invalid-url');
372
+ expect(result.guidance).toContain('CONVEX_SITE_URL');
373
+ }
374
+ });
375
+ // ── The URL's origin is NOT the credential's origin ────────────────────────────────────
376
+ //
377
+ // A key travels only with the URL beside it (TEN-4500), so the repair names that source —
378
+ // never config.json, whose siteUrl no longer routes any key, and never a sibling file that
379
+ // happens to sit in the same directory.
380
+ it('a non-HTTPS config.json siteUrl never reaches a pinned key (TEN-4500)', async () => {
381
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
382
+ resolveNamedProfileConfig.mockReturnValue({
383
+ apiKey: 'pb_sk_pinned_key',
384
+ });
385
+ const pbDir = resolve(tempDir, '.productbrain');
386
+ mkdirSync(pbDir, { recursive: true });
387
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'http://insecure.example.com' }));
388
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'product-brain' }));
389
+ resetConfigCache();
390
+ const result = getConfigSafe();
391
+ expect(result.ok).toBe(true);
392
+ if (result.ok)
393
+ expect(result.siteUrl).toBe('https://gateway.productbrain.io');
394
+ });
395
+ it('names the pin — not config.json or a CWD .env — when the pinned profile supplied the URL', async () => {
396
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
397
+ resolveNamedProfileConfig.mockReturnValue({
398
+ apiKey: 'pb_sk_pinned_key',
399
+ siteUrl: 'http://pin.example.com',
400
+ });
401
+ const pbDir = resolve(tempDir, '.productbrain');
402
+ mkdirSync(pbDir, { recursive: true });
403
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'http://insecure.example.com' }));
404
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'product-brain' }));
405
+ writeFileSync(resolve(tempDir, '.env'), 'PRODUCTBRAIN_API_KEY=pb_sk_cwd_key\nCONVEX_SITE_URL=https://cwd-would-have-been-fine.example.com\n');
406
+ resetConfigCache();
407
+ const result = getConfigSafe();
408
+ expect(result.ok).toBe(false);
409
+ if (!result.ok) {
410
+ expect(result.kind).toBe('invalid-url');
411
+ expect(result.reason).toContain('http://pin.example.com');
412
+ expect(result.guidance).toContain('pinned by .productbrain/config.local.json');
413
+ expect(result.guidance).not.toContain('.productbrain/config.json');
414
+ expect(result.guidance).not.toMatch(/\.env file/);
415
+ }
416
+ });
417
+ it('names the profile the repo pin points at, not just "the profile it pins"', async () => {
418
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
419
+ resolveNamedProfileConfig.mockReturnValue({
420
+ apiKey: 'pb_sk_pinned_key_0123456789',
421
+ siteUrl: 'http://insecure.example.com',
422
+ });
423
+ const pbDir = resolve(tempDir, '.productbrain');
424
+ mkdirSync(pbDir, { recursive: true });
425
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'pinned-workspace' }));
426
+ resetConfigCache();
427
+ const result = getConfigSafe();
428
+ expect(result.ok).toBe(false);
429
+ if (!result.ok) {
430
+ expect(result.kind).toBe('invalid-url');
431
+ expect(result.guidance).toContain('pinned-workspace');
432
+ }
433
+ });
434
+ it('names the CWD env file that actually won, not the generic .env', () => {
435
+ // CWD_ENV_PATHS scans .env.mcp first, so a generic "the .env file" label would send the
436
+ // operator to edit a file the cascade never read.
437
+ writeFileSync(resolve(tempDir, '.env.mcp'), 'PRODUCTBRAIN_API_KEY=pb_sk_cwd_key\nCONVEX_SITE_URL=http://insecure.example.com\n');
438
+ resetConfigCache();
439
+ const result = getConfigSafe();
440
+ expect(result.ok).toBe(false);
441
+ if (!result.ok) {
442
+ expect(result.kind).toBe('invalid-url');
443
+ expect(result.guidance).toContain('.env.mcp');
444
+ }
445
+ });
446
+ it('tells the operator to unset PRODUCTBRAIN_API_KEY — not to run pb login — for a bad exported key', () => {
447
+ // An exported key wins step 1 of the cascade, and `pb login` writes to a profile or the
448
+ // legacy home file — both of which lose to it. "Run pb login" would loop forever.
449
+ process.env.PRODUCTBRAIN_API_KEY = 'bad_prefix_key';
450
+ resetConfigCache();
451
+ const result = getConfigSafe();
452
+ expect(result.ok).toBe(false);
453
+ if (!result.ok) {
454
+ expect(result.kind).toBe('invalid-key');
455
+ expect(result.guidance).toMatch(/Unset PRODUCTBRAIN_API_KEY|replace it/);
456
+ // `pb login` may only be named to explain why it cannot help — never as the instruction.
457
+ expect(result.guidance).not.toMatch(/Run `pb login`/);
458
+ expect(result.guidance).toMatch(/cannot repair/);
459
+ expect(result.nextCommand).not.toBe('pb login');
460
+ }
461
+ });
462
+ it('still points a stored malformed key at pb login — login CAN repair that one', async () => {
463
+ const { resolveProfileConfig } = await import('../lib/profiles.js');
464
+ resolveProfileConfig.mockReturnValue({
465
+ apiKey: 'bad_prefix_key',
466
+ siteUrl: 'https://profile.example.com',
467
+ });
468
+ resetConfigCache();
469
+ const result = getConfigSafe();
470
+ expect(result.ok).toBe(false);
471
+ if (!result.ok) {
472
+ expect(result.kind).toBe('invalid-key');
473
+ expect(result.guidance).toMatch(/pb login/);
474
+ expect(result.nextCommand).toBe('pb login');
475
+ }
476
+ });
477
+ // ── Which profile actually supplied it ──────────────────────────────────────────────────
478
+ //
479
+ // resolveProfileConfig() reaches a credential four ways — PB_PROFILE, the active-profile
480
+ // marker, a `default` fallback, and the legacy ~/.config/productbrain/.env — and reports the
481
+ // winner's name. A fixed "the active profile" label sends the operator to edit a profile that
482
+ // supplied nothing, so the same failure comes straight back.
483
+ it('names the PB_PROFILE-selected profile, not "the active profile", for its non-HTTPS URL', async () => {
484
+ const { resolveProfileConfig, getGlobalActiveProfile } = await import('../lib/profiles.js');
485
+ // A DIFFERENT profile is globally active. PB_PROFILE outranks it in profiles.ts, which
486
+ // returns the selected name alongside the credential (profiles.ts resolveProfileConfig 1).
487
+ getGlobalActiveProfile.mockReturnValue('main-workspace');
488
+ process.env.PB_PROFILE = 'preview-workspace';
489
+ resolveProfileConfig.mockReturnValue({
490
+ apiKey: 'pb_sk_selected_profile_key',
491
+ siteUrl: 'http://insecure.example.com',
492
+ profileName: 'preview-workspace',
493
+ });
494
+ resetConfigCache();
495
+ const result = getConfigSafe();
496
+ expect(result.ok).toBe(false);
497
+ if (!result.ok) {
498
+ expect(result.kind).toBe('invalid-url');
499
+ expect(result.guidance).toContain('the profile "preview-workspace"');
500
+ expect(result.guidance).not.toContain('the active profile');
501
+ // The globally active profile did not supply this URL and must not be named.
502
+ expect(result.guidance).not.toContain('main-workspace');
503
+ }
504
+ });
505
+ it('names the `default` fallback profile for a malformed stored key', async () => {
506
+ const { resolveProfileConfig } = await import('../lib/profiles.js');
507
+ // No PB_PROFILE and no active-profile marker: profiles.ts falls back to `default`, which is
508
+ // a real file the operator can open — "the active profile" is not.
509
+ resolveProfileConfig.mockReturnValue({
510
+ apiKey: 'bad_prefix_key',
511
+ siteUrl: 'https://profile.example.com',
512
+ profileName: 'default',
513
+ });
514
+ resetConfigCache();
515
+ const result = getConfigSafe();
516
+ expect(result.ok).toBe(false);
517
+ if (!result.ok) {
518
+ expect(result.kind).toBe('invalid-key');
519
+ expect(result.reason).toContain('the profile "default"');
520
+ expect(result.reason).not.toContain('the active profile');
521
+ }
522
+ });
523
+ it('does NOT call the legacy home config "the active profile" — it is not a named profile', async () => {
524
+ // resolveConfig() step 4 labels the legacy ~/.config/productbrain/.env `profile`, but it
525
+ // carries no profile name at all, so naming a profile there would be a fabrication.
526
+ const { HOME_ENV_PATH } = await import('../lib/config.js');
527
+ mkdirSync(dirname(HOME_ENV_PATH), { recursive: true });
528
+ writeFileSync(HOME_ENV_PATH, 'PRODUCTBRAIN_API_KEY=bad_prefix_key\n');
529
+ try {
530
+ resetConfigCache();
531
+ const result = getConfigSafe();
532
+ expect(result.ok).toBe(false);
533
+ if (!result.ok) {
534
+ expect(result.kind).toBe('invalid-key');
535
+ expect(result.reason).not.toContain('the active profile');
536
+ expect(result.reason).toContain('the stored profile configuration');
537
+ }
538
+ }
539
+ finally {
540
+ // The fake home is shared by every test in this file; a stray legacy .env would supply a
541
+ // credential to the cases that assert none is found.
542
+ rmSync(HOME_ENV_PATH, { force: true });
543
+ }
544
+ });
236
545
  it('returns { ok: true } with correct source when key exists in env', () => {
237
546
  process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_test_key';
238
547
  process.env.CONVEX_SITE_URL = 'https://test.example.com';
@@ -285,19 +594,19 @@ describe('config resolution', () => {
285
594
  });
286
595
  });
287
596
  describe('.productbrain/config.json error handling', () => {
288
- it('warns but does not crash on invalid JSON', () => {
597
+ it('warns on invalid JSON, and still refuses — a damaged declaration is not an escape hatch', () => {
289
598
  const pbDir = resolve(tempDir, '.productbrain');
290
599
  mkdirSync(pbDir, { recursive: true });
291
600
  writeFileSync(resolve(pbDir, 'config.json'), '{ invalid json!!!');
292
- // Capture stderr
293
- const stderrWrite = vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
294
- const result = resolveConfig();
295
- // Should have warned
296
- expect(stderrWrite).toHaveBeenCalledWith(expect.stringContaining('invalid JSON'));
297
- // Should fall through to default
298
- expect(result.apiKey).toBeUndefined();
299
- expect(result.source).toBe('default');
300
- stderrWrite.mockRestore();
601
+ // The file is unreadable but PRESENT, so the repo has still declared itself a project.
602
+ // Falling through here would hand the global profile a workspace precisely when the
603
+ // committed declaration is corrupt — the wrong-tenant substitution WP-694 S2 closes.
604
+ //
605
+ // No stderr assertion: the refusal is reached on the file's EXISTENCE, so nothing parses
606
+ // config.json on this path and the "invalid JSON" warning never fires. Refusing outright
607
+ // supersedes warning-then-using-someone-else's-workspace. The sibling test below still
608
+ // covers the warn-and-continue path for a malformed config.local.json.
609
+ expect(() => resolveConfig()).toThrow(/no tenant pin/i);
301
610
  });
302
611
  it('warns but does not crash on invalid config.local.json', () => {
303
612
  const pbDir = resolve(tempDir, '.productbrain');
@@ -379,6 +688,17 @@ describe('config resolution', () => {
379
688
  const { resolveEffectiveProfile } = await import('../lib/config.js');
380
689
  expect(resolveEffectiveProfile()).toEqual({ profile: 'repo-pin', source: 'local' });
381
690
  });
691
+ // The pin's key is bound by resolveConfig() step 2b / loadEnv() step 1b before the profile
692
+ // system reads PB_PROFILE, so the env name never supplies the credential here. Reporting it
693
+ // would label every identity surface with a workspace the CLI is not operating against.
694
+ it('prefers the repo pin over PB_PROFILE, matching which profile supplies the credential', async () => {
695
+ process.env.PB_PROFILE = 'from-env';
696
+ const pbDir = resolve(tempDir, '.productbrain');
697
+ mkdirSync(pbDir, { recursive: true });
698
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'repo-pin' }));
699
+ const { resolveEffectiveProfile } = await import('../lib/config.js');
700
+ expect(resolveEffectiveProfile()).toEqual({ profile: 'repo-pin', source: 'local' });
701
+ });
382
702
  it('returns global source from the active-profile file when no local pin', async () => {
383
703
  const profiles = await import('../lib/profiles.js');
384
704
  profiles.getGlobalActiveProfile.mockReturnValue('global-ws');
@@ -446,7 +766,7 @@ describe('config resolution', () => {
446
766
  expect(result.apiKey).toBe('pb_sk_profile_key');
447
767
  expect(result.source).toBe('project');
448
768
  });
449
- it('rejects apiKey that does not start with API_KEY_PREFIX', () => {
769
+ it('rejects a preview binding whose apiKey does not start with API_KEY_PREFIX', () => {
450
770
  const pbDir = resolve(tempDir, '.productbrain');
451
771
  mkdirSync(pbDir, { recursive: true });
452
772
  writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
@@ -455,10 +775,9 @@ describe('config resolution', () => {
455
775
  preview: true,
456
776
  }));
457
777
  resetConfigCache();
458
- const result = resolveConfig();
459
- // Should not pick up the invalid-prefix key
460
- expect(result.apiKey).toBeUndefined();
461
- expect(result.source).toBe('default');
778
+ // A present-but-malformed key is unusable, not absent — the refusal must say so, or the
779
+ // operator goes looking for a key that is sitting right there in the file.
780
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*not a valid pb_sk_ key/i);
462
781
  });
463
782
  it('SF-3: does NOT bind a preview apiKey that has no siteUrl (never borrows config.json gateway)', () => {
464
783
  const pbDir = resolve(tempDir, '.productbrain');
@@ -468,12 +787,145 @@ describe('config resolution', () => {
468
787
  // Preview key present but its OWN siteUrl is absent (hand-edit / partial preview.json).
469
788
  writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'pb_sk_preview_key_0123456789abcdef', preview: true }));
470
789
  resetConfigCache();
790
+ // The preview key must NOT be bound or allowed to fall through. Pairing it with
791
+ // config.json's real-dev gateway would send a preview credential to the wrong deployment.
792
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
793
+ });
794
+ it('S5: an incomplete preview binding is diagnosed before a sibling profile pin', async () => {
795
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
796
+ resolveNamedProfileConfig.mockReturnValue(null);
797
+ const pbDir = resolve(tempDir, '.productbrain');
798
+ mkdirSync(pbDir, { recursive: true });
799
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
800
+ profile: 'repo-pin',
801
+ apiKey: 'pb_sk_preview_key_0123456789abcdef',
802
+ preview: true,
803
+ workspaceName: 'Preview Workspace',
804
+ }));
805
+ resetConfigCache();
806
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
807
+ expect(() => getConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
808
+ });
809
+ // ── Marker-less bindings: the claim is the credential, not the `preview` stamp ──────────
810
+ //
811
+ // A config.local.json carrying an apiKey is asserting which workspace this repo talks to
812
+ // whether or not `pb:preview` stamped `preview: true` — a hand-written or partially-scrubbed
813
+ // file is exactly the case that must not be skipped.
814
+ it('binds a marker-less apiKey + siteUrl pair and does NOT defer to a sibling profile pin', async () => {
815
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
816
+ // A perfectly resolvable pin sits in the same file — it names a DIFFERENT tenant, so
817
+ // adopting it would silently retarget every read and write.
818
+ resolveNamedProfileConfig.mockReturnValue({
819
+ apiKey: 'pb_sk_sibling_pin_key',
820
+ siteUrl: 'https://sibling-pin.example.com',
821
+ });
822
+ const pbDir = resolve(tempDir, '.productbrain');
823
+ mkdirSync(pbDir, { recursive: true });
824
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
825
+ profile: 'sibling-pin',
826
+ apiKey: 'pb_sk_markerless_key_0123456789',
827
+ siteUrl: 'https://markerless.convex.site',
828
+ // no `preview: true` marker
829
+ }));
830
+ resetConfigCache();
471
831
  const result = resolveConfig();
472
- // The preview key must NOT be bound — pairing it with config.json's real-dev gateway would
473
- // send a preview credential to a non-preview deployment (STD-261). Branch is skipped entirely.
474
- expect(result.apiKey).not.toBe('pb_sk_preview_key_0123456789abcdef');
475
- expect(result.apiKey).toBeUndefined();
476
- expect(result.source).toBe('default');
832
+ expect(result.apiKey).toBe('pb_sk_markerless_key_0123456789');
833
+ expect(result.siteUrl).toBe('https://markerless.convex.site');
834
+ expect(result.source).toBe('project');
835
+ });
836
+ it('refuses a marker-less apiKey with no siteUrl instead of resolving to the default gateway', () => {
837
+ const pbDir = resolve(tempDir, '.productbrain');
838
+ mkdirSync(pbDir, { recursive: true });
839
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'pb_sk_markerless_key_0123456789' }));
840
+ resetConfigCache();
841
+ // Silently falling through would send this credential to the production gateway (STD-261).
842
+ expect(() => resolveConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
843
+ });
844
+ it('S5: the marker-less refusal also holds through the loadEnv() cascade', () => {
845
+ const pbDir = resolve(tempDir, '.productbrain');
846
+ mkdirSync(pbDir, { recursive: true });
847
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'pb_sk_markerless_key_0123456789' }));
848
+ resetConfigCache();
849
+ expect(() => getConfig()).toThrow(/incomplete preview binding.*missing deployment URL/i);
850
+ // The refusal must not leave a half-bound credential behind for the next caller.
851
+ expect(process.env.PRODUCTBRAIN_API_KEY).toBeUndefined();
852
+ });
853
+ // A present-but-non-string apiKey is a corrupt or hand-written binding, not an absent one.
854
+ // Treating it as absent would let the sibling profile pin supply a DIFFERENT tenant's
855
+ // credential — the workspace substitution this path exists to prevent.
856
+ it.each([
857
+ ['a number', 12345],
858
+ ['an empty string', ''],
859
+ ['a boolean', true],
860
+ ['an object', { key: 'pb_sk_nested' }],
861
+ ])('refuses a marker-less binding whose apiKey is %s, rather than adopting the sibling pin', async (_label, apiKey) => {
862
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
863
+ // A perfectly resolvable pin naming a DIFFERENT tenant sits in the same file.
864
+ resolveNamedProfileConfig.mockReturnValue({
865
+ apiKey: 'pb_sk_sibling_pin_key',
866
+ siteUrl: 'https://sibling-pin.example.com',
867
+ });
868
+ const pbDir = resolve(tempDir, '.productbrain');
869
+ mkdirSync(pbDir, { recursive: true });
870
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'sibling-pin', apiKey, siteUrl: 'https://markerless.convex.site' }));
871
+ resetConfigCache();
872
+ expect(() => resolveConfig()).toThrow(/not a valid pb_sk_ key/i);
873
+ });
874
+ it('treats an explicitly null apiKey as absent — JSON null means "no value"', async () => {
875
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
876
+ resolveNamedProfileConfig.mockReturnValue({
877
+ apiKey: 'pb_sk_pin_key',
878
+ siteUrl: 'https://pinned.example.com',
879
+ });
880
+ const pbDir = resolve(tempDir, '.productbrain');
881
+ mkdirSync(pbDir, { recursive: true });
882
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'pinned-workspace', apiKey: null }));
883
+ resetConfigCache();
884
+ const result = resolveConfig();
885
+ expect(result.apiKey).toBe('pb_sk_pin_key');
886
+ expect(result.source).toBe('project');
887
+ });
888
+ it('leaves the ordinary pin-only path untouched — the widened claim test must not swallow it', async () => {
889
+ const { resolveNamedProfileConfig } = await import('../lib/profiles.js');
890
+ resolveNamedProfileConfig.mockReturnValue({
891
+ apiKey: 'pb_sk_pin_only_key',
892
+ siteUrl: 'https://pinned-profile.example.com',
893
+ });
894
+ const pbDir = resolve(tempDir, '.productbrain');
895
+ mkdirSync(pbDir, { recursive: true });
896
+ // Committed config.json + a pin whose profile stores its own URL: the pin path's normal
897
+ // shape (pb connect writes the URL into the profile). config.json's siteUrl routes nothing.
898
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: 'https://project-gateway.example.com' }));
899
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'pin-only-workspace' }));
900
+ resetConfigCache();
901
+ const result = resolveConfig();
902
+ expect(result.apiKey).toBe('pb_sk_pin_only_key');
903
+ expect(result.siteUrl).toBe('https://pinned-profile.example.com');
904
+ expect(result.source).toBe('project');
905
+ });
906
+ });
907
+ describe('readLocalProjectConfig() — apiKey validity', () => {
908
+ it('withholds a malformed apiKey and flags it so diagnostics can name the fault', async () => {
909
+ const pbDir = resolve(tempDir, '.productbrain');
910
+ mkdirSync(pbDir, { recursive: true });
911
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ apiKey: 'sk_bad_prefix_key', siteUrl: 'https://my-preview.convex.site' }));
912
+ const { readLocalProjectConfig } = await import('../lib/config.js');
913
+ const local = readLocalProjectConfig();
914
+ // Withheld from `apiKey` so it can never bind, but not reported as absent either.
915
+ expect(local?.apiKey).toBeUndefined();
916
+ expect(local?.apiKeyMalformed).toBe(true);
917
+ });
918
+ it('loads a valid apiKey with no malformed flag', async () => {
919
+ const pbDir = resolve(tempDir, '.productbrain');
920
+ mkdirSync(pbDir, { recursive: true });
921
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({
922
+ apiKey: 'pb_sk_preview_key_0123456789abcdef',
923
+ siteUrl: 'https://my-preview.convex.site',
924
+ }));
925
+ const { readLocalProjectConfig } = await import('../lib/config.js');
926
+ const local = readLocalProjectConfig();
927
+ expect(local?.apiKey).toBe('pb_sk_preview_key_0123456789abcdef');
928
+ expect(local?.apiKeyMalformed).toBeUndefined();
477
929
  });
478
930
  });
479
931
  describe('getPreviewBinding()', () => {
@@ -562,5 +1014,96 @@ describe('config resolution', () => {
562
1014
  stderrWrite.mockRestore();
563
1015
  });
564
1016
  });
1017
+ // ── TEN-4500 / TASK-640: a key travels only with the site URL stored or exported beside it ──
1018
+ //
1019
+ // `.productbrain/config.json` is committed, so a cloned repo controls its siteUrl. A key from
1020
+ // anywhere else must never be sent there: with no URL of its own it goes to DEFAULT_SITE_URL.
1021
+ describe('a key travels only with its own site URL (TEN-4500)', () => {
1022
+ const DEFAULT = 'https://gateway.productbrain.io';
1023
+ const COMMITTED = 'https://cloned-repo.example.com';
1024
+ function commitProjectSiteUrl() {
1025
+ const pbDir = resolve(tempDir, '.productbrain');
1026
+ mkdirSync(pbDir, { recursive: true });
1027
+ writeFileSync(resolve(pbDir, 'config.json'), JSON.stringify({ siteUrl: COMMITTED }));
1028
+ return pbDir;
1029
+ }
1030
+ it('an exported key with no exported site URL is sent to DEFAULT_SITE_URL, never config.json siteUrl', () => {
1031
+ process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_env_key';
1032
+ commitProjectSiteUrl();
1033
+ expect(getConfig().siteUrl).toBe(DEFAULT);
1034
+ });
1035
+ it('loadEnv and resolveConfig name the same site URL for the same inputs', async () => {
1036
+ const { resolveNamedProfileConfig, resolveProfileConfig } = await import('../lib/profiles.js');
1037
+ const named = resolveNamedProfileConfig;
1038
+ const active = resolveProfileConfig;
1039
+ const cases = [
1040
+ {
1041
+ name: 'env key, no env URL, committed config.json',
1042
+ arrange: () => {
1043
+ process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_env_key';
1044
+ commitProjectSiteUrl();
1045
+ },
1046
+ expected: DEFAULT,
1047
+ },
1048
+ {
1049
+ name: 'env key with env URL, committed config.json',
1050
+ arrange: () => {
1051
+ process.env.PRODUCTBRAIN_API_KEY = 'pb_sk_env_key';
1052
+ process.env.CONVEX_SITE_URL = 'https://env.example.com';
1053
+ commitProjectSiteUrl();
1054
+ },
1055
+ expected: 'https://env.example.com',
1056
+ },
1057
+ {
1058
+ name: 'pinned profile with its own URL, exported URL, committed config.json',
1059
+ arrange: () => {
1060
+ named.mockReturnValue({ apiKey: 'pb_sk_pinned_key', siteUrl: 'https://pinned.example.com' });
1061
+ process.env.CONVEX_SITE_URL = 'https://env.example.com';
1062
+ const pbDir = commitProjectSiteUrl();
1063
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'product-brain' }));
1064
+ },
1065
+ expected: 'https://pinned.example.com',
1066
+ },
1067
+ {
1068
+ name: 'pinned profile with no URL, committed config.json',
1069
+ arrange: () => {
1070
+ named.mockReturnValue({ apiKey: 'pb_sk_pinned_key' });
1071
+ const pbDir = commitProjectSiteUrl();
1072
+ writeFileSync(resolve(pbDir, 'config.local.json'), JSON.stringify({ profile: 'product-brain' }));
1073
+ },
1074
+ expected: DEFAULT,
1075
+ },
1076
+ {
1077
+ name: 'unpinned profile with its own URL, exported URL',
1078
+ arrange: () => {
1079
+ active.mockReturnValue({ apiKey: 'pb_sk_profile_key', siteUrl: 'https://profile.example.com', profileName: 'p' });
1080
+ process.env.CONVEX_SITE_URL = 'https://env.example.com';
1081
+ },
1082
+ expected: 'https://profile.example.com',
1083
+ },
1084
+ {
1085
+ name: 'unpinned profile with no URL, exported URL',
1086
+ arrange: () => {
1087
+ active.mockReturnValue({ apiKey: 'pb_sk_profile_key', profileName: 'p' });
1088
+ process.env.CONVEX_SITE_URL = 'https://env.example.com';
1089
+ },
1090
+ expected: DEFAULT,
1091
+ },
1092
+ ];
1093
+ const observed = cases.map(({ name, arrange }) => {
1094
+ named.mockReset();
1095
+ active.mockReset();
1096
+ delete process.env.PRODUCTBRAIN_API_KEY;
1097
+ delete process.env.CONVEX_SITE_URL;
1098
+ rmSync(resolve(tempDir, '.productbrain'), { recursive: true, force: true });
1099
+ arrange();
1100
+ const resolved = resolveConfig().siteUrl;
1101
+ resetConfigCache();
1102
+ const loaded = getConfig().siteUrl;
1103
+ return { name, resolved, loaded };
1104
+ });
1105
+ expect(observed).toEqual(cases.map(({ name, expected }) => ({ name, resolved: expected, loaded: expected })));
1106
+ });
1107
+ });
565
1108
  });
566
1109
  //# sourceMappingURL=config.test.js.map