@a-company/paradigm 3.34.0 → 3.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/{accept-orchestration-XXANWJVZ.js → accept-orchestration-ZUWQUHSK.js} +6 -6
  2. package/dist/add-VSPZ6FM4.js +81 -0
  3. package/dist/{aggregate-XHQ6GI3Z.js → aggregate-SV3VGEIL.js} +2 -2
  4. package/dist/assess-UHBDYIK7.js +68 -0
  5. package/dist/{beacon-BTLQMYQL.js → beacon-3SJV4DAP.js} +2 -2
  6. package/dist/calibration-WWHK73WU.js +135 -0
  7. package/dist/{chunk-C5ZE6WEX.js → chunk-2SKXFXIT.js} +91 -1
  8. package/dist/{chunk-S5TDFT5Q.js → chunk-7COU5S2Z.js} +2 -2
  9. package/dist/{chunk-H4TVBJD4.js → chunk-AKIMFN6I.js} +3 -3
  10. package/dist/{chunk-3DYYXGDC.js → chunk-CDMAMDSG.js} +33 -0
  11. package/dist/chunk-F3BCHPYT.js +143 -0
  12. package/dist/{chunk-R2SGQ22F.js → chunk-FKJUBQU3.js} +461 -2
  13. package/dist/chunk-GT5QGC2H.js +253 -0
  14. package/dist/{chunk-UQNTJ5VB.js → chunk-HIKKOCXY.js} +1 -1
  15. package/dist/{chunk-J26YQVAK.js → chunk-J4E6K5MG.js} +1 -1
  16. package/dist/chunk-L27I3CPZ.js +357 -0
  17. package/dist/{chunk-WOONGZ3C.js → chunk-P7XSBJE3.js} +1 -1
  18. package/dist/{chunk-Z7W7HNRG.js → chunk-QDXI2DHR.js} +1 -1
  19. package/dist/{chunk-BRILIG7Z.js → chunk-QIOCFXDQ.js} +42 -0
  20. package/dist/{chunk-3BGSDKWD.js → chunk-QWA26UNO.js} +7 -7
  21. package/dist/{lore-server-ILPHKWLK.js → chunk-RAB5IKPR.js} +77 -112
  22. package/dist/chunk-SOBTKFSP.js +616 -0
  23. package/dist/{chunk-BKMNLROM.js → chunk-ZDHLG5VP.js} +461 -147
  24. package/dist/{chunk-CTF6RHKG.js → chunk-ZGUAAVMA.js} +17 -2
  25. package/dist/{chunk-PFLWLC6J.js → chunk-ZMQA6SCO.js} +855 -34
  26. package/dist/{chunk-3BAMPB6I.js → chunk-ZSYVKSY6.js} +2 -147
  27. package/dist/{commands-KPT2T2OZ.js → commands-5N4ILTPH.js} +465 -1
  28. package/dist/config-schema-3YNIFJCJ.js +152 -0
  29. package/dist/{constellation-LZ6XIKDT.js → constellation-FAGT45TU.js} +2 -2
  30. package/dist/{context-audit-RI4R2WRH.js → context-audit-557EO6PK.js} +138 -8
  31. package/dist/{cost-4SZM7OUS.js → cost-UD3WPEKZ.js} +1 -1
  32. package/dist/{delete-YTASL4SM.js → delete-RRK4RL6Y.js} +1 -1
  33. package/dist/{diff-T6YJSAAC.js → diff-IP5CIARP.js} +6 -6
  34. package/dist/{dist-AG5JNIZU-HW2FWNTZ.js → dist-5QE2BB2B-X6DYVSUL.js} +59 -5
  35. package/dist/{dist-IKBGY7FQ.js → dist-CM3MVWWW.js} +3 -1
  36. package/dist/{dist-OH4DBV2O.js → dist-OGTSAZ55.js} +16 -1
  37. package/dist/{dist-RMAIFRTW.js → dist-POMVY6WP.js} +5 -3
  38. package/dist/{dist-QSBAGCZT.js → dist-UXWV4OKX.js} +2 -2
  39. package/dist/{doctor-INBOLZC7.js → doctor-GKZJU7QG.js} +1 -1
  40. package/dist/{edit-S7NZD7H7.js → edit-4CLNN5JG.js} +1 -1
  41. package/dist/{graph-ERNQQQ7C.js → graph-YYUXI3F7.js} +1 -1
  42. package/dist/graph-server-ZPXRSGCW.js +116 -0
  43. package/dist/{habits-7BORPC2F.js → habits-RG5SVKXP.js} +2 -2
  44. package/dist/index.js +200 -86
  45. package/dist/integrity-MK2OP5TA.js +194 -0
  46. package/dist/integrity-checker-J7YXRTBT.js +11 -0
  47. package/dist/{lint-MTRZB5EC.js → lint-HYWGS3JJ.js} +1 -1
  48. package/dist/{list-QTFWN35D.js → list-BTLFHSRC.js} +1 -1
  49. package/dist/list-IUCYPGMK.js +57 -0
  50. package/dist/{lore-loader-S5BXMH27.js → lore-loader-VTEEZDX3.js} +3 -1
  51. package/dist/lore-server-NOOAHKJX.js +118 -0
  52. package/dist/mcp.js +2591 -112
  53. package/dist/{migrate-HRN5TUBQ.js → migrate-FQVGQNXZ.js} +21 -3
  54. package/dist/{migrate-assessments-FPR6C35Z.js → migrate-assessments-JP6Q5KME.js} +1 -1
  55. package/dist/{orchestrate-3SI6ON33.js → orchestrate-A226N6FC.js} +6 -6
  56. package/dist/platform-server-KHL6ZPPN.js +900 -0
  57. package/dist/{probe-ABMGCXQG.js → probe-7JK7IDNI.js} +4 -4
  58. package/dist/{providers-YW3FG6DA.js → providers-YNFSL6HK.js} +1 -1
  59. package/dist/quiz-I75NU2QQ.js +99 -0
  60. package/dist/{record-UGN75GTB.js → record-46CLR4OG.js} +11 -2
  61. package/dist/{reindex-YC7LD4MN.js → reindex-WIJMCJ4A.js} +3 -2
  62. package/dist/{remember-WR6ZVXLT.js → remember-4EUZKIIB.js} +1 -1
  63. package/dist/{retag-URLJLMSK.js → retag-KC4JVRLE.js} +1 -1
  64. package/dist/{review-725ZKA7U.js → review-Q7M4CRB5.js} +1 -1
  65. package/dist/{ripple-QTXKJCEI.js → ripple-RI3LOT6R.js} +2 -2
  66. package/dist/{sentinel-FUR3QKCJ.js → sentinel-UOIGJWHH.js} +1 -1
  67. package/dist/sentinel-bridge-APDXYAZS.js +109 -0
  68. package/dist/sentinel-mcp.js +13 -0
  69. package/dist/sentinel-ui/assets/{index-Zh1YM0C9.css → index-CJ1Wx083.css} +1 -1
  70. package/dist/sentinel-ui/assets/index-S1VJ67dT.js +62 -0
  71. package/dist/sentinel-ui/assets/index-S1VJ67dT.js.map +1 -0
  72. package/dist/sentinel-ui/index.html +2 -2
  73. package/dist/sentinel.js +6 -6
  74. package/dist/{serve-DIALBCTU.js → serve-22A4XOIG.js} +1 -1
  75. package/dist/{university-A66BMZ4Z.js → serve-2YJ6D2Y6.js} +9 -8
  76. package/dist/serve-JVXSRSUB.js +33 -0
  77. package/dist/{server-2VICPDUR.js → server-JV6UFGWZ.js} +25 -2
  78. package/dist/{server-OWBK2WFS.js → server-RDLQ3DK7.js} +49 -4
  79. package/dist/{setup-ASR6OMKV.js → setup-M2ZKLKNN.js} +2 -2
  80. package/dist/{shift-7XLSBLDW.js → shift-LNMKFYLR.js} +63 -14
  81. package/dist/{show-GEVVQWWG.js → show-P7GYO43X.js} +1 -1
  82. package/dist/show-PKZMYKRN.js +82 -0
  83. package/dist/{snapshot-QZFD7YBI.js → snapshot-Y3COXK4T.js} +2 -2
  84. package/dist/{spawn-DIY7T4QW.js → spawn-SSXZX45U.js} +2 -2
  85. package/dist/status-KLHALGW4.js +71 -0
  86. package/dist/{summary-R4CSYNNP.js → summary-5NQNOD3F.js} +2 -2
  87. package/dist/{sweep-5POCF2E4.js → sweep-EZU3GU6S.js} +1 -1
  88. package/dist/symphony-EYRGGVNE.js +470 -0
  89. package/dist/symphony-QWOEKZMC.js +308 -0
  90. package/dist/{team-VH3HYABB.js → team-HGLJXWQG.js} +7 -7
  91. package/dist/{timeline-RKXNRMKF.js → timeline-ANC7LVDL.js} +1 -1
  92. package/dist/{triage-GJ6GK647.js → triage-IZ4MDYNB.js} +2 -2
  93. package/dist/university-content/courses/.purpose +7 -1
  94. package/dist/university-content/courses/para-501.json +166 -0
  95. package/dist/university-content/plsat/.purpose +6 -0
  96. package/dist/university-content/plsat/v3.0.json +323 -1
  97. package/dist/university-content/reference.json +48 -0
  98. package/dist/university-ui/assets/{index-TcsCEBMo.js → index-tfi5xN4Q.js} +2 -2
  99. package/dist/university-ui/assets/{index-TcsCEBMo.js.map → index-tfi5xN4Q.js.map} +1 -1
  100. package/dist/university-ui/index.html +1 -1
  101. package/dist/validate-GD5XWILV.js +134 -0
  102. package/dist/{validate-OUHUBZPO.js → validate-ZVPNN4FL.js} +1 -1
  103. package/dist/{workspace-5RBSALXC.js → workspace-UIUTHZTD.js} +5 -5
  104. package/package.json +4 -2
  105. package/platform-ui/dist/assets/GitSection-BD3Ze06e.js +4 -0
  106. package/platform-ui/dist/assets/GitSection-C-GQWHcu.css +1 -0
  107. package/platform-ui/dist/assets/GraphSection-BlgXTl53.css +1 -0
  108. package/platform-ui/dist/assets/GraphSection-SglITfSs.js +8 -0
  109. package/platform-ui/dist/assets/LoreSection-C3EixkjW.css +1 -0
  110. package/platform-ui/dist/assets/LoreSection-bR5Km4Fd.js +1 -0
  111. package/platform-ui/dist/assets/SentinelSection-BI-aIYKL.css +1 -0
  112. package/platform-ui/dist/assets/SentinelSection-QSpAZArG.js +1 -0
  113. package/platform-ui/dist/assets/SymphonySection-CobYJgvg.js +1 -0
  114. package/platform-ui/dist/assets/SymphonySection-zY0C5tFl.css +1 -0
  115. package/platform-ui/dist/assets/index-CfpZFjea.css +1 -0
  116. package/platform-ui/dist/assets/index-DbxeSMkV.js +57 -0
  117. package/platform-ui/dist/index.html +14 -0
  118. package/dist/graph-server-BZ73HTAT.js +0 -251
  119. package/dist/sentinel-ui/assets/index-C_Wstm64.js +0 -62
  120. package/dist/sentinel-ui/assets/index-C_Wstm64.js.map +0 -1
  121. /package/dist/{chunk-VUSCJJ4A.js → chunk-EDOAWN7J.js} +0 -0
  122. /package/dist/{chunk-5SXMV4SP.js → chunk-FS3WTUHY.js} +0 -0
