@productbrain/cli 0.1.0-beta.14 → 0.1.0-beta.14010

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 (1428) hide show
  1. package/README.md +85 -113
  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.d.ts +2 -0
  7. package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
  8. package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
  9. package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
  10. package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
  11. package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
  12. package/dist/__tests__/capture-receipt-coaching.test.js +119 -0
  13. package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
  14. package/dist/__tests__/capture-receipt-role-hint.test.d.ts +2 -0
  15. package/dist/__tests__/capture-receipt-role-hint.test.d.ts.map +1 -0
  16. package/dist/__tests__/capture-receipt-role-hint.test.js +64 -0
  17. package/dist/__tests__/capture-receipt-role-hint.test.js.map +1 -0
  18. package/dist/__tests__/capture-receipt-spine-floor.test.d.ts +2 -0
  19. package/dist/__tests__/capture-receipt-spine-floor.test.d.ts.map +1 -0
  20. package/dist/__tests__/capture-receipt-spine-floor.test.js +95 -0
  21. package/dist/__tests__/capture-receipt-spine-floor.test.js.map +1 -0
  22. package/dist/__tests__/capture.test.js +610 -31
  23. package/dist/__tests__/capture.test.js.map +1 -1
  24. package/dist/__tests__/cli-error-once.test.d.ts +2 -0
  25. package/dist/__tests__/cli-error-once.test.d.ts.map +1 -0
  26. package/dist/__tests__/cli-error-once.test.js +51 -0
  27. package/dist/__tests__/cli-error-once.test.js.map +1 -0
  28. package/dist/__tests__/client-binding-guard.test.d.ts +2 -0
  29. package/dist/__tests__/client-binding-guard.test.d.ts.map +1 -0
  30. package/dist/__tests__/client-binding-guard.test.js +84 -0
  31. package/dist/__tests__/client-binding-guard.test.js.map +1 -0
  32. package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
  33. package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
  34. package/dist/__tests__/coaching-mirror-drift.test.js +49 -0
  35. package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
  36. package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
  37. package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
  38. package/dist/__tests__/codex-prep-parity.test.js +82 -0
  39. package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
  40. package/dist/__tests__/config-conversation-profile.test.d.ts +2 -0
  41. package/dist/__tests__/config-conversation-profile.test.d.ts.map +1 -0
  42. package/dist/__tests__/config-conversation-profile.test.js +91 -0
  43. package/dist/__tests__/config-conversation-profile.test.js.map +1 -0
  44. package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
  45. package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
  46. package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
  47. package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
  48. package/dist/__tests__/config.test.d.ts +8 -0
  49. package/dist/__tests__/config.test.d.ts.map +1 -0
  50. package/dist/__tests__/config.test.js +1109 -0
  51. package/dist/__tests__/config.test.js.map +1 -0
  52. package/dist/__tests__/constants.test.d.ts +2 -0
  53. package/dist/__tests__/constants.test.d.ts.map +1 -0
  54. package/dist/__tests__/constants.test.js +155 -0
  55. package/dist/__tests__/constants.test.js.map +1 -0
  56. package/dist/__tests__/constellation.test.js +56 -36
  57. package/dist/__tests__/constellation.test.js.map +1 -1
  58. package/dist/__tests__/context-strategy.test.js +8 -8
  59. package/dist/__tests__/context-strategy.test.js.map +1 -1
  60. package/dist/__tests__/conversation.test.d.ts +2 -0
  61. package/dist/__tests__/conversation.test.d.ts.map +1 -0
  62. package/dist/__tests__/conversation.test.js +113 -0
  63. package/dist/__tests__/conversation.test.js.map +1 -0
  64. package/dist/__tests__/entry-formatter.test.d.ts +2 -0
  65. package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
  66. package/dist/__tests__/entry-formatter.test.js +272 -0
  67. package/dist/__tests__/entry-formatter.test.js.map +1 -0
  68. package/dist/__tests__/entry-preflight.test.d.ts +2 -0
  69. package/dist/__tests__/entry-preflight.test.d.ts.map +1 -0
  70. package/dist/__tests__/entry-preflight.test.js +58 -0
  71. package/dist/__tests__/entry-preflight.test.js.map +1 -0
  72. package/dist/__tests__/entryAccept-batch.test.d.ts +2 -0
  73. package/dist/__tests__/entryAccept-batch.test.d.ts.map +1 -0
  74. package/dist/__tests__/entryAccept-batch.test.js +275 -0
  75. package/dist/__tests__/entryAccept-batch.test.js.map +1 -0
  76. package/dist/__tests__/entryAccept.test.d.ts +2 -0
  77. package/dist/__tests__/entryAccept.test.d.ts.map +1 -0
  78. package/dist/__tests__/entryAccept.test.js +573 -0
  79. package/dist/__tests__/entryAccept.test.js.map +1 -0
  80. package/dist/__tests__/entryDiscardResolve.test.d.ts +2 -0
  81. package/dist/__tests__/entryDiscardResolve.test.d.ts.map +1 -0
  82. package/dist/__tests__/entryDiscardResolve.test.js +36 -0
  83. package/dist/__tests__/entryDiscardResolve.test.js.map +1 -0
  84. package/dist/__tests__/entryOwn.test.d.ts +2 -0
  85. package/dist/__tests__/entryOwn.test.d.ts.map +1 -0
  86. package/dist/__tests__/entryOwn.test.js +95 -0
  87. package/dist/__tests__/entryOwn.test.js.map +1 -0
  88. package/dist/__tests__/entryReplace.test.d.ts +2 -0
  89. package/dist/__tests__/entryReplace.test.d.ts.map +1 -0
  90. package/dist/__tests__/entryReplace.test.js +60 -0
  91. package/dist/__tests__/entryReplace.test.js.map +1 -0
  92. package/dist/__tests__/entryTick.test.d.ts +2 -0
  93. package/dist/__tests__/entryTick.test.d.ts.map +1 -0
  94. package/dist/__tests__/entryTick.test.js +40 -0
  95. package/dist/__tests__/entryTick.test.js.map +1 -0
  96. package/dist/__tests__/envelope-contract.test.d.ts +15 -0
  97. package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
  98. package/dist/__tests__/envelope-contract.test.js +154 -0
  99. package/dist/__tests__/envelope-contract.test.js.map +1 -0
  100. package/dist/__tests__/errors.test.d.ts +2 -0
  101. package/dist/__tests__/errors.test.d.ts.map +1 -0
  102. package/dist/__tests__/errors.test.js +188 -0
  103. package/dist/__tests__/errors.test.js.map +1 -0
  104. package/dist/__tests__/fields.test.js +50 -39
  105. package/dist/__tests__/fields.test.js.map +1 -1
  106. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts +2 -0
  107. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts.map +1 -0
  108. package/dist/__tests__/gateway-dry-run-timeout.test.js +70 -0
  109. package/dist/__tests__/gateway-dry-run-timeout.test.js.map +1 -0
  110. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts +2 -0
  111. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts.map +1 -0
  112. package/dist/__tests__/gateway-timeout-body-phase.test.js +116 -0
  113. package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
  114. package/dist/__tests__/glossary.test.d.ts +2 -0
  115. package/dist/__tests__/glossary.test.d.ts.map +1 -0
  116. package/dist/__tests__/glossary.test.js +15 -0
  117. package/dist/__tests__/glossary.test.js.map +1 -0
  118. package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
  119. package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
  120. package/dist/__tests__/health-gap-kinds-drift.test.js +43 -0
  121. package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
  122. package/dist/__tests__/help-no-ids.test.d.ts +2 -0
  123. package/dist/__tests__/help-no-ids.test.d.ts.map +1 -0
  124. package/dist/__tests__/help-no-ids.test.js +81 -0
  125. package/dist/__tests__/help-no-ids.test.js.map +1 -0
  126. package/dist/__tests__/init.test.d.ts +8 -0
  127. package/dist/__tests__/init.test.d.ts.map +1 -0
  128. package/dist/__tests__/init.test.js +406 -0
  129. package/dist/__tests__/init.test.js.map +1 -0
  130. package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
  131. package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
  132. package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
  133. package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
  134. package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
  135. package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
  136. package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
  137. package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
  138. package/dist/__tests__/login.test.d.ts +2 -0
  139. package/dist/__tests__/login.test.d.ts.map +1 -0
  140. package/dist/__tests__/login.test.js +198 -0
  141. package/dist/__tests__/login.test.js.map +1 -0
  142. package/dist/__tests__/missingPin.test.d.ts +11 -0
  143. package/dist/__tests__/missingPin.test.d.ts.map +1 -0
  144. package/dist/__tests__/missingPin.test.js +232 -0
  145. package/dist/__tests__/missingPin.test.js.map +1 -0
  146. package/dist/__tests__/no-session-one-place.test.d.ts +2 -0
  147. package/dist/__tests__/no-session-one-place.test.d.ts.map +1 -0
  148. package/dist/__tests__/no-session-one-place.test.js +33 -0
  149. package/dist/__tests__/no-session-one-place.test.js.map +1 -0
  150. package/dist/__tests__/notice-marker.test.d.ts +2 -0
  151. package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
  152. package/dist/__tests__/notice-marker.test.js +176 -0
  153. package/dist/__tests__/notice-marker.test.js.map +1 -0
  154. package/dist/__tests__/orient.test.d.ts +2 -0
  155. package/dist/__tests__/orient.test.d.ts.map +1 -0
  156. package/dist/__tests__/orient.test.js +711 -0
  157. package/dist/__tests__/orient.test.js.map +1 -0
  158. package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
  159. package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
  160. package/dist/__tests__/preview-key-refresh.test.js +186 -0
  161. package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
  162. package/dist/__tests__/profile-create-key.test.d.ts +2 -0
  163. package/dist/__tests__/profile-create-key.test.d.ts.map +1 -0
  164. package/dist/__tests__/profile-create-key.test.js +57 -0
  165. package/dist/__tests__/profile-create-key.test.js.map +1 -0
  166. package/dist/__tests__/profiles.test.d.ts +2 -0
  167. package/dist/__tests__/profiles.test.d.ts.map +1 -0
  168. package/dist/__tests__/profiles.test.js +834 -0
  169. package/dist/__tests__/profiles.test.js.map +1 -0
  170. package/dist/__tests__/prompts.test.d.ts +6 -0
  171. package/dist/__tests__/prompts.test.d.ts.map +1 -0
  172. package/dist/__tests__/prompts.test.js +163 -0
  173. package/dist/__tests__/prompts.test.js.map +1 -0
  174. package/dist/__tests__/proof-run.test.d.ts +2 -0
  175. package/dist/__tests__/proof-run.test.d.ts.map +1 -0
  176. package/dist/__tests__/proof-run.test.js +255 -0
  177. package/dist/__tests__/proof-run.test.js.map +1 -0
  178. package/dist/__tests__/rate-limit-resilience.test.d.ts +8 -0
  179. package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
  180. package/dist/__tests__/rate-limit-resilience.test.js +191 -0
  181. package/dist/__tests__/rate-limit-resilience.test.js.map +1 -0
  182. package/dist/__tests__/read-target-notice.test.d.ts +2 -0
  183. package/dist/__tests__/read-target-notice.test.d.ts.map +1 -0
  184. package/dist/__tests__/read-target-notice.test.js +125 -0
  185. package/dist/__tests__/read-target-notice.test.js.map +1 -0
  186. package/dist/__tests__/relate.test.js +292 -39
  187. package/dist/__tests__/relate.test.js.map +1 -1
  188. package/dist/__tests__/removed-commands.test.d.ts +2 -0
  189. package/dist/__tests__/removed-commands.test.d.ts.map +1 -0
  190. package/dist/__tests__/removed-commands.test.js +99 -0
  191. package/dist/__tests__/removed-commands.test.js.map +1 -0
  192. package/dist/__tests__/reply-commands-registered.test.d.ts +2 -0
  193. package/dist/__tests__/reply-commands-registered.test.d.ts.map +1 -0
  194. package/dist/__tests__/reply-commands-registered.test.js +83 -0
  195. package/dist/__tests__/reply-commands-registered.test.js.map +1 -0
  196. package/dist/__tests__/reportedProfile.test.d.ts +2 -0
  197. package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
  198. package/dist/__tests__/reportedProfile.test.js +328 -0
  199. package/dist/__tests__/reportedProfile.test.js.map +1 -0
  200. package/dist/__tests__/restore.test.d.ts +2 -0
  201. package/dist/__tests__/restore.test.d.ts.map +1 -0
  202. package/dist/__tests__/restore.test.js +91 -0
  203. package/dist/__tests__/restore.test.js.map +1 -0
  204. package/dist/__tests__/route-latency-budget.test.d.ts +2 -0
  205. package/dist/__tests__/route-latency-budget.test.d.ts.map +1 -0
  206. package/dist/__tests__/route-latency-budget.test.js +111 -0
  207. package/dist/__tests__/route-latency-budget.test.js.map +1 -0
  208. package/dist/__tests__/runner.test.js +75 -56
  209. package/dist/__tests__/runner.test.js.map +1 -1
  210. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts +2 -0
  211. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts.map +1 -0
  212. package/dist/__tests__/session-binding-refusal-tenant.test.js +112 -0
  213. package/dist/__tests__/session-binding-refusal-tenant.test.js.map +1 -0
  214. package/dist/__tests__/session-close-conversation.test.d.ts +2 -0
  215. package/dist/__tests__/session-close-conversation.test.d.ts.map +1 -0
  216. package/dist/__tests__/session-close-conversation.test.js +75 -0
  217. package/dist/__tests__/session-close-conversation.test.js.map +1 -0
  218. package/dist/__tests__/session-close-loop.test.d.ts +2 -0
  219. package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
  220. package/dist/__tests__/session-close-loop.test.js +349 -0
  221. package/dist/__tests__/session-close-loop.test.js.map +1 -0
  222. package/dist/__tests__/session-ended-refusal.test.d.ts +2 -0
  223. package/dist/__tests__/session-ended-refusal.test.d.ts.map +1 -0
  224. package/dist/__tests__/session-ended-refusal.test.js +76 -0
  225. package/dist/__tests__/session-ended-refusal.test.js.map +1 -0
  226. package/dist/__tests__/session-hook-conversation.test.d.ts +2 -0
  227. package/dist/__tests__/session-hook-conversation.test.d.ts.map +1 -0
  228. package/dist/__tests__/session-hook-conversation.test.js +87 -0
  229. package/dist/__tests__/session-hook-conversation.test.js.map +1 -0
  230. package/dist/__tests__/session-label.test.d.ts +2 -0
  231. package/dist/__tests__/session-label.test.d.ts.map +1 -0
  232. package/dist/__tests__/session-label.test.js +46 -0
  233. package/dist/__tests__/session-label.test.js.map +1 -0
  234. package/dist/__tests__/session-list-show.test.d.ts +2 -0
  235. package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
  236. package/dist/__tests__/session-list-show.test.js +171 -0
  237. package/dist/__tests__/session-list-show.test.js.map +1 -0
  238. package/dist/__tests__/session-pinned-role.test.d.ts +2 -0
  239. package/dist/__tests__/session-pinned-role.test.d.ts.map +1 -0
  240. package/dist/__tests__/session-pinned-role.test.js +333 -0
  241. package/dist/__tests__/session-pinned-role.test.js.map +1 -0
  242. package/dist/__tests__/session-reset.test.d.ts +2 -0
  243. package/dist/__tests__/session-reset.test.d.ts.map +1 -0
  244. package/dist/__tests__/session-reset.test.js +137 -0
  245. package/dist/__tests__/session-reset.test.js.map +1 -0
  246. package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
  247. package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
  248. package/dist/__tests__/session-resume-backstop.test.js +137 -0
  249. package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
  250. package/dist/__tests__/session-role-name-sanitize.test.d.ts +2 -0
  251. package/dist/__tests__/session-role-name-sanitize.test.d.ts.map +1 -0
  252. package/dist/__tests__/session-role-name-sanitize.test.js +119 -0
  253. package/dist/__tests__/session-role-name-sanitize.test.js.map +1 -0
  254. package/dist/__tests__/session-seat-split.test.d.ts +2 -0
  255. package/dist/__tests__/session-seat-split.test.d.ts.map +1 -0
  256. package/dist/__tests__/session-seat-split.test.js +142 -0
  257. package/dist/__tests__/session-seat-split.test.js.map +1 -0
  258. package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
  259. package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
  260. package/dist/__tests__/session-start-key-refresh.test.js +213 -0
  261. package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
  262. package/dist/__tests__/session-state-machine.test.d.ts +2 -0
  263. package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
  264. package/dist/__tests__/session-state-machine.test.js +364 -0
  265. package/dist/__tests__/session-state-machine.test.js.map +1 -0
  266. package/dist/__tests__/session-switch.test.d.ts +2 -0
  267. package/dist/__tests__/session-switch.test.d.ts.map +1 -0
  268. package/dist/__tests__/session-switch.test.js +341 -0
  269. package/dist/__tests__/session-switch.test.js.map +1 -0
  270. package/dist/__tests__/session-touch.test.js +87 -108
  271. package/dist/__tests__/session-touch.test.js.map +1 -1
  272. package/dist/__tests__/session.test.js +4 -13
  273. package/dist/__tests__/session.test.js.map +1 -1
  274. package/dist/__tests__/sessionBinding.test.d.ts +2 -0
  275. package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
  276. package/dist/__tests__/sessionBinding.test.js +131 -0
  277. package/dist/__tests__/sessionBinding.test.js.map +1 -0
  278. package/dist/__tests__/sessionByIdLookup.test.d.ts +2 -0
  279. package/dist/__tests__/sessionByIdLookup.test.d.ts.map +1 -0
  280. package/dist/__tests__/sessionByIdLookup.test.js +63 -0
  281. package/dist/__tests__/sessionByIdLookup.test.js.map +1 -0
  282. package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
  283. package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
  284. package/dist/__tests__/skill-vocabulary.test.js +192 -0
  285. package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
  286. package/dist/__tests__/spinner-labels.test.d.ts +2 -0
  287. package/dist/__tests__/spinner-labels.test.d.ts.map +1 -0
  288. package/dist/__tests__/spinner-labels.test.js +23 -0
  289. package/dist/__tests__/spinner-labels.test.js.map +1 -0
  290. package/dist/__tests__/state.test.d.ts +6 -0
  291. package/dist/__tests__/state.test.d.ts.map +1 -0
  292. package/dist/__tests__/state.test.js +117 -0
  293. package/dist/__tests__/state.test.js.map +1 -0
  294. package/dist/__tests__/stillTrue.test.d.ts +2 -0
  295. package/dist/__tests__/stillTrue.test.d.ts.map +1 -0
  296. package/dist/__tests__/stillTrue.test.js +53 -0
  297. package/dist/__tests__/stillTrue.test.js.map +1 -0
  298. package/dist/__tests__/strip.test.js +57 -3
  299. package/dist/__tests__/strip.test.js.map +1 -1
  300. package/dist/__tests__/tenant-notice-write-path.test.d.ts +2 -0
  301. package/dist/__tests__/tenant-notice-write-path.test.d.ts.map +1 -0
  302. package/dist/__tests__/tenant-notice-write-path.test.js +183 -0
  303. package/dist/__tests__/tenant-notice-write-path.test.js.map +1 -0
  304. package/dist/__tests__/update-check.test.d.ts +2 -0
  305. package/dist/__tests__/update-check.test.d.ts.map +1 -0
  306. package/dist/__tests__/update-check.test.js +235 -0
  307. package/dist/__tests__/update-check.test.js.map +1 -0
  308. package/dist/__tests__/update.test.js +596 -78
  309. package/dist/__tests__/update.test.js.map +1 -1
  310. package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
  311. package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
  312. package/dist/__tests__/upgrade-runner.test.js +77 -0
  313. package/dist/__tests__/upgrade-runner.test.js.map +1 -0
  314. package/dist/__tests__/upgrade.test.d.ts +2 -0
  315. package/dist/__tests__/upgrade.test.d.ts.map +1 -0
  316. package/dist/__tests__/upgrade.test.js +56 -0
  317. package/dist/__tests__/upgrade.test.js.map +1 -0
  318. package/dist/__tests__/verify-formatter.test.d.ts +2 -0
  319. package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
  320. package/dist/__tests__/verify-formatter.test.js +85 -0
  321. package/dist/__tests__/verify-formatter.test.js.map +1 -0
  322. package/dist/__tests__/vocabulary-leak.test.d.ts +33 -0
  323. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
  324. package/dist/__tests__/vocabulary-leak.test.js +425 -0
  325. package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
  326. package/dist/__tests__/workspace.test.d.ts +2 -0
  327. package/dist/__tests__/workspace.test.d.ts.map +1 -0
  328. package/dist/__tests__/workspace.test.js +267 -0
  329. package/dist/__tests__/workspace.test.js.map +1 -0
  330. package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
  331. package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
  332. package/dist/__tests__/workspaceNotice.test.js +551 -0
  333. package/dist/__tests__/workspaceNotice.test.js.map +1 -0
  334. package/dist/commands/__tests__/quality.test.d.ts +2 -0
  335. package/dist/commands/__tests__/quality.test.d.ts.map +1 -0
  336. package/dist/commands/__tests__/quality.test.js +315 -0
  337. package/dist/commands/__tests__/quality.test.js.map +1 -0
  338. package/dist/commands/__tests__/rework.test.d.ts +2 -0
  339. package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
  340. package/dist/commands/__tests__/rework.test.js +151 -0
  341. package/dist/commands/__tests__/rework.test.js.map +1 -0
  342. package/dist/commands/__tests__/tasksList.test.d.ts +2 -0
  343. package/dist/commands/__tests__/tasksList.test.d.ts.map +1 -0
  344. package/dist/commands/__tests__/tasksList.test.js +66 -0
  345. package/dist/commands/__tests__/tasksList.test.js.map +1 -0
  346. package/dist/commands/__tests__/tensionsList.test.d.ts +2 -0
  347. package/dist/commands/__tests__/tensionsList.test.d.ts.map +1 -0
  348. package/dist/commands/__tests__/tensionsList.test.js +63 -0
  349. package/dist/commands/__tests__/tensionsList.test.js.map +1 -0
  350. package/dist/commands/accept-policy.d.ts +10 -0
  351. package/dist/commands/accept-policy.d.ts.map +1 -0
  352. package/dist/commands/accept-policy.js +101 -0
  353. package/dist/commands/accept-policy.js.map +1 -0
  354. package/dist/commands/admin/cockpit.d.ts +79 -0
  355. package/dist/commands/admin/cockpit.d.ts.map +1 -0
  356. package/dist/commands/admin/cockpit.js +553 -0
  357. package/dist/commands/admin/cockpit.js.map +1 -0
  358. package/dist/commands/admin/cockpit.test.d.ts +2 -0
  359. package/dist/commands/admin/cockpit.test.d.ts.map +1 -0
  360. package/dist/commands/admin/cockpit.test.js +104 -0
  361. package/dist/commands/admin/cockpit.test.js.map +1 -0
  362. package/dist/commands/admin/index.d.ts +70 -0
  363. package/dist/commands/admin/index.d.ts.map +1 -0
  364. package/dist/commands/admin/index.js +375 -0
  365. package/dist/commands/admin/index.js.map +1 -0
  366. package/dist/commands/admin/index.test.d.ts +2 -0
  367. package/dist/commands/admin/index.test.d.ts.map +1 -0
  368. package/dist/commands/admin/index.test.js +94 -0
  369. package/dist/commands/admin/index.test.js.map +1 -0
  370. package/dist/commands/admin/inspect.d.ts +30 -0
  371. package/dist/commands/admin/inspect.d.ts.map +1 -0
  372. package/dist/commands/admin/inspect.js +550 -0
  373. package/dist/commands/admin/inspect.js.map +1 -0
  374. package/dist/commands/admin/inspect.test.d.ts +7 -0
  375. package/dist/commands/admin/inspect.test.d.ts.map +1 -0
  376. package/dist/commands/admin/inspect.test.js +90 -0
  377. package/dist/commands/admin/inspect.test.js.map +1 -0
  378. package/dist/commands/admin/manage.d.ts +8 -0
  379. package/dist/commands/admin/manage.d.ts.map +1 -0
  380. package/dist/commands/admin/manage.js +53 -0
  381. package/dist/commands/admin/manage.js.map +1 -0
  382. package/dist/commands/admin/manage.test.d.ts +2 -0
  383. package/dist/commands/admin/manage.test.d.ts.map +1 -0
  384. package/dist/commands/admin/manage.test.js +103 -0
  385. package/dist/commands/admin/manage.test.js.map +1 -0
  386. package/dist/commands/admin/probe.d.ts +75 -0
  387. package/dist/commands/admin/probe.d.ts.map +1 -0
  388. package/dist/commands/admin/probe.js +224 -0
  389. package/dist/commands/admin/probe.js.map +1 -0
  390. package/dist/commands/admin/probe.test.d.ts +2 -0
  391. package/dist/commands/admin/probe.test.d.ts.map +1 -0
  392. package/dist/commands/admin/probe.test.js +193 -0
  393. package/dist/commands/admin/probe.test.js.map +1 -0
  394. package/dist/commands/admin/run.d.ts +43 -0
  395. package/dist/commands/admin/run.d.ts.map +1 -0
  396. package/dist/commands/admin/run.js +78 -0
  397. package/dist/commands/admin/run.js.map +1 -0
  398. package/dist/commands/admin/run.test.d.ts +18 -0
  399. package/dist/commands/admin/run.test.d.ts.map +1 -0
  400. package/dist/commands/admin/run.test.js +168 -0
  401. package/dist/commands/admin/run.test.js.map +1 -0
  402. package/dist/commands/admin/seed.d.ts +54 -0
  403. package/dist/commands/admin/seed.d.ts.map +1 -0
  404. package/dist/commands/admin/seed.js +642 -0
  405. package/dist/commands/admin/seed.js.map +1 -0
  406. package/dist/commands/admin/seed.test.d.ts +10 -0
  407. package/dist/commands/admin/seed.test.d.ts.map +1 -0
  408. package/dist/commands/admin/seed.test.js +90 -0
  409. package/dist/commands/admin/seed.test.js.map +1 -0
  410. package/dist/commands/admin/seedRegistryEntries.generated.d.ts +16 -0
  411. package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
  412. package/dist/commands/admin/seedRegistryEntries.generated.js +63 -0
  413. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
  414. package/dist/commands/admin/seedRegistryEntries.test.d.ts +13 -0
  415. package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
  416. package/dist/commands/admin/seedRegistryEntries.test.js +109 -0
  417. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
  418. package/dist/commands/admin/seedRowType.d.ts +22 -0
  419. package/dist/commands/admin/seedRowType.d.ts.map +1 -0
  420. package/dist/commands/admin/seedRowType.js +2 -0
  421. package/dist/commands/admin/seedRowType.js.map +1 -0
  422. package/dist/commands/admin/seedStatusColor.d.ts +9 -0
  423. package/dist/commands/admin/seedStatusColor.d.ts.map +1 -0
  424. package/dist/commands/admin/seedStatusColor.js +19 -0
  425. package/dist/commands/admin/seedStatusColor.js.map +1 -0
  426. package/dist/commands/admin/seedStatusColor.test.d.ts +2 -0
  427. package/dist/commands/admin/seedStatusColor.test.d.ts.map +1 -0
  428. package/dist/commands/admin/seedStatusColor.test.js +31 -0
  429. package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
  430. package/dist/commands/brief.d.ts.map +1 -1
  431. package/dist/commands/brief.js +36 -14
  432. package/dist/commands/brief.js.map +1 -1
  433. package/dist/commands/capture.d.ts +20 -8
  434. package/dist/commands/capture.d.ts.map +1 -1
  435. package/dist/commands/capture.js +133 -69
  436. package/dist/commands/capture.js.map +1 -1
  437. package/dist/commands/chain-walk.d.ts.map +1 -1
  438. package/dist/commands/chain-walk.js +9 -6
  439. package/dist/commands/chain-walk.js.map +1 -1
  440. package/dist/commands/changes.d.ts.map +1 -1
  441. package/dist/commands/changes.js +9 -6
  442. package/dist/commands/changes.js.map +1 -1
  443. package/dist/commands/codex-prep.d.ts +23 -0
  444. package/dist/commands/codex-prep.d.ts.map +1 -0
  445. package/dist/commands/codex-prep.js +54 -0
  446. package/dist/commands/codex-prep.js.map +1 -0
  447. package/dist/commands/collections.d.ts +22 -0
  448. package/dist/commands/collections.d.ts.map +1 -0
  449. package/dist/commands/collections.js +69 -0
  450. package/dist/commands/collections.js.map +1 -0
  451. package/dist/commands/conflicts.d.ts +40 -0
  452. package/dist/commands/conflicts.d.ts.map +1 -0
  453. package/dist/commands/conflicts.js +213 -0
  454. package/dist/commands/conflicts.js.map +1 -0
  455. package/dist/commands/conflicts.test.d.ts +2 -0
  456. package/dist/commands/conflicts.test.d.ts.map +1 -0
  457. package/dist/commands/conflicts.test.js +202 -0
  458. package/dist/commands/conflicts.test.js.map +1 -0
  459. package/dist/commands/connect-config.test.d.ts +2 -0
  460. package/dist/commands/connect-config.test.d.ts.map +1 -0
  461. package/dist/commands/connect-config.test.js +47 -0
  462. package/dist/commands/connect-config.test.js.map +1 -0
  463. package/dist/commands/connect-decline.test.d.ts +2 -0
  464. package/dist/commands/connect-decline.test.d.ts.map +1 -0
  465. package/dist/commands/connect-decline.test.js +70 -0
  466. package/dist/commands/connect-decline.test.js.map +1 -0
  467. package/dist/commands/connect-integration.test.d.ts +7 -0
  468. package/dist/commands/connect-integration.test.d.ts.map +1 -0
  469. package/dist/commands/connect-integration.test.js +232 -0
  470. package/dist/commands/connect-integration.test.js.map +1 -0
  471. package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
  472. package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
  473. package/dist/commands/connect-legacy-migration.test.js +108 -0
  474. package/dist/commands/connect-legacy-migration.test.js.map +1 -0
  475. package/dist/commands/connect-redeem-failure.test.d.ts +2 -0
  476. package/dist/commands/connect-redeem-failure.test.d.ts.map +1 -0
  477. package/dist/commands/connect-redeem-failure.test.js +133 -0
  478. package/dist/commands/connect-redeem-failure.test.js.map +1 -0
  479. package/dist/commands/connect-screens.d.ts +17 -0
  480. package/dist/commands/connect-screens.d.ts.map +1 -0
  481. package/dist/commands/connect-screens.js +28 -0
  482. package/dist/commands/connect-screens.js.map +1 -0
  483. package/dist/commands/connect-screens.test.d.ts +2 -0
  484. package/dist/commands/connect-screens.test.d.ts.map +1 -0
  485. package/dist/commands/connect-screens.test.js +19 -0
  486. package/dist/commands/connect-screens.test.js.map +1 -0
  487. package/dist/commands/connect-seal.test.d.ts +2 -0
  488. package/dist/commands/connect-seal.test.d.ts.map +1 -0
  489. package/dist/commands/connect-seal.test.js +54 -0
  490. package/dist/commands/connect-seal.test.js.map +1 -0
  491. package/dist/commands/connect.d.ts +38 -0
  492. package/dist/commands/connect.d.ts.map +1 -0
  493. package/dist/commands/connect.js +424 -0
  494. package/dist/commands/connect.js.map +1 -0
  495. package/dist/commands/connect.test.d.ts +6 -0
  496. package/dist/commands/connect.test.d.ts.map +1 -0
  497. package/dist/commands/connect.test.js +521 -0
  498. package/dist/commands/connect.test.js.map +1 -0
  499. package/dist/commands/constellation.d.ts.map +1 -1
  500. package/dist/commands/constellation.js +9 -6
  501. package/dist/commands/constellation.js.map +1 -1
  502. package/dist/commands/context.d.ts.map +1 -1
  503. package/dist/commands/context.js +9 -6
  504. package/dist/commands/context.js.map +1 -1
  505. package/dist/commands/cross-cut.d.ts.map +1 -1
  506. package/dist/commands/cross-cut.js +3 -5
  507. package/dist/commands/cross-cut.js.map +1 -1
  508. package/dist/commands/direction.d.ts +10 -0
  509. package/dist/commands/direction.d.ts.map +1 -0
  510. package/dist/commands/direction.js +75 -0
  511. package/dist/commands/direction.js.map +1 -0
  512. package/dist/commands/doctor.d.ts +18 -0
  513. package/dist/commands/doctor.d.ts.map +1 -0
  514. package/dist/commands/doctor.js +364 -0
  515. package/dist/commands/doctor.js.map +1 -0
  516. package/dist/commands/doctor.test.d.ts +8 -0
  517. package/dist/commands/doctor.test.d.ts.map +1 -0
  518. package/dist/commands/doctor.test.js +652 -0
  519. package/dist/commands/doctor.test.js.map +1 -0
  520. package/dist/commands/entryAccept.d.ts +59 -0
  521. package/dist/commands/entryAccept.d.ts.map +1 -0
  522. package/dist/commands/entryAccept.js +288 -0
  523. package/dist/commands/entryAccept.js.map +1 -0
  524. package/dist/commands/entryDiscardResolve.d.ts +9 -0
  525. package/dist/commands/entryDiscardResolve.d.ts.map +1 -0
  526. package/dist/commands/entryDiscardResolve.js +27 -0
  527. package/dist/commands/entryDiscardResolve.js.map +1 -0
  528. package/dist/commands/entryOwn.d.ts +10 -0
  529. package/dist/commands/entryOwn.d.ts.map +1 -0
  530. package/dist/commands/entryOwn.js +40 -0
  531. package/dist/commands/entryOwn.js.map +1 -0
  532. package/dist/commands/entryPreflight.d.ts +8 -0
  533. package/dist/commands/entryPreflight.d.ts.map +1 -0
  534. package/dist/commands/entryPreflight.js +44 -0
  535. package/dist/commands/entryPreflight.js.map +1 -0
  536. package/dist/commands/entryReplace.d.ts +7 -0
  537. package/dist/commands/entryReplace.d.ts.map +1 -0
  538. package/dist/commands/entryReplace.js +34 -0
  539. package/dist/commands/entryReplace.js.map +1 -0
  540. package/dist/commands/entryTick.d.ts +8 -0
  541. package/dist/commands/entryTick.d.ts.map +1 -0
  542. package/dist/commands/entryTick.js +42 -0
  543. package/dist/commands/entryTick.js.map +1 -0
  544. package/dist/commands/feedback.d.ts +39 -0
  545. package/dist/commands/feedback.d.ts.map +1 -0
  546. package/dist/commands/feedback.js +165 -0
  547. package/dist/commands/feedback.js.map +1 -0
  548. package/dist/commands/feedback.test.d.ts +2 -0
  549. package/dist/commands/feedback.test.d.ts.map +1 -0
  550. package/dist/commands/feedback.test.js +109 -0
  551. package/dist/commands/feedback.test.js.map +1 -0
  552. package/dist/commands/fields.d.ts.map +1 -1
  553. package/dist/commands/fields.js +9 -7
  554. package/dist/commands/fields.js.map +1 -1
  555. package/dist/commands/files.d.ts +26 -0
  556. package/dist/commands/files.d.ts.map +1 -0
  557. package/dist/commands/files.js +160 -0
  558. package/dist/commands/files.js.map +1 -0
  559. package/dist/commands/files.test.d.ts +2 -0
  560. package/dist/commands/files.test.d.ts.map +1 -0
  561. package/dist/commands/files.test.js +278 -0
  562. package/dist/commands/files.test.js.map +1 -0
  563. package/dist/commands/get.d.ts.map +1 -1
  564. package/dist/commands/get.js +16 -12
  565. package/dist/commands/get.js.map +1 -1
  566. package/dist/commands/history.d.ts +32 -0
  567. package/dist/commands/history.d.ts.map +1 -0
  568. package/dist/commands/history.js +53 -0
  569. package/dist/commands/history.js.map +1 -0
  570. package/dist/commands/history.test.d.ts +2 -0
  571. package/dist/commands/history.test.d.ts.map +1 -0
  572. package/dist/commands/history.test.js +121 -0
  573. package/dist/commands/history.test.js.map +1 -0
  574. package/dist/commands/init.d.ts +41 -0
  575. package/dist/commands/init.d.ts.map +1 -0
  576. package/dist/commands/init.js +266 -0
  577. package/dist/commands/init.js.map +1 -0
  578. package/dist/commands/login.d.ts +4 -0
  579. package/dist/commands/login.d.ts.map +1 -1
  580. package/dist/commands/login.js +107 -39
  581. package/dist/commands/login.js.map +1 -1
  582. package/dist/commands/method.d.ts +7 -0
  583. package/dist/commands/method.d.ts.map +1 -0
  584. package/dist/commands/method.js +67 -0
  585. package/dist/commands/method.js.map +1 -0
  586. package/dist/commands/organisation.d.ts +12 -0
  587. package/dist/commands/organisation.d.ts.map +1 -0
  588. package/dist/commands/organisation.js +143 -0
  589. package/dist/commands/organisation.js.map +1 -0
  590. package/dist/commands/organisation.test.d.ts +2 -0
  591. package/dist/commands/organisation.test.d.ts.map +1 -0
  592. package/dist/commands/organisation.test.js +116 -0
  593. package/dist/commands/organisation.test.js.map +1 -0
  594. package/dist/commands/organisationHierarchy.d.ts +15 -0
  595. package/dist/commands/organisationHierarchy.d.ts.map +1 -0
  596. package/dist/commands/organisationHierarchy.js +102 -0
  597. package/dist/commands/organisationHierarchy.js.map +1 -0
  598. package/dist/commands/organisationHierarchy.test.d.ts +2 -0
  599. package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
  600. package/dist/commands/organisationHierarchy.test.js +144 -0
  601. package/dist/commands/organisationHierarchy.test.js.map +1 -0
  602. package/dist/commands/organisationWrite.d.ts +20 -0
  603. package/dist/commands/organisationWrite.d.ts.map +1 -0
  604. package/dist/commands/organisationWrite.js +44 -0
  605. package/dist/commands/organisationWrite.js.map +1 -0
  606. package/dist/commands/orient.d.ts +143 -36
  607. package/dist/commands/orient.d.ts.map +1 -1
  608. package/dist/commands/orient.js +240 -18
  609. package/dist/commands/orient.js.map +1 -1
  610. package/dist/commands/outcome.d.ts +96 -0
  611. package/dist/commands/outcome.d.ts.map +1 -0
  612. package/dist/commands/outcome.js +194 -0
  613. package/dist/commands/outcome.js.map +1 -0
  614. package/dist/commands/outcome.test.d.ts +2 -0
  615. package/dist/commands/outcome.test.d.ts.map +1 -0
  616. package/dist/commands/outcome.test.js +326 -0
  617. package/dist/commands/outcome.test.js.map +1 -0
  618. package/dist/commands/people.d.ts +6 -0
  619. package/dist/commands/people.d.ts.map +1 -0
  620. package/dist/commands/people.js +21 -0
  621. package/dist/commands/people.js.map +1 -0
  622. package/dist/commands/people.test.d.ts +2 -0
  623. package/dist/commands/people.test.d.ts.map +1 -0
  624. package/dist/commands/people.test.js +61 -0
  625. package/dist/commands/people.test.js.map +1 -0
  626. package/dist/commands/profile.d.ts +72 -0
  627. package/dist/commands/profile.d.ts.map +1 -0
  628. package/dist/commands/profile.js +351 -0
  629. package/dist/commands/profile.js.map +1 -0
  630. package/dist/commands/proof-run.d.ts +51 -0
  631. package/dist/commands/proof-run.d.ts.map +1 -0
  632. package/dist/commands/proof-run.js +209 -0
  633. package/dist/commands/proof-run.js.map +1 -0
  634. package/dist/commands/quality.d.ts +38 -0
  635. package/dist/commands/quality.d.ts.map +1 -0
  636. package/dist/commands/quality.js +99 -0
  637. package/dist/commands/quality.js.map +1 -0
  638. package/dist/commands/questions.d.ts +27 -0
  639. package/dist/commands/questions.d.ts.map +1 -0
  640. package/dist/commands/questions.js +261 -0
  641. package/dist/commands/questions.js.map +1 -0
  642. package/dist/commands/questions.test.d.ts +2 -0
  643. package/dist/commands/questions.test.d.ts.map +1 -0
  644. package/dist/commands/questions.test.js +238 -0
  645. package/dist/commands/questions.test.js.map +1 -0
  646. package/dist/commands/relate.d.ts +10 -0
  647. package/dist/commands/relate.d.ts.map +1 -1
  648. package/dist/commands/relate.js +149 -23
  649. package/dist/commands/relate.js.map +1 -1
  650. package/dist/commands/restore.d.ts +2 -0
  651. package/dist/commands/restore.d.ts.map +1 -0
  652. package/dist/commands/restore.js +88 -0
  653. package/dist/commands/restore.js.map +1 -0
  654. package/dist/commands/rework.d.ts +24 -0
  655. package/dist/commands/rework.d.ts.map +1 -0
  656. package/dist/commands/rework.js +96 -0
  657. package/dist/commands/rework.js.map +1 -0
  658. package/dist/commands/role.d.ts +90 -0
  659. package/dist/commands/role.d.ts.map +1 -0
  660. package/dist/commands/role.js +172 -0
  661. package/dist/commands/role.js.map +1 -0
  662. package/dist/commands/role.test.d.ts +2 -0
  663. package/dist/commands/role.test.d.ts.map +1 -0
  664. package/dist/commands/role.test.js +345 -0
  665. package/dist/commands/role.test.js.map +1 -0
  666. package/dist/commands/scoreboard.d.ts +23 -0
  667. package/dist/commands/scoreboard.d.ts.map +1 -0
  668. package/dist/commands/scoreboard.js +33 -0
  669. package/dist/commands/scoreboard.js.map +1 -0
  670. package/dist/commands/scoreboard.test.d.ts +2 -0
  671. package/dist/commands/scoreboard.test.d.ts.map +1 -0
  672. package/dist/commands/scoreboard.test.js +51 -0
  673. package/dist/commands/scoreboard.test.js.map +1 -0
  674. package/dist/commands/search.d.ts +2 -1
  675. package/dist/commands/search.d.ts.map +1 -1
  676. package/dist/commands/search.js +7 -8
  677. package/dist/commands/search.js.map +1 -1
  678. package/dist/commands/session-hook.d.ts +38 -0
  679. package/dist/commands/session-hook.d.ts.map +1 -0
  680. package/dist/commands/session-hook.js +97 -0
  681. package/dist/commands/session-hook.js.map +1 -0
  682. package/dist/commands/session-hook.test.d.ts +2 -0
  683. package/dist/commands/session-hook.test.d.ts.map +1 -0
  684. package/dist/commands/session-hook.test.js +89 -0
  685. package/dist/commands/session-hook.test.js.map +1 -0
  686. package/dist/commands/session.d.ts +64 -7
  687. package/dist/commands/session.d.ts.map +1 -1
  688. package/dist/commands/session.js +470 -78
  689. package/dist/commands/session.js.map +1 -1
  690. package/dist/commands/status.d.ts +7 -0
  691. package/dist/commands/status.d.ts.map +1 -0
  692. package/dist/commands/status.js +101 -0
  693. package/dist/commands/status.js.map +1 -0
  694. package/dist/commands/status.test.d.ts +2 -0
  695. package/dist/commands/status.test.d.ts.map +1 -0
  696. package/dist/commands/status.test.js +75 -0
  697. package/dist/commands/status.test.js.map +1 -0
  698. package/dist/commands/stillTrue.d.ts +14 -0
  699. package/dist/commands/stillTrue.d.ts.map +1 -0
  700. package/dist/commands/stillTrue.js +47 -0
  701. package/dist/commands/stillTrue.js.map +1 -0
  702. package/dist/commands/tasksList.d.ts +12 -0
  703. package/dist/commands/tasksList.d.ts.map +1 -0
  704. package/dist/commands/tasksList.js +45 -0
  705. package/dist/commands/tasksList.js.map +1 -0
  706. package/dist/commands/tensionsList.d.ts +5 -0
  707. package/dist/commands/tensionsList.d.ts.map +1 -0
  708. package/dist/commands/tensionsList.js +25 -0
  709. package/dist/commands/tensionsList.js.map +1 -0
  710. package/dist/commands/update.d.ts +24 -0
  711. package/dist/commands/update.d.ts.map +1 -1
  712. package/dist/commands/update.js +241 -51
  713. package/dist/commands/update.js.map +1 -1
  714. package/dist/commands/upgrade.d.ts +5 -0
  715. package/dist/commands/upgrade.d.ts.map +1 -0
  716. package/dist/commands/upgrade.js +110 -0
  717. package/dist/commands/upgrade.js.map +1 -0
  718. package/dist/commands/usage.d.ts +40 -0
  719. package/dist/commands/usage.d.ts.map +1 -0
  720. package/dist/commands/usage.js +214 -0
  721. package/dist/commands/usage.js.map +1 -0
  722. package/dist/commands/verify.d.ts.map +1 -1
  723. package/dist/commands/verify.js +20 -10
  724. package/dist/commands/verify.js.map +1 -1
  725. package/dist/commands/welcome.d.ts +21 -0
  726. package/dist/commands/welcome.d.ts.map +1 -0
  727. package/dist/commands/welcome.js +54 -0
  728. package/dist/commands/welcome.js.map +1 -0
  729. package/dist/commands/whoami.d.ts +23 -0
  730. package/dist/commands/whoami.d.ts.map +1 -0
  731. package/dist/commands/whoami.js +132 -0
  732. package/dist/commands/whoami.js.map +1 -0
  733. package/dist/commands/whoami.test.d.ts +2 -0
  734. package/dist/commands/whoami.test.d.ts.map +1 -0
  735. package/dist/commands/whoami.test.js +145 -0
  736. package/dist/commands/whoami.test.js.map +1 -0
  737. package/dist/commands/workspace.d.ts +46 -0
  738. package/dist/commands/workspace.d.ts.map +1 -0
  739. package/dist/commands/workspace.js +198 -0
  740. package/dist/commands/workspace.js.map +1 -0
  741. package/dist/formatters/__tests__/orient-openTasks.test.d.ts +2 -0
  742. package/dist/formatters/__tests__/orient-openTasks.test.d.ts.map +1 -0
  743. package/dist/formatters/__tests__/orient-openTasks.test.js +77 -0
  744. package/dist/formatters/__tests__/orient-openTasks.test.js.map +1 -0
  745. package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts +2 -0
  746. package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts.map +1 -0
  747. package/dist/formatters/__tests__/orient-plannedWorkCut.test.js +38 -0
  748. package/dist/formatters/__tests__/orient-plannedWorkCut.test.js.map +1 -0
  749. package/dist/formatters/__tests__/orient-provenance.test.d.ts +6 -0
  750. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
  751. package/dist/formatters/__tests__/orient-provenance.test.js +312 -0
  752. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
  753. package/dist/formatters/__tests__/orient-ruleLists.test.d.ts +2 -0
  754. package/dist/formatters/__tests__/orient-ruleLists.test.d.ts.map +1 -0
  755. package/dist/formatters/__tests__/orient-ruleLists.test.js +93 -0
  756. package/dist/formatters/__tests__/orient-ruleLists.test.js.map +1 -0
  757. package/dist/formatters/__tests__/orient-workPackageList.test.d.ts +2 -0
  758. package/dist/formatters/__tests__/orient-workPackageList.test.d.ts.map +1 -0
  759. package/dist/formatters/__tests__/orient-workPackageList.test.js +69 -0
  760. package/dist/formatters/__tests__/orient-workPackageList.test.js.map +1 -0
  761. package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
  762. package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
  763. package/dist/formatters/__tests__/session-list-show.test.js +195 -0
  764. package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
  765. package/dist/formatters/__tests__/session.test.d.ts +2 -0
  766. package/dist/formatters/__tests__/session.test.d.ts.map +1 -0
  767. package/dist/formatters/__tests__/session.test.js +273 -0
  768. package/dist/formatters/__tests__/session.test.js.map +1 -0
  769. package/dist/formatters/__tests__/tensionsList.test.d.ts +2 -0
  770. package/dist/formatters/__tests__/tensionsList.test.d.ts.map +1 -0
  771. package/dist/formatters/__tests__/tensionsList.test.js +30 -0
  772. package/dist/formatters/__tests__/tensionsList.test.js.map +1 -0
  773. package/dist/formatters/brief.d.ts +7 -15
  774. package/dist/formatters/brief.d.ts.map +1 -1
  775. package/dist/formatters/brief.js +18 -15
  776. package/dist/formatters/brief.js.map +1 -1
  777. package/dist/formatters/brief.test.d.ts +2 -0
  778. package/dist/formatters/brief.test.d.ts.map +1 -0
  779. package/dist/formatters/brief.test.js +33 -0
  780. package/dist/formatters/brief.test.js.map +1 -0
  781. package/dist/formatters/capture.d.ts +38 -6
  782. package/dist/formatters/capture.d.ts.map +1 -1
  783. package/dist/formatters/capture.js +58 -9
  784. package/dist/formatters/capture.js.map +1 -1
  785. package/dist/formatters/coaching.d.ts +59 -0
  786. package/dist/formatters/coaching.d.ts.map +1 -0
  787. package/dist/formatters/coaching.js +51 -0
  788. package/dist/formatters/coaching.js.map +1 -0
  789. package/dist/formatters/collections.d.ts +39 -0
  790. package/dist/formatters/collections.d.ts.map +1 -0
  791. package/dist/formatters/collections.js +102 -0
  792. package/dist/formatters/collections.js.map +1 -0
  793. package/dist/formatters/conflicts.d.ts +81 -0
  794. package/dist/formatters/conflicts.d.ts.map +1 -0
  795. package/dist/formatters/conflicts.js +102 -0
  796. package/dist/formatters/conflicts.js.map +1 -0
  797. package/dist/formatters/conflicts.test.d.ts +2 -0
  798. package/dist/formatters/conflicts.test.d.ts.map +1 -0
  799. package/dist/formatters/conflicts.test.js +179 -0
  800. package/dist/formatters/conflicts.test.js.map +1 -0
  801. package/dist/formatters/constellation.d.ts +2 -0
  802. package/dist/formatters/constellation.d.ts.map +1 -1
  803. package/dist/formatters/constellation.js +2 -0
  804. package/dist/formatters/constellation.js.map +1 -1
  805. package/dist/formatters/context.d.ts +1 -1
  806. package/dist/formatters/context.d.ts.map +1 -1
  807. package/dist/formatters/context.js.map +1 -1
  808. package/dist/formatters/direction.d.ts +48 -0
  809. package/dist/formatters/direction.d.ts.map +1 -0
  810. package/dist/formatters/direction.js +75 -0
  811. package/dist/formatters/direction.js.map +1 -0
  812. package/dist/formatters/direction.test.d.ts +2 -0
  813. package/dist/formatters/direction.test.d.ts.map +1 -0
  814. package/dist/formatters/direction.test.js +70 -0
  815. package/dist/formatters/direction.test.js.map +1 -0
  816. package/dist/formatters/entry.d.ts +102 -5
  817. package/dist/formatters/entry.d.ts.map +1 -1
  818. package/dist/formatters/entry.js +139 -15
  819. package/dist/formatters/entry.js.map +1 -1
  820. package/dist/formatters/entryAccept.d.ts +86 -0
  821. package/dist/formatters/entryAccept.d.ts.map +1 -0
  822. package/dist/formatters/entryAccept.js +78 -0
  823. package/dist/formatters/entryAccept.js.map +1 -0
  824. package/dist/formatters/feedback.d.ts +61 -0
  825. package/dist/formatters/feedback.d.ts.map +1 -0
  826. package/dist/formatters/feedback.js +95 -0
  827. package/dist/formatters/feedback.js.map +1 -0
  828. package/dist/formatters/feedback.test.d.ts +2 -0
  829. package/dist/formatters/feedback.test.d.ts.map +1 -0
  830. package/dist/formatters/feedback.test.js +142 -0
  831. package/dist/formatters/feedback.test.js.map +1 -0
  832. package/dist/formatters/fields.d.ts +7 -1
  833. package/dist/formatters/fields.d.ts.map +1 -1
  834. package/dist/formatters/fields.js +9 -3
  835. package/dist/formatters/fields.js.map +1 -1
  836. package/dist/formatters/fields.test.d.ts +2 -0
  837. package/dist/formatters/fields.test.d.ts.map +1 -0
  838. package/dist/formatters/fields.test.js +42 -0
  839. package/dist/formatters/fields.test.js.map +1 -0
  840. package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
  841. package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
  842. package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
  843. package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
  844. package/dist/formatters/orient.d.ts +190 -42
  845. package/dist/formatters/orient.d.ts.map +1 -1
  846. package/dist/formatters/orient.js +294 -102
  847. package/dist/formatters/orient.js.map +1 -1
  848. package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
  849. package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
  850. package/dist/formatters/orient.rcrtMiss.test.js +75 -0
  851. package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
  852. package/dist/formatters/orient.rituals.test.d.ts +2 -0
  853. package/dist/formatters/orient.rituals.test.d.ts.map +1 -0
  854. package/dist/formatters/orient.rituals.test.js +70 -0
  855. package/dist/formatters/orient.rituals.test.js.map +1 -0
  856. package/dist/formatters/orient.taskAlignment.test.d.ts +2 -0
  857. package/dist/formatters/orient.taskAlignment.test.d.ts.map +1 -0
  858. package/dist/formatters/orient.taskAlignment.test.js +52 -0
  859. package/dist/formatters/orient.taskAlignment.test.js.map +1 -0
  860. package/dist/formatters/orientDegradation.d.ts +35 -0
  861. package/dist/formatters/orientDegradation.d.ts.map +1 -0
  862. package/dist/formatters/orientDegradation.js +47 -0
  863. package/dist/formatters/orientDegradation.js.map +1 -0
  864. package/dist/formatters/orientDegradation.test.d.ts +2 -0
  865. package/dist/formatters/orientDegradation.test.d.ts.map +1 -0
  866. package/dist/formatters/orientDegradation.test.js +26 -0
  867. package/dist/formatters/orientDegradation.test.js.map +1 -0
  868. package/dist/formatters/orientDirection.d.ts +25 -0
  869. package/dist/formatters/orientDirection.d.ts.map +1 -0
  870. package/dist/formatters/orientDirection.js +7 -0
  871. package/dist/formatters/orientDirection.js.map +1 -0
  872. package/dist/formatters/orientDirection.test.d.ts +2 -0
  873. package/dist/formatters/orientDirection.test.d.ts.map +1 -0
  874. package/dist/formatters/orientDirection.test.js +66 -0
  875. package/dist/formatters/orientDirection.test.js.map +1 -0
  876. package/dist/formatters/orientRetrievalMiss.d.ts +22 -0
  877. package/dist/formatters/orientRetrievalMiss.d.ts.map +1 -0
  878. package/dist/formatters/orientRetrievalMiss.js +17 -0
  879. package/dist/formatters/orientRetrievalMiss.js.map +1 -0
  880. package/dist/formatters/plannedWorkCounts.d.ts +16 -0
  881. package/dist/formatters/plannedWorkCounts.d.ts.map +1 -0
  882. package/dist/formatters/plannedWorkCounts.js +15 -0
  883. package/dist/formatters/plannedWorkCounts.js.map +1 -0
  884. package/dist/formatters/qualityChecks.d.ts +21 -0
  885. package/dist/formatters/qualityChecks.d.ts.map +1 -0
  886. package/dist/formatters/qualityChecks.js +132 -0
  887. package/dist/formatters/qualityChecks.js.map +1 -0
  888. package/dist/formatters/questions.d.ts +90 -0
  889. package/dist/formatters/questions.d.ts.map +1 -0
  890. package/dist/formatters/questions.js +126 -0
  891. package/dist/formatters/questions.js.map +1 -0
  892. package/dist/formatters/questions.test.d.ts +2 -0
  893. package/dist/formatters/questions.test.d.ts.map +1 -0
  894. package/dist/formatters/questions.test.js +176 -0
  895. package/dist/formatters/questions.test.js.map +1 -0
  896. package/dist/formatters/relate.d.ts +13 -0
  897. package/dist/formatters/relate.d.ts.map +1 -1
  898. package/dist/formatters/relate.js +15 -2
  899. package/dist/formatters/relate.js.map +1 -1
  900. package/dist/formatters/relate.test.d.ts +2 -0
  901. package/dist/formatters/relate.test.d.ts.map +1 -0
  902. package/dist/formatters/relate.test.js +91 -0
  903. package/dist/formatters/relate.test.js.map +1 -0
  904. package/dist/formatters/scoreboard.d.ts +11 -0
  905. package/dist/formatters/scoreboard.d.ts.map +1 -0
  906. package/dist/formatters/scoreboard.js +143 -0
  907. package/dist/formatters/scoreboard.js.map +1 -0
  908. package/dist/formatters/scoreboard.test.d.ts +2 -0
  909. package/dist/formatters/scoreboard.test.d.ts.map +1 -0
  910. package/dist/formatters/scoreboard.test.js +262 -0
  911. package/dist/formatters/scoreboard.test.js.map +1 -0
  912. package/dist/formatters/search.d.ts +24 -4
  913. package/dist/formatters/search.d.ts.map +1 -1
  914. package/dist/formatters/search.js +28 -10
  915. package/dist/formatters/search.js.map +1 -1
  916. package/dist/formatters/search.test.d.ts +2 -0
  917. package/dist/formatters/search.test.d.ts.map +1 -0
  918. package/dist/formatters/search.test.js +86 -0
  919. package/dist/formatters/search.test.js.map +1 -0
  920. package/dist/formatters/session-feedback.test.d.ts +2 -0
  921. package/dist/formatters/session-feedback.test.d.ts.map +1 -0
  922. package/dist/formatters/session-feedback.test.js +274 -0
  923. package/dist/formatters/session-feedback.test.js.map +1 -0
  924. package/dist/formatters/session.d.ts +135 -5
  925. package/dist/formatters/session.d.ts.map +1 -1
  926. package/dist/formatters/session.js +345 -21
  927. package/dist/formatters/session.js.map +1 -1
  928. package/dist/formatters/spineCheck.d.ts +14 -0
  929. package/dist/formatters/spineCheck.d.ts.map +1 -0
  930. package/dist/formatters/spineCheck.js +128 -0
  931. package/dist/formatters/spineCheck.js.map +1 -0
  932. package/dist/formatters/spineCheck.test.d.ts +2 -0
  933. package/dist/formatters/spineCheck.test.d.ts.map +1 -0
  934. package/dist/formatters/spineCheck.test.js +85 -0
  935. package/dist/formatters/spineCheck.test.js.map +1 -0
  936. package/dist/formatters/tensionsList.d.ts +17 -0
  937. package/dist/formatters/tensionsList.d.ts.map +1 -0
  938. package/dist/formatters/tensionsList.js +33 -0
  939. package/dist/formatters/tensionsList.js.map +1 -0
  940. package/dist/formatters/update.d.ts +26 -0
  941. package/dist/formatters/update.d.ts.map +1 -1
  942. package/dist/formatters/update.js +40 -6
  943. package/dist/formatters/update.js.map +1 -1
  944. package/dist/formatters/update.test.d.ts +2 -0
  945. package/dist/formatters/update.test.d.ts.map +1 -0
  946. package/dist/formatters/update.test.js +71 -0
  947. package/dist/formatters/update.test.js.map +1 -0
  948. package/dist/formatters/verify.d.ts +12 -4
  949. package/dist/formatters/verify.d.ts.map +1 -1
  950. package/dist/formatters/verify.js +20 -2
  951. package/dist/formatters/verify.js.map +1 -1
  952. package/dist/generated/healthGapKinds.generated.d.ts +12 -0
  953. package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
  954. package/dist/generated/healthGapKinds.generated.js +16 -0
  955. package/dist/generated/healthGapKinds.generated.js.map +1 -0
  956. package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts +12 -0
  957. package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts.map +1 -0
  958. package/dist/generated/organisationalAuthorityRefusalCodes.generated.js +11 -0
  959. package/dist/generated/organisationalAuthorityRefusalCodes.generated.js.map +1 -0
  960. package/dist/generated/routeLatencyBudget.generated.d.ts +54 -0
  961. package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
  962. package/dist/generated/routeLatencyBudget.generated.js +255 -0
  963. package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
  964. package/dist/handleCliError.d.ts +30 -0
  965. package/dist/handleCliError.d.ts.map +1 -0
  966. package/dist/handleCliError.js +91 -0
  967. package/dist/handleCliError.js.map +1 -0
  968. package/dist/index.d.ts +0 -5
  969. package/dist/index.d.ts.map +1 -1
  970. package/dist/index.js +404 -355
  971. package/dist/index.js.map +1 -1
  972. package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
  973. package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
  974. package/dist/lib/__tests__/parseFields.test.js +40 -0
  975. package/dist/lib/__tests__/parseFields.test.js.map +1 -0
  976. package/dist/lib/adminConfig.d.ts +48 -0
  977. package/dist/lib/adminConfig.d.ts.map +1 -0
  978. package/dist/lib/adminConfig.js +126 -0
  979. package/dist/lib/adminConfig.js.map +1 -0
  980. package/dist/lib/canonicalRefs.d.ts +155 -0
  981. package/dist/lib/canonicalRefs.d.ts.map +1 -0
  982. package/dist/lib/canonicalRefs.js +131 -0
  983. package/dist/lib/canonicalRefs.js.map +1 -0
  984. package/dist/lib/captureLink.d.ts +7 -0
  985. package/dist/lib/captureLink.d.ts.map +1 -0
  986. package/dist/lib/captureLink.js +29 -0
  987. package/dist/lib/captureLink.js.map +1 -0
  988. package/dist/lib/checklist.d.ts +151 -0
  989. package/dist/lib/checklist.d.ts.map +1 -0
  990. package/dist/lib/checklist.js +235 -0
  991. package/dist/lib/checklist.js.map +1 -0
  992. package/dist/lib/cliFirstRun.d.ts +36 -0
  993. package/dist/lib/cliFirstRun.d.ts.map +1 -0
  994. package/dist/lib/cliFirstRun.js +36 -0
  995. package/dist/lib/cliFirstRun.js.map +1 -0
  996. package/dist/lib/client.d.ts +58 -28
  997. package/dist/lib/client.d.ts.map +1 -1
  998. package/dist/lib/client.js +361 -62
  999. package/dist/lib/client.js.map +1 -1
  1000. package/dist/lib/compose-wrapup-view.d.ts +66 -0
  1001. package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
  1002. package/dist/lib/compose-wrapup-view.js +39 -0
  1003. package/dist/lib/compose-wrapup-view.js.map +1 -0
  1004. package/dist/lib/config.d.ts +147 -6
  1005. package/dist/lib/config.d.ts.map +1 -1
  1006. package/dist/lib/config.js +377 -73
  1007. package/dist/lib/config.js.map +1 -1
  1008. package/dist/lib/configResult.d.ts +110 -0
  1009. package/dist/lib/configResult.d.ts.map +1 -0
  1010. package/dist/lib/configResult.js +189 -0
  1011. package/dist/lib/configResult.js.map +1 -0
  1012. package/dist/lib/conflictResolution.d.ts +37 -0
  1013. package/dist/lib/conflictResolution.d.ts.map +1 -0
  1014. package/dist/lib/conflictResolution.js +29 -0
  1015. package/dist/lib/conflictResolution.js.map +1 -0
  1016. package/dist/lib/connectKeyLabel.d.ts +9 -0
  1017. package/dist/lib/connectKeyLabel.d.ts.map +1 -0
  1018. package/dist/lib/connectKeyLabel.js +12 -0
  1019. package/dist/lib/connectKeyLabel.js.map +1 -0
  1020. package/dist/lib/connectProfileName.d.ts +36 -0
  1021. package/dist/lib/connectProfileName.d.ts.map +1 -0
  1022. package/dist/lib/connectProfileName.js +72 -0
  1023. package/dist/lib/connectProfileName.js.map +1 -0
  1024. package/dist/lib/connectProfileName.test.d.ts +2 -0
  1025. package/dist/lib/connectProfileName.test.d.ts.map +1 -0
  1026. package/dist/lib/connectProfileName.test.js +100 -0
  1027. package/dist/lib/connectProfileName.test.js.map +1 -0
  1028. package/dist/lib/constants.d.ts +51 -0
  1029. package/dist/lib/constants.d.ts.map +1 -0
  1030. package/dist/lib/constants.js +90 -0
  1031. package/dist/lib/constants.js.map +1 -0
  1032. package/dist/lib/conversation.d.ts +48 -0
  1033. package/dist/lib/conversation.d.ts.map +1 -0
  1034. package/dist/lib/conversation.js +136 -0
  1035. package/dist/lib/conversation.js.map +1 -0
  1036. package/dist/lib/createEntryResult.d.ts +34 -0
  1037. package/dist/lib/createEntryResult.d.ts.map +1 -0
  1038. package/dist/lib/createEntryResult.js +12 -0
  1039. package/dist/lib/createEntryResult.js.map +1 -0
  1040. package/dist/lib/deployment.d.ts +23 -0
  1041. package/dist/lib/deployment.d.ts.map +1 -0
  1042. package/dist/lib/deployment.js +78 -0
  1043. package/dist/lib/deployment.js.map +1 -0
  1044. package/dist/lib/deployment.test.d.ts +5 -0
  1045. package/dist/lib/deployment.test.d.ts.map +1 -0
  1046. package/dist/lib/deployment.test.js +73 -0
  1047. package/dist/lib/deployment.test.js.map +1 -0
  1048. package/dist/lib/envKeySnapshot.d.ts +10 -0
  1049. package/dist/lib/envKeySnapshot.d.ts.map +1 -0
  1050. package/dist/lib/envKeySnapshot.js +30 -0
  1051. package/dist/lib/envKeySnapshot.js.map +1 -0
  1052. package/dist/lib/errors.d.ts +153 -0
  1053. package/dist/lib/errors.d.ts.map +1 -0
  1054. package/dist/lib/errors.js +158 -0
  1055. package/dist/lib/errors.js.map +1 -0
  1056. package/dist/lib/format.d.ts +10 -0
  1057. package/dist/lib/format.d.ts.map +1 -0
  1058. package/dist/lib/format.js +27 -0
  1059. package/dist/lib/format.js.map +1 -0
  1060. package/dist/lib/gatewayTimeout.d.ts +88 -0
  1061. package/dist/lib/gatewayTimeout.d.ts.map +1 -0
  1062. package/dist/lib/gatewayTimeout.js +124 -0
  1063. package/dist/lib/gatewayTimeout.js.map +1 -0
  1064. package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
  1065. package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
  1066. package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
  1067. package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
  1068. package/dist/lib/glossary.d.ts +7 -0
  1069. package/dist/lib/glossary.d.ts.map +1 -0
  1070. package/dist/lib/glossary.js +12 -0
  1071. package/dist/lib/glossary.js.map +1 -0
  1072. package/dist/lib/judgeWait.d.ts +50 -0
  1073. package/dist/lib/judgeWait.d.ts.map +1 -0
  1074. package/dist/lib/judgeWait.js +64 -0
  1075. package/dist/lib/judgeWait.js.map +1 -0
  1076. package/dist/lib/kernelEnvelope.d.ts +61 -0
  1077. package/dist/lib/kernelEnvelope.d.ts.map +1 -0
  1078. package/dist/lib/kernelEnvelope.js +98 -0
  1079. package/dist/lib/kernelEnvelope.js.map +1 -0
  1080. package/dist/lib/keyResultLines.d.ts +27 -0
  1081. package/dist/lib/keyResultLines.d.ts.map +1 -0
  1082. package/dist/lib/keyResultLines.js +32 -0
  1083. package/dist/lib/keyResultLines.js.map +1 -0
  1084. package/dist/lib/limits.d.ts +88 -0
  1085. package/dist/lib/limits.d.ts.map +1 -0
  1086. package/dist/lib/limits.js +141 -0
  1087. package/dist/lib/limits.js.map +1 -0
  1088. package/dist/lib/localBinding.d.ts +86 -0
  1089. package/dist/lib/localBinding.d.ts.map +1 -0
  1090. package/dist/lib/localBinding.js +173 -0
  1091. package/dist/lib/localBinding.js.map +1 -0
  1092. package/dist/lib/nameFromText.d.ts +15 -0
  1093. package/dist/lib/nameFromText.d.ts.map +1 -0
  1094. package/dist/lib/nameFromText.js +36 -0
  1095. package/dist/lib/nameFromText.js.map +1 -0
  1096. package/dist/lib/notice-marker.d.ts +3 -0
  1097. package/dist/lib/notice-marker.d.ts.map +1 -0
  1098. package/dist/lib/notice-marker.js +223 -0
  1099. package/dist/lib/notice-marker.js.map +1 -0
  1100. package/dist/lib/outcomeObjectiveLines.d.ts +34 -0
  1101. package/dist/lib/outcomeObjectiveLines.d.ts.map +1 -0
  1102. package/dist/lib/outcomeObjectiveLines.js +30 -0
  1103. package/dist/lib/outcomeObjectiveLines.js.map +1 -0
  1104. package/dist/lib/ownerLine.d.ts +90 -0
  1105. package/dist/lib/ownerLine.d.ts.map +1 -0
  1106. package/dist/lib/ownerLine.js +77 -0
  1107. package/dist/lib/ownerLine.js.map +1 -0
  1108. package/dist/lib/parseFields.d.ts +19 -0
  1109. package/dist/lib/parseFields.d.ts.map +1 -0
  1110. package/dist/lib/parseFields.js +49 -0
  1111. package/dist/lib/parseFields.js.map +1 -0
  1112. package/dist/lib/pinnedRole.d.ts +29 -0
  1113. package/dist/lib/pinnedRole.d.ts.map +1 -0
  1114. package/dist/lib/pinnedRole.js +115 -0
  1115. package/dist/lib/pinnedRole.js.map +1 -0
  1116. package/dist/lib/platformGlossary.d.ts +22 -0
  1117. package/dist/lib/platformGlossary.d.ts.map +1 -0
  1118. package/dist/lib/platformGlossary.js +26 -0
  1119. package/dist/lib/platformGlossary.js.map +1 -0
  1120. package/dist/lib/previewBanner.d.ts +9 -0
  1121. package/dist/lib/previewBanner.d.ts.map +1 -0
  1122. package/dist/lib/previewBanner.js +36 -0
  1123. package/dist/lib/previewBanner.js.map +1 -0
  1124. package/dist/lib/priority.d.ts +64 -0
  1125. package/dist/lib/priority.d.ts.map +1 -0
  1126. package/dist/lib/priority.js +31 -0
  1127. package/dist/lib/priority.js.map +1 -0
  1128. package/dist/lib/privateFile.d.ts +13 -0
  1129. package/dist/lib/privateFile.d.ts.map +1 -0
  1130. package/dist/lib/privateFile.js +65 -0
  1131. package/dist/lib/privateFile.js.map +1 -0
  1132. package/dist/lib/privateFile.test.d.ts +2 -0
  1133. package/dist/lib/privateFile.test.d.ts.map +1 -0
  1134. package/dist/lib/privateFile.test.js +76 -0
  1135. package/dist/lib/privateFile.test.js.map +1 -0
  1136. package/dist/lib/productbrain-files.d.ts +108 -0
  1137. package/dist/lib/productbrain-files.d.ts.map +1 -0
  1138. package/dist/lib/productbrain-files.js +240 -0
  1139. package/dist/lib/productbrain-files.js.map +1 -0
  1140. package/dist/lib/productbrain-files.test.d.ts +2 -0
  1141. package/dist/lib/productbrain-files.test.d.ts.map +1 -0
  1142. package/dist/lib/productbrain-files.test.js +518 -0
  1143. package/dist/lib/productbrain-files.test.js.map +1 -0
  1144. package/dist/lib/profiles.d.ts +89 -0
  1145. package/dist/lib/profiles.d.ts.map +1 -0
  1146. package/dist/lib/profiles.js +240 -0
  1147. package/dist/lib/profiles.js.map +1 -0
  1148. package/dist/lib/projectConfig.d.ts +130 -0
  1149. package/dist/lib/projectConfig.d.ts.map +1 -0
  1150. package/dist/lib/projectConfig.js +252 -0
  1151. package/dist/lib/projectConfig.js.map +1 -0
  1152. package/dist/lib/prompts.d.ts +67 -0
  1153. package/dist/lib/prompts.d.ts.map +1 -0
  1154. package/dist/lib/prompts.js +134 -0
  1155. package/dist/lib/prompts.js.map +1 -0
  1156. package/dist/lib/proseBody.d.ts +14 -0
  1157. package/dist/lib/proseBody.d.ts.map +1 -0
  1158. package/dist/lib/proseBody.js +25 -0
  1159. package/dist/lib/proseBody.js.map +1 -0
  1160. package/dist/lib/rate-limit.d.ts +40 -0
  1161. package/dist/lib/rate-limit.d.ts.map +1 -0
  1162. package/dist/lib/rate-limit.js +89 -0
  1163. package/dist/lib/rate-limit.js.map +1 -0
  1164. package/dist/lib/readinessNotices.d.ts +2 -0
  1165. package/dist/lib/readinessNotices.d.ts.map +1 -0
  1166. package/dist/lib/readinessNotices.js +12 -0
  1167. package/dist/lib/readinessNotices.js.map +1 -0
  1168. package/dist/lib/reportedProfile.d.ts +18 -0
  1169. package/dist/lib/reportedProfile.d.ts.map +1 -0
  1170. package/dist/lib/reportedProfile.js +148 -0
  1171. package/dist/lib/reportedProfile.js.map +1 -0
  1172. package/dist/lib/restsOn.d.ts +33 -0
  1173. package/dist/lib/restsOn.d.ts.map +1 -0
  1174. package/dist/lib/restsOn.js +34 -0
  1175. package/dist/lib/restsOn.js.map +1 -0
  1176. package/dist/lib/routeCommandWords.d.ts +13 -0
  1177. package/dist/lib/routeCommandWords.d.ts.map +1 -0
  1178. package/dist/lib/routeCommandWords.js +27 -0
  1179. package/dist/lib/routeCommandWords.js.map +1 -0
  1180. package/dist/lib/ruleListRender.d.ts +315 -0
  1181. package/dist/lib/ruleListRender.d.ts.map +1 -0
  1182. package/dist/lib/ruleListRender.js +386 -0
  1183. package/dist/lib/ruleListRender.js.map +1 -0
  1184. package/dist/lib/runner.d.ts +11 -1
  1185. package/dist/lib/runner.d.ts.map +1 -1
  1186. package/dist/lib/runner.js +51 -11
  1187. package/dist/lib/runner.js.map +1 -1
  1188. package/dist/lib/seatRoster.d.ts +65 -0
  1189. package/dist/lib/seatRoster.d.ts.map +1 -0
  1190. package/dist/lib/seatRoster.js +41 -0
  1191. package/dist/lib/seatRoster.js.map +1 -0
  1192. package/dist/lib/seatSentence.d.ts +196 -0
  1193. package/dist/lib/seatSentence.d.ts.map +1 -0
  1194. package/dist/lib/seatSentence.js +214 -0
  1195. package/dist/lib/seatSentence.js.map +1 -0
  1196. package/dist/lib/session.d.ts +111 -4
  1197. package/dist/lib/session.d.ts.map +1 -1
  1198. package/dist/lib/session.js +318 -13
  1199. package/dist/lib/session.js.map +1 -1
  1200. package/dist/lib/sessionBinding.d.ts +62 -0
  1201. package/dist/lib/sessionBinding.d.ts.map +1 -0
  1202. package/dist/lib/sessionBinding.js +126 -0
  1203. package/dist/lib/sessionBinding.js.map +1 -0
  1204. package/dist/lib/sessionNotices.d.ts +52 -0
  1205. package/dist/lib/sessionNotices.d.ts.map +1 -0
  1206. package/dist/lib/sessionNotices.js +124 -0
  1207. package/dist/lib/sessionNotices.js.map +1 -0
  1208. package/dist/lib/sessionNotices.test.d.ts +2 -0
  1209. package/dist/lib/sessionNotices.test.d.ts.map +1 -0
  1210. package/dist/lib/sessionNotices.test.js +53 -0
  1211. package/dist/lib/sessionNotices.test.js.map +1 -0
  1212. package/dist/lib/sessionOpen.d.ts +26 -0
  1213. package/dist/lib/sessionOpen.d.ts.map +1 -0
  1214. package/dist/lib/sessionOpen.js +56 -0
  1215. package/dist/lib/sessionOpen.js.map +1 -0
  1216. package/dist/lib/sessionStartCommands.d.ts +5 -0
  1217. package/dist/lib/sessionStartCommands.d.ts.map +1 -0
  1218. package/dist/lib/sessionStartCommands.js +12 -0
  1219. package/dist/lib/sessionStartCommands.js.map +1 -0
  1220. package/dist/lib/sessionStartWords.d.ts +18 -0
  1221. package/dist/lib/sessionStartWords.d.ts.map +1 -0
  1222. package/dist/lib/sessionStartWords.js +34 -0
  1223. package/dist/lib/sessionStartWords.js.map +1 -0
  1224. package/dist/lib/spineRungs.d.ts +44 -0
  1225. package/dist/lib/spineRungs.d.ts.map +1 -0
  1226. package/dist/lib/spineRungs.js +19 -0
  1227. package/dist/lib/spineRungs.js.map +1 -0
  1228. package/dist/lib/spineVerdictRead.d.ts +76 -0
  1229. package/dist/lib/spineVerdictRead.d.ts.map +1 -0
  1230. package/dist/lib/spineVerdictRead.js +76 -0
  1231. package/dist/lib/spineVerdictRead.js.map +1 -0
  1232. package/dist/lib/spinner.d.ts +27 -0
  1233. package/dist/lib/spinner.d.ts.map +1 -0
  1234. package/dist/lib/spinner.js +76 -0
  1235. package/dist/lib/spinner.js.map +1 -0
  1236. package/dist/lib/spinner.test.d.ts +2 -0
  1237. package/dist/lib/spinner.test.d.ts.map +1 -0
  1238. package/dist/lib/spinner.test.js +39 -0
  1239. package/dist/lib/spinner.test.js.map +1 -0
  1240. package/dist/lib/startup-signals.d.ts +12 -0
  1241. package/dist/lib/startup-signals.d.ts.map +1 -0
  1242. package/dist/lib/startup-signals.js +173 -0
  1243. package/dist/lib/startup-signals.js.map +1 -0
  1244. package/dist/lib/startup-signals.test.d.ts +2 -0
  1245. package/dist/lib/startup-signals.test.d.ts.map +1 -0
  1246. package/dist/lib/startup-signals.test.js +165 -0
  1247. package/dist/lib/startup-signals.test.js.map +1 -0
  1248. package/dist/lib/state.d.ts +60 -0
  1249. package/dist/lib/state.d.ts.map +1 -0
  1250. package/dist/lib/state.js +97 -0
  1251. package/dist/lib/state.js.map +1 -0
  1252. package/dist/lib/statusCategories.d.ts +168 -0
  1253. package/dist/lib/statusCategories.d.ts.map +1 -0
  1254. package/dist/lib/statusCategories.js +299 -0
  1255. package/dist/lib/statusCategories.js.map +1 -0
  1256. package/dist/lib/strip.d.ts +18 -0
  1257. package/dist/lib/strip.d.ts.map +1 -1
  1258. package/dist/lib/strip.js +62 -0
  1259. package/dist/lib/strip.js.map +1 -1
  1260. package/dist/lib/style.d.ts +109 -0
  1261. package/dist/lib/style.d.ts.map +1 -0
  1262. package/dist/lib/style.js +183 -0
  1263. package/dist/lib/style.js.map +1 -0
  1264. package/dist/lib/style.test.d.ts +7 -0
  1265. package/dist/lib/style.test.d.ts.map +1 -0
  1266. package/dist/lib/style.test.js +262 -0
  1267. package/dist/lib/style.test.js.map +1 -0
  1268. package/dist/lib/tokenConstants.d.ts +31 -0
  1269. package/dist/lib/tokenConstants.d.ts.map +1 -0
  1270. package/dist/lib/tokenConstants.js +34 -0
  1271. package/dist/lib/tokenConstants.js.map +1 -0
  1272. package/dist/lib/update-check.d.ts +51 -0
  1273. package/dist/lib/update-check.d.ts.map +1 -0
  1274. package/dist/lib/update-check.js +261 -0
  1275. package/dist/lib/update-check.js.map +1 -0
  1276. package/dist/lib/upgrade-runner.d.ts +38 -0
  1277. package/dist/lib/upgrade-runner.d.ts.map +1 -0
  1278. package/dist/lib/upgrade-runner.js +140 -0
  1279. package/dist/lib/upgrade-runner.js.map +1 -0
  1280. package/dist/lib/workPackageList.d.ts +138 -0
  1281. package/dist/lib/workPackageList.d.ts.map +1 -0
  1282. package/dist/lib/workPackageList.js +139 -0
  1283. package/dist/lib/workPackageList.js.map +1 -0
  1284. package/dist/lib/workspace-probe.d.ts +28 -0
  1285. package/dist/lib/workspace-probe.d.ts.map +1 -0
  1286. package/dist/lib/workspace-probe.js +20 -0
  1287. package/dist/lib/workspace-probe.js.map +1 -0
  1288. package/dist/lib/workspaceNotice.d.ts +201 -0
  1289. package/dist/lib/workspaceNotice.d.ts.map +1 -0
  1290. package/dist/lib/workspaceNotice.js +346 -0
  1291. package/dist/lib/workspaceNotice.js.map +1 -0
  1292. package/dist/lib/workspaceVocabCache.d.ts +54 -0
  1293. package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
  1294. package/dist/lib/workspaceVocabCache.js +92 -0
  1295. package/dist/lib/workspaceVocabCache.js.map +1 -0
  1296. package/dist/registerEntryCommands.d.ts +18 -0
  1297. package/dist/registerEntryCommands.d.ts.map +1 -0
  1298. package/dist/registerEntryCommands.js +146 -0
  1299. package/dist/registerEntryCommands.js.map +1 -0
  1300. package/dist/registerHistoryCommand.d.ts +8 -0
  1301. package/dist/registerHistoryCommand.d.ts.map +1 -0
  1302. package/dist/registerHistoryCommand.js +14 -0
  1303. package/dist/registerHistoryCommand.js.map +1 -0
  1304. package/dist/registerOutcomeCommands.d.ts +27 -0
  1305. package/dist/registerOutcomeCommands.d.ts.map +1 -0
  1306. package/dist/registerOutcomeCommands.js +27 -0
  1307. package/dist/registerOutcomeCommands.js.map +1 -0
  1308. package/dist/registerRoleCommands.d.ts +11 -0
  1309. package/dist/registerRoleCommands.d.ts.map +1 -0
  1310. package/dist/registerRoleCommands.js +43 -0
  1311. package/dist/registerRoleCommands.js.map +1 -0
  1312. package/dist/registerTensionsCommands.d.ts +11 -0
  1313. package/dist/registerTensionsCommands.d.ts.map +1 -0
  1314. package/dist/registerTensionsCommands.js +28 -0
  1315. package/dist/registerTensionsCommands.js.map +1 -0
  1316. package/dist/scoreboard/diagnose.d.ts +133 -0
  1317. package/dist/scoreboard/diagnose.d.ts.map +1 -0
  1318. package/dist/scoreboard/diagnose.js +150 -0
  1319. package/dist/scoreboard/diagnose.js.map +1 -0
  1320. package/dist/scoreboard/diagnose.test.d.ts +15 -0
  1321. package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
  1322. package/dist/scoreboard/diagnose.test.js +189 -0
  1323. package/dist/scoreboard/diagnose.test.js.map +1 -0
  1324. package/dist/scoreboard/floors.d.ts +34 -0
  1325. package/dist/scoreboard/floors.d.ts.map +1 -0
  1326. package/dist/scoreboard/floors.js +11 -0
  1327. package/dist/scoreboard/floors.js.map +1 -0
  1328. package/dist/served-doors.test.d.ts +2 -0
  1329. package/dist/served-doors.test.d.ts.map +1 -0
  1330. package/dist/served-doors.test.js +169 -0
  1331. package/dist/served-doors.test.js.map +1 -0
  1332. package/package.json +16 -8
  1333. package/dist/__tests__/audit.test.d.ts +0 -2
  1334. package/dist/__tests__/audit.test.d.ts.map +0 -1
  1335. package/dist/__tests__/audit.test.js +0 -394
  1336. package/dist/__tests__/audit.test.js.map +0 -1
  1337. package/dist/__tests__/handshake.test.d.ts +0 -2
  1338. package/dist/__tests__/handshake.test.d.ts.map +0 -1
  1339. package/dist/__tests__/handshake.test.js +0 -187
  1340. package/dist/__tests__/handshake.test.js.map +0 -1
  1341. package/dist/__tests__/ingest.test.d.ts +0 -2
  1342. package/dist/__tests__/ingest.test.d.ts.map +0 -1
  1343. package/dist/__tests__/ingest.test.js +0 -185
  1344. package/dist/__tests__/ingest.test.js.map +0 -1
  1345. package/dist/__tests__/promote.test.d.ts +0 -2
  1346. package/dist/__tests__/promote.test.d.ts.map +0 -1
  1347. package/dist/__tests__/promote.test.js +0 -139
  1348. package/dist/__tests__/promote.test.js.map +0 -1
  1349. package/dist/__tests__/proposals.test.d.ts +0 -2
  1350. package/dist/__tests__/proposals.test.d.ts.map +0 -1
  1351. package/dist/__tests__/proposals.test.js +0 -190
  1352. package/dist/__tests__/proposals.test.js.map +0 -1
  1353. package/dist/__tests__/repo-detect.test.d.ts +0 -2
  1354. package/dist/__tests__/repo-detect.test.d.ts.map +0 -1
  1355. package/dist/__tests__/repo-detect.test.js +0 -119
  1356. package/dist/__tests__/repo-detect.test.js.map +0 -1
  1357. package/dist/commands/accept.d.ts +0 -18
  1358. package/dist/commands/accept.d.ts.map +0 -1
  1359. package/dist/commands/accept.js +0 -72
  1360. package/dist/commands/accept.js.map +0 -1
  1361. package/dist/commands/audit.d.ts +0 -25
  1362. package/dist/commands/audit.d.ts.map +0 -1
  1363. package/dist/commands/audit.js +0 -188
  1364. package/dist/commands/audit.js.map +0 -1
  1365. package/dist/commands/brand-pack.d.ts +0 -2
  1366. package/dist/commands/brand-pack.d.ts.map +0 -1
  1367. package/dist/commands/brand-pack.js +0 -25
  1368. package/dist/commands/brand-pack.js.map +0 -1
  1369. package/dist/commands/handshake.d.ts +0 -18
  1370. package/dist/commands/handshake.d.ts.map +0 -1
  1371. package/dist/commands/handshake.js +0 -378
  1372. package/dist/commands/handshake.js.map +0 -1
  1373. package/dist/commands/ingest.d.ts +0 -14
  1374. package/dist/commands/ingest.d.ts.map +0 -1
  1375. package/dist/commands/ingest.js +0 -181
  1376. package/dist/commands/ingest.js.map +0 -1
  1377. package/dist/commands/promote.d.ts +0 -12
  1378. package/dist/commands/promote.d.ts.map +0 -1
  1379. package/dist/commands/promote.js +0 -48
  1380. package/dist/commands/promote.js.map +0 -1
  1381. package/dist/commands/proposals.d.ts +0 -9
  1382. package/dist/commands/proposals.d.ts.map +0 -1
  1383. package/dist/commands/proposals.js +0 -24
  1384. package/dist/commands/proposals.js.map +0 -1
  1385. package/dist/commands/reject.d.ts +0 -14
  1386. package/dist/commands/reject.d.ts.map +0 -1
  1387. package/dist/commands/reject.js +0 -37
  1388. package/dist/commands/reject.js.map +0 -1
  1389. package/dist/formatters/audit.d.ts +0 -46
  1390. package/dist/formatters/audit.d.ts.map +0 -1
  1391. package/dist/formatters/audit.js +0 -81
  1392. package/dist/formatters/audit.js.map +0 -1
  1393. package/dist/formatters/handshake.d.ts +0 -17
  1394. package/dist/formatters/handshake.d.ts.map +0 -1
  1395. package/dist/formatters/handshake.js +0 -51
  1396. package/dist/formatters/handshake.js.map +0 -1
  1397. package/dist/formatters/promote.d.ts +0 -29
  1398. package/dist/formatters/promote.d.ts.map +0 -1
  1399. package/dist/formatters/promote.js +0 -38
  1400. package/dist/formatters/promote.js.map +0 -1
  1401. package/dist/formatters/proposals.d.ts +0 -45
  1402. package/dist/formatters/proposals.d.ts.map +0 -1
  1403. package/dist/formatters/proposals.js +0 -62
  1404. package/dist/formatters/proposals.js.map +0 -1
  1405. package/dist/generators/adapters.d.ts +0 -10
  1406. package/dist/generators/adapters.d.ts.map +0 -1
  1407. package/dist/generators/adapters.js +0 -102
  1408. package/dist/generators/adapters.js.map +0 -1
  1409. package/dist/generators/briefing-md.d.ts +0 -8
  1410. package/dist/generators/briefing-md.d.ts.map +0 -1
  1411. package/dist/generators/briefing-md.js +0 -51
  1412. package/dist/generators/briefing-md.js.map +0 -1
  1413. package/dist/generators/context-md.d.ts +0 -8
  1414. package/dist/generators/context-md.d.ts.map +0 -1
  1415. package/dist/generators/context-md.js +0 -123
  1416. package/dist/generators/context-md.js.map +0 -1
  1417. package/dist/generators/portable-knowledge.d.ts +0 -72
  1418. package/dist/generators/portable-knowledge.d.ts.map +0 -1
  1419. package/dist/generators/portable-knowledge.js +0 -246
  1420. package/dist/generators/portable-knowledge.js.map +0 -1
  1421. package/dist/generators/portable-knowledge.test.d.ts +0 -2
  1422. package/dist/generators/portable-knowledge.test.d.ts.map +0 -1
  1423. package/dist/generators/portable-knowledge.test.js +0 -399
  1424. package/dist/generators/portable-knowledge.test.js.map +0 -1
  1425. package/dist/lib/repo-detect.d.ts +0 -14
  1426. package/dist/lib/repo-detect.d.ts.map +0 -1
  1427. package/dist/lib/repo-detect.js +0 -58
  1428. package/dist/lib/repo-detect.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAUD,wBAAgB,WAAW,IAAI,YAAY,GAAG,IAAI,CAQjD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAItD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKtD"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;4FAE4F;AAC5F,eAAO,MAAM,gBAAgB,QAAqB,CAAC;AAEnD,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiFD,wBAAgB,WAAW,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAahF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAUvF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CA6BlE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAmBzC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAS7C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAkB7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA0B7E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAkBrF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAKvF"}
