@a-company/paradigm 3.1.5 → 3.5.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 (80) hide show
  1. package/dist/{accept-orchestration-CWZNCGZX.js → accept-orchestration-DIGPJVUR.js} +6 -5
  2. package/dist/{aggregate-W7Q6VIM2.js → aggregate-V4KPR3RW.js} +2 -2
  3. package/dist/{beacon-B47XSTL7.js → beacon-XRXL5KZB.js} +2 -2
  4. package/dist/{chunk-4LGLU2LO.js → chunk-2E2RTBSM.js} +533 -182
  5. package/dist/{chunk-YCLN7WXV.js → chunk-2QNZ6PVD.js} +219 -35
  6. package/dist/{chunk-UM54F7G5.js → chunk-4N6AYEEA.js} +1 -1
  7. package/dist/{chunk-MVXJVRFI.js → chunk-5TUAVVIG.js} +65 -1
  8. package/dist/{chunk-5C4SGQKH.js → chunk-6P4IFIK2.js} +4 -2
  9. package/dist/{chunk-WS5KM7OL.js → chunk-6RNYVBSG.js} +1 -1
  10. package/dist/{chunk-N6PJAPDE.js → chunk-AK5M6KJB.js} +18 -0
  11. package/dist/{chunk-VZ7CXFRZ.js → chunk-CRICL4FQ.js} +1004 -17
  12. package/dist/{chunk-MC7XC7XQ.js → chunk-GZDFVP2N.js} +20 -13
  13. package/dist/chunk-HPC3JAUP.js +42 -0
  14. package/dist/chunk-IRVA7NKV.js +657 -0
  15. package/dist/{chunk-ZPN7MXRA.js → chunk-KFHK6EBI.js} +184 -1
  16. package/dist/{chunk-UUZ2DMG5.js → chunk-KWDTBXP2.js} +1 -1
  17. package/dist/{chunk-DRUDZKIT.js → chunk-M2XMTJHQ.js} +693 -70
  18. package/dist/{chunk-PW2EXJQT.js → chunk-MRENOFTR.js} +24 -1
  19. package/dist/{chunk-QS36NGWV.js → chunk-QHJGB5TV.js} +1 -1
  20. package/dist/chunk-UI3XXVJ6.js +449 -0
  21. package/dist/{chunk-AD2LSCHB.js → chunk-Y4XZWCHK.js} +40 -74
  22. package/dist/{constellation-K3CIQCHI.js → constellation-GNK5DIMH.js} +2 -2
  23. package/dist/{cost-AEK6R7HK.js → cost-AGO5N7DD.js} +1 -1
  24. package/dist/{cursorrules-KI5QWHIX.js → cursorrules-LQFA7M62.js} +2 -2
  25. package/dist/{delete-W67IVTLJ.js → delete-3YXAJ5AA.js} +12 -1
  26. package/dist/{diff-AJJ5H6HV.js → diff-J6C5IHPV.js} +6 -5
  27. package/dist/{dist-2F7NO4H4-KSL6SJIO.js → dist-AG5JNIZU-XSEZ2LLK.js} +28 -3
  28. package/dist/dist-JOHRYQUA.js +7294 -0
  29. package/dist/{dist-NHJQVVUW.js → dist-Q6SAZI7X.js} +2 -2
  30. package/dist/{dist-GPQ4LAY3.js → dist-YP2CO4TG.js} +24 -6
  31. package/dist/{doctor-JBIV5PMN.js → doctor-TQYRF7KK.js} +2 -2
  32. package/dist/{edit-Y7XPYSMK.js → edit-EOMPXOG5.js} +1 -1
  33. package/dist/flow-7JUH6D4H.js +185 -0
  34. package/dist/global-AXILUM5X.js +136 -0
  35. package/dist/{habits-FA65W77Y.js → habits-CHP4EW5H.js} +234 -5
  36. package/dist/{hooks-JKWO44WH.js → hooks-DLZEYHI3.js} +1 -1
  37. package/dist/index.js +125 -100
  38. package/dist/{lint-HXKTWRNO.js → lint-N4LMMEXH.js} +141 -1
  39. package/dist/{list-R3QWW4SC.js → list-JKBJ7ESH.js} +1 -1
  40. package/dist/mcp.js +9273 -6515
  41. package/dist/{orchestrate-4ZH5GUQH.js → orchestrate-FAV64G2R.js} +6 -5
  42. package/dist/{probe-OYCP4JYG.js → probe-X3J2JX62.js} +18 -3
  43. package/dist/{promote-E6NBZ3BK.js → promote-HZH5E5CO.js} +1 -1
  44. package/dist/{providers-4PGPZEWP.js → providers-NQ67LO2Z.js} +1 -1
  45. package/dist/{record-OHQNWOUP.js → record-EECZ3E4I.js} +1 -1
  46. package/dist/{remember-6VZ74B7E.js → remember-3KJZGDUG.js} +1 -1
  47. package/dist/{review-RUHX25A5.js → review-BF26ILZB.js} +1 -1
  48. package/dist/{ripple-SBQOSTZD.js → ripple-JIUAMBLA.js} +2 -2
  49. package/dist/sentinel-ZTL224IG.js +63 -0
  50. package/dist/{server-MV4HNFVF.js → server-MZBYDXJY.js} +4193 -9
  51. package/dist/{setup-DF4F3ICN.js → setup-363IB6MO.js} +1 -1
  52. package/dist/{setup-JHBPZAG7.js → setup-UKJ3VGHI.js} +4 -4
  53. package/dist/{shift-2LQFQP4P.js → shift-KDVYB6CR.js} +16 -13
  54. package/dist/{show-WTOJXUTN.js → show-SAMTXEHG.js} +1 -1
  55. package/dist/{snapshot-GTVPRYZG.js → snapshot-KCMONZAO.js} +2 -2
  56. package/dist/{spawn-BJRQA2NR.js → spawn-EO7B2UM3.js} +2 -2
  57. package/dist/{summary-5SBFO7QK.js → summary-E2PU4UN2.js} +3 -3
  58. package/dist/{switch-6EANJ7O6.js → switch-CC2KACXO.js} +1 -1
  59. package/dist/{sync-5KSTPJ4B.js → sync-5VJPZQNX.js} +2 -2
  60. package/dist/sync-llms-7QDA3ZWC.js +166 -0
  61. package/dist/{team-NWP2KJAB.js → team-6CCNANKE.js} +7 -6
  62. package/dist/{test-MA5TWJQV.js → test-DK2RWLTK.js} +91 -8
  63. package/dist/{thread-JCJVRUQR.js → thread-RNSLADXN.js} +18 -2
  64. package/dist/{timeline-P7BARFLI.js → timeline-TJDVVVA3.js} +1 -1
  65. package/dist/{triage-TBIWJA6R.js → triage-PXMU3RWV.js} +2 -2
  66. package/dist/university-content/courses/para-101.json +2 -1
  67. package/dist/university-content/courses/para-201.json +102 -3
  68. package/dist/university-content/courses/para-301.json +14 -11
  69. package/dist/university-content/courses/para-401.json +57 -3
  70. package/dist/university-content/courses/para-501.json +204 -6
  71. package/dist/university-content/plsat/v3.0.json +808 -3
  72. package/dist/university-content/reference.json +270 -0
  73. package/dist/{upgrade-TIYFQYPO.js → upgrade-RBSE4M6I.js} +1 -1
  74. package/dist/{validate-QEEY6KFS.js → validate-2LTHHORX.js} +1 -1
  75. package/dist/{watch-4LT4O6K7.js → watch-NBPOMOEX.js} +76 -0
  76. package/dist/{watch-2XEYUH43.js → watch-PAEH6MOG.js} +1 -1
  77. package/package.json +1 -1
  78. package/dist/chunk-GWM2WRXL.js +0 -1095
  79. package/dist/sentinel-WB7GIK4V.js +0 -43
  80. /package/dist/{chunk-TAP5N3HH.js → chunk-CCG6KYBT.js} +0 -0
