@productbrain/cli 0.1.0-beta.1131 → 0.1.0-beta.11318

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 (1452) hide show
  1. package/README.md +14 -4
  2. package/dist/__tests__/adapters.test.js +79 -53
  3. package/dist/__tests__/adapters.test.js.map +1 -1
  4. package/dist/__tests__/adminConfig.test.d.ts +18 -0
  5. package/dist/__tests__/adminConfig.test.d.ts.map +1 -0
  6. package/dist/__tests__/adminConfig.test.js +221 -0
  7. package/dist/__tests__/adminConfig.test.js.map +1 -0
  8. package/dist/__tests__/batch-transformations.test.js +2 -26
  9. package/dist/__tests__/batch-transformations.test.js.map +1 -1
  10. package/dist/__tests__/capture-receipt-coaching.test.d.ts +2 -0
  11. package/dist/__tests__/capture-receipt-coaching.test.d.ts.map +1 -0
  12. package/dist/__tests__/capture-receipt-coaching.test.js +108 -0
  13. package/dist/__tests__/capture-receipt-coaching.test.js.map +1 -0
  14. package/dist/__tests__/capture-receipt-role-hint.test.d.ts +2 -0
  15. package/dist/__tests__/capture-receipt-role-hint.test.d.ts.map +1 -0
  16. package/dist/__tests__/capture-receipt-role-hint.test.js +64 -0
  17. package/dist/__tests__/capture-receipt-role-hint.test.js.map +1 -0
  18. package/dist/__tests__/capture-receipt-spine-floor.test.d.ts +2 -0
  19. package/dist/__tests__/capture-receipt-spine-floor.test.d.ts.map +1 -0
  20. package/dist/__tests__/capture-receipt-spine-floor.test.js +45 -0
  21. package/dist/__tests__/capture-receipt-spine-floor.test.js.map +1 -0
  22. package/dist/__tests__/capture.test.js +437 -231
  23. package/dist/__tests__/capture.test.js.map +1 -1
  24. package/dist/__tests__/cli-error-once.test.d.ts +2 -0
  25. package/dist/__tests__/cli-error-once.test.d.ts.map +1 -0
  26. package/dist/__tests__/cli-error-once.test.js +51 -0
  27. package/dist/__tests__/cli-error-once.test.js.map +1 -0
  28. package/dist/__tests__/client-binding-guard.test.d.ts +2 -0
  29. package/dist/__tests__/client-binding-guard.test.d.ts.map +1 -0
  30. package/dist/__tests__/client-binding-guard.test.js +84 -0
  31. package/dist/__tests__/client-binding-guard.test.js.map +1 -0
  32. package/dist/__tests__/coaching-mirror-drift.test.d.ts +2 -0
  33. package/dist/__tests__/coaching-mirror-drift.test.d.ts.map +1 -0
  34. package/dist/__tests__/coaching-mirror-drift.test.js +50 -0
  35. package/dist/__tests__/coaching-mirror-drift.test.js.map +1 -0
  36. package/dist/__tests__/codex-prep-parity.test.d.ts +2 -0
  37. package/dist/__tests__/codex-prep-parity.test.d.ts.map +1 -0
  38. package/dist/__tests__/codex-prep-parity.test.js +84 -0
  39. package/dist/__tests__/codex-prep-parity.test.js.map +1 -0
  40. package/dist/__tests__/config-prod-fallthrough.test.d.ts +2 -0
  41. package/dist/__tests__/config-prod-fallthrough.test.d.ts.map +1 -0
  42. package/dist/__tests__/config-prod-fallthrough.test.js +93 -0
  43. package/dist/__tests__/config-prod-fallthrough.test.js.map +1 -0
  44. package/dist/__tests__/config.test.js +559 -40
  45. package/dist/__tests__/config.test.js.map +1 -1
  46. package/dist/__tests__/constellation.test.js +26 -14
  47. package/dist/__tests__/constellation.test.js.map +1 -1
  48. package/dist/__tests__/conversation.test.d.ts +2 -0
  49. package/dist/__tests__/conversation.test.d.ts.map +1 -0
  50. package/dist/__tests__/conversation.test.js +113 -0
  51. package/dist/__tests__/conversation.test.js.map +1 -0
  52. package/dist/__tests__/entry-formatter.test.d.ts +2 -0
  53. package/dist/__tests__/entry-formatter.test.d.ts.map +1 -0
  54. package/dist/__tests__/entry-formatter.test.js +228 -0
  55. package/dist/__tests__/entry-formatter.test.js.map +1 -0
  56. package/dist/__tests__/entry-preflight.test.d.ts +2 -0
  57. package/dist/__tests__/entry-preflight.test.d.ts.map +1 -0
  58. package/dist/__tests__/entry-preflight.test.js +58 -0
  59. package/dist/__tests__/entry-preflight.test.js.map +1 -0
  60. package/dist/__tests__/entryAccept-batch.test.d.ts +2 -0
  61. package/dist/__tests__/entryAccept-batch.test.d.ts.map +1 -0
  62. package/dist/__tests__/entryAccept-batch.test.js +305 -0
  63. package/dist/__tests__/entryAccept-batch.test.js.map +1 -0
  64. package/dist/__tests__/entryAccept.test.d.ts +2 -0
  65. package/dist/__tests__/entryAccept.test.d.ts.map +1 -0
  66. package/dist/__tests__/entryAccept.test.js +582 -0
  67. package/dist/__tests__/entryAccept.test.js.map +1 -0
  68. package/dist/__tests__/entryDiscardResolve.test.d.ts +2 -0
  69. package/dist/__tests__/entryDiscardResolve.test.d.ts.map +1 -0
  70. package/dist/__tests__/entryDiscardResolve.test.js +28 -0
  71. package/dist/__tests__/entryDiscardResolve.test.js.map +1 -0
  72. package/dist/__tests__/entryOwn.test.d.ts +2 -0
  73. package/dist/__tests__/entryOwn.test.d.ts.map +1 -0
  74. package/dist/__tests__/entryOwn.test.js +50 -0
  75. package/dist/__tests__/entryOwn.test.js.map +1 -0
  76. package/dist/__tests__/entryTick.test.d.ts +2 -0
  77. package/dist/__tests__/entryTick.test.d.ts.map +1 -0
  78. package/dist/__tests__/entryTick.test.js +40 -0
  79. package/dist/__tests__/entryTick.test.js.map +1 -0
  80. package/dist/__tests__/envelope-contract.test.js +2 -0
  81. package/dist/__tests__/envelope-contract.test.js.map +1 -1
  82. package/dist/__tests__/errors.test.js +41 -0
  83. package/dist/__tests__/errors.test.js.map +1 -1
  84. package/dist/__tests__/fields.test.js +14 -3
  85. package/dist/__tests__/fields.test.js.map +1 -1
  86. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts +2 -0
  87. package/dist/__tests__/gateway-dry-run-timeout.test.d.ts.map +1 -0
  88. package/dist/__tests__/gateway-dry-run-timeout.test.js +70 -0
  89. package/dist/__tests__/gateway-dry-run-timeout.test.js.map +1 -0
  90. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts +2 -0
  91. package/dist/__tests__/gateway-timeout-body-phase.test.d.ts.map +1 -0
  92. package/dist/__tests__/gateway-timeout-body-phase.test.js +116 -0
  93. package/dist/__tests__/gateway-timeout-body-phase.test.js.map +1 -0
  94. package/dist/__tests__/glossary.test.js +10 -27
  95. package/dist/__tests__/glossary.test.js.map +1 -1
  96. package/dist/__tests__/health-gap-kinds-drift.test.d.ts +2 -0
  97. package/dist/__tests__/health-gap-kinds-drift.test.d.ts.map +1 -0
  98. package/dist/__tests__/health-gap-kinds-drift.test.js +43 -0
  99. package/dist/__tests__/health-gap-kinds-drift.test.js.map +1 -0
  100. package/dist/__tests__/hook-intents.test.js +31 -43
  101. package/dist/__tests__/hook-intents.test.js.map +1 -1
  102. package/dist/__tests__/init.test.d.ts +2 -1
  103. package/dist/__tests__/init.test.d.ts.map +1 -1
  104. package/dist/__tests__/init.test.js +159 -20
  105. package/dist/__tests__/init.test.js.map +1 -1
  106. package/dist/__tests__/kernel-value-sets-drift.test.d.ts +2 -0
  107. package/dist/__tests__/kernel-value-sets-drift.test.d.ts.map +1 -0
  108. package/dist/__tests__/kernel-value-sets-drift.test.js +46 -0
  109. package/dist/__tests__/kernel-value-sets-drift.test.js.map +1 -0
  110. package/dist/__tests__/kernel-value-sets-generator.test.d.ts +2 -0
  111. package/dist/__tests__/kernel-value-sets-generator.test.d.ts.map +1 -0
  112. package/dist/__tests__/kernel-value-sets-generator.test.js +108 -0
  113. package/dist/__tests__/kernel-value-sets-generator.test.js.map +1 -0
  114. package/dist/__tests__/login.test.js +18 -1
  115. package/dist/__tests__/login.test.js.map +1 -1
  116. package/dist/__tests__/missingPin.test.d.ts +11 -0
  117. package/dist/__tests__/missingPin.test.d.ts.map +1 -0
  118. package/dist/__tests__/missingPin.test.js +232 -0
  119. package/dist/__tests__/missingPin.test.js.map +1 -0
  120. package/dist/__tests__/notice-marker.test.js +146 -11
  121. package/dist/__tests__/notice-marker.test.js.map +1 -1
  122. package/dist/__tests__/orient.test.js +368 -38
  123. package/dist/__tests__/orient.test.js.map +1 -1
  124. package/dist/__tests__/perimeter.test.js +1 -1
  125. package/dist/__tests__/perimeter.test.js.map +1 -1
  126. package/dist/__tests__/preview-key-refresh.test.js +73 -13
  127. package/dist/__tests__/preview-key-refresh.test.js.map +1 -1
  128. package/dist/__tests__/profiles.test.js +498 -8
  129. package/dist/__tests__/profiles.test.js.map +1 -1
  130. package/dist/__tests__/prompts.test.js +18 -1
  131. package/dist/__tests__/prompts.test.js.map +1 -1
  132. package/dist/__tests__/rate-limit-resilience.test.d.ts +8 -0
  133. package/dist/__tests__/rate-limit-resilience.test.d.ts.map +1 -0
  134. package/dist/__tests__/rate-limit-resilience.test.js +191 -0
  135. package/dist/__tests__/rate-limit-resilience.test.js.map +1 -0
  136. package/dist/__tests__/read-target-notice.test.d.ts +2 -0
  137. package/dist/__tests__/read-target-notice.test.d.ts.map +1 -0
  138. package/dist/__tests__/read-target-notice.test.js +125 -0
  139. package/dist/__tests__/read-target-notice.test.js.map +1 -0
  140. package/dist/__tests__/relate.test.js +246 -14
  141. package/dist/__tests__/relate.test.js.map +1 -1
  142. package/dist/__tests__/removed-commands.test.d.ts +2 -0
  143. package/dist/__tests__/removed-commands.test.d.ts.map +1 -0
  144. package/dist/__tests__/removed-commands.test.js +99 -0
  145. package/dist/__tests__/removed-commands.test.js.map +1 -0
  146. package/dist/__tests__/reply-commands-registered.test.d.ts +2 -0
  147. package/dist/__tests__/reply-commands-registered.test.d.ts.map +1 -0
  148. package/dist/__tests__/reply-commands-registered.test.js +81 -0
  149. package/dist/__tests__/reply-commands-registered.test.js.map +1 -0
  150. package/dist/__tests__/repo-detect.test.js +18 -38
  151. package/dist/__tests__/repo-detect.test.js.map +1 -1
  152. package/dist/__tests__/reportedProfile.test.d.ts +2 -0
  153. package/dist/__tests__/reportedProfile.test.d.ts.map +1 -0
  154. package/dist/__tests__/reportedProfile.test.js +328 -0
  155. package/dist/__tests__/reportedProfile.test.js.map +1 -0
  156. package/dist/__tests__/restore.test.d.ts +2 -0
  157. package/dist/__tests__/restore.test.d.ts.map +1 -0
  158. package/dist/__tests__/restore.test.js +85 -0
  159. package/dist/__tests__/restore.test.js.map +1 -0
  160. package/dist/__tests__/route-latency-budget.test.d.ts +2 -0
  161. package/dist/__tests__/route-latency-budget.test.d.ts.map +1 -0
  162. package/dist/__tests__/route-latency-budget.test.js +107 -0
  163. package/dist/__tests__/route-latency-budget.test.js.map +1 -0
  164. package/dist/__tests__/runner.test.js +59 -44
  165. package/dist/__tests__/runner.test.js.map +1 -1
  166. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts +2 -0
  167. package/dist/__tests__/session-binding-refusal-tenant.test.d.ts.map +1 -0
  168. package/dist/__tests__/session-binding-refusal-tenant.test.js +112 -0
  169. package/dist/__tests__/session-binding-refusal-tenant.test.js.map +1 -0
  170. package/dist/__tests__/session-close-conversation.test.d.ts +2 -0
  171. package/dist/__tests__/session-close-conversation.test.d.ts.map +1 -0
  172. package/dist/__tests__/session-close-conversation.test.js +75 -0
  173. package/dist/__tests__/session-close-conversation.test.js.map +1 -0
  174. package/dist/__tests__/session-close-loop.test.d.ts +2 -0
  175. package/dist/__tests__/session-close-loop.test.d.ts.map +1 -0
  176. package/dist/__tests__/session-close-loop.test.js +259 -0
  177. package/dist/__tests__/session-close-loop.test.js.map +1 -0
  178. package/dist/__tests__/session-label.test.d.ts +2 -0
  179. package/dist/__tests__/session-label.test.d.ts.map +1 -0
  180. package/dist/__tests__/session-label.test.js +46 -0
  181. package/dist/__tests__/session-label.test.js.map +1 -0
  182. package/dist/__tests__/session-list-show.test.d.ts +2 -0
  183. package/dist/__tests__/session-list-show.test.d.ts.map +1 -0
  184. package/dist/__tests__/session-list-show.test.js +173 -0
  185. package/dist/__tests__/session-list-show.test.js.map +1 -0
  186. package/dist/__tests__/session-pinned-role.test.d.ts +2 -0
  187. package/dist/__tests__/session-pinned-role.test.d.ts.map +1 -0
  188. package/dist/__tests__/session-pinned-role.test.js +305 -0
  189. package/dist/__tests__/session-pinned-role.test.js.map +1 -0
  190. package/dist/__tests__/session-reset.test.js +23 -7
  191. package/dist/__tests__/session-reset.test.js.map +1 -1
  192. package/dist/__tests__/session-resume-backstop.test.js +42 -0
  193. package/dist/__tests__/session-resume-backstop.test.js.map +1 -1
  194. package/dist/__tests__/session-role-name-sanitize.test.d.ts +2 -0
  195. package/dist/__tests__/session-role-name-sanitize.test.d.ts.map +1 -0
  196. package/dist/__tests__/session-role-name-sanitize.test.js +122 -0
  197. package/dist/__tests__/session-role-name-sanitize.test.js.map +1 -0
  198. package/dist/__tests__/session-start-key-refresh.test.js +47 -28
  199. package/dist/__tests__/session-start-key-refresh.test.js.map +1 -1
  200. package/dist/__tests__/session-state-machine.test.js +190 -9
  201. package/dist/__tests__/session-state-machine.test.js.map +1 -1
  202. package/dist/__tests__/session-switch.test.js +217 -4
  203. package/dist/__tests__/session-switch.test.js.map +1 -1
  204. package/dist/__tests__/session-touch.test.js +48 -107
  205. package/dist/__tests__/session-touch.test.js.map +1 -1
  206. package/dist/__tests__/sessionBinding.test.d.ts +2 -0
  207. package/dist/__tests__/sessionBinding.test.d.ts.map +1 -0
  208. package/dist/__tests__/sessionBinding.test.js +118 -0
  209. package/dist/__tests__/sessionBinding.test.js.map +1 -0
  210. package/dist/__tests__/sessionByIdLookup.test.d.ts +2 -0
  211. package/dist/__tests__/sessionByIdLookup.test.d.ts.map +1 -0
  212. package/dist/__tests__/sessionByIdLookup.test.js +63 -0
  213. package/dist/__tests__/sessionByIdLookup.test.js.map +1 -0
  214. package/dist/__tests__/skill-vocabulary.test.d.ts +1 -1
  215. package/dist/__tests__/skill-vocabulary.test.js +7 -2
  216. package/dist/__tests__/skill-vocabulary.test.js.map +1 -1
  217. package/dist/__tests__/state.test.js +21 -1
  218. package/dist/__tests__/state.test.js.map +1 -1
  219. package/dist/__tests__/stillTrue.test.d.ts +2 -0
  220. package/dist/__tests__/stillTrue.test.d.ts.map +1 -0
  221. package/dist/__tests__/stillTrue.test.js +52 -0
  222. package/dist/__tests__/stillTrue.test.js.map +1 -0
  223. package/dist/__tests__/strip.test.js +57 -3
  224. package/dist/__tests__/strip.test.js.map +1 -1
  225. package/dist/__tests__/surfaces.test.js +3 -4
  226. package/dist/__tests__/surfaces.test.js.map +1 -1
  227. package/dist/__tests__/tenant-notice-write-path.test.d.ts +2 -0
  228. package/dist/__tests__/tenant-notice-write-path.test.d.ts.map +1 -0
  229. package/dist/__tests__/tenant-notice-write-path.test.js +183 -0
  230. package/dist/__tests__/tenant-notice-write-path.test.js.map +1 -0
  231. package/dist/__tests__/update-check.test.js +21 -1
  232. package/dist/__tests__/update-check.test.js.map +1 -1
  233. package/dist/__tests__/update.test.js +470 -8
  234. package/dist/__tests__/update.test.js.map +1 -1
  235. package/dist/__tests__/verify-formatter.test.d.ts +2 -0
  236. package/dist/__tests__/verify-formatter.test.d.ts.map +1 -0
  237. package/dist/__tests__/verify-formatter.test.js +85 -0
  238. package/dist/__tests__/verify-formatter.test.js.map +1 -0
  239. package/dist/__tests__/vocabulary-leak.test.d.ts +1 -7
  240. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -1
  241. package/dist/__tests__/vocabulary-leak.test.js +8 -115
  242. package/dist/__tests__/vocabulary-leak.test.js.map +1 -1
  243. package/dist/__tests__/workspace.test.js +11 -72
  244. package/dist/__tests__/workspace.test.js.map +1 -1
  245. package/dist/__tests__/workspaceNotice.test.d.ts +2 -0
  246. package/dist/__tests__/workspaceNotice.test.d.ts.map +1 -0
  247. package/dist/__tests__/workspaceNotice.test.js +559 -0
  248. package/dist/__tests__/workspaceNotice.test.js.map +1 -0
  249. package/dist/commands/__tests__/quality.test.d.ts +2 -0
  250. package/dist/commands/__tests__/quality.test.d.ts.map +1 -0
  251. package/dist/commands/__tests__/quality.test.js +250 -0
  252. package/dist/commands/__tests__/quality.test.js.map +1 -0
  253. package/dist/commands/__tests__/rework.test.d.ts +2 -0
  254. package/dist/commands/__tests__/rework.test.d.ts.map +1 -0
  255. package/dist/commands/__tests__/rework.test.js +149 -0
  256. package/dist/commands/__tests__/rework.test.js.map +1 -0
  257. package/dist/commands/__tests__/tensionsList.test.d.ts +2 -0
  258. package/dist/commands/__tests__/tensionsList.test.d.ts.map +1 -0
  259. package/dist/commands/__tests__/tensionsList.test.js +63 -0
  260. package/dist/commands/__tests__/tensionsList.test.js.map +1 -0
  261. package/dist/commands/accept-policy.d.ts +10 -0
  262. package/dist/commands/accept-policy.d.ts.map +1 -0
  263. package/dist/commands/accept-policy.js +107 -0
  264. package/dist/commands/accept-policy.js.map +1 -0
  265. package/dist/commands/admin/cockpit.d.ts +2 -13
  266. package/dist/commands/admin/cockpit.d.ts.map +1 -1
  267. package/dist/commands/admin/cockpit.js +5 -5
  268. package/dist/commands/admin/cockpit.js.map +1 -1
  269. package/dist/commands/admin/index.d.ts +49 -0
  270. package/dist/commands/admin/index.d.ts.map +1 -1
  271. package/dist/commands/admin/index.js +148 -29
  272. package/dist/commands/admin/index.js.map +1 -1
  273. package/dist/commands/admin/index.test.d.ts +2 -0
  274. package/dist/commands/admin/index.test.d.ts.map +1 -0
  275. package/dist/commands/admin/index.test.js +94 -0
  276. package/dist/commands/admin/index.test.js.map +1 -0
  277. package/dist/commands/admin/inspect.d.ts.map +1 -1
  278. package/dist/commands/admin/inspect.js +2 -7
  279. package/dist/commands/admin/inspect.js.map +1 -1
  280. package/dist/commands/admin/probe.d.ts +75 -0
  281. package/dist/commands/admin/probe.d.ts.map +1 -0
  282. package/dist/commands/admin/probe.js +224 -0
  283. package/dist/commands/admin/probe.js.map +1 -0
  284. package/dist/commands/admin/probe.test.d.ts +2 -0
  285. package/dist/commands/admin/probe.test.d.ts.map +1 -0
  286. package/dist/commands/admin/probe.test.js +193 -0
  287. package/dist/commands/admin/probe.test.js.map +1 -0
  288. package/dist/commands/admin/run.d.ts +43 -0
  289. package/dist/commands/admin/run.d.ts.map +1 -0
  290. package/dist/commands/admin/run.js +78 -0
  291. package/dist/commands/admin/run.js.map +1 -0
  292. package/dist/commands/admin/run.test.d.ts +18 -0
  293. package/dist/commands/admin/run.test.d.ts.map +1 -0
  294. package/dist/commands/admin/run.test.js +168 -0
  295. package/dist/commands/admin/run.test.js.map +1 -0
  296. package/dist/commands/admin/seed.d.ts +6 -21
  297. package/dist/commands/admin/seed.d.ts.map +1 -1
  298. package/dist/commands/admin/seed.js +41 -310
  299. package/dist/commands/admin/seed.js.map +1 -1
  300. package/dist/commands/admin/seed.test.d.ts +3 -4
  301. package/dist/commands/admin/seed.test.d.ts.map +1 -1
  302. package/dist/commands/admin/seed.test.js +26 -76
  303. package/dist/commands/admin/seed.test.js.map +1 -1
  304. package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -1
  305. package/dist/commands/admin/seedRegistryEntries.generated.js +3 -84
  306. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -1
  307. package/dist/commands/admin/seedRegistryEntries.test.d.ts +5 -3
  308. package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -1
  309. package/dist/commands/admin/seedRegistryEntries.test.js +60 -26
  310. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -1
  311. package/dist/commands/admin/seedRowType.d.ts +22 -0
  312. package/dist/commands/admin/seedRowType.d.ts.map +1 -0
  313. package/dist/commands/admin/seedRowType.js +2 -0
  314. package/dist/commands/admin/seedRowType.js.map +1 -0
  315. package/dist/commands/admin/seedStatusColor.d.ts +9 -0
  316. package/dist/commands/admin/seedStatusColor.d.ts.map +1 -0
  317. package/dist/commands/admin/seedStatusColor.js +19 -0
  318. package/dist/commands/admin/seedStatusColor.js.map +1 -0
  319. package/dist/commands/admin/seedStatusColor.test.d.ts +2 -0
  320. package/dist/commands/admin/seedStatusColor.test.d.ts.map +1 -0
  321. package/dist/commands/admin/seedStatusColor.test.js +31 -0
  322. package/dist/commands/admin/seedStatusColor.test.js.map +1 -0
  323. package/dist/commands/brief.d.ts.map +1 -1
  324. package/dist/commands/brief.js +24 -2
  325. package/dist/commands/brief.js.map +1 -1
  326. package/dist/commands/capture.d.ts +17 -16
  327. package/dist/commands/capture.d.ts.map +1 -1
  328. package/dist/commands/capture.js +105 -288
  329. package/dist/commands/capture.js.map +1 -1
  330. package/dist/commands/chain-walk.d.ts.map +1 -1
  331. package/dist/commands/chain-walk.js.map +1 -1
  332. package/dist/commands/changes.d.ts.map +1 -1
  333. package/dist/commands/changes.js.map +1 -1
  334. package/dist/commands/codex-prep.d.ts +11 -1
  335. package/dist/commands/codex-prep.d.ts.map +1 -1
  336. package/dist/commands/codex-prep.js +14 -83
  337. package/dist/commands/codex-prep.js.map +1 -1
  338. package/dist/commands/collections.d.ts +1 -1
  339. package/dist/commands/collections.d.ts.map +1 -1
  340. package/dist/commands/collections.js +1 -1
  341. package/dist/commands/collections.js.map +1 -1
  342. package/dist/commands/conflicts.d.ts +35 -0
  343. package/dist/commands/conflicts.d.ts.map +1 -0
  344. package/dist/commands/conflicts.js +194 -0
  345. package/dist/commands/conflicts.js.map +1 -0
  346. package/dist/commands/conflicts.test.d.ts +2 -0
  347. package/dist/commands/conflicts.test.d.ts.map +1 -0
  348. package/dist/commands/conflicts.test.js +179 -0
  349. package/dist/commands/conflicts.test.js.map +1 -0
  350. package/dist/commands/connect-config.test.js +11 -3
  351. package/dist/commands/connect-config.test.js.map +1 -1
  352. package/dist/commands/connect-decline.test.d.ts +2 -0
  353. package/dist/commands/connect-decline.test.d.ts.map +1 -0
  354. package/dist/commands/connect-decline.test.js +70 -0
  355. package/dist/commands/connect-decline.test.js.map +1 -0
  356. package/dist/commands/connect-integration.test.js +25 -12
  357. package/dist/commands/connect-integration.test.js.map +1 -1
  358. package/dist/commands/connect-legacy-migration.test.d.ts +2 -0
  359. package/dist/commands/connect-legacy-migration.test.d.ts.map +1 -0
  360. package/dist/commands/connect-legacy-migration.test.js +108 -0
  361. package/dist/commands/connect-legacy-migration.test.js.map +1 -0
  362. package/dist/commands/connect-redeem-failure.test.d.ts +2 -0
  363. package/dist/commands/connect-redeem-failure.test.d.ts.map +1 -0
  364. package/dist/commands/connect-redeem-failure.test.js +134 -0
  365. package/dist/commands/connect-redeem-failure.test.js.map +1 -0
  366. package/dist/commands/connect-screens.d.ts +16 -9
  367. package/dist/commands/connect-screens.d.ts.map +1 -1
  368. package/dist/commands/connect-screens.js +27 -36
  369. package/dist/commands/connect-screens.js.map +1 -1
  370. package/dist/commands/connect-screens.test.d.ts +2 -0
  371. package/dist/commands/connect-screens.test.d.ts.map +1 -0
  372. package/dist/commands/connect-screens.test.js +18 -0
  373. package/dist/commands/connect-screens.test.js.map +1 -0
  374. package/dist/commands/connect-seal.test.d.ts +2 -0
  375. package/dist/commands/connect-seal.test.d.ts.map +1 -0
  376. package/dist/commands/connect-seal.test.js +55 -0
  377. package/dist/commands/connect-seal.test.js.map +1 -0
  378. package/dist/commands/connect.d.ts +14 -11
  379. package/dist/commands/connect.d.ts.map +1 -1
  380. package/dist/commands/connect.js +236 -69
  381. package/dist/commands/connect.js.map +1 -1
  382. package/dist/commands/connect.test.js +226 -27
  383. package/dist/commands/connect.test.js.map +1 -1
  384. package/dist/commands/constellation.d.ts.map +1 -1
  385. package/dist/commands/constellation.js.map +1 -1
  386. package/dist/commands/context.d.ts.map +1 -1
  387. package/dist/commands/context.js.map +1 -1
  388. package/dist/commands/cross-cut.d.ts.map +1 -1
  389. package/dist/commands/cross-cut.js.map +1 -1
  390. package/dist/commands/direction.d.ts +10 -0
  391. package/dist/commands/direction.d.ts.map +1 -0
  392. package/dist/commands/direction.js +79 -0
  393. package/dist/commands/direction.js.map +1 -0
  394. package/dist/commands/doctor.d.ts.map +1 -1
  395. package/dist/commands/doctor.js +105 -35
  396. package/dist/commands/doctor.js.map +1 -1
  397. package/dist/commands/doctor.test.js +202 -6
  398. package/dist/commands/doctor.test.js.map +1 -1
  399. package/dist/commands/entryAccept.d.ts +26 -0
  400. package/dist/commands/entryAccept.d.ts.map +1 -0
  401. package/dist/commands/entryAccept.js +309 -0
  402. package/dist/commands/entryAccept.js.map +1 -0
  403. package/dist/commands/entryDiscardResolve.d.ts +9 -0
  404. package/dist/commands/entryDiscardResolve.d.ts.map +1 -0
  405. package/dist/commands/entryDiscardResolve.js +27 -0
  406. package/dist/commands/entryDiscardResolve.js.map +1 -0
  407. package/dist/commands/entryOwn.d.ts +5 -0
  408. package/dist/commands/entryOwn.d.ts.map +1 -0
  409. package/dist/commands/entryOwn.js +17 -0
  410. package/dist/commands/entryOwn.js.map +1 -0
  411. package/dist/commands/entryPreflight.d.ts +8 -0
  412. package/dist/commands/entryPreflight.d.ts.map +1 -0
  413. package/dist/commands/entryPreflight.js +48 -0
  414. package/dist/commands/entryPreflight.js.map +1 -0
  415. package/dist/commands/entryTick.d.ts +8 -0
  416. package/dist/commands/entryTick.d.ts.map +1 -0
  417. package/dist/commands/entryTick.js +43 -0
  418. package/dist/commands/entryTick.js.map +1 -0
  419. package/dist/commands/feedback.d.ts +39 -0
  420. package/dist/commands/feedback.d.ts.map +1 -0
  421. package/dist/commands/feedback.js +176 -0
  422. package/dist/commands/feedback.js.map +1 -0
  423. package/dist/commands/feedback.test.d.ts +2 -0
  424. package/dist/commands/feedback.test.d.ts.map +1 -0
  425. package/dist/commands/feedback.test.js +117 -0
  426. package/dist/commands/feedback.test.js.map +1 -0
  427. package/dist/commands/fields.d.ts.map +1 -1
  428. package/dist/commands/fields.js +1 -1
  429. package/dist/commands/fields.js.map +1 -1
  430. package/dist/commands/files.d.ts +26 -0
  431. package/dist/commands/files.d.ts.map +1 -0
  432. package/dist/commands/files.js +160 -0
  433. package/dist/commands/files.js.map +1 -0
  434. package/dist/commands/files.test.d.ts +2 -0
  435. package/dist/commands/files.test.d.ts.map +1 -0
  436. package/dist/commands/files.test.js +278 -0
  437. package/dist/commands/files.test.js.map +1 -0
  438. package/dist/commands/handshakeCursorSkillCleanup.d.ts +36 -0
  439. package/dist/commands/handshakeCursorSkillCleanup.d.ts.map +1 -0
  440. package/dist/commands/handshakeCursorSkillCleanup.js +110 -0
  441. package/dist/commands/handshakeCursorSkillCleanup.js.map +1 -0
  442. package/dist/commands/handshakeDriftClassification.d.ts +33 -0
  443. package/dist/commands/handshakeDriftClassification.d.ts.map +1 -0
  444. package/dist/commands/handshakeDriftClassification.js +62 -0
  445. package/dist/commands/handshakeDriftClassification.js.map +1 -0
  446. package/dist/commands/history.d.ts +32 -0
  447. package/dist/commands/history.d.ts.map +1 -0
  448. package/dist/commands/history.js +55 -0
  449. package/dist/commands/history.js.map +1 -0
  450. package/dist/commands/history.test.d.ts +2 -0
  451. package/dist/commands/history.test.d.ts.map +1 -0
  452. package/dist/commands/history.test.js +121 -0
  453. package/dist/commands/history.test.js.map +1 -0
  454. package/dist/commands/init.d.ts +15 -2
  455. package/dist/commands/init.d.ts.map +1 -1
  456. package/dist/commands/init.js +112 -14
  457. package/dist/commands/init.js.map +1 -1
  458. package/dist/commands/login.d.ts.map +1 -1
  459. package/dist/commands/login.js +15 -11
  460. package/dist/commands/login.js.map +1 -1
  461. package/dist/commands/organisation.d.ts +12 -0
  462. package/dist/commands/organisation.d.ts.map +1 -0
  463. package/dist/commands/organisation.js +146 -0
  464. package/dist/commands/organisation.js.map +1 -0
  465. package/dist/commands/organisation.test.d.ts +2 -0
  466. package/dist/commands/organisation.test.d.ts.map +1 -0
  467. package/dist/commands/organisation.test.js +116 -0
  468. package/dist/commands/organisation.test.js.map +1 -0
  469. package/dist/commands/organisationHierarchy.d.ts +15 -0
  470. package/dist/commands/organisationHierarchy.d.ts.map +1 -0
  471. package/dist/commands/organisationHierarchy.js +114 -0
  472. package/dist/commands/organisationHierarchy.js.map +1 -0
  473. package/dist/commands/organisationHierarchy.test.d.ts +2 -0
  474. package/dist/commands/organisationHierarchy.test.d.ts.map +1 -0
  475. package/dist/commands/organisationHierarchy.test.js +144 -0
  476. package/dist/commands/organisationHierarchy.test.js.map +1 -0
  477. package/dist/commands/organisationWrite.d.ts +20 -0
  478. package/dist/commands/organisationWrite.d.ts.map +1 -0
  479. package/dist/commands/organisationWrite.js +41 -0
  480. package/dist/commands/organisationWrite.js.map +1 -0
  481. package/dist/commands/orient.d.ts +45 -96
  482. package/dist/commands/orient.d.ts.map +1 -1
  483. package/dist/commands/orient.js +139 -36
  484. package/dist/commands/orient.js.map +1 -1
  485. package/dist/commands/outcome.d.ts +90 -0
  486. package/dist/commands/outcome.d.ts.map +1 -0
  487. package/dist/commands/outcome.js +201 -0
  488. package/dist/commands/outcome.js.map +1 -0
  489. package/dist/commands/outcome.test.d.ts +2 -0
  490. package/dist/commands/outcome.test.d.ts.map +1 -0
  491. package/dist/commands/outcome.test.js +320 -0
  492. package/dist/commands/outcome.test.js.map +1 -0
  493. package/dist/commands/people.d.ts +6 -0
  494. package/dist/commands/people.d.ts.map +1 -0
  495. package/dist/commands/people.js +23 -0
  496. package/dist/commands/people.js.map +1 -0
  497. package/dist/commands/people.test.d.ts +2 -0
  498. package/dist/commands/people.test.d.ts.map +1 -0
  499. package/dist/commands/people.test.js +61 -0
  500. package/dist/commands/people.test.js.map +1 -0
  501. package/dist/commands/profile.d.ts +23 -2
  502. package/dist/commands/profile.d.ts.map +1 -1
  503. package/dist/commands/profile.js +192 -35
  504. package/dist/commands/profile.js.map +1 -1
  505. package/dist/commands/quality.d.ts +28 -0
  506. package/dist/commands/quality.d.ts.map +1 -0
  507. package/dist/commands/quality.js +74 -0
  508. package/dist/commands/quality.js.map +1 -0
  509. package/dist/commands/questions.d.ts +23 -0
  510. package/dist/commands/questions.d.ts.map +1 -0
  511. package/dist/commands/questions.js +238 -0
  512. package/dist/commands/questions.js.map +1 -0
  513. package/dist/commands/questions.test.d.ts +2 -0
  514. package/dist/commands/questions.test.d.ts.map +1 -0
  515. package/dist/commands/questions.test.js +159 -0
  516. package/dist/commands/questions.test.js.map +1 -0
  517. package/dist/commands/relate.d.ts +1 -0
  518. package/dist/commands/relate.d.ts.map +1 -1
  519. package/dist/commands/relate.js +85 -13
  520. package/dist/commands/relate.js.map +1 -1
  521. package/dist/commands/restore.d.ts +2 -0
  522. package/dist/commands/restore.d.ts.map +1 -0
  523. package/dist/commands/restore.js +83 -0
  524. package/dist/commands/restore.js.map +1 -0
  525. package/dist/commands/rework.d.ts +24 -0
  526. package/dist/commands/rework.d.ts.map +1 -0
  527. package/dist/commands/rework.js +97 -0
  528. package/dist/commands/rework.js.map +1 -0
  529. package/dist/commands/role.d.ts +88 -0
  530. package/dist/commands/role.d.ts.map +1 -0
  531. package/dist/commands/role.js +235 -0
  532. package/dist/commands/role.js.map +1 -0
  533. package/dist/commands/role.test.d.ts +2 -0
  534. package/dist/commands/role.test.d.ts.map +1 -0
  535. package/dist/commands/role.test.js +348 -0
  536. package/dist/commands/role.test.js.map +1 -0
  537. package/dist/commands/scoreboard.d.ts +26 -0
  538. package/dist/commands/scoreboard.d.ts.map +1 -0
  539. package/dist/commands/scoreboard.js +40 -0
  540. package/dist/commands/scoreboard.js.map +1 -0
  541. package/dist/commands/search.d.ts +2 -1
  542. package/dist/commands/search.d.ts.map +1 -1
  543. package/dist/commands/search.js +5 -4
  544. package/dist/commands/search.js.map +1 -1
  545. package/dist/commands/session.d.ts +36 -5
  546. package/dist/commands/session.d.ts.map +1 -1
  547. package/dist/commands/session.js +301 -155
  548. package/dist/commands/session.js.map +1 -1
  549. package/dist/commands/status.d.ts +7 -0
  550. package/dist/commands/status.d.ts.map +1 -0
  551. package/dist/commands/status.js +101 -0
  552. package/dist/commands/status.js.map +1 -0
  553. package/dist/commands/status.test.d.ts +2 -0
  554. package/dist/commands/status.test.d.ts.map +1 -0
  555. package/dist/commands/status.test.js +75 -0
  556. package/dist/commands/status.test.js.map +1 -0
  557. package/dist/commands/stillTrue.d.ts +14 -0
  558. package/dist/commands/stillTrue.d.ts.map +1 -0
  559. package/dist/commands/stillTrue.js +48 -0
  560. package/dist/commands/stillTrue.js.map +1 -0
  561. package/dist/commands/tensionsList.d.ts +5 -0
  562. package/dist/commands/tensionsList.d.ts.map +1 -0
  563. package/dist/commands/tensionsList.js +27 -0
  564. package/dist/commands/tensionsList.js.map +1 -0
  565. package/dist/commands/update.d.ts +21 -0
  566. package/dist/commands/update.d.ts.map +1 -1
  567. package/dist/commands/update.js +175 -42
  568. package/dist/commands/update.js.map +1 -1
  569. package/dist/commands/usage.d.ts.map +1 -1
  570. package/dist/commands/usage.js +0 -18
  571. package/dist/commands/usage.js.map +1 -1
  572. package/dist/commands/verify.d.ts.map +1 -1
  573. package/dist/commands/verify.js +5 -0
  574. package/dist/commands/verify.js.map +1 -1
  575. package/dist/commands/welcome.d.ts.map +1 -1
  576. package/dist/commands/welcome.js +5 -2
  577. package/dist/commands/welcome.js.map +1 -1
  578. package/dist/commands/whoami.d.ts +10 -2
  579. package/dist/commands/whoami.d.ts.map +1 -1
  580. package/dist/commands/whoami.js +76 -20
  581. package/dist/commands/whoami.js.map +1 -1
  582. package/dist/commands/whoami.test.js +86 -6
  583. package/dist/commands/whoami.test.js.map +1 -1
  584. package/dist/commands/workspace.d.ts +7 -74
  585. package/dist/commands/workspace.d.ts.map +1 -1
  586. package/dist/commands/workspace.js +9 -70
  587. package/dist/commands/workspace.js.map +1 -1
  588. package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts +2 -0
  589. package/dist/formatters/__tests__/orient-plannedWorkCut.test.d.ts.map +1 -0
  590. package/dist/formatters/__tests__/orient-plannedWorkCut.test.js +49 -0
  591. package/dist/formatters/__tests__/orient-plannedWorkCut.test.js.map +1 -0
  592. package/dist/formatters/__tests__/orient-provenance.test.d.ts +2 -3
  593. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -1
  594. package/dist/formatters/__tests__/orient-provenance.test.js +41 -176
  595. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -1
  596. package/dist/formatters/__tests__/orient-ruleLists.test.d.ts +2 -0
  597. package/dist/formatters/__tests__/orient-ruleLists.test.d.ts.map +1 -0
  598. package/dist/formatters/__tests__/orient-ruleLists.test.js +93 -0
  599. package/dist/formatters/__tests__/orient-ruleLists.test.js.map +1 -0
  600. package/dist/formatters/__tests__/session-list-show.test.d.ts +2 -0
  601. package/dist/formatters/__tests__/session-list-show.test.d.ts.map +1 -0
  602. package/dist/formatters/__tests__/session-list-show.test.js +195 -0
  603. package/dist/formatters/__tests__/session-list-show.test.js.map +1 -0
  604. package/dist/formatters/__tests__/session.test.js +172 -8
  605. package/dist/formatters/__tests__/session.test.js.map +1 -1
  606. package/dist/formatters/__tests__/tensionsList.test.d.ts +2 -0
  607. package/dist/formatters/__tests__/tensionsList.test.d.ts.map +1 -0
  608. package/dist/formatters/__tests__/tensionsList.test.js +30 -0
  609. package/dist/formatters/__tests__/tensionsList.test.js.map +1 -0
  610. package/dist/formatters/brief.d.ts +6 -15
  611. package/dist/formatters/brief.d.ts.map +1 -1
  612. package/dist/formatters/brief.js +16 -14
  613. package/dist/formatters/brief.js.map +1 -1
  614. package/dist/formatters/brief.test.d.ts +2 -0
  615. package/dist/formatters/brief.test.d.ts.map +1 -0
  616. package/dist/formatters/brief.test.js +21 -0
  617. package/dist/formatters/brief.test.js.map +1 -0
  618. package/dist/formatters/capture.d.ts +24 -13
  619. package/dist/formatters/capture.d.ts.map +1 -1
  620. package/dist/formatters/capture.js +36 -14
  621. package/dist/formatters/capture.js.map +1 -1
  622. package/dist/formatters/coaching.d.ts +59 -0
  623. package/dist/formatters/coaching.d.ts.map +1 -0
  624. package/dist/formatters/coaching.js +51 -0
  625. package/dist/formatters/coaching.js.map +1 -0
  626. package/dist/formatters/collections.d.ts +0 -1
  627. package/dist/formatters/collections.d.ts.map +1 -1
  628. package/dist/formatters/collections.js +14 -5
  629. package/dist/formatters/collections.js.map +1 -1
  630. package/dist/formatters/conflicts.d.ts +71 -0
  631. package/dist/formatters/conflicts.d.ts.map +1 -0
  632. package/dist/formatters/conflicts.js +105 -0
  633. package/dist/formatters/conflicts.js.map +1 -0
  634. package/dist/formatters/conflicts.test.d.ts +2 -0
  635. package/dist/formatters/conflicts.test.d.ts.map +1 -0
  636. package/dist/formatters/conflicts.test.js +166 -0
  637. package/dist/formatters/conflicts.test.js.map +1 -0
  638. package/dist/formatters/context.d.ts +1 -1
  639. package/dist/formatters/context.d.ts.map +1 -1
  640. package/dist/formatters/context.js.map +1 -1
  641. package/dist/formatters/direction.d.ts +48 -0
  642. package/dist/formatters/direction.d.ts.map +1 -0
  643. package/dist/formatters/direction.js +75 -0
  644. package/dist/formatters/direction.js.map +1 -0
  645. package/dist/formatters/direction.test.d.ts +2 -0
  646. package/dist/formatters/direction.test.d.ts.map +1 -0
  647. package/dist/formatters/direction.test.js +70 -0
  648. package/dist/formatters/direction.test.js.map +1 -0
  649. package/dist/formatters/entry.d.ts +56 -3
  650. package/dist/formatters/entry.d.ts.map +1 -1
  651. package/dist/formatters/entry.js +69 -8
  652. package/dist/formatters/entry.js.map +1 -1
  653. package/dist/formatters/entryAccept.d.ts +83 -0
  654. package/dist/formatters/entryAccept.d.ts.map +1 -0
  655. package/dist/formatters/entryAccept.js +79 -0
  656. package/dist/formatters/entryAccept.js.map +1 -0
  657. package/dist/formatters/feedback.d.ts +61 -0
  658. package/dist/formatters/feedback.d.ts.map +1 -0
  659. package/dist/formatters/feedback.js +95 -0
  660. package/dist/formatters/feedback.js.map +1 -0
  661. package/dist/formatters/feedback.test.d.ts +2 -0
  662. package/dist/formatters/feedback.test.d.ts.map +1 -0
  663. package/dist/formatters/feedback.test.js +142 -0
  664. package/dist/formatters/feedback.test.js.map +1 -0
  665. package/dist/formatters/fields.d.ts +7 -1
  666. package/dist/formatters/fields.d.ts.map +1 -1
  667. package/dist/formatters/fields.js +9 -3
  668. package/dist/formatters/fields.js.map +1 -1
  669. package/dist/formatters/fields.test.d.ts +2 -0
  670. package/dist/formatters/fields.test.d.ts.map +1 -0
  671. package/dist/formatters/fields.test.js +42 -0
  672. package/dist/formatters/fields.test.js.map +1 -0
  673. package/dist/formatters/handshake.d.ts +24 -6
  674. package/dist/formatters/handshake.d.ts.map +1 -1
  675. package/dist/formatters/handshake.js +34 -15
  676. package/dist/formatters/handshake.js.map +1 -1
  677. package/dist/formatters/orient.coherencyCheckTag.test.d.ts +2 -0
  678. package/dist/formatters/orient.coherencyCheckTag.test.d.ts.map +1 -0
  679. package/dist/formatters/orient.coherencyCheckTag.test.js +22 -0
  680. package/dist/formatters/orient.coherencyCheckTag.test.js.map +1 -0
  681. package/dist/formatters/orient.d.ts +92 -145
  682. package/dist/formatters/orient.d.ts.map +1 -1
  683. package/dist/formatters/orient.js +143 -183
  684. package/dist/formatters/orient.js.map +1 -1
  685. package/dist/formatters/orient.rcrtMiss.test.d.ts +2 -0
  686. package/dist/formatters/orient.rcrtMiss.test.d.ts.map +1 -0
  687. package/dist/formatters/orient.rcrtMiss.test.js +77 -0
  688. package/dist/formatters/orient.rcrtMiss.test.js.map +1 -0
  689. package/dist/formatters/orient.rituals.test.d.ts +2 -0
  690. package/dist/formatters/orient.rituals.test.d.ts.map +1 -0
  691. package/dist/formatters/orient.rituals.test.js +72 -0
  692. package/dist/formatters/orient.rituals.test.js.map +1 -0
  693. package/dist/formatters/orientDegradation.d.ts +38 -0
  694. package/dist/formatters/orientDegradation.d.ts.map +1 -0
  695. package/dist/formatters/orientDegradation.js +50 -0
  696. package/dist/formatters/orientDegradation.js.map +1 -0
  697. package/dist/formatters/orientDegradation.test.d.ts +2 -0
  698. package/dist/formatters/orientDegradation.test.d.ts.map +1 -0
  699. package/dist/formatters/orientDegradation.test.js +28 -0
  700. package/dist/formatters/orientDegradation.test.js.map +1 -0
  701. package/dist/formatters/orientDirection.d.ts +25 -0
  702. package/dist/formatters/orientDirection.d.ts.map +1 -0
  703. package/dist/formatters/orientDirection.js +7 -0
  704. package/dist/formatters/orientDirection.js.map +1 -0
  705. package/dist/formatters/orientDirection.test.d.ts +2 -0
  706. package/dist/formatters/orientDirection.test.d.ts.map +1 -0
  707. package/dist/formatters/orientDirection.test.js +48 -0
  708. package/dist/formatters/orientDirection.test.js.map +1 -0
  709. package/dist/formatters/orientRetrievalMiss.d.ts +22 -0
  710. package/dist/formatters/orientRetrievalMiss.d.ts.map +1 -0
  711. package/dist/formatters/orientRetrievalMiss.js +17 -0
  712. package/dist/formatters/orientRetrievalMiss.js.map +1 -0
  713. package/dist/formatters/plannedWorkCounts.d.ts +19 -0
  714. package/dist/formatters/plannedWorkCounts.d.ts.map +1 -0
  715. package/dist/formatters/plannedWorkCounts.js +17 -0
  716. package/dist/formatters/plannedWorkCounts.js.map +1 -0
  717. package/dist/formatters/qualityChecks.d.ts +14 -0
  718. package/dist/formatters/qualityChecks.d.ts.map +1 -0
  719. package/dist/formatters/qualityChecks.js +97 -0
  720. package/dist/formatters/qualityChecks.js.map +1 -0
  721. package/dist/formatters/questions.d.ts +76 -0
  722. package/dist/formatters/questions.d.ts.map +1 -0
  723. package/dist/formatters/questions.js +122 -0
  724. package/dist/formatters/questions.js.map +1 -0
  725. package/dist/formatters/questions.test.d.ts +2 -0
  726. package/dist/formatters/questions.test.d.ts.map +1 -0
  727. package/dist/formatters/questions.test.js +156 -0
  728. package/dist/formatters/questions.test.js.map +1 -0
  729. package/dist/formatters/relate.d.ts +13 -2
  730. package/dist/formatters/relate.d.ts.map +1 -1
  731. package/dist/formatters/relate.js +15 -5
  732. package/dist/formatters/relate.js.map +1 -1
  733. package/dist/formatters/relate.test.d.ts +2 -0
  734. package/dist/formatters/relate.test.d.ts.map +1 -0
  735. package/dist/formatters/relate.test.js +91 -0
  736. package/dist/formatters/relate.test.js.map +1 -0
  737. package/dist/formatters/scoreboard.d.ts +11 -0
  738. package/dist/formatters/scoreboard.d.ts.map +1 -0
  739. package/dist/formatters/scoreboard.js +156 -0
  740. package/dist/formatters/scoreboard.js.map +1 -0
  741. package/dist/formatters/scoreboard.test.d.ts +2 -0
  742. package/dist/formatters/scoreboard.test.d.ts.map +1 -0
  743. package/dist/formatters/scoreboard.test.js +284 -0
  744. package/dist/formatters/scoreboard.test.js.map +1 -0
  745. package/dist/formatters/search.d.ts +24 -0
  746. package/dist/formatters/search.d.ts.map +1 -1
  747. package/dist/formatters/search.js +26 -11
  748. package/dist/formatters/search.js.map +1 -1
  749. package/dist/formatters/search.test.d.ts +2 -0
  750. package/dist/formatters/search.test.d.ts.map +1 -0
  751. package/dist/formatters/search.test.js +86 -0
  752. package/dist/formatters/search.test.js.map +1 -0
  753. package/dist/formatters/session-feedback.test.d.ts +2 -0
  754. package/dist/formatters/session-feedback.test.d.ts.map +1 -0
  755. package/dist/formatters/session-feedback.test.js +124 -0
  756. package/dist/formatters/session-feedback.test.js.map +1 -0
  757. package/dist/formatters/session.d.ts +121 -5
  758. package/dist/formatters/session.d.ts.map +1 -1
  759. package/dist/formatters/session.js +316 -31
  760. package/dist/formatters/session.js.map +1 -1
  761. package/dist/formatters/spineCheck.d.ts +14 -0
  762. package/dist/formatters/spineCheck.d.ts.map +1 -0
  763. package/dist/formatters/spineCheck.js +113 -0
  764. package/dist/formatters/spineCheck.js.map +1 -0
  765. package/dist/formatters/spineCheck.test.d.ts +2 -0
  766. package/dist/formatters/spineCheck.test.d.ts.map +1 -0
  767. package/dist/formatters/spineCheck.test.js +76 -0
  768. package/dist/formatters/spineCheck.test.js.map +1 -0
  769. package/dist/formatters/tensionsList.d.ts +17 -0
  770. package/dist/formatters/tensionsList.d.ts.map +1 -0
  771. package/dist/formatters/tensionsList.js +33 -0
  772. package/dist/formatters/tensionsList.js.map +1 -0
  773. package/dist/formatters/update.d.ts +26 -0
  774. package/dist/formatters/update.d.ts.map +1 -1
  775. package/dist/formatters/update.js +39 -7
  776. package/dist/formatters/update.js.map +1 -1
  777. package/dist/formatters/update.test.d.ts +2 -0
  778. package/dist/formatters/update.test.d.ts.map +1 -0
  779. package/dist/formatters/update.test.js +71 -0
  780. package/dist/formatters/update.test.js.map +1 -0
  781. package/dist/formatters/verify.d.ts +12 -4
  782. package/dist/formatters/verify.d.ts.map +1 -1
  783. package/dist/formatters/verify.js +20 -2
  784. package/dist/formatters/verify.js.map +1 -1
  785. package/dist/generated/healthGapKinds.generated.d.ts +12 -0
  786. package/dist/generated/healthGapKinds.generated.d.ts.map +1 -0
  787. package/dist/generated/healthGapKinds.generated.js +16 -0
  788. package/dist/generated/healthGapKinds.generated.js.map +1 -0
  789. package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts +12 -0
  790. package/dist/generated/organisationalAuthorityRefusalCodes.generated.d.ts.map +1 -0
  791. package/dist/generated/organisationalAuthorityRefusalCodes.generated.js +11 -0
  792. package/dist/generated/organisationalAuthorityRefusalCodes.generated.js.map +1 -0
  793. package/dist/generated/routeLatencyBudget.generated.d.ts +54 -0
  794. package/dist/generated/routeLatencyBudget.generated.d.ts.map +1 -0
  795. package/dist/generated/routeLatencyBudget.generated.js +264 -0
  796. package/dist/generated/routeLatencyBudget.generated.js.map +1 -0
  797. package/dist/generated/sourceSurfaces.generated.d.ts +12 -0
  798. package/dist/generated/sourceSurfaces.generated.d.ts.map +1 -0
  799. package/dist/generated/sourceSurfaces.generated.js +11 -0
  800. package/dist/generated/sourceSurfaces.generated.js.map +1 -0
  801. package/dist/generators/adapters.d.ts +39 -6
  802. package/dist/generators/adapters.d.ts.map +1 -1
  803. package/dist/generators/adapters.js +88 -89
  804. package/dist/generators/adapters.js.map +1 -1
  805. package/dist/generators/adapters.test.js +14 -6
  806. package/dist/generators/adapters.test.js.map +1 -1
  807. package/dist/generators/briefing-projections.test.d.ts +2 -0
  808. package/dist/generators/briefing-projections.test.d.ts.map +1 -0
  809. package/dist/generators/briefing-projections.test.js +98 -0
  810. package/dist/generators/briefing-projections.test.js.map +1 -0
  811. package/dist/generators/context-md.d.ts +7 -2
  812. package/dist/generators/context-md.d.ts.map +1 -1
  813. package/dist/generators/context-md.js +14 -53
  814. package/dist/generators/context-md.js.map +1 -1
  815. package/dist/generators/everyone-rules-md.d.ts +9 -0
  816. package/dist/generators/everyone-rules-md.d.ts.map +1 -0
  817. package/dist/generators/everyone-rules-md.js +21 -0
  818. package/dist/generators/everyone-rules-md.js.map +1 -0
  819. package/dist/generators/noProjectionAssets.d.ts +15 -0
  820. package/dist/generators/noProjectionAssets.d.ts.map +1 -0
  821. package/dist/generators/noProjectionAssets.js +6 -0
  822. package/dist/generators/noProjectionAssets.js.map +1 -0
  823. package/dist/generators/portable-knowledge.d.ts +9 -26
  824. package/dist/generators/portable-knowledge.d.ts.map +1 -1
  825. package/dist/generators/portable-knowledge.js +11 -125
  826. package/dist/generators/portable-knowledge.js.map +1 -1
  827. package/dist/generators/portable-knowledge.test.js +82 -267
  828. package/dist/generators/portable-knowledge.test.js.map +1 -1
  829. package/dist/generators/region-projections.d.ts +0 -1
  830. package/dist/generators/region-projections.d.ts.map +1 -1
  831. package/dist/generators/region-projections.js +7 -5
  832. package/dist/generators/region-projections.js.map +1 -1
  833. package/dist/generators/region-projections.test.js +10 -15
  834. package/dist/generators/region-projections.test.js.map +1 -1
  835. package/dist/generators/region.test.js +9 -10
  836. package/dist/generators/region.test.js.map +1 -1
  837. package/dist/generators/retired-projections.d.ts +12 -0
  838. package/dist/generators/retired-projections.d.ts.map +1 -0
  839. package/dist/generators/retired-projections.js +75 -0
  840. package/dist/generators/retired-projections.js.map +1 -0
  841. package/dist/generators/retired-projections.test.d.ts +2 -0
  842. package/dist/generators/retired-projections.test.d.ts.map +1 -0
  843. package/dist/generators/retired-projections.test.js +64 -0
  844. package/dist/generators/retired-projections.test.js.map +1 -0
  845. package/dist/handleCliError.d.ts +30 -0
  846. package/dist/handleCliError.d.ts.map +1 -0
  847. package/dist/handleCliError.js +91 -0
  848. package/dist/handleCliError.js.map +1 -0
  849. package/dist/index.d.ts +0 -5
  850. package/dist/index.d.ts.map +1 -1
  851. package/dist/index.js +166 -608
  852. package/dist/index.js.map +1 -1
  853. package/dist/lib/__tests__/parseFields.test.d.ts +2 -0
  854. package/dist/lib/__tests__/parseFields.test.d.ts.map +1 -0
  855. package/dist/lib/__tests__/parseFields.test.js +40 -0
  856. package/dist/lib/__tests__/parseFields.test.js.map +1 -0
  857. package/dist/lib/adminConfig.d.ts +48 -0
  858. package/dist/lib/adminConfig.d.ts.map +1 -0
  859. package/dist/lib/adminConfig.js +130 -0
  860. package/dist/lib/adminConfig.js.map +1 -0
  861. package/dist/lib/canonicalRefs.d.ts +27 -8
  862. package/dist/lib/canonicalRefs.d.ts.map +1 -1
  863. package/dist/lib/canonicalRefs.js +25 -6
  864. package/dist/lib/canonicalRefs.js.map +1 -1
  865. package/dist/lib/captureLink.d.ts +7 -0
  866. package/dist/lib/captureLink.d.ts.map +1 -0
  867. package/dist/lib/captureLink.js +29 -0
  868. package/dist/lib/captureLink.js.map +1 -0
  869. package/dist/lib/checklist.d.ts +32 -0
  870. package/dist/lib/checklist.d.ts.map +1 -0
  871. package/dist/lib/checklist.js +79 -0
  872. package/dist/lib/checklist.js.map +1 -0
  873. package/dist/lib/client.d.ts +38 -24
  874. package/dist/lib/client.d.ts.map +1 -1
  875. package/dist/lib/client.js +209 -102
  876. package/dist/lib/client.js.map +1 -1
  877. package/dist/lib/commanderOptions.d.ts +8 -0
  878. package/dist/lib/commanderOptions.d.ts.map +1 -0
  879. package/dist/lib/commanderOptions.js +10 -0
  880. package/dist/lib/commanderOptions.js.map +1 -0
  881. package/dist/lib/compose-wrapup-view.d.ts +68 -0
  882. package/dist/lib/compose-wrapup-view.d.ts.map +1 -0
  883. package/dist/lib/compose-wrapup-view.js +40 -0
  884. package/dist/lib/compose-wrapup-view.js.map +1 -0
  885. package/dist/lib/config.d.ts +43 -111
  886. package/dist/lib/config.d.ts.map +1 -1
  887. package/dist/lib/config.js +103 -309
  888. package/dist/lib/config.js.map +1 -1
  889. package/dist/lib/configResult.d.ts +102 -0
  890. package/dist/lib/configResult.d.ts.map +1 -0
  891. package/dist/lib/configResult.js +179 -0
  892. package/dist/lib/configResult.js.map +1 -0
  893. package/dist/lib/connectProfileName.d.ts +36 -0
  894. package/dist/lib/connectProfileName.d.ts.map +1 -0
  895. package/dist/lib/connectProfileName.js +72 -0
  896. package/dist/lib/connectProfileName.js.map +1 -0
  897. package/dist/lib/connectProfileName.test.d.ts +2 -0
  898. package/dist/lib/connectProfileName.test.d.ts.map +1 -0
  899. package/dist/lib/connectProfileName.test.js +100 -0
  900. package/dist/lib/connectProfileName.test.js.map +1 -0
  901. package/dist/lib/constants.d.ts +3 -0
  902. package/dist/lib/constants.d.ts.map +1 -1
  903. package/dist/lib/constants.js +3 -0
  904. package/dist/lib/constants.js.map +1 -1
  905. package/dist/lib/conversation.d.ts +36 -0
  906. package/dist/lib/conversation.d.ts.map +1 -0
  907. package/dist/lib/conversation.js +66 -0
  908. package/dist/lib/conversation.js.map +1 -0
  909. package/dist/lib/createEntryResult.d.ts +34 -0
  910. package/dist/lib/createEntryResult.d.ts.map +1 -0
  911. package/dist/lib/createEntryResult.js +12 -0
  912. package/dist/lib/createEntryResult.js.map +1 -0
  913. package/dist/lib/deployment.js +2 -2
  914. package/dist/lib/deployment.js.map +1 -1
  915. package/dist/lib/deployment.test.js +20 -1
  916. package/dist/lib/deployment.test.js.map +1 -1
  917. package/dist/lib/envKeySnapshot.d.ts +10 -0
  918. package/dist/lib/envKeySnapshot.d.ts.map +1 -0
  919. package/dist/lib/envKeySnapshot.js +30 -0
  920. package/dist/lib/envKeySnapshot.js.map +1 -0
  921. package/dist/lib/errors.d.ts +90 -0
  922. package/dist/lib/errors.d.ts.map +1 -1
  923. package/dist/lib/errors.js +83 -0
  924. package/dist/lib/errors.js.map +1 -1
  925. package/dist/lib/frontmatter.d.ts +55 -0
  926. package/dist/lib/frontmatter.d.ts.map +1 -0
  927. package/dist/lib/frontmatter.js +92 -0
  928. package/dist/lib/frontmatter.js.map +1 -0
  929. package/dist/lib/frontmatter.test.d.ts +15 -0
  930. package/dist/lib/frontmatter.test.d.ts.map +1 -0
  931. package/dist/lib/frontmatter.test.js +98 -0
  932. package/dist/lib/frontmatter.test.js.map +1 -0
  933. package/dist/lib/gatewayTimeout.d.ts +88 -0
  934. package/dist/lib/gatewayTimeout.d.ts.map +1 -0
  935. package/dist/lib/gatewayTimeout.js +118 -0
  936. package/dist/lib/gatewayTimeout.js.map +1 -0
  937. package/dist/lib/gitEnvLeakKeysParity.test.d.ts +2 -0
  938. package/dist/lib/gitEnvLeakKeysParity.test.d.ts.map +1 -0
  939. package/dist/lib/gitEnvLeakKeysParity.test.js +73 -0
  940. package/dist/lib/gitEnvLeakKeysParity.test.js.map +1 -0
  941. package/dist/lib/glossary.d.ts +3 -15
  942. package/dist/lib/glossary.d.ts.map +1 -1
  943. package/dist/lib/glossary.js +6 -47
  944. package/dist/lib/glossary.js.map +1 -1
  945. package/dist/lib/hook-intents.d.ts +9 -4
  946. package/dist/lib/hook-intents.d.ts.map +1 -1
  947. package/dist/lib/hook-intents.js +10 -11
  948. package/dist/lib/hook-intents.js.map +1 -1
  949. package/dist/lib/judgeWait.d.ts +50 -0
  950. package/dist/lib/judgeWait.d.ts.map +1 -0
  951. package/dist/lib/judgeWait.js +64 -0
  952. package/dist/lib/judgeWait.js.map +1 -0
  953. package/dist/lib/kernelEnvelope.d.ts +42 -0
  954. package/dist/lib/kernelEnvelope.d.ts.map +1 -0
  955. package/dist/lib/kernelEnvelope.js +67 -0
  956. package/dist/lib/kernelEnvelope.js.map +1 -0
  957. package/dist/lib/localBinding.d.ts +86 -0
  958. package/dist/lib/localBinding.d.ts.map +1 -0
  959. package/dist/lib/localBinding.js +173 -0
  960. package/dist/lib/localBinding.js.map +1 -0
  961. package/dist/lib/normalizeMaterializedFilename.d.ts +3 -3
  962. package/dist/lib/normalizeMaterializedFilename.js +3 -3
  963. package/dist/lib/notice-marker.d.ts.map +1 -1
  964. package/dist/lib/notice-marker.js +186 -16
  965. package/dist/lib/notice-marker.js.map +1 -1
  966. package/dist/lib/outcomeObjectiveLines.d.ts +30 -0
  967. package/dist/lib/outcomeObjectiveLines.d.ts.map +1 -0
  968. package/dist/lib/outcomeObjectiveLines.js +29 -0
  969. package/dist/lib/outcomeObjectiveLines.js.map +1 -0
  970. package/dist/lib/ownerLine.d.ts +90 -0
  971. package/dist/lib/ownerLine.d.ts.map +1 -0
  972. package/dist/lib/ownerLine.js +77 -0
  973. package/dist/lib/ownerLine.js.map +1 -0
  974. package/dist/lib/parseFields.d.ts +19 -0
  975. package/dist/lib/parseFields.d.ts.map +1 -0
  976. package/dist/lib/parseFields.js +49 -0
  977. package/dist/lib/parseFields.js.map +1 -0
  978. package/dist/lib/pinnedRole.d.ts +28 -0
  979. package/dist/lib/pinnedRole.d.ts.map +1 -0
  980. package/dist/lib/pinnedRole.js +106 -0
  981. package/dist/lib/pinnedRole.js.map +1 -0
  982. package/dist/lib/platformGlossary.d.ts +22 -0
  983. package/dist/lib/platformGlossary.d.ts.map +1 -0
  984. package/dist/lib/platformGlossary.js +26 -0
  985. package/dist/lib/platformGlossary.js.map +1 -0
  986. package/dist/lib/previewBanner.d.ts +9 -0
  987. package/dist/lib/previewBanner.d.ts.map +1 -0
  988. package/dist/lib/previewBanner.js +36 -0
  989. package/dist/lib/previewBanner.js.map +1 -0
  990. package/dist/lib/productbrain-files.d.ts +108 -0
  991. package/dist/lib/productbrain-files.d.ts.map +1 -0
  992. package/dist/lib/productbrain-files.js +240 -0
  993. package/dist/lib/productbrain-files.js.map +1 -0
  994. package/dist/lib/productbrain-files.test.d.ts +2 -0
  995. package/dist/lib/productbrain-files.test.d.ts.map +1 -0
  996. package/dist/lib/productbrain-files.test.js +518 -0
  997. package/dist/lib/productbrain-files.test.js.map +1 -0
  998. package/dist/lib/profiles.d.ts +52 -4
  999. package/dist/lib/profiles.d.ts.map +1 -1
  1000. package/dist/lib/profiles.js +72 -21
  1001. package/dist/lib/profiles.js.map +1 -1
  1002. package/dist/lib/projectConfig.d.ts +121 -0
  1003. package/dist/lib/projectConfig.d.ts.map +1 -0
  1004. package/dist/lib/projectConfig.js +226 -0
  1005. package/dist/lib/projectConfig.js.map +1 -0
  1006. package/dist/lib/prompts.d.ts +2 -0
  1007. package/dist/lib/prompts.d.ts.map +1 -1
  1008. package/dist/lib/prompts.js +2 -0
  1009. package/dist/lib/prompts.js.map +1 -1
  1010. package/dist/lib/proseBody.d.ts +14 -0
  1011. package/dist/lib/proseBody.d.ts.map +1 -0
  1012. package/dist/lib/proseBody.js +25 -0
  1013. package/dist/lib/proseBody.js.map +1 -0
  1014. package/dist/lib/rate-limit.d.ts +34 -0
  1015. package/dist/lib/rate-limit.d.ts.map +1 -0
  1016. package/dist/lib/rate-limit.js +89 -0
  1017. package/dist/lib/rate-limit.js.map +1 -0
  1018. package/dist/lib/readinessNotices.d.ts +12 -0
  1019. package/dist/lib/readinessNotices.d.ts.map +1 -0
  1020. package/dist/lib/readinessNotices.js +15 -0
  1021. package/dist/lib/readinessNotices.js.map +1 -0
  1022. package/dist/lib/repo-detect.d.ts +8 -2
  1023. package/dist/lib/repo-detect.d.ts.map +1 -1
  1024. package/dist/lib/repo-detect.js +11 -6
  1025. package/dist/lib/repo-detect.js.map +1 -1
  1026. package/dist/lib/reportedProfile.d.ts +18 -0
  1027. package/dist/lib/reportedProfile.d.ts.map +1 -0
  1028. package/dist/lib/reportedProfile.js +144 -0
  1029. package/dist/lib/reportedProfile.js.map +1 -0
  1030. package/dist/lib/restsOn.d.ts +33 -0
  1031. package/dist/lib/restsOn.d.ts.map +1 -0
  1032. package/dist/lib/restsOn.js +34 -0
  1033. package/dist/lib/restsOn.js.map +1 -0
  1034. package/dist/lib/ruleListRender.d.ts +268 -0
  1035. package/dist/lib/ruleListRender.d.ts.map +1 -0
  1036. package/dist/lib/ruleListRender.js +350 -0
  1037. package/dist/lib/ruleListRender.js.map +1 -0
  1038. package/dist/lib/runner.d.ts +9 -1
  1039. package/dist/lib/runner.d.ts.map +1 -1
  1040. package/dist/lib/runner.js +30 -4
  1041. package/dist/lib/runner.js.map +1 -1
  1042. package/dist/lib/seatSentence.d.ts +62 -0
  1043. package/dist/lib/seatSentence.d.ts.map +1 -0
  1044. package/dist/lib/seatSentence.js +82 -0
  1045. package/dist/lib/seatSentence.js.map +1 -0
  1046. package/dist/lib/session.d.ts +86 -12
  1047. package/dist/lib/session.d.ts.map +1 -1
  1048. package/dist/lib/session.js +243 -24
  1049. package/dist/lib/session.js.map +1 -1
  1050. package/dist/lib/sessionBinding.d.ts +61 -0
  1051. package/dist/lib/sessionBinding.d.ts.map +1 -0
  1052. package/dist/lib/sessionBinding.js +125 -0
  1053. package/dist/lib/sessionBinding.js.map +1 -0
  1054. package/dist/lib/sessionNotices.d.ts +54 -0
  1055. package/dist/lib/sessionNotices.d.ts.map +1 -0
  1056. package/dist/lib/sessionNotices.js +132 -0
  1057. package/dist/lib/sessionNotices.js.map +1 -0
  1058. package/dist/lib/sessionNotices.test.d.ts +2 -0
  1059. package/dist/lib/sessionNotices.test.d.ts.map +1 -0
  1060. package/dist/lib/sessionNotices.test.js +53 -0
  1061. package/dist/lib/sessionNotices.test.js.map +1 -0
  1062. package/dist/lib/spineVerdictRead.d.ts +70 -0
  1063. package/dist/lib/spineVerdictRead.d.ts.map +1 -0
  1064. package/dist/lib/spineVerdictRead.js +73 -0
  1065. package/dist/lib/spineVerdictRead.js.map +1 -0
  1066. package/dist/lib/spinner.js +2 -2
  1067. package/dist/lib/spinner.js.map +1 -1
  1068. package/dist/lib/startup-resolution-signals.d.ts +34 -0
  1069. package/dist/lib/startup-resolution-signals.d.ts.map +1 -0
  1070. package/dist/lib/startup-resolution-signals.js +116 -0
  1071. package/dist/lib/startup-resolution-signals.js.map +1 -0
  1072. package/dist/lib/startup-resolution-signals.test.d.ts +2 -0
  1073. package/dist/lib/startup-resolution-signals.test.d.ts.map +1 -0
  1074. package/dist/lib/startup-resolution-signals.test.js +113 -0
  1075. package/dist/lib/startup-resolution-signals.test.js.map +1 -0
  1076. package/dist/lib/startup-signals.d.ts +12 -0
  1077. package/dist/lib/startup-signals.d.ts.map +1 -0
  1078. package/dist/lib/startup-signals.js +179 -0
  1079. package/dist/lib/startup-signals.js.map +1 -0
  1080. package/dist/lib/startup-signals.test.d.ts +2 -0
  1081. package/dist/lib/startup-signals.test.d.ts.map +1 -0
  1082. package/dist/lib/startup-signals.test.js +165 -0
  1083. package/dist/lib/startup-signals.test.js.map +1 -0
  1084. package/dist/lib/state.d.ts +11 -2
  1085. package/dist/lib/state.d.ts.map +1 -1
  1086. package/dist/lib/state.js +11 -4
  1087. package/dist/lib/state.js.map +1 -1
  1088. package/dist/lib/statusCategories.d.ts +162 -0
  1089. package/dist/lib/statusCategories.d.ts.map +1 -0
  1090. package/dist/lib/statusCategories.js +286 -0
  1091. package/dist/lib/statusCategories.js.map +1 -0
  1092. package/dist/lib/strip.d.ts +17 -0
  1093. package/dist/lib/strip.d.ts.map +1 -1
  1094. package/dist/lib/strip.js +48 -1
  1095. package/dist/lib/strip.js.map +1 -1
  1096. package/dist/lib/style.d.ts +8 -2
  1097. package/dist/lib/style.d.ts.map +1 -1
  1098. package/dist/lib/style.js +24 -17
  1099. package/dist/lib/style.js.map +1 -1
  1100. package/dist/lib/update-check.d.ts +3 -2
  1101. package/dist/lib/update-check.d.ts.map +1 -1
  1102. package/dist/lib/update-check.js +10 -4
  1103. package/dist/lib/update-check.js.map +1 -1
  1104. package/dist/lib/workspaceNotice.d.ts +202 -0
  1105. package/dist/lib/workspaceNotice.d.ts.map +1 -0
  1106. package/dist/lib/workspaceNotice.js +345 -0
  1107. package/dist/lib/workspaceNotice.js.map +1 -0
  1108. package/dist/lib/writePerimeter.d.ts +72 -0
  1109. package/dist/lib/writePerimeter.d.ts.map +1 -0
  1110. package/dist/lib/writePerimeter.js +128 -0
  1111. package/dist/lib/writePerimeter.js.map +1 -0
  1112. package/dist/registerEntryCommands.d.ts +18 -0
  1113. package/dist/registerEntryCommands.d.ts.map +1 -0
  1114. package/dist/registerEntryCommands.js +122 -0
  1115. package/dist/registerEntryCommands.js.map +1 -0
  1116. package/dist/registerHistoryCommand.d.ts +8 -0
  1117. package/dist/registerHistoryCommand.d.ts.map +1 -0
  1118. package/dist/registerHistoryCommand.js +14 -0
  1119. package/dist/registerHistoryCommand.js.map +1 -0
  1120. package/dist/registerOutcomeCommands.d.ts +27 -0
  1121. package/dist/registerOutcomeCommands.d.ts.map +1 -0
  1122. package/dist/registerOutcomeCommands.js +27 -0
  1123. package/dist/registerOutcomeCommands.js.map +1 -0
  1124. package/dist/registerRoleCommands.d.ts +11 -0
  1125. package/dist/registerRoleCommands.d.ts.map +1 -0
  1126. package/dist/registerRoleCommands.js +42 -0
  1127. package/dist/registerRoleCommands.js.map +1 -0
  1128. package/dist/registerTensionsCommands.d.ts +10 -0
  1129. package/dist/registerTensionsCommands.d.ts.map +1 -0
  1130. package/dist/registerTensionsCommands.js +15 -0
  1131. package/dist/registerTensionsCommands.js.map +1 -0
  1132. package/dist/scoreboard/diagnose.d.ts +185 -0
  1133. package/dist/scoreboard/diagnose.d.ts.map +1 -0
  1134. package/dist/scoreboard/diagnose.js +282 -0
  1135. package/dist/scoreboard/diagnose.js.map +1 -0
  1136. package/dist/scoreboard/diagnose.test.d.ts +15 -0
  1137. package/dist/scoreboard/diagnose.test.d.ts.map +1 -0
  1138. package/dist/scoreboard/diagnose.test.js +288 -0
  1139. package/dist/scoreboard/diagnose.test.js.map +1 -0
  1140. package/dist/scoreboard/floors.d.ts +47 -0
  1141. package/dist/scoreboard/floors.d.ts.map +1 -0
  1142. package/dist/scoreboard/floors.js +33 -0
  1143. package/dist/scoreboard/floors.js.map +1 -0
  1144. package/dist/scoreboard/localDrift.d.ts +23 -0
  1145. package/dist/scoreboard/localDrift.d.ts.map +1 -0
  1146. package/dist/scoreboard/localDrift.js +111 -0
  1147. package/dist/scoreboard/localDrift.js.map +1 -0
  1148. package/dist/scoreboard/localDrift.test.d.ts +9 -0
  1149. package/dist/scoreboard/localDrift.test.d.ts.map +1 -0
  1150. package/dist/scoreboard/localDrift.test.js +82 -0
  1151. package/dist/scoreboard/localDrift.test.js.map +1 -0
  1152. package/dist/surfaces/__tests__/adapter.test.js +2 -6
  1153. package/dist/surfaces/__tests__/adapter.test.js.map +1 -1
  1154. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.d.ts +2 -0
  1155. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.d.ts.map +1 -0
  1156. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.js +180 -0
  1157. package/dist/surfaces/__tests__/claude-skill-pointer-drift.test.js.map +1 -0
  1158. package/dist/surfaces/adapters/claude.d.ts.map +1 -1
  1159. package/dist/surfaces/adapters/claude.js +30 -25
  1160. package/dist/surfaces/adapters/claude.js.map +1 -1
  1161. package/dist/surfaces/registry.js +1 -1
  1162. package/dist/surfaces/registry.js.map +1 -1
  1163. package/package.json +9 -9
  1164. package/dist/__tests__/audit.test.d.ts +0 -2
  1165. package/dist/__tests__/audit.test.d.ts.map +0 -1
  1166. package/dist/__tests__/audit.test.js +0 -399
  1167. package/dist/__tests__/audit.test.js.map +0 -1
  1168. package/dist/__tests__/authority-domains.test.d.ts +0 -2
  1169. package/dist/__tests__/authority-domains.test.d.ts.map +0 -1
  1170. package/dist/__tests__/authority-domains.test.js +0 -48
  1171. package/dist/__tests__/authority-domains.test.js.map +0 -1
  1172. package/dist/__tests__/handshake-augment.test.d.ts +0 -2
  1173. package/dist/__tests__/handshake-augment.test.d.ts.map +0 -1
  1174. package/dist/__tests__/handshake-augment.test.js +0 -423
  1175. package/dist/__tests__/handshake-augment.test.js.map +0 -1
  1176. package/dist/__tests__/handshake-dormancy.test.d.ts +0 -2
  1177. package/dist/__tests__/handshake-dormancy.test.d.ts.map +0 -1
  1178. package/dist/__tests__/handshake-dormancy.test.js +0 -207
  1179. package/dist/__tests__/handshake-dormancy.test.js.map +0 -1
  1180. package/dist/__tests__/handshake-formatter.test.d.ts +0 -2
  1181. package/dist/__tests__/handshake-formatter.test.d.ts.map +0 -1
  1182. package/dist/__tests__/handshake-formatter.test.js +0 -67
  1183. package/dist/__tests__/handshake-formatter.test.js.map +0 -1
  1184. package/dist/__tests__/handshake-preview.test.d.ts +0 -2
  1185. package/dist/__tests__/handshake-preview.test.d.ts.map +0 -1
  1186. package/dist/__tests__/handshake-preview.test.js +0 -841
  1187. package/dist/__tests__/handshake-preview.test.js.map +0 -1
  1188. package/dist/__tests__/handshake.e2e.test.d.ts +0 -2
  1189. package/dist/__tests__/handshake.e2e.test.d.ts.map +0 -1
  1190. package/dist/__tests__/handshake.e2e.test.js +0 -1252
  1191. package/dist/__tests__/handshake.e2e.test.js.map +0 -1
  1192. package/dist/__tests__/handshake.test.d.ts +0 -2
  1193. package/dist/__tests__/handshake.test.d.ts.map +0 -1
  1194. package/dist/__tests__/handshake.test.js +0 -805
  1195. package/dist/__tests__/handshake.test.js.map +0 -1
  1196. package/dist/__tests__/ingest.test.d.ts +0 -2
  1197. package/dist/__tests__/ingest.test.d.ts.map +0 -1
  1198. package/dist/__tests__/ingest.test.js +0 -185
  1199. package/dist/__tests__/ingest.test.js.map +0 -1
  1200. package/dist/__tests__/method-registry.integration.test.d.ts +0 -6
  1201. package/dist/__tests__/method-registry.integration.test.d.ts.map +0 -1
  1202. package/dist/__tests__/method-registry.integration.test.js +0 -18
  1203. package/dist/__tests__/method-registry.integration.test.js.map +0 -1
  1204. package/dist/__tests__/method-registry.test.d.ts +0 -14
  1205. package/dist/__tests__/method-registry.test.d.ts.map +0 -1
  1206. package/dist/__tests__/method-registry.test.js +0 -134
  1207. package/dist/__tests__/method-registry.test.js.map +0 -1
  1208. package/dist/__tests__/onboarding-path-b.test.d.ts +0 -2
  1209. package/dist/__tests__/onboarding-path-b.test.d.ts.map +0 -1
  1210. package/dist/__tests__/onboarding-path-b.test.js +0 -46
  1211. package/dist/__tests__/onboarding-path-b.test.js.map +0 -1
  1212. package/dist/__tests__/onboarding.test.d.ts +0 -6
  1213. package/dist/__tests__/onboarding.test.d.ts.map +0 -1
  1214. package/dist/__tests__/onboarding.test.js +0 -347
  1215. package/dist/__tests__/onboarding.test.js.map +0 -1
  1216. package/dist/__tests__/promote.test.d.ts +0 -2
  1217. package/dist/__tests__/promote.test.d.ts.map +0 -1
  1218. package/dist/__tests__/promote.test.js +0 -230
  1219. package/dist/__tests__/promote.test.js.map +0 -1
  1220. package/dist/__tests__/proposals.test.d.ts +0 -2
  1221. package/dist/__tests__/proposals.test.d.ts.map +0 -1
  1222. package/dist/__tests__/proposals.test.js +0 -167
  1223. package/dist/__tests__/proposals.test.js.map +0 -1
  1224. package/dist/__tests__/setup-ingest.test.d.ts +0 -2
  1225. package/dist/__tests__/setup-ingest.test.d.ts.map +0 -1
  1226. package/dist/__tests__/setup-ingest.test.js +0 -71
  1227. package/dist/__tests__/setup-ingest.test.js.map +0 -1
  1228. package/dist/__tests__/setup-resolver.test.d.ts +0 -14
  1229. package/dist/__tests__/setup-resolver.test.d.ts.map +0 -1
  1230. package/dist/__tests__/setup-resolver.test.js +0 -228
  1231. package/dist/__tests__/setup-resolver.test.js.map +0 -1
  1232. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +0 -15
  1233. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +0 -1
  1234. package/dist/commands/__tests__/setup-detect-surfaces.test.js +0 -149
  1235. package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +0 -1
  1236. package/dist/commands/__tests__/setup-state.test.d.ts +0 -2
  1237. package/dist/commands/__tests__/setup-state.test.d.ts.map +0 -1
  1238. package/dist/commands/__tests__/setup-state.test.js +0 -194
  1239. package/dist/commands/__tests__/setup-state.test.js.map +0 -1
  1240. package/dist/commands/accept.d.ts +0 -18
  1241. package/dist/commands/accept.d.ts.map +0 -1
  1242. package/dist/commands/accept.js +0 -76
  1243. package/dist/commands/accept.js.map +0 -1
  1244. package/dist/commands/audit.d.ts +0 -25
  1245. package/dist/commands/audit.d.ts.map +0 -1
  1246. package/dist/commands/audit.js +0 -215
  1247. package/dist/commands/audit.js.map +0 -1
  1248. package/dist/commands/authority-domains.d.ts +0 -146
  1249. package/dist/commands/authority-domains.d.ts.map +0 -1
  1250. package/dist/commands/authority-domains.js +0 -283
  1251. package/dist/commands/authority-domains.js.map +0 -1
  1252. package/dist/commands/brand-pack.d.ts +0 -2
  1253. package/dist/commands/brand-pack.d.ts.map +0 -1
  1254. package/dist/commands/brand-pack.js +0 -25
  1255. package/dist/commands/brand-pack.js.map +0 -1
  1256. package/dist/commands/connect-context.d.ts +0 -45
  1257. package/dist/commands/connect-context.d.ts.map +0 -1
  1258. package/dist/commands/connect-context.js +0 -64
  1259. package/dist/commands/connect-context.js.map +0 -1
  1260. package/dist/commands/connect-context.test.d.ts +0 -2
  1261. package/dist/commands/connect-context.test.d.ts.map +0 -1
  1262. package/dist/commands/connect-context.test.js +0 -110
  1263. package/dist/commands/connect-context.test.js.map +0 -1
  1264. package/dist/commands/handshake.d.ts +0 -222
  1265. package/dist/commands/handshake.d.ts.map +0 -1
  1266. package/dist/commands/handshake.js +0 -2421
  1267. package/dist/commands/handshake.js.map +0 -1
  1268. package/dist/commands/ingest.d.ts +0 -14
  1269. package/dist/commands/ingest.d.ts.map +0 -1
  1270. package/dist/commands/ingest.js +0 -189
  1271. package/dist/commands/ingest.js.map +0 -1
  1272. package/dist/commands/method.d.ts +0 -99
  1273. package/dist/commands/method.d.ts.map +0 -1
  1274. package/dist/commands/method.js +0 -785
  1275. package/dist/commands/method.js.map +0 -1
  1276. package/dist/commands/migrate-setup.d.ts +0 -18
  1277. package/dist/commands/migrate-setup.d.ts.map +0 -1
  1278. package/dist/commands/migrate-setup.js +0 -198
  1279. package/dist/commands/migrate-setup.js.map +0 -1
  1280. package/dist/commands/promote.d.ts +0 -12
  1281. package/dist/commands/promote.d.ts.map +0 -1
  1282. package/dist/commands/promote.js +0 -113
  1283. package/dist/commands/promote.js.map +0 -1
  1284. package/dist/commands/proposals.d.ts +0 -9
  1285. package/dist/commands/proposals.d.ts.map +0 -1
  1286. package/dist/commands/proposals.js +0 -24
  1287. package/dist/commands/proposals.js.map +0 -1
  1288. package/dist/commands/reject.d.ts +0 -14
  1289. package/dist/commands/reject.d.ts.map +0 -1
  1290. package/dist/commands/reject.js +0 -44
  1291. package/dist/commands/reject.js.map +0 -1
  1292. package/dist/commands/setup-audit.d.ts +0 -59
  1293. package/dist/commands/setup-audit.d.ts.map +0 -1
  1294. package/dist/commands/setup-audit.js +0 -250
  1295. package/dist/commands/setup-audit.js.map +0 -1
  1296. package/dist/commands/setup-detect-surfaces.d.ts +0 -38
  1297. package/dist/commands/setup-detect-surfaces.d.ts.map +0 -1
  1298. package/dist/commands/setup-detect-surfaces.js +0 -76
  1299. package/dist/commands/setup-detect-surfaces.js.map +0 -1
  1300. package/dist/commands/setup-ingest.d.ts +0 -17
  1301. package/dist/commands/setup-ingest.d.ts.map +0 -1
  1302. package/dist/commands/setup-ingest.js +0 -226
  1303. package/dist/commands/setup-ingest.js.map +0 -1
  1304. package/dist/commands/setup-resolver.d.ts +0 -58
  1305. package/dist/commands/setup-resolver.d.ts.map +0 -1
  1306. package/dist/commands/setup-resolver.js +0 -150
  1307. package/dist/commands/setup-resolver.js.map +0 -1
  1308. package/dist/commands/setup-state.d.ts +0 -42
  1309. package/dist/commands/setup-state.d.ts.map +0 -1
  1310. package/dist/commands/setup-state.js +0 -93
  1311. package/dist/commands/setup-state.js.map +0 -1
  1312. package/dist/commands/setup.d.ts +0 -23
  1313. package/dist/commands/setup.d.ts.map +0 -1
  1314. package/dist/commands/setup.js +0 -69
  1315. package/dist/commands/setup.js.map +0 -1
  1316. package/dist/formatters/audit.d.ts +0 -52
  1317. package/dist/formatters/audit.d.ts.map +0 -1
  1318. package/dist/formatters/audit.js +0 -81
  1319. package/dist/formatters/audit.js.map +0 -1
  1320. package/dist/formatters/promote.d.ts +0 -30
  1321. package/dist/formatters/promote.d.ts.map +0 -1
  1322. package/dist/formatters/promote.js +0 -39
  1323. package/dist/formatters/promote.js.map +0 -1
  1324. package/dist/formatters/proposals.d.ts +0 -45
  1325. package/dist/formatters/proposals.d.ts.map +0 -1
  1326. package/dist/formatters/proposals.js +0 -62
  1327. package/dist/formatters/proposals.js.map +0 -1
  1328. package/dist/generators/archetypes.d.ts +0 -52
  1329. package/dist/generators/archetypes.d.ts.map +0 -1
  1330. package/dist/generators/archetypes.js +0 -153
  1331. package/dist/generators/archetypes.js.map +0 -1
  1332. package/dist/generators/archetypes.test.d.ts +0 -2
  1333. package/dist/generators/archetypes.test.d.ts.map +0 -1
  1334. package/dist/generators/archetypes.test.js +0 -237
  1335. package/dist/generators/archetypes.test.js.map +0 -1
  1336. package/dist/generators/chain-classifier.d.ts +0 -49
  1337. package/dist/generators/chain-classifier.d.ts.map +0 -1
  1338. package/dist/generators/chain-classifier.js +0 -180
  1339. package/dist/generators/chain-classifier.js.map +0 -1
  1340. package/dist/generators/chain-classifier.test.d.ts +0 -2
  1341. package/dist/generators/chain-classifier.test.d.ts.map +0 -1
  1342. package/dist/generators/chain-classifier.test.js +0 -257
  1343. package/dist/generators/chain-classifier.test.js.map +0 -1
  1344. package/dist/generators/chain-rules.d.ts +0 -42
  1345. package/dist/generators/chain-rules.d.ts.map +0 -1
  1346. package/dist/generators/chain-rules.js +0 -144
  1347. package/dist/generators/chain-rules.js.map +0 -1
  1348. package/dist/generators/chain-rules.test.d.ts +0 -2
  1349. package/dist/generators/chain-rules.test.d.ts.map +0 -1
  1350. package/dist/generators/chain-rules.test.js +0 -179
  1351. package/dist/generators/chain-rules.test.js.map +0 -1
  1352. package/dist/generators/handshake-diff.d.ts +0 -67
  1353. package/dist/generators/handshake-diff.d.ts.map +0 -1
  1354. package/dist/generators/handshake-diff.js +0 -183
  1355. package/dist/generators/handshake-diff.js.map +0 -1
  1356. package/dist/generators/handshake-diff.test.d.ts +0 -2
  1357. package/dist/generators/handshake-diff.test.d.ts.map +0 -1
  1358. package/dist/generators/handshake-diff.test.js +0 -264
  1359. package/dist/generators/handshake-diff.test.js.map +0 -1
  1360. package/dist/lib/activation.d.ts +0 -28
  1361. package/dist/lib/activation.d.ts.map +0 -1
  1362. package/dist/lib/activation.js +0 -57
  1363. package/dist/lib/activation.js.map +0 -1
  1364. package/dist/lib/activation.test.d.ts +0 -6
  1365. package/dist/lib/activation.test.d.ts.map +0 -1
  1366. package/dist/lib/activation.test.js +0 -121
  1367. package/dist/lib/activation.test.js.map +0 -1
  1368. package/dist/lib/collectionRegistry.d.ts +0 -38
  1369. package/dist/lib/collectionRegistry.d.ts.map +0 -1
  1370. package/dist/lib/collectionRegistry.js +0 -112
  1371. package/dist/lib/collectionRegistry.js.map +0 -1
  1372. package/dist/lib/conversation-engine.d.ts +0 -45
  1373. package/dist/lib/conversation-engine.d.ts.map +0 -1
  1374. package/dist/lib/conversation-engine.js +0 -112
  1375. package/dist/lib/conversation-engine.js.map +0 -1
  1376. package/dist/lib/conversation-phases.d.ts +0 -59
  1377. package/dist/lib/conversation-phases.d.ts.map +0 -1
  1378. package/dist/lib/conversation-phases.js +0 -11
  1379. package/dist/lib/conversation-phases.js.map +0 -1
  1380. package/dist/lib/conversation-signals.d.ts +0 -30
  1381. package/dist/lib/conversation-signals.d.ts.map +0 -1
  1382. package/dist/lib/conversation-signals.js +0 -64
  1383. package/dist/lib/conversation-signals.js.map +0 -1
  1384. package/dist/lib/inferSourceDate.d.ts +0 -12
  1385. package/dist/lib/inferSourceDate.d.ts.map +0 -1
  1386. package/dist/lib/inferSourceDate.js +0 -44
  1387. package/dist/lib/inferSourceDate.js.map +0 -1
  1388. package/dist/lib/method-registry.d.ts +0 -32
  1389. package/dist/lib/method-registry.d.ts.map +0 -1
  1390. package/dist/lib/method-registry.js +0 -53
  1391. package/dist/lib/method-registry.js.map +0 -1
  1392. package/dist/lib/onboarding-path-b.d.ts +0 -10
  1393. package/dist/lib/onboarding-path-b.d.ts.map +0 -1
  1394. package/dist/lib/onboarding-path-b.js +0 -213
  1395. package/dist/lib/onboarding-path-b.js.map +0 -1
  1396. package/dist/lib/onboarding-shared.d.ts +0 -80
  1397. package/dist/lib/onboarding-shared.d.ts.map +0 -1
  1398. package/dist/lib/onboarding-shared.js +0 -174
  1399. package/dist/lib/onboarding-shared.js.map +0 -1
  1400. package/dist/lib/onboarding-topics.d.ts +0 -27
  1401. package/dist/lib/onboarding-topics.d.ts.map +0 -1
  1402. package/dist/lib/onboarding-topics.js +0 -57
  1403. package/dist/lib/onboarding-topics.js.map +0 -1
  1404. package/dist/lib/onboarding.d.ts +0 -17
  1405. package/dist/lib/onboarding.d.ts.map +0 -1
  1406. package/dist/lib/onboarding.js +0 -350
  1407. package/dist/lib/onboarding.js.map +0 -1
  1408. package/dist/setup/__tests__/coach-traces.test.d.ts +0 -2
  1409. package/dist/setup/__tests__/coach-traces.test.d.ts.map +0 -1
  1410. package/dist/setup/__tests__/coach-traces.test.js +0 -189
  1411. package/dist/setup/__tests__/coach-traces.test.js.map +0 -1
  1412. package/dist/setup/__tests__/setup-commands.test.d.ts +0 -2
  1413. package/dist/setup/__tests__/setup-commands.test.d.ts.map +0 -1
  1414. package/dist/setup/__tests__/setup-commands.test.js +0 -177
  1415. package/dist/setup/__tests__/setup-commands.test.js.map +0 -1
  1416. package/dist/setup/__tests__/state-machine.test.d.ts +0 -2
  1417. package/dist/setup/__tests__/state-machine.test.d.ts.map +0 -1
  1418. package/dist/setup/__tests__/state-machine.test.js +0 -341
  1419. package/dist/setup/__tests__/state-machine.test.js.map +0 -1
  1420. package/dist/setup/detect-surfaces.d.ts +0 -21
  1421. package/dist/setup/detect-surfaces.d.ts.map +0 -1
  1422. package/dist/setup/detect-surfaces.js +0 -39
  1423. package/dist/setup/detect-surfaces.js.map +0 -1
  1424. package/dist/setup/manifest-writer.d.ts +0 -17
  1425. package/dist/setup/manifest-writer.d.ts.map +0 -1
  1426. package/dist/setup/manifest-writer.js +0 -153
  1427. package/dist/setup/manifest-writer.js.map +0 -1
  1428. package/dist/setup/perimeter.d.ts +0 -72
  1429. package/dist/setup/perimeter.d.ts.map +0 -1
  1430. package/dist/setup/perimeter.js +0 -128
  1431. package/dist/setup/perimeter.js.map +0 -1
  1432. package/dist/setup/state-machine.d.ts +0 -67
  1433. package/dist/setup/state-machine.d.ts.map +0 -1
  1434. package/dist/setup/state-machine.js +0 -124
  1435. package/dist/setup/state-machine.js.map +0 -1
  1436. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +0 -2
  1437. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +0 -1
  1438. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +0 -132
  1439. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +0 -1
  1440. package/templates/archetypes/boundary.md +0 -23
  1441. package/templates/archetypes/constraint.md +0 -23
  1442. package/templates/archetypes/convention.md +0 -23
  1443. package/templates/archetypes/policy.md +0 -23
  1444. package/templates/archetypes/quality-gate.md +0 -23
  1445. package/templates/archetypes/workflow.md +0 -23
  1446. package/templates/general/code-integrity.md +0 -11
  1447. package/templates/general/getting-started.md +0 -12
  1448. package/templates/method-registry.json +0 -16
  1449. package/templates/node-ts/code-integrity.md +0 -13
  1450. package/templates/node-ts/testing.md +0 -12
  1451. package/templates/python/code-integrity.md +0 -13
  1452. package/templates/python/testing.md +0 -12