@@ -2,42 +2,347 @@
2
2
  * Session state — persists active session ID between CLI invocations.
3
3
  * Stored at .productbrain/session.json in the project root.
4
4
  * Solves TEN-264 (option 1: explicit session token).
5
+ *
6
+ * WP-322 S2: session.json also serves as a closed marker (closedAt present)
7
+ * for auto-resume logic when the last session closed <2h ago.
8
+ *
9
+ * WP-479 E2 (client half): when a conversation identity resolves (see ./conversation.ts —
10
+ * PB_CONVERSATION_ID / CLAUDE_CODE_SESSION_ID / CURSOR_CONVERSATION_ID / hashed
11
+ * CODEX_TUI_SESSION_LOG_PATH), the marker moves to `.productbrain/sessions/<conversationId>.json`
12
+ * so concurrent harness conversations sharing a worktree don't collide on one marker. Every
13
+ * function below resolves the conversation id ONCE (via resolveConversationId) and derives its
14
+ * path from that single value. With no identity signal present, resolveConversationId() returns
15
+ * null and every function falls back to the exact legacy `.productbrain/session.json` path and
16
+ * behavior — byte-identical, zero-config invariant. An explicit `conversationIdOverride` (only
17
+ * threaded from the CLI's `--conversation` flag on `pb session start`) takes priority over env
18
+ * detection; every other call site across the CLI calls these with no argument.
5
19
  */
6
- import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync } from 'fs';
20
+ import { existsSync, readFileSync, writeFileSync, renameSync, mkdirSync, unlinkSync, readdirSync } from 'fs';
7
21
  import { join } from 'path';