@@ -2,16 +2,17 @@
2
2
  import {
3
3
  BackgroundOrchestrator,
4
4
  Orchestrator
5
- } from "./chunk-AD2LSCHB.js";
5
+ } from "./chunk-Y4XZWCHK.js";
6
6
  import "./chunk-6QC3YGB6.js";
7
- import "./chunk-WS5KM7OL.js";
7
+ import "./chunk-HPC3JAUP.js";
8
+ import "./chunk-6RNYVBSG.js";
8
9
  import "./chunk-PBHIFAL4.js";
9
- import "./chunk-TAP5N3HH.js";
10
+ import "./chunk-CCG6KYBT.js";
10
11
  import {
11
12
  loadAgentsManifest
12
13
  } from "./chunk-PMXRGPRQ.js";
13
- import "./chunk-5C4SGQKH.js";
14
- import "./chunk-PW2EXJQT.js";
14
+ import "./chunk-6P4IFIK2.js";
15
+ import "./chunk-MRENOFTR.js";
15
16
  import "./chunk-IRKUEJVW.js";
16
17
  import {
17
18
  formatCost,
@@ -1,12 +1,16 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ generateFlowIndex,
4
+ generateNavigator
5
+ } from "./chunk-UI3XXVJ6.js";
2
6
  import {
3
7
  generateScanIndex,
4
8
  serializeScanIndex
5
- } from "./chunk-N6PJAPDE.js";
9
+ } from "./chunk-AK5M6KJB.js";
6
10
  import {
7
11
  aggregateFromDirectory
8
- } from "./chunk-5C4SGQKH.js";
9
- import "./chunk-PW2EXJQT.js";
12
+ } from "./chunk-6P4IFIK2.js";
13
+ import "./chunk-MRENOFTR.js";
10
14
  import "./chunk-IRKUEJVW.js";
