@a-company/paradigm 5.11.0 → 5.21.0

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 (408) hide show
  1. package/dist/accept-orchestration-IUAWQZUN.js +18 -0
  2. package/dist/add-P76GEMGF.js +8 -0
  3. package/dist/agent-UUTYOFTH.js +33 -0
  4. package/dist/agent-loader-EPXURMO7.js +2 -0
  5. package/dist/agent-loader-PYGPX6D2.js +2 -0
  6. package/dist/agent-state-KSQ3S7OB.js +2 -0
  7. package/dist/agents-suggest-HYTFMQD3.js +10 -0
  8. package/dist/aggregate-W66DM3GA.js +10 -0
  9. package/dist/ambient-HYZR42NX.js +35 -0
  10. package/dist/assess-UFPYEJKP.js +9 -0
  11. package/dist/auto-RHJXOZFL.js +14 -0
  12. package/dist/beacon-5QVYV5DF.js +13 -0
  13. package/dist/calibration-OLJYB5HN.js +7 -0
  14. package/dist/check-THVGY4R5.js +14 -0
  15. package/dist/chunk-22ISTMKI.js +31 -0
  16. package/dist/chunk-2QO33NYK.js +3 -0
  17. package/dist/chunk-33LKBMVK.js +134 -0
  18. package/dist/chunk-4QADCWPU.js +7 -0
  19. package/dist/chunk-4TXOVRWD.js +3 -0
  20. package/dist/chunk-4UJ4NIEQ.js +4 -0
  21. package/dist/chunk-4ZGGWZ32.js +3 -0
  22. package/dist/chunk-5TAVYPOV.js +2 -0
  23. package/dist/chunk-6EX37L4Q.js +8 -0
  24. package/dist/chunk-AD5TAD2A.js +5 -0
  25. package/dist/chunk-AGVAHVUA.js +2 -0
  26. package/dist/chunk-AO7ZSRME.js +13 -0
  27. package/dist/chunk-BFD3GFRK.js +2 -0
  28. package/dist/chunk-D34YFK4M.js +6 -0
  29. package/dist/chunk-DVZWCXB6.js +2 -0
  30. package/dist/chunk-EKZDFEJW.js +2 -0
  31. package/dist/chunk-ET5XJTSX.js +2 -0
  32. package/dist/chunk-FYDRENK7.js +3 -0
  33. package/dist/chunk-HMQ5BHP2.js +743 -0
  34. package/dist/chunk-HXKWL3VK.js +29 -0
  35. package/dist/chunk-IZSBGW6E.js +2 -0
  36. package/dist/chunk-J32OPJEX.js +2 -0
  37. package/dist/chunk-JBDMCRPP.js +7 -0
  38. package/dist/chunk-JIXHEBGK.js +7 -0
  39. package/dist/chunk-JNSJVCTU.js +2 -0
  40. package/dist/chunk-JQKKVAAN.js +2 -0
  41. package/dist/chunk-KLBH26PA.js +429 -0
  42. package/dist/chunk-L6K5HNDL.js +24 -0
  43. package/dist/chunk-LKAT7IAK.js +2 -0
  44. package/dist/chunk-M4UMM6DC.js +5 -0
  45. package/dist/chunk-NKYNHSA5.js +424 -0
  46. package/dist/chunk-NW6OKHE6.js +5 -0
  47. package/dist/chunk-NXRVR37G.js +60 -0
  48. package/dist/chunk-ODVKPZZ4.js +2 -0
  49. package/dist/chunk-PUBB7LIT.js +5 -0
  50. package/dist/chunk-Q2J542ST.js +2 -0
  51. package/dist/chunk-QGZRM6ZB.js +2 -0
  52. package/dist/chunk-QNZEG7IT.js +13 -0
  53. package/dist/chunk-QT2LKB3P.js +7 -0
  54. package/dist/chunk-RVRARWSY.js +9 -0
  55. package/dist/chunk-T6IDXUUA.js +2 -0
  56. package/dist/chunk-TYWB5IQJ.js +3 -0
  57. package/dist/chunk-UIKLE3WD.js +2 -0
  58. package/dist/chunk-V7K6CQVX.js +111 -0
  59. package/dist/chunk-VCKKJDLP.js +8 -0
  60. package/dist/chunk-VG7FN2TU.js +4 -0
  61. package/dist/chunk-W5IWDW4Y.js +16 -0
  62. package/dist/chunk-W7C6FFMO.js +8 -0
  63. package/dist/chunk-WESTEMIM.js +10 -0
  64. package/dist/chunk-WR6D3SC6.js +5 -0
  65. package/dist/chunk-WS2N27RX.js +3 -0
  66. package/dist/chunk-XMAV5AG6.js +2 -0
  67. package/dist/chunk-XROULIQN.js +2 -0
  68. package/dist/chunk-XUFYOXOU.js +3 -0
  69. package/dist/chunk-Y4XFVDZC.js +3 -0
  70. package/dist/chunk-Y6KXTQBG.js +2 -0
  71. package/dist/{chunk-GTR2TBIJ.js → chunk-Z2UZUCY6.js} +237 -1047
  72. package/dist/chunk-Z34K6GY2.js +8 -0
  73. package/dist/claude-4LR3LJQZ.js +13 -0
  74. package/dist/claude-cli-UP6HGH7C.js +6 -0
  75. package/dist/claude-code-RLJ4GX77.js +11 -0
  76. package/dist/claude-code-teams-R37HJY3Y.js +29 -0
  77. package/dist/commands-LMUD5L6R.js +455 -0
  78. package/dist/compliance-GZ7UAOG3.js +6 -0
  79. package/dist/conductor-Y5IXELTL.js +4 -0
  80. package/dist/config-schema-HR7LDEQ6.js +2 -0
  81. package/dist/constellation-CG7C4WFE.js +13 -0
  82. package/dist/context-audit-RSSRX6XC.js +6 -0
  83. package/dist/cost-IDNVMAEV.js +10 -0
  84. package/dist/cost-PK4KIF7R.js +2 -0
  85. package/dist/cursor-cli-QKF7Z6M2.js +4 -0
  86. package/dist/cursorrules-U5O4G5T4.js +14 -0
  87. package/dist/decision-loader-2XPZE4EZ.js +2 -0
  88. package/dist/delete-P5VULXR4.js +14 -0
  89. package/dist/diff-RTFUKJHF.js +9 -0
  90. package/dist/discipline-H7LDI6NT.js +2 -0
  91. package/dist/dist-3ZCH25SG.js +2 -0
  92. package/dist/dist-KGRCLBJP-2QAPFYNF.js +39 -0
  93. package/dist/dist-R3RWD35F.js +2 -0
  94. package/dist/dist-VGFSP3XM.js +2 -0
  95. package/dist/dist-VXCZWVVJ.js +2 -0
  96. package/dist/dist-W3XCATBJ.js +2 -0
  97. package/dist/docs-EDQ2STFK.js +2 -0
  98. package/dist/docs-RXPN6CK7.js +12 -0
  99. package/dist/doctor-2T2QL6VM.js +2 -0
  100. package/dist/drift-ILZE5BFJ.js +13 -0
  101. package/dist/echo-UPTQUEDU.js +46 -0
  102. package/dist/edit-GUU3HBVW.js +9 -0
  103. package/dist/event-Y3VXC2RV.js +3 -0
  104. package/dist/explain-files-3GPZUETV.js +4 -0
  105. package/dist/export-CV5KCTPS.js +2 -0
  106. package/dist/flow-S3RQ4YPY.js +11 -0
  107. package/dist/global-C44FW4G2.js +13 -0
  108. package/dist/graduate-3BBSC27A.js +5 -0
  109. package/dist/graph-CNDE5TAT.js +2 -0
  110. package/dist/graph-server-COZR5C3Z.js +14 -0
  111. package/dist/habits-4J2KRYUL.js +42 -0
  112. package/dist/history-UW454SDP.js +12 -0
  113. package/dist/hooks-XH52VGOU.js +2 -0
  114. package/dist/index.js +15 -1039
  115. package/dist/init-24MAQJFM.js +2 -0
  116. package/dist/integrity-UYDOOJDP.js +7 -0
  117. package/dist/integrity-checker-DHGMZQDG.js +2 -0
  118. package/dist/journal-loader-GLH7XFTK.js +2 -0
  119. package/dist/lint-IGKE6UPS.js +26 -0
  120. package/dist/list-5IUGP3ZB.js +7 -0
  121. package/dist/list-YKIQNKGB.js +6 -0
  122. package/dist/lore-loader-RVQI5GXL.js +2 -0
  123. package/dist/lore-loader-XY5MZRR2.js +2 -0
  124. package/dist/lore-server-FC2GMDLT.js +14 -0
  125. package/dist/manual-RXSPSFLL.js +20 -0
  126. package/dist/mcp.js +93 -20529
  127. package/dist/migrate-X5OMAFAQ.js +59 -0
  128. package/dist/migrate-assessments-GEI5WMI2.js +4 -0
  129. package/dist/model-discovery-HMB3YI4L.js +2 -0
  130. package/dist/nomination-engine-XF7TWPAP.js +2 -0
  131. package/dist/notebook-PE3JSYZI.js +11 -0
  132. package/dist/notebook-loader-CENTDDUJ.js +2 -0
  133. package/dist/orchestrate-35HBQ3O3.js +8 -0
  134. package/dist/peers-P2KXU7ZK.js +5 -0
  135. package/dist/persona-STQWZH5P.js +29 -0
  136. package/dist/pipeline-MZUITRVN.js +4 -0
  137. package/dist/platform-server-2KXHGHFV.js +25 -0
  138. package/dist/plugin-update-checker-M7PW434O.js +2 -0
  139. package/dist/portal-check-3JVNLOEP.js +8 -0
  140. package/dist/portal-compliance-2UG4VKWH.js +2 -0
  141. package/dist/probe-5L5BQDGE.js +6 -0
  142. package/dist/project-type-SURTOIG7.js +2 -0
  143. package/dist/promote-NJQDZBZA.js +8 -0
  144. package/dist/providers-4PXMWA7V.js +8 -0
  145. package/dist/quiz-FE5UGAY2.js +10 -0
  146. package/dist/record-YXPB34MY.js +6 -0
  147. package/dist/reindex-PGDQSM42.js +2 -0
  148. package/dist/remember-MJRNTXYS.js +14 -0
  149. package/dist/retag-N5XF3KXP.js +6 -0
  150. package/dist/review-6UAH6V3R.js +11 -0
  151. package/dist/review-77QI6VOC.js +6 -0
  152. package/dist/ripple-ZGDITCGB.js +10 -0
  153. package/dist/roster-FLRZ5J42.js +2 -0
  154. package/dist/sentinel-HYAZ3CO5.js +19 -0
  155. package/dist/sentinel-bridge-VR357PKL.js +2 -0
  156. package/dist/sentinel-mcp.js +38 -3808
  157. package/dist/sentinel.js +1 -34
  158. package/dist/serve-JE6UF5P2.js +8 -0
  159. package/dist/serve-L52ZUTU6.js +10 -0
  160. package/dist/serve-OY6XYL7F.js +12 -0
  161. package/dist/server-2MNROHF6.js +7 -0
  162. package/dist/server-4YNUIK4W.js +8 -0
  163. package/dist/session-tracker-SKOMBDOW.js +2 -0
  164. package/dist/session-work-log-3MNUDEZ6.js +2 -0
  165. package/dist/session-work-log-J2H5OZBR.js +2 -0
  166. package/dist/setup-3F5IK7MO.js +31 -0
  167. package/dist/setup-KPIMRZ4Q.js +2 -0
  168. package/dist/shift-6GCNH666.js +11 -0
  169. package/dist/show-BOAVWZPZ.js +7 -0
  170. package/dist/show-PJ5LFLIL.js +5 -0
  171. package/dist/snapshot-L2G56RPL.js +8 -0
  172. package/dist/spawn-UH5RENSE.js +12 -0
  173. package/dist/status-77M3SDIF.js +8 -0
  174. package/dist/status-A37ECYNJ.js +6 -0
  175. package/dist/summary-ZJLQ6KHB.js +7 -0
  176. package/dist/sweep-HU74OPVW.js +17 -0
  177. package/dist/switch-CTW4PDGI.js +17 -0
  178. package/dist/symphony-3QMBGCZY.js +2 -0
  179. package/dist/symphony-QI63XL62.js +53 -0
  180. package/dist/symphony-loader-XACVV2E3.js +2 -0
  181. package/dist/symphony-peers-U4KHMKGI.js +2 -0
  182. package/dist/symphony-peers-X5NGWXFP.js +2 -0
  183. package/dist/symphony-relay-5GY5JIPT.js +3 -0
  184. package/dist/sync-QRDSFETO.js +2 -0
  185. package/dist/sync-llms-HL5PPW3M.js +15 -0
  186. package/dist/task-loader-NZFDTUQ5.js +2 -0
  187. package/dist/team-WGERKGNP.js +2 -0
  188. package/dist/test-BQJMS4Y2.js +111 -0
  189. package/dist/thread-HFXK65D4.js +41 -0
  190. package/dist/timeline-K3ZFKJ3R.js +6 -0
  191. package/dist/triage-FCWOZASE.js +18 -0
  192. package/dist/tutorial-UC6YQMNN.js +305 -0
  193. package/dist/university-content/courses/.purpose +74 -5
  194. package/dist/university-content/plsat/.purpose +3 -2
  195. package/dist/university-ui/assets/{index-BjewBB6s.js → index-CGFJczb1.js} +2 -2
  196. package/dist/university-ui/assets/{index-BjewBB6s.js.map → index-CGFJczb1.js.map} +1 -1
  197. package/dist/university-ui/index.html +1 -1
  198. package/dist/upgrade-B4IOLZYK.js +53 -0
  199. package/dist/validate-C6SMKGYD.js +9 -0
  200. package/dist/validate-LSCDOLBO.js +13 -0
  201. package/dist/validate-VZXTJHGO.js +6 -0
  202. package/dist/watch-LRM5XD46.js +8 -0
  203. package/dist/watch-PZCCUP6K.js +9 -0
  204. package/dist/wisdom-XZ3QKPNP.js +7 -0
  205. package/dist/work-log-loader-DL5GZ2BQ.js +2 -0
  206. package/dist/workspace-2ODL5WLY.js +2 -0
  207. package/package.json +1 -1
  208. package/platform-ui/dist/assets/AmbientSection-DqQ2mfCO.js +1 -0
  209. package/platform-ui/dist/assets/{CanvasSection-DwPTRdIN.js → CanvasSection-DLW0s-Bu.js} +1 -1
  210. package/platform-ui/dist/assets/{DocsSection-BJc_ws4I.js → DocsSection-BQ9Hi51g.js} +1 -1
  211. package/platform-ui/dist/assets/{GitSection-DhqBo1xc.js → GitSection-QQeUX6o3.js} +1 -1
  212. package/platform-ui/dist/assets/{GraphSection-D9fhVnZ0.js → GraphSection-0c9C-w7K.js} +2 -2
  213. package/platform-ui/dist/assets/{GraphSection-BlgXTl53.css → GraphSection-Bbs2a8sC.css} +1 -1
  214. package/platform-ui/dist/assets/LoreSection--t56kCj2.js +1 -0
  215. package/platform-ui/dist/assets/LoreSection-qnmm3o4y.css +1 -0
  216. package/platform-ui/dist/assets/SentinelSection-C4OoME9U.js +1 -0
  217. package/platform-ui/dist/assets/{SymphonySection-BRoBaUSS.js → SymphonySection-B-rvsLxq.js} +1 -1
  218. package/platform-ui/dist/assets/TeamSection-CBFmNEEo.js +1 -0
  219. package/platform-ui/dist/assets/index-Bxp0TVaf.css +1 -0
  220. package/platform-ui/dist/assets/index-DPpOdAtC.js +57 -0
  221. package/platform-ui/dist/index.html +2 -2
  222. package/dist/accept-orchestration-UQLM7PTQ.js +0 -189
  223. package/dist/add-FZRKEGH4.js +0 -81
  224. package/dist/agent-WERIO2XV.js +0 -523
  225. package/dist/agent-loader-TFIANSF4.js +0 -44
  226. package/dist/agent-state-S5DAWPTF.js +0 -24
  227. package/dist/agents-suggest-DNSYJ6IA.js +0 -83
  228. package/dist/aggregate-H57K7PNV.js +0 -88
  229. package/dist/assess-4WVXZLZQ.js +0 -68
  230. package/dist/auto-QFS5NHQU.js +0 -504
  231. package/dist/beacon-KXZXYQHX.js +0 -251
  232. package/dist/calibration-V46G7JTY.js +0 -135
  233. package/dist/check-OWAIWV23.js +0 -175
  234. package/dist/chunk-2IO7JAG2.js +0 -148
  235. package/dist/chunk-2T6BTYBN.js +0 -712
  236. package/dist/chunk-36TKPM5Z.js +0 -400
  237. package/dist/chunk-45MUDW6E.js +0 -804
  238. package/dist/chunk-4BLYIB7J.js +0 -5701
  239. package/dist/chunk-4L3UTYQX.js +0 -677
  240. package/dist/chunk-4NCFWYGG.js +0 -110
  241. package/dist/chunk-54LTTQBH.js +0 -138
  242. package/dist/chunk-5EWAQHFY.js +0 -269
  243. package/dist/chunk-5JGJACDU.js +0 -37
  244. package/dist/chunk-5OUOLN6M.js +0 -659
  245. package/dist/chunk-5VKJBNJL.js +0 -444
  246. package/dist/chunk-6N3JTACN.js +0 -2260
  247. package/dist/chunk-6QC3YGB6.js +0 -114
  248. package/dist/chunk-7N7GSU6K.js +0 -34
  249. package/dist/chunk-ABVQGRF7.js +0 -268
  250. package/dist/chunk-CL7JSK52.js +0 -129
  251. package/dist/chunk-CSD7IHSN.js +0 -152
  252. package/dist/chunk-EDOAWN7J.js +0 -717
  253. package/dist/chunk-EKGMAM62.js +0 -525
  254. package/dist/chunk-EZ3GOCYC.js +0 -132
  255. package/dist/chunk-F3BCHPYT.js +0 -143
  256. package/dist/chunk-FKJUBQU3.js +0 -3081
  257. package/dist/chunk-GT5QGC2H.js +0 -253
  258. package/dist/chunk-GZDFVP2N.js +0 -540
  259. package/dist/chunk-IRKUEJVW.js +0 -405
  260. package/dist/chunk-J2JEQRT3.js +0 -164
  261. package/dist/chunk-JASGXLK3.js +0 -679
  262. package/dist/chunk-KVDYJLTC.js +0 -121
  263. package/dist/chunk-L27I3CPZ.js +0 -357
  264. package/dist/chunk-LHLIAYQ3.js +0 -185
  265. package/dist/chunk-MCMOGQMU.js +0 -145
  266. package/dist/chunk-NQKQG45G.js +0 -688
  267. package/dist/chunk-PBHIFAL4.js +0 -259
  268. package/dist/chunk-PDX44BCA.js +0 -11
  269. package/dist/chunk-PMXRGPRQ.js +0 -305
  270. package/dist/chunk-RAB5IKPR.js +0 -487
  271. package/dist/chunk-RJE5G7WO.js +0 -590
  272. package/dist/chunk-RTHA3XRE.js +0 -880
  273. package/dist/chunk-S2HO5MLR.js +0 -621
  274. package/dist/chunk-S3ORKP3V.js +0 -716
  275. package/dist/chunk-TAIJOFOE.js +0 -124
  276. package/dist/chunk-TXESEO7Y.js +0 -245
  277. package/dist/chunk-UPLDI7CN.js +0 -1334
  278. package/dist/chunk-VL67H5IC.js +0 -506
  279. package/dist/chunk-VPPK3SY4.js +0 -1136
  280. package/dist/chunk-YMDLDELF.js +0 -314
  281. package/dist/chunk-YO6DVTL7.js +0 -99
  282. package/dist/chunk-YRZ5RPEB.js +0 -1561
  283. package/dist/chunk-ZDHLG5VP.js +0 -5676
  284. package/dist/chunk-ZGUAAVMA.js +0 -756
  285. package/dist/chunk-ZSYVKSY6.js +0 -2602
  286. package/dist/claude-FRRWJSTJ.js +0 -362
  287. package/dist/claude-cli-XJLK2X4L.js +0 -276
  288. package/dist/claude-code-HTBA4XRB.js +0 -126
  289. package/dist/claude-code-teams-T4SP24MD.js +0 -199
  290. package/dist/commands-5N4ILTPH.js +0 -5859
  291. package/dist/conductor-CQVGTEQN.js +0 -161
  292. package/dist/config-schema-EA4XALGG.js +0 -154
  293. package/dist/constellation-A26CCGQS.js +0 -225
  294. package/dist/context-audit-RLO3ETRP.js +0 -682
  295. package/dist/cost-BGM32XJU.js +0 -93
  296. package/dist/cost-VI46A4XL.js +0 -174
  297. package/dist/cursor-cli-JVEZGHWQ.js +0 -269
  298. package/dist/cursorrules-HLIKJJZT.js +0 -84
  299. package/dist/decision-loader-WWCLIQPJ.js +0 -20
  300. package/dist/delete-KBRPQLPC.js +0 -56
  301. package/dist/diff-D4X53HAC.js +0 -126
  302. package/dist/discipline-FA4OZXIS.js +0 -24
  303. package/dist/dist-34NA5RS5.js +0 -74
  304. package/dist/dist-5QE2BB2B-5S3T6Y3T.js +0 -6919
  305. package/dist/dist-77JDTVAY.js +0 -62
  306. package/dist/dist-OGTSAZ55.js +0 -1358
  307. package/dist/dist-QK4SQAK7.js +0 -64
  308. package/dist/dist-TA6LSC2Q.js +0 -20
  309. package/dist/docs-PBZB7LYP.js +0 -89
  310. package/dist/docs-QIYKO3BR.js +0 -155
  311. package/dist/doctor-ULBOHEIC.js +0 -11
  312. package/dist/drift-R5NRKFHI.js +0 -251
  313. package/dist/echo-O2LY7CC2.js +0 -248
  314. package/dist/edit-R2HNLMOG.js +0 -63
  315. package/dist/event-25OJKDCE.js +0 -31
  316. package/dist/export-IWVL7XLF.js +0 -38
  317. package/dist/flow-CRRVV3O3.js +0 -185
  318. package/dist/global-3NG5JXUB.js +0 -136
  319. package/dist/graduate-USAWGBJM.js +0 -160
  320. package/dist/graph-VHUMAAS6.js +0 -12
  321. package/dist/graph-server-YL22VBBN.js +0 -116
  322. package/dist/habits-OL5NGPXO.js +0 -1405
  323. package/dist/history-WOWC573W.js +0 -277
  324. package/dist/hooks-HFWSCGPV.js +0 -12
  325. package/dist/integrity-IHO4FZTS.js +0 -194
  326. package/dist/integrity-checker-PSKJA5SB.js +0 -12
  327. package/dist/journal-loader-5EYSBFFY.js +0 -18
  328. package/dist/lint-K6CJGGPH.js +0 -456
  329. package/dist/list-4YK7QKFF.js +0 -57
  330. package/dist/list-ENR7Q4CR.js +0 -56
  331. package/dist/lore-loader-7NO6N6FT.js +0 -26
  332. package/dist/lore-server-UNJY5KC3.js +0 -118
  333. package/dist/manual-G6FISID5.js +0 -204
  334. package/dist/migrate-LS45DNEV.js +0 -889
  335. package/dist/migrate-assessments-RGH4O6IX.js +0 -97
  336. package/dist/model-discovery-D2H3VBGC.js +0 -8
  337. package/dist/nomination-engine-RV5CNO5B.js +0 -42
  338. package/dist/notebook-YWIYGEHV.js +0 -155
  339. package/dist/orchestrate-JLILBBJE.js +0 -324
  340. package/dist/peers-DEOUIZM6.js +0 -82
  341. package/dist/persona-UHAHIVST.js +0 -390
  342. package/dist/pipeline-L4HCSBGN.js +0 -263
  343. package/dist/platform-server-H5YO3DQD.js +0 -1475
  344. package/dist/plugin-update-checker-KRRSGXMV.js +0 -12
  345. package/dist/portal-check-NPYGII2D.js +0 -42
  346. package/dist/portal-compliance-J7DGAPFX.js +0 -18
  347. package/dist/probe-MHL5HQZ2.js +0 -167
  348. package/dist/promote-F6ZYZZAL.js +0 -182
  349. package/dist/providers-GK7PB2OL.js +0 -104
  350. package/dist/quiz-M66SC7F7.js +0 -99
  351. package/dist/record-RA4WR2BO.js +0 -49
  352. package/dist/reindex-5LTD53ZC.js +0 -16
  353. package/dist/remember-HBWJ655S.js +0 -77
  354. package/dist/retag-3OLCVDEQ.js +0 -62
  355. package/dist/review-27ATYTD2.js +0 -33
  356. package/dist/review-57QMURZV.js +0 -334
  357. package/dist/ripple-JPBXP5I3.js +0 -215
  358. package/dist/sentinel-4XIG4STA.js +0 -63
  359. package/dist/sentinel-bridge-MDUXTQRL.js +0 -109
  360. package/dist/serve-CAH3PHE7.js +0 -33
  361. package/dist/serve-INL7SNBK.js +0 -36
  362. package/dist/serve-KBSE36PL.js +0 -49
  363. package/dist/server-54SKYFFY.js +0 -1647
  364. package/dist/server-XUOIO7E6.js +0 -338
  365. package/dist/session-tracker-C4BMD5WG.js +0 -13
  366. package/dist/session-work-log-MZ47OAPB.js +0 -20
  367. package/dist/setup-EDS27WUR.js +0 -25
  368. package/dist/setup-KO5AFC4K.js +0 -296
  369. package/dist/shift-D2JOHHBF.js +0 -668
  370. package/dist/show-5PV5KFJE.js +0 -176
  371. package/dist/show-NQKYX6WQ.js +0 -82
  372. package/dist/snapshot-BK4RBPCG.js +0 -62
  373. package/dist/spawn-RCHNXDHE.js +0 -196
  374. package/dist/status-WGIAQODY.js +0 -71
  375. package/dist/summary-NIRABMF5.js +0 -140
  376. package/dist/sweep-QMHNSIY5.js +0 -934
  377. package/dist/switch-6EJPZDIA.js +0 -232
  378. package/dist/symphony-4OCY36AI.js +0 -791
  379. package/dist/symphony-B75X2MME.js +0 -326
  380. package/dist/symphony-loader-UZGON56V.js +0 -90
  381. package/dist/symphony-peers-2ZQYLRNI.js +0 -34
  382. package/dist/symphony-peers-OL7F6M5S.js +0 -121
  383. package/dist/symphony-relay-UJYUXN65.js +0 -710
  384. package/dist/sync-VEHUH4OA.js +0 -11
  385. package/dist/sync-llms-YHCFIE6X.js +0 -166
  386. package/dist/task-loader-LDYWQSLM.js +0 -20
  387. package/dist/team-O5MIIFMA.js +0 -34
  388. package/dist/test-566CP5KC.js +0 -1017
  389. package/dist/thread-N754I4D5.js +0 -274
  390. package/dist/timeline-M3CICQFE.js +0 -112
  391. package/dist/triage-HHYGT3HY.js +0 -671
  392. package/dist/tutorial-KD22SUNO.js +0 -666
  393. package/dist/upgrade-H5PF32BW.js +0 -551
  394. package/dist/validate-CNKEKO6A.js +0 -134
  395. package/dist/validate-MB5ULIHS.js +0 -39
  396. package/dist/validate-QH3LADM6.js +0 -64
  397. package/dist/watch-2TKP5PVL.js +0 -199
  398. package/dist/watch-ZF4ML6CD.js +0 -111
  399. package/dist/wisdom-AATMGNFA.js +0 -319
  400. package/dist/work-log-loader-5L45XNYZ.js +0 -14
  401. package/dist/workspace-6E6OSRNU.js +0 -21
  402. package/platform-ui/dist/assets/AmbientSection-WtHfNedO.js +0 -1
  403. package/platform-ui/dist/assets/LoreSection-C3EixkjW.css +0 -1
  404. package/platform-ui/dist/assets/LoreSection-CwDDHrz9.js +0 -1
  405. package/platform-ui/dist/assets/SentinelSection-Cl7e5oZ6.js +0 -1
  406. package/platform-ui/dist/assets/TeamSection-CqSIMrKz.js +0 -1
  407. package/platform-ui/dist/assets/index-CfpZFjea.css +0 -1
  408. package/platform-ui/dist/assets/index-F0KL9xrN.js +0 -57