@@ -1,251 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-ZXMDA7VB.js";
3
-
4
- // src/graph-server/index.ts
5
- import express from "express";
6
- import * as path3 from "path";
7
- import * as fs3 from "fs";
8
- import { fileURLToPath } from "url";
9
- import chalk from "chalk";
10
-
11
- // src/graph-server/routes/symbols.ts
12
- import { Router } from "express";
13
- import * as fs from "fs";
14
- import * as path from "path";
15
- function createSymbolsRouter(projectDir) {
16
- const router = Router();
17
- router.get("/", (_req, res) => {
18
- const indexPath = path.join(projectDir, ".paradigm", "scan-index.json");
19
- if (!fs.existsSync(indexPath)) {
20
- res.status(404).json({
21
- error: "scan-index.json not found",
22
- hint: "Run `paradigm scan` to generate the symbol index."
23
- });
24
- return;
25
- }
26
- try {
27
- const raw = fs.readFileSync(indexPath, "utf-8");
28
- const index = JSON.parse(raw);
29
- const categoryMap = {
30
- components: "component",
31
- features: "component",
32
- flows: "flow",
33
- state: "component",
34
- gates: "gate",
35
- signals: "signal",
36
- aspects: "aspect",
37
- screens: "component"
38
- };
39
- const prefixMap = {
40
- component: "#",
41
- flow: "$",
42
- gate: "^",
43
- signal: "!",
44
- aspect: "~"
45
- };
46
- const symbols = [];
47
- const seen = /* @__PURE__ */ new Set();
48
- for (const [sectionKey, category] of Object.entries(categoryMap)) {
49
- const entries = index[sectionKey];
50
- if (!entries || typeof entries !== "object") continue;
51
- const items = Array.isArray(entries) ? entries : Object.values(entries);
52
- for (const entry of items) {
53
- const name = entry.name || entry.id || "";
54
- if (!name || seen.has(name)) continue;
55
- seen.add(name);
56
- symbols.push({
57
- id: name,
58
- name,
59
- category,
60
- prefix: prefixMap[category] || "#",
61
- description: entry.description || "",
62
- path: entry.path || entry.file || "",
63
- tags: entry.tags || [],
64
- related: entry.related || []
65
- });
66
- }
67
- }
68
- res.json({
69
- symbols,
70
- meta: {
71
- total: symbols.length,
72
- projectDir,
73
- generatedAt: (/* @__PURE__ */ new Date()).toISOString()
74
- }
75
- });
76
- } catch (err) {
77
- res.status(500).json({
78
- error: "Failed to read scan-index.json",
79
- details: err.message
80
- });
81
- }
82
- });
83
- return router;
84
- }
85
-
86
- // src/graph-server/routes/graphs.ts
87
- import { Router as Router2 } from "express";
88
- import * as fs2 from "fs";
89
- import * as path2 from "path";
90
- var GRAPHS_DIR = ".paradigm/graphs";
91
- function createGraphsRouter(projectDir) {
92
- const router = Router2();
93
- const graphsPath = path2.join(projectDir, GRAPHS_DIR);
94
- router.get("/", (_req, res) => {
95
- if (!fs2.existsSync(graphsPath)) {
96
- res.json({ graphs: [] });
97
- return;
98
- }
99
- try {
100
- const files = fs2.readdirSync(graphsPath).filter((f) => f.endsWith(".graph.json"));
101
- const graphs = files.map((file) => {
102
- const filePath = path2.join(graphsPath, file);
103
- const stat = fs2.statSync(filePath);
104
- const slug = file.replace(/\.graph\.json$/, "");
105
- let name = slug;
106
- let nodeCount = 0;
107
- let edgeCount = 0;
108
- try {
109
- const raw = JSON.parse(fs2.readFileSync(filePath, "utf8"));
110
- name = raw.name || slug;
111
- nodeCount = Array.isArray(raw.nodes) ? raw.nodes.length : 0;
112
- edgeCount = Array.isArray(raw.edges) ? raw.edges.length : 0;
113
- } catch {
114
- }
115
- return {
116
- slug,
117
- file,
118
- name,
119
- nodes: nodeCount,
120
- edges: edgeCount,
121
- size: stat.size,
122
- modified: stat.mtime.toISOString()
123
- };
124
- });
125
- graphs.sort((a, b) => b.modified.localeCompare(a.modified));
126
- res.json({ graphs });
127
- } catch (err) {
128
- res.status(500).json({ error: "Failed to list graphs", details: err.message });
129
- }
130
- });
131
- router.get("/:slug", (req, res) => {
132
- const slug = req.params.slug;
133
- const filePath = path2.join(graphsPath, `${slug}.graph.json`);
134
- if (!fs2.existsSync(filePath)) {
135
- res.status(404).json({ error: `Graph "${slug}" not found` });
136
- return;
137
- }
138
- try {
139
- const raw = fs2.readFileSync(filePath, "utf8");
140
- res.type("application/json").send(raw);
141
- } catch (err) {
142
- res.status(500).json({ error: "Failed to read graph", details: err.message });
143
- }
144
- });
145
- return router;
146
- }
147
-
148
- // src/graph-server/index.ts
149
- var __filename = fileURLToPath(import.meta.url);
150
- var __dirname = path3.dirname(__filename);
151
- var log = {
152
- component(name) {
153
- const symbol = chalk.magenta(`#${name}`);
154
- return {
155
- info: (msg, data) => {
156
- const dataStr = data ? chalk.gray(` ${Object.entries(data).map(([k, v]) => `${k}=${v}`).join(" ")}`) : "";
157
- console.log(`${chalk.blue("i")} ${symbol} ${msg}${dataStr}`);
158
- },
159
- success: (msg, data) => {
160
- const dataStr = data ? chalk.gray(` ${Object.entries(data).map(([k, v]) => `${k}=${v}`).join(" ")}`) : "";
161
- console.log(`${chalk.green("+")} ${symbol} ${msg}${dataStr}`);
162
- },
163
- warn: (msg, data) => {
164
- const dataStr = data ? chalk.gray(` ${Object.entries(data).map(([k, v]) => `${k}=${v}`).join(" ")}`) : "";
165
- console.log(`${chalk.yellow("!")} ${symbol} ${msg}${dataStr}`);
166
- },
167
- error: (msg, data) => {
168
- const dataStr = data ? chalk.gray(` ${Object.entries(data).map(([k, v]) => `${k}=${v}`).join(" ")}`) : "";
169
- console.error(`${chalk.red("x")} ${symbol} ${msg}${dataStr}`);
170
- }
171
- };
172
- }
173
- };
174
- function createGraphApp(options) {
175
- const app = express();
176
- app.use(express.json());
177
- app.use((_req, res, next) => {
178
- res.header("Access-Control-Allow-Origin", "*");
179
- res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
180
- res.header("Access-Control-Allow-Headers", "Content-Type");
181
- if (_req.method === "OPTIONS") {
182
- res.sendStatus(204);
183
- return;
184
- }
185
- next();
186
- });
187
- app.use("/api/symbols", createSymbolsRouter(options.projectDir));
188
- app.use("/api/graphs", createGraphsRouter(options.projectDir));
189
- app.get("/api/health", (_req, res) => {
190
- res.json({ status: "ok", timestamp: (/* @__PURE__ */ new Date()).toISOString() });
191
- });
192
- let uiDistPath = path3.join(__dirname, "..", "graph-ui", "dist");
193
- if (!fs3.existsSync(uiDistPath)) {
194
- uiDistPath = path3.join(__dirname, "..", "..", "graph-ui", "dist");
195
- }
196
- if (fs3.existsSync(uiDistPath)) {
197
- app.use(express.static(uiDistPath));
198
- app.get("{*path}", (req, res) => {
199
- if (!req.path.startsWith("/api")) {
200
- res.sendFile(path3.join(uiDistPath, "index.html"));
201
- }
202
- });
203
- } else {
204
- app.get("/", (_req, res) => {
205
- res.send(`
206
- <html>
207
- <head><title>Paradigm Graph</title></head>
208
- <body style="background:#0a0a0f;color:#e2e8f0;font-family:system-ui;display:flex;align-items:center;justify-content:center;height:100vh;margin:0">
209
- <div style="text-align:center">
210
- <h1>Paradigm Graph</h1>
211
- <p style="color:#94a3b8">UI not built yet. Run <code style="background:#1e293b;padding:4px 8px;border-radius:4px">cd graph-ui && npx vite build</code></p>
212
- <p style="color:#94a3b8">API available at <a href="/api/symbols" style="color:#7dd3fc">/api/symbols</a></p>
213
- </div>
214
- </body>
215
- </html>
216
- `);
217
- });
218
- }
219
- return app;
220
- }
221
- async function startGraphServer(options) {
222
- const app = createGraphApp(options);
223
- log.component("graph-server").info("Starting server", { port: options.port });
224
- log.component("graph-server").info("Project directory", { path: options.projectDir });
225
- return new Promise((resolve, reject) => {
226
- const server = app.listen(options.port, () => {
227
- log.component("graph-server").success("Server running", { url: `http://localhost:${options.port}` });
228
- if (options.open) {
229
- import("open").then((openModule) => {
230
- openModule.default(`http://localhost:${options.port}`);
231
- log.component("graph-server").info("Opened browser");
232
- }).catch(() => {
233
- log.component("graph-server").warn("Could not open browser automatically");
234
- });
235
- }
236
- resolve();
237
- });
238
- server.on("error", (err) => {
239
- if (err.code === "EADDRINUSE") {
240
- log.component("graph-server").error("Port already in use", { port: options.port });
241
- } else {
242
- log.component("graph-server").error("Server error", { error: err.message });
243
- }
244
- reject(err);
245
- });
246
- });
247
- }
248
- export {
249
- createGraphApp,
250
- startGraphServer
251
- };