@a-company/paradigm 5.38.0 → 6.0.2

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 (328) hide show
  1. package/dist/{accept-orchestration-OATWIRHP.js → accept-orchestration-QQISPINV.js} +1 -1
  2. package/dist/add-UOR4INIV.js +8 -0
  3. package/dist/{agent-loader-RIVI6QPP.js → agent-loader-2WJHD46U.js} +1 -1
  4. package/dist/{agent-loader-RJRVO5GQ.js → agent-loader-YKS2PQWO.js} +1 -1
  5. package/dist/{ambient-76YMUA5Q.js → ambient-BE3SQXNN.js} +1 -1
  6. package/dist/{ambient-WTLYUAQM.js → ambient-NVKQCW2A.js} +12 -12
  7. package/dist/{assess-UFPYEJKP.js → assess-63WXHWJV.js} +1 -1
  8. package/dist/{calibration-OLJYB5HN.js → calibration-BDHGYJOK.js} +1 -1
  9. package/dist/{chunk-5QOCKWK5.js → chunk-4PSD5R7N.js} +2 -2
  10. package/dist/{chunk-HOBHJPTL.js → chunk-6SKSV5B2.js} +1 -1
  11. package/dist/{chunk-4L7665QV.js → chunk-FEYOQMZ5.js} +1 -1
  12. package/dist/{chunk-NEJ4ZLCY.js → chunk-GAFKOFAV.js} +1 -1
  13. package/dist/chunk-GRZQIKST.js +2 -0
  14. package/dist/{chunk-RLCH7DXQ.js → chunk-K7X3Z3GL.js} +1 -1
  15. package/dist/{chunk-4VKSEOXZ.js → chunk-LPBCQM5Y.js} +3 -3
  16. package/dist/{chunk-74SGKSRQ.js → chunk-M2HKWR25.js} +1 -1
  17. package/dist/{chunk-BOYQAMGC.js → chunk-M3PPXJU4.js} +1 -1
  18. package/dist/chunk-PHEX6LU4.js +111 -0
  19. package/dist/chunk-Q527BPUF.js +2 -0
  20. package/dist/chunk-R5ECMBIV.js +11 -0
  21. package/dist/{chunk-X3U3IGYT.js → chunk-TBWWFRL5.js} +1 -1
  22. package/dist/{chunk-MQIG6SMF.js → chunk-TNVWGPCE.js} +1 -1
  23. package/dist/chunk-TZDYIPVU.js +521 -0
  24. package/dist/{chunk-3XGNXXCT.js → chunk-UZ5H7K6Q.js} +1 -1
  25. package/dist/chunk-VIG5LSGZ.js +2 -0
  26. package/dist/chunk-VNIX5KBT.js +3 -0
  27. package/dist/{chunk-AGFPVSX5.js → chunk-VXIIVMTM.js} +1 -1
  28. package/dist/{chunk-ORDKEGII.js → chunk-WESTEMIM.js} +1 -1
  29. package/dist/{chunk-DOCDDDTD.js → chunk-YNDPSWOE.js} +5 -5
  30. package/dist/chunk-Z5QW6USC.js +2 -0
  31. package/dist/{compliance-D7GD6ZYC.js → compliance-BNFWQPKM.js} +1 -1
  32. package/dist/config-schema-FLHRVZMI.js +2 -0
  33. package/dist/{context-audit-XRPT3OU2.js → context-audit-JVCA6GSV.js} +1 -1
  34. package/dist/{cursorrules-U5O4G5T4.js → cursorrules-ZXPXPZ3P.js} +1 -1
  35. package/dist/decision-loader-HELL2AMX.js +2 -0
  36. package/dist/{delete-P5VULXR4.js → delete-2C6ALLYY.js} +1 -1
  37. package/dist/{diff-YGHBIJY5.js → diff-MF55KQZH.js} +1 -1
  38. package/dist/{dist-KGRCLBJP-2QAPFYNF.js → dist-GQ42YS5N-4HIJZVBB.js} +10 -10
  39. package/dist/{docs-USDAF26F.js → docs-O37YLLRN.js} +1 -1
  40. package/dist/doctor-IG5XM4C4.js +2 -0
  41. package/dist/{edit-GUU3HBVW.js → edit-P3MDAZLU.js} +1 -1
  42. package/dist/{flow-FVZR3YJ4.js → flow-BGXOVE2V.js} +1 -1
  43. package/dist/index.js +6 -6
  44. package/dist/init-M44SO65G.js +2 -0
  45. package/dist/{init-XYB62Q3X.js → init-V4KSEKPK.js} +1 -1
  46. package/dist/{list-YKIQNKGB.js → list-2XIWUEMA.js} +1 -1
  47. package/dist/list-CFHINXIS.js +12 -0
  48. package/dist/lore-loader-D2ISOASW.js +2 -0
  49. package/dist/lore-loader-PXFKMKAN.js +2 -0
  50. package/dist/mcp.js +4 -4
  51. package/dist/metrics-UESGUHTA.js +2 -0
  52. package/dist/migrate-assessments-YSITX7KM.js +4 -0
  53. package/dist/migrate-decisions-NPLQOEEH.js +6 -0
  54. package/dist/migrate-plsat-EM2ACIQ3.js +6 -0
  55. package/dist/{nomination-engine-EALA5MGI.js → nomination-engine-QPZJH6XO.js} +1 -1
  56. package/dist/{notebook-loader-PXNRBBXD.js → notebook-loader-3J2OFMS3.js} +1 -1
  57. package/dist/{orchestrate-M5PBZBJQ.js → orchestrate-RID7HHHH.js} +1 -1
  58. package/dist/{platform-server-DNAMH4YI.js → platform-server-UD45NTGV.js} +1 -1
  59. package/dist/{portal-check-ZMLVBIGW.js → portal-check-DV2VSJ5E.js} +1 -1
  60. package/dist/portal-compliance-JONQ4SOP.js +2 -0
  61. package/dist/{probe-3FTG6LYO.js → probe-5HAXULAD.js} +1 -1
  62. package/dist/{providers-AWA7WLLM.js → providers-4PXMWA7V.js} +1 -1
  63. package/dist/quiz-WYIZJG5K.js +10 -0
  64. package/dist/{record-YXPB34MY.js → record-N3VNYYKJ.js} +1 -1
  65. package/dist/reindex-FWPD2VGM.js +2 -0
  66. package/dist/{retag-N5XF3KXP.js → retag-72R2OSZV.js} +1 -1
  67. package/dist/{review-77QI6VOC.js → review-2INNWLTW.js} +1 -1
  68. package/dist/{sentinel-HYAZ3CO5.js → sentinel-EFPEX246.js} +1 -1
  69. package/dist/{sentinel-bridge-VR357PKL.js → sentinel-bridge-UR2MKARY.js} +1 -1
  70. package/dist/{serve-U47GULB6.js → serve-MO35XIZE.js} +1 -1
  71. package/dist/serve-OQYUO7CR.js +12 -0
  72. package/dist/{server-4YNUIK4W.js → server-4D77LCST.js} +1 -1
  73. package/dist/server-FGUL2FWQ.js +7 -0
  74. package/dist/session-tracker-KGORN6B5.js +2 -0
  75. package/dist/{session-work-log-PAKXOFGL.js → session-work-log-4IEVE4KK.js} +1 -1
  76. package/dist/{session-work-log-ZP45TREI.js → session-work-log-EE4UIZ33.js} +1 -1
  77. package/dist/{setup-FEWSYS3Y.js → setup-ZSEC72BS.js} +1 -1
  78. package/dist/{shift-PC6C7NUX.js → shift-TVNY2CQF.js} +6 -6
  79. package/dist/{show-PJ5LFLIL.js → show-JH7LJ5MT.js} +1 -1
  80. package/dist/show-WVHAL4VU.js +7 -0
  81. package/dist/{spawn-M5BAV252.js → spawn-UH5RENSE.js} +1 -1
  82. package/dist/status-S7Z5FVIE.js +6 -0
  83. package/dist/{summary-PYTEIJ4U.js → summary-WLI3NF4G.js} +2 -2
  84. package/dist/{sweep-HU74OPVW.js → sweep-7TZFN5NS.js} +1 -1
  85. package/dist/sync-55U6QPIA.js +2 -0
  86. package/dist/{sync-llms-7CAI74QL.js → sync-llms-GF7DDQDI.js} +1 -1
  87. package/dist/{team-PDK64JXI.js → team-MGT66HZQ.js} +1 -1
  88. package/dist/{timeline-K3ZFKJ3R.js → timeline-RK7O2SCM.js} +1 -1
  89. package/dist/tools-QJHAVYI6.js +2 -0
  90. package/dist/university-content/notes/N-para-001-build-something.md +126 -0
  91. package/dist/university-content/notes/N-para-001-meet-the-team.md +85 -0
  92. package/dist/university-content/notes/N-para-001-shift-setup.md +74 -0
  93. package/dist/university-content/notes/N-para-101-component-types.md +99 -0
  94. package/dist/university-content/notes/N-para-101-first-steps.md +134 -0
  95. package/dist/university-content/notes/N-para-101-five-symbols.md +128 -0
  96. package/dist/university-content/notes/N-para-101-paradigm-logger.md +89 -0
  97. package/dist/university-content/notes/N-para-101-portal-yaml.md +112 -0
  98. package/dist/university-content/notes/N-para-101-project-structure.md +143 -0
  99. package/dist/university-content/notes/N-para-101-purpose-files.md +121 -0
  100. package/dist/university-content/notes/N-para-101-tags-and-classification.md +93 -0
  101. package/dist/university-content/notes/N-para-101-welcome.md +51 -0
  102. package/dist/university-content/notes/N-para-201-architecture-review.md +175 -0
  103. package/dist/university-content/notes/N-para-201-aspect-graph.md +79 -0
  104. package/dist/university-content/notes/N-para-201-aspects-and-anchors.md +112 -0
  105. package/dist/university-content/notes/N-para-201-component-patterns.md +138 -0
  106. package/dist/university-content/notes/N-para-201-cross-cutting-concerns.md +145 -0
  107. package/dist/university-content/notes/N-para-201-disciplines.md +187 -0
  108. package/dist/university-content/notes/N-para-201-flows-deep-dive.md +119 -0
  109. package/dist/university-content/notes/N-para-201-gates-deep-dive.md +165 -0
  110. package/dist/university-content/notes/N-para-201-portal-protocol.md +133 -0
  111. package/dist/university-content/notes/N-para-201-signal-patterns.md +159 -0
  112. package/dist/university-content/notes/N-para-201-symbol-naming.md +149 -0
  113. package/dist/university-content/notes/N-para-301-context-management.md +53 -0
  114. package/dist/university-content/notes/N-para-301-decisions.md +99 -0
  115. package/dist/university-content/notes/N-para-301-doctor-and-validation.md +70 -0
  116. package/dist/university-content/notes/N-para-301-enforcement-levels.md +102 -0
  117. package/dist/university-content/notes/N-para-301-fragility-tracking.md +50 -0
  118. package/dist/university-content/notes/N-para-301-history-system.md +42 -0
  119. package/dist/university-content/notes/N-para-301-navigation-system.md +55 -0
  120. package/dist/university-content/notes/N-para-301-operations-review.md +55 -0
  121. package/dist/university-content/notes/N-para-301-paradigm-shift.md +93 -0
  122. package/dist/university-content/notes/N-para-301-protocols.md +113 -0
  123. package/dist/university-content/notes/N-para-301-ripple-analysis.md +53 -0
  124. package/dist/university-content/notes/N-para-301-sentinel-observability.md +87 -0
  125. package/dist/university-content/notes/N-para-301-sync-and-maintenance.md +57 -0
  126. package/dist/university-content/notes/N-para-301-wisdom-system.md +89 -0
  127. package/dist/university-content/notes/N-para-401-agent-identity.md +99 -0
  128. package/dist/university-content/notes/N-para-401-agent-interop.md +87 -0
  129. package/dist/university-content/notes/N-para-401-agent-roles.md +107 -0
  130. package/dist/university-content/notes/N-para-401-commit-conventions.md +82 -0
  131. package/dist/university-content/notes/N-para-401-mastery-review.md +71 -0
  132. package/dist/university-content/notes/N-para-401-mcp-tools-overview.md +102 -0
  133. package/dist/university-content/notes/N-para-401-multi-agent-coordination.md +80 -0
  134. package/dist/university-content/notes/N-para-401-notebooks-permissions.md +66 -0
  135. package/dist/university-content/notes/N-para-401-orchestration-workflow.md +101 -0
  136. package/dist/university-content/notes/N-para-401-pm-governance.md +71 -0
  137. package/dist/university-content/notes/N-para-401-provider-cascade.md +75 -0
  138. package/dist/university-content/notes/N-para-401-quick-check.md +95 -0
  139. package/dist/university-content/notes/N-para-501-advanced-workflows.md +122 -0
  140. package/dist/university-content/notes/N-para-501-aspect-graph-advanced.md +195 -0
  141. package/dist/university-content/notes/N-para-501-aspect-graph-internals.md +97 -0
  142. package/dist/university-content/notes/N-para-501-assessment-loops.md +116 -0
  143. package/dist/university-content/notes/N-para-501-conductor-workspace.md +77 -0
  144. package/dist/university-content/notes/N-para-501-habits-practice.md +164 -0
  145. package/dist/university-content/notes/N-para-501-hook-enforcement.md +100 -0
  146. package/dist/university-content/notes/N-para-501-lore-system.md +155 -0
  147. package/dist/university-content/notes/N-para-501-platform-agent-ui.md +108 -0
  148. package/dist/university-content/notes/N-para-501-review-compliance.md +72 -0
  149. package/dist/university-content/notes/N-para-501-sentinel-deep-dive.md +173 -0
  150. package/dist/university-content/notes/N-para-501-session-intelligence.md +104 -0
  151. package/dist/university-content/notes/N-para-501-symphony-a-mail.md +120 -0
  152. package/dist/university-content/notes/N-para-501-symphony-networking.md +119 -0
  153. package/dist/university-content/notes/N-para-501-task-management.md +100 -0
  154. package/dist/university-content/notes/N-para-601-agent-renaissance.md +121 -0
  155. package/dist/university-content/notes/N-para-601-attention-scoring.md +129 -0
  156. package/dist/university-content/notes/N-para-601-context-composition.md +146 -0
  157. package/dist/university-content/notes/N-para-601-data-sovereignty.md +140 -0
  158. package/dist/university-content/notes/N-para-601-event-stream.md +126 -0
  159. package/dist/university-content/notes/N-para-601-knowledge-streams.md +144 -0
  160. package/dist/university-content/notes/N-para-601-learning-loop.md +68 -0
  161. package/dist/university-content/notes/N-para-601-maestro-team-collab.md +136 -0
  162. package/dist/university-content/notes/N-para-601-nominations-debates.md +115 -0
  163. package/dist/university-content/notes/N-para-701-agent-notebooks.md +131 -0
  164. package/dist/university-content/notes/N-para-701-agent-pods-nevrland.md +182 -0
  165. package/dist/university-content/notes/N-para-701-agent-profiles.md +197 -0
  166. package/dist/university-content/notes/N-para-701-agent-roster.md +82 -0
  167. package/dist/university-content/notes/N-para-701-agent-state.md +180 -0
  168. package/dist/university-content/notes/N-para-701-learning-feedback-loop.md +188 -0
  169. package/dist/university-content/notes/N-para-701-model-tier-resolution.md +204 -0
  170. package/dist/university-content/notes/N-para-701-orchestration-enforcement.md +169 -0
  171. package/dist/university-content/notes/N-para-701-per-project-rosters.md +198 -0
  172. package/dist/university-content/notes/N-para-701-symphony-visibility.md +142 -0
  173. package/dist/university-content/paths/LP-para-001.yaml +29 -0
  174. package/dist/university-content/paths/LP-para-101.yaml +59 -0
  175. package/dist/university-content/paths/LP-para-201.yaml +69 -0
  176. package/dist/university-content/paths/LP-para-301.yaml +84 -0
  177. package/dist/university-content/paths/LP-para-401.yaml +74 -0
  178. package/dist/university-content/paths/LP-para-501.yaml +89 -0
  179. package/dist/university-content/paths/LP-para-601.yaml +59 -0
  180. package/dist/university-content/paths/LP-para-701.yaml +64 -0
  181. package/dist/university-content/quizzes/Q-para-001-build-something.yaml +46 -0
  182. package/dist/university-content/quizzes/Q-para-001-meet-the-team.yaml +46 -0
  183. package/dist/university-content/quizzes/Q-para-001-shift-setup.yaml +46 -0
  184. package/dist/university-content/quizzes/Q-para-101-component-types.yaml +46 -0
  185. package/dist/university-content/quizzes/Q-para-101-first-steps.yaml +56 -0
  186. package/dist/university-content/quizzes/Q-para-101-five-symbols.yaml +66 -0
  187. package/dist/university-content/quizzes/Q-para-101-paradigm-logger.yaml +56 -0
  188. package/dist/university-content/quizzes/Q-para-101-portal-yaml.yaml +56 -0
  189. package/dist/university-content/quizzes/Q-para-101-project-structure.yaml +66 -0
  190. package/dist/university-content/quizzes/Q-para-101-purpose-files.yaml +56 -0
  191. package/dist/university-content/quizzes/Q-para-101-tags-and-classification.yaml +56 -0
  192. package/dist/university-content/quizzes/Q-para-101-welcome.yaml +56 -0
  193. package/dist/university-content/quizzes/Q-para-201-architecture-review.yaml +66 -0
  194. package/dist/university-content/quizzes/Q-para-201-aspect-graph.yaml +46 -0
  195. package/dist/university-content/quizzes/Q-para-201-aspects-and-anchors.yaml +56 -0
  196. package/dist/university-content/quizzes/Q-para-201-component-patterns.yaml +56 -0
  197. package/dist/university-content/quizzes/Q-para-201-cross-cutting-concerns.yaml +56 -0
  198. package/dist/university-content/quizzes/Q-para-201-disciplines.yaml +66 -0
  199. package/dist/university-content/quizzes/Q-para-201-flows-deep-dive.yaml +66 -0
  200. package/dist/university-content/quizzes/Q-para-201-gates-deep-dive.yaml +66 -0
  201. package/dist/university-content/quizzes/Q-para-201-portal-protocol.yaml +56 -0
  202. package/dist/university-content/quizzes/Q-para-201-signal-patterns.yaml +56 -0
  203. package/dist/university-content/quizzes/Q-para-201-symbol-naming.yaml +66 -0
  204. package/dist/university-content/quizzes/Q-para-301-context-management.yaml +56 -0
  205. package/dist/university-content/quizzes/Q-para-301-decisions.yaml +76 -0
  206. package/dist/university-content/quizzes/Q-para-301-doctor-and-validation.yaml +66 -0
  207. package/dist/university-content/quizzes/Q-para-301-enforcement-levels.yaml +46 -0
  208. package/dist/university-content/quizzes/Q-para-301-fragility-tracking.yaml +46 -0
  209. package/dist/university-content/quizzes/Q-para-301-history-system.yaml +56 -0
  210. package/dist/university-content/quizzes/Q-para-301-navigation-system.yaml +56 -0
  211. package/dist/university-content/quizzes/Q-para-301-operations-review.yaml +66 -0
  212. package/dist/university-content/quizzes/Q-para-301-paradigm-shift.yaml +46 -0
  213. package/dist/university-content/quizzes/Q-para-301-protocols.yaml +56 -0
  214. package/dist/university-content/quizzes/Q-para-301-ripple-analysis.yaml +56 -0
  215. package/dist/university-content/quizzes/Q-para-301-sentinel-observability.yaml +46 -0
  216. package/dist/university-content/quizzes/Q-para-301-sync-and-maintenance.yaml +46 -0
  217. package/dist/university-content/quizzes/Q-para-301-wisdom-system.yaml +56 -0
  218. package/dist/university-content/quizzes/Q-para-401-agent-identity.yaml +66 -0
  219. package/dist/university-content/quizzes/Q-para-401-agent-interop.yaml +46 -0
  220. package/dist/university-content/quizzes/Q-para-401-agent-roles.yaml +56 -0
  221. package/dist/university-content/quizzes/Q-para-401-commit-conventions.yaml +56 -0
  222. package/dist/university-content/quizzes/Q-para-401-mastery-review.yaml +66 -0
  223. package/dist/university-content/quizzes/Q-para-401-mcp-tools-overview.yaml +66 -0
  224. package/dist/university-content/quizzes/Q-para-401-multi-agent-coordination.yaml +76 -0
  225. package/dist/university-content/quizzes/Q-para-401-notebooks-permissions.yaml +61 -0
  226. package/dist/university-content/quizzes/Q-para-401-orchestration-workflow.yaml +66 -0
  227. package/dist/university-content/quizzes/Q-para-401-pm-governance.yaml +66 -0
  228. package/dist/university-content/quizzes/Q-para-401-provider-cascade.yaml +56 -0
  229. package/dist/university-content/quizzes/Q-para-401-quick-check.yaml +46 -0
  230. package/dist/university-content/quizzes/Q-para-501-advanced-workflows.yaml +66 -0
  231. package/dist/university-content/quizzes/Q-para-501-aspect-graph-advanced.yaml +66 -0
  232. package/dist/university-content/quizzes/Q-para-501-aspect-graph-internals.yaml +66 -0
  233. package/dist/university-content/quizzes/Q-para-501-assessment-loops.yaml +46 -0
  234. package/dist/university-content/quizzes/Q-para-501-conductor-workspace.yaml +46 -0
  235. package/dist/university-content/quizzes/Q-para-501-habits-practice.yaml +56 -0
  236. package/dist/university-content/quizzes/Q-para-501-hook-enforcement.yaml +66 -0
  237. package/dist/university-content/quizzes/Q-para-501-lore-system.yaml +66 -0
  238. package/dist/university-content/quizzes/Q-para-501-platform-agent-ui.yaml +66 -0
  239. package/dist/university-content/quizzes/Q-para-501-review-compliance.yaml +61 -0
  240. package/dist/university-content/quizzes/Q-para-501-sentinel-deep-dive.yaml +86 -0
  241. package/dist/university-content/quizzes/Q-para-501-session-intelligence.yaml +66 -0
  242. package/dist/university-content/quizzes/Q-para-501-symphony-a-mail.yaml +66 -0
  243. package/dist/university-content/quizzes/Q-para-501-symphony-networking.yaml +66 -0
  244. package/dist/university-content/quizzes/Q-para-501-task-management.yaml +46 -0
  245. package/dist/university-content/quizzes/Q-para-601-agent-renaissance.yaml +66 -0
  246. package/dist/university-content/quizzes/Q-para-601-attention-scoring.yaml +56 -0
  247. package/dist/university-content/quizzes/Q-para-601-context-composition.yaml +66 -0
  248. package/dist/university-content/quizzes/Q-para-601-data-sovereignty.yaml +56 -0
  249. package/dist/university-content/quizzes/Q-para-601-event-stream.yaml +66 -0
  250. package/dist/university-content/quizzes/Q-para-601-knowledge-streams.yaml +66 -0
  251. package/dist/university-content/quizzes/Q-para-601-learning-loop.yaml +56 -0
  252. package/dist/university-content/quizzes/Q-para-601-maestro-team-collab.yaml +86 -0
  253. package/dist/university-content/quizzes/Q-para-601-nominations-debates.yaml +66 -0
  254. package/dist/university-content/quizzes/Q-para-701-agent-notebooks.yaml +66 -0
  255. package/dist/university-content/quizzes/Q-para-701-agent-pods-nevrland.yaml +66 -0
  256. package/dist/university-content/quizzes/Q-para-701-agent-profiles.yaml +66 -0
  257. package/dist/university-content/quizzes/Q-para-701-agent-roster.yaml +66 -0
  258. package/dist/university-content/quizzes/Q-para-701-agent-state.yaml +66 -0
  259. package/dist/university-content/quizzes/Q-para-701-learning-feedback-loop.yaml +66 -0
  260. package/dist/university-content/quizzes/Q-para-701-model-tier-resolution.yaml +66 -0
  261. package/dist/university-content/quizzes/Q-para-701-orchestration-enforcement.yaml +66 -0
  262. package/dist/university-content/quizzes/Q-para-701-per-project-rosters.yaml +66 -0
  263. package/dist/university-content/quizzes/Q-para-701-symphony-visibility.yaml +66 -0
  264. package/dist/university-content/quizzes/Q-plsat-v2.yaml +904 -0
  265. package/dist/university-content/quizzes/Q-plsat-v3.yaml +2909 -0
  266. package/dist/university-content/reference.json +2 -2
  267. package/dist/university-ui/assets/{index-CecQrfSn.js → index-nNgzO1il.js} +2 -2
  268. package/dist/university-ui/assets/{index-CecQrfSn.js.map → index-nNgzO1il.js.map} +1 -1
  269. package/dist/university-ui/index.html +1 -1
  270. package/dist/{upgrade-GX56QE3C.js → upgrade-NKN63VTY.js} +2 -2
  271. package/dist/validate-XUQZTF3H.js +9 -0
  272. package/dist/{watch-YCODNIET.js → watch-25GJHQYT.js} +1 -1
  273. package/lore-ui/dist/assets/{index-Bk-K0qgN.js → index-DKhNxgtW.js} +10 -10
  274. package/lore-ui/dist/index.html +1 -1
  275. package/package.json +2 -2
  276. package/platform-ui/dist/assets/{AmbientSection-BYjt75R1.js → AmbientSection-CwatqcBD.js} +1 -1
  277. package/platform-ui/dist/assets/{CanvasSection-rKvA_vZj.js → CanvasSection-dFAthehN.js} +1 -1
  278. package/platform-ui/dist/assets/{DocsSection-CI9K73M-.js → DocsSection-BZ2SFJBZ.js} +1 -1
  279. package/platform-ui/dist/assets/{GitSection-DSGj_c6S.js → GitSection-MNNYU1tO.js} +1 -1
  280. package/platform-ui/dist/assets/{GraphSection-CawN7pC5.js → GraphSection-COYjb4Pt.js} +1 -1
  281. package/platform-ui/dist/assets/LoreSection-B0hUbfsJ.js +1 -0
  282. package/platform-ui/dist/assets/{SentinelSection-DNgoYMH0.js → SentinelSection-BCxW1DCp.js} +1 -1
  283. package/platform-ui/dist/assets/{SymphonySection-C0zfcqv3.js → SymphonySection-BsucZRqy.js} +1 -1
  284. package/platform-ui/dist/assets/{TeamSection-Bzd3Dt9Q.js → TeamSection-C0QNTudW.js} +1 -1
  285. package/platform-ui/dist/assets/{UniversitySection-tBr62R0S.js → UniversitySection-DN1-g9pw.js} +1 -1
  286. package/platform-ui/dist/assets/{index-BaOmyn11.js → index-DwUT8pju.js} +2 -2
  287. package/platform-ui/dist/index.html +1 -1
  288. package/dist/add-P76GEMGF.js +0 -8
  289. package/dist/chunk-JQKKVAAN.js +0 -2
  290. package/dist/chunk-NQ47TA6C.js +0 -111
  291. package/dist/chunk-ODVKPZZ4.js +0 -2
  292. package/dist/chunk-Q2J542ST.js +0 -2
  293. package/dist/chunk-RBLK34IA.js +0 -11
  294. package/dist/chunk-RN4VE6P3.js +0 -521
  295. package/dist/chunk-WS2N27RX.js +0 -3
  296. package/dist/config-schema-GUQY2QN7.js +0 -2
  297. package/dist/decision-loader-2XPZE4EZ.js +0 -2
  298. package/dist/doctor-WMVULMQD.js +0 -2
  299. package/dist/list-5IUGP3ZB.js +0 -7
  300. package/dist/lore-loader-RVQI5GXL.js +0 -2
  301. package/dist/lore-loader-XY5MZRR2.js +0 -2
  302. package/dist/migrate-assessments-GEI5WMI2.js +0 -4
  303. package/dist/portal-compliance-6YR27IQU.js +0 -2
  304. package/dist/quiz-FE5UGAY2.js +0 -10
  305. package/dist/reindex-I6LPAKCC.js +0 -2
  306. package/dist/serve-OY6XYL7F.js +0 -12
  307. package/dist/server-2MNROHF6.js +0 -7
  308. package/dist/session-tracker-MWJAJA6Z.js +0 -2
  309. package/dist/show-BOAVWZPZ.js +0 -7
  310. package/dist/status-A37ECYNJ.js +0 -6
  311. package/dist/sync-DLUBV5HQ.js +0 -2
  312. package/dist/tools-5ITPEPSV.js +0 -2
  313. package/dist/university-content/courses/.purpose +0 -492
  314. package/dist/university-content/courses/para-001.json +0 -166
  315. package/dist/university-content/courses/para-101.json +0 -615
  316. package/dist/university-content/courses/para-201.json +0 -794
  317. package/dist/university-content/courses/para-301.json +0 -830
  318. package/dist/university-content/courses/para-401.json +0 -868
  319. package/dist/university-content/courses/para-501.json +0 -1166
  320. package/dist/university-content/courses/para-601.json +0 -719
  321. package/dist/university-content/courses/para-701.json +0 -807
  322. package/dist/university-content/plsat/.purpose +0 -162
  323. package/dist/university-content/plsat/v2.0.json +0 -760
  324. package/dist/university-content/plsat/v3.0.json +0 -3453
  325. package/dist/validate-C6SMKGYD.js +0 -9
  326. package/platform-ui/dist/assets/LoreSection-oO5dCe6O.js +0 -1
  327. /package/dist/{chunk-BV5PRPLB.js → chunk-IZSBGW6E.js} +0 -0
  328. /package/templates/paradigm/specs/{scan.md → probe.md} +0 -0
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import {a}from'./chunk-5TAVYPOV.js';import {execSync}from'child_process';import*as C from'os';import*as i from'fs';import*as d from'path';import*as f from'js-yaml';function R(s){let e=s.toLowerCase();return e.includes("claude")||e.includes("anthropic")?"anthropic":e.includes("gpt")||e.includes("openai")||e.includes("o1")||e.includes("o3")?"openai":e.includes("gemini")||e.includes("google")||e.includes("palm")?"google":e.includes("llama")||e.includes("meta")?"meta":e.includes("mistral")||e.includes("mixtral")?"mistral":e.includes("deepseek")?"deepseek":e.includes("cohere")||e.includes("command")?"cohere":"unknown"}function x(s){let e=s,t=e.author;if(e.type||(e.type="agent-session"),typeof t=="string")return s;if(t&&typeof t=="object"&&!Array.isArray(t)){let n=t;n.type==="agent"?(e.author="unknown",e.agent={provider:n.model?R(n.model):R(n.id),model:n.model||n.id}):e.author=n.id||"unknown",delete e.assistedBy;}return e}function w(s){return s.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,20)||"unknown"}function P(){let s=process.env.PARADIGM_AUTHOR;if(s)return w(s);try{let e=execSync("git config user.name",{encoding:"utf-8",timeout:3e3}).trim();if(e)return w(e)}catch{}try{let e=C.userInfo().username;if(e)return w(e)}catch{}return "unknown"}function T(s,e){let t=s;if(e.author&&(t=t.filter(n=>n.author===e.author)),e.hasAgent!==void 0?t=t.filter(n=>e.hasAgent?n.agent!=null:n.agent==null):e.authorType&&(t=t.filter(n=>e.authorType==="agent"?n.agent!=null:n.agent==null)),e.symbol&&(t=t.filter(n=>n.symbols_touched?.includes(e.symbol)||n.symbols_created?.includes(e.symbol))),e.dateFrom){let n=new Date(e.dateFrom).getTime();t=t.filter(o=>new Date(o.timestamp).getTime()>=n);}if(e.dateTo){let n=new Date(e.dateTo).getTime();t=t.filter(o=>new Date(o.timestamp).getTime()<=n);}if(e.type&&(t=t.filter(n=>n.type===e.type)),e.tag){let n=e.tag;t=t.filter(o=>o.tags?.some(r=>r===n||r.startsWith(n+":")||n.includes(":")&&r===n));}return e.tags&&e.tags.length>0&&(t=t.filter(n=>e.tags.some(o=>n.tags?.includes(o)))),e.hasBody!==void 0&&(t=t.filter(n=>e.hasBody?n.body!=null&&n.body.length>0:!n.body||n.body.length===0)),e.hasReview!==void 0&&(t=t.filter(n=>e.hasReview?n.review!=null:n.review==null)),e.hasConfidence!==void 0&&(t=t.filter(n=>e.hasConfidence?n.confidence!=null:n.confidence==null)),e.hasAssessment!==void 0&&(t=t.filter(n=>e.hasAssessment?n.assessment!=null:n.assessment==null)),e.minCompleteness!==void 0&&(t=t.filter(n=>n.review!=null&&n.review.completeness>=e.minCompleteness)),t.sort((n,o)=>new Date(o.timestamp).getTime()-new Date(n.timestamp).getTime()),e.offset&&(t=t.slice(e.offset)),e.limit&&(t=t.slice(0,e.limit)),t}var _=".paradigm/lore",b="entries",I="timeline.yaml";function v(s){return s.endsWith(".yaml")||s.endsWith(".lore")}function E(s,e,t){let n=d.join(s,_,b,e),o=d.join(n,`${t}.lore`);if(i.existsSync(o))return o;let r=d.join(n,`${t}.yaml`);return i.existsSync(r)?r:null}function W(s){try{let e=execSync("git rev-parse HEAD",{cwd:s,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),t=execSync("git rev-parse --abbrev-ref HEAD",{cwd:s,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),n=execSync("git status --porcelain",{cwd:s,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return {ref:e,branch:t,dirty:n.length>0}}catch{return}}function N(s,e){let t={unregistered:[],warnings:[]};if(e.length===0)return t;let n=new Set;try{let c=a("child_process").execSync(`find "${s}" -name ".purpose" -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null || true`,{encoding:"utf-8"});for(let u of c.split(`
3
- `).filter(Boolean))try{let m=i.readFileSync(u,"utf8").matchAll(/^([#$^!~][\w-]+):/gm);for(let l of m)n.add(l[1]);}catch{}}catch{return t}let o=d.join(s,".paradigm","flows.yaml");if(i.existsSync(o))try{let u=i.readFileSync(o,"utf8").matchAll(/([#$^!~][\w-]+)/g);for(let a of u)n.add(a[1]);}catch{}let r=d.join(s,"portal.yaml");if(i.existsSync(r))try{let u=i.readFileSync(r,"utf8").matchAll(/\^([\w-]+)/g);for(let a of u)n.add(`^${a[1]}`);}catch{}for(let c of e)n.has(c)||(t.unregistered.push(c),t.warnings.push(`Symbol "${c}" not found in .purpose files or project index`));return t}async function U(s,e,t){let n;if(t?.validateSymbols){let a=[...e.symbols_touched||[],...e.symbols_created||[]];n=N(s,a);}let o=d.join(s,_),r=e.timestamp.slice(0,10),c=d.join(o,b,r);i.existsSync(c)||i.mkdirSync(c,{recursive:true}),e.author||(e.author=P()),e.git_context||(e.git_context=W(s)),e.id||(e.id=O(s,r,e.author,e.timestamp));let u=d.join(c,`${e.id}.lore`);return i.writeFileSync(u,f.dump(e,{lineWidth:-1,noRefs:true})),await j(s),{validation:n}}async function A(s,e){let t=d.join(s,_,b);if(!i.existsSync(t))return [];M(s);let n=[],o=i.readdirSync(t).filter(r=>/^\d{4}-\d{2}-\d{2}$/.test(r)).sort().reverse();for(let r of o){if(e?.dateFrom&&r<e.dateFrom.slice(0,10)||e?.dateTo&&r>e.dateTo.slice(0,10))continue;let c=d.join(t,r),u=i.readdirSync(c).filter(v).sort();for(let a of u)try{let m=i.readFileSync(d.join(c,a),"utf8"),l=f.load(m);n.push(x(l));}catch{}}return e?T(n,e):n}async function j(s){let e=d.join(s,_),t=d.join(e,b);if(!i.existsSync(t))return;M(s);let n=new Set,o=0,r="",c=i.readdirSync(t).filter(l=>/^\d{4}-\d{2}-\d{2}$/.test(l));for(let l of c){let g=d.join(t,l),h=i.readdirSync(g).filter(v);for(let S of h)try{let y=i.readFileSync(d.join(g,S),"utf8"),L=f.load(y),p=x(L);n.add(p.author),o++,(!r||p.timestamp>r)&&(r=p.timestamp);}catch{}}let u="unknown",a=d.join(s,".paradigm","config.yaml");if(i.existsSync(a))try{let l=f.load(i.readFileSync(a,"utf8"));u=l.project||l.name||"unknown";}catch{}let m={version:"1.0",project:u,entries:o,last_updated:r||new Date().toISOString(),authors:Array.from(n)};i.existsSync(e)||i.mkdirSync(e,{recursive:true}),i.writeFileSync(d.join(e,I),f.dump(m,{lineWidth:-1,noRefs:true}));}async function D(s,e,t){let o=(await A(s)).find(u=>u.id===e);if(!o)return false;let r=o.timestamp.slice(0,10),c=E(s,r,e);return c?(o.review=t,i.writeFileSync(c,f.dump(o,{lineWidth:-1,noRefs:true})),true):false}function H(s){switch(s){case "correct":return 1;case "partial":return .5;case "incorrect":return 0}}async function G(s,e,t){let o=(await A(s)).find(u=>u.id===e);if(!o)return false;let r=o.timestamp.slice(0,10),c=E(s,r,e);return c?(o.assessment=t,o.confidence!=null&&(o.assessment_delta=H(t.verdict)-o.confidence),i.writeFileSync(c,f.dump(o,{lineWidth:-1,noRefs:true})),true):false}async function F(s,e){let t=e.match(/^L-(\d{4}-\d{2}-\d{2})-/);if(t){let o=t[1],r=E(s,o,e);if(r)try{let c=i.readFileSync(r,"utf8"),u=f.load(c);return x(u)}catch{return null}}return (await A(s)).find(o=>o.id===e)||null}async function q(s,e,t){let n=await F(s,e);if(!n)return false;let o=n.timestamp.slice(0,10),r=E(s,o,e);return r?(t.title!==void 0&&(n.title=t.title),t.summary!==void 0&&(n.summary=t.summary),t.type!==void 0&&(n.type=t.type),t.duration_minutes!==void 0&&(n.duration_minutes=t.duration_minutes),t.symbols_touched!==void 0&&(n.symbols_touched=t.symbols_touched),t.symbols_created!==void 0&&(n.symbols_created=t.symbols_created),t.files_created!==void 0&&(n.files_created=t.files_created),t.files_modified!==void 0&&(n.files_modified=t.files_modified),t.lines_added!==void 0&&(n.lines_added=t.lines_added),t.lines_removed!==void 0&&(n.lines_removed=t.lines_removed),t.commit!==void 0&&(n.commit=t.commit),t.decisions!==void 0&&(n.decisions=t.decisions),t.errors_encountered!==void 0&&(n.errors_encountered=t.errors_encountered),t.learnings!==void 0&&(n.learnings=t.learnings),t.verification!==void 0&&(n.verification=t.verification),t.tags!==void 0&&(n.tags=t.tags),t.body!==void 0&&(n.body=t.body),t.linked_lore!==void 0&&(n.linked_lore=t.linked_lore),t.linked_tasks!==void 0&&(n.linked_tasks=t.linked_tasks),t.linked_commits!==void 0&&(n.linked_commits=t.linked_commits),t.confidence!==void 0&&(n.confidence=t.confidence),t.assessment!==void 0&&(n.assessment=t.assessment),t.assessment_delta!==void 0&&(n.assessment_delta=t.assessment_delta),i.writeFileSync(r,f.dump(n,{lineWidth:-1,noRefs:true})),await j(s),true):false}async function K(s,e){let t=await F(s,e);if(!t)return false;let n=t.timestamp.slice(0,10),o=E(s,n,e);if(!o)return false;i.unlinkSync(o);let r=d.dirname(o);return i.readdirSync(r).filter(v).length===0&&i.rmdirSync(r),await j(s),true}function M(s){let e=d.join(s,_,b);if(!i.existsSync(e))return 0;let t=i.readdirSync(e).filter(o=>v(o)&&!o.startsWith(".")),n=0;for(let o of t){let r=d.join(e,o);if(i.statSync(r).isFile())try{let u=i.readFileSync(r,"utf8"),a=f.load(u);if(a.author&&typeof a.author=="object"||typeof a.author=="string"&&a.timestamp)continue;let m=typeof a.date=="string"?a.date.slice(0,10):new Date().toISOString().slice(0,10),l=d.join(e,m);i.existsSync(l)||i.mkdirSync(l,{recursive:!0});let g=P(),h=`${m}T00:00:00.000Z`,S=O(s,m,g,h),y=String(a.type||"agent-session"),L=["agent-session","human-note","decision","review","incident","milestone"].includes(y)?y:"agent-session",p;if(a.test_results&&typeof a.test_results=="object"){let k=a.test_results;p={status:k.total===k.passed?"pass":"partial",details:{tests:k.total===k.passed?"pass":"fail"}};}let z={id:S,type:L,timestamp:h,author:"unknown",agent:{provider:"unknown",model:"unknown"},title:String(a.title||o.replace(/\.(yaml|lore)$/,"")),summary:String(a.summary||""),symbols_touched:Array.isArray(a.symbols_touched)?a.symbols_touched:[],files_modified:Array.isArray(a.files_modified)?a.files_modified:void 0,...p?{verification:p}:{},tags:["migrated",y]};i.writeFileSync(d.join(l,`${S}.lore`),f.dump(z,{lineWidth:-1,noRefs:!0})),i.unlinkSync(r),n++;}catch{}}return n}function O(s,e,t,n){let o=w(t),r=new Date(n),c=String(r.getUTCHours()).padStart(2,"0"),u=String(r.getUTCMinutes()).padStart(2,"0"),a=String(r.getUTCSeconds()).padStart(2,"0"),m=`${c}${u}${a}`,l=`L-${e}-${o}-${m}`,g=d.join(s,_,b,e);if(!i.existsSync(g))return `${l}-001`;let h=i.readdirSync(g).filter(y=>y.startsWith(l)&&v(y)).map(y=>{let L=y.match(/-(\d{3})\.(yaml|lore)$/);return L?parseInt(L[1],10):0}),S=h.length>0?Math.max(...h)+1:1;return `${l}-${String(S).padStart(3,"0")}`}export{x as a,P as b,U as c,A as d,D as e,G as f,F as g,q as h,K as i};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import'./chunk-5TAVYPOV.js';import {z}from'zod';import*as i from'js-yaml';var p=z.enum(["web","backend","fullstack","api","cli","ml","mobile","game","embedded","devops","data","library","monorepo","custom"]),g=z.enum(["auto","claude","claude-code","cursor-cli","claude-cli","manual"]),r=z.object({name:z.string(),description:z.string(),examples:z.array(z.string()).optional()}).passthrough(),u=z.object({file:z.string().optional(),"core-tags":z.array(z.string()).optional(),"allow-suggestions":z.boolean().optional()}).passthrough(),m=z.object({overview:z.string().optional(),"how-to-use":z.array(z.string()).optional(),"update-rules":z.array(z.string()).optional()}).passthrough(),d=z.object({enforce:z.boolean().optional(),"default-level":z.enum(["debug","info","warn","error"]).optional(),"symbol-mapping":z.record(z.string(),z.string()).optional()}).passthrough(),b=z.object({pattern:z.string(),depth:z.number().optional()}),h=z.object({toolCacheTtlMs:z.number().optional()}).passthrough(),f=z.object({model:z.string().optional(),"context-window":z.number().optional()}).passthrough(),y=z.object({enabled:z.boolean().optional(),"index-file":z.string().optional(),"docs-path":z.string().optional()}).passthrough(),w=z.object({enabled:z.boolean().optional(),"auto-include":z.boolean().optional()}).passthrough(),j=z.object({version:z.string(),project:z.string(),discipline:p.optional(),"agent-provider":g.optional(),"agent-guidelines":m.optional(),"symbol-system":z.record(z.string(),r).optional(),"tag-bank":u.optional(),component_types:z.record(z.string(),z.string()).optional(),logging:d.optional(),"purpose-required":z.array(b).optional(),conventions:z.array(z.string()).optional(),workspace:z.string().optional(),limits:h.optional(),"ai-agent":f.optional(),context:y.optional(),probe:w.optional(),states:z.record(z.string(),z.unknown()).optional(),"custom-symbols":z.record(z.string(),r).optional()}).passthrough(),v=new Set(["version","project","discipline","agent-provider","agent-guidelines","symbol-system","tag-bank","component_types","logging","purpose-required","conventions","workspace","limits","ai-agent","context","probe","states","custom-symbols","docs","features","enforcement","model-resolution"]);function S(l){let s=[],e=[],t;try{t=i.load(l);}catch(n){return {valid:false,warnings:[],errors:[`YAML parse error: ${n.message}`]}}if(!t||typeof t!="object")return {valid:false,warnings:[],errors:["Config must be a YAML object"]};for(let n of Object.keys(t))v.has(n)||s.push(`Unrecognized config key: "${n}"`);let a=j.safeParse(t);if(!a.success)for(let n of a.error.issues){let c=n.path.join(".");e.push(`${c}: ${n.message}`);}return {valid:e.length===0,warnings:s,errors:e}}export{j as paradigmConfigSchema,S as validateConfig};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{f as findDecisionsForSymbol,g as getDecisionSummary,e as loadDecision,d as loadDecisions,a as recordDecision,c as supersedeDecision,b as updateDecision}from'./chunk-Q2J542ST.js';import'./chunk-5TAVYPOV.js';
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{a as doctorCommand}from'./chunk-RBLK34IA.js';import'./chunk-DOCDDDTD.js';import'./chunk-JQKKVAAN.js';import'./chunk-LKAT7IAK.js';import'./chunk-5TAVYPOV.js';
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import {a,j}from'./chunk-D34YFK4M.js';import'./chunk-5TAVYPOV.js';import o from'chalk';async function u(i){let l=process.cwd(),n=a(l);if(!n||n.totalContent===0){console.log(o.yellow(`
3
- No university content found.`)),console.log(o.gray(` Create content with: paradigm university add note --title "My Note"
4
- `));return}let e=j(l,{type:i.type,tag:i.tag,difficulty:i.difficulty,symbol:i.symbol,limit:i.limit?parseInt(i.limit,10):20});if(i.json){console.log(JSON.stringify(e,null,2));return}console.log(o.blue(`
5
- University Content (${e.length} of ${n.totalContent})
6
- `));let c={note:"N",policy:"P",guide:"N",runbook:"N",quiz:"Q",path:"LP"};for(let t of e){let a=c[t.type]||"?",y=t.difficulty==="advanced"?o.red:t.difficulty==="intermediate"?o.yellow:o.green,d=t.tags.length>0?o.gray(` [${t.tags.join(", ")}]`):"";console.log(` ${o.cyan(a)} ${o.white(t.id)} \u2014 ${t.title}${d}`),t.difficulty&&console.log(` ${y(t.difficulty)} \xB7 ${t.author} \xB7 ${t.updated||t.created}`);}n.diplomaCount>0&&console.log(o.gray(`
7
- ${n.diplomaCount} diploma${n.diplomaCount>1?"s":""} earned`)),console.log();}export{u as universityListCommand};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import {j}from'./chunk-ODVKPZZ4.js';export{h as addLoreAssessment,e as addLoreReview,i as deleteLoreEntry,a as loadLoreEntries,b as loadLoreEntry,c as loadLoreTimeline,f as rebuildTimeline,d as recordLoreEntry,g as updateLoreEntry}from'./chunk-ODVKPZZ4.js';import'./chunk-5TAVYPOV.js';j();
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import {b as b$1}from'./chunk-5TAVYPOV.js';import*as i from'fs';import*as a from'path';import*as u from'js-yaml';import {execSync}from'child_process';function j(s){let e=s.toLowerCase();return e.includes("claude")||e.includes("anthropic")?"anthropic":e.includes("gpt")||e.includes("openai")||e.includes("o1")||e.includes("o3")?"openai":e.includes("gemini")||e.includes("google")||e.includes("palm")?"google":e.includes("llama")||e.includes("meta")?"meta":e.includes("mistral")||e.includes("mixtral")?"mistral":e.includes("deepseek")?"deepseek":e.includes("cohere")||e.includes("command")?"cohere":"unknown"}function T(s){let e=s,n=e.author;if(e.type||(e.type="agent-session"),typeof n=="string")return s;if(n&&typeof n=="object"&&!Array.isArray(n)){let t=n;t.type==="agent"?(e.author="unknown",e.agent={provider:t.model?j(t.model):j(t.id),model:t.model||t.id}):e.author=t.id||"unknown",delete e.assistedBy;}return e}function E(s){return s.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,20)||"unknown"}function F(){let s=process.env.PARADIGM_AUTHOR;if(s)return E(s);try{let e=execSync("git config user.name",{encoding:"utf-8",timeout:3e3}).trim();if(e)return E(e)}catch{}try{let e=os.userInfo().username;if(e)return E(e)}catch{}return "unknown"}function L(s){return s.endsWith(".yaml")||s.endsWith(".lore")}function k(s,e,n){let t=a.join(s,_,b,e),r=a.join(t,`${n}.lore`);if(i.existsSync(r))return r;let o=a.join(t,`${n}.yaml`);return i.existsSync(o)?o:null}async function O(s,e){let n=a.join(s,_,b);if(!i.existsSync(n))return [];$(s);let t=[],r=i.readdirSync(n).filter(o=>/^\d{4}-\d{2}-\d{2}$/.test(o)).sort().reverse();for(let o of r){if(e?.dateFrom&&o<e.dateFrom.slice(0,10)||e?.dateTo&&o>e.dateTo.slice(0,10))continue;let f=a.join(n,o),l=i.readdirSync(f).filter(L).sort();for(let c of l)try{let g=i.readFileSync(a.join(f,c),"utf8"),d=u.load(g);t.push(T(d));}catch{}}return e?M(t,e):t}async function P(s,e){let n=e.match(/^L-(\d{4}-\d{2}-\d{2})-/);if(n){let r=n[1],o=k(s,r,e);if(o)try{let f=i.readFileSync(o,"utf8"),l=u.load(f);return T(l)}catch{return null}}return (await O(s)).find(r=>r.id===e)||null}async function z(s){let e=a.join(s,_,R);if(!i.existsSync(e))return null;try{let n=i.readFileSync(e,"utf8");return u.load(n)}catch{return null}}function B(s){try{let e=execSync("git rev-parse HEAD",{cwd:s,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),n=execSync("git rev-parse --abbrev-ref HEAD",{cwd:s,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),t=execSync("git status --porcelain",{cwd:s,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return {ref:e,branch:n,dirty:t.length>0}}catch{return}}async function H(s,e){let n=a.join(s,_),t=e.timestamp.slice(0,10),r=a.join(n,b,t);i.existsSync(r)||i.mkdirSync(r,{recursive:true}),e.author||(e.author=F()),e.git_context||(e.git_context=B(s)),e.id||(e.id=W(s,t,e.author,e.timestamp));let o=a.join(r,`${e.id}.lore`);return i.writeFileSync(o,u.dump(e,{lineWidth:-1,noRefs:true})),await A(s),e.id}async function K(s,e,n){let t=await P(s,e);if(!t)return false;let r=t.timestamp.slice(0,10),o=k(s,r,e);return o?(t.review=n,i.writeFileSync(o,u.dump(t,{lineWidth:-1,noRefs:true})),true):false}async function A(s){let e=a.join(s,_),n=a.join(e,b);if(!i.existsSync(n))return;$(s);let t=new Set,r=0,o="",f=i.readdirSync(n).filter(d=>/^\d{4}-\d{2}-\d{2}$/.test(d));for(let d of f){let y=a.join(n,d),h=i.readdirSync(y).filter(L);for(let w of h)try{let m=i.readFileSync(a.join(y,w),"utf8"),S=u.load(m),p=T(S);t.add(p.author),r++,(!o||p.timestamp>o)&&(o=p.timestamp);}catch{}}let l="unknown",c=a.join(s,".paradigm","config.yaml");if(i.existsSync(c))try{let d=u.load(i.readFileSync(c,"utf8"));l=d.project||d.name||"unknown";}catch{}let g={version:"1.0",project:l,entries:r,last_updated:o||new Date().toISOString(),authors:Array.from(t)};i.existsSync(e)||i.mkdirSync(e,{recursive:true}),i.writeFileSync(a.join(e,R),u.dump(g,{lineWidth:-1,noRefs:true}));}function $(s){let e=a.join(s,_,b);if(!i.existsSync(e))return 0;let n=i.readdirSync(e).filter(r=>L(r)&&!r.startsWith(".")),t=0;for(let r of n){let o=a.join(e,r);if(i.statSync(o).isFile())try{let l=i.readFileSync(o,"utf8"),c=u.load(l);if(c.author&&typeof c.author=="object"||typeof c.author=="string"&&c.timestamp)continue;let g=typeof c.date=="string"?c.date.slice(0,10):new Date().toISOString().slice(0,10),d=a.join(e,g);i.existsSync(d)||i.mkdirSync(d,{recursive:!0});let y=F(),h=`${g}T00:00:00.000Z`,w=W(s,g,y,h),m=String(c.type||"agent-session"),S=["agent-session","human-note","decision","review","incident","milestone"].includes(m)?m:"agent-session",p;if(c.test_results&&typeof c.test_results=="object"){let v=c.test_results;p={status:v.total===v.passed?"pass":"partial",details:{tests:v.total===v.passed?"pass":"fail"}};}let C={id:w,type:S,timestamp:h,author:"unknown",agent:{provider:"unknown",model:"unknown"},title:String(c.title||r.replace(/\.(yaml|lore)$/,"")),summary:String(c.summary||""),symbols_touched:Array.isArray(c.symbols_touched)?c.symbols_touched:[],files_modified:Array.isArray(c.files_modified)?c.files_modified:void 0,...p?{verification:p}:{},tags:["migrated",m]};i.writeFileSync(a.join(d,`${w}.lore`),u.dump(C,{lineWidth:-1,noRefs:!0})),i.unlinkSync(o),t++;}catch{}}return t}async function G(s,e,n){let t=await P(s,e);if(!t)return false;let r=t.timestamp.slice(0,10),o=k(s,r,e);return o?(n.title!==void 0&&(t.title=n.title),n.summary!==void 0&&(t.summary=n.summary),n.type!==void 0&&(t.type=n.type),n.duration_minutes!==void 0&&(t.duration_minutes=n.duration_minutes),n.symbols_touched!==void 0&&(t.symbols_touched=n.symbols_touched),n.symbols_created!==void 0&&(t.symbols_created=n.symbols_created),n.files_created!==void 0&&(t.files_created=n.files_created),n.files_modified!==void 0&&(t.files_modified=n.files_modified),n.lines_added!==void 0&&(t.lines_added=n.lines_added),n.lines_removed!==void 0&&(t.lines_removed=n.lines_removed),n.commit!==void 0&&(t.commit=n.commit),n.decisions!==void 0&&(t.decisions=n.decisions),n.errors_encountered!==void 0&&(t.errors_encountered=n.errors_encountered),n.learnings!==void 0&&(t.learnings=n.learnings),n.verification!==void 0&&(t.verification=n.verification),n.tags!==void 0&&(t.tags=n.tags),n.body!==void 0&&(t.body=n.body),n.linked_lore!==void 0&&(t.linked_lore=n.linked_lore),n.linked_tasks!==void 0&&(t.linked_tasks=n.linked_tasks),n.linked_commits!==void 0&&(t.linked_commits=n.linked_commits),n.confidence!==void 0&&(t.confidence=n.confidence),n.assessment!==void 0&&(t.assessment=n.assessment),n.assessment_delta!==void 0&&(t.assessment_delta=n.assessment_delta),i.writeFileSync(o,u.dump(t,{lineWidth:-1,noRefs:true})),await A(s),true):false}function I(s){switch(s){case "correct":return 1;case "partial":return .5;case "incorrect":return 0}}async function V(s,e,n){let t=await P(s,e);if(!t)return false;let r=t.timestamp.slice(0,10),o=k(s,r,e);return o?(t.assessment=n,t.confidence!=null&&(t.assessment_delta=I(n.verdict)-t.confidence),i.writeFileSync(o,u.dump(t,{lineWidth:-1,noRefs:true})),true):false}async function q(s,e){let n=await P(s,e);if(!n)return false;let t=n.timestamp.slice(0,10),r=k(s,t,e);if(!r)return false;i.unlinkSync(r);let o=a.dirname(r);return i.readdirSync(o).filter(L).length===0&&i.rmdirSync(o),await A(s),true}function M(s,e){let n=s;if(e.author&&(n=n.filter(t=>t.author===e.author)),e.hasAgent!==void 0?n=n.filter(t=>e.hasAgent?t.agent!=null:t.agent==null):e.authorType&&(n=n.filter(t=>e.authorType==="agent"?t.agent!=null:t.agent==null)),e.symbol&&(n=n.filter(t=>t.symbols_touched.includes(e.symbol)||t.symbols_created?.includes(e.symbol))),e.dateFrom){let t=new Date(e.dateFrom).getTime();n=n.filter(r=>new Date(r.timestamp).getTime()>=t);}if(e.dateTo){let t=new Date(e.dateTo).getTime();n=n.filter(r=>new Date(r.timestamp).getTime()<=t);}if(e.type&&(n=n.filter(t=>t.type===e.type)),e.tag){let t=e.tag;n=n.filter(r=>r.tags?.some(o=>o===t||o.startsWith(t+":")||t.includes(":")&&o===t));}return e.tags&&e.tags.length>0&&(n=n.filter(t=>e.tags.some(r=>t.tags?.includes(r)))),e.hasBody!==void 0&&(n=n.filter(t=>e.hasBody?t.body!=null&&t.body.length>0:!t.body||t.body.length===0)),e.hasReview!==void 0&&(n=n.filter(t=>e.hasReview?t.review!=null:t.review==null)),e.hasConfidence!==void 0&&(n=n.filter(t=>e.hasConfidence?t.confidence!=null:t.confidence==null)),e.hasAssessment!==void 0&&(n=n.filter(t=>e.hasAssessment?t.assessment!=null:t.assessment==null)),n.sort((t,r)=>new Date(r.timestamp).getTime()-new Date(t.timestamp).getTime()),e.offset&&(n=n.slice(e.offset)),e.limit&&(n=n.slice(0,e.limit)),n}function W(s,e,n,t){let r=E(n),o=new Date(t),f=String(o.getUTCHours()).padStart(2,"0"),l=String(o.getUTCMinutes()).padStart(2,"0"),c=String(o.getUTCSeconds()).padStart(2,"0"),g=`${f}${l}${c}`,d=`L-${e}-${r}-${g}`,y=a.join(s,_,b,e);if(!i.existsSync(y))return `${d}-001`;let h=i.readdirSync(y).filter(m=>m.startsWith(d)&&L(m)).map(m=>{let S=m.match(/-(\d{3})\.(yaml|lore)$/);return S?parseInt(S[1],10):0}),w=h.length>0?Math.max(...h)+1:1;return `${d}-${String(w).padStart(3,"0")}`}var _,b,R,N=b$1(()=>{_=".paradigm/lore",b="entries",R="timeline.yaml";});N();export{V as addLoreAssessment,K as addLoreReview,q as deleteLoreEntry,O as loadLoreEntries,P as loadLoreEntry,z as loadLoreTimeline,A as rebuildTimeline,H as recordLoreEntry,G as updateLoreEntry};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import {a,c}from'./chunk-WS2N27RX.js';import'./chunk-5TAVYPOV.js';import r from'chalk';import*as e from'fs';import*as i from'path';import*as k from'js-yaml';var D=".paradigm/assessments";async function j(_){let y=process.cwd(),a$1=i.join(y,D,"arcs"),f=!!_.dryRun;if(!e.existsSync(a$1)){console.log(r.yellow(`
3
- No assessments found at .paradigm/assessments/arcs/
4
- `));return}let $=e.readdirSync(a$1).filter(o=>e.statSync(i.join(a$1,o)).isDirectory()),l=0,d=0,t=[];for(let o of $){let c$1=i.join(a$1,o,"entries");if(!e.existsSync(c$1))continue;let S=e.readdirSync(c$1).filter(n=>n.endsWith(".yaml")&&!n.endsWith(".migrated"));for(let n of S){let m=i.join(c$1,n);try{let g=e.readFileSync(m,"utf8"),s=k.load(g),w=[`arc:${s.arc_id}`,`assessment:${s.type}`,...s.tags||[],"migrated-from-assessment"],A={id:"",type:s.type,timestamp:s.date,author:s.author,title:s.title,summary:s.summary,body:s.body,symbols_touched:s.symbols||[],tags:w,linked_lore:s.linked_lore,linked_tasks:s.linked_tasks,linked_commits:s.linked_commits},p={...a(A),id:""};f?console.log(r.gray(` [dry-run] Would migrate: ${s.id} \u2192 lore (arc:${s.arc_id})`)):(await c(y,p),e.renameSync(m,m.replace(".yaml",".migrated")),console.log(r.green(` Migrated: ${s.id} \u2192 ${p.id} (arc:${s.arc_id})`))),l++,t.includes(s.arc_id)||t.push(s.arc_id);}catch(g){console.error(r.red(` Failed to migrate ${n}: ${g}`)),d++;}}}console.log(),console.log(f?r.yellow(` Dry run complete: ${l} entries would be migrated from ${t.length} arcs`):r.green(` Migration complete: ${l} entries migrated from ${t.length} arcs`)),d>0&&console.log(r.yellow(` ${d} entries skipped due to errors`)),console.log(r.gray(` Arcs preserved as tags: ${t.map(o=>`arc:${o}`).join(", ")}`)),console.log();}export{j as loreMigrateAssessmentsCommand};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{e as checkPortalCompliance,c as extractDeclaredGates,d as findGateReferences,f as formatComplianceReport,g as getComplianceSummary,a as loadPortalConfig,b as loadPortalConfigLegacy}from'./chunk-4VKSEOXZ.js';import'./chunk-ZJQY5PPP.js';import'./chunk-5TAVYPOV.js';
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
- import {c,h}from'./chunk-D34YFK4M.js';import'./chunk-5TAVYPOV.js';import o from'chalk';import*as $ from'readline';import {execSync}from'child_process';import*as w from'os';function S(){try{return execSync("git config user.name",{encoding:"utf-8",timeout:3e3}).trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").slice(0,20)||"unknown"}catch{try{return w.userInfo().username}catch{return "unknown"}}}function z(s,r){return new Promise(e=>s.question(r,e))}async function x(s){let r=process.cwd(),e=c(r,s);if(e||(console.error(o.red(`
3
- Quiz "${s}" not found
4
- `)),process.exit(1)),e.questions.length===0){console.log(o.yellow(`
5
- Quiz "${s}" has no questions.
6
- `));return}let g=$.createInterface({input:process.stdin,output:process.stdout});console.log(o.blue(`
7
- ${e.title}`)),e.description&&console.log(o.gray(` ${e.description}`)),console.log(o.gray(` ${e.questions.length} questions \xB7 Pass: ${e.passThreshold*100}%
8
- `));let c$1=0;for(let i=0;i<e.questions.length;i++){let n=e.questions[i];console.log(o.white(` ${i+1}. ${n.question}`));let u=Object.keys(n.choices).sort();for(let f of u)console.log(` ${o.cyan(f)}: ${n.choices[f]}`);let t="";for(;!u.includes(t.toUpperCase());)t=await z(g,o.gray(` Your answer (${u.join("/")}): `)),t=t.trim().toUpperCase();t===n.correct?(c$1++,console.log(o.green(" Correct!"))):console.log(o.red(` Wrong \u2014 correct answer: ${n.correct}`)),n.explanation&&console.log(o.gray(` \u2192 ${n.explanation}`)),console.log();}g.close();let l=e.questions.length,a=Math.round(c$1/l*1e4)/100,p=a/100>=e.passThreshold,d=S();console.log(o.blue(" \u2500\u2500\u2500 Results \u2500\u2500\u2500")),console.log(` Score: ${c$1}/${l} (${a}%)`),console.log(` Pass threshold: ${e.passThreshold*100}%`),console.log(p?o.green(" PASSED"):o.red(" FAILED"));let m=`D-${new Date().toISOString().slice(0,10)}-${d}-${s.replace(/^Q-/,"")}`,q={id:m,type:"quiz",student:d,earnedAt:new Date().toISOString(),source:s,score:c$1,total:l,percentage:a,passed:p};h(r,q),console.log(o.gray(`
9
- Diploma saved: ${m}
10
- `));}export{x as universityQuizCommand};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{ma as getReindexToolsList,na as handleReindexTool,oa as rebuildStaticFiles}from'./chunk-NQ47TA6C.js';import'./chunk-M4UMM6DC.js';import'./chunk-ODVKPZZ4.js';import'./chunk-MQIG6SMF.js';import'./chunk-EK4ZRIFJ.js';import'./chunk-NEJ4ZLCY.js';import'./chunk-5TAVYPOV.js';
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env node
2
- import'./chunk-5TAVYPOV.js';import o from'chalk';import*as n from'path';import {fileURLToPath}from'url';var p=fileURLToPath(import.meta.url),i=n.dirname(p);async function g(d,t){let r=parseInt(t.port||"3839",10),s=t.open!==false;console.log(o.cyan(`
3
- Opening the campus gates...
4
- `));try{let{startServer:e}=await import('./server-2MNROHF6.js'),a=n.resolve(i,"university-content"),c=n.resolve(i,"university-ui");console.log(o.gray(`Port: ${r}`)),console.log(),await e({port:r,open:s,contentDir:a,uiDistPath:c,projectDir:process.cwd()}),console.log(o.green(`
5
- Paradigm University is running at http://localhost:${r}`)),console.log(o.gray(`
6
- Press Ctrl+C to stop
7
- `)),await new Promise(()=>{});}catch(e){e.code==="ERR_MODULE_NOT_FOUND"||e.code==="MODULE_NOT_FOUND"?(console.error(o.red(`
8
- @a-company/university is not installed.`)),console.log(o.gray(`Install it with: npm install @a-company/university
9
- `))):e.code==="EADDRINUSE"?(console.error(o.red(`
10
- Error: Port ${r} is already in use.`)),console.log(o.gray(`Try a different port with: paradigm university serve --port ${r+1}
11
- `))):console.error(o.red(`
12
- Failed to start Paradigm University:`),e),process.exit(1);}}export{g as universityServeCommand};
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import'./chunk-5TAVYPOV.js';import h,{Router}from'express';import*as u from'path';import*as a from'fs';import {fileURLToPath}from'url';import d from'chalk';function N(n){let r=Router();return r.get("/",(o,s)=>{let e=u.join(n,"courses");if(!a.existsSync(e))return s.json({courses:[]});let i=a.readdirSync(e).filter(t=>t.endsWith(".json")).map(t=>{let l=JSON.parse(a.readFileSync(u.join(e,t),"utf-8"));return {id:l.id,title:l.title,description:l.description,lessonCount:l.lessons?.length||0,lessons:(l.lessons||[]).map(c=>({id:c.id,title:c.title}))}});return i.sort((t,l)=>t.id.localeCompare(l.id)),s.json({courses:i})}),r.get("/:id",(o,s)=>{let e=u.join(n,"courses",`${o.params.id}.json`);if(!a.existsSync(e))return s.status(404).json({error:`Course '${o.params.id}' not found`});let i=JSON.parse(a.readFileSync(e,"utf-8"));return s.json(i)}),r.get("/:id/lessons/:lessonId",(o,s)=>{let e=u.join(n,"courses",`${o.params.id}.json`);if(!a.existsSync(e))return s.status(404).json({error:`Course '${o.params.id}' not found`});let i=(JSON.parse(a.readFileSync(e,"utf-8")).lessons||[]).find(t=>t.id===o.params.lessonId);return i?s.json(i):s.status(404).json({error:`Lesson '${o.params.lessonId}' not found`})}),r}function v(n){return n[Math.floor(Math.random()*n.length)]}function F(n){for(let r=n.length-1;r>0;r--){let o=Math.floor(Math.random()*(r+1));[n[r],n[o]]=[n[o],n[r]];}return n}function L(n){let r={},o=[];for(let s of n.items)if(s.type==="standalone"||s.type==="variant-group"){let e=v(s.variants);o.push([{id:e.id,course:s.course,scenario:e.scenario,question:e.question,choices:e.choices,correct:e.correct,explanation:e.explanation}]);}else {r[s.slot]=s.passage;let e=s.questions.map(i=>{let t=v(i.variants);return {id:t.id,course:s.course,scenario:t.scenario,question:t.question,choices:t.choices,correct:t.correct,explanation:t.explanation,passageId:s.slot}});o.push(e);}return F(o),{questions:o.flat(),passages:r}}function J(n){let r=0;for(let o of n.items)o.type==="standalone"||o.type==="variant-group"?r+=1:r+=o.questions.length;return r}function k(n,r){let o=Router();return o.get("/",(s,e)=>{let i=u.join(n,"plsat");if(!a.existsSync(i))return e.json({versions:[]});let t=a.readdirSync(i).filter(l=>l.endsWith(".json")).map(l=>{let c=JSON.parse(a.readFileSync(u.join(i,l),"utf-8")),p=c.items?J(c):c.questions?.length||0;return {version:c.version,frameworkVersion:c.frameworkVersion,questionCount:p,timeLimit:c.timeLimit,passThreshold:c.passThreshold}});return t.sort((l,c)=>c.version.localeCompare(l.version)),e.json({versions:t})}),o.get("/:version",(s,e)=>{try{let i=u.join(n,"plsat",`v${s.params.version}.json`);if(!a.existsSync(i))return e.status(404).json({error:`PLSAT version '${s.params.version}' not found`});let t=JSON.parse(a.readFileSync(i,"utf-8"));if(t.items){let{questions:c,passages:p}=L(t);return e.json({version:t.version,frameworkVersion:t.frameworkVersion,timeLimit:t.timeLimit,passThreshold:t.passThreshold,title:t.title,description:t.description,questions:c,...Object.keys(p).length>0?{passages:p}:{}})}let l=[...t.questions].sort(()=>Math.random()-.5);return e.json({...t,questions:l})}catch(i){let t=i instanceof Error?i.message:"Internal error";return e.status(500).json({error:`Failed to load PLSAT exam: ${t}`})}}),o.post("/diploma",(s,e)=>{if(!r)return e.status(400).json({error:"No project directory configured"});let i=u.join(r,".paradigm","university","diplomas");if(!a.existsSync(i))return e.json({saved:false,reason:"university directory not found"});try{let{student:t,version:l,score:c,total:p,percentage:O,passed:x}=s.body;if(!t||!l||c==null||p==null)return e.status(400).json({error:"Missing required fields: student, version, score, total"});let w=new Date().toISOString().slice(0,10),$=String(t).toLowerCase().replace(/[^a-z0-9-]/g,"-").slice(0,20),j=`D-${w}-${$}-plsat-v${l}`,P={id:j,type:"plsat",student:$,earnedAt:new Date().toISOString(),source:`plsat:v${l}`,score:c,total:p,percentage:O??(p>0?Math.round(c/p*1e4)/100:0),passed:x??!1,details:{plsatVersion:l}},b=u.join(i,`${j}.yaml`),q=Object.entries(P).map(([g,f])=>{if(typeof f=="object"&&f!==null){let A=Object.entries(f).map(([C,I])=>` ${C}: ${JSON.stringify(I)}`).join(`
3
- `);return `${g}:
4
- ${A}`}return `${g}: ${JSON.stringify(f)}`});return a.writeFileSync(b,q.join(`
5
- `)+`
6
- `,"utf8"),e.json({saved:!0,diplomaId:j})}catch(t){let l=t instanceof Error?t.message:"Internal error";return e.status(500).json({error:`Failed to save diploma: ${l}`})}}),o}var M=fileURLToPath(import.meta.url),y=u.dirname(M);function E(n){let r=n;for(;r!==u.dirname(r);){if(a.existsSync(u.join(r,"package.json"))&&JSON.parse(a.readFileSync(u.join(r,"package.json"),"utf-8")).name==="@a-company/university")return r;r=u.dirname(r);}return n}var m={component(n){let r=d.magenta(`#${n}`);return {info:(o,s)=>{let e=s?d.gray(` ${Object.entries(s).map(([i,t])=>`${i}=${t}`).join(" ")}`):"";console.log(`${d.blue("\u2139")} ${r} ${o}${e}`);},success:(o,s)=>{let e=s?d.gray(` ${Object.entries(s).map(([i,t])=>`${i}=${t}`).join(" ")}`):"";console.log(`${d.green("\u2714")} ${r} ${o}${e}`);},warn:(o,s)=>{let e=s?d.gray(` ${Object.entries(s).map(([i,t])=>`${i}=${t}`).join(" ")}`):"";console.log(`${d.yellow("\u26A0")} ${r} ${o}${e}`);},error:(o,s)=>{let e=s?d.gray(` ${Object.entries(s).map(([i,t])=>`${i}=${t}`).join(" ")}`):"";console.error(`${d.red("\u2716")} ${r} ${o}${e}`);}}}};function V(n){if(n?.contentDir&&n?.uiDistPath)return {contentDir:n.contentDir,uiDistPath:n.uiDistPath};let r=u.join(y,"university-content"),o=u.join(y,"university-ui");if(a.existsSync(r)&&a.existsSync(o))return {contentDir:n?.contentDir||r,uiDistPath:n?.uiDistPath||o};let s=E(y);return {contentDir:n?.contentDir||u.join(s,"src","content"),uiDistPath:n?.uiDistPath||u.join(s,"ui","dist")}}function D(n){let r=h();r.use(h.json()),r.use((e,i,t)=>{i.header("Access-Control-Allow-Origin","*"),i.header("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),i.header("Access-Control-Allow-Headers","Content-Type"),t();});let{contentDir:o,uiDistPath:s}=V(n);return r.use("/api/courses",N(o)),r.use("/api/plsat",k(o,n?.projectDir)),r.get("/api/reference",(e,i)=>{let t=u.join(o,"reference.json");if(a.existsSync(t)){let l=JSON.parse(a.readFileSync(t,"utf-8"));i.json(l);}else i.status(404).json({error:"Reference data not found"});}),r.get("/api/health",(e,i)=>{i.json({status:"ok",timestamp:new Date().toISOString()});}),a.existsSync(s)&&(r.use(h.static(s)),r.get("{*path}",(e,i)=>{e.path.startsWith("/api")||i.sendFile(u.join(s,"index.html"));})),r}async function R(n){let r=D({contentDir:n.contentDir,uiDistPath:n.uiDistPath,projectDir:n.projectDir});return m.component("university-server").info("Starting server",{port:n.port}),new Promise((o,s)=>{r.listen(n.port,()=>{m.component("university-server").success("Server running",{url:`http://localhost:${n.port}`}),n.open&&import('open').then(e=>{e.default(`http://localhost:${n.port}`),m.component("university-server").info("Opened browser");}).catch(()=>{m.component("university-server").warn("Could not open browser automatically");}),o();}).on("error",e=>{e.code==="EADDRINUSE"?m.component("university-server").error("Port already in use",{port:n.port}):m.component("university-server").error("Server error",{error:e.message}),s(e);});})}
7
- export{D as createApp,R as startServer};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{i as MODEL_PRICING,j as getSessionTracker,k as resetSessionTracker}from'./chunk-MQIG6SMF.js';import'./chunk-EK4ZRIFJ.js';import'./chunk-NEJ4ZLCY.js';import'./chunk-5TAVYPOV.js';
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import {b,c,d}from'./chunk-D34YFK4M.js';import'./chunk-5TAVYPOV.js';import o from'chalk';async function p(s,i){let c$1=process.cwd(),e=b(c$1,s);if(e){if(i.json){console.log(JSON.stringify({...e.frontmatter,body:e.body},null,2));return}console.log(o.blue(`
3
- ${e.frontmatter.title}`)),console.log(o.gray(` ${e.frontmatter.type} \xB7 ${e.frontmatter.difficulty} \xB7 ${e.frontmatter.author}`)),e.frontmatter.tags.length>0&&console.log(o.gray(` Tags: ${e.frontmatter.tags.join(", ")}`)),e.frontmatter.symbols.length>0&&console.log(o.gray(` Symbols: ${e.frontmatter.symbols.join(", ")}`)),console.log(),console.log(e.body),console.log();return}let t=c(c$1,s);if(t){if(i.json){console.log(JSON.stringify(t,null,2));return}console.log(o.blue(`
4
- ${t.title}`)),console.log(o.gray(` quiz \xB7 ${t.difficulty} \xB7 ${t.questions.length} questions \xB7 pass: ${t.passThreshold*100}%`)),t.description&&console.log(o.gray(` ${t.description}`)),console.log();for(let n of t.questions){console.log(` ${o.cyan(n.id)}: ${n.question}`);for(let[l,g]of Object.entries(n.choices)){let y=l===n.correct?o.green("*"):" ";console.log(` ${y} ${l}: ${g}`);}n.explanation&&console.log(o.gray(` \u2192 ${n.explanation}`)),console.log();}return}let r=d(c$1,s);if(r){if(i.json){console.log(JSON.stringify(r,null,2));return}console.log(o.blue(`
5
- ${r.title}`)),console.log(o.gray(` learning path \xB7 ${r.steps.length} steps \xB7 ${r.ordered?"ordered":"unordered"}`)),r.description&&console.log(o.gray(` ${r.description}`)),console.log();for(let n=0;n<r.steps.length;n++){let l=r.steps[n],g=l.required?o.red("required"):o.gray("optional");console.log(` ${n+1}. ${o.cyan(l.content)} (${g})`),l.note&&console.log(o.gray(` ${l.note}`));}console.log();return}console.error(o.red(`
6
- Content "${s}" not found
7
- `)),process.exit(1);}export{p as universityShowCommand};
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- import {a,e}from'./chunk-D34YFK4M.js';import'./chunk-5TAVYPOV.js';import t from'chalk';async function p(d){let a$1=process.cwd(),s=a(a$1);if(!s||s.totalContent===0){console.log(t.yellow(`
3
- No university content found.`)),console.log(t.gray(` Create content with: paradigm university add note --title "My Note"
4
- `));return}let n=e(a$1),r={},l={},c={};for(let o of s.entries){r[o.type]=(r[o.type]||0)+1,o.difficulty&&(c[o.difficulty]=(c[o.difficulty]||0)+1);for(let e of o.tags)l[e]=(l[e]||0)+1;}if(d.json){console.log(JSON.stringify({totalContent:s.totalContent,typeCounts:r,difficultyCounts:c,tagCounts:l,diplomaCount:n.length},null,2));return}console.log(t.blue(`
5
- University Status
6
- `)),console.log(t.white(` Total content: ${s.totalContent}`));for(let[o,e]of Object.entries(r).sort())console.log(` ${t.cyan(o)}: ${e}`);if(Object.keys(c).length>0){console.log(),console.log(t.white(" By difficulty:"));for(let[o,e]of Object.entries(c)){let i=o==="advanced"?t.red:o==="intermediate"?t.yellow:t.green;console.log(` ${i(o)}: ${e}`);}}if(Object.keys(l).length>0){console.log(),console.log(t.white(" Top tags:"));let o=Object.entries(l).sort((e,i)=>i[1]-e[1]).slice(0,8);for(let[e,i]of o)console.log(` ${t.gray(e)}: ${i}`);}if(console.log(),console.log(t.white(` Diplomas earned: ${n.length}`)),n.length>0){for(let o of n.slice(0,5)){let e=o.passed?t.green("PASS"):t.red("FAIL");console.log(` ${e} ${o.source} \u2014 ${o.student} (${o.percentage}%) ${t.gray(o.earnedAt.slice(0,10))}`);}n.length>5&&console.log(t.gray(` ... and ${n.length-5} more`));}console.log();}export{p as universityStatusCommand};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{a as syncCommand}from'./chunk-3XGNXXCT.js';import'./chunk-DOCDDDTD.js';import'./chunk-JQKKVAAN.js';import'./chunk-LKAT7IAK.js';import'./chunk-5TAVYPOV.js';
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export{h as registerTools}from'./chunk-RN4VE6P3.js';import'./chunk-4UJ4NIEQ.js';import'./chunk-BOYQAMGC.js';import'./chunk-KLBH26PA.js';import'./chunk-JNSJVCTU.js';import'./chunk-Q2J542ST.js';import'./chunk-XROULIQN.js';import'./chunk-ZUAUFZRJ.js';import'./chunk-3KVVC4WV.js';import'./chunk-NQ47TA6C.js';import'./chunk-M4UMM6DC.js';import'./chunk-ODVKPZZ4.js';import'./chunk-74SGKSRQ.js';import'./chunk-MQIG6SMF.js';import'./chunk-EK4ZRIFJ.js';import'./chunk-NEJ4ZLCY.js';import'./chunk-DVZWCXB6.js';import'./chunk-QGZRM6ZB.js';import'./chunk-RLCH7DXQ.js';import'./chunk-5TAVYPOV.js';