22
+ import { findProjectRoot } from './config.js';
23
+ import { resolveConversationId } from './conversation.js';
24
+ /** 2-hour window for auto-resume (WP-322 E1) — also the GC threshold for closed conversation
25
+ * markers (WP-479 E2): a closed marker past this window will never be auto-resumed, so it's
26
+ * garbage. Exported so commands/session.ts's resume logic uses the exact same constant. */
27
+ export const RESUME_WINDOW_MS = 2 * 60 * 60 * 1000;
28
+ /**
29
+ * Resolve the `.productbrain/` session directory off the CLI project root — the SAME
30
+ * walked-up root config.ts resolves credentials against (findProjectRoot), which is also the
31
+ * repo-root that scripts/pb-binding.mjs targets. Anchoring all three to one root means the
32
+ * binding-flip guard (hasActiveSession in pb-binding.mjs) inspects the exact session.json the
33
+ * CLI writes, even when a command runs from a subdirectory such as packages/cli — a cwd-relative
34
+ * dir would put the session under packages/cli/.productbrain and the guard would miss it
35
+ * (codex PR #145 review). Falls back to cwd when no config-bearing root is found (fresh worktree
36
+ * before any config has landed).
37
+ */
8
38
  function getSessionDir() {
9
- return join(process.cwd(), '.productbrain');
39
+ return join(findProjectRoot(process.cwd()) ?? process.cwd(), '.productbrain');
10
40
  }
