@productbrain/cli 0.1.0-beta.1398 → 0.1.0-beta.13982

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