@productbrain/cli 0.1.0-beta.108 → 0.1.0-beta.1087

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 (412) hide show
  1. package/dist/__tests__/audit.test.js +5 -0
  2. package/dist/__tests__/audit.test.js.map +1 -1
  3. package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
  4. package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
  5. package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
  6. package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
  7. package/dist/__tests__/config.test.js +272 -2
  8. package/dist/__tests__/config.test.js.map +1 -1
  9. package/dist/__tests__/constants.test.js +6 -1
  10. package/dist/__tests__/constants.test.js.map +1 -1
  11. package/dist/__tests__/envelope-contract.test.js +29 -3
  12. package/dist/__tests__/envelope-contract.test.js.map +1 -1
  13. package/dist/__tests__/errors.test.js +1 -0
  14. package/dist/__tests__/errors.test.js.map +1 -1
  15. package/dist/__tests__/handshake-augment.test.d.ts +2 -0
  16. package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
  17. package/dist/__tests__/handshake-augment.test.js +423 -0
  18. package/dist/__tests__/handshake-augment.test.js.map +1 -0
  19. package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
  20. package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
  21. package/dist/__tests__/handshake-dormancy.test.js +207 -0
  22. package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
  23. package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
  24. package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
  25. package/dist/__tests__/handshake-formatter.test.js +67 -0
  26. package/dist/__tests__/handshake-formatter.test.js.map +1 -0
  27. package/dist/__tests__/handshake-preview.test.js +566 -4
  28. package/dist/__tests__/handshake-preview.test.js.map +1 -1
  29. package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
  30. package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
  31. package/dist/__tests__/handshake.e2e.test.js +1252 -0
  32. package/dist/__tests__/handshake.e2e.test.js.map +1 -0
  33. package/dist/__tests__/handshake.test.js +255 -5
  34. package/dist/__tests__/handshake.test.js.map +1 -1
  35. package/dist/__tests__/manifest.test.js +118 -1
  36. package/dist/__tests__/manifest.test.js.map +1 -1
  37. package/dist/__tests__/notice-marker.test.d.ts +2 -0
  38. package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
  39. package/dist/__tests__/notice-marker.test.js +41 -0
  40. package/dist/__tests__/notice-marker.test.js.map +1 -0
  41. package/dist/__tests__/onboarding-path-b.test.js +4 -4
  42. package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
  43. package/dist/__tests__/orient.test.js +117 -26
  44. package/dist/__tests__/orient.test.js.map +1 -1
  45. package/dist/__tests__/perimeter.test.d.ts +2 -0
  46. package/dist/__tests__/perimeter.test.d.ts.map +1 -0
  47. package/dist/__tests__/perimeter.test.js +165 -0
  48. package/dist/__tests__/perimeter.test.js.map +1 -0
  49. package/dist/__tests__/preview-key-refresh.test.d.ts +2 -0
  50. package/dist/__tests__/preview-key-refresh.test.d.ts.map +1 -0
  51. package/dist/__tests__/preview-key-refresh.test.js +126 -0
  52. package/dist/__tests__/preview-key-refresh.test.js.map +1 -0
  53. package/dist/__tests__/profiles.test.js +106 -2
  54. package/dist/__tests__/profiles.test.js.map +1 -1
  55. package/dist/__tests__/promote.test.js +2 -2
  56. package/dist/__tests__/promote.test.js.map +1 -1
  57. package/dist/__tests__/session-reset.test.d.ts +2 -0
  58. package/dist/__tests__/session-reset.test.d.ts.map +1 -0
  59. package/dist/__tests__/session-reset.test.js +122 -0
  60. package/dist/__tests__/session-reset.test.js.map +1 -0
  61. package/dist/__tests__/session-resume-backstop.test.d.ts +2 -0
  62. package/dist/__tests__/session-resume-backstop.test.d.ts.map +1 -0
  63. package/dist/__tests__/session-resume-backstop.test.js +97 -0
  64. package/dist/__tests__/session-resume-backstop.test.js.map +1 -0
  65. package/dist/__tests__/session-start-key-refresh.test.d.ts +2 -0
  66. package/dist/__tests__/session-start-key-refresh.test.d.ts.map +1 -0
  67. package/dist/__tests__/session-start-key-refresh.test.js +178 -0
  68. package/dist/__tests__/session-start-key-refresh.test.js.map +1 -0
  69. package/dist/__tests__/session-state-machine.test.js +45 -1
  70. package/dist/__tests__/session-state-machine.test.js.map +1 -1
  71. package/dist/__tests__/session-switch.test.d.ts +2 -0
  72. package/dist/__tests__/session-switch.test.d.ts.map +1 -0
  73. package/dist/__tests__/session-switch.test.js +130 -0
  74. package/dist/__tests__/session-switch.test.js.map +1 -0
  75. package/dist/__tests__/setup-ingest.test.js +16 -0
  76. package/dist/__tests__/setup-ingest.test.js.map +1 -1
  77. package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
  78. package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
  79. package/dist/__tests__/skill-vocabulary.test.js +187 -0
  80. package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
  81. package/dist/__tests__/update-check.test.d.ts +2 -0
  82. package/dist/__tests__/update-check.test.d.ts.map +1 -0
  83. package/dist/__tests__/update-check.test.js +215 -0
  84. package/dist/__tests__/update-check.test.js.map +1 -0
  85. package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
  86. package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
  87. package/dist/__tests__/upgrade-runner.test.js +54 -0
  88. package/dist/__tests__/upgrade-runner.test.js.map +1 -0
  89. package/dist/__tests__/upgrade.test.d.ts +2 -0
  90. package/dist/__tests__/upgrade.test.d.ts.map +1 -0
  91. package/dist/__tests__/upgrade.test.js +56 -0
  92. package/dist/__tests__/upgrade.test.js.map +1 -0
  93. package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
  94. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
  95. package/dist/__tests__/vocabulary-leak.test.js +534 -0
  96. package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
  97. package/dist/commands/__tests__/connect-handoff.test.d.ts +11 -0
  98. package/dist/commands/__tests__/connect-handoff.test.d.ts.map +1 -0
  99. package/dist/commands/__tests__/connect-handoff.test.js +111 -0
  100. package/dist/commands/__tests__/connect-handoff.test.js.map +1 -0
  101. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
  102. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
  103. package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
  104. package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
  105. package/dist/commands/__tests__/setup-state.test.d.ts +2 -0
  106. package/dist/commands/__tests__/setup-state.test.d.ts.map +1 -0
  107. package/dist/commands/__tests__/setup-state.test.js +194 -0
  108. package/dist/commands/__tests__/setup-state.test.js.map +1 -0
  109. package/dist/commands/admin/seed.d.ts +32 -2
  110. package/dist/commands/admin/seed.d.ts.map +1 -1
  111. package/dist/commands/admin/seed.js +279 -33
  112. package/dist/commands/admin/seed.js.map +1 -1
  113. package/dist/commands/admin/seed.test.js +7 -0
  114. package/dist/commands/admin/seed.test.js.map +1 -1
  115. package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
  116. package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
  117. package/dist/commands/admin/seedRegistryEntries.generated.js +117 -0
  118. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
  119. package/dist/commands/admin/seedRegistryEntries.test.d.ts +11 -0
  120. package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
  121. package/dist/commands/admin/seedRegistryEntries.test.js +67 -0
  122. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
  123. package/dist/commands/audit.d.ts.map +1 -1
  124. package/dist/commands/audit.js +30 -3
  125. package/dist/commands/audit.js.map +1 -1
  126. package/dist/commands/authority-domains.d.ts +7 -1
  127. package/dist/commands/authority-domains.d.ts.map +1 -1
  128. package/dist/commands/authority-domains.js +19 -4
  129. package/dist/commands/authority-domains.js.map +1 -1
  130. package/dist/commands/capture.d.ts +2 -0
  131. package/dist/commands/capture.d.ts.map +1 -1
  132. package/dist/commands/capture.js +8 -3
  133. package/dist/commands/capture.js.map +1 -1
  134. package/dist/commands/codex-prep.js +6 -6
  135. package/dist/commands/codex-prep.js.map +1 -1
  136. package/dist/commands/connect-config.test.d.ts +2 -0
  137. package/dist/commands/connect-config.test.d.ts.map +1 -0
  138. package/dist/commands/connect-config.test.js +44 -0
  139. package/dist/commands/connect-config.test.js.map +1 -0
  140. package/dist/commands/connect-context.d.ts +45 -0
  141. package/dist/commands/connect-context.d.ts.map +1 -0
  142. package/dist/commands/connect-context.js +64 -0
  143. package/dist/commands/connect-context.js.map +1 -0
  144. package/dist/commands/connect-context.test.d.ts +2 -0
  145. package/dist/commands/connect-context.test.d.ts.map +1 -0
  146. package/dist/commands/connect-context.test.js +110 -0
  147. package/dist/commands/connect-context.test.js.map +1 -0
  148. package/dist/commands/connect-handoff.d.ts +51 -0
  149. package/dist/commands/connect-handoff.d.ts.map +1 -0
  150. package/dist/commands/connect-handoff.js +70 -0
  151. package/dist/commands/connect-handoff.js.map +1 -0
  152. package/dist/commands/connect-integration.test.js +13 -12
  153. package/dist/commands/connect-integration.test.js.map +1 -1
  154. package/dist/commands/connect-screens.d.ts +7 -8
  155. package/dist/commands/connect-screens.d.ts.map +1 -1
  156. package/dist/commands/connect-screens.js +30 -37
  157. package/dist/commands/connect-screens.js.map +1 -1
  158. package/dist/commands/connect.d.ts +19 -6
  159. package/dist/commands/connect.d.ts.map +1 -1
  160. package/dist/commands/connect.js +31 -56
  161. package/dist/commands/connect.js.map +1 -1
  162. package/dist/commands/doctor.d.ts.map +1 -1
  163. package/dist/commands/doctor.js +67 -2
  164. package/dist/commands/doctor.js.map +1 -1
  165. package/dist/commands/doctor.test.js +150 -0
  166. package/dist/commands/doctor.test.js.map +1 -1
  167. package/dist/commands/handshake.d.ts +84 -4
  168. package/dist/commands/handshake.d.ts.map +1 -1
  169. package/dist/commands/handshake.js +1169 -97
  170. package/dist/commands/handshake.js.map +1 -1
  171. package/dist/commands/method.d.ts.map +1 -1
  172. package/dist/commands/method.js +5 -1
  173. package/dist/commands/method.js.map +1 -1
  174. package/dist/commands/orient.d.ts +52 -2
  175. package/dist/commands/orient.d.ts.map +1 -1
  176. package/dist/commands/orient.js +41 -7
  177. package/dist/commands/orient.js.map +1 -1
  178. package/dist/commands/profile.d.ts +1 -14
  179. package/dist/commands/profile.d.ts.map +1 -1
  180. package/dist/commands/profile.js +89 -72
  181. package/dist/commands/profile.js.map +1 -1
  182. package/dist/commands/reject.d.ts.map +1 -1
  183. package/dist/commands/reject.js +2 -1
  184. package/dist/commands/reject.js.map +1 -1
  185. package/dist/commands/relate.d.ts.map +1 -1
  186. package/dist/commands/relate.js +4 -2
  187. package/dist/commands/relate.js.map +1 -1
  188. package/dist/commands/session.d.ts +26 -2
  189. package/dist/commands/session.d.ts.map +1 -1
  190. package/dist/commands/session.js +216 -31
  191. package/dist/commands/session.js.map +1 -1
  192. package/dist/commands/setup-audit.d.ts +59 -0
  193. package/dist/commands/setup-audit.d.ts.map +1 -0
  194. package/dist/commands/setup-audit.js +250 -0
  195. package/dist/commands/setup-audit.js.map +1 -0
  196. package/dist/commands/setup-detect-surfaces.d.ts +38 -0
  197. package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
  198. package/dist/commands/setup-detect-surfaces.js +76 -0
  199. package/dist/commands/setup-detect-surfaces.js.map +1 -0
  200. package/dist/commands/setup-ingest.d.ts.map +1 -1
  201. package/dist/commands/setup-ingest.js +4 -2
  202. package/dist/commands/setup-ingest.js.map +1 -1
  203. package/dist/commands/setup-state.d.ts +42 -0
  204. package/dist/commands/setup-state.d.ts.map +1 -0
  205. package/dist/commands/setup-state.js +93 -0
  206. package/dist/commands/setup-state.js.map +1 -0
  207. package/dist/commands/setup.d.ts +17 -9
  208. package/dist/commands/setup.d.ts.map +1 -1
  209. package/dist/commands/setup.js +52 -131
  210. package/dist/commands/setup.js.map +1 -1
  211. package/dist/commands/update.d.ts.map +1 -1
  212. package/dist/commands/update.js +2 -1
  213. package/dist/commands/update.js.map +1 -1
  214. package/dist/commands/upgrade.d.ts +5 -0
  215. package/dist/commands/upgrade.d.ts.map +1 -0
  216. package/dist/commands/upgrade.js +110 -0
  217. package/dist/commands/upgrade.js.map +1 -0
  218. package/dist/commands/verify.d.ts.map +1 -1
  219. package/dist/commands/verify.js +2 -1
  220. package/dist/commands/verify.js.map +1 -1
  221. package/dist/commands/whoami.d.ts +12 -0
  222. package/dist/commands/whoami.d.ts.map +1 -0
  223. package/dist/commands/whoami.js +70 -0
  224. package/dist/commands/whoami.js.map +1 -0
  225. package/dist/commands/whoami.test.d.ts +2 -0
  226. package/dist/commands/whoami.test.d.ts.map +1 -0
  227. package/dist/commands/whoami.test.js +50 -0
  228. package/dist/commands/whoami.test.js.map +1 -0
  229. package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
  230. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
  231. package/dist/formatters/__tests__/orient-provenance.test.js +454 -0
  232. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
  233. package/dist/formatters/audit.d.ts +6 -0
  234. package/dist/formatters/audit.d.ts.map +1 -1
  235. package/dist/formatters/audit.js.map +1 -1
  236. package/dist/formatters/entry.d.ts +21 -0
  237. package/dist/formatters/entry.d.ts.map +1 -1
  238. package/dist/formatters/entry.js +46 -5
  239. package/dist/formatters/entry.js.map +1 -1
  240. package/dist/formatters/handshake.d.ts +19 -3
  241. package/dist/formatters/handshake.d.ts.map +1 -1
  242. package/dist/formatters/handshake.js +47 -12
  243. package/dist/formatters/handshake.js.map +1 -1
  244. package/dist/formatters/orient.d.ts +64 -4
  245. package/dist/formatters/orient.d.ts.map +1 -1
  246. package/dist/formatters/orient.js +103 -18
  247. package/dist/formatters/orient.js.map +1 -1
  248. package/dist/generators/adapters.js +4 -4
  249. package/dist/generators/context-md.js +6 -6
  250. package/dist/generators/context-md.js.map +1 -1
  251. package/dist/generators/manifest.d.ts +76 -0
  252. package/dist/generators/manifest.d.ts.map +1 -1
  253. package/dist/generators/manifest.js +125 -14
  254. package/dist/generators/manifest.js.map +1 -1
  255. package/dist/generators/portable-knowledge.d.ts +2 -2
  256. package/dist/generators/portable-knowledge.d.ts.map +1 -1
  257. package/dist/generators/region-projections.d.ts +18 -0
  258. package/dist/generators/region-projections.d.ts.map +1 -0
  259. package/dist/generators/region-projections.js +49 -0
  260. package/dist/generators/region-projections.js.map +1 -0
  261. package/dist/generators/region-projections.test.d.ts +2 -0
  262. package/dist/generators/region-projections.test.d.ts.map +1 -0
  263. package/dist/generators/region-projections.test.js +63 -0
  264. package/dist/generators/region-projections.test.js.map +1 -0
  265. package/dist/generators/region.d.ts +24 -0
  266. package/dist/generators/region.d.ts.map +1 -0
  267. package/dist/generators/region.js +87 -0
  268. package/dist/generators/region.js.map +1 -0
  269. package/dist/generators/region.test.d.ts +2 -0
  270. package/dist/generators/region.test.d.ts.map +1 -0
  271. package/dist/generators/region.test.js +126 -0
  272. package/dist/generators/region.test.js.map +1 -0
  273. package/dist/generators/surface-profiles.d.ts +1 -2
  274. package/dist/generators/surface-profiles.d.ts.map +1 -1
  275. package/dist/generators/surface-profiles.js.map +1 -1
  276. package/dist/index.js +144 -25
  277. package/dist/index.js.map +1 -1
  278. package/dist/lib/activation.js +2 -2
  279. package/dist/lib/activation.js.map +1 -1
  280. package/dist/lib/activation.test.js +3 -3
  281. package/dist/lib/activation.test.js.map +1 -1
  282. package/dist/lib/canonicalRefs.d.ts +72 -0
  283. package/dist/lib/canonicalRefs.d.ts.map +1 -1
  284. package/dist/lib/canonicalRefs.js +67 -0
  285. package/dist/lib/canonicalRefs.js.map +1 -1
  286. package/dist/lib/client.d.ts.map +1 -1
  287. package/dist/lib/client.js +13 -3
  288. package/dist/lib/client.js.map +1 -1
  289. package/dist/lib/config.d.ts +101 -4
  290. package/dist/lib/config.d.ts.map +1 -1
  291. package/dist/lib/config.js +225 -11
  292. package/dist/lib/config.js.map +1 -1
  293. package/dist/lib/constants.d.ts +2 -0
  294. package/dist/lib/constants.d.ts.map +1 -1
  295. package/dist/lib/constants.js +2 -0
  296. package/dist/lib/constants.js.map +1 -1
  297. package/dist/lib/errors.d.ts +1 -0
  298. package/dist/lib/errors.d.ts.map +1 -1
  299. package/dist/lib/errors.js +1 -0
  300. package/dist/lib/errors.js.map +1 -1
  301. package/dist/lib/notice-marker.d.ts +3 -0
  302. package/dist/lib/notice-marker.d.ts.map +1 -0
  303. package/dist/lib/notice-marker.js +53 -0
  304. package/dist/lib/notice-marker.js.map +1 -0
  305. package/dist/lib/onboarding-path-b.d.ts.map +1 -1
  306. package/dist/lib/onboarding-path-b.js +0 -1
  307. package/dist/lib/onboarding-path-b.js.map +1 -1
  308. package/dist/lib/onboarding-shared.d.ts +0 -1
  309. package/dist/lib/onboarding-shared.d.ts.map +1 -1
  310. package/dist/lib/onboarding-shared.js +1 -17
  311. package/dist/lib/onboarding-shared.js.map +1 -1
  312. package/dist/lib/profiles.d.ts +3 -1
  313. package/dist/lib/profiles.d.ts.map +1 -1
  314. package/dist/lib/profiles.js +9 -6
  315. package/dist/lib/profiles.js.map +1 -1
  316. package/dist/lib/session.d.ts +10 -0
  317. package/dist/lib/session.d.ts.map +1 -1
  318. package/dist/lib/session.js +26 -1
  319. package/dist/lib/session.js.map +1 -1
  320. package/dist/lib/update-check.d.ts +42 -7
  321. package/dist/lib/update-check.d.ts.map +1 -1
  322. package/dist/lib/update-check.js +213 -62
  323. package/dist/lib/update-check.js.map +1 -1
  324. package/dist/lib/upgrade-runner.d.ts +22 -0
  325. package/dist/lib/upgrade-runner.d.ts.map +1 -0
  326. package/dist/lib/upgrade-runner.js +110 -0
  327. package/dist/lib/upgrade-runner.js.map +1 -0
  328. package/dist/lib/workspaceVocabCache.d.ts +60 -0
  329. package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
  330. package/dist/lib/workspaceVocabCache.js +98 -0
  331. package/dist/lib/workspaceVocabCache.js.map +1 -0
  332. package/dist/setup/__tests__/coach-traces.test.d.ts +2 -0
  333. package/dist/setup/__tests__/coach-traces.test.d.ts.map +1 -0
  334. package/dist/setup/__tests__/coach-traces.test.js +189 -0
  335. package/dist/setup/__tests__/coach-traces.test.js.map +1 -0
  336. package/dist/setup/__tests__/setup-commands.test.d.ts +2 -0
  337. package/dist/setup/__tests__/setup-commands.test.d.ts.map +1 -0
  338. package/dist/setup/__tests__/setup-commands.test.js +177 -0
  339. package/dist/setup/__tests__/setup-commands.test.js.map +1 -0
  340. package/dist/setup/__tests__/state-machine.test.d.ts +2 -0
  341. package/dist/setup/__tests__/state-machine.test.d.ts.map +1 -0
  342. package/dist/setup/__tests__/state-machine.test.js +341 -0
  343. package/dist/setup/__tests__/state-machine.test.js.map +1 -0
  344. package/dist/setup/detect-surfaces.d.ts +21 -0
  345. package/dist/setup/detect-surfaces.d.ts.map +1 -0
  346. package/dist/setup/detect-surfaces.js +39 -0
  347. package/dist/setup/detect-surfaces.js.map +1 -0
  348. package/dist/setup/manifest-writer.d.ts +17 -0
  349. package/dist/setup/manifest-writer.d.ts.map +1 -0
  350. package/dist/setup/manifest-writer.js +153 -0
  351. package/dist/setup/manifest-writer.js.map +1 -0
  352. package/dist/setup/perimeter.d.ts +72 -0
  353. package/dist/setup/perimeter.d.ts.map +1 -0
  354. package/dist/setup/perimeter.js +128 -0
  355. package/dist/setup/perimeter.js.map +1 -0
  356. package/dist/setup/state-machine.d.ts +67 -0
  357. package/dist/setup/state-machine.d.ts.map +1 -0
  358. package/dist/setup/state-machine.js +124 -0
  359. package/dist/setup/state-machine.js.map +1 -0
  360. package/dist/surfaces/__tests__/adapter.test.d.ts +2 -0
  361. package/dist/surfaces/__tests__/adapter.test.d.ts.map +1 -0
  362. package/dist/surfaces/__tests__/adapter.test.js +90 -0
  363. package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
  364. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +2 -0
  365. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +1 -0
  366. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +132 -0
  367. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +1 -0
  368. package/dist/surfaces/__tests__/telemetry.test.d.ts +2 -0
  369. package/dist/surfaces/__tests__/telemetry.test.d.ts.map +1 -0
  370. package/dist/surfaces/__tests__/telemetry.test.js +55 -0
  371. package/dist/surfaces/__tests__/telemetry.test.js.map +1 -0
  372. package/dist/surfaces/adapter.d.ts +70 -0
  373. package/dist/surfaces/adapter.d.ts.map +1 -0
  374. package/dist/surfaces/adapter.js +2 -0
  375. package/dist/surfaces/adapter.js.map +1 -0
  376. package/dist/surfaces/adapters/claude.d.ts +3 -0
  377. package/dist/surfaces/adapters/claude.d.ts.map +1 -0
  378. package/dist/surfaces/adapters/claude.js +67 -0
  379. package/dist/surfaces/adapters/claude.js.map +1 -0
  380. package/dist/surfaces/adapters/codex.d.ts +3 -0
  381. package/dist/surfaces/adapters/codex.d.ts.map +1 -0
  382. package/dist/surfaces/adapters/codex.js +61 -0
  383. package/dist/surfaces/adapters/codex.js.map +1 -0
  384. package/dist/surfaces/adapters/copilot.d.ts +3 -0
  385. package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
  386. package/dist/surfaces/adapters/copilot.js +59 -0
  387. package/dist/surfaces/adapters/copilot.js.map +1 -0
  388. package/dist/surfaces/adapters/cursor.d.ts +3 -0
  389. package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
  390. package/dist/surfaces/adapters/cursor.js +78 -0
  391. package/dist/surfaces/adapters/cursor.js.map +1 -0
  392. package/dist/surfaces/registry.d.ts +58 -2
  393. package/dist/surfaces/registry.d.ts.map +1 -1
  394. package/dist/surfaces/registry.js +82 -7
  395. package/dist/surfaces/registry.js.map +1 -1
  396. package/dist/surfaces/telemetry.d.ts +17 -0
  397. package/dist/surfaces/telemetry.d.ts.map +1 -0
  398. package/dist/surfaces/telemetry.js +31 -0
  399. package/dist/surfaces/telemetry.js.map +1 -0
  400. package/package.json +3 -1
  401. package/dist/__tests__/setup.test.d.ts +0 -2
  402. package/dist/__tests__/setup.test.d.ts.map +0 -1
  403. package/dist/__tests__/setup.test.js +0 -141
  404. package/dist/__tests__/setup.test.js.map +0 -1
  405. package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
  406. package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
  407. package/dist/generators/__tests__/surface-profiles.test.js +0 -89
  408. package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
  409. package/dist/lib/onboarding-phases.d.ts +0 -9
  410. package/dist/lib/onboarding-phases.d.ts.map +0 -1
  411. package/dist/lib/onboarding-phases.js +0 -120
  412. package/dist/lib/onboarding-phases.js.map +0 -1
