@a-company/paradigm 5.38.0 → 6.0.4

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 (355) hide show
  1. package/dist/{accept-orchestration-OATWIRHP.js → accept-orchestration-TIXUQQGR.js} +1 -1
  2. package/dist/add-UOR4INIV.js +8 -0
  3. package/dist/agent-MB3H5EZA.js +33 -0
  4. package/dist/{agent-loader-RIVI6QPP.js → agent-loader-VGBPL3TH.js} +1 -1
  5. package/dist/{agent-loader-RJRVO5GQ.js → agent-loader-W3RQJVW7.js} +1 -1
  6. package/dist/{agents-suggest-HYTFMQD3.js → agents-suggest-IKY6VD2R.js} +1 -1
  7. package/dist/{ambient-WTLYUAQM.js → ambient-AI42BOM5.js} +12 -12
  8. package/dist/{ambient-76YMUA5Q.js → ambient-FNNFB4AP.js} +1 -1
  9. package/dist/{assess-UFPYEJKP.js → assess-63WXHWJV.js} +1 -1
  10. package/dist/authority-FA3HLEOA.js +2 -0
  11. package/dist/{calibration-OLJYB5HN.js → calibration-BDHGYJOK.js} +1 -1
  12. package/dist/chunk-23T6UG73.js +605 -0
  13. package/dist/{chunk-4L7665QV.js → chunk-2AU5L333.js} +1 -1
  14. package/dist/{chunk-BOYQAMGC.js → chunk-4N56FRNE.js} +1 -1
  15. package/dist/{chunk-5QOCKWK5.js → chunk-4PSD5R7N.js} +2 -2
  16. package/dist/{chunk-MQIG6SMF.js → chunk-6QXBXZF6.js} +1 -1
  17. package/dist/{chunk-ORDKEGII.js → chunk-AMLD7IYC.js} +1 -1
  18. package/dist/{chunk-3DZK54RU.js → chunk-DBEWOKD6.js} +32 -7
  19. package/dist/{chunk-AGFPVSX5.js → chunk-F6E3HW45.js} +1 -1
  20. package/dist/{chunk-X3U3IGYT.js → chunk-GD4F2HC6.js} +2 -2
  21. package/dist/chunk-GRZQIKST.js +2 -0
  22. package/dist/{chunk-HOBHJPTL.js → chunk-IOVHF4SR.js} +1 -1
  23. package/dist/{chunk-RLCH7DXQ.js → chunk-K7X3Z3GL.js} +1 -1
  24. package/dist/{chunk-74SGKSRQ.js → chunk-KAFQA7HV.js} +2 -2
  25. package/dist/{chunk-NEJ4ZLCY.js → chunk-LAYBUKMB.js} +1 -1
  26. package/dist/{chunk-4VKSEOXZ.js → chunk-LPBCQM5Y.js} +3 -3
  27. package/dist/chunk-Q527BPUF.js +2 -0
  28. package/dist/{chunk-AO7ZSRME.js → chunk-TQOT2LBO.js} +2 -2
  29. package/dist/{chunk-3XGNXXCT.js → chunk-UZ5H7K6Q.js} +1 -1
  30. package/dist/chunk-VIG5LSGZ.js +2 -0
  31. package/dist/chunk-VNIX5KBT.js +3 -0
  32. package/dist/chunk-WXF5VFB4.js +111 -0
  33. package/dist/chunk-XQLO5URP.js +11 -0
  34. package/dist/{chunk-DOCDDDTD.js → chunk-YNDPSWOE.js} +5 -5
  35. package/dist/chunk-Z5QW6USC.js +2 -0
  36. package/dist/{compliance-D7GD6ZYC.js → compliance-J3VOV445.js} +1 -1
  37. package/dist/config-schema-FLHRVZMI.js +2 -0
  38. package/dist/{context-audit-XRPT3OU2.js → context-audit-JVCA6GSV.js} +1 -1
  39. package/dist/{cursorrules-U5O4G5T4.js → cursorrules-ZXPXPZ3P.js} +1 -1
  40. package/dist/decision-loader-HELL2AMX.js +2 -0
  41. package/dist/{delete-P5VULXR4.js → delete-2C6ALLYY.js} +1 -1
  42. package/dist/{diff-YGHBIJY5.js → diff-75MABOSL.js} +1 -1
  43. package/dist/{dist-KGRCLBJP-2QAPFYNF.js → dist-GQ42YS5N-4HIJZVBB.js} +10 -10
  44. package/dist/{docs-USDAF26F.js → docs-TSAAS4W3.js} +1 -1
  45. package/dist/doctor-L5XZENCF.js +2 -0
  46. package/dist/{edit-GUU3HBVW.js → edit-P3MDAZLU.js} +1 -1
  47. package/dist/{flow-FVZR3YJ4.js → flow-BGXOVE2V.js} +1 -1
  48. package/dist/{hooks-TFMMMB2H.js → hooks-KUEE5KMM.js} +1 -1
  49. package/dist/index.js +6 -6
  50. package/dist/init-M44SO65G.js +2 -0
  51. package/dist/{init-XYB62Q3X.js → init-V4KSEKPK.js} +1 -1
  52. package/dist/{list-YKIQNKGB.js → list-2XIWUEMA.js} +1 -1
  53. package/dist/list-CFHINXIS.js +12 -0
  54. package/dist/lore-loader-D2ISOASW.js +2 -0
  55. package/dist/lore-loader-PXFKMKAN.js +2 -0
  56. package/dist/mcp.js +4 -4
  57. package/dist/metrics-UESGUHTA.js +2 -0
  58. package/dist/{migrate-Z5UQN57G.js → migrate-ZPNYDNM4.js} +1 -1
  59. package/dist/migrate-assessments-YSITX7KM.js +4 -0
  60. package/dist/migrate-decisions-NPLQOEEH.js +6 -0
  61. package/dist/migrate-plsat-EM2ACIQ3.js +6 -0
  62. package/dist/migration-notices-BHLEYC4T.js +4 -0
  63. package/dist/{nomination-engine-EALA5MGI.js → nomination-engine-NCLTGMAK.js} +1 -1
  64. package/dist/{notebook-loader-PXNRBBXD.js → notebook-loader-3J2OFMS3.js} +1 -1
  65. package/dist/{orchestrate-M5PBZBJQ.js → orchestrate-K4KBTBYK.js} +1 -1
  66. package/dist/{platform-server-DNAMH4YI.js → platform-server-ANOALDPL.js} +1 -1
  67. package/dist/{portal-check-ZMLVBIGW.js → portal-check-DV2VSJ5E.js} +1 -1
  68. package/dist/portal-compliance-JONQ4SOP.js +2 -0
  69. package/dist/{probe-3FTG6LYO.js → probe-5HAXULAD.js} +1 -1
  70. package/dist/{providers-AWA7WLLM.js → providers-TBPOE4DI.js} +1 -1
  71. package/dist/quiz-WYIZJG5K.js +10 -0
  72. package/dist/{record-YXPB34MY.js → record-N3VNYYKJ.js} +1 -1
  73. package/dist/registry-OUTA3DXW.js +20 -0
  74. package/dist/reindex-IZCD2JGD.js +2 -0
  75. package/dist/{retag-N5XF3KXP.js → retag-72R2OSZV.js} +1 -1
  76. package/dist/{review-77QI6VOC.js → review-2INNWLTW.js} +1 -1
  77. package/dist/{sentinel-HYAZ3CO5.js → sentinel-EFPEX246.js} +1 -1
  78. package/dist/{sentinel-bridge-VR357PKL.js → sentinel-bridge-UR2MKARY.js} +1 -1
  79. package/dist/{serve-U47GULB6.js → serve-3FMUWW5K.js} +1 -1
  80. package/dist/serve-OQYUO7CR.js +12 -0
  81. package/dist/{server-4YNUIK4W.js → server-4D77LCST.js} +1 -1
  82. package/dist/server-FGUL2FWQ.js +7 -0
  83. package/dist/session-tracker-HHNY6J4I.js +2 -0
  84. package/dist/{session-work-log-ZP45TREI.js → session-work-log-MEJ33TYD.js} +1 -1
  85. package/dist/{session-work-log-PAKXOFGL.js → session-work-log-ZVVJGO7X.js} +1 -1
  86. package/dist/{setup-FEWSYS3Y.js → setup-ZSEC72BS.js} +1 -1
  87. package/dist/shift-WGMZGWOC.js +60 -0
  88. package/dist/{show-PJ5LFLIL.js → show-JH7LJ5MT.js} +1 -1
  89. package/dist/show-WVHAL4VU.js +7 -0
  90. package/dist/{spawn-M5BAV252.js → spawn-KKDDR6UR.js} +1 -1
  91. package/dist/status-S7Z5FVIE.js +6 -0
  92. package/dist/{summary-PYTEIJ4U.js → summary-WLI3NF4G.js} +2 -2
  93. package/dist/{sweep-HU74OPVW.js → sweep-7TZFN5NS.js} +1 -1
  94. package/dist/sync-55U6QPIA.js +2 -0
  95. package/dist/{sync-llms-7CAI74QL.js → sync-llms-GF7DDQDI.js} +1 -1
  96. package/dist/{team-PDK64JXI.js → team-2LGZQRP4.js} +1 -1
  97. package/dist/{timeline-K3ZFKJ3R.js → timeline-RK7O2SCM.js} +1 -1
  98. package/dist/tools-4RRFTU5H.js +2 -0
  99. package/dist/university-content/notes/N-para-001-build-something.md +126 -0
  100. package/dist/university-content/notes/N-para-001-meet-the-team.md +85 -0
  101. package/dist/university-content/notes/N-para-001-shift-setup.md +74 -0
  102. package/dist/university-content/notes/N-para-101-component-types.md +99 -0
  103. package/dist/university-content/notes/N-para-101-first-steps.md +134 -0
  104. package/dist/university-content/notes/N-para-101-five-symbols.md +128 -0
  105. package/dist/university-content/notes/N-para-101-paradigm-logger.md +89 -0
  106. package/dist/university-content/notes/N-para-101-portal-yaml.md +112 -0
  107. package/dist/university-content/notes/N-para-101-project-structure.md +143 -0
  108. package/dist/university-content/notes/N-para-101-purpose-files.md +121 -0
  109. package/dist/university-content/notes/N-para-101-tags-and-classification.md +93 -0
  110. package/dist/university-content/notes/N-para-101-welcome.md +51 -0
  111. package/dist/university-content/notes/N-para-201-architecture-review.md +175 -0
  112. package/dist/university-content/notes/N-para-201-aspect-graph.md +79 -0
  113. package/dist/university-content/notes/N-para-201-aspects-and-anchors.md +112 -0
  114. package/dist/university-content/notes/N-para-201-component-patterns.md +138 -0
  115. package/dist/university-content/notes/N-para-201-cross-cutting-concerns.md +145 -0
  116. package/dist/university-content/notes/N-para-201-disciplines.md +187 -0
  117. package/dist/university-content/notes/N-para-201-flows-deep-dive.md +119 -0
  118. package/dist/university-content/notes/N-para-201-gates-deep-dive.md +165 -0
  119. package/dist/university-content/notes/N-para-201-portal-protocol.md +133 -0
  120. package/dist/university-content/notes/N-para-201-signal-patterns.md +159 -0
  121. package/dist/university-content/notes/N-para-201-symbol-naming.md +149 -0
  122. package/dist/university-content/notes/N-para-301-context-management.md +53 -0
  123. package/dist/university-content/notes/N-para-301-decisions.md +99 -0
  124. package/dist/university-content/notes/N-para-301-doctor-and-validation.md +70 -0
  125. package/dist/university-content/notes/N-para-301-enforcement-levels.md +102 -0
  126. package/dist/university-content/notes/N-para-301-fragility-tracking.md +50 -0
  127. package/dist/university-content/notes/N-para-301-history-system.md +42 -0
  128. package/dist/university-content/notes/N-para-301-navigation-system.md +55 -0
  129. package/dist/university-content/notes/N-para-301-operations-review.md +55 -0
  130. package/dist/university-content/notes/N-para-301-paradigm-shift.md +93 -0
  131. package/dist/university-content/notes/N-para-301-protocols.md +113 -0
  132. package/dist/university-content/notes/N-para-301-ripple-analysis.md +53 -0
  133. package/dist/university-content/notes/N-para-301-sentinel-observability.md +87 -0
  134. package/dist/university-content/notes/N-para-301-sync-and-maintenance.md +57 -0
  135. package/dist/university-content/notes/N-para-301-wisdom-system.md +89 -0
  136. package/dist/university-content/notes/N-para-401-agent-identity.md +99 -0
  137. package/dist/university-content/notes/N-para-401-agent-interop.md +87 -0
  138. package/dist/university-content/notes/N-para-401-agent-roles.md +107 -0
  139. package/dist/university-content/notes/N-para-401-commit-conventions.md +82 -0
  140. package/dist/university-content/notes/N-para-401-mastery-review.md +71 -0
  141. package/dist/university-content/notes/N-para-401-mcp-tools-overview.md +102 -0
  142. package/dist/university-content/notes/N-para-401-multi-agent-coordination.md +80 -0
  143. package/dist/university-content/notes/N-para-401-notebooks-permissions.md +66 -0
  144. package/dist/university-content/notes/N-para-401-orchestration-workflow.md +101 -0
  145. package/dist/university-content/notes/N-para-401-pm-governance.md +71 -0
  146. package/dist/university-content/notes/N-para-401-provider-cascade.md +75 -0
  147. package/dist/university-content/notes/N-para-401-quick-check.md +95 -0
  148. package/dist/university-content/notes/N-para-451-agent-routing.md +117 -0
  149. package/dist/university-content/notes/N-para-451-archetypes-vs-instances.md +82 -0
  150. package/dist/university-content/notes/N-para-451-identity-layers.md +76 -0
  151. package/dist/university-content/notes/N-para-451-orchestration-modes.md +85 -0
  152. package/dist/university-content/notes/N-para-451-paradigm-shift.md +95 -0
  153. package/dist/university-content/notes/N-para-451-partners-primitive.md +107 -0
  154. package/dist/university-content/notes/N-para-451-roster-management.md +132 -0
  155. package/dist/university-content/notes/N-para-451-roster-reference.md +106 -0
  156. package/dist/university-content/notes/N-para-451-the-team-pattern.md +87 -0
  157. package/dist/university-content/notes/N-para-451-tiers.md +81 -0
  158. package/dist/university-content/notes/N-para-451-welcome.md +55 -0
  159. package/dist/university-content/notes/N-para-451-what-is-an-agent.md +73 -0
  160. package/dist/university-content/notes/N-para-501-advanced-workflows.md +122 -0
  161. package/dist/university-content/notes/N-para-501-aspect-graph-advanced.md +195 -0
  162. package/dist/university-content/notes/N-para-501-aspect-graph-internals.md +97 -0
  163. package/dist/university-content/notes/N-para-501-assessment-loops.md +116 -0
  164. package/dist/university-content/notes/N-para-501-conductor-workspace.md +77 -0
  165. package/dist/university-content/notes/N-para-501-habits-practice.md +164 -0
  166. package/dist/university-content/notes/N-para-501-hook-enforcement.md +100 -0
  167. package/dist/university-content/notes/N-para-501-lore-system.md +155 -0
  168. package/dist/university-content/notes/N-para-501-platform-agent-ui.md +108 -0
  169. package/dist/university-content/notes/N-para-501-review-compliance.md +72 -0
  170. package/dist/university-content/notes/N-para-501-sentinel-deep-dive.md +173 -0
  171. package/dist/university-content/notes/N-para-501-session-intelligence.md +104 -0
  172. package/dist/university-content/notes/N-para-501-symphony-a-mail.md +120 -0
  173. package/dist/university-content/notes/N-para-501-symphony-networking.md +119 -0
  174. package/dist/university-content/notes/N-para-501-task-management.md +100 -0
  175. package/dist/university-content/notes/N-para-601-agent-renaissance.md +121 -0
  176. package/dist/university-content/notes/N-para-601-attention-scoring.md +129 -0
  177. package/dist/university-content/notes/N-para-601-context-composition.md +146 -0
  178. package/dist/university-content/notes/N-para-601-data-sovereignty.md +140 -0
  179. package/dist/university-content/notes/N-para-601-event-stream.md +126 -0
  180. package/dist/university-content/notes/N-para-601-knowledge-streams.md +144 -0
  181. package/dist/university-content/notes/N-para-601-learning-loop.md +68 -0
  182. package/dist/university-content/notes/N-para-601-maestro-team-collab.md +136 -0
  183. package/dist/university-content/notes/N-para-601-nominations-debates.md +115 -0
  184. package/dist/university-content/notes/N-para-701-agent-notebooks.md +131 -0
  185. package/dist/university-content/notes/N-para-701-agent-pods-nevrland.md +182 -0
  186. package/dist/university-content/notes/N-para-701-agent-profiles.md +197 -0
  187. package/dist/university-content/notes/N-para-701-agent-roster.md +82 -0
  188. package/dist/university-content/notes/N-para-701-agent-state.md +180 -0
  189. package/dist/university-content/notes/N-para-701-learning-feedback-loop.md +188 -0
  190. package/dist/university-content/notes/N-para-701-model-tier-resolution.md +204 -0
  191. package/dist/university-content/notes/N-para-701-orchestration-enforcement.md +169 -0
  192. package/dist/university-content/notes/N-para-701-per-project-rosters.md +198 -0
  193. package/dist/university-content/notes/N-para-701-symphony-visibility.md +142 -0
  194. package/dist/university-content/paths/LP-para-001.yaml +29 -0
  195. package/dist/university-content/paths/LP-para-101.yaml +59 -0
  196. package/dist/university-content/paths/LP-para-201.yaml +69 -0
  197. package/dist/university-content/paths/LP-para-301.yaml +84 -0
  198. package/dist/university-content/paths/LP-para-401.yaml +74 -0
  199. package/dist/university-content/paths/LP-para-451.yaml +69 -0
  200. package/dist/university-content/paths/LP-para-501.yaml +89 -0
  201. package/dist/university-content/paths/LP-para-601.yaml +59 -0
  202. package/dist/university-content/paths/LP-para-701.yaml +64 -0
  203. package/dist/university-content/quizzes/Q-para-001-build-something.yaml +46 -0
  204. package/dist/university-content/quizzes/Q-para-001-meet-the-team.yaml +46 -0
  205. package/dist/university-content/quizzes/Q-para-001-shift-setup.yaml +46 -0
  206. package/dist/university-content/quizzes/Q-para-101-component-types.yaml +46 -0
  207. package/dist/university-content/quizzes/Q-para-101-first-steps.yaml +56 -0
  208. package/dist/university-content/quizzes/Q-para-101-five-symbols.yaml +66 -0
  209. package/dist/university-content/quizzes/Q-para-101-paradigm-logger.yaml +56 -0
  210. package/dist/university-content/quizzes/Q-para-101-portal-yaml.yaml +56 -0
  211. package/dist/university-content/quizzes/Q-para-101-project-structure.yaml +66 -0
  212. package/dist/university-content/quizzes/Q-para-101-purpose-files.yaml +56 -0
  213. package/dist/university-content/quizzes/Q-para-101-tags-and-classification.yaml +56 -0
  214. package/dist/university-content/quizzes/Q-para-101-welcome.yaml +56 -0
  215. package/dist/university-content/quizzes/Q-para-201-architecture-review.yaml +66 -0
  216. package/dist/university-content/quizzes/Q-para-201-aspect-graph.yaml +46 -0
  217. package/dist/university-content/quizzes/Q-para-201-aspects-and-anchors.yaml +56 -0
  218. package/dist/university-content/quizzes/Q-para-201-component-patterns.yaml +56 -0
  219. package/dist/university-content/quizzes/Q-para-201-cross-cutting-concerns.yaml +56 -0
  220. package/dist/university-content/quizzes/Q-para-201-disciplines.yaml +66 -0
  221. package/dist/university-content/quizzes/Q-para-201-flows-deep-dive.yaml +66 -0
  222. package/dist/university-content/quizzes/Q-para-201-gates-deep-dive.yaml +66 -0
  223. package/dist/university-content/quizzes/Q-para-201-portal-protocol.yaml +56 -0
  224. package/dist/university-content/quizzes/Q-para-201-signal-patterns.yaml +56 -0
  225. package/dist/university-content/quizzes/Q-para-201-symbol-naming.yaml +66 -0
  226. package/dist/university-content/quizzes/Q-para-301-context-management.yaml +56 -0
  227. package/dist/university-content/quizzes/Q-para-301-decisions.yaml +76 -0
  228. package/dist/university-content/quizzes/Q-para-301-doctor-and-validation.yaml +66 -0
  229. package/dist/university-content/quizzes/Q-para-301-enforcement-levels.yaml +46 -0
  230. package/dist/university-content/quizzes/Q-para-301-fragility-tracking.yaml +46 -0
  231. package/dist/university-content/quizzes/Q-para-301-history-system.yaml +56 -0
  232. package/dist/university-content/quizzes/Q-para-301-navigation-system.yaml +56 -0
  233. package/dist/university-content/quizzes/Q-para-301-operations-review.yaml +66 -0
  234. package/dist/university-content/quizzes/Q-para-301-paradigm-shift.yaml +46 -0
  235. package/dist/university-content/quizzes/Q-para-301-protocols.yaml +56 -0
  236. package/dist/university-content/quizzes/Q-para-301-ripple-analysis.yaml +56 -0
  237. package/dist/university-content/quizzes/Q-para-301-sentinel-observability.yaml +46 -0
  238. package/dist/university-content/quizzes/Q-para-301-sync-and-maintenance.yaml +46 -0
  239. package/dist/university-content/quizzes/Q-para-301-wisdom-system.yaml +56 -0
  240. package/dist/university-content/quizzes/Q-para-401-agent-identity.yaml +66 -0
  241. package/dist/university-content/quizzes/Q-para-401-agent-interop.yaml +46 -0
  242. package/dist/university-content/quizzes/Q-para-401-agent-roles.yaml +56 -0
  243. package/dist/university-content/quizzes/Q-para-401-commit-conventions.yaml +56 -0
  244. package/dist/university-content/quizzes/Q-para-401-mastery-review.yaml +66 -0
  245. package/dist/university-content/quizzes/Q-para-401-mcp-tools-overview.yaml +66 -0
  246. package/dist/university-content/quizzes/Q-para-401-multi-agent-coordination.yaml +76 -0
  247. package/dist/university-content/quizzes/Q-para-401-notebooks-permissions.yaml +61 -0
  248. package/dist/university-content/quizzes/Q-para-401-orchestration-workflow.yaml +66 -0
  249. package/dist/university-content/quizzes/Q-para-401-pm-governance.yaml +66 -0
  250. package/dist/university-content/quizzes/Q-para-401-provider-cascade.yaml +56 -0
  251. package/dist/university-content/quizzes/Q-para-401-quick-check.yaml +46 -0
  252. package/dist/university-content/quizzes/Q-para-451-foundations.yaml +154 -0
  253. package/dist/university-content/quizzes/Q-para-451-when-to-invoke.yaml +182 -0
  254. package/dist/university-content/quizzes/Q-para-501-advanced-workflows.yaml +66 -0
  255. package/dist/university-content/quizzes/Q-para-501-aspect-graph-advanced.yaml +66 -0
  256. package/dist/university-content/quizzes/Q-para-501-aspect-graph-internals.yaml +66 -0
  257. package/dist/university-content/quizzes/Q-para-501-assessment-loops.yaml +46 -0
  258. package/dist/university-content/quizzes/Q-para-501-conductor-workspace.yaml +46 -0
  259. package/dist/university-content/quizzes/Q-para-501-habits-practice.yaml +56 -0
  260. package/dist/university-content/quizzes/Q-para-501-hook-enforcement.yaml +66 -0
  261. package/dist/university-content/quizzes/Q-para-501-lore-system.yaml +66 -0
  262. package/dist/university-content/quizzes/Q-para-501-platform-agent-ui.yaml +66 -0
  263. package/dist/university-content/quizzes/Q-para-501-review-compliance.yaml +61 -0
  264. package/dist/university-content/quizzes/Q-para-501-sentinel-deep-dive.yaml +86 -0
  265. package/dist/university-content/quizzes/Q-para-501-session-intelligence.yaml +66 -0
  266. package/dist/university-content/quizzes/Q-para-501-symphony-a-mail.yaml +66 -0
  267. package/dist/university-content/quizzes/Q-para-501-symphony-networking.yaml +66 -0
  268. package/dist/university-content/quizzes/Q-para-501-task-management.yaml +46 -0
  269. package/dist/university-content/quizzes/Q-para-601-agent-renaissance.yaml +66 -0
  270. package/dist/university-content/quizzes/Q-para-601-attention-scoring.yaml +56 -0
  271. package/dist/university-content/quizzes/Q-para-601-context-composition.yaml +66 -0
  272. package/dist/university-content/quizzes/Q-para-601-data-sovereignty.yaml +56 -0
  273. package/dist/university-content/quizzes/Q-para-601-event-stream.yaml +66 -0
  274. package/dist/university-content/quizzes/Q-para-601-knowledge-streams.yaml +66 -0
  275. package/dist/university-content/quizzes/Q-para-601-learning-loop.yaml +56 -0
  276. package/dist/university-content/quizzes/Q-para-601-maestro-team-collab.yaml +86 -0
  277. package/dist/university-content/quizzes/Q-para-601-nominations-debates.yaml +66 -0
  278. package/dist/university-content/quizzes/Q-para-701-agent-notebooks.yaml +66 -0
  279. package/dist/university-content/quizzes/Q-para-701-agent-pods-nevrland.yaml +66 -0
  280. package/dist/university-content/quizzes/Q-para-701-agent-profiles.yaml +66 -0
  281. package/dist/university-content/quizzes/Q-para-701-agent-roster.yaml +66 -0
  282. package/dist/university-content/quizzes/Q-para-701-agent-state.yaml +66 -0
  283. package/dist/university-content/quizzes/Q-para-701-learning-feedback-loop.yaml +66 -0
  284. package/dist/university-content/quizzes/Q-para-701-model-tier-resolution.yaml +66 -0
  285. package/dist/university-content/quizzes/Q-para-701-orchestration-enforcement.yaml +66 -0
  286. package/dist/university-content/quizzes/Q-para-701-per-project-rosters.yaml +66 -0
  287. package/dist/university-content/quizzes/Q-para-701-symphony-visibility.yaml +66 -0
  288. package/dist/university-content/quizzes/Q-plsat-v2.yaml +904 -0
  289. package/dist/university-content/quizzes/Q-plsat-v3.yaml +2909 -0
  290. package/dist/university-content/reference.json +2 -2
  291. package/dist/university-ui/assets/{index-CecQrfSn.js → index-nNgzO1il.js} +2 -2
  292. package/dist/university-ui/assets/{index-CecQrfSn.js.map → index-nNgzO1il.js.map} +1 -1
  293. package/dist/university-ui/index.html +1 -1
  294. package/dist/{upgrade-GX56QE3C.js → upgrade-NKN63VTY.js} +2 -2
  295. package/dist/validate-XUQZTF3H.js +9 -0
  296. package/dist/{watch-YCODNIET.js → watch-25GJHQYT.js} +1 -1
  297. package/lore-ui/dist/assets/{index-Bk-K0qgN.js → index-DKhNxgtW.js} +10 -10
  298. package/lore-ui/dist/index.html +1 -1
  299. package/package.json +2 -2
  300. package/platform-ui/dist/assets/{AmbientSection-BYjt75R1.js → AmbientSection-CwatqcBD.js} +1 -1
  301. package/platform-ui/dist/assets/{CanvasSection-rKvA_vZj.js → CanvasSection-dFAthehN.js} +1 -1
  302. package/platform-ui/dist/assets/{DocsSection-CI9K73M-.js → DocsSection-BZ2SFJBZ.js} +1 -1
  303. package/platform-ui/dist/assets/{GitSection-DSGj_c6S.js → GitSection-MNNYU1tO.js} +1 -1
  304. package/platform-ui/dist/assets/{GraphSection-CawN7pC5.js → GraphSection-COYjb4Pt.js} +1 -1
  305. package/platform-ui/dist/assets/LoreSection-B0hUbfsJ.js +1 -0
  306. package/platform-ui/dist/assets/{SentinelSection-DNgoYMH0.js → SentinelSection-BCxW1DCp.js} +1 -1
  307. package/platform-ui/dist/assets/{SymphonySection-C0zfcqv3.js → SymphonySection-BsucZRqy.js} +1 -1
  308. package/platform-ui/dist/assets/{TeamSection-Bzd3Dt9Q.js → TeamSection-C0QNTudW.js} +1 -1
  309. package/platform-ui/dist/assets/{UniversitySection-tBr62R0S.js → UniversitySection-DN1-g9pw.js} +1 -1
  310. package/platform-ui/dist/assets/{index-BaOmyn11.js → index-DwUT8pju.js} +2 -2
  311. package/platform-ui/dist/index.html +1 -1
  312. package/dist/add-P76GEMGF.js +0 -8
  313. package/dist/agent-X6I2YWOB.js +0 -33
  314. package/dist/chunk-JQKKVAAN.js +0 -2
  315. package/dist/chunk-NQ47TA6C.js +0 -111
  316. package/dist/chunk-ODVKPZZ4.js +0 -2
  317. package/dist/chunk-Q2J542ST.js +0 -2
  318. package/dist/chunk-RBLK34IA.js +0 -11
  319. package/dist/chunk-RN4VE6P3.js +0 -521
  320. package/dist/chunk-WS2N27RX.js +0 -3
  321. package/dist/config-schema-GUQY2QN7.js +0 -2
  322. package/dist/decision-loader-2XPZE4EZ.js +0 -2
  323. package/dist/doctor-WMVULMQD.js +0 -2
  324. package/dist/list-5IUGP3ZB.js +0 -7
  325. package/dist/lore-loader-RVQI5GXL.js +0 -2
  326. package/dist/lore-loader-XY5MZRR2.js +0 -2
  327. package/dist/migrate-assessments-GEI5WMI2.js +0 -4
  328. package/dist/portal-compliance-6YR27IQU.js +0 -2
  329. package/dist/quiz-FE5UGAY2.js +0 -10
  330. package/dist/registry-KOOKFUWD.js +0 -20
  331. package/dist/reindex-I6LPAKCC.js +0 -2
  332. package/dist/serve-OY6XYL7F.js +0 -12
  333. package/dist/server-2MNROHF6.js +0 -7
  334. package/dist/session-tracker-MWJAJA6Z.js +0 -2
  335. package/dist/shift-PC6C7NUX.js +0 -60
  336. package/dist/show-BOAVWZPZ.js +0 -7
  337. package/dist/status-A37ECYNJ.js +0 -6
  338. package/dist/sync-DLUBV5HQ.js +0 -2
  339. package/dist/tools-5ITPEPSV.js +0 -2
  340. package/dist/university-content/courses/.purpose +0 -492
  341. package/dist/university-content/courses/para-001.json +0 -166
  342. package/dist/university-content/courses/para-101.json +0 -615
  343. package/dist/university-content/courses/para-201.json +0 -794
  344. package/dist/university-content/courses/para-301.json +0 -830
  345. package/dist/university-content/courses/para-401.json +0 -868
  346. package/dist/university-content/courses/para-501.json +0 -1166
  347. package/dist/university-content/courses/para-601.json +0 -719
  348. package/dist/university-content/courses/para-701.json +0 -807
  349. package/dist/university-content/plsat/.purpose +0 -162
  350. package/dist/university-content/plsat/v2.0.json +0 -760
  351. package/dist/university-content/plsat/v3.0.json +0 -3453
  352. package/dist/validate-C6SMKGYD.js +0 -9
  353. package/platform-ui/dist/assets/LoreSection-oO5dCe6O.js +0 -1
  354. /package/dist/{chunk-BV5PRPLB.js → chunk-HXGYVS2N.js} +0 -0
  355. /package/templates/paradigm/specs/{scan.md → probe.md} +0 -0
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoreSection-oO5dCe6O.js","assets/LoreSection-qnmm3o4y.css","assets/GraphSection-CawN7pC5.js","assets/GraphSection-Bbs2a8sC.css","assets/CanvasSection-rKvA_vZj.js","assets/CanvasSection-flMXU19z.css","assets/GitSection-DSGj_c6S.js","assets/GitSection-C-GQWHcu.css","assets/SentinelSection-DNgoYMH0.js","assets/SentinelSection-BI-aIYKL.css","assets/SymphonySection-C0zfcqv3.js","assets/SymphonySection-zY0C5tFl.css","assets/DocsSection-CI9K73M-.js","assets/DocsSection-CjdO6R-u.css","assets/AmbientSection-BYjt75R1.js","assets/AmbientSection-10pbwWjo.css","assets/TeamSection-Bzd3Dt9Q.js","assets/TeamSection-udxWQTcX.css","assets/UniversitySection-tBr62R0S.js","assets/UniversitySection-B3ltVfpt.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoreSection-B0hUbfsJ.js","assets/LoreSection-qnmm3o4y.css","assets/GraphSection-COYjb4Pt.js","assets/GraphSection-Bbs2a8sC.css","assets/CanvasSection-dFAthehN.js","assets/CanvasSection-flMXU19z.css","assets/GitSection-MNNYU1tO.js","assets/GitSection-C-GQWHcu.css","assets/SentinelSection-BCxW1DCp.js","assets/SentinelSection-BI-aIYKL.css","assets/SymphonySection-BsucZRqy.js","assets/SymphonySection-zY0C5tFl.css","assets/DocsSection-BZ2SFJBZ.js","assets/DocsSection-CjdO6R-u.css","assets/AmbientSection-CwatqcBD.js","assets/AmbientSection-10pbwWjo.css","assets/TeamSection-C0QNTudW.js","assets/TeamSection-udxWQTcX.css","assets/UniversitySection-DN1-g9pw.js","assets/UniversitySection-B3ltVfpt.css"])))=>i.map(i=>d[i]);
2
2
  var zc=Object.defineProperty;var Lc=(e,t,n)=>t in e?zc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Yi=(e,t,n)=>Lc(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();var dm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var cs={exports:{}},al={},fs={exports:{}},z={};/**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -54,4 +54,4 @@ Error generating stack: `+o.message+`
54
54
  *
55
55
  * This source code is licensed under the MIT license found in the
56
56
  * LICENSE file in the root directory of this source tree.
57
- */var Cl=L,gp=yp;function wp(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Sp=typeof Object.is=="function"?Object.is:wp,kp=gp.useSyncExternalStore,_p=Cl.useRef,Ep=Cl.useEffect,xp=Cl.useMemo,Cp=Cl.useDebugValue;Cc.useSyncExternalStoreWithSelector=function(e,t,n,r,l){var o=_p(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=xp(function(){function s(S){if(!c){if(c=!0,h=S,S=r(S),l!==void 0&&i.hasValue){var y=i.value;if(l(y,S))return p=y}return p=S}if(y=p,Sp(h,S))return y;var k=r(S);return l!==void 0&&l(y,k)?(h=S,y):(h=S,p=k)}var c=!1,h,p,m=n===void 0?null:n;return[function(){return s(t())},m===null?void 0:function(){return s(m())}]},[t,n,r,l]);var u=kp(e,o[0],o[1]);return Ep(function(){i.hasValue=!0,i.value=u},[u]),Cp(u),u};xc.exports=Cc;var Np=xc.exports;const jp=Zo(Np),Pc={},{useDebugValue:Pp}=Ss,{useSyncExternalStoreWithSelector:Tp}=jp;let os=!1;const zp=e=>e;function Lp(e,t=zp,n){(Pc?"production":void 0)!=="production"&&n&&!os&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),os=!0);const r=Tp(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Pp(r),r}const is=e=>{(Pc?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?up(e):e,n=(r,l)=>Lp(t,r,l);return Object.assign(n,t),n},Qi=e=>e?is(e):is;let xn=null;const X=Qi((e,t)=>({activeSection:"overview",availableSections:["overview","lore","graph","git"],projectName:"",theme:localStorage.getItem("paradigm-platform-theme")||"dark",setActiveSection:n=>{e({activeSection:n}),window.history.pushState(null,"",`/${n==="overview"?"":n}`)},setAvailableSections:n=>e({availableSections:n}),setProjectName:n=>e({projectName:n}),toggleTheme:()=>{const n=t().theme==="dark"?"light":"dark";e({theme:n}),localStorage.setItem("paradigm-platform-theme",n),document.documentElement.setAttribute("data-theme",n)},fetchPlatformInfo:async()=>{var r;xn==null||xn.abort(),xn=new AbortController;const{signal:n}=xn;try{const[l,o]=await Promise.all([fetch("/api/info",{signal:n}),fetch("/api/platform/sections",{signal:n})]);if(l.ok){const i=await l.json();e({projectName:i.project||i.name||""})}if(o.ok){const i=await o.json();(r=i.sections)!=null&&r.length&&e({availableSections:i.sections})}}catch(l){if(l instanceof Error&&l.name==="AbortError")return}}})),Op={overview:"◉",lore:"◆",graph:"◎",canvas:"▦",git:"⎇",sentinel:"◈",university:"▣",symphony:"♪",docs:"☰",ambient:"◌",team:"◫",meetings:"●"};function Rp(){const e=X(o=>o.activeSection),t=X(o=>o.availableSections),n=X(o=>o.setActiveSection),r=X(o=>o.toggleTheme),l=X(o=>o.theme);return v.jsxs("nav",{className:"sidebar",children:[v.jsx("div",{className:"sidebar__nav",children:t.map(o=>v.jsxs("button",{className:`sidebar__item ${e===o?"sidebar__item--active":""}`,onClick:()=>n(o),title:o.charAt(0).toUpperCase()+o.slice(1),children:[v.jsx("span",{className:"sidebar__item-icon",children:Op[o]||"○"}),v.jsx("span",{className:"sidebar__item-label",children:o})]},o))}),v.jsx("div",{className:"sidebar__bottom",children:v.jsxs("button",{className:"sidebar__item",onClick:r,title:`Switch to ${l==="dark"?"light":"dark"} theme`,children:[v.jsx("span",{className:"sidebar__item-icon",children:l==="dark"?"◑":"◐"}),v.jsx("span",{className:"sidebar__item-label",children:"theme"})]})})]})}const We=Qi((e,t)=>({agents:[],highlights:[],annotations:[],toasts:[],agentMuted:!1,pendingNavigation:null,handleAgentMessage:n=>{const r=t();if(!(r.agentMuted&&n.type!=="agent:mute_changed"))switch(n.type){case"agent:join":{const l=n.agent;l&&e({agents:[...r.agents.filter(o=>o.agentId!==l.agentId),l]});break}case"agent:leave":{const l=n.agentId;e({agents:r.agents.filter(o=>o.agentId!==l)});break}case"agent:navigate":{n.userActive?e({pendingNavigation:{agentId:n.agentId,section:n.section,symbol:n.symbol,loreId:n.loreId}}):(e({pendingNavigation:{agentId:n.agentId,section:n.section,symbol:n.symbol,loreId:n.loreId}}),setTimeout(()=>t().acceptNavigation(),0));break}case"agent:highlight":{const l={symbols:n.symbols||[],color:n.color||"var(--p-accent-blue)",duration:n.duration||5e3,pulse:n.pulse??!0,label:n.label};e({highlights:[...r.highlights,l]}),l.duration>0&&setTimeout(()=>{e({highlights:t().highlights.filter(o=>o!==l)})},l.duration);break}case"agent:annotate":{const l=n.annotation;l&&(l.type==="toast"?(e({toasts:[...r.toasts,l]}),l.duration>0&&setTimeout(()=>{e({toasts:t().toasts.filter(o=>o.id!==l.id)})},l.duration)):(e({annotations:[...r.annotations,l]}),l.duration>0&&setTimeout(()=>{e({annotations:t().annotations.filter(o=>o.id!==l.id)})},l.duration)));break}case"agent:clear":{const l=n.target;(l==="highlights"||l==="all")&&e({highlights:[]}),(l==="annotations"||l==="all")&&e({annotations:[],toasts:[]});break}case"agent:mute_changed":{e({agentMuted:n.muted});break}}},setAgentMuted:n=>{e({agentMuted:n}),n&&e({highlights:[],annotations:[],toasts:[],pendingNavigation:null})},dismissToast:n=>{e({toasts:t().toasts.filter(r=>r.id!==n)})},acceptNavigation:()=>{const n=t().pendingNavigation;n&&(window.dispatchEvent(new CustomEvent("agent-navigate",{detail:n})),e({pendingNavigation:null}))},dismissNavigation:()=>{e({pendingNavigation:null})},clearAll:()=>{e({highlights:[],annotations:[],toasts:[],pendingNavigation:null})}}));function Ip(){const e=X(i=>i.activeSection),t=X(i=>i.projectName),n=We(i=>i.agents),r=We(i=>i.agentMuted),l=We(i=>i.setAgentMuted),o=e.charAt(0).toUpperCase()+e.slice(1);return v.jsxs("header",{className:"header",children:[v.jsxs("div",{className:"header__left",children:[v.jsx("span",{className:"header__title",children:"Paradigm Platform"}),t&&v.jsx("span",{className:"header__project",children:t})]}),v.jsxs("div",{className:"header__right",children:[n.length>0&&v.jsxs("div",{className:"agent-presence",children:[n.map(i=>v.jsx("span",{className:"agent-presence__dot",style:{backgroundColor:i.color},title:i.agentId},i.agentId)),v.jsxs("span",{children:[n.length," agent",n.length!==1?"s":""]}),v.jsx("button",{className:`agent-mute-btn${r?" agent-mute-btn--muted":""}`,onClick:()=>l(!r),title:r?"Unmute agent actions":"Mute agent actions",children:r?"Muted":"Mute"})]}),v.jsx("span",{style:{fontSize:12,color:"var(--p-text-muted)"},children:o})]})]})}class ze extends L.Component{constructor(){super(...arguments);Yi(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(n){return{hasError:!0,error:n}}render(){var n;return this.state.hasError?v.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:12,color:"var(--p-text-muted)",padding:24},children:[v.jsx("span",{style:{fontSize:32},children:"!"}),v.jsxs("h3",{style:{margin:0,color:"var(--p-text-primary)"},children:[this.props.sectionName," encountered an error"]}),v.jsx("p",{style:{margin:0,fontSize:13,maxWidth:400,textAlign:"center"},children:((n=this.state.error)==null?void 0:n.message)||"An unexpected error occurred"}),v.jsx("button",{onClick:()=>this.setState({hasError:!1,error:null}),style:{marginTop:8,padding:"6px 16px",cursor:"pointer",background:"var(--p-bg-tertiary)",color:"var(--p-text-primary)",border:"1px solid var(--p-border)",borderRadius:6,fontSize:13},children:"Reload section"})]}):this.props.children}}let Cn=null;const Dp=Qi(e=>({data:null,loading:!1,error:null,fetchOverview:async()=>{Cn==null||Cn.abort(),Cn=new AbortController;const{signal:t}=Cn;e({loading:!0,error:null});try{const n=await fetch("/api/platform/overview",{signal:t});if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();e({data:r,loading:!1})}catch(n){if(n instanceof Error&&n.name==="AbortError")return;e({error:String(n),loading:!1})}}}));function At({label:e,value:t,icon:n,trend:r,detail:l,accent:o,onClick:i}){return v.jsxs("div",{className:`stat-card ${i?"stat-card--clickable":""}`,onClick:i,style:o?{borderTopColor:o,borderTopWidth:2}:void 0,children:[v.jsxs("div",{className:"stat-card__value",children:[n&&v.jsx("span",{className:"stat-card__icon",children:n}),t,r&&v.jsx("span",{className:"stat-card__trend",children:r})]}),v.jsx("div",{className:"stat-card__label",children:e}),l&&v.jsx("div",{className:"stat-card__detail",children:l})]})}function Mp(e){return e>=.8?"var(--p-accent-green)":e>=.5?"var(--p-accent-orange)":"var(--p-accent-red)"}function Nn({label:e,value:t,color:n}){const r=Math.round(t*100),l=n||Mp(t);return v.jsxs("div",{className:"health-bar",children:[v.jsxs("div",{className:"health-bar__header",children:[v.jsx("span",{className:"health-bar__label",children:e}),v.jsxs("span",{className:"health-bar__value",children:[r,"%"]})]}),v.jsx("div",{className:"health-bar__track",children:v.jsx("div",{className:"health-bar__fill",style:{width:`${r}%`,backgroundColor:l}})})]})}function Ap(e){try{const t=new Date(e),r=Date.now()-t.getTime();return r<6e4?"just now":r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:r<6048e5?`${Math.floor(r/864e5)}d ago`:t.toLocaleDateString()}catch{return""}}function Fp({items:e}){return e.length===0?v.jsx("div",{className:"activity-feed__empty",children:"No recent activity"}):v.jsx("div",{className:"activity-feed",children:e.map((t,n)=>v.jsxs("div",{className:"activity-feed__item",children:[v.jsx("span",{className:`activity-feed__icon activity-feed__icon--${t.type}`,children:t.type==="commit"?"○":"◆"}),v.jsxs("div",{className:"activity-feed__content",children:[v.jsx("span",{className:"activity-feed__summary",children:t.summary}),t.symbol&&v.jsx("span",{className:"activity-feed__symbol",children:t.symbol})]}),v.jsx("span",{className:"activity-feed__time",children:Ap(t.timestamp)})]},`${t.type}-${t.link||n}`))})}const Up={component:"#",flow:"$",gate:"^",signal:"!",aspect:"~"};function $p(e){return Object.entries(e).map(([t,n])=>`${Up[t]||""}${n}`).join(" · ")}function Vp(){const{data:e,loading:t,fetchOverview:n}=Dp(),r=X(o=>o.setActiveSection);if(L.useEffect(()=>{n();const o=setInterval(()=>{document.hidden||n()},15e3);return()=>clearInterval(o)},[]),t&&!e)return v.jsxs("div",{className:"overview",children:[v.jsx("h1",{className:"overview__title",children:"Overview"}),v.jsx("p",{style:{color:"var(--p-text-muted)"},children:"Loading..."})]});if(!e)return v.jsxs("div",{className:"overview",children:[v.jsx("h1",{className:"overview__title",children:"Overview"}),v.jsx("p",{style:{color:"var(--p-text-muted)"},children:"Could not load overview data."})]});const l=(e.health.purposeCoverage+e.health.aspectAnchors+e.health.gateCompliance+e.health.calibration)/4;return v.jsxs("div",{className:"overview",children:[v.jsxs("h1",{className:"overview__title",children:["Overview",v.jsx("span",{style:{fontSize:13,fontWeight:400,color:"var(--p-text-muted)",marginLeft:12},children:e.project.branch})]}),v.jsxs("div",{className:"overview__cards",children:[v.jsx(At,{value:e.symbols.total,label:"Symbols",detail:$p(e.symbols.byType),accent:"var(--p-accent-blue)",onClick:()=>r("graph")}),v.jsx(At,{value:e.lore.total,label:"Lore Entries",detail:`${e.lore.thisWeek} this week`,accent:"var(--p-accent-purple)",onClick:()=>r("lore")}),v.jsx(At,{value:e.calibration.score!==null?`${Math.round(e.calibration.score*100)}%`:"--",label:"Calibration",detail:`${e.calibration.assessed} assessed`,accent:"var(--p-accent-orange)"}),v.jsx(At,{value:e.tasks.total,label:"Tasks",detail:`${e.tasks.inProgress} active · ${e.tasks.completed} done`,accent:"var(--p-accent-green)"}),v.jsx(At,{value:`${Math.round(l*100)}%`,label:"Health",detail:"Overall project health"}),v.jsx(At,{value:e.recentActivity.length,label:"Recent Activity",detail:"Commits + lore"})]}),v.jsx("div",{className:"overview__section-title",children:"Project Health"}),v.jsxs("div",{className:"overview__health",children:[v.jsx(Nn,{label:"Purpose Coverage",value:e.health.purposeCoverage}),v.jsx(Nn,{label:"Aspect Anchors",value:e.health.aspectAnchors}),v.jsx(Nn,{label:"Gate Compliance",value:e.health.gateCompliance}),v.jsx(Nn,{label:"Calibration",value:e.health.calibration}),v.jsx(Nn,{label:"Lore Freshness",value:e.health.loreFreshnessDays<=7?1:e.health.loreFreshnessDays<=30?.5:.2})]}),v.jsxs("div",{className:"overview__activity",children:[v.jsx("div",{className:"overview__section-title",children:"Recent Activity"}),v.jsx(Fp,{items:e.recentActivity})]})]})}const us={info:"var(--p-symbol-component)",warning:"var(--p-symbol-signal)",error:"var(--p-symbol-gate)",success:"var(--p-symbol-flow)"};function Wp({toast:e}){const t=We(r=>r.dismissToast),n=us[e.severity]||us.info;return v.jsxs("div",{className:"agent-toast",style:{borderLeftColor:n},children:[v.jsx("span",{className:"agent-toast__icon",children:"🤖"}),v.jsx("span",{className:"agent-toast__message",children:e.message}),v.jsx("button",{className:"agent-toast__dismiss",onClick:()=>t(e.id),"aria-label":"Dismiss",children:"×"})]})}function Bp(){const e=We(t=>t.toasts);return e.length===0?null:v.jsx("div",{className:"agent-toast-container",children:e.map(t=>v.jsx(Wp,{toast:t},t.id))})}const ss={info:"var(--p-symbol-component)",warning:"var(--p-symbol-signal)",error:"var(--p-symbol-gate)",success:"var(--p-symbol-flow)"};function Hp(){const t=We(n=>n.annotations).filter(n=>n.type==="callout");return t.length===0?null:v.jsx("div",{className:"agent-callout-overlay",children:t.map(n=>v.jsxs("div",{className:"agent-callout",style:{borderColor:ss[n.severity]||ss.info},children:[v.jsx("div",{className:"agent-callout__symbol",children:n.symbol||""}),v.jsx("div",{className:"agent-callout__message",children:n.message})]},n.id))})}function Qp(){const e=We(l=>l.pendingNavigation),t=We(l=>l.acceptNavigation),n=We(l=>l.dismissNavigation);if(!e)return null;const r=e.symbol||e.section||"a view";return v.jsxs("div",{className:"agent-nav-prompt",children:[v.jsx("span",{className:"agent-nav-prompt__icon",children:"🤖"}),v.jsxs("span",{className:"agent-nav-prompt__text",children:["Agent wants to show you ",v.jsx("strong",{children:r})]}),v.jsx("button",{className:"agent-nav-prompt__accept",onClick:t,children:"Go there"}),v.jsx("button",{className:"agent-nav-prompt__dismiss",onClick:n,children:"Dismiss"})]})}function Kp(){const e=We(l=>l.handleAgentMessage),t=X(l=>l.setActiveSection),n=L.useRef(null),r=L.useRef();return L.useEffect(()=>{function l(){const o=window.location.protocol==="https:"?"wss:":"ws:",i=new WebSocket(`${o}//${window.location.host}/ws`);n.current=i,i.onmessage=u=>{var s,c,h;try{const p=JSON.parse(u.data);(s=p.type)!=null&&s.startsWith("agent:")&&e(p),(c=p.type)!=null&&c.startsWith("sentinel:")&&window.dispatchEvent(new CustomEvent("sentinel-ws",{detail:p})),(h=p.type)!=null&&h.startsWith("symphony:")&&window.dispatchEvent(new CustomEvent("symphony-ws",{detail:p}))}catch{}},i.onclose=()=>{n.current=null,r.current=setTimeout(l,3e3)},i.onerror=()=>{i.close()}}return l(),()=>{var o;clearTimeout(r.current),(o=n.current)==null||o.close()}},[e]),L.useEffect(()=>{function l(o){const i=o.detail;if(!i)return;const u=["overview","lore","graph","canvas","git","sentinel","university","symphony","docs","ambient","team"];i.section&&u.includes(i.section)&&t(i.section)}return window.addEventListener("agent-navigate",l),()=>window.removeEventListener("agent-navigate",l)},[t]),n}function Yp(e){const t=X(r=>r.activeSection),n=X(r=>r.theme);L.useEffect(()=>{const r=e.current;(r==null?void 0:r.readyState)===WebSocket.OPEN&&r.send(JSON.stringify({type:"user:navigate",section:t}))},[t,e]),L.useEffect(()=>{const r=e.current;(r==null?void 0:r.readyState)===WebSocket.OPEN&&r.send(JSON.stringify({type:"user:theme",theme:n}))},[n,e])}const Gp={1:"overview",2:"lore",3:"graph",4:"canvas",5:"git",6:"sentinel",7:"university",8:"symphony",9:"docs"};function Xp(e){if(!e)return!1;const t=e.tagName.toLowerCase();return!!(t==="input"||t==="textarea"||t==="select"||e.isContentEditable)}function Zp(){const e=X(n=>n.setActiveSection),t=X(n=>n.availableSections);L.useEffect(()=>{function n(r){if((r.metaKey||r.ctrlKey)&&r.key==="k"){r.preventDefault(),window.dispatchEvent(new CustomEvent("open-command-palette"));return}if(r.key==="Escape"){window.dispatchEvent(new CustomEvent("close-overlay"));return}if(Xp(document.activeElement))return;const l=Gp[r.key];l&&t.includes(l)&&(r.preventDefault(),e(l))}return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,t])}const Jp={overview:"◉",lore:"◆",graph:"◎",canvas:"▦",git:"⎋",sentinel:"◈",university:"▣",symphony:"♪",docs:"☰",ambient:"◌",team:"◫"},as={overview:"1",lore:"2",graph:"3",canvas:"4",git:"5",sentinel:"6",university:"7",symphony:"8",docs:"9"};function qp(){const[e,t]=L.useState(!1),[n,r]=L.useState(""),[l,o]=L.useState(0),i=L.useRef(null),u=X(y=>y.availableSections),s=X(y=>y.setActiveSection),c=u.filter(y=>y.toLowerCase().includes(n.toLowerCase())),h=L.useCallback(()=>{t(!0),r(""),o(0)},[]),p=L.useCallback(()=>{t(!1),r(""),o(0)},[]),m=L.useCallback(y=>{s(y),p()},[s,p]);L.useEffect(()=>{function y(){h()}function k(){e&&p()}return window.addEventListener("open-command-palette",y),window.addEventListener("close-overlay",k),()=>{window.removeEventListener("open-command-palette",y),window.removeEventListener("close-overlay",k)}},[e,h,p]),L.useEffect(()=>{e&&requestAnimationFrame(()=>{var y;return(y=i.current)==null?void 0:y.focus()})},[e]),L.useEffect(()=>{o(0)},[n]);function S(y){if(y.key==="ArrowDown")y.preventDefault(),o(k=>(k+1)%c.length);else if(y.key==="ArrowUp")y.preventDefault(),o(k=>(k-1+c.length)%c.length);else if(y.key==="Enter"){y.preventDefault();const k=c[l];k&&m(k)}else y.key==="Escape"&&(y.preventDefault(),p())}return e?v.jsx("div",{className:"command-palette-backdrop",onClick:p,children:v.jsxs("div",{className:"command-palette",onClick:y=>y.stopPropagation(),onKeyDown:S,children:[v.jsx("div",{className:"command-palette__input-wrapper",children:v.jsx("input",{ref:i,className:"command-palette__input",type:"text",placeholder:"Go to section...",value:n,onChange:y=>r(y.target.value)})}),c.length>0?v.jsx("ul",{className:"command-palette__list",children:c.map((y,k)=>v.jsxs("li",{className:`command-palette__item ${k===l?"command-palette__item--active":""}`,onClick:()=>m(y),onMouseEnter:()=>o(k),children:[v.jsx("span",{className:"command-palette__item-icon",children:Jp[y]||"○"}),v.jsx("span",{className:"command-palette__item-label",children:y}),as[y]&&v.jsx("span",{className:"command-palette__item-shortcut",children:as[y]})]},y))}):v.jsx("div",{className:"command-palette__empty",children:"No matching sections"})]})}):null}const bp=L.lazy(()=>Be(()=>import("./LoreSection-oO5dCe6O.js"),__vite__mapDeps([0,1]))),em=L.lazy(()=>Be(()=>import("./GraphSection-CawN7pC5.js"),__vite__mapDeps([2,3]))),tm=L.lazy(()=>Be(()=>import("./CanvasSection-rKvA_vZj.js"),__vite__mapDeps([4,5]))),nm=L.lazy(()=>Be(()=>import("./GitSection-DSGj_c6S.js"),__vite__mapDeps([6,7]))),rm=L.lazy(()=>Be(()=>import("./SentinelSection-DNgoYMH0.js"),__vite__mapDeps([8,9]))),lm=L.lazy(()=>Be(()=>import("./SymphonySection-C0zfcqv3.js"),__vite__mapDeps([10,11]))),om=L.lazy(()=>Be(()=>import("./DocsSection-CI9K73M-.js"),__vite__mapDeps([12,13]))),im=L.lazy(()=>Be(()=>import("./AmbientSection-BYjt75R1.js"),__vite__mapDeps([14,15]))),um=L.lazy(()=>Be(()=>import("./TeamSection-Bzd3Dt9Q.js"),__vite__mapDeps([16,17]))),sm=L.lazy(()=>Be(()=>import("./UniversitySection-tBr62R0S.js"),__vite__mapDeps([18,19])));function am(){return v.jsx("div",{style:{padding:24,color:"var(--p-text-muted)"},children:"Loading section..."})}function cm(){const e=X(l=>l.activeSection),t=X(l=>l.theme),n=X(l=>l.fetchPlatformInfo),r=Kp();return Yp(r),Zp(),L.useEffect(()=>{document.documentElement.setAttribute("data-theme",t),n();const l=()=>{const o=window.location.pathname.slice(1)||"overview";["overview","lore","graph","canvas","git","sentinel","university","symphony","docs","ambient","team"].includes(o)&&X.getState().setActiveSection(o)};return l(),window.addEventListener("popstate",l),()=>window.removeEventListener("popstate",l)},[]),v.jsxs("div",{className:"shell",children:[v.jsx(Rp,{}),v.jsxs("div",{className:"main",children:[v.jsx(Ip,{}),v.jsx("div",{className:"content",children:v.jsxs(L.Suspense,{fallback:v.jsx(am,{}),children:[e==="overview"&&v.jsx(ze,{sectionName:"Overview",children:v.jsx(Vp,{})}),e==="lore"&&v.jsx(ze,{sectionName:"Lore",children:v.jsx(bp,{})}),e==="graph"&&v.jsx(ze,{sectionName:"Graph",children:v.jsx(em,{})}),e==="canvas"&&v.jsx(ze,{sectionName:"Canvas",children:v.jsx(tm,{})}),e==="git"&&v.jsx(ze,{sectionName:"Git",children:v.jsx(nm,{})}),e==="sentinel"&&v.jsx(ze,{sectionName:"Sentinel",children:v.jsx(rm,{})}),e==="university"&&v.jsx(ze,{sectionName:"University",children:v.jsx(sm,{})}),e==="symphony"&&v.jsx(ze,{sectionName:"Symphony",children:v.jsx(lm,{})}),e==="docs"&&v.jsx(ze,{sectionName:"Docs",children:v.jsx(om,{})}),e==="ambient"&&v.jsx(ze,{sectionName:"Ambient",children:v.jsx(im,{})}),e==="team"&&v.jsx(ze,{sectionName:"Team",children:v.jsx(um,{})})]})})]}),v.jsx(qp,{}),v.jsx(Qp,{}),v.jsx(Bp,{}),v.jsx(Hp,{})]})}no.createRoot(document.getElementById("root")).render(v.jsx(Ss.StrictMode,{children:v.jsx(cm,{})}));export{Ss as R,At as S,up as a,dm as b,Qi as c,pm as d,X as e,Zo as g,v as j,L as r,jp as u};
57
+ */var Cl=L,gp=yp;function wp(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Sp=typeof Object.is=="function"?Object.is:wp,kp=gp.useSyncExternalStore,_p=Cl.useRef,Ep=Cl.useEffect,xp=Cl.useMemo,Cp=Cl.useDebugValue;Cc.useSyncExternalStoreWithSelector=function(e,t,n,r,l){var o=_p(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=xp(function(){function s(S){if(!c){if(c=!0,h=S,S=r(S),l!==void 0&&i.hasValue){var y=i.value;if(l(y,S))return p=y}return p=S}if(y=p,Sp(h,S))return y;var k=r(S);return l!==void 0&&l(y,k)?(h=S,y):(h=S,p=k)}var c=!1,h,p,m=n===void 0?null:n;return[function(){return s(t())},m===null?void 0:function(){return s(m())}]},[t,n,r,l]);var u=kp(e,o[0],o[1]);return Ep(function(){i.hasValue=!0,i.value=u},[u]),Cp(u),u};xc.exports=Cc;var Np=xc.exports;const jp=Zo(Np),Pc={},{useDebugValue:Pp}=Ss,{useSyncExternalStoreWithSelector:Tp}=jp;let os=!1;const zp=e=>e;function Lp(e,t=zp,n){(Pc?"production":void 0)!=="production"&&n&&!os&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),os=!0);const r=Tp(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Pp(r),r}const is=e=>{(Pc?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?up(e):e,n=(r,l)=>Lp(t,r,l);return Object.assign(n,t),n},Qi=e=>e?is(e):is;let xn=null;const X=Qi((e,t)=>({activeSection:"overview",availableSections:["overview","lore","graph","git"],projectName:"",theme:localStorage.getItem("paradigm-platform-theme")||"dark",setActiveSection:n=>{e({activeSection:n}),window.history.pushState(null,"",`/${n==="overview"?"":n}`)},setAvailableSections:n=>e({availableSections:n}),setProjectName:n=>e({projectName:n}),toggleTheme:()=>{const n=t().theme==="dark"?"light":"dark";e({theme:n}),localStorage.setItem("paradigm-platform-theme",n),document.documentElement.setAttribute("data-theme",n)},fetchPlatformInfo:async()=>{var r;xn==null||xn.abort(),xn=new AbortController;const{signal:n}=xn;try{const[l,o]=await Promise.all([fetch("/api/info",{signal:n}),fetch("/api/platform/sections",{signal:n})]);if(l.ok){const i=await l.json();e({projectName:i.project||i.name||""})}if(o.ok){const i=await o.json();(r=i.sections)!=null&&r.length&&e({availableSections:i.sections})}}catch(l){if(l instanceof Error&&l.name==="AbortError")return}}})),Op={overview:"◉",lore:"◆",graph:"◎",canvas:"▦",git:"⎇",sentinel:"◈",university:"▣",symphony:"♪",docs:"☰",ambient:"◌",team:"◫",meetings:"●"};function Rp(){const e=X(o=>o.activeSection),t=X(o=>o.availableSections),n=X(o=>o.setActiveSection),r=X(o=>o.toggleTheme),l=X(o=>o.theme);return v.jsxs("nav",{className:"sidebar",children:[v.jsx("div",{className:"sidebar__nav",children:t.map(o=>v.jsxs("button",{className:`sidebar__item ${e===o?"sidebar__item--active":""}`,onClick:()=>n(o),title:o.charAt(0).toUpperCase()+o.slice(1),children:[v.jsx("span",{className:"sidebar__item-icon",children:Op[o]||"○"}),v.jsx("span",{className:"sidebar__item-label",children:o})]},o))}),v.jsx("div",{className:"sidebar__bottom",children:v.jsxs("button",{className:"sidebar__item",onClick:r,title:`Switch to ${l==="dark"?"light":"dark"} theme`,children:[v.jsx("span",{className:"sidebar__item-icon",children:l==="dark"?"◑":"◐"}),v.jsx("span",{className:"sidebar__item-label",children:"theme"})]})})]})}const We=Qi((e,t)=>({agents:[],highlights:[],annotations:[],toasts:[],agentMuted:!1,pendingNavigation:null,handleAgentMessage:n=>{const r=t();if(!(r.agentMuted&&n.type!=="agent:mute_changed"))switch(n.type){case"agent:join":{const l=n.agent;l&&e({agents:[...r.agents.filter(o=>o.agentId!==l.agentId),l]});break}case"agent:leave":{const l=n.agentId;e({agents:r.agents.filter(o=>o.agentId!==l)});break}case"agent:navigate":{n.userActive?e({pendingNavigation:{agentId:n.agentId,section:n.section,symbol:n.symbol,loreId:n.loreId}}):(e({pendingNavigation:{agentId:n.agentId,section:n.section,symbol:n.symbol,loreId:n.loreId}}),setTimeout(()=>t().acceptNavigation(),0));break}case"agent:highlight":{const l={symbols:n.symbols||[],color:n.color||"var(--p-accent-blue)",duration:n.duration||5e3,pulse:n.pulse??!0,label:n.label};e({highlights:[...r.highlights,l]}),l.duration>0&&setTimeout(()=>{e({highlights:t().highlights.filter(o=>o!==l)})},l.duration);break}case"agent:annotate":{const l=n.annotation;l&&(l.type==="toast"?(e({toasts:[...r.toasts,l]}),l.duration>0&&setTimeout(()=>{e({toasts:t().toasts.filter(o=>o.id!==l.id)})},l.duration)):(e({annotations:[...r.annotations,l]}),l.duration>0&&setTimeout(()=>{e({annotations:t().annotations.filter(o=>o.id!==l.id)})},l.duration)));break}case"agent:clear":{const l=n.target;(l==="highlights"||l==="all")&&e({highlights:[]}),(l==="annotations"||l==="all")&&e({annotations:[],toasts:[]});break}case"agent:mute_changed":{e({agentMuted:n.muted});break}}},setAgentMuted:n=>{e({agentMuted:n}),n&&e({highlights:[],annotations:[],toasts:[],pendingNavigation:null})},dismissToast:n=>{e({toasts:t().toasts.filter(r=>r.id!==n)})},acceptNavigation:()=>{const n=t().pendingNavigation;n&&(window.dispatchEvent(new CustomEvent("agent-navigate",{detail:n})),e({pendingNavigation:null}))},dismissNavigation:()=>{e({pendingNavigation:null})},clearAll:()=>{e({highlights:[],annotations:[],toasts:[],pendingNavigation:null})}}));function Ip(){const e=X(i=>i.activeSection),t=X(i=>i.projectName),n=We(i=>i.agents),r=We(i=>i.agentMuted),l=We(i=>i.setAgentMuted),o=e.charAt(0).toUpperCase()+e.slice(1);return v.jsxs("header",{className:"header",children:[v.jsxs("div",{className:"header__left",children:[v.jsx("span",{className:"header__title",children:"Paradigm Platform"}),t&&v.jsx("span",{className:"header__project",children:t})]}),v.jsxs("div",{className:"header__right",children:[n.length>0&&v.jsxs("div",{className:"agent-presence",children:[n.map(i=>v.jsx("span",{className:"agent-presence__dot",style:{backgroundColor:i.color},title:i.agentId},i.agentId)),v.jsxs("span",{children:[n.length," agent",n.length!==1?"s":""]}),v.jsx("button",{className:`agent-mute-btn${r?" agent-mute-btn--muted":""}`,onClick:()=>l(!r),title:r?"Unmute agent actions":"Mute agent actions",children:r?"Muted":"Mute"})]}),v.jsx("span",{style:{fontSize:12,color:"var(--p-text-muted)"},children:o})]})]})}class ze extends L.Component{constructor(){super(...arguments);Yi(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(n){return{hasError:!0,error:n}}render(){var n;return this.state.hasError?v.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:12,color:"var(--p-text-muted)",padding:24},children:[v.jsx("span",{style:{fontSize:32},children:"!"}),v.jsxs("h3",{style:{margin:0,color:"var(--p-text-primary)"},children:[this.props.sectionName," encountered an error"]}),v.jsx("p",{style:{margin:0,fontSize:13,maxWidth:400,textAlign:"center"},children:((n=this.state.error)==null?void 0:n.message)||"An unexpected error occurred"}),v.jsx("button",{onClick:()=>this.setState({hasError:!1,error:null}),style:{marginTop:8,padding:"6px 16px",cursor:"pointer",background:"var(--p-bg-tertiary)",color:"var(--p-text-primary)",border:"1px solid var(--p-border)",borderRadius:6,fontSize:13},children:"Reload section"})]}):this.props.children}}let Cn=null;const Dp=Qi(e=>({data:null,loading:!1,error:null,fetchOverview:async()=>{Cn==null||Cn.abort(),Cn=new AbortController;const{signal:t}=Cn;e({loading:!0,error:null});try{const n=await fetch("/api/platform/overview",{signal:t});if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();e({data:r,loading:!1})}catch(n){if(n instanceof Error&&n.name==="AbortError")return;e({error:String(n),loading:!1})}}}));function At({label:e,value:t,icon:n,trend:r,detail:l,accent:o,onClick:i}){return v.jsxs("div",{className:`stat-card ${i?"stat-card--clickable":""}`,onClick:i,style:o?{borderTopColor:o,borderTopWidth:2}:void 0,children:[v.jsxs("div",{className:"stat-card__value",children:[n&&v.jsx("span",{className:"stat-card__icon",children:n}),t,r&&v.jsx("span",{className:"stat-card__trend",children:r})]}),v.jsx("div",{className:"stat-card__label",children:e}),l&&v.jsx("div",{className:"stat-card__detail",children:l})]})}function Mp(e){return e>=.8?"var(--p-accent-green)":e>=.5?"var(--p-accent-orange)":"var(--p-accent-red)"}function Nn({label:e,value:t,color:n}){const r=Math.round(t*100),l=n||Mp(t);return v.jsxs("div",{className:"health-bar",children:[v.jsxs("div",{className:"health-bar__header",children:[v.jsx("span",{className:"health-bar__label",children:e}),v.jsxs("span",{className:"health-bar__value",children:[r,"%"]})]}),v.jsx("div",{className:"health-bar__track",children:v.jsx("div",{className:"health-bar__fill",style:{width:`${r}%`,backgroundColor:l}})})]})}function Ap(e){try{const t=new Date(e),r=Date.now()-t.getTime();return r<6e4?"just now":r<36e5?`${Math.floor(r/6e4)}m ago`:r<864e5?`${Math.floor(r/36e5)}h ago`:r<6048e5?`${Math.floor(r/864e5)}d ago`:t.toLocaleDateString()}catch{return""}}function Fp({items:e}){return e.length===0?v.jsx("div",{className:"activity-feed__empty",children:"No recent activity"}):v.jsx("div",{className:"activity-feed",children:e.map((t,n)=>v.jsxs("div",{className:"activity-feed__item",children:[v.jsx("span",{className:`activity-feed__icon activity-feed__icon--${t.type}`,children:t.type==="commit"?"○":"◆"}),v.jsxs("div",{className:"activity-feed__content",children:[v.jsx("span",{className:"activity-feed__summary",children:t.summary}),t.symbol&&v.jsx("span",{className:"activity-feed__symbol",children:t.symbol})]}),v.jsx("span",{className:"activity-feed__time",children:Ap(t.timestamp)})]},`${t.type}-${t.link||n}`))})}const Up={component:"#",flow:"$",gate:"^",signal:"!",aspect:"~"};function $p(e){return Object.entries(e).map(([t,n])=>`${Up[t]||""}${n}`).join(" · ")}function Vp(){const{data:e,loading:t,fetchOverview:n}=Dp(),r=X(o=>o.setActiveSection);if(L.useEffect(()=>{n();const o=setInterval(()=>{document.hidden||n()},15e3);return()=>clearInterval(o)},[]),t&&!e)return v.jsxs("div",{className:"overview",children:[v.jsx("h1",{className:"overview__title",children:"Overview"}),v.jsx("p",{style:{color:"var(--p-text-muted)"},children:"Loading..."})]});if(!e)return v.jsxs("div",{className:"overview",children:[v.jsx("h1",{className:"overview__title",children:"Overview"}),v.jsx("p",{style:{color:"var(--p-text-muted)"},children:"Could not load overview data."})]});const l=(e.health.purposeCoverage+e.health.aspectAnchors+e.health.gateCompliance+e.health.calibration)/4;return v.jsxs("div",{className:"overview",children:[v.jsxs("h1",{className:"overview__title",children:["Overview",v.jsx("span",{style:{fontSize:13,fontWeight:400,color:"var(--p-text-muted)",marginLeft:12},children:e.project.branch})]}),v.jsxs("div",{className:"overview__cards",children:[v.jsx(At,{value:e.symbols.total,label:"Symbols",detail:$p(e.symbols.byType),accent:"var(--p-accent-blue)",onClick:()=>r("graph")}),v.jsx(At,{value:e.lore.total,label:"Lore Entries",detail:`${e.lore.thisWeek} this week`,accent:"var(--p-accent-purple)",onClick:()=>r("lore")}),v.jsx(At,{value:e.calibration.score!==null?`${Math.round(e.calibration.score*100)}%`:"--",label:"Calibration",detail:`${e.calibration.assessed} assessed`,accent:"var(--p-accent-orange)"}),v.jsx(At,{value:e.tasks.total,label:"Tasks",detail:`${e.tasks.inProgress} active · ${e.tasks.completed} done`,accent:"var(--p-accent-green)"}),v.jsx(At,{value:`${Math.round(l*100)}%`,label:"Health",detail:"Overall project health"}),v.jsx(At,{value:e.recentActivity.length,label:"Recent Activity",detail:"Commits + lore"})]}),v.jsx("div",{className:"overview__section-title",children:"Project Health"}),v.jsxs("div",{className:"overview__health",children:[v.jsx(Nn,{label:"Purpose Coverage",value:e.health.purposeCoverage}),v.jsx(Nn,{label:"Aspect Anchors",value:e.health.aspectAnchors}),v.jsx(Nn,{label:"Gate Compliance",value:e.health.gateCompliance}),v.jsx(Nn,{label:"Calibration",value:e.health.calibration}),v.jsx(Nn,{label:"Lore Freshness",value:e.health.loreFreshnessDays<=7?1:e.health.loreFreshnessDays<=30?.5:.2})]}),v.jsxs("div",{className:"overview__activity",children:[v.jsx("div",{className:"overview__section-title",children:"Recent Activity"}),v.jsx(Fp,{items:e.recentActivity})]})]})}const us={info:"var(--p-symbol-component)",warning:"var(--p-symbol-signal)",error:"var(--p-symbol-gate)",success:"var(--p-symbol-flow)"};function Wp({toast:e}){const t=We(r=>r.dismissToast),n=us[e.severity]||us.info;return v.jsxs("div",{className:"agent-toast",style:{borderLeftColor:n},children:[v.jsx("span",{className:"agent-toast__icon",children:"🤖"}),v.jsx("span",{className:"agent-toast__message",children:e.message}),v.jsx("button",{className:"agent-toast__dismiss",onClick:()=>t(e.id),"aria-label":"Dismiss",children:"×"})]})}function Bp(){const e=We(t=>t.toasts);return e.length===0?null:v.jsx("div",{className:"agent-toast-container",children:e.map(t=>v.jsx(Wp,{toast:t},t.id))})}const ss={info:"var(--p-symbol-component)",warning:"var(--p-symbol-signal)",error:"var(--p-symbol-gate)",success:"var(--p-symbol-flow)"};function Hp(){const t=We(n=>n.annotations).filter(n=>n.type==="callout");return t.length===0?null:v.jsx("div",{className:"agent-callout-overlay",children:t.map(n=>v.jsxs("div",{className:"agent-callout",style:{borderColor:ss[n.severity]||ss.info},children:[v.jsx("div",{className:"agent-callout__symbol",children:n.symbol||""}),v.jsx("div",{className:"agent-callout__message",children:n.message})]},n.id))})}function Qp(){const e=We(l=>l.pendingNavigation),t=We(l=>l.acceptNavigation),n=We(l=>l.dismissNavigation);if(!e)return null;const r=e.symbol||e.section||"a view";return v.jsxs("div",{className:"agent-nav-prompt",children:[v.jsx("span",{className:"agent-nav-prompt__icon",children:"🤖"}),v.jsxs("span",{className:"agent-nav-prompt__text",children:["Agent wants to show you ",v.jsx("strong",{children:r})]}),v.jsx("button",{className:"agent-nav-prompt__accept",onClick:t,children:"Go there"}),v.jsx("button",{className:"agent-nav-prompt__dismiss",onClick:n,children:"Dismiss"})]})}function Kp(){const e=We(l=>l.handleAgentMessage),t=X(l=>l.setActiveSection),n=L.useRef(null),r=L.useRef();return L.useEffect(()=>{function l(){const o=window.location.protocol==="https:"?"wss:":"ws:",i=new WebSocket(`${o}//${window.location.host}/ws`);n.current=i,i.onmessage=u=>{var s,c,h;try{const p=JSON.parse(u.data);(s=p.type)!=null&&s.startsWith("agent:")&&e(p),(c=p.type)!=null&&c.startsWith("sentinel:")&&window.dispatchEvent(new CustomEvent("sentinel-ws",{detail:p})),(h=p.type)!=null&&h.startsWith("symphony:")&&window.dispatchEvent(new CustomEvent("symphony-ws",{detail:p}))}catch{}},i.onclose=()=>{n.current=null,r.current=setTimeout(l,3e3)},i.onerror=()=>{i.close()}}return l(),()=>{var o;clearTimeout(r.current),(o=n.current)==null||o.close()}},[e]),L.useEffect(()=>{function l(o){const i=o.detail;if(!i)return;const u=["overview","lore","graph","canvas","git","sentinel","university","symphony","docs","ambient","team"];i.section&&u.includes(i.section)&&t(i.section)}return window.addEventListener("agent-navigate",l),()=>window.removeEventListener("agent-navigate",l)},[t]),n}function Yp(e){const t=X(r=>r.activeSection),n=X(r=>r.theme);L.useEffect(()=>{const r=e.current;(r==null?void 0:r.readyState)===WebSocket.OPEN&&r.send(JSON.stringify({type:"user:navigate",section:t}))},[t,e]),L.useEffect(()=>{const r=e.current;(r==null?void 0:r.readyState)===WebSocket.OPEN&&r.send(JSON.stringify({type:"user:theme",theme:n}))},[n,e])}const Gp={1:"overview",2:"lore",3:"graph",4:"canvas",5:"git",6:"sentinel",7:"university",8:"symphony",9:"docs"};function Xp(e){if(!e)return!1;const t=e.tagName.toLowerCase();return!!(t==="input"||t==="textarea"||t==="select"||e.isContentEditable)}function Zp(){const e=X(n=>n.setActiveSection),t=X(n=>n.availableSections);L.useEffect(()=>{function n(r){if((r.metaKey||r.ctrlKey)&&r.key==="k"){r.preventDefault(),window.dispatchEvent(new CustomEvent("open-command-palette"));return}if(r.key==="Escape"){window.dispatchEvent(new CustomEvent("close-overlay"));return}if(Xp(document.activeElement))return;const l=Gp[r.key];l&&t.includes(l)&&(r.preventDefault(),e(l))}return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,t])}const Jp={overview:"◉",lore:"◆",graph:"◎",canvas:"▦",git:"⎋",sentinel:"◈",university:"▣",symphony:"♪",docs:"☰",ambient:"◌",team:"◫"},as={overview:"1",lore:"2",graph:"3",canvas:"4",git:"5",sentinel:"6",university:"7",symphony:"8",docs:"9"};function qp(){const[e,t]=L.useState(!1),[n,r]=L.useState(""),[l,o]=L.useState(0),i=L.useRef(null),u=X(y=>y.availableSections),s=X(y=>y.setActiveSection),c=u.filter(y=>y.toLowerCase().includes(n.toLowerCase())),h=L.useCallback(()=>{t(!0),r(""),o(0)},[]),p=L.useCallback(()=>{t(!1),r(""),o(0)},[]),m=L.useCallback(y=>{s(y),p()},[s,p]);L.useEffect(()=>{function y(){h()}function k(){e&&p()}return window.addEventListener("open-command-palette",y),window.addEventListener("close-overlay",k),()=>{window.removeEventListener("open-command-palette",y),window.removeEventListener("close-overlay",k)}},[e,h,p]),L.useEffect(()=>{e&&requestAnimationFrame(()=>{var y;return(y=i.current)==null?void 0:y.focus()})},[e]),L.useEffect(()=>{o(0)},[n]);function S(y){if(y.key==="ArrowDown")y.preventDefault(),o(k=>(k+1)%c.length);else if(y.key==="ArrowUp")y.preventDefault(),o(k=>(k-1+c.length)%c.length);else if(y.key==="Enter"){y.preventDefault();const k=c[l];k&&m(k)}else y.key==="Escape"&&(y.preventDefault(),p())}return e?v.jsx("div",{className:"command-palette-backdrop",onClick:p,children:v.jsxs("div",{className:"command-palette",onClick:y=>y.stopPropagation(),onKeyDown:S,children:[v.jsx("div",{className:"command-palette__input-wrapper",children:v.jsx("input",{ref:i,className:"command-palette__input",type:"text",placeholder:"Go to section...",value:n,onChange:y=>r(y.target.value)})}),c.length>0?v.jsx("ul",{className:"command-palette__list",children:c.map((y,k)=>v.jsxs("li",{className:`command-palette__item ${k===l?"command-palette__item--active":""}`,onClick:()=>m(y),onMouseEnter:()=>o(k),children:[v.jsx("span",{className:"command-palette__item-icon",children:Jp[y]||"○"}),v.jsx("span",{className:"command-palette__item-label",children:y}),as[y]&&v.jsx("span",{className:"command-palette__item-shortcut",children:as[y]})]},y))}):v.jsx("div",{className:"command-palette__empty",children:"No matching sections"})]})}):null}const bp=L.lazy(()=>Be(()=>import("./LoreSection-B0hUbfsJ.js"),__vite__mapDeps([0,1]))),em=L.lazy(()=>Be(()=>import("./GraphSection-COYjb4Pt.js"),__vite__mapDeps([2,3]))),tm=L.lazy(()=>Be(()=>import("./CanvasSection-dFAthehN.js"),__vite__mapDeps([4,5]))),nm=L.lazy(()=>Be(()=>import("./GitSection-MNNYU1tO.js"),__vite__mapDeps([6,7]))),rm=L.lazy(()=>Be(()=>import("./SentinelSection-BCxW1DCp.js"),__vite__mapDeps([8,9]))),lm=L.lazy(()=>Be(()=>import("./SymphonySection-BsucZRqy.js"),__vite__mapDeps([10,11]))),om=L.lazy(()=>Be(()=>import("./DocsSection-BZ2SFJBZ.js"),__vite__mapDeps([12,13]))),im=L.lazy(()=>Be(()=>import("./AmbientSection-CwatqcBD.js"),__vite__mapDeps([14,15]))),um=L.lazy(()=>Be(()=>import("./TeamSection-C0QNTudW.js"),__vite__mapDeps([16,17]))),sm=L.lazy(()=>Be(()=>import("./UniversitySection-DN1-g9pw.js"),__vite__mapDeps([18,19])));function am(){return v.jsx("div",{style:{padding:24,color:"var(--p-text-muted)"},children:"Loading section..."})}function cm(){const e=X(l=>l.activeSection),t=X(l=>l.theme),n=X(l=>l.fetchPlatformInfo),r=Kp();return Yp(r),Zp(),L.useEffect(()=>{document.documentElement.setAttribute("data-theme",t),n();const l=()=>{const o=window.location.pathname.slice(1)||"overview";["overview","lore","graph","canvas","git","sentinel","university","symphony","docs","ambient","team"].includes(o)&&X.getState().setActiveSection(o)};return l(),window.addEventListener("popstate",l),()=>window.removeEventListener("popstate",l)},[]),v.jsxs("div",{className:"shell",children:[v.jsx(Rp,{}),v.jsxs("div",{className:"main",children:[v.jsx(Ip,{}),v.jsx("div",{className:"content",children:v.jsxs(L.Suspense,{fallback:v.jsx(am,{}),children:[e==="overview"&&v.jsx(ze,{sectionName:"Overview",children:v.jsx(Vp,{})}),e==="lore"&&v.jsx(ze,{sectionName:"Lore",children:v.jsx(bp,{})}),e==="graph"&&v.jsx(ze,{sectionName:"Graph",children:v.jsx(em,{})}),e==="canvas"&&v.jsx(ze,{sectionName:"Canvas",children:v.jsx(tm,{})}),e==="git"&&v.jsx(ze,{sectionName:"Git",children:v.jsx(nm,{})}),e==="sentinel"&&v.jsx(ze,{sectionName:"Sentinel",children:v.jsx(rm,{})}),e==="university"&&v.jsx(ze,{sectionName:"University",children:v.jsx(sm,{})}),e==="symphony"&&v.jsx(ze,{sectionName:"Symphony",children:v.jsx(lm,{})}),e==="docs"&&v.jsx(ze,{sectionName:"Docs",children:v.jsx(om,{})}),e==="ambient"&&v.jsx(ze,{sectionName:"Ambient",children:v.jsx(im,{})}),e==="team"&&v.jsx(ze,{sectionName:"Team",children:v.jsx(um,{})})]})})]}),v.jsx(qp,{}),v.jsx(Qp,{}),v.jsx(Bp,{}),v.jsx(Hp,{})]})}no.createRoot(document.getElementById("root")).render(v.jsx(Ss.StrictMode,{children:v.jsx(cm,{})}));export{Ss as R,At as S,up as a,dm as b,Qi as c,pm as d,X as e,Zo as g,v as j,L as r,jp as u};
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Paradigm Platform</title>
7
7
  <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>◉</text></svg>" />
8
- <script type="module" crossorigin src="/assets/index-BaOmyn11.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DwUT8pju.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-Bxp0TVaf.css">
10
10
  </head>
11
11
  <body>
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- import {g,i,f}from'./chunk-D34YFK4M.js';import'./chunk-5TAVYPOV.js';import r from'chalk';import {execSync}from'child_process';import*as y from'os';function b(){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 y.userInfo().username}catch{return "unknown"}}}async function w(i$1,t){let s=process.cwd();t.title||(console.error(r.red(`
3
- Error: --title is required
4
- `)),process.exit(1));let a=b(),n=new Date().toISOString().slice(0,10),l=t.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40),u=t.tags?t.tags.split(",").map(e=>e.trim()):[],d=t.symbols?t.symbols.split(",").map(e=>e.trim()):[];if(i$1==="quiz"){let e=`Q-${l}`,p={id:e,title:t.title,description:t.body||"",author:a,created:n,updated:n,tags:u,symbols:d,difficulty:t.difficulty||"beginner",passThreshold:.7,questions:[]};g(s,p),i(s),console.log(r.green(`
5
- Created quiz: ${e}`)),console.log(r.gray(` Add questions by editing the YAML file
6
- `));return}let o=`${i$1==="policy"?"P":"N"}-${l}`,g$1={id:o,title:t.title,type:i$1,author:a,created:n,updated:n,tags:u,symbols:d,difficulty:t.difficulty||"beginner",estimatedMinutes:t.minutes?parseInt(t.minutes,10):void 0,prerequisites:[]};f(s,g$1,t.body||""),i(s),console.log(r.green(`
7
- Created ${i$1}: ${o}`)),console.log(r.gray(` Edit at .paradigm/university/content/${i$1==="policy"?"policies":"notes"}/${o}.md
8
- `));}export{w as universityAddCommand};
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
- import {a as a$1}from'./chunk-LKAT7IAK.js';import'./chunk-5TAVYPOV.js';import*as a from'fs';import*as y from'path';import*as R from'os';import o from'chalk';import*as m from'js-yaml';var h=y.join(R.homedir(),".paradigm","agents"),S=".paradigm/agents",$=".agent",k=".paradigm/roster.yaml";function j(e){let s=y.join(e,k);if(!a.existsSync(s))return null;try{return m.load(a.readFileSync(s,"utf8"))?.active??null}catch{return null}}function F(e,s){let c=y.join(e,k),n=y.dirname(c);a.existsSync(n)||a.mkdirSync(n,{recursive:true});let r={version:"1.0",active:s.sort()};a.writeFileSync(c,m.dump(r,{lineWidth:-1,noRefs:true}),"utf8");}function C(){if(!a.existsSync(h))return [];try{return a.readdirSync(h).filter(e=>e.endsWith($)).map(e=>e.replace($,""))}catch{return []}}var E={architect:{style:"deliberate",risk:"conservative",verbosity:"detailed"},builder:{style:"rapid",risk:"balanced",verbosity:"concise"},tester:{style:"methodical",risk:"conservative",verbosity:"concise"},reviewer:{style:"deliberate",risk:"conservative",verbosity:"detailed"},security:{style:"methodical",risk:"conservative",verbosity:"detailed"}};async function _(e={}){let s=process.cwd(),c=a$1.command("agent-list").start("Listing agent profiles",{cwd:s}),n=[];if(!e.project&&a.existsSync(h))try{let i=a.readdirSync(h).filter(d=>d.endsWith($));for(let d of i)try{let f=a.readFileSync(y.join(h,d),"utf-8"),t=m.load(f);t?.id&&n.push(t);}catch{}}catch{}let r=y.join(s,S);if(!e.global&&a.existsSync(r))try{let i=a.readdirSync(r).filter(d=>d.endsWith($));for(let d of i)try{let f=a.readFileSync(y.join(r,d),"utf-8"),t=m.load(f);if(t?.id){let l=n.findIndex(g=>g.id===t.id);l>=0?n[l]=t:n.push(t);}}catch{}}catch{}if(e.json){console.log(JSON.stringify({count:n.length,agents:n.map(O)},null,2)),c.success(`Found ${n.length} agents`);return}if(console.log(o.blue(`
3
- \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510`)),console.log(o.blue("\u2502")+o.white.bold(" paradigm agent list ")+o.blue("\u2502")),console.log(o.blue("\u2502")+o.gray(" Persistent agent identity profiles ")+o.blue("\u2502")),console.log(o.blue(`\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
4
- `)),n.length===0){console.log(o.yellow(" No .agent profiles found.")),console.log(o.gray(` Create one: paradigm agent create <id> --global
5
- `)),c.success("No agents found");return}for(let i of n){let f=(i.expertise||[]).sort((t,l)=>l.confidence-t.confidence).slice(0,3).map(t=>`${t.symbol} (${(t.confidence*100).toFixed(0)}%)`).join(", ")||o.gray("none yet");console.log(` ${o.white.bold(i.id)} \u2014 ${o.gray(i.role)}`),console.log(` Style: ${i.personality?.style||"?"} | Risk: ${i.personality?.risk||"?"} | Verbosity: ${i.personality?.verbosity||"?"}`),console.log(` Top expertise: ${f}`),console.log(` Projects: ${Object.keys(i.contexts||{}).join(", ")||o.gray("none")}`),console.log("");}c.success(`Listed ${n.length} agents`);}async function D(e,s={}){let c=process.cwd(),n=a$1.command("agent-show").start(`Showing agent ${e}`,{cwd:c}),r=w(c,e);if(!r){s.json?console.log(JSON.stringify({error:`Agent "${e}" not found`})):(console.log(o.red(`
6
- Agent "${e}" not found.`)),console.log(o.gray(` Create: paradigm agent create ${e} --global
7
- `))),n.error(`Agent ${e} not found`);return}if(s.json){console.log(JSON.stringify(r,null,2)),n.success(`Showed agent ${e}`);return}if(console.log(o.blue(`
8
- \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510`)),console.log(o.blue("\u2502")+o.white.bold(` Agent: ${e}`.padEnd(50))+o.blue("\u2502")),console.log(o.blue(`\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
9
- `)),console.log(` ${o.white.bold("Role:")} ${r.role}`),console.log(` ${o.white.bold("Description:")} ${r.description}`),console.log(` ${o.white.bold("Version:")} ${r.version}`),console.log(` ${o.white.bold("Created:")} ${r.created}`),console.log(` ${o.white.bold("Updated:")} ${r.updated}`),console.log(""),r.personality){let l=r.personality;console.log(` ${o.white.bold("Personality")}`),console.log(` Style: ${l.style} | Risk: ${l.risk} | Verbosity: ${l.verbosity}`),console.log("");}let i=(r.expertise||[]).sort((l,g)=>g.confidence-l.confidence);if(i.length>0){console.log(` ${o.white.bold("Expertise")} (${i.length} symbols)`),console.log(` ${"Symbol".padEnd(30)} ${"Confidence".padEnd(12)} ${"Sessions".padEnd(10)} Last Touch`),console.log(` ${"-".repeat(70)}`);for(let l of i.slice(0,20)){let g=`${(l.confidence*100).toFixed(0)}%`.padEnd(12),p=String(l.sessions).padEnd(10),u=l.lastTouch?l.lastTouch.split("T")[0]:"\u2014";console.log(` ${l.symbol.padEnd(30)} ${g} ${p} ${u}`);}i.length>20&&console.log(o.gray(` ... and ${i.length-20} more`)),console.log("");}else console.log(o.gray(" No expertise recorded. Run `paradigm agent sync` to bootstrap from lore.\n"));let d=r.transferable||[];if(d.length>0){console.log(` ${o.white.bold("Transferable Patterns")} (${d.length})`);for(let l of d)console.log(` ${l.id}: ${(l.successRate*100).toFixed(0)}% success \u2014 ${l.description}`),console.log(o.gray(` Learned in: ${l.learnedIn} | Applied in: ${l.appliedIn.join(", ")||"none"}`));console.log("");}let f=Object.entries(r.contexts||{});if(f.length>0){console.log(` ${o.white.bold("Project Contexts")} (${f.length})`);for(let[l,g]of f)console.log(` ${o.white(l)}: ${g.sessionsInProject||0} sessions, last active ${g.lastActive?.split("T")[0]||"\u2014"}`),g.defaultModel&&console.log(` Model: ${g.defaultModel}`),g.focus?.length&&console.log(` Focus: ${g.focus.join(", ")}`);console.log("");}let t=r.permissions;t&&(console.log(` ${o.white.bold("Permissions")}`),t.paths?.read?.length&&console.log(` Read: ${t.paths.read.join(", ")}`),t.paths?.write?.length&&console.log(` Write: ${t.paths.write.join(", ")}`),t.paths?.deny?.length&&console.log(` Deny: ${o.red(t.paths.deny.join(", "))}`),t.tools?.allow?.length&&console.log(` Tools allow: ${t.tools.allow.join(", ")}`),t.tools?.deny?.length&&console.log(` Tools deny: ${o.red(t.tools.deny.join(", "))}`),t.dangerous_actions?.length&&console.log(` Requires approval: ${t.dangerous_actions.join(", ")}`),console.log("")),n.success(`Showed agent ${e}`);}async function L(e,s={}){let c=process.cwd(),n=s.global?"global":"project",r=a$1.command("agent-create").start(`Creating agent ${e} (${n})`,{cwd:c}),i=n==="global"?h:y.join(c,S);a.existsSync(i)||a.mkdirSync(i,{recursive:true});let d=y.join(i,`${e}${$}`);if(a.existsSync(d)){console.log(o.yellow(`
10
- Agent "${e}" already exists at ${d}`)),console.log(o.gray(" Use `paradigm agent show` to view.\n")),r.error("Agent already exists");return}let f=new Date().toISOString(),t=E[e]||{style:"deliberate",risk:"balanced",verbosity:"concise"},l={id:e,role:s.role||`${e.charAt(0).toUpperCase()+e.slice(1)} agent`,description:s.description||`Persistent identity for the ${e} agent role`,version:"1.0.0",personality:t,expertise:[],transferable:[],contexts:{},created:f,updated:f};if(s.denyPaths){let p=s.denyPaths.split(",").map(u=>u.trim());l.permissions={paths:{deny:p}};}let g=m.dump(l,{lineWidth:120,noRefs:true,sortKeys:false});a.writeFileSync(d,g,"utf-8"),console.log(o.green(`
11
- \u2713 Created agent "${e}" at ${d}`)),console.log(o.gray(" Run `paradigm agent sync` to bootstrap expertise from lore.\n")),r.success(`Created agent ${e}`);}async function W(e,s={}){let c=process.cwd(),n=a$1.command("agent-sync").start(`Syncing expertise for ${e}`,{cwd:c}),r=y.join(c,".paradigm","lore","entries");if(!a.existsSync(r)){console.log(o.yellow(`
12
- No lore directory found. Nothing to sync from.
13
- `)),n.error("No lore found");return}let i=w(c,e);if(!i){if(s.dryRun){console.log(o.yellow(`
14
- Agent "${e}" not found. Would create with --no-dry-run.
15
- `)),n.success("Dry run \u2014 would create");return}let p=(a.existsSync(y.join(h,`${e}${$}`))?"global":"project")==="global"?h:y.join(c,S);a.existsSync(p)||a.mkdirSync(p,{recursive:true});let u=new Date().toISOString(),x=E[e]||{style:"deliberate",risk:"balanced",verbosity:"concise"};i={id:e,role:`${e.charAt(0).toUpperCase()+e.slice(1)} agent`,description:`Persistent identity for the ${e} agent role`,version:"1.0.0",personality:x,expertise:[],transferable:[],contexts:{},created:u,updated:u};}let d=i.expertise||[],f=0,t=new Set,l=T(r);for(let g of l)if(!(!g.symbols_touched||g.symbols_touched.length===0)){f++;for(let p of g.symbols_touched){t.add(p);let u=d.find(x=>x.symbol===p);u?(u.sessions++,u.lastTouch=g.timestamp||u.lastTouch,g.confidence!=null&&(u.confidence=.7*u.confidence+.3*g.confidence)):d.push({symbol:p,confidence:g.confidence??.5,sessions:1,lastTouch:g.timestamp||new Date().toISOString()});}}if(i.expertise=d,s.json)console.log(JSON.stringify({agentId:e,entriesProcessed:f,symbolsUpdated:t.size,dryRun:!!s.dryRun,topExpertise:d.sort((g,p)=>p.confidence-g.confidence).slice(0,10)},null,2));else if(console.log(o.blue(`
16
- Syncing expertise for "${e}" from ${f} lore entries...`)),console.log(` ${o.green("\u2713")} ${t.size} symbols updated`),console.log(` ${o.green("\u2713")} ${f} entries processed`),d.length>0){console.log(`
17
- Top expertise:`);for(let g of d.sort((p,u)=>u.confidence-p.confidence).slice(0,5))console.log(` ${g.symbol}: ${(g.confidence*100).toFixed(0)}% (${g.sessions} sessions)`);}if(s.dryRun)s.json||console.log(o.yellow(`
18
- Dry run \u2014 no changes written.
19
- `));else {i.updated=new Date().toISOString();let g=y.join(c,S,`${e}${$}`),p=y.join(h,`${e}${$}`),u=a.existsSync(g)?"project":"global",x=u==="global"?h:y.join(c,S);a.existsSync(x)||a.mkdirSync(x,{recursive:true});let A=u==="global"?p:g;a.writeFileSync(A,m.dump(i,{lineWidth:120,noRefs:true,sortKeys:false}),"utf-8"),s.json||console.log(o.green(`
20
- \u2713 Saved to ${A}
21
- `));}n.success(`Synced ${t.size} symbols from ${f} entries`);}async function M(e={}){let s=process.cwd(),c=a$1.command("agent-roster").start("Agent roster",{cwd:s}),n=[];if(a.existsSync(h))for(let t of a.readdirSync(h).filter(l=>l.endsWith($)))try{let l=m.load(a.readFileSync(y.join(h,t),"utf-8"));l?.id&&n.push(l);}catch{}let r=y.join(s,S);if(a.existsSync(r))for(let t of a.readdirSync(r).filter(l=>l.endsWith($)))try{let l=m.load(a.readFileSync(y.join(r,t),"utf-8"));if(l?.id){let g=n.findIndex(p=>p.id===l.id);g>=0?n[g]=l:n.push(l);}}catch{}let i=j(s),d=i?n.filter(t=>i.includes(t.id)):n,f=i?n.filter(t=>!i.includes(t.id)):[];if(e.json){console.log(JSON.stringify({active:d.map(t=>P(t,false)),benched:f.map(t=>P(t,true))},null,2)),c.success(`${d.length} active, ${f.length} benched`);return}if(console.log(o.blue(`
22
- \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510`)),console.log(o.blue("\u2502")+o.white.bold(" Agent Roster ")+o.blue("\u2502")),console.log(o.blue(`\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
23
- `)),d.length>0){console.log(o.green.bold(" Active"));for(let t of d)v(t);}if(f.length>0){console.log(o.gray.bold(`
24
- Benched`));for(let t of f)v(t,true);}n.length===0?console.log(o.yellow(` No agents found.
25
- `)):console.log(""),c.success(`${d.length} active, ${f.length} benched`);}function v(e,s=false){let c=(e.expertise||[]).sort((t,l)=>l.confidence-t.confidence),n=c[0]?`${c[0].symbol} (${(c[0].confidence*100).toFixed(0)}%)`:o.gray("\u2014"),r=s?o.gray:o.white,i=e.nickname?` (${e.nickname})`:"",d=e.attention?.threshold,f=d!=null?` | thr: ${d.toFixed(2)}`:"";console.log(` ${r.bold(e.id)}${o.gray(i)} \u2014 ${o.gray(e.role)}`),console.log(` Top: ${n} | ${c.length} symbols${f}`);}function P(e,s=false){let c=(e.expertise||[]).sort((n,r)=>r.confidence-n.confidence);return {id:e.id,role:e.role,nickname:e.nickname,benched:s,expertiseCount:c.length,topExpertise:c.slice(0,3).map(n=>({symbol:n.symbol,confidence:parseFloat(n.confidence.toFixed(2))})),threshold:e.attention?.threshold}}async function U(e){let s=process.cwd(),c=a$1.command("agent-bench").start(`Benching agent ${e}`,{cwd:s}),n=w(s,e);if(!n){console.log(o.red(`
26
- Agent "${e}" not found.
27
- `)),c.error("Not found");return}let r=j(s);r?r=r.filter(i=>i!==n.id):r=C().filter(i=>i!==n.id),F(s,r),console.log(o.yellow(`
28
- Agent "${n.id}" removed from this project's roster.`)),console.log(o.gray(` Maestro will skip this agent during orchestration. Still available globally.
29
- `)),c.success(`Benched ${n.id} (roster: ${r.length} active)`);}async function J(e){let s=process.cwd(),c=a$1.command("agent-activate").start(`Activating agent ${e}`,{cwd:s}),n=w(s,e);if(!n){console.log(o.red(`
30
- Agent "${e}" not found.
31
- `)),c.error("Not found");return}let r=j(s);if(r)r.includes(n.id)||r.push(n.id);else {let i=C();r=i.includes(n.id)?i:[...i,n.id];}F(s,r),console.log(o.green(`
32
- \u25B6 Agent "${n.id}" added to this project's roster.`)),console.log(o.gray(` Maestro will include this agent in orchestration. Roster is per-project.
33
- `)),c.success(`Activated ${n.id} (roster: ${r.length} active)`);}function w(e,s){let c=y.join(e,S,`${s}${$}`);if(a.existsSync(c))try{return m.load(a.readFileSync(c,"utf-8"))}catch{}let n=y.join(h,`${s}${$}`);if(a.existsSync(n))try{return m.load(a.readFileSync(n,"utf-8"))}catch{}return null}function O(e){return {id:e.id,role:e.role,personality:e.personality,expertiseCount:(e.expertise||[]).length,topExpertise:(e.expertise||[]).sort((s,c)=>c.confidence-s.confidence).slice(0,3).map(s=>({symbol:s.symbol,confidence:parseFloat(s.confidence.toFixed(2))})),projectContexts:Object.keys(e.contexts||{}),transferableCount:(e.transferable||[]).length}}function T(e){let s=[];try{let c=a.readdirSync(e,{withFileTypes:!0});for(let n of c){if(!n.isDirectory())continue;let r=y.join(e,n.name);try{let i=a.readdirSync(r).filter(d=>d.endsWith(".yaml")||d.endsWith(".yml"));for(let d of i)try{let f=a.readFileSync(y.join(r,d),"utf-8"),t=m.load(f);t?.symbols_touched&&Array.isArray(t.symbols_touched)&&s.push({symbols_touched:t.symbols_touched,confidence:typeof t.confidence=="number"?t.confidence:void 0,timestamp:t.timestamp||n.name});}catch{}}catch{}}}catch{}return s}export{J as agentActivateCommand,U as agentBenchCommand,L as agentCreateCommand,_ as agentListCommand,M as agentRosterCommand,D as agentShowCommand,W as agentSyncCommand};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import*as t from'js-yaml';var n={"#":{name:"Component",description:"Any documented code unit",owner:"purpose",examples:["#Button","#api-client","#AuthProvider"]},$:{name:"Flow",description:"Multi-step processes or user journeys",owner:"shared",examples:["$checkout-flow","$auth-flow"]},"^":{name:"Gate",description:"Authorization checkpoints",owner:"portal",examples:["^authenticated","^admin-only","^resource-owner"]},"!":{name:"Signal",description:"Events for side effects",owner:"portal",examples:["!payment-completed","!login-failed","!rate-limited"]},"~":{name:"Aspect",description:"Rules with required code anchors",owner:"purpose",examples:["~audit-required","~rate-limited","~cache-invalidation"]}},i=["Use kebab-case for all symbol IDs (feature-name, not featureName)","Document flows when logic spans 3+ components","Reference related items using symbol prefixes (@ # $ % ~ ^ ! ?)","Add descriptions to all features and gates","Update .purpose files when changing feature behavior","Keep gates minimal - one responsibility per gate","Use signals for side effects, not direct state mutations"];function r(e){return {version:"1.0","agent-guidelines":{overview:`${e} uses Paradigm for structured planning and context management.`,"how-to-use":["Check .purpose files in directories for context before making changes","Run `paradigm status` to see the project symbol index","Run `paradigm visualize` to explore the Dreamscape","Reference symbols using prefixes: @feature #component ^gate",'Attach an image and say "paradigm scan" to map UI to code'],"update-rules":["When adding a feature, create/update the nearest .purpose file","When adding authorization, update portal.yaml","When exploring ideas, add to .premise or use ?symbol prefix","Always update references when renaming symbols"]},"symbol-system":n,states:{user:{authenticated:{type:"boolean",default:false,description:"User is logged in"},role:{type:"enum",values:["guest","user","admin"],description:"User access level"}},app:{loading:{type:"boolean",default:false,description:"App is loading"}}},"purpose-required":[{pattern:"src/features/*",depth:1},{pattern:"src/components/*",depth:1}],conventions:i,scan:{enabled:true,autoInclude:true}}}function o(e){return t.dump(e,{lineWidth:-1,quotingType:'"'})}function a(e){return t.load(e)}export{n as a,i as b,r as c,o as d,a as e};