@productbrain/cli 0.1.0-beta.55 → 0.1.0-beta.5504

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 (1316) hide show
  1. package/README.md +3 -1
  2. package/dist/__tests__/adapters.test.js +54 -1
  3. package/dist/__tests__/adapters.test.js.map +1 -1
  4. package/dist/__tests__/adminConfig.test.d.ts +18 -0
  5. package/dist/__tests__/adminConfig.test.d.ts.map +1 -0
  6. package/dist/__tests__/adminConfig.test.js +221 -0
  7. package/dist/__tests__/adminConfig.test.js.map +1 -0
  8. package/dist/__tests__/audit.test.js +65 -44
  9. package/dist/__tests__/audit.test.js.map +1 -1
  10. package/dist/__tests__/authority-domains-queue.test.d.ts +2 -0
  11. package/dist/__tests__/authority-domains-queue.test.d.ts.map +1 -0
  12. package/dist/__tests__/authority-domains-queue.test.js +169 -0
  13. package/dist/__tests__/authority-domains-queue.test.js.map +1 -0
  14. package/dist/__tests__/authority-domains.test.d.ts +2 -0
  15. package/dist/__tests__/authority-domains.test.d.ts.map +1 -0
  16. package/dist/__tests__/authority-domains.test.js +48 -0
  17. package/dist/__tests__/authority-domains.test.js.map +1 -0
  18. package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
  19. package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
  20. package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
  21. package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
  22. package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
  23. package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
  24. package/dist/__tests__/capture-receipt-coaching.test.js +89 -0
  25. package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
  26. package/dist/__tests__/capture-receipt-domain.test.d.ts +2 -0
  27. package/dist/__tests__/capture-receipt-domain.test.d.ts.map +1 -0
  28. package/dist/__tests__/capture-receipt-domain.test.js +29 -0
  29. package/dist/__tests__/capture-receipt-domain.test.js.map +1 -0
  30. package/dist/__tests__/capture.test.js +1123 -54
  31. package/dist/__tests__/capture.test.js.map +1 -1
  32. package/dist/__tests__/client-binding-guard.test.d.ts +2 -0
  33. package/dist/__tests__/client-binding-guard.test.d.ts.map +1 -0
  34. package/dist/__tests__/client-binding-guard.test.js +84 -0
  35. package/dist/__tests__/client-binding-guard.test.js.map +1 -0
  36. package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
  37. package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
  38. package/dist/__tests__/coaching-mirror-drift.test.js +47 -0
  39. package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
  40. package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
  41. package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
  42. package/dist/__tests__/codex-prep-parity.test.js +107 -0
  43. package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
  44. package/dist/__tests__/collection-registry-seed-drift.test.d.ts +2 -0
  45. package/dist/__tests__/collection-registry-seed-drift.test.d.ts.map +1 -0
  46. package/dist/__tests__/collection-registry-seed-drift.test.js +81 -0
  47. package/dist/__tests__/collection-registry-seed-drift.test.js.map +1 -0
  48. package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
  49. package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
  50. package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
  51. package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
  52. package/dist/__tests__/config.test.d.ts +1 -1
  53. package/dist/__tests__/config.test.js +845 -18
  54. package/dist/__tests__/config.test.js.map +1 -1
  55. package/dist/__tests__/constants.test.js +6 -1
  56. package/dist/__tests__/constants.test.js.map +1 -1
  57. package/dist/__tests__/constellation.test.js +14 -14
  58. package/dist/__tests__/constellation.test.js.map +1 -1
  59. package/dist/__tests__/context-strategy.test.js +8 -8
  60. package/dist/__tests__/context-strategy.test.js.map +1 -1
  61. package/dist/__tests__/conversation.test.d.ts +2 -0
  62. package/dist/__tests__/conversation.test.d.ts.map +1 -0
  63. package/dist/__tests__/conversation.test.js +113 -0
  64. package/dist/__tests__/conversation.test.js.map +1 -0
  65. package/dist/__tests__/entry-formatter.test.d.ts +2 -0
  66. package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
  67. package/dist/__tests__/entry-formatter.test.js +82 -0
  68. package/dist/__tests__/entry-formatter.test.js.map +1 -0
  69. package/dist/__tests__/entryArchive.test.d.ts +2 -0
  70. package/dist/__tests__/entryArchive.test.d.ts.map +1 -0
  71. package/dist/__tests__/entryArchive.test.js +35 -0
  72. package/dist/__tests__/entryArchive.test.js.map +1 -0
  73. package/dist/__tests__/envelope-contract.test.d.ts +15 -0
  74. package/dist/__tests__/envelope-contract.test.d.ts.map +1 -0
  75. package/dist/__tests__/envelope-contract.test.js +154 -0
  76. package/dist/__tests__/envelope-contract.test.js.map +1 -0
  77. package/dist/__tests__/errors.test.js +26 -0
  78. package/dist/__tests__/errors.test.js.map +1 -1
  79. package/dist/__tests__/fields.test.js +20 -20
  80. package/dist/__tests__/fields.test.js.map +1 -1
  81. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts +2 -0
  82. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts.map +1 -0
  83. package/dist/__tests__/gateway-dry-run-timeout.test.js +70 -0
  84. package/dist/__tests__/gateway-dry-run-timeout.test.js.map +1 -0
  85. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts +2 -0
  86. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts.map +1 -0
  87. package/dist/__tests__/gateway-timeout-body-phase.test.js +121 -0
  88. package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
  89. package/dist/__tests__/handshake-augment.test.d.ts +2 -0
  90. package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
  91. package/dist/__tests__/handshake-augment.test.js +424 -0
  92. package/dist/__tests__/handshake-augment.test.js.map +1 -0
  93. package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
  94. package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
  95. package/dist/__tests__/handshake-dormancy.test.js +207 -0
  96. package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
  97. package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
  98. package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
  99. package/dist/__tests__/handshake-formatter.test.js +67 -0
  100. package/dist/__tests__/handshake-formatter.test.js.map +1 -0
  101. package/dist/__tests__/handshake-preview.test.d.ts +2 -0
  102. package/dist/__tests__/handshake-preview.test.d.ts.map +1 -0
  103. package/dist/__tests__/handshake-preview.test.js +950 -0
  104. package/dist/__tests__/handshake-preview.test.js.map +1 -0
  105. package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
  106. package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
  107. package/dist/__tests__/handshake.e2e.test.js +1255 -0
  108. package/dist/__tests__/handshake.e2e.test.js.map +1 -0
  109. package/dist/__tests__/handshake.test.js +787 -2
  110. package/dist/__tests__/handshake.test.js.map +1 -1
  111. package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
  112. package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
  113. package/dist/__tests__/health-gap-kinds-drift.test.js +41 -0
  114. package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
  115. package/dist/__tests__/hook-intents.test.d.ts +2 -0
  116. package/dist/__tests__/hook-intents.test.d.ts.map +1 -0
  117. package/dist/__tests__/hook-intents.test.js +184 -0
  118. package/dist/__tests__/hook-intents.test.js.map +1 -0
  119. package/dist/__tests__/ingest.test.js +37 -28
  120. package/dist/__tests__/ingest.test.js.map +1 -1
  121. package/dist/__tests__/init.test.js +51 -14
  122. package/dist/__tests__/init.test.js.map +1 -1
  123. package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
  124. package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
  125. package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
  126. package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
  127. package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
  128. package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
  129. package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
  130. package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
  131. package/dist/__tests__/manifest.test.d.ts +6 -0
  132. package/dist/__tests__/manifest.test.d.ts.map +1 -0
  133. package/dist/__tests__/manifest.test.js +255 -0
  134. package/dist/__tests__/manifest.test.js.map +1 -0
  135. package/dist/__tests__/method-publish-coherency.test.d.ts +9 -0
  136. package/dist/__tests__/method-publish-coherency.test.d.ts.map +1 -0
  137. package/dist/__tests__/method-publish-coherency.test.js +71 -0
  138. package/dist/__tests__/method-publish-coherency.test.js.map +1 -0
  139. package/dist/__tests__/method-registry.integration.test.d.ts +6 -0
  140. package/dist/__tests__/method-registry.integration.test.d.ts.map +1 -0
  141. package/dist/__tests__/method-registry.integration.test.js +17 -0
  142. package/dist/__tests__/method-registry.integration.test.js.map +1 -0
  143. package/dist/__tests__/method-registry.test.d.ts +12 -0
  144. package/dist/__tests__/method-registry.test.d.ts.map +1 -0
  145. package/dist/__tests__/method-registry.test.js +86 -0
  146. package/dist/__tests__/method-registry.test.js.map +1 -0
  147. package/dist/__tests__/migrate-setup-session-refusal.test.d.ts +2 -0
  148. package/dist/__tests__/migrate-setup-session-refusal.test.d.ts.map +1 -0
  149. package/dist/__tests__/migrate-setup-session-refusal.test.js +65 -0
  150. package/dist/__tests__/migrate-setup-session-refusal.test.js.map +1 -0
  151. package/dist/__tests__/missingPin.test.d.ts +11 -0
  152. package/dist/__tests__/missingPin.test.d.ts.map +1 -0
  153. package/dist/__tests__/missingPin.test.js +233 -0
  154. package/dist/__tests__/missingPin.test.js.map +1 -0
  155. package/dist/__tests__/notice-marker.test.d.ts +2 -0
  156. package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
  157. package/dist/__tests__/notice-marker.test.js +176 -0
  158. package/dist/__tests__/notice-marker.test.js.map +1 -0
  159. package/dist/__tests__/onboarding-path-b.test.js +4 -4
  160. package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
  161. package/dist/__tests__/orient.test.js +503 -13
  162. package/dist/__tests__/orient.test.js.map +1 -1
  163. package/dist/__tests__/perimeter.test.d.ts +2 -0
  164. package/dist/__tests__/perimeter.test.d.ts.map +1 -0
  165. package/dist/__tests__/perimeter.test.js +165 -0
  166. package/dist/__tests__/perimeter.test.js.map +1 -0
  167. package/dist/__tests__/personal-layer.test.d.ts +11 -0
  168. package/dist/__tests__/personal-layer.test.d.ts.map +1 -0
  169. package/dist/__tests__/personal-layer.test.js +268 -0
  170. package/dist/__tests__/personal-layer.test.js.map +1 -0
  171. package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
  172. package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
  173. package/dist/__tests__/preview-key-refresh.test.js +126 -0
  174. package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
  175. package/dist/__tests__/profiles.test.js +380 -5
  176. package/dist/__tests__/profiles.test.js.map +1 -1
  177. package/dist/__tests__/promote-batch.test.d.ts +2 -0
  178. package/dist/__tests__/promote-batch.test.d.ts.map +1 -0
  179. package/dist/__tests__/promote-batch.test.js +185 -0
  180. package/dist/__tests__/promote-batch.test.js.map +1 -0
  181. package/dist/__tests__/promote.test.js +292 -23
  182. package/dist/__tests__/promote.test.js.map +1 -1
  183. package/dist/__tests__/proof-run.test.d.ts +2 -0
  184. package/dist/__tests__/proof-run.test.d.ts.map +1 -0
  185. package/dist/__tests__/proof-run.test.js +255 -0
  186. package/dist/__tests__/proof-run.test.js.map +1 -0
  187. package/dist/__tests__/proposals.test.js +19 -19
  188. package/dist/__tests__/proposals.test.js.map +1 -1
  189. package/dist/__tests__/rate-limit-resilience.test.d.ts +7 -0
  190. package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
  191. package/dist/__tests__/rate-limit-resilience.test.js +209 -0
  192. package/dist/__tests__/rate-limit-resilience.test.js.map +1 -0
  193. package/dist/__tests__/read-target-notice.test.d.ts +2 -0
  194. package/dist/__tests__/read-target-notice.test.d.ts.map +1 -0
  195. package/dist/__tests__/read-target-notice.test.js +129 -0
  196. package/dist/__tests__/read-target-notice.test.js.map +1 -0
  197. package/dist/__tests__/relate.test.js +146 -14
  198. package/dist/__tests__/relate.test.js.map +1 -1
  199. package/dist/__tests__/reportedProfile.test.d.ts +2 -0
  200. package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
  201. package/dist/__tests__/reportedProfile.test.js +328 -0
  202. package/dist/__tests__/reportedProfile.test.js.map +1 -0
  203. package/dist/__tests__/restore.test.d.ts +2 -0
  204. package/dist/__tests__/restore.test.d.ts.map +1 -0
  205. package/dist/__tests__/restore.test.js +85 -0
  206. package/dist/__tests__/restore.test.js.map +1 -0
  207. package/dist/__tests__/route-latency-budget.test.d.ts +2 -0
  208. package/dist/__tests__/route-latency-budget.test.d.ts.map +1 -0
  209. package/dist/__tests__/route-latency-budget.test.js +103 -0
  210. package/dist/__tests__/route-latency-budget.test.js.map +1 -0
  211. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts +2 -0
  212. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts.map +1 -0
  213. package/dist/__tests__/session-binding-refusal-tenant.test.js +112 -0
  214. package/dist/__tests__/session-binding-refusal-tenant.test.js.map +1 -0
  215. package/dist/__tests__/session-close-loop.test.d.ts +2 -0
  216. package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
  217. package/dist/__tests__/session-close-loop.test.js +231 -0
  218. package/dist/__tests__/session-close-loop.test.js.map +1 -0
  219. package/dist/__tests__/session-label.test.d.ts +2 -0
  220. package/dist/__tests__/session-label.test.d.ts.map +1 -0
  221. package/dist/__tests__/session-label.test.js +46 -0
  222. package/dist/__tests__/session-label.test.js.map +1 -0
  223. package/dist/__tests__/session-list-show.test.d.ts +2 -0
  224. package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
  225. package/dist/__tests__/session-list-show.test.js +174 -0
  226. package/dist/__tests__/session-list-show.test.js.map +1 -0
  227. package/dist/__tests__/session-reset.test.d.ts +2 -0
  228. package/dist/__tests__/session-reset.test.d.ts.map +1 -0
  229. package/dist/__tests__/session-reset.test.js +138 -0
  230. package/dist/__tests__/session-reset.test.js.map +1 -0
  231. package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
  232. package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
  233. package/dist/__tests__/session-resume-backstop.test.js +107 -0
  234. package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
  235. package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
  236. package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
  237. package/dist/__tests__/session-start-key-refresh.test.js +212 -0
  238. package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
  239. package/dist/__tests__/session-state-machine.test.d.ts +2 -0
  240. package/dist/__tests__/session-state-machine.test.d.ts.map +1 -0
  241. package/dist/__tests__/session-state-machine.test.js +379 -0
  242. package/dist/__tests__/session-state-machine.test.js.map +1 -0
  243. package/dist/__tests__/session-switch.test.d.ts +2 -0
  244. package/dist/__tests__/session-switch.test.d.ts.map +1 -0
  245. package/dist/__tests__/session-switch.test.js +267 -0
  246. package/dist/__tests__/session-switch.test.js.map +1 -0
  247. package/dist/__tests__/session-touch.test.js +16 -11
  248. package/dist/__tests__/session-touch.test.js.map +1 -1
  249. package/dist/__tests__/session.test.js +2 -2
  250. package/dist/__tests__/session.test.js.map +1 -1
  251. package/dist/__tests__/sessionBinding.test.d.ts +2 -0
  252. package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
  253. package/dist/__tests__/sessionBinding.test.js +118 -0
  254. package/dist/__tests__/sessionBinding.test.js.map +1 -0
  255. package/dist/__tests__/sessionByIdLookup.test.d.ts +2 -0
  256. package/dist/__tests__/sessionByIdLookup.test.d.ts.map +1 -0
  257. package/dist/__tests__/sessionByIdLookup.test.js +63 -0
  258. package/dist/__tests__/sessionByIdLookup.test.js.map +1 -0
  259. package/dist/__tests__/setup-ingest.test.d.ts +2 -0
  260. package/dist/__tests__/setup-ingest.test.d.ts.map +1 -0
  261. package/dist/__tests__/setup-ingest.test.js +71 -0
  262. package/dist/__tests__/setup-ingest.test.js.map +1 -0
  263. package/dist/__tests__/setup-resolver.test.d.ts +14 -0
  264. package/dist/__tests__/setup-resolver.test.d.ts.map +1 -0
  265. package/dist/__tests__/setup-resolver.test.js +228 -0
  266. package/dist/__tests__/setup-resolver.test.js.map +1 -0
  267. package/dist/__tests__/setupShFallbackWarning.test.d.ts +2 -0
  268. package/dist/__tests__/setupShFallbackWarning.test.d.ts.map +1 -0
  269. package/dist/__tests__/setupShFallbackWarning.test.js +15 -0
  270. package/dist/__tests__/setupShFallbackWarning.test.js.map +1 -0
  271. package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
  272. package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
  273. package/dist/__tests__/skill-vocabulary.test.js +192 -0
  274. package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
  275. package/dist/__tests__/state.test.d.ts +6 -0
  276. package/dist/__tests__/state.test.d.ts.map +1 -0
  277. package/dist/__tests__/state.test.js +117 -0
  278. package/dist/__tests__/state.test.js.map +1 -0
  279. package/dist/__tests__/strip.test.js +31 -3
  280. package/dist/__tests__/strip.test.js.map +1 -1
  281. package/dist/__tests__/surfaces.test.d.ts +2 -0
  282. package/dist/__tests__/surfaces.test.d.ts.map +1 -0
  283. package/dist/__tests__/surfaces.test.js +46 -0
  284. package/dist/__tests__/surfaces.test.js.map +1 -0
  285. package/dist/__tests__/tenant-notice-write-path.test.d.ts +2 -0
  286. package/dist/__tests__/tenant-notice-write-path.test.d.ts.map +1 -0
  287. package/dist/__tests__/tenant-notice-write-path.test.js +169 -0
  288. package/dist/__tests__/tenant-notice-write-path.test.js.map +1 -0
  289. package/dist/__tests__/update-check.test.d.ts +2 -0
  290. package/dist/__tests__/update-check.test.d.ts.map +1 -0
  291. package/dist/__tests__/update-check.test.js +215 -0
  292. package/dist/__tests__/update-check.test.js.map +1 -0
  293. package/dist/__tests__/update.test.js +263 -22
  294. package/dist/__tests__/update.test.js.map +1 -1
  295. package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
  296. package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
  297. package/dist/__tests__/upgrade-runner.test.js +54 -0
  298. package/dist/__tests__/upgrade-runner.test.js.map +1 -0
  299. package/dist/__tests__/upgrade.test.d.ts +2 -0
  300. package/dist/__tests__/upgrade.test.d.ts.map +1 -0
  301. package/dist/__tests__/upgrade.test.js +56 -0
  302. package/dist/__tests__/upgrade.test.js.map +1 -0
  303. package/dist/__tests__/verify-formatter.test.d.ts +2 -0
  304. package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
  305. package/dist/__tests__/verify-formatter.test.js +85 -0
  306. package/dist/__tests__/verify-formatter.test.js.map +1 -0
  307. package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
  308. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
  309. package/dist/__tests__/vocabulary-leak.test.js +539 -0
  310. package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
  311. package/dist/__tests__/workspace.test.js +52 -32
  312. package/dist/__tests__/workspace.test.js.map +1 -1
  313. package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
  314. package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
  315. package/dist/__tests__/workspaceNotice.test.js +567 -0
  316. package/dist/__tests__/workspaceNotice.test.js.map +1 -0
  317. package/dist/commands/__tests__/connect-handoff.test.d.ts +11 -0
  318. package/dist/commands/__tests__/connect-handoff.test.d.ts.map +1 -0
  319. package/dist/commands/__tests__/connect-handoff.test.js +111 -0
  320. package/dist/commands/__tests__/connect-handoff.test.js.map +1 -0
  321. package/dist/commands/__tests__/quality.test.d.ts +2 -0
  322. package/dist/commands/__tests__/quality.test.d.ts.map +1 -0
  323. package/dist/commands/__tests__/quality.test.js +156 -0
  324. package/dist/commands/__tests__/quality.test.js.map +1 -0
  325. package/dist/commands/__tests__/rework.test.d.ts +2 -0
  326. package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
  327. package/dist/commands/__tests__/rework.test.js +149 -0
  328. package/dist/commands/__tests__/rework.test.js.map +1 -0
  329. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
  330. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
  331. package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
  332. package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
  333. package/dist/commands/__tests__/setup-state.test.d.ts +2 -0
  334. package/dist/commands/__tests__/setup-state.test.d.ts.map +1 -0
  335. package/dist/commands/__tests__/setup-state.test.js +194 -0
  336. package/dist/commands/__tests__/setup-state.test.js.map +1 -0
  337. package/dist/commands/accept-policy.d.ts +10 -0
  338. package/dist/commands/accept-policy.d.ts.map +1 -0
  339. package/dist/commands/accept-policy.js +107 -0
  340. package/dist/commands/accept-policy.js.map +1 -0
  341. package/dist/commands/accept.d.ts.map +1 -1
  342. package/dist/commands/accept.js +5 -5
  343. package/dist/commands/accept.js.map +1 -1
  344. package/dist/commands/admin/cockpit.d.ts +31 -10
  345. package/dist/commands/admin/cockpit.d.ts.map +1 -1
  346. package/dist/commands/admin/cockpit.js +415 -26
  347. package/dist/commands/admin/cockpit.js.map +1 -1
  348. package/dist/commands/admin/index.d.ts +49 -0
  349. package/dist/commands/admin/index.d.ts.map +1 -1
  350. package/dist/commands/admin/index.js +172 -1
  351. package/dist/commands/admin/index.js.map +1 -1
  352. package/dist/commands/admin/index.test.d.ts +2 -0
  353. package/dist/commands/admin/index.test.d.ts.map +1 -0
  354. package/dist/commands/admin/index.test.js +84 -0
  355. package/dist/commands/admin/index.test.js.map +1 -0
  356. package/dist/commands/admin/inspect.d.ts +9 -0
  357. package/dist/commands/admin/inspect.d.ts.map +1 -1
  358. package/dist/commands/admin/inspect.js +20 -1
  359. package/dist/commands/admin/inspect.js.map +1 -1
  360. package/dist/commands/admin/inspect.test.js +20 -1
  361. package/dist/commands/admin/inspect.test.js.map +1 -1
  362. package/dist/commands/admin/manage.d.ts +8 -0
  363. package/dist/commands/admin/manage.d.ts.map +1 -0
  364. package/dist/commands/admin/manage.js +260 -0
  365. package/dist/commands/admin/manage.js.map +1 -0
  366. package/dist/commands/admin/manage.test.d.ts +16 -0
  367. package/dist/commands/admin/manage.test.d.ts.map +1 -0
  368. package/dist/commands/admin/manage.test.js +159 -0
  369. package/dist/commands/admin/manage.test.js.map +1 -0
  370. package/dist/commands/admin/probe.d.ts +75 -0
  371. package/dist/commands/admin/probe.d.ts.map +1 -0
  372. package/dist/commands/admin/probe.js +224 -0
  373. package/dist/commands/admin/probe.js.map +1 -0
  374. package/dist/commands/admin/probe.test.d.ts +2 -0
  375. package/dist/commands/admin/probe.test.d.ts.map +1 -0
  376. package/dist/commands/admin/probe.test.js +193 -0
  377. package/dist/commands/admin/probe.test.js.map +1 -0
  378. package/dist/commands/admin/run.d.ts +43 -0
  379. package/dist/commands/admin/run.d.ts.map +1 -0
  380. package/dist/commands/admin/run.js +78 -0
  381. package/dist/commands/admin/run.js.map +1 -0
  382. package/dist/commands/admin/run.test.d.ts +18 -0
  383. package/dist/commands/admin/run.test.d.ts.map +1 -0
  384. package/dist/commands/admin/run.test.js +168 -0
  385. package/dist/commands/admin/run.test.js.map +1 -0
  386. package/dist/commands/admin/seed.d.ts +46 -3
  387. package/dist/commands/admin/seed.d.ts.map +1 -1
  388. package/dist/commands/admin/seed.js +497 -77
  389. package/dist/commands/admin/seed.js.map +1 -1
  390. package/dist/commands/admin/seed.test.d.ts +5 -0
  391. package/dist/commands/admin/seed.test.d.ts.map +1 -1
  392. package/dist/commands/admin/seed.test.js +90 -8
  393. package/dist/commands/admin/seed.test.js.map +1 -1
  394. package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
  395. package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
  396. package/dist/commands/admin/seedRegistryEntries.generated.js +153 -0
  397. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
  398. package/dist/commands/admin/seedRegistryEntries.test.d.ts +13 -0
  399. package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
  400. package/dist/commands/admin/seedRegistryEntries.test.js +91 -0
  401. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
  402. package/dist/commands/admin/seedRowType.d.ts +22 -0
  403. package/dist/commands/admin/seedRowType.d.ts.map +1 -0
  404. package/dist/commands/admin/seedRowType.js +2 -0
  405. package/dist/commands/admin/seedRowType.js.map +1 -0
  406. package/dist/commands/admin/seedStatusColor.d.ts +9 -0
  407. package/dist/commands/admin/seedStatusColor.d.ts.map +1 -0
  408. package/dist/commands/admin/seedStatusColor.js +18 -0
  409. package/dist/commands/admin/seedStatusColor.js.map +1 -0
  410. package/dist/commands/admin/seedStatusColor.test.d.ts +2 -0
  411. package/dist/commands/admin/seedStatusColor.test.d.ts.map +1 -0
  412. package/dist/commands/admin/seedStatusColor.test.js +25 -0
  413. package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
  414. package/dist/commands/audit.d.ts.map +1 -1
  415. package/dist/commands/audit.js +42 -7
  416. package/dist/commands/audit.js.map +1 -1
  417. package/dist/commands/authority-domains.d.ts +157 -0
  418. package/dist/commands/authority-domains.d.ts.map +1 -0
  419. package/dist/commands/authority-domains.js +387 -0
  420. package/dist/commands/authority-domains.js.map +1 -0
  421. package/dist/commands/brief.d.ts.map +1 -1
  422. package/dist/commands/brief.js +9 -5
  423. package/dist/commands/brief.js.map +1 -1
  424. package/dist/commands/capture.d.ts +16 -3
  425. package/dist/commands/capture.d.ts.map +1 -1
  426. package/dist/commands/capture.js +265 -98
  427. package/dist/commands/capture.js.map +1 -1
  428. package/dist/commands/chain-walk.d.ts.map +1 -1
  429. package/dist/commands/chain-walk.js +2 -2
  430. package/dist/commands/chain-walk.js.map +1 -1
  431. package/dist/commands/changes.d.ts.map +1 -1
  432. package/dist/commands/changes.js +2 -2
  433. package/dist/commands/changes.js.map +1 -1
  434. package/dist/commands/codex-prep.d.ts +12 -1
  435. package/dist/commands/codex-prep.d.ts.map +1 -1
  436. package/dist/commands/codex-prep.js +19 -85
  437. package/dist/commands/codex-prep.js.map +1 -1
  438. package/dist/commands/collections.d.ts.map +1 -1
  439. package/dist/commands/collections.js +5 -5
  440. package/dist/commands/collections.js.map +1 -1
  441. package/dist/commands/conflicts.d.ts +40 -0
  442. package/dist/commands/conflicts.d.ts.map +1 -0
  443. package/dist/commands/conflicts.js +267 -0
  444. package/dist/commands/conflicts.js.map +1 -0
  445. package/dist/commands/conflicts.test.d.ts +2 -0
  446. package/dist/commands/conflicts.test.d.ts.map +1 -0
  447. package/dist/commands/conflicts.test.js +219 -0
  448. package/dist/commands/conflicts.test.js.map +1 -0
  449. package/dist/commands/connect-config.test.d.ts +2 -0
  450. package/dist/commands/connect-config.test.d.ts.map +1 -0
  451. package/dist/commands/connect-config.test.js +44 -0
  452. package/dist/commands/connect-config.test.js.map +1 -0
  453. package/dist/commands/connect-context.d.ts +45 -0
  454. package/dist/commands/connect-context.d.ts.map +1 -0
  455. package/dist/commands/connect-context.js +83 -0
  456. package/dist/commands/connect-context.js.map +1 -0
  457. package/dist/commands/connect-context.test.d.ts +2 -0
  458. package/dist/commands/connect-context.test.d.ts.map +1 -0
  459. package/dist/commands/connect-context.test.js +158 -0
  460. package/dist/commands/connect-context.test.js.map +1 -0
  461. package/dist/commands/connect-handoff.d.ts +51 -0
  462. package/dist/commands/connect-handoff.d.ts.map +1 -0
  463. package/dist/commands/connect-handoff.js +70 -0
  464. package/dist/commands/connect-handoff.js.map +1 -0
  465. package/dist/commands/connect-integration.test.js +58 -35
  466. package/dist/commands/connect-integration.test.js.map +1 -1
  467. package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
  468. package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
  469. package/dist/commands/connect-legacy-migration.test.js +109 -0
  470. package/dist/commands/connect-legacy-migration.test.js.map +1 -0
  471. package/dist/commands/connect-screens.d.ts +33 -0
  472. package/dist/commands/connect-screens.d.ts.map +1 -0
  473. package/dist/commands/connect-screens.js +124 -0
  474. package/dist/commands/connect-screens.js.map +1 -0
  475. package/dist/commands/connect.d.ts +27 -6
  476. package/dist/commands/connect.d.ts.map +1 -1
  477. package/dist/commands/connect.js +256 -119
  478. package/dist/commands/connect.js.map +1 -1
  479. package/dist/commands/connect.test.js +348 -7
  480. package/dist/commands/connect.test.js.map +1 -1
  481. package/dist/commands/constellation.d.ts.map +1 -1
  482. package/dist/commands/constellation.js +2 -2
  483. package/dist/commands/constellation.js.map +1 -1
  484. package/dist/commands/context.d.ts.map +1 -1
  485. package/dist/commands/context.js +2 -2
  486. package/dist/commands/context.js.map +1 -1
  487. package/dist/commands/cross-cut.d.ts.map +1 -1
  488. package/dist/commands/cross-cut.js +2 -2
  489. package/dist/commands/cross-cut.js.map +1 -1
  490. package/dist/commands/direction.d.ts +10 -0
  491. package/dist/commands/direction.d.ts.map +1 -0
  492. package/dist/commands/direction.js +79 -0
  493. package/dist/commands/direction.js.map +1 -0
  494. package/dist/commands/doctor.d.ts.map +1 -1
  495. package/dist/commands/doctor.js +175 -39
  496. package/dist/commands/doctor.js.map +1 -1
  497. package/dist/commands/doctor.test.js +353 -7
  498. package/dist/commands/doctor.test.js.map +1 -1
  499. package/dist/commands/entryArchive.d.ts +8 -0
  500. package/dist/commands/entryArchive.d.ts.map +1 -0
  501. package/dist/commands/entryArchive.js +37 -0
  502. package/dist/commands/entryArchive.js.map +1 -0
  503. package/dist/commands/feedback.d.ts +36 -0
  504. package/dist/commands/feedback.d.ts.map +1 -0
  505. package/dist/commands/feedback.js +193 -0
  506. package/dist/commands/feedback.js.map +1 -0
  507. package/dist/commands/feedback.test.d.ts +2 -0
  508. package/dist/commands/feedback.test.d.ts.map +1 -0
  509. package/dist/commands/feedback.test.js +125 -0
  510. package/dist/commands/feedback.test.js.map +1 -0
  511. package/dist/commands/fields.d.ts.map +1 -1
  512. package/dist/commands/fields.js +3 -3
  513. package/dist/commands/fields.js.map +1 -1
  514. package/dist/commands/files.d.ts +26 -0
  515. package/dist/commands/files.d.ts.map +1 -0
  516. package/dist/commands/files.js +160 -0
  517. package/dist/commands/files.js.map +1 -0
  518. package/dist/commands/files.test.d.ts +2 -0
  519. package/dist/commands/files.test.d.ts.map +1 -0
  520. package/dist/commands/files.test.js +278 -0
  521. package/dist/commands/files.test.js.map +1 -0
  522. package/dist/commands/get.js +3 -3
  523. package/dist/commands/get.js.map +1 -1
  524. package/dist/commands/handshake.d.ts +223 -2
  525. package/dist/commands/handshake.d.ts.map +1 -1
  526. package/dist/commands/handshake.js +2106 -62
  527. package/dist/commands/handshake.js.map +1 -1
  528. package/dist/commands/ingest.d.ts.map +1 -1
  529. package/dist/commands/ingest.js +15 -6
  530. package/dist/commands/ingest.js.map +1 -1
  531. package/dist/commands/init.d.ts +1 -1
  532. package/dist/commands/init.d.ts.map +1 -1
  533. package/dist/commands/init.js +20 -17
  534. package/dist/commands/init.js.map +1 -1
  535. package/dist/commands/login.d.ts.map +1 -1
  536. package/dist/commands/login.js +6 -5
  537. package/dist/commands/login.js.map +1 -1
  538. package/dist/commands/method.d.ts +99 -0
  539. package/dist/commands/method.d.ts.map +1 -0
  540. package/dist/commands/method.js +804 -0
  541. package/dist/commands/method.js.map +1 -0
  542. package/dist/commands/migrate-setup.d.ts +18 -0
  543. package/dist/commands/migrate-setup.d.ts.map +1 -0
  544. package/dist/commands/migrate-setup.js +162 -0
  545. package/dist/commands/migrate-setup.js.map +1 -0
  546. package/dist/commands/organisation.d.ts +41 -0
  547. package/dist/commands/organisation.d.ts.map +1 -0
  548. package/dist/commands/organisation.js +353 -0
  549. package/dist/commands/organisation.js.map +1 -0
  550. package/dist/commands/organisation.test.d.ts +2 -0
  551. package/dist/commands/organisation.test.d.ts.map +1 -0
  552. package/dist/commands/organisation.test.js +233 -0
  553. package/dist/commands/organisation.test.js.map +1 -0
  554. package/dist/commands/organisationHierarchy.d.ts +8 -0
  555. package/dist/commands/organisationHierarchy.d.ts.map +1 -0
  556. package/dist/commands/organisationHierarchy.js +67 -0
  557. package/dist/commands/organisationHierarchy.js.map +1 -0
  558. package/dist/commands/organisationHierarchy.test.d.ts +2 -0
  559. package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
  560. package/dist/commands/organisationHierarchy.test.js +55 -0
  561. package/dist/commands/organisationHierarchy.test.js.map +1 -0
  562. package/dist/commands/organisationWrite.d.ts +18 -0
  563. package/dist/commands/organisationWrite.d.ts.map +1 -0
  564. package/dist/commands/organisationWrite.js +50 -0
  565. package/dist/commands/organisationWrite.js.map +1 -0
  566. package/dist/commands/orient.d.ts +128 -2
  567. package/dist/commands/orient.d.ts.map +1 -1
  568. package/dist/commands/orient.js +223 -7
  569. package/dist/commands/orient.js.map +1 -1
  570. package/dist/commands/outcome.d.ts +117 -0
  571. package/dist/commands/outcome.d.ts.map +1 -0
  572. package/dist/commands/outcome.js +192 -0
  573. package/dist/commands/outcome.js.map +1 -0
  574. package/dist/commands/outcome.test.d.ts +2 -0
  575. package/dist/commands/outcome.test.d.ts.map +1 -0
  576. package/dist/commands/outcome.test.js +294 -0
  577. package/dist/commands/outcome.test.js.map +1 -0
  578. package/dist/commands/profile.d.ts +16 -1
  579. package/dist/commands/profile.d.ts.map +1 -1
  580. package/dist/commands/profile.js +173 -37
  581. package/dist/commands/profile.js.map +1 -1
  582. package/dist/commands/promote.d.ts +12 -1
  583. package/dist/commands/promote.d.ts.map +1 -1
  584. package/dist/commands/promote.js +243 -57
  585. package/dist/commands/promote.js.map +1 -1
  586. package/dist/commands/proof-run.d.ts +51 -0
  587. package/dist/commands/proof-run.d.ts.map +1 -0
  588. package/dist/commands/proof-run.js +209 -0
  589. package/dist/commands/proof-run.js.map +1 -0
  590. package/dist/commands/proposals.d.ts.map +1 -1
  591. package/dist/commands/proposals.js +2 -2
  592. package/dist/commands/proposals.js.map +1 -1
  593. package/dist/commands/quality.d.ts +16 -0
  594. package/dist/commands/quality.d.ts.map +1 -0
  595. package/dist/commands/quality.js +29 -0
  596. package/dist/commands/quality.js.map +1 -0
  597. package/dist/commands/questions.d.ts +33 -0
  598. package/dist/commands/questions.d.ts.map +1 -0
  599. package/dist/commands/questions.js +300 -0
  600. package/dist/commands/questions.js.map +1 -0
  601. package/dist/commands/questions.test.d.ts +2 -0
  602. package/dist/commands/questions.test.d.ts.map +1 -0
  603. package/dist/commands/questions.test.js +175 -0
  604. package/dist/commands/questions.test.js.map +1 -0
  605. package/dist/commands/reject.d.ts.map +1 -1
  606. package/dist/commands/reject.js +5 -4
  607. package/dist/commands/reject.js.map +1 -1
  608. package/dist/commands/relate.d.ts +1 -0
  609. package/dist/commands/relate.d.ts.map +1 -1
  610. package/dist/commands/relate.js +66 -5
  611. package/dist/commands/relate.js.map +1 -1
  612. package/dist/commands/restore.d.ts +2 -0
  613. package/dist/commands/restore.d.ts.map +1 -0
  614. package/dist/commands/restore.js +83 -0
  615. package/dist/commands/restore.js.map +1 -0
  616. package/dist/commands/rework.d.ts +24 -0
  617. package/dist/commands/rework.d.ts.map +1 -0
  618. package/dist/commands/rework.js +97 -0
  619. package/dist/commands/rework.js.map +1 -0
  620. package/dist/commands/scoreboard.d.ts +28 -0
  621. package/dist/commands/scoreboard.d.ts.map +1 -0
  622. package/dist/commands/scoreboard.js +40 -0
  623. package/dist/commands/scoreboard.js.map +1 -0
  624. package/dist/commands/search.d.ts.map +1 -1
  625. package/dist/commands/search.js +2 -2
  626. package/dist/commands/search.js.map +1 -1
  627. package/dist/commands/session.d.ts +59 -7
  628. package/dist/commands/session.d.ts.map +1 -1
  629. package/dist/commands/session.js +495 -50
  630. package/dist/commands/session.js.map +1 -1
  631. package/dist/commands/setup-audit.d.ts +59 -0
  632. package/dist/commands/setup-audit.d.ts.map +1 -0
  633. package/dist/commands/setup-audit.js +250 -0
  634. package/dist/commands/setup-audit.js.map +1 -0
  635. package/dist/commands/setup-detect-surfaces.d.ts +38 -0
  636. package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
  637. package/dist/commands/setup-detect-surfaces.js +76 -0
  638. package/dist/commands/setup-detect-surfaces.js.map +1 -0
  639. package/dist/commands/setup-ingest.d.ts +17 -0
  640. package/dist/commands/setup-ingest.d.ts.map +1 -0
  641. package/dist/commands/setup-ingest.js +179 -0
  642. package/dist/commands/setup-ingest.js.map +1 -0
  643. package/dist/commands/setup-resolver.d.ts +58 -0
  644. package/dist/commands/setup-resolver.d.ts.map +1 -0
  645. package/dist/commands/setup-resolver.js +150 -0
  646. package/dist/commands/setup-resolver.js.map +1 -0
  647. package/dist/commands/setup-state.d.ts +42 -0
  648. package/dist/commands/setup-state.d.ts.map +1 -0
  649. package/dist/commands/setup-state.js +93 -0
  650. package/dist/commands/setup-state.js.map +1 -0
  651. package/dist/commands/setup.d.ts +17 -9
  652. package/dist/commands/setup.d.ts.map +1 -1
  653. package/dist/commands/setup.js +53 -152
  654. package/dist/commands/setup.js.map +1 -1
  655. package/dist/commands/shape.d.ts +16 -0
  656. package/dist/commands/shape.d.ts.map +1 -0
  657. package/dist/commands/shape.js +149 -0
  658. package/dist/commands/shape.js.map +1 -0
  659. package/dist/commands/shape.test.d.ts +2 -0
  660. package/dist/commands/shape.test.d.ts.map +1 -0
  661. package/dist/commands/shape.test.js +148 -0
  662. package/dist/commands/shape.test.js.map +1 -0
  663. package/dist/commands/status.d.ts +7 -0
  664. package/dist/commands/status.d.ts.map +1 -0
  665. package/dist/commands/status.js +102 -0
  666. package/dist/commands/status.js.map +1 -0
  667. package/dist/commands/status.test.d.ts +2 -0
  668. package/dist/commands/status.test.d.ts.map +1 -0
  669. package/dist/commands/status.test.js +75 -0
  670. package/dist/commands/status.test.js.map +1 -0
  671. package/dist/commands/update.d.ts +20 -0
  672. package/dist/commands/update.d.ts.map +1 -1
  673. package/dist/commands/update.js +92 -35
  674. package/dist/commands/update.js.map +1 -1
  675. package/dist/commands/upgrade.d.ts +5 -0
  676. package/dist/commands/upgrade.d.ts.map +1 -0
  677. package/dist/commands/upgrade.js +110 -0
  678. package/dist/commands/upgrade.js.map +1 -0
  679. package/dist/commands/usage.d.ts +40 -0
  680. package/dist/commands/usage.d.ts.map +1 -0
  681. package/dist/commands/usage.js +214 -0
  682. package/dist/commands/usage.js.map +1 -0
  683. package/dist/commands/verify.d.ts.map +1 -1
  684. package/dist/commands/verify.js +9 -3
  685. package/dist/commands/verify.js.map +1 -1
  686. package/dist/commands/welcome.d.ts +21 -0
  687. package/dist/commands/welcome.d.ts.map +1 -0
  688. package/dist/commands/welcome.js +53 -0
  689. package/dist/commands/welcome.js.map +1 -0
  690. package/dist/commands/whoami.d.ts +20 -0
  691. package/dist/commands/whoami.d.ts.map +1 -0
  692. package/dist/commands/whoami.js +126 -0
  693. package/dist/commands/whoami.js.map +1 -0
  694. package/dist/commands/whoami.test.d.ts +2 -0
  695. package/dist/commands/whoami.test.d.ts.map +1 -0
  696. package/dist/commands/whoami.test.js +130 -0
  697. package/dist/commands/whoami.test.js.map +1 -0
  698. package/dist/commands/workspace.d.ts +76 -2
  699. package/dist/commands/workspace.d.ts.map +1 -1
  700. package/dist/commands/workspace.js +30 -6
  701. package/dist/commands/workspace.js.map +1 -1
  702. package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts +2 -0
  703. package/dist/formatters/__tests__/orient-possibleConflict.test.d.ts.map +1 -0
  704. package/dist/formatters/__tests__/orient-possibleConflict.test.js +68 -0
  705. package/dist/formatters/__tests__/orient-possibleConflict.test.js.map +1 -0
  706. package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
  707. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
  708. package/dist/formatters/__tests__/orient-provenance.test.js +548 -0
  709. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
  710. package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
  711. package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
  712. package/dist/formatters/__tests__/session-list-show.test.js +159 -0
  713. package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
  714. package/dist/formatters/__tests__/session.test.d.ts +2 -0
  715. package/dist/formatters/__tests__/session.test.d.ts.map +1 -0
  716. package/dist/formatters/__tests__/session.test.js +206 -0
  717. package/dist/formatters/__tests__/session.test.js.map +1 -0
  718. package/dist/formatters/audit.d.ts +6 -0
  719. package/dist/formatters/audit.d.ts.map +1 -1
  720. package/dist/formatters/audit.js +1 -1
  721. package/dist/formatters/audit.js.map +1 -1
  722. package/dist/formatters/brief.d.ts +1 -0
  723. package/dist/formatters/brief.d.ts.map +1 -1
  724. package/dist/formatters/brief.js +1 -1
  725. package/dist/formatters/brief.js.map +1 -1
  726. package/dist/formatters/capture.d.ts +8 -0
  727. package/dist/formatters/capture.d.ts.map +1 -1
  728. package/dist/formatters/capture.js +12 -1
  729. package/dist/formatters/capture.js.map +1 -1
  730. package/dist/formatters/coaching.d.ts +55 -0
  731. package/dist/formatters/coaching.d.ts.map +1 -0
  732. package/dist/formatters/coaching.js +46 -0
  733. package/dist/formatters/coaching.js.map +1 -0
  734. package/dist/formatters/conflicts.d.ts +69 -0
  735. package/dist/formatters/conflicts.d.ts.map +1 -0
  736. package/dist/formatters/conflicts.js +87 -0
  737. package/dist/formatters/conflicts.js.map +1 -0
  738. package/dist/formatters/conflicts.test.d.ts +2 -0
  739. package/dist/formatters/conflicts.test.d.ts.map +1 -0
  740. package/dist/formatters/conflicts.test.js +136 -0
  741. package/dist/formatters/conflicts.test.js.map +1 -0
  742. package/dist/formatters/context.d.ts +1 -1
  743. package/dist/formatters/context.d.ts.map +1 -1
  744. package/dist/formatters/context.js.map +1 -1
  745. package/dist/formatters/direction.d.ts +48 -0
  746. package/dist/formatters/direction.d.ts.map +1 -0
  747. package/dist/formatters/direction.js +75 -0
  748. package/dist/formatters/direction.js.map +1 -0
  749. package/dist/formatters/direction.test.d.ts +2 -0
  750. package/dist/formatters/direction.test.d.ts.map +1 -0
  751. package/dist/formatters/direction.test.js +70 -0
  752. package/dist/formatters/direction.test.js.map +1 -0
  753. package/dist/formatters/entry.d.ts +44 -0
  754. package/dist/formatters/entry.d.ts.map +1 -1
  755. package/dist/formatters/entry.js +70 -7
  756. package/dist/formatters/entry.js.map +1 -1
  757. package/dist/formatters/feedback.d.ts +56 -0
  758. package/dist/formatters/feedback.d.ts.map +1 -0
  759. package/dist/formatters/feedback.js +89 -0
  760. package/dist/formatters/feedback.js.map +1 -0
  761. package/dist/formatters/feedback.test.d.ts +2 -0
  762. package/dist/formatters/feedback.test.d.ts.map +1 -0
  763. package/dist/formatters/feedback.test.js +112 -0
  764. package/dist/formatters/feedback.test.js.map +1 -0
  765. package/dist/formatters/handshake.d.ts +39 -0
  766. package/dist/formatters/handshake.d.ts.map +1 -1
  767. package/dist/formatters/handshake.js +133 -3
  768. package/dist/formatters/handshake.js.map +1 -1
  769. package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
  770. package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
  771. package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
  772. package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
  773. package/dist/formatters/orient.d.ts +245 -8
  774. package/dist/formatters/orient.d.ts.map +1 -1
  775. package/dist/formatters/orient.js +277 -42
  776. package/dist/formatters/orient.js.map +1 -1
  777. package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
  778. package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
  779. package/dist/formatters/orient.rcrtMiss.test.js +146 -0
  780. package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
  781. package/dist/formatters/orient.rituals.test.d.ts +2 -0
  782. package/dist/formatters/orient.rituals.test.d.ts.map +1 -0
  783. package/dist/formatters/orient.rituals.test.js +70 -0
  784. package/dist/formatters/orient.rituals.test.js.map +1 -0
  785. package/dist/formatters/orient.shapeAdvisorySummary.test.d.ts +2 -0
  786. package/dist/formatters/orient.shapeAdvisorySummary.test.d.ts.map +1 -0
  787. package/dist/formatters/orient.shapeAdvisorySummary.test.js +62 -0
  788. package/dist/formatters/orient.shapeAdvisorySummary.test.js.map +1 -0
  789. package/dist/formatters/orientDegradation.d.ts +21 -0
  790. package/dist/formatters/orientDegradation.d.ts.map +1 -0
  791. package/dist/formatters/orientDegradation.js +33 -0
  792. package/dist/formatters/orientDegradation.js.map +1 -0
  793. package/dist/formatters/orientDirection.d.ts +77 -0
  794. package/dist/formatters/orientDirection.d.ts.map +1 -0
  795. package/dist/formatters/orientDirection.js +94 -0
  796. package/dist/formatters/orientDirection.js.map +1 -0
  797. package/dist/formatters/orientDirection.test.d.ts +2 -0
  798. package/dist/formatters/orientDirection.test.d.ts.map +1 -0
  799. package/dist/formatters/orientDirection.test.js +193 -0
  800. package/dist/formatters/orientDirection.test.js.map +1 -0
  801. package/dist/formatters/orientRetrievalMiss.d.ts +30 -0
  802. package/dist/formatters/orientRetrievalMiss.d.ts.map +1 -0
  803. package/dist/formatters/orientRetrievalMiss.js +24 -0
  804. package/dist/formatters/orientRetrievalMiss.js.map +1 -0
  805. package/dist/formatters/promote.d.ts +49 -0
  806. package/dist/formatters/promote.d.ts.map +1 -1
  807. package/dist/formatters/promote.js +40 -0
  808. package/dist/formatters/promote.js.map +1 -1
  809. package/dist/formatters/proposals.js +2 -2
  810. package/dist/formatters/proposals.js.map +1 -1
  811. package/dist/formatters/questions.d.ts +100 -0
  812. package/dist/formatters/questions.d.ts.map +1 -0
  813. package/dist/formatters/questions.js +163 -0
  814. package/dist/formatters/questions.js.map +1 -0
  815. package/dist/formatters/questions.test.d.ts +2 -0
  816. package/dist/formatters/questions.test.d.ts.map +1 -0
  817. package/dist/formatters/questions.test.js +211 -0
  818. package/dist/formatters/questions.test.js.map +1 -0
  819. package/dist/formatters/relate.d.ts +14 -1
  820. package/dist/formatters/relate.d.ts.map +1 -1
  821. package/dist/formatters/relate.js +12 -3
  822. package/dist/formatters/relate.js.map +1 -1
  823. package/dist/formatters/relate.test.d.ts +2 -0
  824. package/dist/formatters/relate.test.d.ts.map +1 -0
  825. package/dist/formatters/relate.test.js +81 -0
  826. package/dist/formatters/relate.test.js.map +1 -0
  827. package/dist/formatters/scoreboard.d.ts +11 -0
  828. package/dist/formatters/scoreboard.d.ts.map +1 -0
  829. package/dist/formatters/scoreboard.js +164 -0
  830. package/dist/formatters/scoreboard.js.map +1 -0
  831. package/dist/formatters/scoreboard.test.d.ts +2 -0
  832. package/dist/formatters/scoreboard.test.d.ts.map +1 -0
  833. package/dist/formatters/scoreboard.test.js +303 -0
  834. package/dist/formatters/scoreboard.test.js.map +1 -0
  835. package/dist/formatters/search.d.ts.map +1 -1
  836. package/dist/formatters/search.js +17 -1
  837. package/dist/formatters/search.js.map +1 -1
  838. package/dist/formatters/search.test.d.ts +2 -0
  839. package/dist/formatters/search.test.d.ts.map +1 -0
  840. package/dist/formatters/search.test.js +46 -0
  841. package/dist/formatters/search.test.js.map +1 -0
  842. package/dist/formatters/session-feedback.test.d.ts +2 -0
  843. package/dist/formatters/session-feedback.test.d.ts.map +1 -0
  844. package/dist/formatters/session-feedback.test.js +61 -0
  845. package/dist/formatters/session-feedback.test.js.map +1 -0
  846. package/dist/formatters/session.d.ts +123 -5
  847. package/dist/formatters/session.d.ts.map +1 -1
  848. package/dist/formatters/session.js +317 -12
  849. package/dist/formatters/session.js.map +1 -1
  850. package/dist/formatters/shape.d.ts +54 -0
  851. package/dist/formatters/shape.d.ts.map +1 -0
  852. package/dist/formatters/shape.js +97 -0
  853. package/dist/formatters/shape.js.map +1 -0
  854. package/dist/formatters/shape.test.d.ts +2 -0
  855. package/dist/formatters/shape.test.d.ts.map +1 -0
  856. package/dist/formatters/shape.test.js +80 -0
  857. package/dist/formatters/shape.test.js.map +1 -0
  858. package/dist/formatters/spineCheck.d.ts +76 -0
  859. package/dist/formatters/spineCheck.d.ts.map +1 -0
  860. package/dist/formatters/spineCheck.js +111 -0
  861. package/dist/formatters/spineCheck.js.map +1 -0
  862. package/dist/formatters/update.d.ts +3 -0
  863. package/dist/formatters/update.d.ts.map +1 -1
  864. package/dist/formatters/update.js +4 -0
  865. package/dist/formatters/update.js.map +1 -1
  866. package/dist/formatters/verify.d.ts +12 -4
  867. package/dist/formatters/verify.d.ts.map +1 -1
  868. package/dist/formatters/verify.js +20 -2
  869. package/dist/formatters/verify.js.map +1 -1
  870. package/dist/generated/healthGapKinds.generated.d.ts +12 -0
  871. package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
  872. package/dist/generated/healthGapKinds.generated.js +24 -0
  873. package/dist/generated/healthGapKinds.generated.js.map +1 -0
  874. package/dist/generated/relationTypes.generated.d.ts +12 -0
  875. package/dist/generated/relationTypes.generated.d.ts.map +1 -0
  876. package/dist/generated/relationTypes.generated.js +11 -0
  877. package/dist/generated/relationTypes.generated.js.map +1 -0
  878. package/dist/generated/routeLatencyBudget.generated.d.ts +55 -0
  879. package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
  880. package/dist/generated/routeLatencyBudget.generated.js +351 -0
  881. package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
  882. package/dist/generated/sourceSurfaces.generated.d.ts +12 -0
  883. package/dist/generated/sourceSurfaces.generated.d.ts.map +1 -0
  884. package/dist/generated/sourceSurfaces.generated.js +11 -0
  885. package/dist/generated/sourceSurfaces.generated.js.map +1 -0
  886. package/dist/generators/adapters.d.ts +33 -0
  887. package/dist/generators/adapters.d.ts.map +1 -1
  888. package/dist/generators/adapters.js +68 -8
  889. package/dist/generators/adapters.js.map +1 -1
  890. package/dist/generators/archetypes.d.ts.map +1 -1
  891. package/dist/generators/archetypes.js +46 -9
  892. package/dist/generators/archetypes.js.map +1 -1
  893. package/dist/generators/archetypes.test.js +35 -0
  894. package/dist/generators/archetypes.test.js.map +1 -1
  895. package/dist/generators/boundary-manifest.d.ts +29 -0
  896. package/dist/generators/boundary-manifest.d.ts.map +1 -0
  897. package/dist/generators/boundary-manifest.js +183 -0
  898. package/dist/generators/boundary-manifest.js.map +1 -0
  899. package/dist/generators/boundary-manifest.real-file.test.d.ts +2 -0
  900. package/dist/generators/boundary-manifest.real-file.test.d.ts.map +1 -0
  901. package/dist/generators/boundary-manifest.real-file.test.js +70 -0
  902. package/dist/generators/boundary-manifest.real-file.test.js.map +1 -0
  903. package/dist/generators/boundary-manifest.test.d.ts +2 -0
  904. package/dist/generators/boundary-manifest.test.d.ts.map +1 -0
  905. package/dist/generators/boundary-manifest.test.js +91 -0
  906. package/dist/generators/boundary-manifest.test.js.map +1 -0
  907. package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts +2 -0
  908. package/dist/generators/chain-classifier-kernel-client-drift.test.d.ts.map +1 -0
  909. package/dist/generators/chain-classifier-kernel-client-drift.test.js +41 -0
  910. package/dist/generators/chain-classifier-kernel-client-drift.test.js.map +1 -0
  911. package/dist/generators/chain-classifier.d.ts +67 -14
  912. package/dist/generators/chain-classifier.d.ts.map +1 -1
  913. package/dist/generators/chain-classifier.js +46 -174
  914. package/dist/generators/chain-classifier.js.map +1 -1
  915. package/dist/generators/chain-rules.d.ts +3 -3
  916. package/dist/generators/chain-rules.d.ts.map +1 -1
  917. package/dist/generators/chain-rules.js +118 -6
  918. package/dist/generators/chain-rules.js.map +1 -1
  919. package/dist/generators/chain-rules.test.js +273 -4
  920. package/dist/generators/chain-rules.test.js.map +1 -1
  921. package/dist/generators/context-md.js +7 -7
  922. package/dist/generators/context-md.js.map +1 -1
  923. package/dist/generators/manifest.d.ts +115 -0
  924. package/dist/generators/manifest.d.ts.map +1 -0
  925. package/dist/generators/manifest.js +277 -0
  926. package/dist/generators/manifest.js.map +1 -0
  927. package/dist/generators/portable-knowledge.d.ts +24 -2
  928. package/dist/generators/portable-knowledge.d.ts.map +1 -1
  929. package/dist/generators/portable-knowledge.js +97 -2
  930. package/dist/generators/portable-knowledge.js.map +1 -1
  931. package/dist/generators/portable-knowledge.test.js +43 -0
  932. package/dist/generators/portable-knowledge.test.js.map +1 -1
  933. package/dist/generators/region-projections.d.ts +18 -0
  934. package/dist/generators/region-projections.d.ts.map +1 -0
  935. package/dist/generators/region-projections.js +49 -0
  936. package/dist/generators/region-projections.js.map +1 -0
  937. package/dist/generators/region-projections.test.d.ts +2 -0
  938. package/dist/generators/region-projections.test.d.ts.map +1 -0
  939. package/dist/generators/region-projections.test.js +63 -0
  940. package/dist/generators/region-projections.test.js.map +1 -0
  941. package/dist/generators/region.d.ts +24 -0
  942. package/dist/generators/region.d.ts.map +1 -0
  943. package/dist/generators/region.js +87 -0
  944. package/dist/generators/region.js.map +1 -0
  945. package/dist/generators/region.test.d.ts +2 -0
  946. package/dist/generators/region.test.d.ts.map +1 -0
  947. package/dist/generators/region.test.js +126 -0
  948. package/dist/generators/region.test.js.map +1 -0
  949. package/dist/generators/surface-profiles.d.ts +1 -2
  950. package/dist/generators/surface-profiles.d.ts.map +1 -1
  951. package/dist/generators/surface-profiles.js.map +1 -1
  952. package/dist/index.d.ts +0 -5
  953. package/dist/index.d.ts.map +1 -1
  954. package/dist/index.js +422 -186
  955. package/dist/index.js.map +1 -1
  956. package/dist/lib/__tests__/legalRelationTypes.test.d.ts +2 -0
  957. package/dist/lib/__tests__/legalRelationTypes.test.d.ts.map +1 -0
  958. package/dist/lib/__tests__/legalRelationTypes.test.js +98 -0
  959. package/dist/lib/__tests__/legalRelationTypes.test.js.map +1 -0
  960. package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
  961. package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
  962. package/dist/lib/__tests__/parseFields.test.js +40 -0
  963. package/dist/lib/__tests__/parseFields.test.js.map +1 -0
  964. package/dist/lib/activation.d.ts.map +1 -1
  965. package/dist/lib/activation.js +8 -4
  966. package/dist/lib/activation.js.map +1 -1
  967. package/dist/lib/activation.test.js +6 -6
  968. package/dist/lib/activation.test.js.map +1 -1
  969. package/dist/lib/adminConfig.d.ts +48 -0
  970. package/dist/lib/adminConfig.d.ts.map +1 -0
  971. package/dist/lib/adminConfig.js +130 -0
  972. package/dist/lib/adminConfig.js.map +1 -0
  973. package/dist/lib/canonicalRefs.d.ts +160 -0
  974. package/dist/lib/canonicalRefs.d.ts.map +1 -0
  975. package/dist/lib/canonicalRefs.js +169 -0
  976. package/dist/lib/canonicalRefs.js.map +1 -0
  977. package/dist/lib/captureGrounding.d.ts +53 -0
  978. package/dist/lib/captureGrounding.d.ts.map +1 -0
  979. package/dist/lib/captureGrounding.js +108 -0
  980. package/dist/lib/captureGrounding.js.map +1 -0
  981. package/dist/lib/client.d.ts +42 -15
  982. package/dist/lib/client.d.ts.map +1 -1
  983. package/dist/lib/client.js +224 -66
  984. package/dist/lib/client.js.map +1 -1
  985. package/dist/lib/collectionRegistry.d.ts +80 -0
  986. package/dist/lib/collectionRegistry.d.ts.map +1 -0
  987. package/dist/lib/collectionRegistry.js +170 -0
  988. package/dist/lib/collectionRegistry.js.map +1 -0
  989. package/dist/lib/commanderOptions.d.ts +8 -0
  990. package/dist/lib/commanderOptions.d.ts.map +1 -0
  991. package/dist/lib/commanderOptions.js +10 -0
  992. package/dist/lib/commanderOptions.js.map +1 -0
  993. package/dist/lib/compose-wrapup-view.d.ts +48 -0
  994. package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
  995. package/dist/lib/compose-wrapup-view.js +37 -0
  996. package/dist/lib/compose-wrapup-view.js.map +1 -0
  997. package/dist/lib/config.d.ts +102 -54
  998. package/dist/lib/config.d.ts.map +1 -1
  999. package/dist/lib/config.js +260 -163
  1000. package/dist/lib/config.js.map +1 -1
  1001. package/dist/lib/configResult.d.ts +103 -0
  1002. package/dist/lib/configResult.d.ts.map +1 -0
  1003. package/dist/lib/configResult.js +180 -0
  1004. package/dist/lib/configResult.js.map +1 -0
  1005. package/dist/lib/connectKeyLabel.d.ts +9 -0
  1006. package/dist/lib/connectKeyLabel.d.ts.map +1 -0
  1007. package/dist/lib/connectKeyLabel.js +12 -0
  1008. package/dist/lib/connectKeyLabel.js.map +1 -0
  1009. package/dist/lib/constants.d.ts +5 -1
  1010. package/dist/lib/constants.d.ts.map +1 -1
  1011. package/dist/lib/constants.js +8 -1
  1012. package/dist/lib/constants.js.map +1 -1
  1013. package/dist/lib/conversation.d.ts +36 -0
  1014. package/dist/lib/conversation.d.ts.map +1 -0
  1015. package/dist/lib/conversation.js +66 -0
  1016. package/dist/lib/conversation.js.map +1 -0
  1017. package/dist/lib/createEntryResult.d.ts +34 -0
  1018. package/dist/lib/createEntryResult.d.ts.map +1 -0
  1019. package/dist/lib/createEntryResult.js +12 -0
  1020. package/dist/lib/createEntryResult.js.map +1 -0
  1021. package/dist/lib/envKeySnapshot.d.ts +10 -0
  1022. package/dist/lib/envKeySnapshot.d.ts.map +1 -0
  1023. package/dist/lib/envKeySnapshot.js +30 -0
  1024. package/dist/lib/envKeySnapshot.js.map +1 -0
  1025. package/dist/lib/errors.d.ts +67 -0
  1026. package/dist/lib/errors.d.ts.map +1 -1
  1027. package/dist/lib/errors.js +67 -0
  1028. package/dist/lib/errors.js.map +1 -1
  1029. package/dist/lib/frontmatter.d.ts +55 -0
  1030. package/dist/lib/frontmatter.d.ts.map +1 -0
  1031. package/dist/lib/frontmatter.js +92 -0
  1032. package/dist/lib/frontmatter.js.map +1 -0
  1033. package/dist/lib/frontmatter.test.d.ts +15 -0
  1034. package/dist/lib/frontmatter.test.d.ts.map +1 -0
  1035. package/dist/lib/frontmatter.test.js +98 -0
  1036. package/dist/lib/frontmatter.test.js.map +1 -0
  1037. package/dist/lib/gatewayTimeout.d.ts +88 -0
  1038. package/dist/lib/gatewayTimeout.d.ts.map +1 -0
  1039. package/dist/lib/gatewayTimeout.js +118 -0
  1040. package/dist/lib/gatewayTimeout.js.map +1 -0
  1041. package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
  1042. package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
  1043. package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
  1044. package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
  1045. package/dist/lib/glossary.js +1 -1
  1046. package/dist/lib/glossary.js.map +1 -1
  1047. package/dist/lib/hook-intents.d.ts +51 -0
  1048. package/dist/lib/hook-intents.d.ts.map +1 -0
  1049. package/dist/lib/hook-intents.js +85 -0
  1050. package/dist/lib/hook-intents.js.map +1 -0
  1051. package/dist/lib/inferSourceDate.d.ts +12 -0
  1052. package/dist/lib/inferSourceDate.d.ts.map +1 -0
  1053. package/dist/lib/inferSourceDate.js +44 -0
  1054. package/dist/lib/inferSourceDate.js.map +1 -0
  1055. package/dist/lib/kernelEnvelope.d.ts +31 -0
  1056. package/dist/lib/kernelEnvelope.d.ts.map +1 -0
  1057. package/dist/lib/kernelEnvelope.js +52 -0
  1058. package/dist/lib/kernelEnvelope.js.map +1 -0
  1059. package/dist/lib/legalRelationTypes.d.ts +25 -0
  1060. package/dist/lib/legalRelationTypes.d.ts.map +1 -0
  1061. package/dist/lib/legalRelationTypes.js +94 -0
  1062. package/dist/lib/legalRelationTypes.js.map +1 -0
  1063. package/dist/lib/localBinding.d.ts +86 -0
  1064. package/dist/lib/localBinding.d.ts.map +1 -0
  1065. package/dist/lib/localBinding.js +173 -0
  1066. package/dist/lib/localBinding.js.map +1 -0
  1067. package/dist/lib/method-registry.d.ts +37 -0
  1068. package/dist/lib/method-registry.d.ts.map +1 -0
  1069. package/dist/lib/method-registry.js +41 -0
  1070. package/dist/lib/method-registry.js.map +1 -0
  1071. package/dist/lib/normalizeMaterializedFilename.d.ts +28 -0
  1072. package/dist/lib/normalizeMaterializedFilename.d.ts.map +1 -0
  1073. package/dist/lib/normalizeMaterializedFilename.js +56 -0
  1074. package/dist/lib/normalizeMaterializedFilename.js.map +1 -0
  1075. package/dist/lib/normalizeMaterializedFilename.test.d.ts +16 -0
  1076. package/dist/lib/normalizeMaterializedFilename.test.d.ts.map +1 -0
  1077. package/dist/lib/normalizeMaterializedFilename.test.js +90 -0
  1078. package/dist/lib/normalizeMaterializedFilename.test.js.map +1 -0
  1079. package/dist/lib/notice-marker.d.ts +3 -0
  1080. package/dist/lib/notice-marker.d.ts.map +1 -0
  1081. package/dist/lib/notice-marker.js +223 -0
  1082. package/dist/lib/notice-marker.js.map +1 -0
  1083. package/dist/lib/onboarding-path-b.d.ts.map +1 -1
  1084. package/dist/lib/onboarding-path-b.js +42 -13
  1085. package/dist/lib/onboarding-path-b.js.map +1 -1
  1086. package/dist/lib/onboarding-shared.d.ts +4 -4
  1087. package/dist/lib/onboarding-shared.d.ts.map +1 -1
  1088. package/dist/lib/onboarding-shared.js +7 -22
  1089. package/dist/lib/onboarding-shared.js.map +1 -1
  1090. package/dist/lib/onboarding.d.ts.map +1 -1
  1091. package/dist/lib/onboarding.js +12 -4
  1092. package/dist/lib/onboarding.js.map +1 -1
  1093. package/dist/lib/parseFields.d.ts +19 -0
  1094. package/dist/lib/parseFields.d.ts.map +1 -0
  1095. package/dist/lib/parseFields.js +49 -0
  1096. package/dist/lib/parseFields.js.map +1 -0
  1097. package/dist/lib/previewBanner.d.ts +9 -0
  1098. package/dist/lib/previewBanner.d.ts.map +1 -0
  1099. package/dist/lib/previewBanner.js +37 -0
  1100. package/dist/lib/previewBanner.js.map +1 -0
  1101. package/dist/lib/productbrain-files.d.ts +94 -0
  1102. package/dist/lib/productbrain-files.d.ts.map +1 -0
  1103. package/dist/lib/productbrain-files.js +214 -0
  1104. package/dist/lib/productbrain-files.js.map +1 -0
  1105. package/dist/lib/productbrain-files.test.d.ts +2 -0
  1106. package/dist/lib/productbrain-files.test.d.ts.map +1 -0
  1107. package/dist/lib/productbrain-files.test.js +293 -0
  1108. package/dist/lib/productbrain-files.test.js.map +1 -0
  1109. package/dist/lib/profiles.d.ts +53 -5
  1110. package/dist/lib/profiles.d.ts.map +1 -1
  1111. package/dist/lib/profiles.js +77 -23
  1112. package/dist/lib/profiles.js.map +1 -1
  1113. package/dist/lib/projectConfig.d.ts +81 -0
  1114. package/dist/lib/projectConfig.d.ts.map +1 -0
  1115. package/dist/lib/projectConfig.js +157 -0
  1116. package/dist/lib/projectConfig.js.map +1 -0
  1117. package/dist/lib/rate-limit.d.ts +38 -0
  1118. package/dist/lib/rate-limit.d.ts.map +1 -0
  1119. package/dist/lib/rate-limit.js +83 -0
  1120. package/dist/lib/rate-limit.js.map +1 -0
  1121. package/dist/lib/reportedProfile.d.ts +18 -0
  1122. package/dist/lib/reportedProfile.d.ts.map +1 -0
  1123. package/dist/lib/reportedProfile.js +144 -0
  1124. package/dist/lib/reportedProfile.js.map +1 -0
  1125. package/dist/lib/runner.d.ts +8 -0
  1126. package/dist/lib/runner.d.ts.map +1 -1
  1127. package/dist/lib/runner.js +23 -0
  1128. package/dist/lib/runner.js.map +1 -1
  1129. package/dist/lib/session.d.ts +113 -4
  1130. package/dist/lib/session.d.ts.map +1 -1
  1131. package/dist/lib/session.js +323 -13
  1132. package/dist/lib/session.js.map +1 -1
  1133. package/dist/lib/sessionBinding.d.ts +61 -0
  1134. package/dist/lib/sessionBinding.d.ts.map +1 -0
  1135. package/dist/lib/sessionBinding.js +125 -0
  1136. package/dist/lib/sessionBinding.js.map +1 -0
  1137. package/dist/lib/sessionNotices.d.ts +57 -0
  1138. package/dist/lib/sessionNotices.d.ts.map +1 -0
  1139. package/dist/lib/sessionNotices.js +128 -0
  1140. package/dist/lib/sessionNotices.js.map +1 -0
  1141. package/dist/lib/sessionNotices.test.d.ts +2 -0
  1142. package/dist/lib/sessionNotices.test.d.ts.map +1 -0
  1143. package/dist/lib/sessionNotices.test.js +48 -0
  1144. package/dist/lib/sessionNotices.test.js.map +1 -0
  1145. package/dist/lib/spinner.js +2 -2
  1146. package/dist/lib/spinner.js.map +1 -1
  1147. package/dist/lib/startup-resolution-signals.d.ts +34 -0
  1148. package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
  1149. package/dist/lib/startup-resolution-signals.js +116 -0
  1150. package/dist/lib/startup-resolution-signals.js.map +1 -0
  1151. package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
  1152. package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
  1153. package/dist/lib/startup-resolution-signals.test.js +113 -0
  1154. package/dist/lib/startup-resolution-signals.test.js.map +1 -0
  1155. package/dist/lib/startup-signals.d.ts +12 -0
  1156. package/dist/lib/startup-signals.d.ts.map +1 -0
  1157. package/dist/lib/startup-signals.js +172 -0
  1158. package/dist/lib/startup-signals.js.map +1 -0
  1159. package/dist/lib/startup-signals.test.d.ts +2 -0
  1160. package/dist/lib/startup-signals.test.d.ts.map +1 -0
  1161. package/dist/lib/startup-signals.test.js +165 -0
  1162. package/dist/lib/startup-signals.test.js.map +1 -0
  1163. package/dist/lib/state.d.ts +58 -0
  1164. package/dist/lib/state.d.ts.map +1 -0
  1165. package/dist/lib/state.js +95 -0
  1166. package/dist/lib/state.js.map +1 -0
  1167. package/dist/lib/strip.d.ts +8 -0
  1168. package/dist/lib/strip.d.ts.map +1 -1
  1169. package/dist/lib/strip.js +23 -1
  1170. package/dist/lib/strip.js.map +1 -1
  1171. package/dist/lib/style.d.ts +3 -1
  1172. package/dist/lib/style.d.ts.map +1 -1
  1173. package/dist/lib/style.js +9 -2
  1174. package/dist/lib/style.js.map +1 -1
  1175. package/dist/lib/tokenConstants.d.ts +19 -0
  1176. package/dist/lib/tokenConstants.d.ts.map +1 -0
  1177. package/dist/lib/tokenConstants.js +19 -0
  1178. package/dist/lib/tokenConstants.js.map +1 -0
  1179. package/dist/lib/update-check.d.ts +56 -0
  1180. package/dist/lib/update-check.d.ts.map +1 -0
  1181. package/dist/lib/update-check.js +296 -0
  1182. package/dist/lib/update-check.js.map +1 -0
  1183. package/dist/lib/upgrade-runner.d.ts +22 -0
  1184. package/dist/lib/upgrade-runner.d.ts.map +1 -0
  1185. package/dist/lib/upgrade-runner.js +110 -0
  1186. package/dist/lib/upgrade-runner.js.map +1 -0
  1187. package/dist/lib/workspace-probe.d.ts +3 -0
  1188. package/dist/lib/workspace-probe.d.ts.map +1 -1
  1189. package/dist/lib/workspace-probe.js +8 -14
  1190. package/dist/lib/workspace-probe.js.map +1 -1
  1191. package/dist/lib/workspaceNotice.d.ts +202 -0
  1192. package/dist/lib/workspaceNotice.d.ts.map +1 -0
  1193. package/dist/lib/workspaceNotice.js +345 -0
  1194. package/dist/lib/workspaceNotice.js.map +1 -0
  1195. package/dist/lib/workspaceVocabCache.d.ts +60 -0
  1196. package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
  1197. package/dist/lib/workspaceVocabCache.js +98 -0
  1198. package/dist/lib/workspaceVocabCache.js.map +1 -0
  1199. package/dist/registerEntryCommands.d.ts +17 -0
  1200. package/dist/registerEntryCommands.d.ts.map +1 -0
  1201. package/dist/registerEntryCommands.js +83 -0
  1202. package/dist/registerEntryCommands.js.map +1 -0
  1203. package/dist/registerOutcomeCommands.d.ts +24 -0
  1204. package/dist/registerOutcomeCommands.d.ts.map +1 -0
  1205. package/dist/registerOutcomeCommands.js +27 -0
  1206. package/dist/registerOutcomeCommands.js.map +1 -0
  1207. package/dist/registerProposalCommands.d.ts +13 -0
  1208. package/dist/registerProposalCommands.d.ts.map +1 -0
  1209. package/dist/registerProposalCommands.js +76 -0
  1210. package/dist/registerProposalCommands.js.map +1 -0
  1211. package/dist/scoreboard/diagnose.d.ts +226 -0
  1212. package/dist/scoreboard/diagnose.d.ts.map +1 -0
  1213. package/dist/scoreboard/diagnose.js +344 -0
  1214. package/dist/scoreboard/diagnose.js.map +1 -0
  1215. package/dist/scoreboard/diagnose.test.d.ts +15 -0
  1216. package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
  1217. package/dist/scoreboard/diagnose.test.js +355 -0
  1218. package/dist/scoreboard/diagnose.test.js.map +1 -0
  1219. package/dist/scoreboard/floors.d.ts +47 -0
  1220. package/dist/scoreboard/floors.d.ts.map +1 -0
  1221. package/dist/scoreboard/floors.js +33 -0
  1222. package/dist/scoreboard/floors.js.map +1 -0
  1223. package/dist/scoreboard/localDrift.d.ts +23 -0
  1224. package/dist/scoreboard/localDrift.d.ts.map +1 -0
  1225. package/dist/scoreboard/localDrift.js +111 -0
  1226. package/dist/scoreboard/localDrift.js.map +1 -0
  1227. package/dist/scoreboard/localDrift.test.d.ts +9 -0
  1228. package/dist/scoreboard/localDrift.test.d.ts.map +1 -0
  1229. package/dist/scoreboard/localDrift.test.js +82 -0
  1230. package/dist/scoreboard/localDrift.test.js.map +1 -0
  1231. package/dist/setup/__tests__/coach-traces.test.d.ts +2 -0
  1232. package/dist/setup/__tests__/coach-traces.test.d.ts.map +1 -0
  1233. package/dist/setup/__tests__/coach-traces.test.js +189 -0
  1234. package/dist/setup/__tests__/coach-traces.test.js.map +1 -0
  1235. package/dist/setup/__tests__/setup-commands.test.d.ts +2 -0
  1236. package/dist/setup/__tests__/setup-commands.test.d.ts.map +1 -0
  1237. package/dist/setup/__tests__/setup-commands.test.js +177 -0
  1238. package/dist/setup/__tests__/setup-commands.test.js.map +1 -0
  1239. package/dist/setup/__tests__/state-machine.test.d.ts +2 -0
  1240. package/dist/setup/__tests__/state-machine.test.d.ts.map +1 -0
  1241. package/dist/setup/__tests__/state-machine.test.js +341 -0
  1242. package/dist/setup/__tests__/state-machine.test.js.map +1 -0
  1243. package/dist/setup/detect-surfaces.d.ts +21 -0
  1244. package/dist/setup/detect-surfaces.d.ts.map +1 -0
  1245. package/dist/setup/detect-surfaces.js +39 -0
  1246. package/dist/setup/detect-surfaces.js.map +1 -0
  1247. package/dist/setup/manifest-writer.d.ts +17 -0
  1248. package/dist/setup/manifest-writer.d.ts.map +1 -0
  1249. package/dist/setup/manifest-writer.js +153 -0
  1250. package/dist/setup/manifest-writer.js.map +1 -0
  1251. package/dist/setup/perimeter.d.ts +72 -0
  1252. package/dist/setup/perimeter.d.ts.map +1 -0
  1253. package/dist/setup/perimeter.js +128 -0
  1254. package/dist/setup/perimeter.js.map +1 -0
  1255. package/dist/setup/state-machine.d.ts +67 -0
  1256. package/dist/setup/state-machine.d.ts.map +1 -0
  1257. package/dist/setup/state-machine.js +124 -0
  1258. package/dist/setup/state-machine.js.map +1 -0
  1259. package/dist/surfaces/__tests__/adapter.test.d.ts +2 -0
  1260. package/dist/surfaces/__tests__/adapter.test.d.ts.map +1 -0
  1261. package/dist/surfaces/__tests__/adapter.test.js +90 -0
  1262. package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
  1263. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +2 -0
  1264. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +1 -0
  1265. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +132 -0
  1266. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +1 -0
  1267. package/dist/surfaces/__tests__/telemetry.test.d.ts +2 -0
  1268. package/dist/surfaces/__tests__/telemetry.test.d.ts.map +1 -0
  1269. package/dist/surfaces/__tests__/telemetry.test.js +55 -0
  1270. package/dist/surfaces/__tests__/telemetry.test.js.map +1 -0
  1271. package/dist/surfaces/adapter.d.ts +70 -0
  1272. package/dist/surfaces/adapter.d.ts.map +1 -0
  1273. package/dist/surfaces/adapter.js +2 -0
  1274. package/dist/surfaces/adapter.js.map +1 -0
  1275. package/dist/surfaces/adapters/claude.d.ts +3 -0
  1276. package/dist/surfaces/adapters/claude.d.ts.map +1 -0
  1277. package/dist/surfaces/adapters/claude.js +67 -0
  1278. package/dist/surfaces/adapters/claude.js.map +1 -0
  1279. package/dist/surfaces/adapters/codex.d.ts +3 -0
  1280. package/dist/surfaces/adapters/codex.d.ts.map +1 -0
  1281. package/dist/surfaces/adapters/codex.js +61 -0
  1282. package/dist/surfaces/adapters/codex.js.map +1 -0
  1283. package/dist/surfaces/adapters/copilot.d.ts +3 -0
  1284. package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
  1285. package/dist/surfaces/adapters/copilot.js +59 -0
  1286. package/dist/surfaces/adapters/copilot.js.map +1 -0
  1287. package/dist/surfaces/adapters/cursor.d.ts +3 -0
  1288. package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
  1289. package/dist/surfaces/adapters/cursor.js +78 -0
  1290. package/dist/surfaces/adapters/cursor.js.map +1 -0
  1291. package/dist/surfaces/registry.d.ts +76 -0
  1292. package/dist/surfaces/registry.d.ts.map +1 -0
  1293. package/dist/surfaces/registry.js +117 -0
  1294. package/dist/surfaces/registry.js.map +1 -0
  1295. package/dist/surfaces/telemetry.d.ts +17 -0
  1296. package/dist/surfaces/telemetry.d.ts.map +1 -0
  1297. package/dist/surfaces/telemetry.js +31 -0
  1298. package/dist/surfaces/telemetry.js.map +1 -0
  1299. package/package.json +7 -3
  1300. package/templates/method-registry.json +16 -0
  1301. package/dist/__tests__/setup.test.d.ts +0 -2
  1302. package/dist/__tests__/setup.test.d.ts.map +0 -1
  1303. package/dist/__tests__/setup.test.js +0 -141
  1304. package/dist/__tests__/setup.test.js.map +0 -1
  1305. package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
  1306. package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
  1307. package/dist/generators/__tests__/surface-profiles.test.js +0 -89
  1308. package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
  1309. package/dist/generators/chain-classifier.test.d.ts +0 -2
  1310. package/dist/generators/chain-classifier.test.d.ts.map +0 -1
  1311. package/dist/generators/chain-classifier.test.js +0 -257
  1312. package/dist/generators/chain-classifier.test.js.map +0 -1
  1313. package/dist/lib/onboarding-phases.d.ts +0 -9
  1314. package/dist/lib/onboarding-phases.d.ts.map +0 -1
  1315. package/dist/lib/onboarding-phases.js +0 -120
  1316. package/dist/lib/onboarding-phases.js.map +0 -1