@@ -1,11 +1,45 @@
1
1
  /**
2
2
  * Orient formatter — full ARCH-25 sections for CLI display.
3
3
  * Chain: DEC-186 (CLI uses Convex view model with CLI-native formatting).
4
+ *
5
+ * WP-436 S2: vocabulary labels resolved via getCollectionLabel (PAT-230, DEC-1021 Axis 2).
6
+ * Formatters accept an optional WorkspaceVocabCtx; without one, resolver falls back to canonicalKey literal.
4
7
  */
8
+ import { getCollectionLabel } from '../lib/canonicalRefs.js';
9
+ import { stripControlChars } from '../lib/strip.js';
10
+ /**
11
+ * Phase 4 (DEC-1141): compact single-char provenance marker.
12
+ * ★ = authoritative (ratified domain), ~ = provisional (live anchor, not yet ratified),
13
+ * · = floor (pre-Phase-2 legacy, no anchor). Empty string when provenance is absent.
14
+ */
15
+ export function provenanceMark(p) {
16
+ if (p === 'authoritative')
17
+ return '★ ';
18
+ if (p === 'provisional')
19
+ return '~ ';
20
+ if (p === 'floor')
21
+ return '· ';
22
+ return '';
23
+ }
5
24
  function formatEntryList(items, max = 5) {
6
25
  return items.slice(0, max).map((e) => {
7
26
  const id = e.entryId ?? e.name;
8
- return e.preview ? `${id} — ${e.preview.slice(0, 80)}${e.preview.length > 80 ? '…' : ''}` : id;
27
+ const mark = provenanceMark(e.provenance);
28
+ // BET-269 C3: anchoredBy is a workspace-authored team name — strip control chars
29
+ // before terminal output (mirrors the entry formatter; prevents ANSI injection).
30
+ const anchor = e.anchoredBy ? ` (${stripControlChars(e.anchoredBy)})` : '';
31
+ const base = mark + id + anchor;
32
+ const preview = e.preview ? ` — ${e.preview.slice(0, 80)}${e.preview.length > 80 ? '…' : ''}` : '';
33
+ // TEN-2191 (STD-219): surface whyQuality honesty signal for active governance entries.
34
+ // Only annotate the not-healthy cases to keep orient least-noise (PRI-17).
35
+ let whySignal = '';
36
+ if (e.whyQuality === 'missing') {
37
+ whySignal = ' — no rationale captured';
38
+ }
39
+ else if (e.whyQuality === 'restated') {
40
+ whySignal = ' — rationale restates name';
41
+ }
42
+ return base + preview + whySignal;
9
43
  });
10
44
  }
