@productbrain/cli 0.1.0-beta.96 → 0.1.0-beta.978

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 (422) 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__/authority-domains.test.js +3 -0
  4. package/dist/__tests__/authority-domains.test.js.map +1 -1
  5. package/dist/__tests__/canonicalRefs.vocab.test.d.ts +2 -0
  6. package/dist/__tests__/canonicalRefs.vocab.test.d.ts.map +1 -0
  7. package/dist/__tests__/canonicalRefs.vocab.test.js +251 -0
  8. package/dist/__tests__/canonicalRefs.vocab.test.js.map +1 -0
  9. package/dist/__tests__/config.test.js +272 -2
  10. package/dist/__tests__/config.test.js.map +1 -1
  11. package/dist/__tests__/constants.test.js +6 -1
  12. package/dist/__tests__/constants.test.js.map +1 -1
  13. package/dist/__tests__/envelope-contract.test.js +29 -3
  14. package/dist/__tests__/envelope-contract.test.js.map +1 -1
  15. package/dist/__tests__/errors.test.js +1 -0
  16. package/dist/__tests__/errors.test.js.map +1 -1
  17. package/dist/__tests__/handshake-augment.test.d.ts +2 -0
  18. package/dist/__tests__/handshake-augment.test.d.ts.map +1 -0
  19. package/dist/__tests__/handshake-augment.test.js +423 -0
  20. package/dist/__tests__/handshake-augment.test.js.map +1 -0
  21. package/dist/__tests__/handshake-dormancy.test.d.ts +2 -0
  22. package/dist/__tests__/handshake-dormancy.test.d.ts.map +1 -0
  23. package/dist/__tests__/handshake-dormancy.test.js +207 -0
  24. package/dist/__tests__/handshake-dormancy.test.js.map +1 -0
  25. package/dist/__tests__/handshake-formatter.test.d.ts +2 -0
  26. package/dist/__tests__/handshake-formatter.test.d.ts.map +1 -0
  27. package/dist/__tests__/handshake-formatter.test.js +67 -0
  28. package/dist/__tests__/handshake-formatter.test.js.map +1 -0
  29. package/dist/__tests__/handshake-preview.test.js +566 -4
  30. package/dist/__tests__/handshake-preview.test.js.map +1 -1
  31. package/dist/__tests__/handshake.e2e.test.d.ts +2 -0
  32. package/dist/__tests__/handshake.e2e.test.d.ts.map +1 -0
  33. package/dist/__tests__/handshake.e2e.test.js +1252 -0
  34. package/dist/__tests__/handshake.e2e.test.js.map +1 -0
  35. package/dist/__tests__/handshake.test.js +611 -2
  36. package/dist/__tests__/handshake.test.js.map +1 -1
  37. package/dist/__tests__/manifest.test.js +118 -1
  38. package/dist/__tests__/manifest.test.js.map +1 -1
  39. package/dist/__tests__/notice-marker.test.d.ts +2 -0
  40. package/dist/__tests__/notice-marker.test.d.ts.map +1 -0
  41. package/dist/__tests__/notice-marker.test.js +41 -0
  42. package/dist/__tests__/notice-marker.test.js.map +1 -0
  43. package/dist/__tests__/onboarding-path-b.test.js +4 -4
  44. package/dist/__tests__/onboarding-path-b.test.js.map +1 -1
  45. package/dist/__tests__/orient.test.js +184 -7
  46. package/dist/__tests__/orient.test.js.map +1 -1
  47. package/dist/__tests__/perimeter.test.d.ts +2 -0
  48. package/dist/__tests__/perimeter.test.d.ts.map +1 -0
  49. package/dist/__tests__/perimeter.test.js +165 -0
  50. package/dist/__tests__/perimeter.test.js.map +1 -0
  51. package/dist/__tests__/personal-layer.test.d.ts +1 -2
  52. package/dist/__tests__/personal-layer.test.d.ts.map +1 -1
  53. package/dist/__tests__/personal-layer.test.js +12 -48
  54. package/dist/__tests__/personal-layer.test.js.map +1 -1
  55. package/dist/__tests__/profiles.test.js +122 -7
  56. package/dist/__tests__/profiles.test.js.map +1 -1
  57. package/dist/__tests__/promote.test.js +2 -2
  58. package/dist/__tests__/promote.test.js.map +1 -1
  59. package/dist/__tests__/session-state-machine.test.js +45 -1
  60. package/dist/__tests__/session-state-machine.test.js.map +1 -1
  61. package/dist/__tests__/session-switch.test.d.ts +2 -0
  62. package/dist/__tests__/session-switch.test.d.ts.map +1 -0
  63. package/dist/__tests__/session-switch.test.js +129 -0
  64. package/dist/__tests__/session-switch.test.js.map +1 -0
  65. package/dist/__tests__/setup-ingest.test.js +16 -0
  66. package/dist/__tests__/setup-ingest.test.js.map +1 -1
  67. package/dist/__tests__/skill-vocabulary.test.d.ts +21 -0
  68. package/dist/__tests__/skill-vocabulary.test.d.ts.map +1 -0
  69. package/dist/__tests__/skill-vocabulary.test.js +187 -0
  70. package/dist/__tests__/skill-vocabulary.test.js.map +1 -0
  71. package/dist/__tests__/update-check.test.d.ts +2 -0
  72. package/dist/__tests__/update-check.test.d.ts.map +1 -0
  73. package/dist/__tests__/update-check.test.js +215 -0
  74. package/dist/__tests__/update-check.test.js.map +1 -0
  75. package/dist/__tests__/upgrade-runner.test.d.ts +2 -0
  76. package/dist/__tests__/upgrade-runner.test.d.ts.map +1 -0
  77. package/dist/__tests__/upgrade-runner.test.js +54 -0
  78. package/dist/__tests__/upgrade-runner.test.js.map +1 -0
  79. package/dist/__tests__/upgrade.test.d.ts +2 -0
  80. package/dist/__tests__/upgrade.test.d.ts.map +1 -0
  81. package/dist/__tests__/upgrade.test.js +56 -0
  82. package/dist/__tests__/upgrade.test.js.map +1 -0
  83. package/dist/__tests__/vocabulary-leak.test.d.ts +39 -0
  84. package/dist/__tests__/vocabulary-leak.test.d.ts.map +1 -0
  85. package/dist/__tests__/vocabulary-leak.test.js +534 -0
  86. package/dist/__tests__/vocabulary-leak.test.js.map +1 -0
  87. package/dist/__tests__/workspace.test.js +32 -12
  88. package/dist/__tests__/workspace.test.js.map +1 -1
  89. package/dist/commands/__tests__/connect-handoff.test.d.ts +11 -0
  90. package/dist/commands/__tests__/connect-handoff.test.d.ts.map +1 -0
  91. package/dist/commands/__tests__/connect-handoff.test.js +111 -0
  92. package/dist/commands/__tests__/connect-handoff.test.js.map +1 -0
  93. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts +15 -0
  94. package/dist/commands/__tests__/setup-detect-surfaces.test.d.ts.map +1 -0
  95. package/dist/commands/__tests__/setup-detect-surfaces.test.js +149 -0
  96. package/dist/commands/__tests__/setup-detect-surfaces.test.js.map +1 -0
  97. package/dist/commands/__tests__/setup-state.test.d.ts +2 -0
  98. package/dist/commands/__tests__/setup-state.test.d.ts.map +1 -0
  99. package/dist/commands/__tests__/setup-state.test.js +194 -0
  100. package/dist/commands/__tests__/setup-state.test.js.map +1 -0
  101. package/dist/commands/admin/seed.d.ts +46 -2
  102. package/dist/commands/admin/seed.d.ts.map +1 -1
  103. package/dist/commands/admin/seed.js +475 -33
  104. package/dist/commands/admin/seed.js.map +1 -1
  105. package/dist/commands/admin/seed.test.d.ts +5 -0
  106. package/dist/commands/admin/seed.test.d.ts.map +1 -1
  107. package/dist/commands/admin/seed.test.js +67 -2
  108. package/dist/commands/admin/seed.test.js.map +1 -1
  109. package/dist/commands/admin/seedRegistryEntries.generated.d.ts +14 -0
  110. package/dist/commands/admin/seedRegistryEntries.generated.d.ts.map +1 -0
  111. package/dist/commands/admin/seedRegistryEntries.generated.js +117 -0
  112. package/dist/commands/admin/seedRegistryEntries.generated.js.map +1 -0
  113. package/dist/commands/admin/seedRegistryEntries.test.d.ts +11 -0
  114. package/dist/commands/admin/seedRegistryEntries.test.d.ts.map +1 -0
  115. package/dist/commands/admin/seedRegistryEntries.test.js +67 -0
  116. package/dist/commands/admin/seedRegistryEntries.test.js.map +1 -0
  117. package/dist/commands/audit.d.ts.map +1 -1
  118. package/dist/commands/audit.js +30 -3
  119. package/dist/commands/audit.js.map +1 -1
  120. package/dist/commands/authority-domains.d.ts +25 -1
  121. package/dist/commands/authority-domains.d.ts.map +1 -1
  122. package/dist/commands/authority-domains.js +51 -4
  123. package/dist/commands/authority-domains.js.map +1 -1
  124. package/dist/commands/capture.d.ts.map +1 -1
  125. package/dist/commands/capture.js +3 -2
  126. package/dist/commands/capture.js.map +1 -1
  127. package/dist/commands/codex-prep.d.ts +1 -0
  128. package/dist/commands/codex-prep.d.ts.map +1 -1
  129. package/dist/commands/codex-prep.js +10 -7
  130. package/dist/commands/codex-prep.js.map +1 -1
  131. package/dist/commands/connect-config.test.d.ts +2 -0
  132. package/dist/commands/connect-config.test.d.ts.map +1 -0
  133. package/dist/commands/connect-config.test.js +44 -0
  134. package/dist/commands/connect-config.test.js.map +1 -0
  135. package/dist/commands/connect-context.d.ts +45 -0
  136. package/dist/commands/connect-context.d.ts.map +1 -0
  137. package/dist/commands/connect-context.js +64 -0
  138. package/dist/commands/connect-context.js.map +1 -0
  139. package/dist/commands/connect-context.test.d.ts +2 -0
  140. package/dist/commands/connect-context.test.d.ts.map +1 -0
  141. package/dist/commands/connect-context.test.js +110 -0
  142. package/dist/commands/connect-context.test.js.map +1 -0
  143. package/dist/commands/connect-handoff.d.ts +51 -0
  144. package/dist/commands/connect-handoff.d.ts.map +1 -0
  145. package/dist/commands/connect-handoff.js +70 -0
  146. package/dist/commands/connect-handoff.js.map +1 -0
  147. package/dist/commands/connect-integration.test.js +29 -12
  148. package/dist/commands/connect-integration.test.js.map +1 -1
  149. package/dist/commands/connect-screens.d.ts +6 -4
  150. package/dist/commands/connect-screens.d.ts.map +1 -1
  151. package/dist/commands/connect-screens.js +30 -19
  152. package/dist/commands/connect-screens.js.map +1 -1
  153. package/dist/commands/connect.d.ts +21 -6
  154. package/dist/commands/connect.d.ts.map +1 -1
  155. package/dist/commands/connect.js +65 -58
  156. package/dist/commands/connect.js.map +1 -1
  157. package/dist/commands/connect.test.js +17 -1
  158. package/dist/commands/connect.test.js.map +1 -1
  159. package/dist/commands/doctor.d.ts.map +1 -1
  160. package/dist/commands/doctor.js +68 -3
  161. package/dist/commands/doctor.js.map +1 -1
  162. package/dist/commands/doctor.test.js +150 -0
  163. package/dist/commands/doctor.test.js.map +1 -1
  164. package/dist/commands/handshake.d.ts +194 -2
  165. package/dist/commands/handshake.d.ts.map +1 -1
  166. package/dist/commands/handshake.js +1537 -46
  167. package/dist/commands/handshake.js.map +1 -1
  168. package/dist/commands/method.d.ts.map +1 -1
  169. package/dist/commands/method.js +3 -0
  170. package/dist/commands/method.js.map +1 -1
  171. package/dist/commands/orient.d.ts +63 -2
  172. package/dist/commands/orient.d.ts.map +1 -1
  173. package/dist/commands/orient.js +106 -4
  174. package/dist/commands/orient.js.map +1 -1
  175. package/dist/commands/profile.d.ts +1 -14
  176. package/dist/commands/profile.d.ts.map +1 -1
  177. package/dist/commands/profile.js +89 -72
  178. package/dist/commands/profile.js.map +1 -1
  179. package/dist/commands/promote.js +1 -1
  180. package/dist/commands/promote.js.map +1 -1
  181. package/dist/commands/relate.d.ts.map +1 -1
  182. package/dist/commands/relate.js +13 -0
  183. package/dist/commands/relate.js.map +1 -1
  184. package/dist/commands/session.d.ts.map +1 -1
  185. package/dist/commands/session.js +51 -14
  186. package/dist/commands/session.js.map +1 -1
  187. package/dist/commands/setup-audit.d.ts +59 -0
  188. package/dist/commands/setup-audit.d.ts.map +1 -0
  189. package/dist/commands/setup-audit.js +250 -0
  190. package/dist/commands/setup-audit.js.map +1 -0
  191. package/dist/commands/setup-detect-surfaces.d.ts +38 -0
  192. package/dist/commands/setup-detect-surfaces.d.ts.map +1 -0
  193. package/dist/commands/setup-detect-surfaces.js +76 -0
  194. package/dist/commands/setup-detect-surfaces.js.map +1 -0
  195. package/dist/commands/setup-ingest.d.ts.map +1 -1
  196. package/dist/commands/setup-ingest.js +4 -2
  197. package/dist/commands/setup-ingest.js.map +1 -1
  198. package/dist/commands/setup-state.d.ts +42 -0
  199. package/dist/commands/setup-state.d.ts.map +1 -0
  200. package/dist/commands/setup-state.js +93 -0
  201. package/dist/commands/setup-state.js.map +1 -0
  202. package/dist/commands/setup.d.ts +17 -9
  203. package/dist/commands/setup.d.ts.map +1 -1
  204. package/dist/commands/setup.js +52 -131
  205. package/dist/commands/setup.js.map +1 -1
  206. package/dist/commands/upgrade.d.ts +5 -0
  207. package/dist/commands/upgrade.d.ts.map +1 -0
  208. package/dist/commands/upgrade.js +110 -0
  209. package/dist/commands/upgrade.js.map +1 -0
  210. package/dist/commands/whoami.d.ts +12 -0
  211. package/dist/commands/whoami.d.ts.map +1 -0
  212. package/dist/commands/whoami.js +70 -0
  213. package/dist/commands/whoami.js.map +1 -0
  214. package/dist/commands/whoami.test.d.ts +2 -0
  215. package/dist/commands/whoami.test.d.ts.map +1 -0
  216. package/dist/commands/whoami.test.js +50 -0
  217. package/dist/commands/whoami.test.js.map +1 -0
  218. package/dist/commands/workspace.d.ts +23 -2
  219. package/dist/commands/workspace.d.ts.map +1 -1
  220. package/dist/commands/workspace.js +2 -2
  221. package/dist/commands/workspace.js.map +1 -1
  222. package/dist/formatters/__tests__/orient-provenance.test.d.ts +7 -0
  223. package/dist/formatters/__tests__/orient-provenance.test.d.ts.map +1 -0
  224. package/dist/formatters/__tests__/orient-provenance.test.js +454 -0
  225. package/dist/formatters/__tests__/orient-provenance.test.js.map +1 -0
  226. package/dist/formatters/audit.d.ts +6 -0
  227. package/dist/formatters/audit.d.ts.map +1 -1
  228. package/dist/formatters/audit.js.map +1 -1
  229. package/dist/formatters/entry.d.ts +21 -0
  230. package/dist/formatters/entry.d.ts.map +1 -1
  231. package/dist/formatters/entry.js +46 -5
  232. package/dist/formatters/entry.js.map +1 -1
  233. package/dist/formatters/handshake.d.ts +19 -3
  234. package/dist/formatters/handshake.d.ts.map +1 -1
  235. package/dist/formatters/handshake.js +48 -13
  236. package/dist/formatters/handshake.js.map +1 -1
  237. package/dist/formatters/orient.d.ts +79 -4
  238. package/dist/formatters/orient.d.ts.map +1 -1
  239. package/dist/formatters/orient.js +119 -18
  240. package/dist/formatters/orient.js.map +1 -1
  241. package/dist/formatters/session.js +1 -1
  242. package/dist/formatters/session.js.map +1 -1
  243. package/dist/generators/adapters.js +2 -2
  244. package/dist/generators/context-md.js +6 -6
  245. package/dist/generators/context-md.js.map +1 -1
  246. package/dist/generators/manifest.d.ts +76 -0
  247. package/dist/generators/manifest.d.ts.map +1 -1
  248. package/dist/generators/manifest.js +125 -14
  249. package/dist/generators/manifest.js.map +1 -1
  250. package/dist/generators/portable-knowledge.d.ts +6 -12
  251. package/dist/generators/portable-knowledge.d.ts.map +1 -1
  252. package/dist/generators/portable-knowledge.js +2 -19
  253. package/dist/generators/portable-knowledge.js.map +1 -1
  254. package/dist/generators/region-projections.d.ts +18 -0
  255. package/dist/generators/region-projections.d.ts.map +1 -0
  256. package/dist/generators/region-projections.js +49 -0
  257. package/dist/generators/region-projections.js.map +1 -0
  258. package/dist/generators/region-projections.test.d.ts +2 -0
  259. package/dist/generators/region-projections.test.d.ts.map +1 -0
  260. package/dist/generators/region-projections.test.js +63 -0
  261. package/dist/generators/region-projections.test.js.map +1 -0
  262. package/dist/generators/region.d.ts +24 -0
  263. package/dist/generators/region.d.ts.map +1 -0
  264. package/dist/generators/region.js +87 -0
  265. package/dist/generators/region.js.map +1 -0
  266. package/dist/generators/region.test.d.ts +2 -0
  267. package/dist/generators/region.test.d.ts.map +1 -0
  268. package/dist/generators/region.test.js +126 -0
  269. package/dist/generators/region.test.js.map +1 -0
  270. package/dist/generators/surface-profiles.d.ts +1 -2
  271. package/dist/generators/surface-profiles.d.ts.map +1 -1
  272. package/dist/generators/surface-profiles.js.map +1 -1
  273. package/dist/index.js +142 -27
  274. package/dist/index.js.map +1 -1
  275. package/dist/lib/activation.d.ts.map +1 -1
  276. package/dist/lib/activation.js +3 -3
  277. package/dist/lib/activation.js.map +1 -1
  278. package/dist/lib/activation.test.js +3 -3
  279. package/dist/lib/activation.test.js.map +1 -1
  280. package/dist/lib/canonicalRefs.d.ts +72 -0
  281. package/dist/lib/canonicalRefs.d.ts.map +1 -1
  282. package/dist/lib/canonicalRefs.js +67 -0
  283. package/dist/lib/canonicalRefs.js.map +1 -1
  284. package/dist/lib/client.d.ts.map +1 -1
  285. package/dist/lib/client.js +14 -4
  286. package/dist/lib/client.js.map +1 -1
  287. package/dist/lib/config.d.ts +70 -4
  288. package/dist/lib/config.d.ts.map +1 -1
  289. package/dist/lib/config.js +151 -11
  290. package/dist/lib/config.js.map +1 -1
  291. package/dist/lib/connectKeyLabel.d.ts +9 -0
  292. package/dist/lib/connectKeyLabel.d.ts.map +1 -0
  293. package/dist/lib/connectKeyLabel.js +12 -0
  294. package/dist/lib/connectKeyLabel.js.map +1 -0
  295. package/dist/lib/constants.d.ts +2 -0
  296. package/dist/lib/constants.d.ts.map +1 -1
  297. package/dist/lib/constants.js +2 -0
  298. package/dist/lib/constants.js.map +1 -1
  299. package/dist/lib/errors.d.ts +3 -0
  300. package/dist/lib/errors.d.ts.map +1 -1
  301. package/dist/lib/errors.js +3 -0
  302. package/dist/lib/errors.js.map +1 -1
  303. package/dist/lib/normalizeMaterializedFilename.d.ts +28 -0
  304. package/dist/lib/normalizeMaterializedFilename.d.ts.map +1 -0
  305. package/dist/lib/normalizeMaterializedFilename.js +56 -0
  306. package/dist/lib/normalizeMaterializedFilename.js.map +1 -0
  307. package/dist/lib/normalizeMaterializedFilename.test.d.ts +16 -0
  308. package/dist/lib/normalizeMaterializedFilename.test.d.ts.map +1 -0
  309. package/dist/lib/normalizeMaterializedFilename.test.js +90 -0
  310. package/dist/lib/normalizeMaterializedFilename.test.js.map +1 -0
  311. package/dist/lib/notice-marker.d.ts +3 -0
  312. package/dist/lib/notice-marker.d.ts.map +1 -0
  313. package/dist/lib/notice-marker.js +53 -0
  314. package/dist/lib/notice-marker.js.map +1 -0
  315. package/dist/lib/onboarding-path-b.d.ts.map +1 -1
  316. package/dist/lib/onboarding-path-b.js +0 -1
  317. package/dist/lib/onboarding-path-b.js.map +1 -1
  318. package/dist/lib/onboarding-shared.d.ts +0 -1
  319. package/dist/lib/onboarding-shared.d.ts.map +1 -1
  320. package/dist/lib/onboarding-shared.js +1 -17
  321. package/dist/lib/onboarding-shared.js.map +1 -1
  322. package/dist/lib/profiles.d.ts +3 -1
  323. package/dist/lib/profiles.d.ts.map +1 -1
  324. package/dist/lib/profiles.js +9 -6
  325. package/dist/lib/profiles.js.map +1 -1
  326. package/dist/lib/session.d.ts +10 -0
  327. package/dist/lib/session.d.ts.map +1 -1
  328. package/dist/lib/session.js +14 -0
  329. package/dist/lib/session.js.map +1 -1
  330. package/dist/lib/update-check.d.ts +42 -7
  331. package/dist/lib/update-check.d.ts.map +1 -1
  332. package/dist/lib/update-check.js +213 -62
  333. package/dist/lib/update-check.js.map +1 -1
  334. package/dist/lib/upgrade-runner.d.ts +22 -0
  335. package/dist/lib/upgrade-runner.d.ts.map +1 -0
  336. package/dist/lib/upgrade-runner.js +110 -0
  337. package/dist/lib/upgrade-runner.js.map +1 -0
  338. package/dist/lib/workspaceVocabCache.d.ts +60 -0
  339. package/dist/lib/workspaceVocabCache.d.ts.map +1 -0
  340. package/dist/lib/workspaceVocabCache.js +98 -0
  341. package/dist/lib/workspaceVocabCache.js.map +1 -0
  342. package/dist/setup/__tests__/coach-traces.test.d.ts +2 -0
  343. package/dist/setup/__tests__/coach-traces.test.d.ts.map +1 -0
  344. package/dist/setup/__tests__/coach-traces.test.js +189 -0
  345. package/dist/setup/__tests__/coach-traces.test.js.map +1 -0
  346. package/dist/setup/__tests__/setup-commands.test.d.ts +2 -0
  347. package/dist/setup/__tests__/setup-commands.test.d.ts.map +1 -0
  348. package/dist/setup/__tests__/setup-commands.test.js +177 -0
  349. package/dist/setup/__tests__/setup-commands.test.js.map +1 -0
  350. package/dist/setup/__tests__/state-machine.test.d.ts +2 -0
  351. package/dist/setup/__tests__/state-machine.test.d.ts.map +1 -0
  352. package/dist/setup/__tests__/state-machine.test.js +341 -0
  353. package/dist/setup/__tests__/state-machine.test.js.map +1 -0
  354. package/dist/setup/detect-surfaces.d.ts +21 -0
  355. package/dist/setup/detect-surfaces.d.ts.map +1 -0
  356. package/dist/setup/detect-surfaces.js +39 -0
  357. package/dist/setup/detect-surfaces.js.map +1 -0
  358. package/dist/setup/manifest-writer.d.ts +17 -0
  359. package/dist/setup/manifest-writer.d.ts.map +1 -0
  360. package/dist/setup/manifest-writer.js +153 -0
  361. package/dist/setup/manifest-writer.js.map +1 -0
  362. package/dist/setup/perimeter.d.ts +72 -0
  363. package/dist/setup/perimeter.d.ts.map +1 -0
  364. package/dist/setup/perimeter.js +128 -0
  365. package/dist/setup/perimeter.js.map +1 -0
  366. package/dist/setup/state-machine.d.ts +67 -0
  367. package/dist/setup/state-machine.d.ts.map +1 -0
  368. package/dist/setup/state-machine.js +124 -0
  369. package/dist/setup/state-machine.js.map +1 -0
  370. package/dist/surfaces/__tests__/adapter.test.d.ts +2 -0
  371. package/dist/surfaces/__tests__/adapter.test.d.ts.map +1 -0
  372. package/dist/surfaces/__tests__/adapter.test.js +90 -0
  373. package/dist/surfaces/__tests__/adapter.test.js.map +1 -0
  374. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts +2 -0
  375. package/dist/surfaces/__tests__/pb-setup-passthrough.test.d.ts.map +1 -0
  376. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js +132 -0
  377. package/dist/surfaces/__tests__/pb-setup-passthrough.test.js.map +1 -0
  378. package/dist/surfaces/__tests__/telemetry.test.d.ts +2 -0
  379. package/dist/surfaces/__tests__/telemetry.test.d.ts.map +1 -0
  380. package/dist/surfaces/__tests__/telemetry.test.js +55 -0
  381. package/dist/surfaces/__tests__/telemetry.test.js.map +1 -0
  382. package/dist/surfaces/adapter.d.ts +70 -0
  383. package/dist/surfaces/adapter.d.ts.map +1 -0
  384. package/dist/surfaces/adapter.js +2 -0
  385. package/dist/surfaces/adapter.js.map +1 -0
  386. package/dist/surfaces/adapters/claude.d.ts +3 -0
  387. package/dist/surfaces/adapters/claude.d.ts.map +1 -0
  388. package/dist/surfaces/adapters/claude.js +67 -0
  389. package/dist/surfaces/adapters/claude.js.map +1 -0
  390. package/dist/surfaces/adapters/codex.d.ts +3 -0
  391. package/dist/surfaces/adapters/codex.d.ts.map +1 -0
  392. package/dist/surfaces/adapters/codex.js +61 -0
  393. package/dist/surfaces/adapters/codex.js.map +1 -0
  394. package/dist/surfaces/adapters/copilot.d.ts +3 -0
  395. package/dist/surfaces/adapters/copilot.d.ts.map +1 -0
  396. package/dist/surfaces/adapters/copilot.js +59 -0
  397. package/dist/surfaces/adapters/copilot.js.map +1 -0
  398. package/dist/surfaces/adapters/cursor.d.ts +3 -0
  399. package/dist/surfaces/adapters/cursor.d.ts.map +1 -0
  400. package/dist/surfaces/adapters/cursor.js +78 -0
  401. package/dist/surfaces/adapters/cursor.js.map +1 -0
  402. package/dist/surfaces/registry.d.ts +58 -2
  403. package/dist/surfaces/registry.d.ts.map +1 -1
  404. package/dist/surfaces/registry.js +82 -7
  405. package/dist/surfaces/registry.js.map +1 -1
  406. package/dist/surfaces/telemetry.d.ts +17 -0
  407. package/dist/surfaces/telemetry.d.ts.map +1 -0
  408. package/dist/surfaces/telemetry.js +31 -0
  409. package/dist/surfaces/telemetry.js.map +1 -0
  410. package/package.json +3 -1
  411. package/dist/__tests__/setup.test.d.ts +0 -2
  412. package/dist/__tests__/setup.test.d.ts.map +0 -1
  413. package/dist/__tests__/setup.test.js +0 -141
  414. package/dist/__tests__/setup.test.js.map +0 -1
  415. package/dist/generators/__tests__/surface-profiles.test.d.ts +0 -2
  416. package/dist/generators/__tests__/surface-profiles.test.d.ts.map +0 -1
  417. package/dist/generators/__tests__/surface-profiles.test.js +0 -89
  418. package/dist/generators/__tests__/surface-profiles.test.js.map +0 -1
  419. package/dist/lib/onboarding-phases.d.ts +0 -9
  420. package/dist/lib/onboarding-phases.d.ts.map +0 -1
  421. package/dist/lib/onboarding-phases.js +0 -120
  422. package/dist/lib/onboarding-phases.js.map +0 -1