@@ -1,666 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-PDX44BCA.js";
3
-
4
- // src/commands/tutorial/index.ts
5
- import * as path from "path";
6
- import * as fs from "fs";
7
- import * as yaml from "js-yaml";
8
- import chalk from "chalk";
9
- import { execSync } from "child_process";
10
- var TUTORIAL_STATE_FILE = ".paradigm/tutorial/state.json";
11
- var CURRICULUM_FILE = ".paradigm/tutorial/curriculum.yaml";
12
- function loadState(rootDir) {
13
- const statePath = path.join(rootDir, TUTORIAL_STATE_FILE);
14
- if (fs.existsSync(statePath)) {
15
- try {
16
- return JSON.parse(fs.readFileSync(statePath, "utf8"));
17
- } catch {
18
- }
19
- }
20
- return {
21
- currentStep: null,
22
- completedSteps: [],
23
- fixedBugs: []
24
- };
25
- }
26
- function saveState(rootDir, state) {
27
- const statePath = path.join(rootDir, TUTORIAL_STATE_FILE);
28
- const stateDir = path.dirname(statePath);
29
- if (!fs.existsSync(stateDir)) {
30
- fs.mkdirSync(stateDir, { recursive: true });
31
- }
32
- fs.writeFileSync(statePath, JSON.stringify(state, null, 2), "utf8");
33
- }
34
- function generateDefaultCurriculum(rootDir) {
35
- const tutorialDir = path.join(rootDir, ".paradigm/tutorial");
36
- if (!fs.existsSync(tutorialDir)) {
37
- fs.mkdirSync(tutorialDir, { recursive: true });
38
- }
39
- const curriculum = {
40
- title: "Paradigm Tutorial - ShopFlow Example",
41
- description: "Learn Paradigm by exploring the ShopFlow e-commerce example",
42
- steps: [
43
- {
44
- id: "step-1-explore-structure",
45
- title: "Explore Project Structure",
46
- description: "Understand how Paradigm organizes project knowledge",
47
- file: "step-1-explore-structure.md",
48
- checkpoints: [
49
- {
50
- type: "file-exists",
51
- path: ".purpose"
52
- },
53
- {
54
- type: "file-exists",
55
- path: "portal.yaml"
56
- },
57
- {
58
- type: "file-exists",
59
- path: ".paradigm/config.yaml"
60
- }
61
- ]
62
- },
63
- {
64
- id: "step-2-understand-purpose",
65
- title: "Understanding Purpose Files",
66
- description: "Learn how Purpose files define features and components",
67
- file: "step-2-understand-purpose.md",
68
- checkpoints: [
69
- {
70
- type: "file-exists",
71
- path: ".purpose"
72
- }
73
- ]
74
- },
75
- {
76
- id: "step-3-understand-gates",
77
- title: "Understanding Gates",
78
- description: "Learn how Gates define authorization and access control",
79
- file: "step-3-understand-gates.md",
80
- checkpoints: [
81
- {
82
- type: "file-exists",
83
- path: "portal.yaml"
84
- }
85
- ]
86
- },
87
- {
88
- id: "step-4-explore-symbols",
89
- title: "Exploring Symbols",
90
- description: "Understand Paradigm's symbol system and how they connect",
91
- file: "step-4-explore-symbols.md",
92
- checkpoints: [
93
- {
94
- type: "command-success",
95
- command: "paradigm status"
96
- }
97
- ]
98
- },
99
- {
100
- id: "step-5-visualize",
101
- title: "Visualize in Dreamscape",
102
- description: "See your project knowledge visualized in the Dreamscape",
103
- file: "step-5-visualize.md",
104
- checkpoints: [
105
- {
106
- type: "command-success",
107
- command: "paradigm dream aggregate"
108
- }
109
- ]
110
- }
111
- ],
112
- bugs: []
113
- };
114
- const curriculumPath = path.join(tutorialDir, "curriculum.yaml");
115
- fs.writeFileSync(curriculumPath, yaml.dump(curriculum), "utf8");
116
- const stepFiles = [
117
- {
118
- file: "step-1-explore-structure.md",
119
- content: `# Step 1: Explore Project Structure
120
-
121
- Welcome to the Paradigm tutorial! In this step, you'll explore how Paradigm organizes project knowledge.
122
-
123
- ## What You'll Learn
124
-
125
- - How Paradigm uses files to structure project knowledge
126
- - The purpose of different Paradigm files
127
- - How to navigate a Paradigm project
128
-
129
- ## Tasks
130
-
131
- 1. **Examine the root .purpose file**
132
- - Open \`.purpose\` in the root directory
133
- - Notice how it defines features (\`@\`) and components (\`#\`)
134
- - See how features reference components and gates
135
-
136
- 2. **Check the portal.yaml file**
137
- - Open \`portal.yaml\`
138
- - Notice how gates (\`^\`) define authorization rules
139
- - See how gates have locks, keys, and prizes
140
-
141
- 3. **Explore .paradigm directory**
142
- - Look at \`.paradigm/config.yaml\` - this is the Paradigm configuration
143
- - Check \`.paradigm/specs/\` - these define the symbol system
144
- - Browse \`.paradigm/docs/\` - reference documentation
145
-
146
- 4. **Notice the nested structure**
147
- - Check \`auth/.purpose\`, \`payments/.purpose\`, etc.
148
- - See how Purpose files can be organized by domain
149
-
150
- ## Checkpoint
151
-
152
- When you're ready, run:
153
- \`\`\`bash
154
- paradigm tutorial checkpoint
155
- \`\`\`
156
-
157
- This will verify you've explored the key files.
158
- `
159
- },
160
- {
161
- file: "step-2-understand-purpose.md",
162
- content: `# Step 2: Understanding Purpose Files
163
-
164
- Purpose files are the foundation of Paradigm. They define what your project does and how it's structured.
165
-
166
- ## What You'll Learn
167
-
168
- - How Purpose files define features (\`@\`) and components (\`#\`)
169
- - How to read and understand Purpose file syntax
170
- - How features reference other symbols
171
-
172
- ## Tasks
173
-
174
- 1. **Read the root .purpose file**
175
- - Open \`.purpose\` and read through it
176
- - Identify all features (lines starting with \`- id: "@\`)
177
- - Identify all components (lines starting with \`- id: "#\`)
178
-
179
- 2. **Understand feature definitions**
180
- - Look at \`@product-browse\` - what components does it use?
181
- - Look at \`@checkout-flow\` - what gates does it require?
182
- - Notice how features reference other features
183
-
184
- 3. **Explore nested Purpose files**
185
- - Open \`auth/.purpose\` - what features are defined here?
186
- - Open \`payments/.purpose\` - how does it relate to checkout?
187
- - See how domain-specific Purpose files organize knowledge
188
-
189
- 4. **Trace a feature**
190
- - Pick a feature like \`@checkout-flow\`
191
- - Follow its references to see what it depends on
192
- - Understand the relationships between features, components, and gates
193
-
194
- ## Key Concepts
195
-
196
- - **Features (\`@\`)** - User-facing capabilities
197
- - **Components (\`#\`)** - Reusable code units
198
- - **References** - How features connect to components and gates
199
-
200
- ## Checkpoint
201
-
202
- Run:
203
- \`\`\`bash
204
- paradigm tutorial checkpoint
205
- \`\`\`
206
- `
207
- },
208
- {
209
- file: "step-3-understand-gates.md",
210
- content: `# Step 3: Understanding Gates
211
-
212
- Gates define authorization and access control in Paradigm. They're like security checkpoints.
213
-
214
- ## What You'll Learn
215
-
216
- - How gates (\`^\`) define access control
217
- - The structure of locks, keys, and prizes
218
- - How gates protect features
219
-
220
- ## Tasks
221
-
222
- 1. **Examine portal.yaml**
223
- - Open \`portal.yaml\` and read through it
224
- - Notice the structure: gates \u2192 locks \u2192 keys
225
- - See how prizes are awarded when gates pass
226
-
227
- 2. **Understand a simple gate**
228
- - Look at \`^auth-required\`
229
- - What lock does it have?
230
- - What key expression checks authentication?
231
- - What prize is awarded?
232
-
233
- 3. **Explore a complex gate**
234
- - Look at \`^admin-panel\`
235
- - How many locks does it have?
236
- - What conditions must be met?
237
- - What prizes are available?
238
-
239
- 4. **See gates in action**
240
- - Go back to \`.purpose\` files
241
- - Find features that reference gates (like \`^auth-required\`)
242
- - Understand how gates protect features
243
-
244
- ## Key Concepts
245
-
246
- - **Gates (\`^\`)** - Access control points
247
- - **Locks** - Conditions that must be met
248
- - **Keys** - Expressions that unlock locks
249
- - **Prizes** - Rewards when gates pass
250
-
251
- ## Checkpoint
252
-
253
- Run:
254
- \`\`\`bash
255
- paradigm tutorial checkpoint
256
- \`\`\`
257
- `
258
- },
259
- {
260
- file: "step-4-explore-symbols.md",
261
- content: `# Step 4: Exploring Symbols
262
-
263
- Paradigm uses a symbol system to create a shared language between code, developers, and AI.
264
-
265
- ## What You'll Learn
266
-
267
- - All the symbol types in Paradigm
268
- - Concatenated symbols (compound ideas like \`?@\`, \`?#\`, \`?!\`)
269
- - How symbols reference each other
270
- - How to use paradigm commands to explore symbols
271
-
272
- ## Tasks
273
-
274
- 1. **Run paradigm status**
275
- \`\`\`bash
276
- paradigm status
277
- \`\`\`
278
- - See how many features, components, gates, etc. are defined
279
- - Notice the symbol counts
280
-
281
- 2. **Understand symbol types**
282
- - \`@\` - Features (user-facing capabilities)
283
- - \`#\` - Components (reusable code units)
284
- - \`$\` - Flows (multi-step processes)
285
- - \`%\` - State (global/user state)
286
- - \`~\` - Deprecated (marked for removal)
287
- - \`^\` - Gates (access control)
288
- - \`!\` - Signals (events/errors)
289
- - \`?\` - Ideas (exploration)
290
-
291
- 3. **Understand concatenated symbols (compound ideas)**
292
- Ideas can specify what type of symbol they're exploring by using a compound prefix:
293
- - \`?@subscription-model\` - Idea for a feature
294
- - \`?#dark-mode-toggle\` - Idea for a component
295
- - \`?$express-checkout\` - Idea for a flow
296
- - \`?%user-preferences\` - Idea for state
297
- - \`?~old-api-removal\` - Idea for deprecation
298
- - \`?^premium-access\` - Idea for a gate
299
- - \`?!payment-webhook\` - Idea for a signal
300
-
301
- **Why use compound ideas?**
302
- - **Categorization**: Makes it clear what type of symbol the idea relates to
303
- - **Discoverability**: In the Dreamscape visualizer, compound ideas connect to their target symbol type
304
- - **Planning**: Helps organize ideas by what they would become if implemented
305
-
306
- **Simple vs Compound:**
307
- - \`?subscription-model\` - General idea, no specific type
308
- - \`?@subscription-model\` - Idea specifically for a feature
309
-
310
- 4. **Trace symbol relationships**
311
- - Pick a feature like \`@checkout-flow\`
312
- - See what gates it requires
313
- - See what components it uses
314
- - See what flows it's part of
315
- - Look for compound ideas in \`.premise\` files
316
-
317
- 5. **Explore with paradigm commands**
318
- \`\`\`bash
319
- paradigm purpose validate
320
- paradigm gate validate
321
- \`\`\`
322
- - Validate your Purpose files
323
- - Validate your gate configuration
324
-
325
- ## Key Concepts
326
-
327
- - Symbols create a traceable web of relationships
328
- - Compound ideas (\`?@\`, \`?#\`, etc.) categorize ideas by their target symbol type
329
- - In the Dreamscape visualizer, compound ideas visually connect to their symbol type
330
- - AI agents can follow these relationships
331
- - Symbols make project knowledge discoverable
332
-
333
- ## Checkpoint
334
-
335
- Run:
336
- \`\`\`bash
337
- paradigm tutorial checkpoint
338
- \`\`\`
339
- `
340
- },
341
- {
342
- file: "step-5-visualize.md",
343
- content: `# Step 5: Visualize in Dreamscape
344
-
345
- The Dreamscape is Paradigm's infinite canvas where all project knowledge flows together.
346
-
347
- ## What You'll Learn
348
-
349
- - How to aggregate all symbols into the Dreamscape
350
- - How to visualize your project knowledge
351
- - How to explore relationships visually
352
-
353
- ## Tasks
354
-
355
- 1. **Aggregate symbols**
356
- \`\`\`bash
357
- paradigm dream aggregate
358
- \`\`\`
359
- - This combines all Purpose and Gate files
360
- - Creates a unified symbol index
361
- - Prepares data for visualization
362
-
363
- 2. **Open the Dreamscape**
364
- \`\`\`bash
365
- paradigm visualize
366
- \`\`\`
367
- - This opens the visualizer in your browser
368
- - You'll see all your symbols as nodes
369
- - Connections show relationships
370
-
371
- 3. **Explore visually**
372
- - Click on features to see their connections
373
- - See how gates protect features
374
- - Understand the flow of information
375
- - Notice how everything connects
376
-
377
- 4. **Understand the big picture**
378
- - See how ShopFlow is structured
379
- - Understand feature dependencies
380
- - Visualize authorization topology
381
-
382
- ## Key Concepts
383
-
384
- - The Dreamscape shows everything at once
385
- - Visual exploration helps understand relationships
386
- - Symbols become nodes, references become connections
387
-
388
- ## Checkpoint
389
-
390
- Run:
391
- \`\`\`bash
392
- paradigm tutorial checkpoint
393
- \`\`\`
394
-
395
- ## Next Steps
396
-
397
- Congratulations! You've completed the tutorial. You now understand:
398
- - How Paradigm structures project knowledge
399
- - How Purpose files define features and components
400
- - How Gates define authorization
401
- - How symbols create relationships
402
- - How to visualize everything in the Dreamscape
403
-
404
- Continue exploring ShopFlow, or start using Paradigm in your own projects!
405
- `
406
- }
407
- ];
408
- for (const stepFile of stepFiles) {
409
- const stepPath = path.join(tutorialDir, stepFile.file);
410
- fs.writeFileSync(stepPath, stepFile.content, "utf8");
411
- }
412
- }
413
- function loadCurriculum(rootDir) {
414
- const curriculumPath = path.join(rootDir, CURRICULUM_FILE);
415
- if (!fs.existsSync(curriculumPath)) {
416
- generateDefaultCurriculum(rootDir);
417
- }
418
- return yaml.load(fs.readFileSync(curriculumPath, "utf8"));
419
- }
420
- async function validateCheckpoint(rootDir, stepId, curriculum) {
421
- const step = curriculum.steps.find((s) => s.id === stepId);
422
- if (!step) {
423
- return false;
424
- }
425
- for (const checkpoint of step.checkpoints || []) {
426
- switch (checkpoint.type) {
427
- case "file-exists": {
428
- const filePath = path.join(rootDir, checkpoint.path);
429
- if (!fs.existsSync(filePath)) {
430
- console.log(chalk.red(`\u274C Missing: ${checkpoint.path}`));
431
- return false;
432
- }
433
- break;
434
- }
435
- case "symbol-count": {
436
- break;
437
- }
438
- case "gate-count": {
439
- break;
440
- }
441
- case "command-success": {
442
- try {
443
- execSync(checkpoint.command, { cwd: rootDir, stdio: "pipe" });
444
- } catch {
445
- console.log(chalk.red(`\u274C Command failed: ${checkpoint.command}`));
446
- return false;
447
- }
448
- break;
449
- }
450
- case "bug-fixed": {
451
- const state = loadState(rootDir);
452
- if (!state.fixedBugs.includes(checkpoint.bug)) {
453
- console.log(chalk.red(`\u274C Bug not fixed: ${checkpoint.bug}`));
454
- return false;
455
- }
456
- break;
457
- }
458
- }
459
- }
460
- return true;
461
- }
462
- async function tutorialStartCommand(targetPath) {
463
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
464
- try {
465
- const curriculumPath = path.join(rootDir, CURRICULUM_FILE);
466
- if (!fs.existsSync(curriculumPath)) {
467
- console.log(chalk.blue("\n\u{1F4DA} Generating tutorial curriculum...\n"));
468
- generateDefaultCurriculum(rootDir);
469
- console.log(chalk.green("\u2705 Tutorial curriculum generated!\n"));
470
- }
471
- const curriculum = loadCurriculum(rootDir);
472
- const state = loadState(rootDir);
473
- if (!state.currentStep && curriculum.steps.length > 0) {
474
- state.currentStep = curriculum.steps[0].id;
475
- saveState(rootDir, state);
476
- }
477
- console.log(chalk.blue("\n\u{1F393} Paradigm Tutorial\n"));
478
- console.log(`Current Step: ${state.currentStep || "Not started"}`);
479
- console.log(`Completed Steps: ${state.completedSteps.length}/${curriculum.steps.length}
480
- `);
481
- if (state.currentStep) {
482
- const step = curriculum.steps.find((s) => s.id === state.currentStep);
483
- if (step) {
484
- const stepFile = path.join(rootDir, ".paradigm/tutorial", step.file);
485
- if (fs.existsSync(stepFile)) {
486
- console.log(chalk.cyan(`\u{1F4D6} ${step.title}`));
487
- console.log(chalk.gray(step.description));
488
- console.log(chalk.gray(`
489
- View full instructions: ${stepFile}
490
- `));
491
- }
492
- }
493
- }
494
- console.log("Commands:");
495
- console.log(" paradigm tutorial step <n> Show step n");
496
- console.log(" paradigm tutorial checkpoint Validate current checkpoint");
497
- console.log(" paradigm tutorial next Move to next step");
498
- console.log(" paradigm tutorial status Show progress");
499
- console.log(" paradigm tutorial reset Reset tutorial\n");
500
- } catch (error) {
501
- console.error(chalk.red(`\u274C Error: ${error.message}`));
502
- process.exit(1);
503
- }
504
- }
505
- async function tutorialStepCommand(targetPath, stepNum) {
506
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
507
- try {
508
- const curriculum = loadCurriculum(rootDir);
509
- const stepIndex = stepNum ? parseInt(stepNum, 10) - 1 : 0;
510
- if (stepIndex < 0 || stepIndex >= curriculum.steps.length) {
511
- console.error(chalk.red(`\u274C Invalid step number: ${stepNum}`));
512
- process.exit(1);
513
- }
514
- const step = curriculum.steps[stepIndex];
515
- const stepFile = path.join(rootDir, ".paradigm/tutorial", step.file);
516
- if (fs.existsSync(stepFile)) {
517
- console.log(chalk.blue(`
518
- \u{1F4D6} Step ${stepIndex + 1}: ${step.title}
519
- `));
520
- const content = fs.readFileSync(stepFile, "utf8");
521
- console.log(content);
522
- } else {
523
- console.error(chalk.red(`\u274C Step file not found: ${stepFile}`));
524
- process.exit(1);
525
- }
526
- } catch (error) {
527
- console.error(chalk.red(`\u274C Error: ${error.message}`));
528
- process.exit(1);
529
- }
530
- }
531
- async function tutorialCheckpointCommand(targetPath) {
532
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
533
- try {
534
- const curriculum = loadCurriculum(rootDir);
535
- const state = loadState(rootDir);
536
- if (!state.currentStep) {
537
- console.log(chalk.yellow("\u26A0\uFE0F No active step. Run `paradigm tutorial start` first."));
538
- return;
539
- }
540
- console.log(chalk.blue(`
541
- \u{1F50D} Validating checkpoint for step: ${state.currentStep}
542
- `));
543
- const passed = await validateCheckpoint(rootDir, state.currentStep, curriculum);
544
- if (passed) {
545
- console.log(chalk.green("\u2705 All checkpoints passed!\n"));
546
- const currentIndex = curriculum.steps.findIndex((s) => s.id === state.currentStep);
547
- if (currentIndex < curriculum.steps.length - 1) {
548
- const nextStep = curriculum.steps[currentIndex + 1];
549
- const nextStepFile = path.join(rootDir, ".paradigm/tutorial", nextStep.file);
550
- if (fs.existsSync(nextStepFile)) {
551
- console.log(chalk.cyan(`
552
- \u{1F4D6} Next Step: ${nextStep.title}
553
- `));
554
- console.log(chalk.gray(nextStep.description));
555
- console.log(chalk.gray(`
556
- Run 'paradigm tutorial step ${currentIndex + 2}' to view full instructions.
557
- `));
558
- }
559
- } else {
560
- console.log(chalk.green("\n\u{1F389} Congratulations! You've completed all steps!\n"));
561
- console.log(chalk.gray("Run 'paradigm tutorial next' to mark this step as complete.\n"));
562
- }
563
- } else {
564
- console.log(chalk.red("\u274C Some checkpoints failed. Review the errors above.\n"));
565
- process.exit(1);
566
- }
567
- } catch (error) {
568
- console.error(chalk.red(`\u274C Error: ${error.message}`));
569
- process.exit(1);
570
- }
571
- }
572
- async function tutorialNextCommand(targetPath) {
573
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
574
- try {
575
- const curriculum = loadCurriculum(rootDir);
576
- const state = loadState(rootDir);
577
- if (!state.currentStep) {
578
- console.log(chalk.yellow("\u26A0\uFE0F No active step. Run `paradigm tutorial start` first."));
579
- return;
580
- }
581
- const passed = await validateCheckpoint(rootDir, state.currentStep, curriculum);
582
- if (!passed) {
583
- console.log(chalk.red("\n\u274C Cannot proceed. Please complete current step checkpoints first.\n"));
584
- process.exit(1);
585
- }
586
- if (!state.completedSteps.includes(state.currentStep)) {
587
- state.completedSteps.push(state.currentStep);
588
- }
589
- const currentIndex = curriculum.steps.findIndex((s) => s.id === state.currentStep);
590
- if (currentIndex < curriculum.steps.length - 1) {
591
- state.currentStep = curriculum.steps[currentIndex + 1].id;
592
- saveState(rootDir, state);
593
- console.log(chalk.green(`
594
- \u2705 Step completed! Moving to next step.
595
- `));
596
- await tutorialStepCommand(targetPath, String(currentIndex + 2));
597
- } else {
598
- state.currentStep = null;
599
- saveState(rootDir, state);
600
- console.log(chalk.green("\n\u{1F389} Congratulations! You've completed the tutorial!\n"));
601
- }
602
- } catch (error) {
603
- console.error(chalk.red(`\u274C Error: ${error.message}`));
604
- process.exit(1);
605
- }
606
- }
607
- async function tutorialStatusCommand(targetPath) {
608
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
609
- try {
610
- const curriculum = loadCurriculum(rootDir);
611
- const state = loadState(rootDir);
612
- console.log(chalk.blue("\n\u{1F4CA} Tutorial Progress\n"));
613
- console.log(`Current Step: ${state.currentStep || "Not started"}`);
614
- console.log(`Completed: ${state.completedSteps.length}/${curriculum.steps.length}`);
615
- console.log(`Bugs Fixed: ${state.fixedBugs.length}
616
- `);
617
- if (state.currentStep) {
618
- const step = curriculum.steps.find((s) => s.id === state.currentStep);
619
- if (step) {
620
- console.log(chalk.cyan(`Current: ${step.title}`));
621
- console.log(chalk.gray(step.description));
622
- }
623
- }
624
- console.log("");
625
- } catch (error) {
626
- console.error(chalk.red(`\u274C Error: ${error.message}`));
627
- process.exit(1);
628
- }
629
- }
630
- async function tutorialResetCommand(targetPath) {
631
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
632
- const statePath = path.join(rootDir, TUTORIAL_STATE_FILE);
633
- if (fs.existsSync(statePath)) {
634
- fs.unlinkSync(statePath);
635
- }
636
- console.log(chalk.green("\n\u2705 Tutorial reset. Run `paradigm tutorial start` to begin again.\n"));
637
- }
638
- async function tutorialBugsCommand(targetPath) {
639
- const rootDir = targetPath ? path.resolve(targetPath) : process.cwd();
640
- try {
641
- const curriculum = loadCurriculum(rootDir);
642
- const state = loadState(rootDir);
643
- console.log(chalk.blue("\n\u{1F41B} Intentional Bugs\n"));
644
- for (const bug of curriculum.bugs || []) {
645
- const fixed = state.fixedBugs.includes(bug.id);
646
- console.log(`${fixed ? chalk.green("\u2705") : chalk.yellow("\u23F3")} ${bug.title}`);
647
- console.log(chalk.gray(` ${bug.description}`));
648
- if (bug.hint) {
649
- console.log(chalk.gray(` Hint: ${bug.hint}`));
650
- }
651
- console.log("");
652
- }
653
- } catch (error) {
654
- console.error(chalk.red(`\u274C Error: ${error.message}`));
655
- process.exit(1);
656
- }
657
- }
658
- export {
659
- tutorialBugsCommand,
660
- tutorialCheckpointCommand,
661
- tutorialNextCommand,
662
- tutorialResetCommand,
663
- tutorialStartCommand,
664
- tutorialStatusCommand,
665
- tutorialStepCommand
666
- };