11
45
  function buildTaskGroundingWarningLines(startup) {
@@ -52,23 +86,29 @@ function formatBudgetHeader(budget) {
52
86
  return [`[${severity}] ${message}`, ''];
53
87
  }
54
88
  /** Full orient output — all sections per ARCH-25. */
55
- export function formatOrient(view) {
89
+ export function formatOrient(view, vocabCtx) {
90
+ // WP-436 S4: activeWorkPackages is the canonical field (legacy activeBets dropped).
91
+ const resolvedActiveBets = view.activeWorkPackages;
92
+ const wpSingular = getCollectionLabel('work_package', 'singular', vocabCtx);
93
+ const wpPlural = getCollectionLabel('work_package', 'plural', vocabCtx);
56
94
  const lines = [];
57
95
  lines.push(...formatBudgetHeader(view._budget));
58
96
  // 1. Stage and strategic context
59
97
  lines.push(`Stage: ${view.stage}`);
60
98
  lines.push('');
61
- const { strategicContext, activeBets } = view;
99
+ const { strategicContext } = view;
62
100
  if (strategicContext.vision) {
63
101
  lines.push(`Vision: ${strategicContext.vision.slice(0, 200)}${strategicContext.vision.length > 200 ? '…' : ''}`);
64
102
  }
65
103
  if (strategicContext.purpose) {
66
104
  lines.push(`Purpose: ${strategicContext.purpose.slice(0, 200)}${strategicContext.purpose.length > 200 ? '…' : ''}`);
67
105
  }
68
- if (strategicContext.currentBet) {
69
- lines.push(`Current bet: ${strategicContext.currentBet}`);
106
+ // WP-436 S4: currentWorkPackage is the canonical field (legacy currentBet dropped).
107
+ const currentWP = strategicContext.currentWorkPackage;
108
+ if (currentWP) {
109
+ lines.push(`Current ${wpSingular}: ${currentWP}`);
70
110
  }
71
- lines.push(`Active bets: ${strategicContext.activeBetCount}`);
111
+ lines.push(`Active ${wpPlural}: ${strategicContext.activeBetCount}`);
72
112
  if (strategicContext.activeTensionCount > 0) {
73
113
  lines.push(`Active tensions: ${strategicContext.activeTensionCount}`);
74
114
  }
@@ -77,11 +117,11 @@ export function formatOrient(view) {
77
117
  }
78
118
  lines.push('');
79
119
  lines.push(...buildTaskGroundingWarningLines(view.startup));
80
- // 2. Active bets
81
- if (activeBets.length > 0) {
82
- lines.push('## Active bets');
120
+ // 2. Active work packages.
121
+ if (resolvedActiveBets.length > 0) {
122
+ lines.push(`## Active ${wpPlural}`);
83
123
  lines.push('');
84
- for (const bet of activeBets.slice(0, 10)) {
124
+ for (const bet of resolvedActiveBets.slice(0, 10)) {
85
125
  const originTag = bet.origin ? ` [${bet.origin}]` : '';
86
126
  const betLine = bet.entryId ? `${bet.entryId} — ${bet.name}` : bet.name;
87
127
  lines.push(` • ${betLine}${originTag}`);
@@ -125,6 +165,12 @@ export function formatOrient(view) {
125
165
  }
126
166
  lines.push('');
127
167
  }
168
+ // STD-219 §4 (DEC-1147): announce a grounding stub so the agent knows it is operating
169
+ // lean and must fetch full context (tier=standard) before consequential decisions.
170
+ if (view.taskContext?.isGroundingStub && view.taskContext.groundingNote) {
171
+ lines.push(`⚠️ ${view.taskContext.groundingNote}`);
172
+ lines.push('');
173
+ }
128
174
  if (view.startup) {
129
175
  const startupGov = view.startup.bindingGovernance;
130
176
  const hasStartupGov = startupGov.principles.length > 0 ||
@@ -238,7 +284,18 @@ export function formatOrient(view) {
238
284
  if (pw.uncommittedDrafts.length > 0) {
239
285
  lines.push(' Uncommitted drafts:');
240
286
  for (const d of pw.uncommittedDrafts.slice(0, 3)) {
241
- lines.push(` • ${d.name} [${d.collection}]`);
287
+ // TEN-2191 (STD-219): surface whyQuality honesty signal on governance drafts,
288
+ // consistent with formatEntryList for active governance. Only annotate not-healthy
289
+ // cases to keep orient least-noise (PRI-17). Non-governance drafts have no
290
+ // whyQuality so they render without a marker.
291
+ let whySignal = '';
292
+ if (d.whyQuality === 'missing') {
293
+ whySignal = ' — no rationale captured';
294
+ }
295
+ else if (d.whyQuality === 'restated') {
296
+ whySignal = ' — rationale restates name';
297
+ }
298
+ lines.push(` • ${d.name} [${d.collection}]${whySignal}`);
242
299
  }
243
300
  }
244
301
  if (pw.inProgressEntries.length > 0) {
@@ -294,17 +351,23 @@ export function formatOrient(view) {
294
351
  return lines.join('\n').trimEnd();
295
352
  }
296
353
  /** Compact view — stage, counts, top bets, tensions, planned work, recovery. */
297
- export function formatOrientBrief(view) {
354
+ export function formatOrientBrief(view, vocabCtx) {
355
+ // WP-436 S4: activeWorkPackages is the canonical field (legacy activeBets dropped).
356
+ const resolvedActiveBets = view.activeWorkPackages;
357
+ const wpSingular = getCollectionLabel('work_package', 'singular', vocabCtx);
358
+ const wpPlural = getCollectionLabel('work_package', 'plural', vocabCtx);
298
359
  const lines = [];
299
360
  lines.push(...formatBudgetHeader(view._budget));
300
- lines.push(`${view.stage} | ${view.strategicContext.activeBetCount} bets | ${view.strategicContext.activeTensionCount} tensions`);
301
- if (view.strategicContext.currentBet) {
302
- lines.push(`Current: ${view.strategicContext.currentBet}`);
361
+ lines.push(`${view.stage} | ${view.strategicContext.activeBetCount} ${wpPlural} | ${view.strategicContext.activeTensionCount} tensions`);
362
+ // WP-436 S4: currentWorkPackage is the canonical field (legacy currentBet dropped).
363
+ const currentWP = view.strategicContext.currentWorkPackage;
364
+ if (currentWP) {
365
+ lines.push(`Current: ${currentWP}`);
303
366
  }
304
- if (view.activeBets.length > 0) {
367
+ if (resolvedActiveBets.length > 0) {
305
368
  lines.push('');
306
- lines.push('Bets:');
307
- for (const bet of view.activeBets.slice(0, 5)) {
369
+ lines.push(`${wpPlural}:`);
370
+ for (const bet of resolvedActiveBets.slice(0, 5)) {
308
371
  const originTag = bet.origin ? ` [${bet.origin}]` : '';
309
372
  const briefBetLine = bet.entryId ? `${bet.entryId} ${bet.name}` : bet.name;
310
373
  lines.push(` • ${briefBetLine}${originTag}`);
@@ -322,6 +385,11 @@ export function formatOrientBrief(view) {
322
385
  lines.push('');
323
386
  lines.push('Task grounding required: run `pb orient --task "<your task>"` before substantive work');
324
387
  }
388
+ // STD-219 §4 (DEC-1147): announce a grounding stub so the agent knows it is operating
389
+ // lean and must fetch full context (tier=standard) before consequential decisions.
390
+ if (view.taskContext?.isGroundingStub && view.taskContext.groundingNote) {
391
+ lines.push(`⚠️ ${view.taskContext.groundingNote}`);
392
+ }
325
393
  if (view.writeBackHints && view.writeBackHints.length > 0) {
326
394
  lines.push('');
327
395
  lines.push('Write-back hints (what to capture this session):');
@@ -336,6 +404,23 @@ export function formatOrientBrief(view) {
336
404
  lines.push(` • ${t.name}`);
337
405
  }
338
406
  }
407
+ // Phase 4 (DEC-1143): compact governance-provenance block — top ~5 governance entries with markers.
408
+ // Merge principles + standards + businessRules, slice 5.
409
+ const govEntries = [
410
+ ...view.governance.principles,
411
+ ...view.governance.standards,
412
+ ...view.governance.businessRules,
413
+ ].slice(0, 5);
414
+ if (govEntries.length > 0) {
415
+ lines.push('');
416
+ lines.push('Governance:');
417
+ for (const g of govEntries) {
418
+ const mark = provenanceMark(g.provenance);
419
+ // Guard: only render entryId prefix when entryId is present — avoids "Name Name" doubled text.
420
+ const label = g.entryId ? `${g.entryId} ${g.name}` : g.name;
421
+ lines.push(` ${mark}${label}`);
422
+ }
423
+ }
339
424
  const pw = view.plannedWork;
340
425
  const hasPlanned = pw.uncommittedDrafts.length > 0 ||
341
426
  pw.inProgressEntries.length > 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/formatters/orient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/formatters/orient.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ pb capture "INS: learned that X"
79
79
 
80
80
  Close with \`pb session close\` — reviews what was captured, refreshes context for the next session.
81
81
 
82
- All captures are drafts. The human reviews and commits in Cortex.
82
+ All captures are drafts. The human reviews and accepts in Cortex.
83
83
  ${skillsSection}
84
84
  ## Governance Summary
85
85
 
@@ -122,7 +122,7 @@ pb capture "INS: learned that X"
122
122
 
123
123
  Close with \`pb session close\` — reviews what was captured, refreshes context for the next session.
124
124
 
125
- All captures are drafts. The human reviews and commits in Cortex.
125
+ All captures are drafts. The human reviews and accepts in Cortex.
126
126
  `;
127
127
  }
128
128
  export function generateCursorMdc(timestamp, profile) {
@@ -155,7 +155,7 @@ Start with \`pb session start\`. When you make a decision, discover a tension, o
155
155
  - \`pb capture "TEN: description"\` — capture a tension
156
156
  - \`pb capture "DEC: decided X because Y"\` — capture a decision
157
157
  - \`pb capture "INS: learned that X"\` — capture an insight
158
- Close with \`pb session close\`. All captures are drafts — human reviews and commits.
158
+ Close with \`pb session close\`. All captures are drafts — human reviews and accepts.
159
159
 
160
160
  <!-- ${MARKER} — ${timestamp} -->
161
161
  `;
@@ -207,7 +207,7 @@ Before substantive implementation, review, diagnosis, or security-sensitive reas
207
207
  ## Session lifecycle — close the loop
208
208
 
209
209
  Start with \`pb session start\`. Capture knowledge during work with \`pb capture "text"\`.
210
- Close with \`pb session close\`. All captures are drafts — human reviews and commits.
210
+ Close with \`pb session close\`. All captures are drafts — human reviews and accepts.
211
211
  `;
212
212
  // When no enrichment options provided, return base for backward compat
213
213
  if (!skills?.length && !rules?.length) {
@@ -43,17 +43,17 @@ export function generateContextMd(view, repo, timestamp, stage) {
43
43
  lines.push(`- **Vision**: ${sc.vision}`);
44
44
  if (sc.purpose)
45
45
  lines.push(`- **Purpose**: ${sc.purpose}`);
46
- if (sc.currentBet)
47
- lines.push(`- **Current bet**: ${sc.currentBet}`);
46
+ if (sc.currentWorkPackage)
47
+ lines.push(`- **Current work package**: ${sc.currentWorkPackage}`);
48
48
  lines.push(`- **Active bets**: ${sc.activeBetCount}`);
49
49
  lines.push(`- **Active tensions**: ${sc.activeTensionCount}`);
50
50
  if (sc.productAreas.length > 0)
51
51
  lines.push(`- **Product areas**: ${sc.productAreas.join(', ')}`);
52
52
  lines.push('');
53
- // Active bets
54
- if (view.activeBets.length > 0) {
55
- lines.push('## Active Bets');
56
- for (const bet of view.activeBets.slice(0, 10)) {
53
+ // Active work packages
54
+ if (view.activeWorkPackages.length > 0) {
55
+ lines.push('## Active Work Packages');
56
+ for (const bet of view.activeWorkPackages.slice(0, 10)) {
57
57
  lines.push(`- **${bet.entryId ?? bet.name}** — ${bet.name}`);
58
58
  if (bet.linkedTensions && bet.linkedTensions.length > 0) {
59
59
  for (const t of bet.linkedTensions.slice(0, 3)) {
@@ -1 +1 @@
1
- {"version":3,"file":"context-md.js","sourceRoot":"","sources":["../../src/generators/context-md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-md.js","sourceRoot":"","sources":["../../src/generators/context-md.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
1
  /**
2
2
  * Manifest reader — reads .productbrain/manifest.yaml for adoption state.
3
3
  * WP-310 E1: personal workspace layer — manifest-based filtering.
4
+ * WP-421 S1 (#35): extends Manifest with DEC-951 authority keys (`materialize`,
5
+ * `surfaces`, `lock`) and adds `readManifestStatus()` — a typed reader that
6
+ * returns the FULL UNION of legacy + new fields plus a `parseStatus`
7
+ * discriminator (DEC-955, DEC-963 "Authority mode parse semantics").
4
8
  *
5
9
  * No external YAML dependency is required; the manifest schema is
6
10
  * simple enough to parse with a minimal line-by-line parser.
7
11
  */
12
+ /** Authority materialize modes per DEC-951. */
13
+ export type AuthorityMode = 'off' | 'observe' | 'project' | 'govern';
14
+ /** Lock levels per DEC-951 — controls who can author a setup asset. */
15
+ export type LockLevel = 'platform' | 'workspace' | 'personal';
16
+ /** Parse status discriminator per DEC-963 (Authority mode parse semantics). */
17
+ export type ManifestParseStatus = 'absent' | 'unparseable' | 'ok';
8
18
  export interface Manifest {
9
19
  version: string;
10
20
  method_source?: 'chain' | 'bundled';
@@ -18,12 +28,78 @@ export interface Manifest {
18
28
  cursor?: boolean;
19
29
  copilot?: boolean;
20
30
  };
31
+ /**
32
+ * Authority materialize mode (DEC-951). Optional in the manifest file.
33
+ * When absent, `readManifestStatus()` defaults to 'observe' per DEC-955.
34
+ */
35
+ materialize?: AuthorityMode;
36
+ /**
37
+ * Surfaces this workspace allows PB to project to (e.g. `.claude`, `.cursor`).
38
+ * Per STD-236, disk writes are permitted ONLY within these surfaces (plus
39
+ * the hard-coded `.productbrain/` root).
40
+ */
41
+ surfaces?: string[];
42
+ /**
43
+ * Per-asset lock overrides — maps asset id → lock level (DEC-951).
44
+ * Example: { "RULE-foo": "platform", "SKILL-bar": "workspace" }.
45
+ */
46
+ lock?: Record<string, LockLevel>;
47
+ }
48
+ /**
49
+ * Typed result returned by `readManifestStatus()` (WP-421 S1, #35).
50
+ *
51
+ * Shape: full union of legacy + WP-421 keys + parse-status discriminator.
52
+ * Defaults (DEC-955, DEC-963):
53
+ * - No `.productbrain/` directory: mode='off', parseStatus='absent'
54
+ * - Folder + no manifest: mode='observe', parseStatus='absent'
55
+ * - Manifest present + no `materialize`: mode='observe', parseStatus='ok'
56
+ * - Malformed YAML: mode='observe', parseStatus='unparseable'
57
+ *
58
+ * Critical invariant (DEC-963): when `parseStatus !== 'ok'`, mode is NEVER
59
+ * 'project' or 'govern'. The reader fails closed to 'observe'.
60
+ */
61
+ export interface ManifestStatus {
62
+ /** Effective authority mode after defaults applied. */
63
+ mode: AuthorityMode;
64
+ /** Surfaces list; empty array when manifest is absent or `surfaces` key missing. */
65
+ surfaces: string[];
66
+ /** Per-asset lock overrides; empty object when absent. */
67
+ lock: Record<string, LockLevel>;
68
+ /** Parse-status discriminator. */
69
+ parseStatus: ManifestParseStatus;
70
+ /**
71
+ * The underlying parsed `Manifest` when `parseStatus === 'ok'`, else null.
72
+ * Callers needing legacy fields (adopted/rejected/hooks/method_source) read
73
+ * them from this object — keeps the legacy `readManifest()` shape intact
74
+ * while exposing the WP-421 typed contract through `mode`/`surfaces`/`lock`.
75
+ */
76
+ manifest: Manifest | null;
21
77
  }
22
78
  /**
23
79
  * Read .productbrain/manifest.yaml.
24
80
  * Returns null if the file is absent or unparseable (treat as no-op).
81
+ *
82
+ * Legacy reader — kept for callers that only need adoption-state filtering.
83
+ * WP-421 callers should prefer `readManifestStatus()` for typed authority
84
+ * mode + parse-status discriminator.
25
85
  */
26
86
  export declare function readManifest(productbrainDir: string): Manifest | null;
87
+ /**
88
+ * Read manifest with full WP-421 authority typing (#35).
89
+ *
90
+ * Returns the FULL UNION of legacy + DEC-951 keys plus a `parseStatus`
91
+ * discriminator. Defaults per DEC-955 / DEC-963:
92
+ * - `.productbrain/` directory absent → mode='off', parseStatus='absent'
93
+ * - Directory present, manifest absent → mode='observe', parseStatus='absent'
94
+ * - Manifest present, no `materialize:` → mode='observe', parseStatus='ok'
95
+ * - Manifest unparseable / fails shape validation → mode='observe',
96
+ * parseStatus='unparseable' (NEVER 'project'/'govern' — fail closed).
97
+ *
98
+ * @param productbrainDir Absolute path to the `.productbrain/` directory.
99
+ * The directory itself MAY be absent — caller passes the candidate path
100
+ * regardless and this reader infers the mode from filesystem state.
101
+ */
102
+ export declare function readManifestStatus(productbrainDir: string): ManifestStatus;
27
103
  /**
28
104
  * Filter a list of items by the manifest's adopted/rejected lists.
29
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/generators/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AA4GD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAmBrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,CAAC,EAAE,CAgBL"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/generators/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErE,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9D,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;AAElE,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChC,kCAAkC;IAClC,WAAW,EAAE,mBAAmB,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3B;AA8KD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAUrE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,cAAc,CAyC1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,CAAC,EAAE,CAgBL"}
@@ -1,6 +1,10 @@
1
1
  /**
2
2
  * Manifest reader — reads .productbrain/manifest.yaml for adoption state.
3
3
  * WP-310 E1: personal workspace layer — manifest-based filtering.
4
+ * WP-421 S1 (#35): extends Manifest with DEC-951 authority keys (`materialize`,
5
+ * `surfaces`, `lock`) and adds `readManifestStatus()` — a typed reader that
6
+ * returns the FULL UNION of legacy + new fields plus a `parseStatus`
7
+ * discriminator (DEC-955, DEC-963 "Authority mode parse semantics").
4
8
  *
5
9
  * No external YAML dependency is required; the manifest schema is
6
10
  * simple enough to parse with a minimal line-by-line parser.
@@ -110,9 +114,75 @@ function parseScalar(val) {
110
114
  return stripped;
111
115
  }
112
116
  // ── Public API ─────────────────────────────────────────────────────────
117
+ /** Valid AuthorityMode values, derived once for runtime guards. */
118
+ const VALID_AUTHORITY_MODES = new Set([
119
+ 'off',
120
+ 'observe',
121
+ 'project',
122
+ 'govern',
123
+ ]);
124
+ /** Valid LockLevel values. */
125
+ const VALID_LOCK_LEVELS = new Set([
126
+ 'platform',
127
+ 'workspace',
128
+ 'personal',
129
+ ]);
130
+ /**
131
+ * Validate a parsed manifest object against the union schema.
132
+ * Returns the typed Manifest on success, null on any shape violation.
133
+ *
134
+ * Shared between `readManifest()` and `readManifestStatus()` so legacy
135
+ * callers and the WP-421 typed reader agree on what counts as parseable.
136
+ */
137
+ function validateManifestShape(parsed) {
138
+ // Require version to be a string; reject missing or non-string values
139
+ if (typeof parsed.version !== 'string')
140
+ return null;
141
+ // Validate array fields — scalar values (e.g. adopted: "rule-a") must be rejected
142
+ if (parsed.adopted !== undefined && !Array.isArray(parsed.adopted))
143
+ return null;
144
+ if (parsed.rejected !== undefined && !Array.isArray(parsed.rejected))
145
+ return null;
146
+ // Validate method_source if present — only 'chain' | 'bundled' are valid
147
+ if (parsed.method_source !== undefined &&
148
+ parsed.method_source !== 'chain' &&
149
+ parsed.method_source !== 'bundled')
150
+ return null;
151
+ // ── WP-421 S1 — DEC-951 keys ─────────────────────────────────────────
152
+ // materialize: optional; if present, must be a known AuthorityMode.
153
+ if (parsed.materialize !== undefined &&
154
+ !(typeof parsed.materialize === 'string' && VALID_AUTHORITY_MODES.has(parsed.materialize))) {
155
+ return null;
156
+ }
157
+ // surfaces: optional; if present, must be an array of strings.
158
+ if (parsed.surfaces !== undefined) {
159
+ if (!Array.isArray(parsed.surfaces))
160
+ return null;
161
+ if (!parsed.surfaces.every((s) => typeof s === 'string'))
162
+ return null;
163
+ }
164
+ // lock: optional; if present, must be a plain object whose values are valid LockLevels.
165
+ if (parsed.lock !== undefined) {
166
+ if (parsed.lock === null ||
167
+ typeof parsed.lock !== 'object' ||
168
+ Array.isArray(parsed.lock)) {
169
+ return null;
170
+ }
171
+ for (const value of Object.values(parsed.lock)) {
172
+ if (typeof value !== 'string' || !VALID_LOCK_LEVELS.has(value)) {
173
+ return null;
174
+ }
175
+ }
176
+ }
177
+ return parsed;
178
+ }
113
179
  /**
114
180
  * Read .productbrain/manifest.yaml.
115
181
  * Returns null if the file is absent or unparseable (treat as no-op).
182
+ *
183
+ * Legacy reader — kept for callers that only need adoption-state filtering.
184
+ * WP-421 callers should prefer `readManifestStatus()` for typed authority
185
+ * mode + parse-status discriminator.
116
186
  */
117
187
  export function readManifest(productbrainDir) {
118
188
  const manifestPath = join(productbrainDir, 'manifest.yaml');
@@ -121,25 +191,66 @@ export function readManifest(productbrainDir) {
121
191
  try {
122
192
  const raw = readFileSync(manifestPath, 'utf8');
123
193
  const parsed = parseManifestYaml(raw);
124
- // Require version to be a string; reject missing or non-string values
125
- if (typeof parsed.version !== 'string')
126
- return null;
127
- // Validate array fields — scalar values (e.g. adopted: "rule-a") must be rejected
128
- if (parsed.adopted !== undefined && !Array.isArray(parsed.adopted))
129
- return null;
130
- if (parsed.rejected !== undefined && !Array.isArray(parsed.rejected))
131
- return null;
132
- // Validate method_source if present — only 'chain' | 'bundled' are valid
133
- if (parsed.method_source !== undefined &&
134
- parsed.method_source !== 'chain' &&
135
- parsed.method_source !== 'bundled')
136
- return null;
137
- return parsed;
194
+ return validateManifestShape(parsed);
138
195
  }
139
196
  catch {
140
197
  return null; // malformed manifest = treat as absent
141
198
  }
142
199
  }
200
+ /**
201
+ * Read manifest with full WP-421 authority typing (#35).
202
+ *
203
+ * Returns the FULL UNION of legacy + DEC-951 keys plus a `parseStatus`
204
+ * discriminator. Defaults per DEC-955 / DEC-963:
205
+ * - `.productbrain/` directory absent → mode='off', parseStatus='absent'
206
+ * - Directory present, manifest absent → mode='observe', parseStatus='absent'
207
+ * - Manifest present, no `materialize:` → mode='observe', parseStatus='ok'
208
+ * - Manifest unparseable / fails shape validation → mode='observe',
209
+ * parseStatus='unparseable' (NEVER 'project'/'govern' — fail closed).
210
+ *
211
+ * @param productbrainDir Absolute path to the `.productbrain/` directory.
212
+ * The directory itself MAY be absent — caller passes the candidate path
213
+ * regardless and this reader infers the mode from filesystem state.
214
+ */
215
+ export function readManifestStatus(productbrainDir) {
216
+ // No `.productbrain/` directory at all → mode 'off' (DEC-955).
217
+ if (!existsSync(productbrainDir)) {
218
+ return { mode: 'off', surfaces: [], lock: {}, parseStatus: 'absent', manifest: null };
219
+ }
220
+ const manifestPath = join(productbrainDir, 'manifest.yaml');
221
+ // Directory present but no manifest file → mode 'observe', absent.
222
+ if (!existsSync(manifestPath)) {
223
+ return { mode: 'observe', surfaces: [], lock: {}, parseStatus: 'absent', manifest: null };
224
+ }
225
+ let raw;
226
+ try {
227
+ raw = readFileSync(manifestPath, 'utf8');
228
+ }
229
+ catch {
230
+ // I/O failure — treat as unparseable, fail closed to observe (DEC-963).
231
+ return { mode: 'observe', surfaces: [], lock: {}, parseStatus: 'unparseable', manifest: null };
232
+ }
233
+ let parsed;
234
+ try {
235
+ parsed = parseManifestYaml(raw);
236
+ }
237
+ catch {
238
+ return { mode: 'observe', surfaces: [], lock: {}, parseStatus: 'unparseable', manifest: null };
239
+ }
240
+ const validated = validateManifestShape(parsed);
241
+ if (validated === null) {
242
+ // Shape violation (e.g. invalid materialize value, malformed lock map).
243
+ // Fail closed to observe per DEC-963 — NEVER project/govern.
244
+ return { mode: 'observe', surfaces: [], lock: {}, parseStatus: 'unparseable', manifest: null };
245
+ }
246
+ return {
247
+ mode: validated.materialize ?? 'observe',
248
+ surfaces: validated.surfaces ?? [],
249
+ lock: validated.lock ?? {},
250
+ parseStatus: 'ok',
251
+ manifest: validated,
252
+ };
253
+ }
143
254
  /**
144
255
  * Filter a list of items by the manifest's adopted/rejected lists.
145
256
  *