@@ -0,0 +1,294 @@
1
+ /**
2
+ * WP-722 S2 — `pb outcome record | list`.
3
+ *
4
+ * The surface is thin on purpose: every rule that matters (credential-derived tier, session
5
+ * ownership, role validation) lives behind the gateway and was proven in S1. What THIS slice can
6
+ * get wrong is the surface — sending a string where the door wants a number, silently dropping a
7
+ * flag, or inventing a client-side default that contradicts the server's. So these tests assert
8
+ * the exact args crossing the wire, and the refusals that never reach it.
9
+ */
10
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
11
+ const { getConfigOrGuide, kernelCall, kernelCallWithSession, readSession, runCliCommand } = vi.hoisted(() => ({
12
+ getConfigOrGuide: vi.fn(),
13
+ kernelCall: vi.fn(),
14
+ kernelCallWithSession: vi.fn(),
15
+ readSession: vi.fn(),
16
+ runCliCommand: vi.fn(async ({ fn }) => fn()),
17
+ }));
18
+ vi.mock('../lib/config.js', () => ({ getConfigOrGuide }));
19
+ vi.mock('../lib/client.js', () => ({ kernelCall, kernelCallWithSession }));
20
+ vi.mock('../lib/runner.js', () => ({ runCliCommand }));
21
+ vi.mock('../lib/session.js', () => ({ readSession }));
22
+ import { runOutcomeRecord, runOutcomeList, formatReadingsList, formatOutcomeShow } from './outcome.js';
23
+ describe('pb outcome record', () => {
24
+ beforeEach(() => {
25
+ vi.clearAllMocks();
26
+ getConfigOrGuide.mockResolvedValue({ apiKey: 'pb_sk_test', siteUrl: 'https://example.test' });
27
+ kernelCallWithSession.mockResolvedValue({ readingId: 'r1', independenceTier: 'provenance_unknown', actorKind: 'agent', recordedAt: 1, asOf: 1 });
28
+ readSession.mockReturnValue({ sessionId: 's1' });
29
+ });
30
+ it('sends value as a NUMBER, not the raw argv string', async () => {
31
+ // The door declares `value: v.number()`. Forwarding argv verbatim would be refused by the
32
+ // validator at runtime, which is a wire-shape bug no server-side test can catch.
33
+ await runOutcomeRecord('KR-1', '62', {});
34
+ const [route, args] = kernelCallWithSession.mock.calls[0];
35
+ expect(route).toBe('outcomes.recordReading');
36
+ expect(args.value).toBe(62);
37
+ expect(args.value).not.toBe('62');
38
+ expect(args.entryId).toBe('KR-1');
39
+ });
40
+ it('refuses a non-numeric value BEFORE any network call', async () => {
41
+ await expect(runOutcomeRecord('KR-1', 'sixty-two', {})).rejects.toThrow(/number/i);
42
+ expect(kernelCallWithSession).not.toHaveBeenCalled();
43
+ });
44
+ it('accepts a negative and a decimal value (a reading is not always a positive integer)', async () => {
45
+ await runOutcomeRecord('KR-1', '-3.5', {});
46
+ expect(kernelCallWithSession.mock.calls[0][1].value).toBe(-3.5);
47
+ });
48
+ it('sends --as-of as an epoch-ms NUMBER, and refuses an unparseable date', async () => {
49
+ await runOutcomeRecord('KR-1', '1', { asOf: '2026-03-01' });
50
+ const args = kernelCallWithSession.mock.calls[0][1];
51
+ expect(typeof args.asOf).toBe('number');
52
+ expect(args.asOf).toBe(Date.parse('2026-03-01'));
53
+ vi.clearAllMocks();
54
+ getConfigOrGuide.mockResolvedValue({ apiKey: 'k', siteUrl: 's' });
55
+ await expect(runOutcomeRecord('KR-1', '1', { asOf: 'not-a-date' })).rejects.toThrow(/as-of/i);
56
+ expect(kernelCallWithSession).not.toHaveBeenCalled();
57
+ });
58
+ it('omits every optional it was not given — never sends undefined keys', async () => {
59
+ // A key present-but-undefined is not the same as absent to a Convex validator, and the
60
+ // door's own defaults (kind, asOf, recordedByRoleId) must win when the caller is silent.
61
+ await runOutcomeRecord('KR-1', '5', {});
62
+ const args = kernelCallWithSession.mock.calls[0][1];
63
+ expect(Object.keys(args).sort()).toEqual(['entryId', 'value']);
64
+ });
65
+ it('forwards note, source, value-text and by-role verbatim', async () => {
66
+ await runOutcomeRecord('KR-1', '5', { note: 'n', source: 'dashboard', valueText: '~5', byRole: 'ROL-2' });
67
+ expect(kernelCallWithSession.mock.calls[0][1]).toMatchObject({
68
+ note: 'n', source: 'dashboard', valueText: '~5', recordedByRoleId: 'ROL-2',
69
+ });
70
+ });
71
+ it('refuses --corrects without --kind correction, and --kind correction without --corrects', async () => {
72
+ // Both directions, because the door refuses both and a CLI that only guards one sends a
73
+ // request it already knows will fail.
74
+ await expect(runOutcomeRecord('KR-1', '5', { corrects: 'x' })).rejects.toThrow(/correction/i);
75
+ await expect(runOutcomeRecord('KR-1', '5', { kind: 'correction' })).rejects.toThrow(/corrects/i);
76
+ expect(kernelCallWithSession).not.toHaveBeenCalled();
77
+ });
78
+ it('sends a well-formed correction', async () => {
79
+ await runOutcomeRecord('KR-1', '5', { kind: 'correction', corrects: 'abc123' });
80
+ expect(kernelCallWithSession.mock.calls[0][1]).toMatchObject({ kind: 'correction', correctsReadingId: 'abc123' });
81
+ });
82
+ it('refuses an unknown --kind, naming the legal set', async () => {
83
+ await expect(runOutcomeRecord('KR-1', '5', { kind: 'guess' })).rejects.toThrow(/measurement/);
84
+ expect(kernelCallWithSession).not.toHaveBeenCalled();
85
+ });
86
+ it('records through the SESSION-attributed caller, not the plain one', async () => {
87
+ // A reading is a workspace write whose provenance is the whole point; `kernelCall` would
88
+ // drop the session the tier derivation compares against.
89
+ await runOutcomeRecord('KR-1', '5', {});
90
+ expect(kernelCallWithSession).toHaveBeenCalledTimes(1);
91
+ expect(kernelCall).not.toHaveBeenCalled();
92
+ });
93
+ });
94
+ describe('pb outcome list', () => {
95
+ beforeEach(() => {
96
+ vi.clearAllMocks();
97
+ getConfigOrGuide.mockResolvedValue({ apiKey: 'pb_sk_test', siteUrl: 'https://example.test' });
98
+ kernelCall.mockResolvedValue({ entryDocId: 'e1', pageExhausted: true, readings: [] });
99
+ readSession.mockReturnValue(null);
100
+ });
101
+ it('reads through the plain caller and sends the entry id', async () => {
102
+ await runOutcomeList('KR-1', {});
103
+ const [route, args] = kernelCall.mock.calls[0];
104
+ expect(route).toBe('outcomes.listReadings');
105
+ expect(args.entryId).toBe('KR-1');
106
+ // A read needs no session — requiring one would make `pb outcome list` fail for a caller
107
+ // who has a key but has not started a session.
108
+ expect(kernelCallWithSession).not.toHaveBeenCalled();
109
+ });
110
+ it('sends --limit as a NUMBER and refuses a non-numeric one', async () => {
111
+ await runOutcomeList('KR-1', { limit: '25' });
112
+ expect(kernelCall.mock.calls[0][1].limit).toBe(25);
113
+ vi.clearAllMocks();
114
+ getConfigOrGuide.mockResolvedValue({ apiKey: 'k', siteUrl: 's' });
115
+ await expect(runOutcomeList('KR-1', { limit: 'many' })).rejects.toThrow(/limit/i);
116
+ expect(kernelCall).not.toHaveBeenCalled();
117
+ });
118
+ });
119
+ describe('formatReadingsList — the rendering §8.2 specifies', () => {
120
+ const row = (over = {}) => ({
121
+ readingId: 'rd_1', value: 62, asOf: Date.parse('2026-03-01'), recordedAt: Date.parse('2026-03-01'),
122
+ kind: 'measurement', independenceTier: 'role_click', actorKind: 'person', ...over,
123
+ });
124
+ it('shows a superseded row AND names what replaced it', () => {
125
+ // The ledger is append-only and the correction chain IS the audit trail, so a superseded
126
+ // row is never hidden — it is marked, so a reader does not mistake it for the current value.
127
+ const out = formatReadingsList('KR-S1', {
128
+ entryDocId: 'e', pageExhausted: true,
129
+ readings: [row({ readingId: 'rd_2', value: 70 }), row({ supersededByReadingId: 'rd_2' })],
130
+ });
131
+ expect(out).toContain('superseded by rd_2');
132
+ expect(out).toContain('rd_1');
133
+ expect(out).toContain('2 reading(s)');
134
+ });
135
+ it('prints the readingId on every row — the id --corrects needs must be reachable from list', () => {
136
+ // This is the defect the S2 live walk found: without a printed id there is no way to name
137
+ // the reading a correction replaces, and --corrects is unusable.
138
+ const out = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row()] });
139
+ expect(out).toContain('rd_1');
140
+ });
141
+ it('says so when the page is NOT exhausted, rather than reading as the whole history', () => {
142
+ const bounded = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: false, readings: [row()] });
143
+ expect(bounded).toContain('older readings not loaded');
144
+ const whole = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row()] });
145
+ expect(whole).not.toContain('older readings not loaded');
146
+ });
147
+ it('renders the honest empty case, not an error', () => {
148
+ expect(formatReadingsList('KR-S2', { entryDocId: 'e', pageExhausted: true, readings: [] }))
149
+ .toBe('No readings recorded on KR-S2 yet.');
150
+ });
151
+ });
152
+ describe('formatReadingsList sanitises stored, agent-written content (PR #840 security review)', () => {
153
+ // The threat model is specific: an AGENT writes `note`/`valueText` through
154
+ // `outcomes.recordReading`, a HUMAN reads them in a terminal, and this rendering IS the audit
155
+ // view. Injected newlines do not just look untidy — they forge extra rows in the one surface
156
+ // someone would use to check the rows.
157
+ const row = (over = {}) => ({
158
+ readingId: 'rd_1', value: 62, asOf: Date.parse('2026-03-01'), recordedAt: Date.parse('2026-03-01'),
159
+ kind: 'measurement', independenceTier: 'role_click', actorKind: 'person', ...over,
160
+ });
161
+ const render = (over) => formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row(over)] });
162
+ it('a note with embedded newlines cannot forge extra reading lines', () => {
163
+ const out = render({ note: 'ok\n 2026-03-02 999 [measurement·role_click] rd_FORGED' });
164
+ // One reading in, one rendered line out (plus the header) — the forged row is folded in.
165
+ expect(out.split('\n')).toHaveLength(2);
166
+ expect(out).not.toMatch(/\n\s+2026-03-02/);
167
+ expect(out).toContain('rd_FORGED'); // the TEXT survives; only its line-breaking power is removed
168
+ });
169
+ it('a carriage return cannot overwrite the rendered line', () => {
170
+ // \r alone redraws over what was printed — a note ending in \r plus spaces can blank the
171
+ // real value on a real terminal without adding a line at all.
172
+ const out = render({ note: 'benign\rSAFE — nothing to see' });
173
+ expect(out).not.toContain('\r');
174
+ });
175
+ it('CSI/OSC escape sequences are stripped, not passed to the terminal', () => {
176
+ const esc = String.fromCharCode(27);
177
+ const out = render({ note: `${esc}[31m${esc}[2Jred${esc}[0m`, valueText: `${esc}]0;pwned${esc}\\` });
178
+ expect(out).not.toContain(esc);
179
+ });
180
+ it('valueText is sanitised too — it is stored and agent-written, exactly like note', () => {
181
+ const out = render({ valueText: 'a\nb' });
182
+ expect(out.split('\n')).toHaveLength(2);
183
+ });
184
+ it('ordinary content still renders unchanged', () => {
185
+ // The sanitiser must not damage the normal case, or it will be removed by someone later.
186
+ expect(render({ note: 'from the weekly dashboard', valueText: '~62%' }))
187
+ .toContain('("~62%")');
188
+ expect(render({ note: 'from the weekly dashboard' })).toContain('from the weekly dashboard');
189
+ });
190
+ });
191
+ describe('formatOutcomeShow — the two honesty rules', () => {
192
+ const base = {
193
+ entryId: 'KR-S1', name: 'Weekly signups', readyToCloseInstruction: null,
194
+ outcome: {
195
+ currentResolution: 'no-rows', hasNoReadings: true, direction: 'up-is-good',
196
+ state: 'overdue', completion: 'open', completionProvenance: 'none',
197
+ readyToClose: null, weakestTierInCycle: null, ownerRole: null, reporterRole: null,
198
+ readingCount: 0, unit: null, metric: null,
199
+ },
200
+ };
201
+ const show = (over = {}) => formatOutcomeShow({ ...base, outcome: { ...base.outcome, ...over } });
202
+ it('a never-measured key result shows a BLANK, never 0%', () => {
203
+ // `0%` reads as a measurement. The blank is the honest answer and the distinction is the
204
+ // whole reason progressPct is undefined rather than zero.
205
+ const out = show();
206
+ expect(out).toContain('no readings yet');
207
+ expect(out).not.toContain('0%');
208
+ expect(out).toContain('never read');
209
+ });
210
+ it('a genuine zero reading DOES render as 0% — the other half of that distinction', () => {
211
+ expect(show({ current: { value: 0, asOf: Date.now() }, currentResolution: 'found', hasNoReadings: false, progressPct: 0, readingCount: 1 }))
212
+ .toContain('0%');
213
+ });
214
+ it('the recorded completion is never called confirmed or verified', () => {
215
+ // Nothing in this run verifies a close. A surface implying otherwise is the failure the
216
+ // provenance field exists to prevent.
217
+ const out = show({ completion: 'achieved', completionProvenance: 'legacy-data-status' });
218
+ expect(out).toContain('recorded as achieved');
219
+ expect(out).toContain('legacy-data-status');
220
+ expect(out.toLowerCase()).not.toContain('confirmed');
221
+ expect(out.toLowerCase()).not.toContain('verified');
222
+ });
223
+ it('the attestation line reports without claiming to enforce', () => {
224
+ const out = show({ weakestTierInCycle: 'agent_same_session' });
225
+ expect(out).toContain('reported, not enforced');
226
+ for (const word of ['blocked', 'refused', 'cannot'])
227
+ expect(out.toLowerCase()).not.toContain(word);
228
+ });
229
+ it('a deleted role renders as gone, not as a blank and not as an id', () => {
230
+ const out = show({ ownerRole: { id: 'q97abc', name: null }, reporterRole: { id: 'q97def', name: 'Data Steward' } });
231
+ expect(out).toContain('a role that no longer exists');
232
+ expect(out).toContain('Data Steward');
233
+ });
234
+ it('carries the close instruction verbatim when there is a proposal', () => {
235
+ const out = formatOutcomeShow({
236
+ ...base, readyToCloseInstruction: 'The readings say this is achieved. Surface this to the founder; do not write the status yourself.',
237
+ outcome: { ...base.outcome, readyToClose: 'achieved' },
238
+ });
239
+ expect(out).toContain('do not write the status yourself');
240
+ });
241
+ it('page-exhausted is called out rather than passing as never-read', () => {
242
+ expect(show({ currentResolution: 'page-exhausted', hasNoReadings: false }))
243
+ .toContain('this is not "never read"');
244
+ });
245
+ });
246
+ describe('formatOutcomeShow sanitises EVERY stored string sink (PR #840 review round 2)', () => {
247
+ // Round 1 I sanitised the fields I interpolated directly and missed `role.name`, which sits
248
+ // behind a helper. So this guard is STRUCTURAL rather than per-field: it drives control
249
+ // characters through every string-typed input at once and asserts on the SHAPE of the output,
250
+ // which means the next stored field someone adds is covered without anyone remembering to
251
+ // extend this test.
252
+ const ESC = String.fromCharCode(27);
253
+ const NASTY = `x${ESC}[31m\n FORGED LINE\rover`;
254
+ it('no control characters and no injected lines, whatever the stored content says', () => {
255
+ const out = formatOutcomeShow({
256
+ entryId: NASTY, name: NASTY,
257
+ readyToCloseInstruction: null,
258
+ outcome: {
259
+ current: { value: 1, asOf: Date.now() }, currentResolution: 'found', hasNoReadings: false,
260
+ direction: 'up-is-good', progressPct: 10, state: 'on-time',
261
+ completion: 'open', completionProvenance: 'none', readyToClose: null,
262
+ weakestTierInCycle: 'role_click',
263
+ ownerRole: { id: 'q1', name: NASTY },
264
+ reporterRole: { id: 'q2', name: NASTY },
265
+ readingCount: 1, unit: NASTY, metric: NASTY,
266
+ },
267
+ });
268
+ expect(out).not.toContain(ESC);
269
+ expect(out).not.toContain('\r');
270
+ // The renderer emits a fixed number of lines; injected newlines would add more.
271
+ const lineCount = out.split('\n').length;
272
+ expect(lineCount).toBe(11);
273
+ // And no line may begin with the injected text — that is what "looks like another field" means.
274
+ expect(out.split('\n').every((l) => !l.startsWith('FORGED'))).toBe(true);
275
+ });
276
+ it('a role name specifically cannot inject a line — the round-2 miss', () => {
277
+ const out = formatOutcomeShow({
278
+ entryId: 'KR-S1', name: 'ok', readyToCloseInstruction: null,
279
+ outcome: {
280
+ currentResolution: 'no-rows', hasNoReadings: true, direction: 'undetermined',
281
+ state: 'overdue', completion: 'open', completionProvenance: 'none', readyToClose: null,
282
+ weakestTierInCycle: null,
283
+ ownerRole: { id: 'q1', name: 'Data Steward\n reporter Someone Else' },
284
+ reporterRole: null, readingCount: 0, unit: null, metric: null,
285
+ },
286
+ });
287
+ // Exactly one line that IS the reporter field, not two. The forged text survives as text on
288
+ // the owner line (which is correct — nothing is censored) but has lost its line-breaking
289
+ // power, so it can no longer masquerade as a field of its own.
290
+ expect(out.split('\n').filter((l) => l.trim().startsWith('reporter')).length).toBe(1);
291
+ expect(out).toContain('Someone Else'); // the content is preserved, only its framing is removed
292
+ });
293
+ });
294
+ //# sourceMappingURL=outcome.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.test.js","sourceRoot":"","sources":["../../src/commands/outcome.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7G,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;IACzB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC9B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;IACpB,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAkC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;CAC5E,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAC1D,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAC3E,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;AACvD,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvG,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAClC,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC9F,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACjJ,WAAW,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QACjE,0FAA0F;QAC1F,iFAAiF;QACjF,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjD,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9F,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QACnF,uFAAuF;QACvF,yFAAyF;QACzF,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1G,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC5D,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO;SAC1E,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACvG,wFAAwF;QACxF,sCAAsC;QACtC,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9F,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjG,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9F,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QACjF,yFAAyF;QACzF,yDAAyD;QACzD,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC9F,UAAU,CAAC,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,yFAAyF;QACzF,+CAA+C;QAC/C,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnD,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClF,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAClE,MAAM,GAAG,GAAG,CAAC,OAAgC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAClG,IAAI,EAAE,aAAsB,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;KAC1F,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC5D,yFAAyF;QACzF,6FAA6F;QAC7F,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE;YACvC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI;YACpC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,CAAC;SAChF,CAAC,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QAClG,0FAA0F;QAC1F,iEAAiE;QACjE,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC,CAAC;QAC9G,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC3F,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC,CAAC;QACnH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAW,CAAC,CAAC;QAChH,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAW,CAAC,CAAC;aAClG,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sFAAsF,EAAE,GAAG,EAAE;IACrG,2EAA2E;IAC3E,8FAA8F;IAC9F,6FAA6F;IAC7F,uCAAuC;IACvC,MAAM,GAAG,GAAG,CAAC,OAAgC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAClG,IAAI,EAAE,aAAsB,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;KAC1F,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,IAA6B,EAAE,EAAE,CAChD,kBAAkB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAW,CAAC,CAAC;IAEvG,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACzE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,gEAAgE,EAAE,CAAC,CAAC;QAC/F,yFAAyF;QACzF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,6DAA6D;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,yFAAyF;QACzF,8DAA8D;QAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC,CAAC;QACrG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACzF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACnD,yFAAyF;QACzF,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;aACtE,SAAS,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IAC1D,MAAM,IAAI,GAAG;QACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,IAAI;QACvE,OAAO,EAAE;YACR,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY;YAC1E,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;YAClE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI;YACjF,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;SACzC;KACD,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,OAAgC,EAAE,EAAE,EAAE,CACnD,iBAAiB,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAW,CAAC,CAAC;IAEhF,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC9D,yFAAyF;QACzF,0DAA0D;QAC1D,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACxF,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;aAC1I,SAAS,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACxE,wFAAwF;QACxF,sCAAsC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACzF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QACpH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC7B,GAAG,IAAI,EAAE,uBAAuB,EAAE,mGAAmG;YACrI,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;SAC7C,CAAC,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;aACzE,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+EAA+E,EAAE,GAAG,EAAE;IAC9F,4FAA4F;IAC5F,wFAAwF;IACxF,8FAA8F;IAC9F,0FAA0F;IAC1F,oBAAoB;IACpB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,2BAA2B,CAAC;IAEjD,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACxF,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;YAC3B,uBAAuB,EAAE,IAAI;YAC7B,OAAO,EAAE;gBACR,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK;gBACzF,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS;gBAC1D,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI;gBACpE,kBAAkB,EAAE,YAAY;gBAChC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;gBACvC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;aAC3C;SACQ,CAAC,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,gFAAgF;QAChF,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,gGAAgG;QAChG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC3E,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;YAC3D,OAAO,EAAE;gBACR,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc;gBAC5E,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI;gBACtF,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,EAAE;gBACzE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;aAC7D;SACQ,CAAC,CAAC;QACZ,4FAA4F;QAC5F,yFAAyF;QACzF,+DAA+D;QAC/D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,wDAAwD;IAChG,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -5,6 +5,19 @@
5
5
  * Uses runCliCommand pattern from runner.ts for JSON/pretty output.