@@ -0,0 +1,90 @@
1
+ import { type OutcomeObjectiveView } from '../lib/outcomeObjectiveLines.js';
2
+ /** Mirrors the door's own `kind` union (`convex/outcomes/readings.ts`). Kept as a literal list so
3
+ * a bad value is refused HERE, naming the legal set, rather than as an opaque validator error. */
4
+ declare const READING_KINDS: readonly ["measurement", "estimate", "correction"];
5
+ type ReadingKind = (typeof READING_KINDS)[number];
6
+ export interface OutcomeRecordOptions {
7
+ asOf?: string;
8
+ kind?: string;
9
+ corrects?: string;
10
+ byRole?: string;
11
+ note?: string;
12
+ source?: string;
13
+ valueText?: string;
14
+ json?: boolean;
15
+ }
16
+ export interface OutcomeListOptions {
17
+ limit?: string;
18
+ json?: boolean;
19
+ }
20
+ export interface ReadingRow {
21
+ /** Non-underscore twin of the row's `_id` (TEN-340: the CLI's JSON envelope unconditionally
22
+ * strips any `_id`-keyed field via `stripConvexInternals`) — this is the field
23
+ * `pb outcome record --corrects <READING-ID>` targets. Same twin `pb conflicts` (`id`) already
24
+ * carries, for the same reason. */
25
+ readingId: string;
26
+ value: number;
27
+ valueText?: string;
28
+ asOf: number;
29
+ recordedAt: number;
30
+ kind: ReadingKind;
31
+ actorKind: string;
32
+ note?: string;
33
+ source?: string;
34
+ supersededByReadingId?: string;
35
+ }
36
+ interface ListReadingsResult {
37
+ entryDocId: string;
38
+ pageExhausted: boolean;
39
+ readings: ReadingRow[];
40
+ }
41
+ export declare function runOutcomeRecord(entryId: string, value: string, options: OutcomeRecordOptions): Promise<void>;
42
+ export declare function formatReadingsList(entryId: string, result: ListReadingsResult | null): string;
43
+ export declare function runOutcomeList(entryId: string, options: OutcomeListOptions): Promise<void>;
44
+ interface OutcomeShowResult extends OutcomeObjectiveView {
45
+ entryId: string;
46
+ name: string;
47
+ readyToCloseInstruction: string | null;
48
+ outcome: {
49
+ current?: {
50
+ value: number;
51
+ asOf: number;
52
+ };
53
+ currentResolution: string;
54
+ hasNoReadings: boolean;
55
+ direction: string;
56
+ progressPct?: number;
57
+ pacePct?: number;
58
+ nextDueAt?: number;
59
+ state: string;
60
+ overdueByMs?: number;
61
+ completion: string;
62
+ completionProvenance: string;
63
+ readyToClose: 'achieved' | 'missed' | null;
64
+ ownerRole: {
65
+ id: string;
66
+ name: string | null;
67
+ } | null;
68
+ reporterRole: {
69
+ id: string;
70
+ name: string | null;
71
+ } | null;
72
+ readingCount: number;
73
+ unit: string | null;
74
+ };
75
+ }
76
+ /**
77
+ * Pretty rendering for `pb outcome show`. Exported for the same reason `formatReadingsList` is:
78
+ * the honesty rules here are assertable claims, not styling.
79
+ *
80
+ * Two of them are load-bearing. **A blank is never printed as a zero** — `progressPct` is
81
+ * `undefined` for a never-measured key result and `—` says that, where `0%` would read as a
82
+ * measurement. And **the recorded completion is never called "confirmed" or "verified"** — it
83
+ * reports what was recorded and where that came from, because nothing in this run verifies a
84
+ * close, and a surface that implies otherwise is the failure the whole provenance field exists to
85
+ * prevent.
86
+ */
87
+ export declare function formatOutcomeShow(result: OutcomeShowResult | null): string;
88
+ export declare function runOutcomeShow(entryId: string): Promise<void>;
89
+ export {};
90
+ //# sourceMappingURL=outcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/commands/outcome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ import { getConfigOrGuide } from '../lib/config.js';
2
+ import { kernelCall, kernelCallWithSession } from '../lib/client.js';
3
+ import { CLIError, ErrorCode } from '../lib/errors.js';
4
+ import { runCliCommand } from '../lib/runner.js';
5
+ import { sanitizeSingleLineField } from '../lib/strip.js';
6
+ import { formatOutcomeObjectiveLines } from '../lib/outcomeObjectiveLines.js';
7
+ /** Mirrors the door's own `kind` union (`convex/outcomes/readings.ts`). Kept as a literal list so
8
+ * a bad value is refused HERE, naming the legal set, rather than as an opaque validator error. */
9
+ const READING_KINDS = ['measurement', 'estimate', 'correction'];
10
+ const validation = (message, guidance) => new CLIError(message, { code: ErrorCode.VALIDATION_FAILED, category: 'validation', guidance });
11
+ /** argv is strings; the door wants a number. `Number('')` is 0 and `Number(' ')` is 0, so the
12
+ * blank cases are rejected explicitly rather than silently recorded as a reading of zero — which
13
+ * would be a wrong MEASUREMENT, the one thing this table exists to get right. */
14
+ function requireNumber(raw, flag) {
15
+ const trimmed = raw.trim();
16
+ const parsed = Number(trimmed);
17
+ if (trimmed === '' || !Number.isFinite(parsed)) {
18
+ throw validation(`${flag} must be a number (got "${raw}").`,
19
+ // Placeholder, not a concrete id: a real-looking entry id in a user-facing string is a
20
+ // Chain-id leak (the pre-commit guard refuses it) and reads as a live reference.
21
+ `Example: pb outcome record <ENTRY-ID> 62${flag === '--limit' ? '' : ' --note "from the weekly dashboard"'}`);
22
+ }
23
+ return parsed;
24
+ }
25
+ export async function runOutcomeRecord(entryId, value, options) {
26
+ // Refuse everything refusable BEFORE the network call, so a malformed invocation costs no
27
+ // round trip and reports in the caller's own vocabulary rather than the validator's.
28
+ const numericValue = requireNumber(value, 'value');
29
+ if (options.kind !== undefined && !READING_KINDS.includes(options.kind)) {
30
+ throw validation(`--kind must be one of ${READING_KINDS.join(', ')} (got "${options.kind}").`, 'Use --kind estimate for a figure that is not directly measured, or --kind correction with --corrects to replace an earlier reading.');
31
+ }
32
+ // Both directions: the door refuses each, and a CLI that guards only one still sends a
33
+ // request it already knows will fail.
34
+ if (options.corrects !== undefined && options.kind !== 'correction') {
35
+ throw validation('--corrects is only meaningful with --kind correction.', 'Add --kind correction, or drop --corrects to record an ordinary reading.');
36
+ }
37
+ if (options.kind === 'correction' && options.corrects === undefined) {
38
+ throw validation('--kind correction requires --corrects <READING-ID>.', 'A correction must name the reading it replaces — find it with `pb outcome list <ENTRY-ID>`.');
39
+ }
40
+ let asOf;
41
+ if (options.asOf !== undefined) {
42
+ const parsed = Date.parse(options.asOf);
43
+ if (Number.isNaN(parsed)) {
44
+ throw validation(`--as-of must be a parseable date (got "${options.asOf}").`, 'Example: --as-of 2026-03-01. Back-dating is legitimate — a backfill shows up as asOf earlier than recordedAt.');
45
+ }
46
+ asOf = parsed;
47
+ }
48
+ const config = await getConfigOrGuide(() => runOutcomeRecord(entryId, value, options));
49
+ if (!config)
50
+ return;
51
+ await runCliCommand({
52
+ // Session-attributed on purpose: a reading's provenance is the point, and the plain caller
53
+ // would drop the session the reading is attributed to.
54
+ // Every optional is spread conditionally — a key present-but-undefined is not the same as
55
+ // absent to the validator, and the door's own defaults must win when the caller is silent.
56
+ fn: () => kernelCallWithSession('outcomes.recordReading', {
57
+ entryId,
58
+ value: numericValue,
59
+ ...(asOf !== undefined ? { asOf } : {}),
60
+ ...(options.kind ? { kind: options.kind } : {}),
61
+ ...(options.corrects ? { correctsReadingId: options.corrects } : {}),
62
+ ...(options.byRole ? { recordedByRoleId: options.byRole } : {}),
63
+ ...(options.note ? { note: options.note } : {}),
64
+ ...(options.source ? { source: options.source } : {}),
65
+ ...(options.valueText ? { valueText: options.valueText } : {}),
66
+ }),
67
+ formatPretty: (value_) => {
68
+ const receipt = value_;
69
+ const lines = [
70
+ // Same sanitiser, same reason — this line is echoed straight to the terminal.
71
+ `Recorded ${numericValue}${options.valueText ? ` ("${sanitizeSingleLineField(options.valueText)}")` : ''} on ${sanitizeSingleLineField(entryId)}.`,
72
+ // The actor is DERIVED server-side from the credential — printed here so the caller
73
+ // sees what was actually attributed, never what they might have assumed.
74
+ ` attributed: ${receipt?.actorKind ?? 'unknown'}`,
75
+ ];
76
+ return lines.join('\n');
77
+ },
78
+ });
79
+ }
80
+ /**
81
+ * Pretty rendering for `pb outcome list`. Exported so the spec'd behaviours here are asserted
82
+ * directly rather than only through a live walk: superseded rows are SHOWN (the ledger is
83
+ * append-only and the correction chain is the audit trail) and marked with the id that replaced
84
+ * them, and `pageExhausted: false` is reported rather than letting a bounded page read as the
85
+ * whole history.
86
+ *
87
+ * **Every value that did not originate in this file is sanitised** (PR #840 security review).
88
+ * `note` and `valueText` are free text written by ANY connector that can call
89
+ * `outcomes.recordReading` — agents included — and this rendering is the operator's AUDIT VIEW.
90
+ * An embedded newline would inject extra, unprefixed lines that look exactly like additional
91
+ * readings: forged evidence in the one surface someone would use to check evidence. `\r` can
92
+ * overwrite the line that was already drawn, and CSI/OSC sequences can retitle or clear the
93
+ * operator's terminal. `sanitizeSingleLineField` (`lib/strip.js`) is the package's shared,
94
+ * single-line-safe sanitiser — the same one `shape`, `conflicts`, `feedback`, `direction` and
95
+ * `questions` use — and its own docblock exists for precisely this case, because
96
+ * `stripControlChars` deliberately keeps `\n`. Not hand-rolled here on purpose.
97
+ *
98
+ * `entryId` is echoed from argv rather than stored, so it is self-inflicted — sanitised anyway,
99
+ * since it costs nothing and a pasted command is a real way to reach it. The remaining
100
+ * interpolations need no sanitising and it would obscure the reasoning to add it: `kind` is a
101
+ * Convex union literal the validator constrains, `readingId` and
102
+ * `supersededByReadingId` are Convex document ids, `value` is a number, and `when` is derived
103
+ * from a number through `toISOString`.
104
+ */
105
+ /** PR #872 review round 3 (Codex P2): mirrors `packages/mcp-server/src/tools/outcome.ts`'s
106
+ * `safeDateSlice` — a reading written through the existing API route is validated only with
107
+ * `v.number()`, so a finite-but-Date-invalid `asOf`/`nextDueAt` (e.g. `1e100`) can be persisted.
108
+ * `new Date(x).toISOString()` throws `RangeError` for such a value, which would otherwise take
109
+ * down the whole `pb outcome list`/`show` command over one malformed legacy row. Not shared code
110
+ * with the MCP tool (the two packages do not cross-import, same door-parity precedent every
111
+ * other CLI/MCP formatter pair in this codebase follows) — content-equal by construction. */
112
+ function safeDateSlice(ms) {
113
+ const d = new Date(ms);
114
+ return Number.isNaN(d.getTime()) ? 'invalid-date' : d.toISOString().slice(0, 10);
115
+ }
116
+ export function formatReadingsList(entryId, result) {
117
+ const safeEntryId = sanitizeSingleLineField(entryId);
118
+ const rows = result?.readings ?? [];
119
+ if (rows.length === 0)
120
+ return `No readings recorded on ${safeEntryId} yet.`;
121
+ const lines = rows.map((row) => {
122
+ const when = safeDateSlice(row.asOf);
123
+ const superseded = row.supersededByReadingId ? ` <- superseded by ${row.supersededByReadingId}` : '';
124
+ const text = row.valueText ? ` ("${sanitizeSingleLineField(row.valueText)}")` : '';
125
+ const note = row.note ? ` - ${sanitizeSingleLineField(row.note)}` : '';
126
+ return ` ${when} ${String(row.value).padStart(8)}${text} [${row.kind}] ${row.readingId}${note}${superseded}`;
127
+ });
128
+ const tail = result?.pageExhausted === false ? '\n (older readings not loaded - raise --limit)' : '';
129
+ return `${rows.length} reading(s) on ${safeEntryId}, newest first:\n${lines.join('\n')}${tail}`;
130
+ }
131
+ export async function runOutcomeList(entryId, options) {
132
+ const limit = options.limit !== undefined ? requireNumber(options.limit, '--limit') : undefined;
133
+ const config = await getConfigOrGuide(() => runOutcomeList(entryId, options));
134
+ if (!config)
135
+ return;
136
+ await runCliCommand({
137
+ // A read: no session required. Demanding one would break `pb outcome list` for a caller
138
+ // holding a valid key who simply has not started a session.
139
+ fn: () => kernelCall('outcomes.listReadings', {
140
+ entryId,
141
+ ...(limit !== undefined ? { limit } : {}),
142
+ }),
143
+ formatPretty: (value_) => formatReadingsList(entryId, value_),
144
+ });
145
+ }
146
+ const pct = (v, unit = '%') => (v === undefined ? '—' : `${Math.round(v * 10) / 10}${unit}`);
147
+ /** `role.name` is an `entries.name` resolved server-side, so it is stored content written by any
148
+ * connector that can update entries — agents included — and reaches the operator's terminal
149
+ * through this line. Same sink class as `note`/`valueText`, and it must be sanitised for the same
150
+ * reason: an embedded newline injects an unprefixed line into the audit view. */
151
+ const roleLabel = (role) => role === null ? 'not set' : role.name === null ? 'a role that no longer exists' : sanitizeSingleLineField(role.name);
152
+ /**
153
+ * Pretty rendering for `pb outcome show`. Exported for the same reason `formatReadingsList` is:
154
+ * the honesty rules here are assertable claims, not styling.
155
+ *
156
+ * Two of them are load-bearing. **A blank is never printed as a zero** — `progressPct` is
157
+ * `undefined` for a never-measured key result and `—` says that, where `0%` would read as a
158
+ * measurement. And **the recorded completion is never called "confirmed" or "verified"** — it
159
+ * reports what was recorded and where that came from, because nothing in this run verifies a
160
+ * close, and a surface that implies otherwise is the failure the whole provenance field exists to
161
+ * prevent.
162
+ */
163
+ export function formatOutcomeShow(result) {
164
+ if (!result)
165
+ return 'No outcome found.';
166
+ const o = result.outcome;
167
+ const unit = o.unit ? ` ${sanitizeSingleLineField(o.unit)}` : '';
168
+ const lines = [
169
+ // N2 (TASK-367): the metric line is retired — the entry's own name (above) already states
170
+ // what is measured.
171
+ `${sanitizeSingleLineField(result.entryId)} — ${sanitizeSingleLineField(result.name)}`,
172
+ // The honest blank: undefined is "never measured", which is not zero.
173
+ ` current ${o.current ? `${o.current.value}${unit}` : 'no readings yet'} (${o.readingCount} reading(s))`,
174
+ ` progress ${pct(o.progressPct)} direction ${o.direction}`,
175
+ ` pace ${pct(o.pacePct)} ${o.pacePct === undefined ? '(no cycle end set)' : o.pacePct >= 0 ? '(ahead of pace)' : '(behind pace)'}`,
176
+ ` state ${o.state}${o.hasNoReadings ? ' — never read' : ''}${o.overdueByMs ? ` (by ${Math.floor(o.overdueByMs / 86400000)}d)` : ''}`,
177
+ ` next due ${o.nextDueAt ? safeDateSlice(o.nextDueAt) : 'no cadence set'}`,
178
+ ` owner ${roleLabel(o.ownerRole)}`,
179
+ ` reporter ${roleLabel(o.reporterRole)}`,
180
+ // Recorded, with its provenance. Never "confirmed", never "verified".
181
+ ` completion recorded as ${o.completion} (source: ${o.completionProvenance})`,
182
+ ...formatOutcomeObjectiveLines(result, sanitizeSingleLineField), // TASK-817: its objective and sibling key results
183
+ ];
184
+ if (o.currentResolution === 'page-exhausted') {
185
+ lines.push(' note every loaded reading is superseded and more remain — this is not "never read"');
186
+ }
187
+ if (result.readyToCloseInstruction) {
188
+ lines.push('', ` ${result.readyToCloseInstruction}`);
189
+ }
190
+ return lines.join('\n');
191
+ }
192
+ export async function runOutcomeShow(entryId) {
193
+ const config = await getConfigOrGuide(() => runOutcomeShow(entryId));
194
+ if (!config)
195
+ return;
196
+ await runCliCommand({
197
+ fn: () => kernelCall('outcomes.showOutcome', { entryId }),
198
+ formatPretty: (value_) => formatOutcomeShow(value_),
199
+ });
200
+ }
201
+ //# sourceMappingURL=outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../src/commands/outcome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=outcome.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.test.d.ts","sourceRoot":"","sources":["../../src/commands/outcome.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * WP-722 S2 — `pb outcome record | list`.
3
+ *
4
+ * The surface is thin on purpose: every rule that matters (credential-derived actor, 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', 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 reading is attributed to.
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', 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
+ // PR #872 review round 3 (Codex P2): a legacy row written through the existing API route
152
+ // (validated only with v.number()) can carry a finite-but-Date-invalid asOf (e.g. 1e100).
153
+ // `new Date(x).toISOString()` throws RangeError for it — pre-fix, that propagated out of the
154
+ // `.map()` and killed `pb outcome list` entirely over one malformed row. Mirrors the MCP
155
+ // tool's own safeDateSlice fix (same PR).
156
+ it('renders a malformed out-of-range asOf as a fallback instead of throwing', () => {
157
+ const out = formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row({ asOf: 1e100 })] });
158
+ expect(out).toContain('invalid-date');
159
+ });
160
+ });
161
+ describe('formatReadingsList sanitises stored, agent-written content (PR #840 security review)', () => {
162
+ // The threat model is specific: an AGENT writes `note`/`valueText` through
163
+ // `outcomes.recordReading`, a HUMAN reads them in a terminal, and this rendering IS the audit
164
+ // view. Injected newlines do not just look untidy — they forge extra rows in the one surface
165
+ // someone would use to check the rows.
166
+ const row = (over = {}) => ({
167
+ readingId: 'rd_1', value: 62, asOf: Date.parse('2026-03-01'), recordedAt: Date.parse('2026-03-01'),
168
+ kind: 'measurement', actorKind: 'person', ...over,
169
+ });
170
+ const render = (over) => formatReadingsList('KR-S1', { entryDocId: 'e', pageExhausted: true, readings: [row(over)] });
171
+ it('a note with embedded newlines cannot forge extra reading lines', () => {
172
+ const out = render({ note: 'ok\n 2026-03-02 999 [measurement] rd_FORGED' });
173
+ // One reading in, one rendered line out (plus the header) — the forged row is folded in.
174
+ expect(out.split('\n')).toHaveLength(2);
175
+ expect(out).not.toMatch(/\n\s+2026-03-02/);
176
+ expect(out).toContain('rd_FORGED'); // the TEXT survives; only its line-breaking power is removed
177
+ });
178
+ it('a carriage return cannot overwrite the rendered line', () => {
179
+ // \r alone redraws over what was printed — a note ending in \r plus spaces can blank the
180
+ // real value on a real terminal without adding a line at all.
181
+ const out = render({ note: 'benign\rSAFE — nothing to see' });
182
+ expect(out).not.toContain('\r');
183
+ });
184
+ it('CSI/OSC escape sequences are stripped, not passed to the terminal', () => {
185
+ const esc = String.fromCharCode(27);
186
+ const out = render({ note: `${esc}[31m${esc}[2Jred${esc}[0m`, valueText: `${esc}]0;pwned${esc}\\` });
187
+ expect(out).not.toContain(esc);
188
+ });
189
+ it('valueText is sanitised too — it is stored and agent-written, exactly like note', () => {
190
+ const out = render({ valueText: 'a\nb' });
191
+ expect(out.split('\n')).toHaveLength(2);
192
+ });
193
+ it('ordinary content still renders unchanged', () => {
194
+ // The sanitiser must not damage the normal case, or it will be removed by someone later.
195
+ expect(render({ note: 'from the weekly dashboard', valueText: '~62%' }))
196
+ .toContain('("~62%")');
197
+ expect(render({ note: 'from the weekly dashboard' })).toContain('from the weekly dashboard');
198
+ });
199
+ });
200
+ describe('formatOutcomeShow — the two honesty rules', () => {
201
+ const base = {
202
+ entryId: 'KR-S1', name: 'Weekly signups', readyToCloseInstruction: null,
203
+ outcome: {
204
+ currentResolution: 'no-rows', hasNoReadings: true, direction: 'up-is-good',
205
+ state: 'overdue', completion: 'open', completionProvenance: 'none',
206
+ readyToClose: null, ownerRole: null, reporterRole: null,
207
+ readingCount: 0, unit: null,
208
+ },
209
+ objective: null, objectiveLookup: 'none',
210
+ };
211
+ const show = (over = {}) => formatOutcomeShow({ ...base, outcome: { ...base.outcome, ...over } });
212
+ it('a never-measured key result shows a BLANK, never 0%', () => {
213
+ // `0%` reads as a measurement. The blank is the honest answer and the distinction is the
214
+ // whole reason progressPct is undefined rather than zero.
215
+ const out = show();
216
+ expect(out).toContain('no readings yet');
217
+ expect(out).not.toContain('0%');
218
+ expect(out).toContain('never read');
219
+ });
220
+ it('a genuine zero reading DOES render as 0% — the other half of that distinction', () => {
221
+ expect(show({ current: { value: 0, asOf: Date.now() }, currentResolution: 'found', hasNoReadings: false, progressPct: 0, readingCount: 1 }))
222
+ .toContain('0%');
223
+ });
224
+ // PR #872 review round 3 (Codex P2): mirrors formatReadingsList's own safeDateSlice fix — a
225
+ // malformed stored nextDueAt must render a fallback, never throw RangeError.
226
+ it('renders a malformed out-of-range nextDueAt as a fallback instead of throwing', () => {
227
+ expect(show({ nextDueAt: 1e100 })).toContain('invalid-date');
228
+ });
229
+ it('the recorded completion is never called confirmed or verified', () => {
230
+ // Nothing in this run verifies a close. A surface implying otherwise is the failure the
231
+ // provenance field exists to prevent.
232
+ const out = show({ completion: 'achieved', completionProvenance: 'legacy-data-status' });
233
+ expect(out).toContain('recorded as achieved');
234
+ expect(out).toContain('legacy-data-status');
235
+ expect(out.toLowerCase()).not.toContain('confirmed');
236
+ expect(out.toLowerCase()).not.toContain('verified');
237
+ });
238
+ it('TASK-754: prints no attestation tier line', () => {
239
+ const out = show({});
240
+ expect(out).not.toMatch(/attestation|weakest|role_click|agent_same_session|agent_cross_session|provenance_unknown/);
241
+ });
242
+ it('a deleted role renders as gone, not as a blank and not as an id', () => {
243
+ const out = show({ ownerRole: { id: 'q97abc', name: null }, reporterRole: { id: 'q97def', name: 'Data Steward' } });
244
+ expect(out).toContain('a role that no longer exists');
245
+ expect(out).toContain('Data Steward');
246
+ });
247
+ it('carries the close instruction verbatim when there is a proposal', () => {
248
+ const out = formatOutcomeShow({
249
+ ...base, readyToCloseInstruction: 'The readings say this is achieved. Surface this to the founder; do not write the status yourself.',
250
+ outcome: { ...base.outcome, readyToClose: 'achieved' },
251
+ });
252
+ expect(out).toContain('do not write the status yourself');
253
+ });
254
+ // TASK-817 (WP-818): the same lines the MCP context action=outcome prints (one generated renderer).
255
+ it('names its objective and sibling key results, and how many more are hidden', () => {
256
+ const out = formatOutcomeShow({
257
+ ...base,
258
+ objective: { entryId: 'OBJ-3', name: 'Make the product trustworthy', hiddenSiblings: 1, truncated: true, siblings: [{ entryId: 'KR-7', name: 'Automated checks', currentValue: 12, targetValue: 40, readingUnresolved: false }] },
259
+ objectiveLookup: 'found',
260
+ });
261
+ expect(out).toContain(' objective OBJ-3 — Make the product trustworthy');
262
+ expect(out).toContain(' siblings KR-7 — Automated checks (current 12, target 40)');
263
+ expect(out).toContain(' and at least 1 more not shown');
264
+ expect(show()).toContain(' objective none: no accepted objective holds this entry');
265
+ });
266
+ it('page-exhausted is called out rather than passing as never-read', () => {
267
+ expect(show({ currentResolution: 'page-exhausted', hasNoReadings: false }))
268
+ .toContain('this is not "never read"');
269
+ });
270
+ });
271
+ describe('formatOutcomeShow sanitises EVERY stored string sink (PR #840 review round 2)', () => {
272
+ // Round 1 I sanitised the fields I interpolated directly and missed `role.name`, which sits
273
+ // behind a helper. So this guard is STRUCTURAL rather than per-field: it drives control
274
+ // characters through every string-typed input at once and asserts on the SHAPE of the output,
275
+ // which means the next stored field someone adds is covered without anyone remembering to
276
+ // extend this test.
277
+ const ESC = String.fromCharCode(27);
278
+ const NASTY = `x${ESC}[31m\n FORGED LINE\rover`;
279
+ it('no control characters and no injected lines, whatever the stored content says', () => {
280
+ const out = formatOutcomeShow({
281
+ entryId: NASTY, name: NASTY,
282
+ readyToCloseInstruction: null,
283
+ outcome: {
284
+ current: { value: 1, asOf: Date.now() }, currentResolution: 'found', hasNoReadings: false,
285
+ direction: 'up-is-good', progressPct: 10, state: 'on-time',
286
+ completion: 'open', completionProvenance: 'none', readyToClose: null,
287
+ ownerRole: { id: 'q1', name: NASTY },
288
+ reporterRole: { id: 'q2', name: NASTY },
289
+ readingCount: 1, unit: NASTY,
290
+ },
291
+ objective: { entryId: NASTY, name: NASTY, hiddenSiblings: 0, truncated: false, siblings: [{ entryId: NASTY, name: NASTY, currentValue: 1, targetValue: 2, readingUnresolved: false }] },
292
+ objectiveLookup: 'found',
293
+ });
294
+ expect(out).not.toContain(ESC);
295
+ expect(out).not.toContain('\r');
296
+ // The renderer emits a fixed number of lines; injected newlines would add more.
297
+ const lineCount = out.split('\n').length;
298
+ expect(lineCount).toBe(11); // 9 + the objective and one sibling (TASK-817); TASK-754 dropped the attestation line
299
+ // And no line may begin with the injected text — that is what "looks like another field" means.
300
+ expect(out.split('\n').every((l) => !l.startsWith('FORGED'))).toBe(true);
301
+ });
302
+ it('a role name specifically cannot inject a line — the round-2 miss', () => {
303
+ const out = formatOutcomeShow({
304
+ entryId: 'KR-S1', name: 'ok', readyToCloseInstruction: null,
305
+ outcome: {
306
+ currentResolution: 'no-rows', hasNoReadings: true, direction: 'undetermined',
307
+ state: 'overdue', completion: 'open', completionProvenance: 'none', readyToClose: null,
308
+ ownerRole: { id: 'q1', name: 'Data Steward\n reporter Someone Else' },
309
+ reporterRole: null, readingCount: 0, unit: null,
310
+ },
311
+ objective: null, objectiveLookup: 'none',
312
+ });
313
+ // Exactly one line that IS the reporter field, not two. The forged text survives as text on
314
+ // the owner line (which is correct — nothing is censored) but has lost its line-breaking
315
+ // power, so it can no longer masquerade as a field of its own.
316
+ expect(out.split('\n').filter((l) => l.trim().startsWith('reporter')).length).toBe(1);
317
+ expect(out).toContain('Someone Else'); // the content is preserved, only its framing is removed
318
+ });
319
+ });
320
+ //# sourceMappingURL=outcome.test.js.map