11
15
  import {
12
16
  parseParadigmConfig
@@ -101,6 +105,16 @@ async function indexCommand(targetPath, options) {
101
105
  console.error(chalk.gray(err.message));
102
106
  process.exit(1);
103
107
  }
108
+ await generateNavigator(rootDir, aggregation, { quiet: options.quiet });
109
+ const flowIndex = await generateFlowIndex(rootDir, aggregation.purposeFiles, { quiet: options.quiet });
110
+ if (flowIndex && Object.keys(flowIndex.flows).length > 0) {
111
+ const flowIndexPath = path.join(rootDir, ".paradigm", "flow-index.json");
112
+ fs.writeFileSync(flowIndexPath, JSON.stringify(flowIndex, null, 2), "utf8");
113
+ if (!options.quiet) {
114
+ const symbolCount = Object.keys(flowIndex.symbolToFlows).length;
115
+ spinner.succeed(chalk.green(`Flow index generated (${Object.keys(flowIndex.flows).length} flows, ${symbolCount} symbol mappings)`));
116
+ }
117
+ }
104
118
  if (!options.quiet) {
105
119
  console.log(chalk.gray(`
106
120
  Output: ${outputPath}`));
@@ -110,6 +124,7 @@ async function indexCommand(targetPath, options) {
110
124
  console.log(chalk.gray(` State: ${Object.keys(index.state).length}`));
111
125
  console.log(chalk.gray(` Gates: ${Object.keys(index.gates).length}`));
112
126
  console.log(chalk.gray(` Signals: ${Object.keys(index.signals).length}`));
127
+ console.log(chalk.gray(` Aspects: ${Object.keys(index.aspects).length}`));
113
128
  console.log();
114
129
  console.log(chalk.blue('\u2728 Scan index ready for "paradigm scan" queries'));
115
130
  console.log(chalk.gray(' Attach an image and say "paradigm scan" to map UI to code\n'));
@@ -138,7 +138,7 @@ ${err instanceof Error ? err.message : err}
138
138
  }
139
139
  spinner.start("Switching MCP configs to PROD...");
140
140
  try {
141
- const { mcpUseProdCommand } = await import("./switch-6EANJ7O6.js");
141
+ const { mcpUseProdCommand } = await import("./switch-CC2KACXO.js");
142
142
  await mcpUseProdCommand({ json: true });
143
143
  spinner.succeed("MCP configs switched to PROD");
144
144
  } catch {
@@ -4,7 +4,7 @@ import {
4
4
  getBestProvider,
5
5
  getConfiguredProvider,
6
6
  setConfiguredProvider
7
- } from "./chunk-TAP5N3HH.js";
7
+ } from "./chunk-CCG6KYBT.js";
8
8
  import "./chunk-MO4EEYFW.js";
9
9
 
10
10
  // src/commands/team/providers.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  recordLore
4
- } from "./chunk-MVXJVRFI.js";
4
+ } from "./chunk-5TUAVVIG.js";
5
5
  import "./chunk-MO4EEYFW.js";
6
6
 