6
6
  * Uses CLIError from errors.ts for structured error reporting.
7
7
  */
8
+ type ProfileListResult = {
9
+ profiles: string[];
10
+ active: string | null;
11
+ globalActive: string | null;
12
+ localActive: string | null;
13
+ activeSource: 'local' | 'global' | 'none' | 'missing-pin' | 'env-key' | 'preview' | 'cwd-key' | 'local-key';
14
+ };
15
+ export declare function resolveProfileListState(): ProfileListResult;
16
+ /**
17
+ * Pure pretty-printer for `pb profile list`. Exported (like formatWhoami) so the copy can be
18
+ * asserted directly — an inline lambda left the env-key case untestable and therefore wrong.
19
+ */
20
+ export declare function formatProfileList(data: ProfileListResult): string;
8
21
  /** pb profile list — show all profiles, mark active one. */
9
22
  export declare function runProfileList(): Promise<void>;
10
23
  /** pb profile create <name> --api-key <key> [--url <url>] */
@@ -13,12 +26,14 @@ export declare function runProfileCreate(opts: {
13
26
  apiKey: string;
14
27
  url?: string;
15
28
  }): Promise<void>;
16
- /** pb profile use <name> — switch active profile, close any active session. */
17
29
  export declare function runProfileUse(opts: {
18
30
  name: string;
31
+ local?: boolean;
32
+ global?: boolean;
19
33
  }): Promise<void>;