11
41
  function getSessionPath() {
12
42
  return join(getSessionDir(), 'session.json');
13
43
  }
14
- export function readSession() {
15
- const p = getSessionPath();
44
+ function getTmpSessionPath() {
45
+ return join(getSessionDir(), 'session.json.tmp');
46
+ }
47
+ /** WP-479 E2: directory holding one marker file per resolved conversation id. */
48
+ function getSessionsDir() {
49
+ return join(getSessionDir(), 'sessions');
50
+ }
51
+ function getConversationMarkerPath(conversationId) {
52
+ return join(getSessionsDir(), `${conversationId}.json`);
53
+ }
54
+ function getConversationTmpMarkerPath(conversationId) {
55
+ return join(getSessionsDir(), `${conversationId}.json.tmp`);
56
+ }
57
+ /**
58
+ * Resolve the marker path for a given (already-resolved) conversation id: the conversation-scoped
59
+ * path under `.productbrain/sessions/` when non-null, else the legacy shared path — the single
60
+ * fork point every function below routes through.
61
+ */
62
+ function markerPath(conversationId) {
63
+ return conversationId ? getConversationMarkerPath(conversationId) : getSessionPath();
64
+ }
65
+ function tmpMarkerPath(conversationId) {
66
+ return conversationId ? getConversationTmpMarkerPath(conversationId) : getTmpSessionPath();
67
+ }
68
+ /**
69
+ * WP-479 E2 GC: delete closed conversation markers whose `closedAt` is older than the 2h resume
70
+ * window — a closed marker outside that window will never be auto-resumed, so it's inert litter.
71
+ * Best-effort, and cheap (no-ops when the sessions dir doesn't exist yet). Scoped to the
72
+ * conversation-marker directory only — the single legacy `session.json` is never GC'd here (its
73
+ * own clearSession/discardSession lifecycle is unchanged).
74
+ */
75
+ function gcExpiredConversationMarkers() {
76
+ const dir = getSessionsDir();
77
+ if (!existsSync(dir))
78
+ return;
79
+ let entries;
80
+ try {
81
+ entries = readdirSync(dir);
82
+ }
83
+ catch {
84
+ return;
85
+ }
86
+ const now = Date.now();
87
+ for (const entry of entries) {
88
+ if (!entry.endsWith('.json'))
89
+ continue;
90
+ const full = join(dir, entry);
91
+ try {
92
+ const raw = JSON.parse(readFileSync(full, 'utf8'));
93
+ if (raw.closedAt && now - new Date(raw.closedAt).getTime() > RESUME_WINDOW_MS) {
94
+ unlinkSync(full);
95
+ }
96
+ }
97
+ catch {
98
+ // Malformed or concurrently-removed marker — ignore, non-blocking.
99
+ }
100
+ }
101
+ }
102
+ export function readSession(conversationIdOverride) {
103
+ gcExpiredConversationMarkers();
104
+ const conversationId = resolveConversationId(conversationIdOverride);
105
+ const p = markerPath(conversationId);
16
106
  if (!existsSync(p))
17
107
  return null;
18
108
  try {
19
- return JSON.parse(readFileSync(p, 'utf8'));
109
+ const raw = JSON.parse(readFileSync(p, 'utf8'));
110
+ // If closedAt is present it's a closed marker, not an active session
111
+ if (raw.closedAt)
112
+ return null;
113
+ return raw;
20
114
  }
21
115
  catch {
22
116
  return null;
23
117
  }
24
118
  }
25
- export function writeSession(state) {
26
- const dir = getSessionDir();
119
+ export function writeSession(state, conversationIdOverride) {
120
+ const conversationId = resolveConversationId(conversationIdOverride);
121
+ // Stamp the resolved conversation id onto the state itself (WP-479 E2: "store the
122
+ // conversationId in it") so a later bare readSession() round-trips it, and so the marker file's
123
+ // own contents self-identify which conversation it belongs to.
124
+ state.conversationId = conversationId ?? undefined;
125
+ const dir = conversationId ? getSessionsDir() : getSessionDir();
27
126
  if (!existsSync(dir))
28
127
  mkdirSync(dir, { recursive: true });
29
- writeFileSync(getSessionPath(), JSON.stringify(state, null, 2));
128
+ writeFileSync(markerPath(conversationId), JSON.stringify(state, null, 2));
129
+ gcExpiredConversationMarkers();
130
+ }
131
+ /**
132
+ * Writes a closed marker instead of deleting the file.
133
+ * If the file is already a closed marker (closedAt present), deletes it outright
134
+ * to prevent a stale-marker reset loop (F2: Domain Fit review finding).
135
+ * Uses atomic write (tmp → rename) to prevent partial writes on active sessions.
136
+ * WP-322 S2 — enables auto-resume within 2h window.
137
+ */
138
+ export function clearSession(conversationIdOverride) {
139
+ const conversationId = resolveConversationId(conversationIdOverride);
140
+ const p = markerPath(conversationId);
141
+ if (!existsSync(p))
142
+ return;
143
+ try {
144
+ const existing = JSON.parse(readFileSync(p, 'utf8'));
145
+ // If already a marker, delete outright — don't refresh the timestamp
146
+ if (existing.closedAt) {
147
+ unlinkSync(p);
148
+ return;
149
+ }
150
+ const marker = {
151
+ sessionId: existing.sessionId,
152
+ workspaceId: existing.workspaceId,
153
+ workspaceName: existing.workspaceName,
154
+ startedAt: existing.startedAt,
155
+ entriesCaptured: [],
156
+ closedAt: new Date().toISOString(),
157
+ conversationId: conversationId ?? undefined,
158
+ };
159
+ const dir = conversationId ? getSessionsDir() : getSessionDir();
160
+ if (!existsSync(dir))
161
+ mkdirSync(dir, { recursive: true });
162
+ const tmp = tmpMarkerPath(conversationId);
163
+ writeFileSync(tmp, JSON.stringify(marker, null, 2));
164
+ renameSync(tmp, p);
165
+ }
166
+ catch {
167
+ // If we can't write the marker, the file stays as-is (non-blocking).
168
+ }
169
+ gcExpiredConversationMarkers();
30
170
  }
31
- export function clearSession() {
32
- const p = getSessionPath();
171
+ /**
172
+ * Delete the CURRENT conversation's marker outright — NO closed marker. Use when discarding a
173
+ * single conversation's session (clearSession writes a resume marker; that is only correct for
174
+ * session close).
175
+ */
176
+ export function discardSession(conversationIdOverride) {
177
+ const conversationId = resolveConversationId(conversationIdOverride);
178
+ const p = markerPath(conversationId);
33
179
  if (existsSync(p))
34
180
  unlinkSync(p);
35
181
  }
36
- export function addCapturedEntry(entryId) {
37
- const session = readSession();
182
+ /**
183
+ * Delete EVERY session marker in this project — the legacy `session.json` AND every per-conversation
184
+ * marker under `.productbrain/sessions/`. Use on a WORKSPACE change (profile switch / connect
185
+ * redirect) so the 2h auto-resume can't re-pin the old workspace from ANY marker.
186
+ *
187
+ * Review fix (Codex): `discardSession()` resolves only the CURRENT conversation's marker, so a
188
+ * workspace-switch caller with no conversation env would leave other conversations' active markers
189
+ * behind — later reusable against the NEW workspace. A workspace change invalidates ALL of them, so
190
+ * this clears the whole set rather than one marker.
191
+ */
192
+ export function discardAllSessions() {
193
+ const legacy = getSessionPath();
194
+ if (existsSync(legacy))
195
+ unlinkSync(legacy);
196
+ const dir = getSessionsDir();
197
+ if (!existsSync(dir))
198
+ return;
199
+ let entries;
200
+ try {
201
+ entries = readdirSync(dir);
202
+ }
203
+ catch {
204
+ return;
205
+ }
206
+ for (const entry of entries) {
207
+ if (!entry.endsWith('.json'))
208
+ continue;
209
+ try {
210
+ unlinkSync(join(dir, entry));
211
+ }
212
+ catch {
213
+ // concurrently removed — ignore, non-blocking.
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * True if ANY session marker exists — the legacy `session.json` OR any per-conversation marker under
219
+ * `.productbrain/sessions/`. Used by `pb session reset` so a hard reset (and the binding-flip recovery
220
+ * it backs) can detect + clear a sibling conversation's marker it has no env to resolve (Codex
221
+ * re-review — the flip guard refuses on ANY active marker, so reset must see them ALL).
222
+ */
223
+ export function hasAnySessionMarker() {
224
+ if (existsSync(getSessionPath()))
225
+ return true;
226
+ const dir = getSessionsDir();
227
+ if (!existsSync(dir))
228
+ return false;
229
+ try {
230
+ return readdirSync(dir).some((f) => f.endsWith('.json'));
231
+ }
232
+ catch {
233
+ return false;
234
+ }
235
+ }
236
+ /**
237
+ * True if ANY marker — legacy `session.json` OR any per-conversation marker — represents an ACTIVE
238
+ * session (no `closedAt`). Used by `pb session reset` so its confirmation/`--force` guard fires when
239
+ * a SIBLING conversation's session is active, not only the current one (Codex re-review: an
240
+ * all-marker reset must not silently strand an active sibling server session). Closed markers are
241
+ * inert and don't require a prompt.
242
+ */
243
+ export function hasAnyActiveSession() {
244
+ const isActive = (p) => {
245
+ try {
246
+ const raw = JSON.parse(readFileSync(p, 'utf8'));
247
+ return !raw.closedAt;
248
+ }
249
+ catch {
250
+ return false; // malformed/unreadable — treat as not-active (inert)
251
+ }
252
+ };
253
+ const legacy = getSessionPath();
254
+ if (existsSync(legacy) && isActive(legacy))
255
+ return true;
256
+ const dir = getSessionsDir();
257
+ if (!existsSync(dir))
258
+ return false;
259
+ try {
260
+ return readdirSync(dir).some((f) => f.endsWith('.json') && isActive(join(dir, f)));
261
+ }
262
+ catch {
263
+ return false;
264
+ }
265
+ }
266
+ /**
267
+ * Find the ACTIVE marker carrying `sessionId`, across both storage shapes, or null.
268
+ *
269
+ * TEN-3315: the write-binding guard compares the bound credential against a marker's fingerprint,
270
+ * but a command can select a DIFFERENT conversation's session and pass its id explicitly (e.g.
271
+ * `pb rework report --conversation A`). Judging the ambient marker there would judge the wrong
272
+ * session, so the guard used to skip — blind exactly where the caller was most deliberate about
273
+ * which session it meant. This lets it judge the marker the call actually uses.
274
+ *
275
+ * Enumerates the same two places `hasAnyActiveSession()` does — the legacy `session.json` and the
276
+ * per-conversation directory — because a session id says nothing about which conversation owns it.
277
+ * Closed markers are not sessions, so they never match; a malformed one is skipped rather than
278
+ * throwing, since this sits in front of every session-attributed write.
279
+ */
280
+ export function readSessionBySessionId(sessionId) {
281
+ const match = (p) => {
282
+ try {
283
+ const raw = JSON.parse(readFileSync(p, 'utf8'));
284
+ return !raw.closedAt && raw.sessionId === sessionId ? raw : null;
285
+ }
286
+ catch {
287
+ return null; // malformed/unreadable — skip, never throw in front of a write
288
+ }
289
+ };
290
+ const legacy = getSessionPath();
291
+ if (existsSync(legacy)) {
292
+ const found = match(legacy);
293
+ if (found)
294
+ return found;
295
+ }
296
+ const dir = getSessionsDir();
297
+ if (!existsSync(dir))
298
+ return null;
299
+ try {
300
+ for (const f of readdirSync(dir)) {
301
+ if (!f.endsWith('.json'))
302
+ continue;
303
+ const found = match(join(dir, f));
304
+ if (found)
305
+ return found;
306
+ }
307
+ }
308
+ catch {
309
+ // Directory vanished mid-scan — nothing to validate against.
310
+ }
311
+ return null;
312
+ }
313
+ /**
314
+ * Reads the closed marker from the resolved conversation's marker file (or the legacy
315
+ * session.json when no conversation identity resolves).
316
+ * Returns the marker if closedAt is present, otherwise null.
317
+ * WP-322 S2 — used by runSessionStart to detect recent closed sessions.
318
+ */
319
+ export function readClosedMarker(conversationIdOverride) {
320
+ gcExpiredConversationMarkers();
321
+ const conversationId = resolveConversationId(conversationIdOverride);
322
+ const p = markerPath(conversationId);
323
+ if (!existsSync(p))
324
+ return null;
325
+ try {
326
+ const raw = JSON.parse(readFileSync(p, 'utf8'));
327
+ if (!raw.closedAt)
328
+ return null;
329
+ return {
330
+ sessionId: raw.sessionId,
331
+ closedAt: raw.closedAt,
332
+ workspaceId: raw.workspaceId,
333
+ workspaceName: raw.workspaceName,
334
+ conversationId: raw.conversationId,
335
+ };
336
+ }
337
+ catch {
338
+ return null;
339
+ }
340
+ }
341
+ export function addCapturedEntry(entryId, conversationIdOverride) {
342
+ const session = readSession(conversationIdOverride);
38
343
  if (!session)
39
344
  return;
40
345
  session.entriesCaptured.push(entryId);
41
- writeSession(session);
346
+ writeSession(session, conversationIdOverride);
42
347
  }
43
348
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU5B,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC9C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { SessionState } from './session.js';
2
+ /**
3
+ * One-way digest of the credential + gateway currently bound, or undefined when nothing is.
4
+ *
5
+ * By the time this runs, `getConfigOrGuide()` has already called `loadEnv()`, so `process.env`
6
+ * holds the credential that actually WON — whatever supplied it (export, pin, profile, preview).
7
+ * That is exactly the property wanted here: the fingerprint moves whenever the effective binding
8
+ * moves, without this module having to know which source produced it.
9
+ *
10
+ * Head-truncated to 16 hex chars: this value is only ever COMPARED, so keeping more would store
11
+ * more of a secret than the job needs. Never the key itself, never sent anywhere.
12
+ */
13
+ export declare function fingerprintBinding(): string | undefined;
14
+ /**
15
+ * The digest itself, taken as arguments rather than read from the environment.
16
+ *
17
+ * Split out so the hashing rules can be tested WITHOUT mutating `process.env`: vitest runs test
18
+ * files in parallel inside shared workers, so a test that deletes `PRODUCTBRAIN_API_KEY` to set up
19
+ * a case yanks it out from under whatever unrelated file is running beside it (observed live —
20
+ * it broke an unrelated suite while passing on its own).
21
+ */
22
+ export declare function fingerprintOf(key: string, gateway: string | undefined): string;
23
+ /**
24
+ * Has the workspace this session was started against changed underneath it?
25
+ *
26
+ * TWO signals, because neither alone is sufficient:
27
+ *
28
+ * - **Profile name** (TEN-2163, the original backstop) — catches `pb profile use`, a preview
29
+ * flip, a pin edit. Blind to a raw exported `PRODUCTBRAIN_API_KEY`, which carries no profile
30
+ * name at all: repoint that key at another workspace and the name never moves, so the session
31
+ * stayed "already active" while every write went to a foreign Chain (TEN-3240).
32
+ * - **Binding fingerprint** (TEN-3240) — catches exactly that, because it tracks the credential
33
+ * rather than a name for it.
34
+ *
35
+ * Either firing is enough. Both comparisons are skipped when one side is absent, which is what
36
+ * keeps a session marker written BEFORE `bindingFingerprint` existed on the original name-only
37
+ * behaviour instead of being discarded on every start.
38
+ */
39
+ export declare function bindingChanged(existing: Pick<SessionState, 'profile' | 'bindingFingerprint'>, current: {
40
+ profile: string | null;
41
+ fingerprint: string | undefined;
42
+ }): boolean;
43
+ /**
44
+ * Refuse a session-attributed write whose credential has MOVED since the session opened.
45
+ *
46
+ * `pb session start`'s switch-backstop is not the only door (Codex P1 r9): an operator can
47
+ * repoint an exported PRODUCTBRAIN_API_KEY and then run `pb capture` / `relate` / `update`
48
+ * directly, never re-running start. The marker still names the old workspace while the gateway
49
+ * derives the new one from the key (BR-18) — a cross-workspace write with a stale session id.
50
+ *
51
+ * Compares the fingerprint only: `getConfig()` above has already resolved the credential into
52
+ * `process.env`, so this is arithmetic on values already in hand — no file, no network, on the
53
+ * hot path of every write. Markers written before the field existed carry no fingerprint and are
54
+ * skipped, exactly as the session-start backstop skips them.
55
+ */
56
+ export declare function assertSessionStillBound(session: {
57
+ sessionId: string;
58
+ bindingFingerprint?: string;
59
+ workspaceName?: string;
60
+ profile?: string;
61
+ } | null, current?: string | undefined, describeCurrent?: () => string | undefined): void;
62
+ //# sourceMappingURL=sessionBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionBinding.d.ts","sourceRoot":"","sources":["../../src/lib/sessionBinding.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAGvD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAS9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,oBAAoB,CAAC,EAC9D,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACnE,OAAO,CAqBT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAG5G,OAAO,GAAE,MAAM,GAAG,SAAgC,EAKlD,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,GACzC,IAAI,CAgBN"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Session binding identity — "is this session still pointed at the same Chain?"
3
+ *
4
+ * Lives outside commands/session.ts, which is grandfathered shrink-only (STD-2 / DEC-1504),
5
+ * and outside config.ts for the same reason. Pure and offline by construction: `process.env` and
6
+ * the stored marker, never a file and never the network — so the deliberately offline
7
+ * already-active session path (WP-696) can call it.
8
+ *
9
+ * It fingerprints the CREDENTIAL, always. An earlier version keyed a preview binding on its
10
+ * workspace NAME so a reseed would not read as a switch — that was unsound twice over (Codex r6
11
+ * P1, r8 P1): an exported key outranks the preview binding, and `seed-preview.mjs` hardcodes the
12
+ * name `Preview Workspace` while deliberately orphaning a stale workspace in the SAME deployment,
13
+ * so two genuinely different workspaces shared one fingerprint. The reseed nuisance it was buying
14
+ * — one extra session restart — is not worth trading a safety property for. Fail safe.
15
+ */
16
+ import { createHash } from 'crypto';
17
+ import { CLIError, ErrorCode } from './errors.js';
18
+ import { DEFAULT_SITE_URL } from './constants.js';
19
+ import { copy } from './style.js';
20
+ /**
21
+ * One-way digest of the credential + gateway currently bound, or undefined when nothing is.
22
+ *
23
+ * By the time this runs, `getConfigOrGuide()` has already called `loadEnv()`, so `process.env`
24
+ * holds the credential that actually WON — whatever supplied it (export, pin, profile, preview).
25
+ * That is exactly the property wanted here: the fingerprint moves whenever the effective binding
26
+ * moves, without this module having to know which source produced it.
27
+ *
28
+ * Head-truncated to 16 hex chars: this value is only ever COMPARED, so keeping more would store
29
+ * more of a secret than the job needs. Never the key itself, never sent anywhere.
30
+ */
31
+ export function fingerprintBinding() {
32
+ const key = process.env.PRODUCTBRAIN_API_KEY;
33
+ return key ? fingerprintOf(key, process.env.CONVEX_SITE_URL) : undefined;
34
+ }
35
+ /**
36
+ * The digest itself, taken as arguments rather than read from the environment.
37
+ *
38
+ * Split out so the hashing rules can be tested WITHOUT mutating `process.env`: vitest runs test
39
+ * files in parallel inside shared workers, so a test that deletes `PRODUCTBRAIN_API_KEY` to set up
40
+ * a case yanks it out from under whatever unrelated file is running beside it (observed live —
41
+ * it broke an unrelated suite while passing on its own).
42
+ */
43
+ export function fingerprintOf(key, gateway) {
44
+ // Strip the trailing slash exactly as getConfigOrGuide()/loadEnv() do before using the URL.
45
+ // Without this, `https://x/` and `https://x` — the SAME effective endpoint — hash differently,
46
+ // and a session started under one form is spuriously discarded under the other (Codex P2 r2).
47
+ // Resolve the SAME way getConfigOrGuide() does — absent means DEFAULT_SITE_URL, not "no
48
+ // gateway". Hashing '' for the absent case made an explicit export of that exact default look
49
+ // like a different endpoint, discarding a valid session for no reason (Codex P2 r3).
50
+ const normalized = (gateway ?? DEFAULT_SITE_URL).replace(/\/$/, '');
51
+ return createHash('sha256').update(`${key} ${normalized}`).digest('hex').slice(0, 16);
52
+ }
53
+ /**
54
+ * Has the workspace this session was started against changed underneath it?
55
+ *
56
+ * TWO signals, because neither alone is sufficient:
57
+ *
58
+ * - **Profile name** (TEN-2163, the original backstop) — catches `pb profile use`, a preview
59
+ * flip, a pin edit. Blind to a raw exported `PRODUCTBRAIN_API_KEY`, which carries no profile
60
+ * name at all: repoint that key at another workspace and the name never moves, so the session
61
+ * stayed "already active" while every write went to a foreign Chain (TEN-3240).
62
+ * - **Binding fingerprint** (TEN-3240) — catches exactly that, because it tracks the credential
63
+ * rather than a name for it.
64
+ *
65
+ * Either firing is enough. Both comparisons are skipped when one side is absent, which is what
66
+ * keeps a session marker written BEFORE `bindingFingerprint` existed on the original name-only
67
+ * behaviour instead of being discarded on every start.
68
+ */
69
+ export function bindingChanged(existing, current) {
70
+ const profileSwitched = Boolean(existing.profile && current.profile && existing.profile !== current.profile);
71
+ const credentialSwitched = Boolean(existing.bindingFingerprint && current.fingerprint && existing.bindingFingerprint !== current.fingerprint);
72
+ // MIGRATION BACKSTOP. A marker written before `bindingFingerprint` existed cannot be compared on
73
+ // the credential at all, so there is no evidence its workspace is unchanged — and a
74
+ // cross-workspace session survived the upgrade (Codex P1 r7, r8).
75
+ //
76
+ // A matching profile NAME is not that evidence, tempting as it looks: `pb connect` can overwrite
77
+ // an existing profile's credentials in place (connect.ts), so one name can point at two
78
+ // workspaces over time (Codex P1 r13). Treating it as proof was an escape hatch that could be
79
+ // wrong; without it the rule is both simpler and stricter.
80
+ //
81
+ // So it fails CLOSED, always: an unnecessary re-start costs one kernel call, once, while a
82
+ // missed switch costs a wrong-Chain write. It cannot fire on a marker this version wrote —
83
+ // those always carry a fingerprint — so it retires itself as old markers roll over.
84
+ const unprovable = !existing.bindingFingerprint && Boolean(current.fingerprint);
85
+ return profileSwitched || credentialSwitched || unprovable;
86
+ }
87
+ /**
88
+ * Refuse a session-attributed write whose credential has MOVED since the session opened.
89
+ *
90
+ * `pb session start`'s switch-backstop is not the only door (Codex P1 r9): an operator can
91
+ * repoint an exported PRODUCTBRAIN_API_KEY and then run `pb capture` / `relate` / `update`
92
+ * directly, never re-running start. The marker still names the old workspace while the gateway
93
+ * derives the new one from the key (BR-18) — a cross-workspace write with a stale session id.
94
+ *
95
+ * Compares the fingerprint only: `getConfig()` above has already resolved the credential into
96
+ * `process.env`, so this is arithmetic on values already in hand — no file, no network, on the
97
+ * hot path of every write. Markers written before the field existed carry no fingerprint and are
98
+ * skipped, exactly as the session-start backstop skips them.
99
+ */
100
+ export function assertSessionStillBound(session,
101
+ // Injectable for the same reason `fingerprintOf` takes arguments: a test must not mutate the
102
+ // shared process env to set this up (see that function's note).
103
+ current = fingerprintBinding(),
104
+ // WP-711/712: names the tenant CURRENTLY in play, for the refusal message only. A thunk, not
105
+ // a plain value — resolving it (e.g. via config.ts's resolveEffectiveProfile) can mean a local
106
+ // file read, and this function stays pure/offline on every PASSING call by invoking it only
107
+ // once it has already decided to refuse. Never called when nothing is bound or the two agree.
108
+ describeCurrent) {
109
+ // Nothing bound, or a match: nothing to object to.
110
+ if (!session || !current || current === session.bindingFingerprint)
111
+ return;
112
+ // Falling through means either the fingerprints DISAGREE, or the marker carries none at all.
113
+ // A marker without one predates the field, so nothing can prove it still targets the workspace
114
+ // this credential belongs to — the same reasoning `bindingChanged` uses, and now the same answer
115
+ // (Codex P1 r15). Letting that through was the bigger hole of the two: `pb relate` sends no
116
+ // session id, so nothing downstream re-checks. `pb session start` restarts it once and stamps a
117
+ // fingerprint, after which this never fires again.
118
+ const expected = session.workspaceName || session.profile || undefined;
119
+ const found = describeCurrent?.() || undefined;
120
+ throw new CLIError(copy.sessionRebound(session.sessionId, expected, found), {
121
+ code: ErrorCode.SESSION_REQUIRED,
122
+ category: 'session',
123
+ guidance: copy.sessionReboundGuidance(found),
124
+ });
125
+ }
126
+ //# sourceMappingURL=sessionBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionBinding.js","sourceRoot":"","sources":["../../src/lib/sessionBinding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export interface SessionNoticeAction {
2
+ verb: string;
3
+ args: Record<string, string | number | boolean | null>;
4
+ /** Optional, additive — the original §3.9a verb label, when the route alone is ambiguous
5
+ * (convex/lib/notices/types.ts's NoticeAction.label doc comment). */
6
+ label?: string;
7
+ }
8
+ /** WP-638 S4 (§7.5 of the routed-questions design spec) — one bounded onboarding brief inside a
9
+ * question notice's `payload.questions` array. Mirrors convex/lib/notices/types.ts's
10
+ * `NoticeQuestionBrief` (the CLI-side twin every notice-payload type carries, HARD CONSTRAINT 2). */
11
+ export interface SessionNoticeQuestionBrief {
12
+ name: string;
13
+ question: string;
14
+ asker: string;
15
+ sourcePointer: string;
16
+ domain: string;
17
+ whyYou: string;
18
+ ageDays: number;
19
+ dependents: {
20
+ count: number;
21
+ truncated?: boolean;
22
+ named: {
23
+ name: string;
24
+ id: string;
25
+ }[];
26
+ };
27
+ actions: SessionNoticeAction[];
28
+ }
29
+ export interface SessionNotice {
30
+ source: string;
31
+ type: string;
32
+ severity: 'none' | 'advisory' | 'warning' | 'emergency';
33
+ subject: string;
34
+ change: string;
35
+ occurredAt: number;
36
+ action: SessionNoticeAction;
37
+ /** WP-638 S4 (§7.5, R23) — the Notice-contract extension, additive/optional. */
38
+ payload?: {
39
+ questions: SessionNoticeQuestionBrief[];
40
+ truncated?: boolean;
41
+ };
42
+ requiresDisposition?: boolean;
43
+ actions?: SessionNoticeAction[];
44
+ }
45
+ export declare function noticeCommand(action: SessionNoticeAction): string;
46
+ export declare const QUESTION_ACK_GATE_SOURCE_ID = "question-ack-gate";
47
+ /** One line per notice, oldest first (server already sorts producers' output this way) — except
48
+ * the question-ack-gate notice, which renders §7.5's full multi-line block instead of the
49
+ * generic one-liner (R23: the Notice-contract extension is additive, so every OTHER producer's
50
+ * one-liner is untouched). */
51
+ export declare function formatSessionNoticeLines(notices: readonly SessionNotice[] | undefined): string[];
52
+ //# sourceMappingURL=sessionNotices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionNotices.d.ts","sourceRoot":"","sources":["../../src/lib/sessionNotices.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IACvD;0EACsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;sGAEsG;AACtG,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IAC1F,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,gFAAgF;IAChF,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACjC;AA4BD,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAMjE;AAED,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAwE/D;;;+BAG+B;AAC/B,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAWhG"}