7
7
  // src/commands/lore/record.ts
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  aggregatePurposes,
4
4
  getAllPurposeFiles
5
- } from "./chunk-PW2EXJQT.js";
5
+ } from "./chunk-MRENOFTR.js";
6
6
  import "./chunk-MO4EEYFW.js";
7
7
 
8
8
  // src/commands/purpose/remember.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  addReview
4
- } from "./chunk-MVXJVRFI.js";
4
+ } from "./chunk-5TUAVVIG.js";
5
5
  import "./chunk-MO4EEYFW.js";
6
6
 
7
7
  // src/commands/lore/review.ts
@@ -7,8 +7,8 @@ import {
7
7
  getSymbol,
8
8
  getSymbolsByType,
9
9
  parseSymbol
10
- } from "./chunk-5C4SGQKH.js";
11
- import "./chunk-PW2EXJQT.js";
10
+ } from "./chunk-6P4IFIK2.js";
11
+ import "./chunk-MRENOFTR.js";
12
12
  import "./chunk-IRKUEJVW.js";
13
13
  import {
14
14
  log
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-MO4EEYFW.js";
3
+
4
+ // src/commands/sentinel.ts
5
+ import chalk from "chalk";
6
+ async function sentinelCommand(path, options) {
7
+ const projectDir = path || process.cwd();
8
+ const port = parseInt(options.port || "3838", 10);
9
+ const shouldOpen = options.open !== false;
10
+ console.log(chalk.cyan("\nStarting Sentinel...\n"));
11
+ try {
12
+ const { startServer } = await import("./server-MZBYDXJY.js");
13
+ console.log(chalk.gray(`Project: ${projectDir}`));
14
+ console.log(chalk.gray(`Port: ${port}`));
15
+ console.log();
16
+ await startServer({
17
+ port,
18
+ projectDir,
19
+ open: shouldOpen
20
+ });
21
+ console.log(chalk.green(`
22
+ Sentinel is running at http://localhost:${port}`));
23
+ console.log(chalk.gray("\nPress Ctrl+C to stop\n"));
24
+ await new Promise(() => {
25
+ });
26
+ } catch (error) {
27
+ const errCode = error.code;
28
+ const errMsg = error.message || "";
29
+ if (errCode === "ERR_MODULE_NOT_FOUND" || errCode === "MODULE_NOT_FOUND") {
30
+ console.error(chalk.red("\n@a-company/sentinel is not installed."));
31
+ console.log(chalk.gray("Install it with: npm install @a-company/sentinel\n"));
32
+ } else if (errCode === "EADDRINUSE") {
33
+ console.error(chalk.red(`
34
+ Error: Port ${port} is already in use.`));
35
+ console.log(chalk.gray(`Try a different port with: paradigm sentinel --port ${port + 1}
36
+ `));
37
+ } else if (errCode === "EACCES") {
38
+ console.error(chalk.red(`
39
+ Error: Permission denied on port ${port}.`));
40
+ console.log(chalk.gray(`Ports below 1024 require elevated privileges. Try: paradigm sentinel --port 3838
41
+ `));
42
+ } else if (errCode === "ENOENT") {
43
+ console.error(chalk.red(`
44
+ Error: Project directory not found: ${projectDir}`));
45
+ console.log(chalk.gray("Verify the path exists and try again.\n"));
46
+ } else if (errMsg.includes("ECONNREFUSED") || errMsg.includes("ETIMEDOUT")) {
47
+ console.error(chalk.red("\nError: Network connection failed."));
48
+ console.log(chalk.gray("Check your network configuration and try again.\n"));
49
+ } else {
50
+ console.error(chalk.red("\nFailed to start Sentinel."));
51
+ console.error(chalk.gray(` Error: ${errMsg || "Unknown error"}`));
52
+ if (errCode) console.error(chalk.gray(` Code: ${errCode}`));
53
+ console.log(chalk.gray("\nIf this persists, try:"));
54
+ console.log(chalk.gray(" 1. Ensure @a-company/sentinel is up to date"));
55
+ console.log(chalk.gray(" 2. Check that no other process is using the port"));
56
+ console.log(chalk.gray(" 3. Run `paradigm doctor` to check your setup\n"));
57
+ }
58
+ process.exit(1);
59
+ }
60
+ }
61
+ export {
62
+ sentinelCommand
63
+ };