@@ -7,13 +7,13 @@
7
7
  */
8
8
  import { getConfigOrGuide } from '../lib/config.js';
9
9
  import { kernelCall } from '../lib/client.js';
10
- import { readSession, writeSession, clearSession, readClosedMarker } from '../lib/session.js';
10
+ import { readSession, writeSession, clearSession, discardSession, readClosedMarker } from '../lib/session.js';
11
11
  import { isJsonMode } from '../lib/runner.js';
12
12
  import { formatSessionStart, formatSessionClose } from '../formatters/session.js';
13
13
  import { runHandshake } from './handshake.js';
14
14
  import { CLIError, ErrorCode } from '../lib/errors.js';
15
15
  import { getActiveProfile } from '../lib/profiles.js';
16
- import { readLocalProjectConfig } from '../lib/config.js';
16
+ import { readLocalProjectConfig, resolveEffectiveProfile } from '../lib/config.js';
17
17
  /** 2-hour window for auto-resume (WP-322 E1). */
18
18
  const RESUME_WINDOW_MS = 2 * 60 * 60 * 1000;
19
19
  export async function runSessionStart(options = {}) {
@@ -22,10 +22,21 @@ export async function runSessionStart(options = {}) {
22
22
  return;
23
23
  // Support both legacy --json flag and global output mode (DEC-299, backward compat)
24
24
  const json = isJsonMode() || options.json === true;
25
+ // Effective profile for this start — used both for the switch-backstop decision and to
26
+ // stamp the session (one read, one value, so they can't disagree mid-start).
27
+ const effectiveProfile = resolveEffectiveProfile().profile;
25
28
  // Check for existing session
26
29
  const existing = readSession();
27
30
  if (existing) {
28
- if (json) {
31
+ // Backstop (TEN-2163): if the effective profile changed since this session started,
32
+ // it's pinned to the old workspace — discard it and start fresh. Local, offline-safe.
33
+ const currentProfile = effectiveProfile;
34
+ const switched = existing.profile && currentProfile && existing.profile !== currentProfile;
35
+ if (switched) {
36
+ discardSession();
37
+ // fall through to the fresh-start path below
38
+ }
39
+ else if (json) {
29
40
  process.stdout.write(JSON.stringify({
30
41
  sessionId: existing.sessionId,
31
42
  workspaceName: existing.workspaceName,
@@ -35,12 +46,14 @@ export async function runSessionStart(options = {}) {
35
46
  }) + '\n');
36
47
  return;
37
48
  }
38
- process.stdout.write(`Session already active: ${existing.sessionId}\n`);
39
- process.stdout.write(`Started: ${existing.startedAt}\n`);
40
- process.stdout.write(`Entries captured: ${existing.entriesCaptured.length}\n`);
41
- process.stdout.write('\n');
42
- process.stdout.write('Run `pb session close` to end it, or `pb session close --force` to force-close.\n');
43
- return;
49
+ else {
50
+ process.stdout.write(`Session already active: ${existing.sessionId}\n`);
51
+ process.stdout.write(`Started: ${existing.startedAt}\n`);
52
+ process.stdout.write(`Entries captured: ${existing.entriesCaptured.length}\n`);
53
+ process.stdout.write('\n');
54
+ process.stdout.write('Run `pb session close` to end it, or `pb session close --force` to force-close.\n');
55
+ return;
56
+ }
44
57
  }
45
58
  // WP-322 E1: Check for a recent closed session — auto-resume within 2h window
46
59
  const closedMarker = readClosedMarker();
@@ -65,6 +78,7 @@ export async function runSessionStart(options = {}) {
65
78
  workspaceName: resumed.workspaceName,
66
79
  startedAt: new Date().toISOString(),
67
80
  entriesCaptured: [],
81
+ profile: effectiveProfile ?? undefined,
68
82
  };
69
83
  writeSession(state);
70
84
  if (json) {
@@ -119,6 +133,7 @@ export async function runSessionStart(options = {}) {
119
133
  workspaceName: result.workspaceName,
120
134
  startedAt: new Date().toISOString(),
121
135
  entriesCaptured: [],
136
+ profile: effectiveProfile ?? undefined,
122
137
  };
123
138
  writeSession(state);
124
139
  if (json) {
@@ -168,7 +183,7 @@ export async function runSessionClose(options = {}) {
168
183
  await kernelCall('agent.recordWrapup', {
169
184
  sessionId: session.sessionId,
170
185
  draftsReviewed: entriesCount,
171
- draftsCommitted: 0, // CLI captures are drafts; user commits in Studio
186
+ draftsCommitted: 0, // CLI captures are drafts; user commits in Cortex
172
187
  linksCreated: 0,
173
188
  });
174
189
  }
@@ -186,18 +201,40 @@ export async function runSessionClose(options = {}) {
186
201
  }
187
202
  catch (err) {
188
203
  if (!options.force) {
189
- throw new CLIError(`Failed to close session: ${err instanceof Error ? err.message : String(err)}`, {
204
+ const detail = err instanceof Error ? err.message : String(err);
205
+ throw new CLIError(`Failed to close session: ${detail}. Run \`pb session close --force\` to clear local state anyway.`, {
190
206
  code: ErrorCode.NETWORK_UNREACHABLE,
191
207
  category: 'network',
192
- guidance: 'Use `pb session close --force` to clear local state anyway.',
208
+ guidance: 'Run `pb session close --force` to clear local state anyway.',
193
209
  });
194
210
  }
195
211
  }
196
212
  process.stdout.write(formatSessionClose(session) + '\n');
213
+ // WP-439 S6: surface unrepaired setup-asset receipts as a non-blocking
214
+ // advisory. Failures here are silent — never let a network blip or schema
215
+ // gap prevent a session from closing.
216
+ try {
217
+ const advisory = await kernelCall('setup.listFailedAuditReceipts', {});
218
+ if (advisory.total > 0) {
219
+ const preview = advisory.entries
220
+ .slice(0, 3)
221
+ .map((e) => `${e.entryId} (${e.status})`)
222
+ .join(', ');
223
+ const more = advisory.total > 3 ? ` and ${advisory.total - 3} more` : '';
224
+ process.stdout.write(`\nNote: ${advisory.total} unrepaired setup-asset receipt(s) on file — ${preview}${more}.\n` +
225
+ 'Run `pb setup-audit` to inspect; `pb setup-audit --repair` to retry.\n');
226
+ }
227
+ }
228
+ catch {
229
+ // Advisory call failure is non-fatal.
230
+ }
197
231
  // Clear local state
198
232
  clearSession();
199
- // Refresh context files so next session starts with updated knowledge
233
+ // Refresh context files so next session starts with updated knowledge.
234
+ // WP-439 S4: internal handshake runs lenient — strict-mode failures from an
235
+ // automatic refresh would block close; orphans are surfaced via the
236
+ // advisory above + `pb handshake` (called directly) instead.
200
237
  process.stdout.write('Refreshing context...\n');
201
- await runHandshake({ force: false, apply: true });
238
+ await runHandshake({ force: false, apply: true, lenient: true });
202
239
  }
203
240
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAqB,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAqB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAqB7E,iDAAiD;AACjD,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO5C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAGlC,EAAE;IACJ,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,oFAAoF;IACpF,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IAEnD,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,sBAAsB,EAAE,EAAE,OAAO,IAAI,gBAAgB,EAAE;aACvE,CAAC,GAAG,IAAI,CAAC,CAAC;YACX,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;QAC1G,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;YAC/B,4DAA4D;YAC5D,MAAM,WAAW,GAAG,MAAM,UAAU,CAAyB,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACrF,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAsB,qBAAqB,EAAE;oBAC3E,WAAW,EAAE,WAAW,CAAC,GAAG;oBAC5B,QAAQ,EAAE,WAAW,CAAC,KAAK;oBAC3B,iBAAiB,EAAE,YAAY,CAAC,SAAS;oBACzC,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAiB;oBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,WAAW,EAAE,WAAW,CAAC,GAAG;oBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,eAAe,EAAE,EAAE;iBACpB,CAAC;gBACF,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;wBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,OAAO,EAAE,IAAI;wBACb,uBAAuB,EAAE,YAAY,CAAC,SAAS;wBAC/C,aAAa,EAAE,sBAAsB,EAAE,EAAE,OAAO,IAAI,gBAAgB,EAAE;qBACvE,CAAC,GAAG,IAAI,CAAC,CAAC;oBACX,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,WAAW,GAAG,EAAE;oBACnC,CAAC,CAAC,GAAG,WAAW,OAAO;oBACvB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;gBAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,WAAW,YAAY,YAAY,KAAK,CAAC,CAAC;gBAChG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3H,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAChD,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,MAAM,UAAU,CAAyB,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnF,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,QAAQ,CAAC,wEAAwE,EAAE;YAC3F,IAAI,EAAE,SAAS,CAAC,YAAY;YAC5B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,oEAAoE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAqB,oBAAoB,EAAE;QACxE,WAAW,EAAE,SAAS,CAAC,GAAG;QAC1B,QAAQ,EAAE,SAAS,CAAC,KAAK;QACzB,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,KAAK,GAAiB;QAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,SAAS,CAAC,GAAG;QAC1B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,eAAe,EAAE,EAAE;KACpB,CAAC;IACF,YAAY,CAAC,KAAK,CAAC,CAAC;IAEpB,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,gBAAgB,EAAE;SAClC,CAAC,GAAG,IAAI,CAAC,CAAC;QACX,gCAAgC;QAChC,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,sBAAsB,EAAE,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAEnI,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAChD,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE;YACvC,IAAI,EAAE,SAAS,CAAC,gBAAgB;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,+BAA+B;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAA+B,EAAE;IACrE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;IACpD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,oBAAoB,EAAE;gBACrC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,cAAc,EAAE,YAAY;gBAC5B,eAAe,EAAE,CAAC,EAAE,kDAAkD;gBACtE,YAAY,EAAE,CAAC;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uDAAuD;YACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,oBAAoB,EAAE;YACrC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,QAAQ,CAChB,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC9E;gBACE,IAAI,EAAE,SAAS,CAAC,mBAAmB;gBACnC,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,6DAA6D;aACxE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzD,oBAAoB;IACpB,YAAY,EAAE,CAAC;IAEf,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAChD,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * `pb setup-audit` — WP-439 S2 (audit) + S3 (--repair).
3
+ *
4
+ * Operator preflight for handshake: classifies every setup_asset row in the
5
+ * caller's active workspace and surfaces orphaned bodies BEFORE handshake
6
+ * runs. With --repair, attempts a transactional fix for each orphan that has
7
+ * a canonical body in STARTER_* (class III and class II rows).
8
+ *
9
+ * Modes:
10
+ * pb setup-audit — human table; exit 1 if orphans > 0.
11
+ * pb setup-audit --json — machine-readable JSON; exit 1 if orphans > 0.
12
+ * pb setup-audit --repair — audit + attempt repair on III/II rows.
13
+ * Exit 1 if any repair genuinely fails (not
14
+ * counted: 'unrecoverable' — those are
15
+ * expected when no STARTER_* match exists).
16
+ *
17
+ * Server contract (see convex/setup.ts:auditAssetBodies, repairAssetBody):
18
+ * - Gateway derives workspaceId from the API key / JWT (injectSessionAuth).
19
+ * - Audit returns { summary, rows[] }. See `AuditResult` below.
20
+ * - Repair returns { status, newBodyStorageId, error, receiptId }.
21
+ *
22
+ * Notes:
23
+ * - Class 'i_inline_only' rows are NOT repaired by this slice (their body
24
+ * recovery comes from the inline `data.body` via a future bet, not from
25
+ * STARTER_*).
26
+ * - Class 'iv_hash_drift' rows are NOT repaired by this slice (out of scope
27
+ * for S3; resolution is per-row operator review).
28
+ *
29
+ * Auth: requires `pb login` / API key. No active write session needed.
30
+ */
31
+ export interface AuditRow {
32
+ entryId: string;
33
+ entryDocId: string;
34
+ assetKind: 'skill' | 'rule' | 'hook' | 'bundle';
35
+ name: string;
36
+ class: 'ok' | 'i_inline_only' | 'ii_unrecoverable' | 'iii_blob_missing' | 'iv_hash_drift';
37
+ bodyStorageId: string | null;
38
+ inlineBytes: number;
39
+ }
40
+ export interface AuditResult {
41
+ summary: {
42
+ total: number;
43
+ ok: number;
44
+ orphans: number;
45
+ byClass: {
46
+ i: number;
47
+ ii: number;
48
+ iii: number;
49
+ iv: number;
50
+ };
51
+ };
52
+ rows: AuditRow[];
53
+ }
54
+ export interface RunSetupAuditOptions {
55
+ json?: boolean;
56
+ repair?: boolean;
57
+ }
58
+ export declare function runSetupAudit(opts?: RunSetupAuditOptions): Promise<void>;
59
+ //# sourceMappingURL=setup-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-audit.d.ts","sourceRoot":"","sources":["../../src/commands/setup-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAkBH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,GAAG,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,eAAe,CAAC;IAC1F,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAC;IACF,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAsKD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAcD,wBAAsB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FlF"}
@@ -0,0 +1,250 @@
1
+ /**
2
+ * `pb setup-audit` — WP-439 S2 (audit) + S3 (--repair).
3
+ *
4
+ * Operator preflight for handshake: classifies every setup_asset row in the
5
+ * caller's active workspace and surfaces orphaned bodies BEFORE handshake
6
+ * runs. With --repair, attempts a transactional fix for each orphan that has
7
+ * a canonical body in STARTER_* (class III and class II rows).
8
+ *
9
+ * Modes:
10
+ * pb setup-audit — human table; exit 1 if orphans > 0.
11
+ * pb setup-audit --json — machine-readable JSON; exit 1 if orphans > 0.
12
+ * pb setup-audit --repair — audit + attempt repair on III/II rows.
13
+ * Exit 1 if any repair genuinely fails (not
14
+ * counted: 'unrecoverable' — those are
15
+ * expected when no STARTER_* match exists).
16
+ *
17
+ * Server contract (see convex/setup.ts:auditAssetBodies, repairAssetBody):
18
+ * - Gateway derives workspaceId from the API key / JWT (injectSessionAuth).
19
+ * - Audit returns { summary, rows[] }. See `AuditResult` below.
20
+ * - Repair returns { status, newBodyStorageId, error, receiptId }.
21
+ *
22
+ * Notes:
23
+ * - Class 'i_inline_only' rows are NOT repaired by this slice (their body
24
+ * recovery comes from the inline `data.body` via a future bet, not from
25
+ * STARTER_*).
26
+ * - Class 'iv_hash_drift' rows are NOT repaired by this slice (out of scope
27
+ * for S3; resolution is per-row operator review).
28
+ *
29
+ * Auth: requires `pb login` / API key. No active write session needed.
30
+ */
31
+ import { getConfigOrGuide } from '../lib/config.js';
32
+ import { kernelCall } from '../lib/client.js';
33
+ import { CLIError, ErrorCode } from '../lib/errors.js';
34
+ import { bold, dim, green, red, yellow, heading, icons, } from '../lib/style.js';
35
+ import { isJsonMode } from '../lib/runner.js';
36
+ // ── Formatting ───────────────────────────────────────────────────────────────
37
+ const CLASS_LABEL = {
38
+ ok: 'ok',
39
+ i_inline_only: 'I:inline-only',
40
+ ii_unrecoverable: 'II:unrecoverable',
41
+ iii_blob_missing: 'III:blob-missing',
42
+ iv_hash_drift: 'IV:hash-drift',
43
+ };
44
+ function colorize(cls, text) {
45
+ if (cls === 'ok')
46
+ return green(text);
47
+ if (cls === 'iii_blob_missing' || cls === 'ii_unrecoverable')
48
+ return red(text);
49
+ return yellow(text);
50
+ }
51
+ function pad(s, len) {
52
+ if (s.length >= len)
53
+ return s;
54
+ return s + ' '.repeat(len - s.length);
55
+ }
56
+ function formatPretty(result) {
57
+ const lines = [];
58
+ lines.push('');
59
+ lines.push(`${bold('Setup-asset orphan audit')} ${dim('— WP-439 S2')}`);
60
+ lines.push('');
61
+ const { total, ok, orphans, byClass } = result.summary;
62
+ lines.push(heading('Summary'));
63
+ lines.push('');
64
+ lines.push(` ${dim('Total rows :')} ${bold(String(total))}`);
65
+ lines.push(` ${dim('OK :')} ${green(String(ok))}`);
66
+ lines.push(` ${dim('Orphans :')} ${orphans > 0 ? red(String(orphans)) : green(String(orphans))}`);
67
+ if (orphans > 0) {
68
+ lines.push('');
69
+ lines.push(` ${dim('Class I (inline-only) :')} ${yellow(String(byClass.i))}`);
70
+ lines.push(` ${dim('Class II (unrecoverable) :')} ${red(String(byClass.ii))}`);
71
+ lines.push(` ${dim('Class III (blob-missing) :')} ${red(String(byClass.iii))}`);
72
+ lines.push(` ${dim('Class IV (hash-drift) :')} ${yellow(String(byClass.iv))}`);
73
+ }
74
+ lines.push('');
75
+ if (result.rows.length === 0) {
76
+ lines.push(dim('No setup_asset rows in this workspace.'));
77
+ return lines.join('\n');
78
+ }
79
+ // Show orphan rows first, then ok rows (for scannability).
80
+ const orphanRows = result.rows.filter((r) => r.class !== 'ok');
81
+ const okRows = result.rows.filter((r) => r.class === 'ok');
82
+ if (orphanRows.length > 0) {
83
+ lines.push(heading('Orphaned rows'));
84
+ lines.push('');
85
+ // Column widths sized to the data so the table stays readable in narrow shells.
86
+ const idW = Math.min(40, Math.max(...orphanRows.map((r) => r.entryId.length), 'EntryId'.length));
87
+ const nameW = Math.min(30, Math.max(...orphanRows.map((r) => r.name.length), 'Name'.length));
88
+ lines.push(` ${dim(pad('EntryId', idW))} ${dim(pad('Kind', 6))} ${dim(pad('Name', nameW))} ${dim('Class')}`);
89
+ for (const row of orphanRows) {
90
+ const label = CLASS_LABEL[row.class];
91
+ lines.push(` ${pad(row.entryId, idW)} ${pad(row.assetKind, 6)} ${pad(row.name.slice(0, nameW), nameW)} ${colorize(row.class, label)}`);
92
+ }
93
+ lines.push('');
94
+ }
95
+ if (okRows.length > 0) {
96
+ lines.push(`${dim(`${icons.dot} ${okRows.length} row(s) classified OK (hidden — re-run with --json to see them).`)}`);
97
+ lines.push('');
98
+ }
99
+ if (orphans === 0) {
100
+ lines.push(green(`${icons.pass} All setup_asset bodies resolve.`));
101
+ }
102
+ return lines.join('\n');
103
+ }
104
+ /**
105
+ * Repair targets: classes that can be regenerated from STARTER_* constants.
106
+ * - iii_blob_missing — storage blob is gone; canonical body is the fix.
107
+ * - ii_unrecoverable — neither storage nor inline body; canonical body
108
+ * is the only recovery path (otherwise the row was never recoverable).
109
+ *
110
+ * Excluded:
111
+ * - i_inline_only — inline body IS the body; restore from `data.body`
112
+ * (out of scope for this slice).
113
+ * - iv_hash_drift — drifted; manual review (out of scope).
114
+ */
115
+ function isRepairTarget(cls) {
116
+ return cls === 'iii_blob_missing' || cls === 'ii_unrecoverable';
117
+ }
118
+ async function runRepair(rows) {
119
+ const targets = rows.filter((r) => isRepairTarget(r.class));
120
+ const perRow = [];
121
+ let succeeded = 0;
122
+ let failed = 0;
123
+ let unrecoverable = 0;
124
+ for (const row of targets) {
125
+ let outcome;
126
+ try {
127
+ outcome = await kernelCall('setup.repairAssetBody', {
128
+ entryDocId: row.entryDocId,
129
+ });
130
+ }
131
+ catch (err) {
132
+ outcome = {
133
+ status: 'failed',
134
+ newBodyStorageId: null,
135
+ error: err instanceof Error ? err.message : String(err),
136
+ receiptId: '',
137
+ };
138
+ }
139
+ perRow.push({ row, outcome });
140
+ if (outcome.status === 'succeeded')
141
+ succeeded++;
142
+ else if (outcome.status === 'unrecoverable')
143
+ unrecoverable++;
144
+ else
145
+ failed++;
146
+ // Per-row outcome line.
147
+ if (outcome.status === 'succeeded') {
148
+ process.stdout.write(`${green(icons.pass)} ${row.entryId} repaired\n`);
149
+ }
150
+ else if (outcome.status === 'unrecoverable') {
151
+ process.stdout.write(`${yellow('⊘')} ${row.entryId} unrecoverable (no STARTER_* match)\n`);
152
+ }
153
+ else {
154
+ process.stdout.write(`${red(icons.fail)} ${row.entryId} failed: ${outcome.error ?? 'unknown error'}\n`);
155
+ }
156
+ }
157
+ return { succeeded, failed, unrecoverable, perRow };
158
+ }
159
+ async function fetchAudit() {
160
+ try {
161
+ return await kernelCall('setup.auditAssetBodies', {});
162
+ }
163
+ catch (err) {
164
+ if (err instanceof CLIError)
165
+ throw err;
166
+ throw new CLIError(err instanceof Error ? err.message : String(err), {
167
+ code: ErrorCode.INTERNAL,
168
+ category: 'internal',
169
+ });
170
+ }
171
+ }
172
+ export async function runSetupAudit(opts = {}) {
173
+ const config = await getConfigOrGuide(() => runSetupAudit(opts));
174
+ if (!config)
175
+ return;
176
+ // Respect both the global --json flag (isJsonMode) and the per-command override.
177
+ const json = opts.json || isJsonMode();
178
+ const repair = opts.repair === true;
179
+ // ── 1. Initial audit ──────────────────────────────────────────────────────
180
+ let result = await fetchAudit();
181
+ if (!repair) {
182
+ if (json) {
183
+ process.stdout.write(JSON.stringify(result) + '\n');
184
+ }
185
+ else {
186
+ process.stdout.write(formatPretty(result) + '\n');
187
+ }
188
+ // Exit-code contract: 0 when clean, 1 when any orphan class is present.
189
+ if (result.summary.orphans > 0) {
190
+ process.exit(1);
191
+ }
192
+ return;
193
+ }
194
+ // ── 2. --repair path: print initial audit, attempt repairs, re-audit. ─────
195
+ if (json) {
196
+ // JSON mode + --repair: emit the union artifact as a single object so
197
+ // pipelines can read structured outcomes.
198
+ const repairReport = await runRepair(result.rows);
199
+ const after = await fetchAudit();
200
+ process.stdout.write(JSON.stringify({
201
+ before: result,
202
+ repair: {
203
+ attempted: repairReport.perRow.length,
204
+ succeeded: repairReport.succeeded,
205
+ failed: repairReport.failed,
206
+ unrecoverable: repairReport.unrecoverable,
207
+ perRow: repairReport.perRow.map(({ row, outcome }) => ({
208
+ entryId: row.entryId,
209
+ entryDocId: row.entryDocId,
210
+ class: row.class,
211
+ status: outcome.status,
212
+ error: outcome.error,
213
+ receiptId: outcome.receiptId,
214
+ newBodyStorageId: outcome.newBodyStorageId,
215
+ })),
216
+ },
217
+ after,
218
+ }) + '\n');
219
+ if (repairReport.failed > 0)
220
+ process.exit(1);
221
+ return;
222
+ }
223
+ // Pretty mode.
224
+ process.stdout.write(formatPretty(result) + '\n');
225
+ const repairTargets = result.rows.filter((r) => isRepairTarget(r.class));
226
+ if (repairTargets.length === 0) {
227
+ process.stdout.write(dim('\nNo repairable orphans (class III/II) — nothing to do.\n'));
228
+ if (result.summary.orphans > 0) {
229
+ // There are class I or IV orphans but nothing this slice can fix.
230
+ process.exit(1);
231
+ }
232
+ return;
233
+ }
234
+ process.stdout.write(`\n${heading('Repair')}\n\n`);
235
+ const repairReport = await runRepair(result.rows);
236
+ process.stdout.write('\n');
237
+ process.stdout.write(` ${dim('Attempted :')} ${bold(String(repairReport.perRow.length))}\n`);
238
+ process.stdout.write(` ${dim('Succeeded :')} ${green(String(repairReport.succeeded))}\n`);
239
+ process.stdout.write(` ${dim('Unrecoverable:')} ${repairReport.unrecoverable > 0 ? yellow(String(repairReport.unrecoverable)) : String(repairReport.unrecoverable)}\n`);
240
+ process.stdout.write(` ${dim('Failed :')} ${repairReport.failed > 0 ? red(String(repairReport.failed)) : String(repairReport.failed)}\n`);
241
+ process.stdout.write('\n');
242
+ // ── 3. Re-run the audit so the operator sees the fresh state. ─────────────
243
+ const after = await fetchAudit();
244
+ process.stdout.write(formatPretty(after) + '\n');
245
+ // Exit code: only genuine failures (not 'unrecoverable') trip the wire.
246
+ if (repairReport.failed > 0) {
247
+ process.exit(1);
248
+ }
249
+ }
250
+ //# sourceMappingURL=setup-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-audit.js","sourceRoot":"","sources":["../../src/commands/setup-audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * `pb setup-detect-surfaces` — WP-431 S3.
3
+ *
4
+ * Walks the repo for known surface markers (delegated to SURFACE_ADAPTERS) and
5
+ * union-merges the result with whatever `manifest.surfaces` already declares.
6
+ * STD-235 forward-only: detection NEVER removes a surface; only adds. Manifest
7
+ * write goes through `writeManifestSurfaces` which calls `assertSetupWritePath`
8
+ * (STD-234 perimeter).
9
+ *
10
+ * WP-433 S2: After the local manifest write, stamps the detected surfaces onto
11
+ * the server via `setup.stampDetectedSurfaces` so Phase 1 → Phase 2 advances in
12
+ * one server call (TEN-1990 / IMP-10). If the server call fails, the error is
13
+ * logged and surfaced to the caller but the local manifest is NOT rolled back
14
+ * (it is already on disk; the next run will retry the server stamp).
15
+ */
16
+ export interface RunSetupDetectSurfacesOptions {
17
+ cwd?: string;
18
+ /** Skip the server stamp call (used in tests / offline mode). */
19
+ skipServerStamp?: boolean;
20
+ }
21
+ export interface SetupDetectSurfacesResult {
22
+ detected: string[];
23
+ existing: string[];
24
+ newlyAdded: string[];
25
+ union: string[];
26
+ manifestUpdated: boolean;
27
+ manifestPath: string;
28
+ /** WP-433 S2: result of the server stamp call, or null if skipped / not needed. */
29
+ serverStamp: {
30
+ stamped: boolean;
31
+ surfaces: string[];
32
+ } | null;
33
+ /** WP-433 S2: error from the server stamp call, if any. Does NOT abort the local write. */
34
+ serverStampError: string | null;
35
+ }
36
+ export declare function runSetupDetectSurfaces(opts?: RunSetupDetectSurfacesOptions): Promise<SetupDetectSurfacesResult>;
37
+ export declare function formatDetectSurfacesSummary(result: SetupDetectSurfacesResult): string;
38
+ //# sourceMappingURL=setup-detect-surfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-detect-surfaces.d.ts","sourceRoot":"","sources":["../../src/commands/setup-detect-surfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,6BAA6B;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,WAAW,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,2FAA2F;IAC3F,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,6BAAkC,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAsCpC;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CAqBrF"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * `pb setup-detect-surfaces` — WP-431 S3.
3
+ *
4
+ * Walks the repo for known surface markers (delegated to SURFACE_ADAPTERS) and
5
+ * union-merges the result with whatever `manifest.surfaces` already declares.
6
+ * STD-235 forward-only: detection NEVER removes a surface; only adds. Manifest
7
+ * write goes through `writeManifestSurfaces` which calls `assertSetupWritePath`
8
+ * (STD-234 perimeter).
9
+ *
10
+ * WP-433 S2: After the local manifest write, stamps the detected surfaces onto
11
+ * the server via `setup.stampDetectedSurfaces` so Phase 1 → Phase 2 advances in
12
+ * one server call (TEN-1990 / IMP-10). If the server call fails, the error is
13
+ * logged and surfaced to the caller but the local manifest is NOT rolled back
14
+ * (it is already on disk; the next run will retry the server stamp).
15
+ */
16
+ import { detectSurfaces, unionSurfaces } from '../setup/detect-surfaces.js';
17
+ import { readManifestSurfaces, writeManifestSurfaces } from '../setup/manifest-writer.js';
18
+ import { kernelCall } from '../lib/client.js';
19
+ export async function runSetupDetectSurfaces(opts = {}) {
20
+ const cwd = opts.cwd ?? process.cwd();
21
+ const detected = await detectSurfaces(cwd);
22
+ const existing = readManifestSurfaces(cwd);
23
+ const union = unionSurfaces(existing, detected);
24
+ const existingSet = new Set(existing);
25
+ const newlyAdded = detected.filter((s) => !existingSet.has(s));
26
+ // Local manifest write (always runs first — server stamp is best-effort).
27
+ const writeResult = await writeManifestSurfaces(cwd, union);
28
+ // WP-433 S2: Stamp surfaces to server so state machine can advance Phase 1 → Phase 2.
29
+ // Only stamp if there are surfaces to declare (no-op on empty union).
30
+ // Error handling: log + surface to caller but do NOT roll back the local write.
31
+ // No config pre-check — kernelCall handles missing config; errors are caught below.
32
+ let serverStamp = null;
33
+ let serverStampError = null;
34
+ if (!opts.skipServerStamp && union.length > 0) {
35
+ try {
36
+ serverStamp = await kernelCall('setup.stampDetectedSurfaces', { surfaces: union });
37
+ }
38
+ catch (err) {
39
+ serverStampError = err instanceof Error ? err.message : String(err);
40
+ }
41
+ }
42
+ return {
43
+ detected: [...detected].sort(),
44
+ existing: [...existing].sort(),
45
+ newlyAdded: [...newlyAdded].sort(),
46
+ union,
47
+ manifestUpdated: writeResult.written,
48
+ manifestPath: writeResult.path,
49
+ serverStamp,
50
+ serverStampError,
51
+ };
52
+ }
53
+ export function formatDetectSurfacesSummary(result) {
54
+ const detected = result.detected.length === 0 ? 'none' : result.detected.join(', ');
55
+ const newOnes = result.newlyAdded.length === 0 ? 'none' : result.newlyAdded.join(', ');
56
+ const existing = result.existing.length === 0 ? 'none' : result.existing.join(', ');
57
+ const status = result.manifestUpdated ? 'Manifest updated.' : 'Manifest unchanged.';
58
+ let serverStatus = '';
59
+ if (result.serverStampError) {
60
+ serverStatus = ` Server stamp failed: ${result.serverStampError}`;
61
+ }
62
+ else if (result.serverStamp !== null) {
63
+ serverStatus = result.serverStamp.stamped ? ' Server stamped.' : ' Server: surfaces already current.';
64
+ }
65
+ let summary = `Detected: ${detected} (new: ${newOnes}). Existing: ${existing}. ${status}${serverStatus}`;
66
+ // WP-433 S5: bare-repo guidance — ask when there are truly zero known surfaces.
67
+ // Only applies when both detected AND existing are empty (true bare-repo state).
68
+ // STD-235 remnant case (existing surfaces present, none re-detected from disk) is
69
+ // intentionally suppressed: the manifest still carries the surface, so the user
70
+ // is not in a bare-repo state.
71
+ if (result.detected.length === 0 && result.existing.length === 0) {
72
+ summary += '\nI don\'t see Claude Code or Cursor — which AI tool do you use?';
73
+ }
74
+ return summary;
75
+ }
76
+ //# sourceMappingURL=setup-detect-surfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-detect-surfaces.js","sourceRoot":"","sources":["../../src/commands/setup-detect-surfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-ingest.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA8GD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoInG"}
1
+ {"version":3,"file":"setup-ingest.d.ts","sourceRoot":"","sources":["../../src/commands/setup-ingest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAgHD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqInG"}