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

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
@@ -16,12 +16,23 @@ const ACTIVE_PROFILE_PATH = resolve(HOME_CONFIG_DIR, 'active-profile');
16
16
  const LEGACY_ENV_PATH = resolve(HOME_CONFIG_DIR, '.env');
17
17
  /** Profile name validation: lowercase alphanumeric + hyphens, 1-32 chars. */
18
18
  const PROFILE_NAME_RE = /^[a-z0-9][a-z0-9-]{0,31}$/;
19
- function validateProfileName(name) {
19
+ /**
20
+ * Validate a profile name — lowercase alphanumeric + hyphens, 1-32 chars, no path
21
+ * separators. profilePath() runs it on every name, so no caller can turn an untrusted name
22
+ * (`PB_PROFILE`, a committed pin, the active-profile file) into a path outside the profiles
23
+ * folder (TEN-4503).
24
+ */
25
+ export function validateProfileName(name) {
20
26
  if (!PROFILE_NAME_RE.test(name)) {
21
27
  throw new CLIError(`Invalid profile name "${name}". Must be 1-32 chars, lowercase alphanumeric + hyphens, starting with alphanumeric.`, { code: ErrorCode.PROFILE_NAME_INVALID, category: 'profile' });
22
28
  }
23
29
  }
24
- function profilePath(name) {
30
+ /**
31
+ * The one place a profile name becomes a file path. It validates the name first, so
32
+ * `../x` or an absolute name is refused before any read or write (TEN-4503).
33
+ */
34
+ export function profilePath(name) {
35
+ validateProfileName(name);
25
36
  return resolve(PROFILES_DIR, `${name}.env`);
26
37
  }
27
38
  function parseEnvFile(content) {
@@ -49,9 +60,12 @@ function readProfileFile(path) {
49
60
  /**
50
61
  * Auto-migrate legacy ~/.config/productbrain/.env to profiles/default.env.
51
62
  * Only runs if legacy file exists AND no profiles directory exists.
52
- * If profiles already exist, silently removes the legacy .env (TEN-1343).
63
+ * If profiles already exist, silently removes the legacy .env (TEN-1343) — so any caller
64
+ * that might CREATE the profiles dir before this runs (e.g. `pb connect`'s named-profile
65
+ * create path) must call this FIRST, or the legacy file is deleted, unmigrated (Codex
66
+ * review, WP-628 P1).
53
67
  */
54
- function autoMigrate() {
68
+ export function autoMigrate() {
55
69
  if (existsSync(PROFILES_DIR)) {
56
70
  if (existsSync(LEGACY_ENV_PATH))
57
71
  unlinkSync(LEGACY_ENV_PATH);
@@ -92,12 +106,17 @@ export function getActiveProfile() {
92
106
  return envProfile;
93
107
  return getGlobalActiveProfile();
94
108
  }
95
- /** Create a new profile. */
96
- export function createProfile(name, apiKey, siteUrl) {
97
- validateProfileName(name);
98
- if (existsSync(profilePath(name))) {
99
- throw new CLIError(`Profile "${name}" already exists.`, { code: ErrorCode.PROFILE_ALREADY_EXISTS, category: 'profile' });
100
- }
109
+ /**
110
+ * Create a new profile.
111
+ *
112
+ * TEN-2851: refuses to overwrite an existing profile file by default — a caller wanting to
113
+ * replace an occupied profile's credentials must pass `{ overwrite: true }` explicitly (the
114
+ * act stays deliberate at every call site, never a silent side-effect of a name collision).
115
+ * `pb connect` is the one caller that passes it, and only for the profile this folder's own
116
+ * pin already names — a key rotation (TASK-638, connect.ts saveKeyAsProfile).
117
+ */
118
+ export function createProfile(name, apiKey, siteUrl, opts) {
119
+ const path = profilePath(name);
101
120
  mkdirSync(PROFILES_DIR, { recursive: true });
102
121
  const lines = [
103
122
  `# Product Brain CLI profile: ${name}`,
@@ -107,15 +126,41 @@ export function createProfile(name, apiKey, siteUrl) {
107
126
  lines.push(`CONVEX_SITE_URL=${siteUrl}`);
108
127
  }
109
128
  lines.push('');
110
- writeFileSync(profilePath(name), lines.join('\n'), { mode: 0o600 });
111
- // If this is the first profile, make it active
112
- if (!existsSync(ACTIVE_PROFILE_PATH)) {
129
+ const content = lines.join('\n');
130
+ // TEN-2851 TOCTOU (Copilot review): an existsSync() pre-check followed by a plain 'w'
131
+ // write leaves a race window — a concurrent process can create the file between the
132
+ // check and the write, and 'w' would silently truncate it. When NOT overwriting, use the
133
+ // exclusive-create flag 'wx' so the filesystem is the atomic guard: EEXIST (whether from
134
+ // a pre-existing file or one created in the race window) surfaces as the SAME
135
+ // PROFILE_ALREADY_EXISTS error every existing caller already handles. `{ overwrite: true }`
136
+ // is an explicit replace of this folder's own profile (see connect.ts saveKeyAsProfile) and
137
+ // intentionally keeps the plain 'w' flag — it means to replace whatever is there.
138
+ if (opts?.overwrite) {
139
+ writeFileSync(path, content, { mode: 0o600 });
140
+ }
141
+ else {
142
+ try {
143
+ writeFileSync(path, content, { mode: 0o600, flag: 'wx' });
144
+ }
145
+ catch (err) {
146
+ if (err && typeof err === 'object' && 'code' in err && err.code === 'EEXIST') {
147
+ throw new CLIError(`Profile "${name}" already exists.`, { code: ErrorCode.PROFILE_ALREADY_EXISTS, category: 'profile' });
148
+ }
149
+ throw err;
150
+ }
151
+ }
152
+ // If this is the first profile, make it active. Scoped to !opts?.overwrite (Codex review,
153
+ // WP-628 P2): an overwrite call means the profile ALREADY existed — it can never be "the
154
+ // first profile ever created" — so it must never claim a missing active-profile marker.
155
+ // Without this guard, confirming an overwrite while that marker happens to be absent would
156
+ // silently activate the overwritten target globally, contradicting this function's own
157
+ // "does not activate globally" contract (connect.ts saveKeyAsProfile docstring).
158
+ if (!opts?.overwrite && !existsSync(ACTIVE_PROFILE_PATH)) {
113
159
  writeFileSync(ACTIVE_PROFILE_PATH, name, { mode: 0o600 });
114
160
  }
115
161
  }
116
162
  /** Switch the active profile. */
117
163
  export function useProfile(name) {
118
- validateProfileName(name);
119
164
  if (!existsSync(profilePath(name))) {
120
165
  throw new CLIError(`Profile "${name}" does not exist.`, { code: ErrorCode.PROFILE_NOT_FOUND, category: 'profile' });
121
166
  }
@@ -124,7 +169,6 @@ export function useProfile(name) {
124
169
  }
125
170
  /** Delete a profile. Cannot delete the last profile or the active profile. */
126
171
  export function deleteProfile(name) {
127
- validateProfileName(name);
128
172
  const path = profilePath(name);
129
173
  if (!existsSync(path)) {
130
174
  throw new CLIError(`Profile "${name}" does not exist.`, { code: ErrorCode.PROFILE_NOT_FOUND, category: 'profile' });
@@ -151,7 +195,7 @@ export function resolveProfileConfig() {
151
195
  if (envProfile) {
152
196
  const config = readProfileFile(profilePath(envProfile));
153
197
  if (config)
154
- return config;
198
+ return { ...config, profileName: envProfile };
155
199
  }
156
200
  // 2. Check active-profile file
157
201
  if (existsSync(ACTIVE_PROFILE_PATH)) {
@@ -159,30 +203,37 @@ export function resolveProfileConfig() {
159
203
  if (name) {
160
204
  const config = readProfileFile(profilePath(name));
161
205
  if (config)
162
- return config;
206
+ return { ...config, profileName: name };
163
207
  }
164
208
  }
165
209
  // 3. Check "default" profile
166
210
  {
167
211
  const config = readProfileFile(profilePath('default'));
168
212
  if (config)
169
- return config;
213
+ return { ...config, profileName: 'default' };
170
214
  }
171
- // 4. Fall back to legacy .env
215
+ // 4. Fall back to legacy .env — not a named profile, so no profileName.
172
216
  {
173
217
  const config = readProfileFile(LEGACY_ENV_PATH);
174
218
  if (config)
175
- return config;
219
+ return { ...config, profileName: null };
176
220
  }
177
221
  return null;
178
222
  }
179
223
  /**
180
224
  * Resolve config for a specific named profile.
181
- * Returns null if the profile doesn't exist.
225
+ * Returns null both when the profile file is absent AND when it exists but fails to parse
226
+ * (missing/empty PRODUCTBRAIN_API_KEY) — those two cases are NOT the same thing to a caller
227
+ * deciding whether it's safe to create; use `profileFileExists()` to tell them apart
228
+ * (Codex review, WP-628 P2).
182
229
  */
183
230
  export function resolveNamedProfileConfig(name) {
184
231
  return readProfileFile(profilePath(name));
185
232
  }
233
+ /** Does a profile FILE exist at this name, independent of whether it parses (see above). */
234
+ export function profileFileExists(name) {
235
+ return existsSync(profilePath(name));
236
+ }
186
237
  // Exported for testing
187
238
  export { PROFILES_DIR, ACTIVE_PROFILE_PATH, LEGACY_ENV_PATH, HOME_CONFIG_DIR };
188
239
  //# sourceMappingURL=profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/lib/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/lib/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * The repo's own Product Brain config files — locating them and reading what they declare.
3
+ *
4
+ * Split out of config.ts under STD-2 / DEC-1504. The seam is deliberate and worth keeping:
5
+ * this module answers "what does THIS REPO say about itself" from the filesystem and git's index, while
6
+ * config.ts answers "which credential do we therefore use". Nothing here reads a credential
7
+ * store, an env var, or the global active profile — so it has no dependency on config.ts and
8
+ * cannot participate in an import cycle.
9
+ *
10
+ * Split config design:
11
+ * - config.json (committed): its PRESENCE declares a Product Brain project. The CLI never reads
12
+ * its siteUrl: a cloned repo controls that file, so it must not route a key (TEN-4500).
13
+ * - config.local.json (gitignored): profile pin, and an optional acting role (DEC-1961) —
14
+ * machine-local, never committed; a copy git tracks is refused (TEN-4501). Because it
15
+ * is gitignored, a fresh clone or worktree does NOT inherit it (INS-2462) — the caller must
16
+ * treat "no pin" as an explicit state, never as permission to guess a workspace.
17
+ */
18
+ /** Local project config shape — .productbrain/config.local.json (gitignored, machine-local) */
19
+ export interface LocalProjectConfig {
20
+ profile?: string;
21
+ /** Direct preview API key — set by `npm run pb:preview`, cleared by `npm run pb:real`. */
22
+ apiKey?: string;
23
+ /**
24
+ * An `apiKey` was present but failed the `API_KEY_PREFIX` bar, so it was not loaded.
25
+ * Kept apart from `apiKey` so a malformed key can never bind, while diagnostics can still
26
+ * say "malformed" instead of misreporting it as absent.
27
+ */
28
+ apiKeyMalformed?: boolean;
29
+ /** Preview site URL — set alongside apiKey by `npm run pb:preview`. */
30
+ siteUrl?: string;
31
+ /** Marks this config as preview-bound; the CLI shows a loud banner on every command. */
32
+ preview?: boolean;
33
+ /** Human-readable preview workspace name for the banner (e.g. "Preview Workspace"). */
34
+ workspaceName?: string;
35
+ /**
36
+ * The key file `npm run pb:preview` bound and the facts it read from that file (TASK-809, TEN-4883).
37
+ * The stale-key refresh re-reads only this file, and only while it still says these facts.
38
+ */
39
+ previewKey?: PreviewKeyBinding;
40
+ /**
41
+ * The role this folder's sessions act as (DEC-1961, TASK-639): a role id such as ROL-12, added
42
+ * by hand beside `profile`. Optional; absent is the ordinary state. It only labels attribution,
43
+ * and the kernel decides whether the person holds it (RULE-128).
44
+ */
45
+ role?: string;
46
+ /** `role` was present but not a non-empty string. Kept apart so it can never bind a role. */
47
+ roleMalformed?: boolean;
48
+ }
49
+ /**
50
+ * Walk up the directory tree (git-style) to find the nearest CLI project root.
51
+ *
52
+ * A `.productbrain/` directory only counts as a CLI project root when it carries
53
+ * CLI configuration — `config.json` (committed project declaration) or
54
+ * `config.local.json` (machine-local profile pin or preview binding). A
55
+ * projection-only `.productbrain/` written by `pb handshake` (briefing.md,
56
+ * context.md, rules/, etc.) does NOT count — otherwise a subrepo like
57
+ * `packages/cli/.productbrain/` would shadow the real configuring root and
58
+ * `npm run pb:preview` writes (which always land at the repo-root
59
+ * `.productbrain/`) would be invisible to commands run from the subrepo.
60
+ *
61
+ * Stops at home directory or filesystem root. Returns the directory containing
62
+ * a config-bearing `.productbrain/`, or null if not found.
63
+ */
64
+ export declare function findProjectRoot(startDir: string): string | null;
65
+ /**
66
+ * Does the committed `.productbrain/config.json` EXIST, independent of whether it parses?
67
+ *
68
+ * The project's self-declaration is the file's PRESENCE, not its contents. A content reader
69
+ * returns null for a malformed or non-object file exactly as it does for an absent one, so a
70
+ * caller asking "is this a project" through that value reads a DAMAGED declaration as no
71
+ * declaration at all — and falls through to whatever workspace the global profile names. A
72
+ * corrupt committed file must not be a way out of the project's own tenant rules, so callers
73
+ * deciding whether a repo has declared itself ask this instead (Codex review, WP-694 S2).
74
+ */
75
+ export declare function projectConfigExists(): boolean;
76
+ /**
77
+ * Is `<root>/<rel>` tracked in git's index? A TRACKED file is never ignored regardless of
78
+ * .gitignore. `git ls-files -- <path>` prints the path when tracked, nothing when not. Not a git
79
+ * work tree, or git unavailable → null. Never throws. Lives here, not in productbrain-files.ts
80
+ * (which re-exports it), so the pin reader can use it without an import cycle.
81
+ */
82
+ export declare function makeGitTrackedChecker(root: string): (rel: string) => boolean | null;
83
+ /**
84
+ * What `npm run pb:preview` recorded about the key file it bound (scripts/pb-binding.mjs writes it as
85
+ * previewKeyFile, previewPerson, previewWorkspaceSlug, previewRole, copied from that file).
86
+ */
87
+ export interface PreviewKeyBinding {
88
+ file: string;
89
+ person: string;
90
+ workspaceSlug: string;
91
+ role: string;
92
+ }
93
+ /**
94
+ * TEN-4883: read the bound key file for the stale-key refresh, or null. The seed writes many
95
+ * preview-*.json sidecars for other people and workspaces (preview-chain.json, preview-readonly.json,
96
+ * …), so the file is accepted only while its person, workspaceSlug and role still equal what the
97
+ * binding recorded from it: a config naming another sidecar can never cross the person or workspace.
98
+ */
99
+ export declare function readBoundPreviewKey(projectRoot: string, binding: PreviewKeyBinding): {
100
+ apiKey?: unknown;
101
+ siteUrl?: unknown;
102
+ } | null;
103
+ /**
104
+ * TEN-4501 (TASK-639): a config.local.json that git tracks is committed, so its pin, its preview
105
+ * key and its role travel to every clone. Refuse to read it. Only a confirmed `true` refuses:
106
+ * outside a git work tree there is no index for the file to be in. A tracked pin deleted from the
107
+ * working tree is refused too: the next pin write would recreate a committed file (TASK-648).
108
+ * pb connect calls this before its redeem for the folder it is about to pin (WP-810).
109
+ */
110
+ export declare function refuseTrackedPin(projectRoot: string): void;
111
+ /**
112
+ * Read .productbrain/config.local.json from the walked-up project root.
113
+ * Returns the machine-local pin (`profile`), the optional hand-added `role` (DEC-1961), and any
114
+ * preview-binding fields (`apiKey`, `siteUrl`, `preview`, `workspaceName`, `previewKey`) written by
115
+ * `npm run pb:preview` — all gitignored, never committed.
116
+ * Returns null if file missing or project root not found.
117
+ * Warns to stderr on invalid JSON. Throws only when git tracks the file, even one deleted from the
118
+ * working tree (refuseTrackedPin).
119
+ */
120
+ export declare function readLocalProjectConfig(): LocalProjectConfig | null;
121
+ //# sourceMappingURL=projectConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../../src/lib/projectConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,+FAA+F;AAC/F,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CASnF;AAQD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAYnI;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAY1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,GAAG,IAAI,CA6DlE"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * The repo's own Product Brain config files — locating them and reading what they declare.
3
+ *
4
+ * Split out of config.ts under STD-2 / DEC-1504. The seam is deliberate and worth keeping:
5
+ * this module answers "what does THIS REPO say about itself" from the filesystem and git's index, while
6
+ * config.ts answers "which credential do we therefore use". Nothing here reads a credential
7
+ * store, an env var, or the global active profile — so it has no dependency on config.ts and
8
+ * cannot participate in an import cycle.
9
+ *
10
+ * Split config design:
11
+ * - config.json (committed): its PRESENCE declares a Product Brain project. The CLI never reads
12
+ * its siteUrl: a cloned repo controls that file, so it must not route a key (TEN-4500).
13
+ * - config.local.json (gitignored): profile pin, and an optional acting role (DEC-1961) —
14
+ * machine-local, never committed; a copy git tracks is refused (TEN-4501). Because it
15
+ * is gitignored, a fresh clone or worktree does NOT inherit it (INS-2462) — the caller must
16
+ * treat "no pin" as an explicit state, never as permission to guess a workspace.
17
+ */
18
+ import { readFileSync, existsSync } from 'fs';
19
+ import { resolve } from 'path';
20
+ import { homedir } from 'os';
21
+ import { execFileSync } from 'child_process';
22
+ import { API_KEY_PREFIX } from './tokenConstants.js';
23
+ import { CLIError, ErrorCode } from './errors.js';
24
+ /**
25
+ * Walk up the directory tree (git-style) to find the nearest CLI project root.
26
+ *
27
+ * A `.productbrain/` directory only counts as a CLI project root when it carries
28
+ * CLI configuration — `config.json` (committed project declaration) or
29
+ * `config.local.json` (machine-local profile pin or preview binding). A
30
+ * projection-only `.productbrain/` written by `pb handshake` (briefing.md,
31
+ * context.md, rules/, etc.) does NOT count — otherwise a subrepo like
32
+ * `packages/cli/.productbrain/` would shadow the real configuring root and
33
+ * `npm run pb:preview` writes (which always land at the repo-root
34
+ * `.productbrain/`) would be invisible to commands run from the subrepo.
35
+ *
36
+ * Stops at home directory or filesystem root. Returns the directory containing
37
+ * a config-bearing `.productbrain/`, or null if not found.
38
+ */
39
+ export function findProjectRoot(startDir) {
40
+ let dir = startDir;
41
+ const home = homedir();
42
+ while (true) {
43
+ const pbDir = resolve(dir, '.productbrain');
44
+ if (existsSync(pbDir) &&
45
+ (existsSync(resolve(pbDir, 'config.json')) ||
46
+ existsSync(resolve(pbDir, 'config.local.json')))) {
47
+ return dir;
48
+ }
49
+ const parent = resolve(dir, '..');
50
+ if (parent === dir || dir === home)
51
+ return null;
52
+ dir = parent;
53
+ }
54
+ }
55
+ /**
56
+ * Does the committed `.productbrain/config.json` EXIST, independent of whether it parses?
57
+ *
58
+ * The project's self-declaration is the file's PRESENCE, not its contents. A content reader
59
+ * returns null for a malformed or non-object file exactly as it does for an absent one, so a
60
+ * caller asking "is this a project" through that value reads a DAMAGED declaration as no
61
+ * declaration at all — and falls through to whatever workspace the global profile names. A
62
+ * corrupt committed file must not be a way out of the project's own tenant rules, so callers
63
+ * deciding whether a repo has declared itself ask this instead (Codex review, WP-694 S2).
64
+ */
65
+ export function projectConfigExists() {
66
+ const projectRoot = findProjectRoot(process.cwd());
67
+ if (!projectRoot)
68
+ return false;
69
+ return existsSync(resolve(projectRoot, '.productbrain', 'config.json'));
70
+ }
71
+ /**
72
+ * Is `<root>/<rel>` tracked in git's index? A TRACKED file is never ignored regardless of
73
+ * .gitignore. `git ls-files -- <path>` prints the path when tracked, nothing when not. Not a git
74
+ * work tree, or git unavailable → null. Never throws. Lives here, not in productbrain-files.ts
75
+ * (which re-exports it), so the pin reader can use it without an import cycle.
76
+ */
77
+ export function makeGitTrackedChecker(root) {
78
+ return (rel) => {
79
+ try {
80
+ const out = execFileSync('git', ['ls-files', '--', rel], { cwd: root, encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
81
+ return out.trim().length > 0;
82
+ }
83
+ catch {
84
+ return null; // not a git work tree, or git unavailable
85
+ }
86
+ };
87
+ }
88
+ /** A preview key file name the seed writes (preview.json, preview-founder.json, …): a bare name, no path. */
89
+ const PREVIEW_KEY_FILE = /^preview(-[a-z]+)*\.json$/;
90
+ /** A printed entry id, e.g. ROL-12: the only shape a pinned role may take. */
91
+ const ROLE_ID = /^[A-Z]+-\d+$/;
92
+ /** All four recorded binding facts, or null when any is missing or the wrong shape. */
93
+ function parsePreviewKeyBinding(parsed) {
94
+ const { previewKeyFile: file, previewPerson: person, previewWorkspaceSlug: workspaceSlug, previewRole: role } = parsed;
95
+ if (typeof file !== 'string' || !PREVIEW_KEY_FILE.test(file))
96
+ return null;
97
+ if (typeof person !== 'string' || !person || typeof workspaceSlug !== 'string' || !workspaceSlug)
98
+ return null;
99
+ if (typeof role !== 'string' || !ROLE_ID.test(role))
100
+ return null;
101
+ return { file, person, workspaceSlug, role };
102
+ }
103
+ /**
104
+ * TEN-4883: read the bound key file for the stale-key refresh, or null. The seed writes many
105
+ * preview-*.json sidecars for other people and workspaces (preview-chain.json, preview-readonly.json,
106
+ * …), so the file is accepted only while its person, workspaceSlug and role still equal what the
107
+ * binding recorded from it: a config naming another sidecar can never cross the person or workspace.
108
+ */
109
+ export function readBoundPreviewKey(projectRoot, binding) {
110
+ const path = resolve(projectRoot, '.productbrain', binding.file);
111
+ if (!existsSync(path))
112
+ return null;
113
+ try {
114
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
115
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
116
+ return null;
117
+ const { person, workspaceSlug, role } = parsed;
118
+ if (person !== binding.person || workspaceSlug !== binding.workspaceSlug || role !== binding.role)
119
+ return null;
120
+ return parsed;
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ }
126
+ /** Project roots whose pin git was asked about and does not track (one git spawn per root). */
127
+ const untrackedPinRoots = new Set();
128
+ /**
129
+ * TEN-4501 (TASK-639): a config.local.json that git tracks is committed, so its pin, its preview
130
+ * key and its role travel to every clone. Refuse to read it. Only a confirmed `true` refuses:
131
+ * outside a git work tree there is no index for the file to be in. A tracked pin deleted from the
132
+ * working tree is refused too: the next pin write would recreate a committed file (TASK-648).
133
+ * pb connect calls this before its redeem for the folder it is about to pin (WP-810).
134
+ */
135
+ export function refuseTrackedPin(projectRoot) {
136
+ if (untrackedPinRoots.has(projectRoot))
137
+ return;
138
+ if (makeGitTrackedChecker(projectRoot)('.productbrain/config.local.json') === true) {
139
+ const pinPath = resolve(projectRoot, '.productbrain', 'config.local.json');
140
+ const state = existsSync(pinPath) ? 'is tracked by git' : 'is deleted but still tracked by git';
141
+ throw new CLIError(`${pinPath} ${state}, so it is committed and every clone shares it. Refusing to use it.`, {
142
+ code: ErrorCode.CONFIG_INVALID,
143
+ category: 'config',
144
+ guidance: 'Untrack it with `git rm --cached .productbrain/config.local.json`, then run `pb files --fix` so git ignores it.',
145
+ });
146
+ }
147
+ untrackedPinRoots.add(projectRoot);
148
+ }
149
+ /**
150
+ * Read .productbrain/config.local.json from the walked-up project root.
151
+ * Returns the machine-local pin (`profile`), the optional hand-added `role` (DEC-1961), and any
152
+ * preview-binding fields (`apiKey`, `siteUrl`, `preview`, `workspaceName`, `previewKey`) written by
153
+ * `npm run pb:preview` — all gitignored, never committed.
154
+ * Returns null if file missing or project root not found.
155
+ * Warns to stderr on invalid JSON. Throws only when git tracks the file, even one deleted from the
156
+ * working tree (refuseTrackedPin).
157
+ */
158
+ export function readLocalProjectConfig() {
159
+ const projectRoot = findProjectRoot(process.cwd());
160
+ if (!projectRoot)
161
+ return null;
162
+ const configPath = resolve(projectRoot, '.productbrain', 'config.local.json');
163
+ // Before the existence check (WP-810, TASK-648): a pin git still tracks but the working tree has
164
+ // deleted is refused too, or the next pin write (pb connect) would recreate a committed file.
165
+ refuseTrackedPin(projectRoot);
166
+ if (!existsSync(configPath))
167
+ return null;
168
+ try {
169
+ const raw = readFileSync(configPath, 'utf8');
170
+ const parsed = JSON.parse(raw);
171
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
172
+ process.stderr.write('Warning: .productbrain/config.local.json is not a JSON object, skipping.\n');
173
+ return null;
174
+ }
175
+ const result = {};
176
+ if (typeof parsed.profile === 'string' && parsed.profile) {
177
+ result.profile = parsed.profile;
178
+ }
179
+ // Preview binding fields — written by `npm run pb:preview`, cleared by `npm run pb:real`.
180
+ //
181
+ // Fail closed on ANY present-but-invalid apiKey, not just a wrong-prefix string: a number,
182
+ // an empty string, a boolean or an object is a corrupt or hand-written binding, and treating
183
+ // it as absent would let the caller skip the claimed binding and adopt a sibling profile pin
184
+ // — the workspace substitution this whole path exists to prevent. Only `undefined`/`null`
185
+ // count as absent: JSON `null` conventionally means "no value", and `npm run pb:real` strips
186
+ // the preview keys entirely rather than nulling them.
187
+ if (parsed.apiKey !== undefined && parsed.apiKey !== null) {
188
+ if (typeof parsed.apiKey === 'string' && parsed.apiKey.startsWith(API_KEY_PREFIX)) {
189
+ result.apiKey = parsed.apiKey;
190
+ }
191
+ else {
192
+ result.apiKeyMalformed = true;
193
+ }
194
+ }
195
+ if (typeof parsed.siteUrl === 'string' && parsed.siteUrl) {
196
+ result.siteUrl = parsed.siteUrl;
197
+ }
198
+ if (parsed.preview === true) {
199
+ result.preview = true;
200
+ }
201
+ if (typeof parsed.workspaceName === 'string' && parsed.workspaceName) {
202
+ result.workspaceName = parsed.workspaceName;
203
+ }
204
+ // The bound key file and its recorded facts hold together or not at all; without them the
205
+ // stale-key refresh reads no file (TEN-4883), so absent and malformed need no separate flag.
206
+ const previewKey = parsePreviewKeyBinding(parsed);
207
+ if (previewKey)
208
+ result.previewKey = previewKey;
209
+ // Same fail-closed rule as apiKey: a present-but-unusable role is flagged, never dropped, so a
210
+ // session start refuses instead of acting as some other role (RULE-632). Only the printed id
211
+ // shape (ROL-12) is a role: anything else would reach the kernel and be echoed back raw.
212
+ if (parsed.role !== undefined && parsed.role !== null) {
213
+ const role = typeof parsed.role === 'string' ? parsed.role.trim() : '';
214
+ if (ROLE_ID.test(role))
215
+ result.role = role;
216
+ else
217
+ result.roleMalformed = true;
218
+ }
219
+ return result;
220
+ }
221
+ catch {
222
+ process.stderr.write('Warning: .productbrain/config.local.json contains invalid JSON, skipping.\n');
223
+ return null;
224
+ }
225
+ }
226
+ //# sourceMappingURL=projectConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../src/lib/projectConfig.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export interface PromptOptions {
12
12
  export interface ConfirmOptions {
13
13
  message: string;
14
14
  initialValue?: boolean;
15
+ /** Returned on Esc / Ctrl+C instead of exiting, for a caller that must clean up first (TASK-641). */
16
+ cancelValue?: boolean;
15
17
  }
16
18
  export interface SelectOptions<T> {
17
19
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AA0CD,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,uCAAuC;AACvC,wBAAsB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED,mDAAmD;AACnD,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpE;AAED,iDAAiD;AACjD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlE;AAED,wDAAwD;AACxD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrE;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;CACrB;AAED,qDAAqD;AACrD,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAW9E;AAED,6EAA6E;AAC7E,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1C;AAED,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,6EAA6E;AAC7E,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,kFAAkF;AAClF,eAAO,MAAM,GAAG;gBACC,MAAM;mBACN,MAAM;gBACN,MAAM;iBACN,MAAM;gBACN,MAAM;oBACL,MAAM;CAGvB,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAClD;AA0CD,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,uCAAuC;AACvC,wBAAsB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9D;AAED,mDAAmD;AACnD,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CASpE;AAED,iDAAiD;AACjD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlE;AAED,wDAAwD;AACxD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrE;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;CACrB;AAED,qDAAqD;AACrD,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAW9E;AAED,6EAA6E;AAC7E,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1C;AAED,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,6EAA6E;AAC7E,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED,kFAAkF;AAClF,eAAO,MAAM,GAAG;gBACC,MAAM;mBACN,MAAM;gBACN,MAAM;iBACN,MAAM;gBACN,MAAM;oBACL,MAAM;CAGvB,CAAC"}
@@ -63,6 +63,8 @@ export async function confirm(opts) {
63
63
  message: opts.message,
64
64
  initialValue: opts.initialValue,
65
65
  });
66
+ if (opts.cancelValue !== undefined && isCancelled(result))
67
+ return opts.cancelValue;
66
68
  handleCancel(result);
67
69
  return result;
68
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA4BtD,iBAAiB;AAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEpC,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAAC,uCAAuC,EAAE;YAC1D,IAAI,EAAE,SAAS,CAAC,eAAe;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,4CAA4C;SACvD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAAC,8BAA8B,EAAE;YACjD,IAAI,EAAE,SAAS,CAAC,eAAe;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,2EAA2E;SACtF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE;YAClD,IAAI,EAAE,SAAS,CAAC,eAAe;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,4CAA4C;SACvD,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,kBAAkB;AAElB,8EAA8E;AAC9E,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClE,CAAC;AAED,uCAAuC;AACvC,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAmB;IAC3C,iBAAiB,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAoB;IAChD,iBAAiB,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC;IACnF,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,MAAiB,CAAC;AAC3B,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAI,IAAsB;IACpD,iBAAiB,EAAE,CAAC;IACpB,qFAAqF;IACrF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAwD;KACvE,CAAC,CAAC;IACH,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,iBAAiB,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IACH,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,MAAgB,CAAC;AAC1B,CAAC;AASD,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,IAA2B;IAC9D,iBAAiB,EAAE,CAAC;IACpB,4DAA4D;IAC5D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;QACrC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAA6D;QAC3E,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAyE;KAC9F,CAAC,CAAC;IACH,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,MAAa,CAAC;AACvB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,KAAK,CAAC,OAAgB;IACpC,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,KAAc;IAClD,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,IAAI,EAAK,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAI,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5G,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9G,IAAI,EAAK,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAI,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9G,KAAK,EAAI,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAG,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9G,IAAI,EAAK,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAI,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC5G,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,aAAa,EAAE;QACxC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QACxB,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;CAC5E,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The body, else the given legacy key — the ONE pure prose-resolution rule every backend, CLI
3
+ * and MCP reader uses (WP-770 B2a/B2b). A blank body counts as absent; a legacy value is
4
+ * returned as soon as it's a string, blank or not — chain calls with `??` to try several legacy
5
+ * keys in priority order (`readEntryBody(data, 'a') ?? readEntryBody(data, 'b')`), the same
6
+ * pattern every existing caller already uses for its own multi-key fallback chain.
7
+ *
8
+ * Dependency-free: copied verbatim into both connector packages by
9
+ * scripts/generate-mcp-embedded-copies.mjs. the connectors build alone (MCP on Railway,
10
+ * packages/mcp-server/Dockerfile; CLI as a published package), so neither can import the kernel at runtime (DEC-1481); this file has no imports.
11
+ * convex/lib/proseField.ts's `readEntryBody` re-exports this — one implementation, not two.
12
+ */
13
+ export declare function readEntryBody(data: Record<string, unknown> | null | undefined, proseKey: string | undefined): string | undefined;
14
+ //# sourceMappingURL=proseBody.d.ts.map