20
34
  /** pb profile delete <name> */
21
35
  export declare function runProfileDelete(opts: {
22
36
  name: string;
23
37
  }): Promise<void>;
38
+ export {};
24
39
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,4DAA4D;AAC5D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBpD;AAED,6DAA6D;AAC7D,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED,+EAA+E;AAC/E,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BzE;AAED,+BAA+B;AAC/B,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;CAC7G,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAkB3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CA8BjE;AAED,4DAA4D;AAC5D,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD;AAED,6DAA6D;AAC7D,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAeD,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyH5G;AAUD,+BAA+B;AAC/B,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
@@ -7,26 +7,69 @@
7
7
  */
8
8
  import { runCliCommand } from '../lib/runner.js';
9
9
  import { listProfiles, getActiveProfile, createProfile, useProfile, deleteProfile, } from '../lib/profiles.js';
10
- import { readSession, clearSession } from '../lib/session.js';
11
- import { resetConfigCache } from '../lib/config.js';
10
+ import { readSession, discardAllSessions, hasAnyActiveSession } from '../lib/session.js';
11
+ import { resetConfigCache, findProjectRoot, readLocalProjectConfig, setLocalProfilePin } from '../lib/config.js';
12
+ import { resolveReportedProfile, isEnvKeyBinding } from '../lib/reportedProfile.js';
13
+ import { probeWorkspace } from '../lib/workspace-probe.js';
14
+ import { CLIError, ErrorCode } from '../lib/errors.js';
15
+ export function resolveProfileListState() {
16
+ const profiles = listProfiles();
17
+ const globalActive = getActiveProfile();
18
+ const localActive = readLocalProjectConfig()?.profile ?? null;
19
+ const reported = resolveReportedProfile();
20
+ // Four sources all mean NO profile is the active one: the CLI refuses (`missing-pin`), or an
21
+ // exported key / a dotenv file here / a preview binding outranks every profile file. In each
22
+ // case `globalActive` is still listed below, just never marked `(active)`.
23
+ const shadowed = ['missing-pin', 'env-key', 'preview', 'cwd-key', 'local-key'];
24
+ const noActiveProfile = shadowed.includes(reported.source);
25
+ const active = noActiveProfile ? null : reported.profile;
26
+ const activeSource = noActiveProfile ? reported.source
27
+ : reported.source === 'local' ? 'local'
28
+ : reported.profile ? 'global'
29
+ : 'none';
30
+ return { profiles, active, globalActive, localActive, activeSource };
31
+ }
32
+ /**
33
+ * Pure pretty-printer for `pb profile list`. Exported (like formatWhoami) so the copy can be
34
+ * asserted directly — an inline lambda left the env-key case untestable and therefore wrong.
35
+ */
36
+ export function formatProfileList(data) {
37
+ // TEN-3240 (Codex P2): an exported key SHADOWS every profile here. Without this note the list
38
+ // prints with no active marker and no reason why — and the empty-list branch would recommend
39
+ // creating a profile the export would immediately shadow too.
40
+ // "…for these profiles to take effect" would be a promise this function cannot keep: in a
41
+ // preview-bound worktree the direct apiKey/siteUrl binding wins ahead of every profile
42
+ // (resolveConfig step 2a), so unsetting the key still leaves them unused (Codex P2 round 2).
43
+ const envKeyNote = data.activeSource === 'env-key'
44
+ ? 'An exported PRODUCTBRAIN_API_KEY is the active binding — no profile below is in use.\nUnset it (`unset PRODUCTBRAIN_API_KEY`) and re-run to see which binding takes over.'
45
+ : data.activeSource === 'preview'
46
+ ? 'This worktree is bound to a throwaway preview — no profile below is in use.\nRun `npm run pb:real` to go back to the real Chain.'
47
+ : data.activeSource === 'cwd-key'
48
+ ? 'A dotenv file in this directory is the active binding — no profile below is in use.\nRemove it, or run pb from your project directory, to use one.'
49
+ : data.activeSource === 'local-key'
50
+ ? '.productbrain/config.local.json binds a credential directly — no profile below is in use.\nRun `npm run pb:real` to strip it — re-pinning alone leaves that binding winning.'
51
+ : null;
52
+ if (data.profiles.length === 0) {
53
+ return envKeyNote ?? 'No profiles configured. Run: pb profile create <name> --api-key <key>';
54
+ }
55
+ const lines = data.profiles.map((name) => {
56
+ const marker = name === data.active
57
+ ? data.activeSource === 'local' ? ' (active, local)' : ' (active)'
58
+ : '';
59
+ return ` ${name}${marker}`;
60
+ });
61
+ if (envKeyNote)
62
+ lines.push('', envKeyNote);
63
+ if (data.localActive && data.globalActive && data.localActive !== data.globalActive) {
64
+ lines.push('', `Repo local profile: ${data.localActive}`, `Global profile: ${data.globalActive}`);
65
+ }
66
+ return `Profiles:\n${lines.join('\n')}`;
67
+ }
12
68
  /** pb profile list — show all profiles, mark active one. */
13
69
  export async function runProfileList() {
14
70
  await runCliCommand({
15
- fn: async () => {
16
- const profiles = listProfiles();
17
- const active = getActiveProfile();
18
- return { profiles, active };
19
- },
20
- formatPretty: (data) => {
21
- if (data.profiles.length === 0) {
22
- return 'No profiles configured. Run: pb profile create <name> --api-key <key>';
23
- }
24
- const lines = data.profiles.map((name) => {
25
- const marker = name === data.active ? ' (active)' : '';
26
- return ` ${name}${marker}`;
27
- });
28
- return `Profiles:\n${lines.join('\n')}`;
29
- },
71
+ fn: async () => resolveProfileListState(),
72
+ formatPretty: formatProfileList,
30
73
  });
31
74
  }
32
75
  /** pb profile create <name> --api-key <key> [--url <url>] */
@@ -39,36 +82,129 @@ export async function runProfileCreate(opts) {
39
82
  formatPretty: (data) => `Profile "${data.name}" created.`,
40
83
  });
41
84
  }
42
- /** pb profile use <name> — switch active profile, close any active session. */
43
85
  export async function runProfileUse(opts) {
86
+ if (opts.local && opts.global) {
87
+ throw new CLIError('Cannot use both --local and --global.', {
88
+ code: ErrorCode.VALIDATION_FAILED,
89
+ category: 'validation',
90
+ guidance: 'Pick one: --local (repo pin only), --global (global only), or neither (reconcile both).',
91
+ });
92
+ }
44
93
  await runCliCommand({
45
94
  fn: async () => {
46
- // Close active session before switching (TEN-1277: session orphaning)
47
- const session = readSession();
48
- if (session) {
49
- clearSession();
95
+ const projectRoot = findProjectRoot(process.cwd());
96
+ const localPin = readLocalProjectConfig()?.profile ?? null;
97
+ // PB_PROFILE always wins resolution (by design). If it's set, ANY profile write
98
+ // here is shadowed — surface that instead of failing silently (the TEN-2163 trap).
99
+ const PB_PROFILE = process.env.PB_PROFILE?.trim() || null;
100
+ // An exported key outranks every profile file, so a switch made under one is SHADOWED in
101
+ // the parent shell exactly like PB_PROFILE above — report it rather than printing a
102
+ // "Now using …" the operator will never observe (Codex P2 r7).
103
+ const shadowingKey = isEnvKeyBinding();
104
+ const resetEnv = () => {
105
+ resetConfigCache();
106
+ delete process.env.PRODUCTBRAIN_API_KEY;
107
+ delete process.env.CONVEX_SITE_URL;
108
+ // NOTE: deliberately NOT re-snapshotting the reported source here. The delete above only
109
+ // affects THIS child process; the parent shell still exports the key, so re-snapshotting
110
+ // would record an absence that is true for nobody and label the next command's binding
111
+ // wrong. `shadowingKey` above keeps the startup truth.
112
+ };
113
+ // Discard ANY session file (active OR stale closed marker) — a closed marker would
114
+ // let the 2h auto-resume re-pin the old workspace. Report only an ACTIVE session
115
+ // in the print line. Review fix (Codex): a profile switch changes the effective workspace,
116
+ // so clear ALL conversation markers, not just the current conversation's — otherwise a
117
+ // sibling conversation's active marker survives and could be reused against the new workspace.
118
+ const discardSessionState = () => {
119
+ // Report accurately whether an active session was cleared — including a SIBLING conversation's
120
+ // (Codex re-review): a profile switch from a shell whose current conversation has no marker
121
+ // still discards all markers, so `readSession()` (current only) would under-report and
122
+ // silently strand a sibling active session on the old workspace.
123
+ const hadActive = readSession() !== null || hasAnyActiveSession();
124
+ discardAllSessions();
125
+ return hadActive;
126
+ };
127
+ // --- --local: repo pin only ---
128
+ if (opts.local) {
129
+ if (!projectRoot) {
130
+ throw new CLIError('No .productbrain/ directory found in this directory tree. Run `pb connect` first or use `pb use <name> --global` to switch globally.', { code: ErrorCode.CONFIG_INVALID, category: 'config',
131
+ guidance: 'Run `pb connect <token>` to set up a project workspace, or use --global.' });
132
+ }
133
+ setLocalProfilePin(projectRoot, opts.name);
134
+ const sessionCleared = discardSessionState();
135
+ resetEnv();
136
+ return { name: opts.name, scope: 'local', reconciledLocalPin: false,
137
+ sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE, shadowedByApiKey: shadowingKey };
138
+ }
139
+ // --- --global: global only (does not change a locally-pinned repo) ---
140
+ if (opts.global) {
141
+ useProfile(opts.name);
142
+ const pinnedElsewhere = localPin && localPin !== opts.name ? localPin : null;
143
+ // The repo's effective workspace only changes when it is NOT pinned elsewhere.
144
+ const sessionCleared = pinnedElsewhere ? false : discardSessionState();
145
+ resetEnv();
146
+ const workspace = pinnedElsewhere ? null : await safeProbe();
147
+ return { name: opts.name, scope: 'global', reconciledLocalPin: false,
148
+ sessionCleared, workspace, pinnedElsewhere, 'PB_PROFILE': PB_PROFILE, shadowedByApiKey: shadowingKey };
50
149
  }
150
+ // --- default: flip global AND reconcile the repo pin if one exists ---
51
151
  useProfile(opts.name);
52
- // Reset config cache so next getConfig() reads the new profile
53
- resetConfigCache();
54
- // Clear env vars so they get re-read from the new profile
55
- delete process.env.PRODUCTBRAIN_API_KEY;
56
- delete process.env.CONVEX_SITE_URL;
57
- return {
58
- name: opts.name,
59
- active: true,
60
- sessionClosed: session !== null,
61
- };
152
+ let reconciledLocalPin = false;
153
+ if (projectRoot && localPin) {
154
+ setLocalProfilePin(projectRoot, opts.name);
155
+ reconciledLocalPin = true;
156
+ }
157
+ const sessionCleared = discardSessionState();
158
+ resetEnv();
159
+ return { name: opts.name, scope: 'reconcile', reconciledLocalPin,
160
+ sessionCleared, workspace: await safeProbe(), pinnedElsewhere: null, 'PB_PROFILE': PB_PROFILE, shadowedByApiKey: shadowingKey };
62
161
  },
63
- formatPretty: (data) => {
64
- let msg = `Switched to profile "${data.name}".`;
65
- if (data.sessionClosed) {
66
- msg += ' (previous session closed)';
162
+ formatPretty: (d) => {
163
+ const lines = [];
164
+ if (d.scope === 'global') {
165
+ const arrow = d.workspace ? ` → ${d.workspace}` : '';
166
+ lines.push(`Switched global profile to "${d.name}"${arrow}.`);
167
+ if (d.pinnedElsewhere) {
168
+ lines.push(`Note: this repo is pinned to "${d.pinnedElsewhere}" via config.local.json — the global switch won't change it here.`);
169
+ lines.push(`Run \`pb use ${d.name}\` (no flag) to switch this repo too.`);
170
+ }
171
+ }
172
+ else {
173
+ const arrow = d.workspace ? ` → ${d.workspace}` : '';
174
+ const where = d.scope === 'local' ? ' (repo-local)' : '';
175
+ lines.push(`Now using "${d.name}"${where}${arrow}`);
176
+ if (d.reconciledLocalPin)
177
+ lines.push('(updated repo-local pin in .productbrain/config.local.json)');
67
178
  }
68
- return msg;
179
+ if (d.sessionCleared)
180
+ lines.push('(previous session closed)');
181
+ if (d['PB_PROFILE']) {
182
+ lines.push(`⚠ PB_PROFILE is set to "${d['PB_PROFILE']}" in your environment and overrides profile resolution.`);
183
+ // Only promise that unsetting PB_PROFILE is sufficient when it actually IS (Codex P2 r14):
184
+ // an exported API key outranks it too, so with both set, unsetting this one alone changes
185
+ // nothing — and the key's own warning below already names the step that does.
186
+ if (!d.shadowedByApiKey)
187
+ lines.push(` This switch won't take effect until you unset it: \`unset PB_PROFILE\`.`);
188
+ }
189
+ // Same trap one rung higher: an exported key outranks every profile file, so without this
190
+ // the command reports a switch the operator's shell will keep shadowing (Codex P2 r7).
191
+ if (d.shadowedByApiKey) {
192
+ lines.push('⚠ PRODUCTBRAIN_API_KEY is exported in your environment and outranks every profile.');
193
+ lines.push(d['PB_PROFILE']
194
+ ? " This switch won't take effect until you unset both: `unset PRODUCTBRAIN_API_KEY PB_PROFILE`."
195
+ : " This switch won't take effect until you unset it: `unset PRODUCTBRAIN_API_KEY`.");
196
+ }
197
+ return lines.join('\n');
69
198
  },
70
199
  });
71
200
  }
201
+ /**
202
+ * Best-effort workspace name after a profile switch; null on any failure.
203
+ * probeWorkspace() already swallows network/auth errors and returns null, so this is offline-safe.
204
+ */
205
+ async function safeProbe() {
206
+ return (await probeWorkspace())?.name ?? null;
207
+ }
72
208
  /** pb profile delete <name> */
73
209
  export async function runProfileDelete(opts) {
74
210
  await runCliCommand({