@grafema/util 0.3.17 → 0.3.20

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 (50) hide show
  1. package/dist/core/FileOverview.d.ts +12 -0
  2. package/dist/core/FileOverview.d.ts.map +1 -1
  3. package/dist/core/FileOverview.js +98 -2
  4. package/dist/core/FileOverview.js.map +1 -1
  5. package/dist/federation/FederatedRouter.d.ts +124 -0
  6. package/dist/federation/FederatedRouter.d.ts.map +1 -0
  7. package/dist/federation/FederatedRouter.js +297 -0
  8. package/dist/federation/FederatedRouter.js.map +1 -0
  9. package/dist/federation/ShardDiscovery.d.ts +56 -0
  10. package/dist/federation/ShardDiscovery.d.ts.map +1 -0
  11. package/dist/federation/ShardDiscovery.js +100 -0
  12. package/dist/federation/ShardDiscovery.js.map +1 -0
  13. package/dist/federation/index.d.ts +28 -0
  14. package/dist/federation/index.d.ts.map +1 -0
  15. package/dist/federation/index.js +26 -0
  16. package/dist/federation/index.js.map +1 -0
  17. package/dist/index.d.ts +4 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/manifest/generator.d.ts.map +1 -1
  22. package/dist/manifest/generator.js +26 -4
  23. package/dist/manifest/generator.js.map +1 -1
  24. package/dist/manifest/index.d.ts +2 -0
  25. package/dist/manifest/index.d.ts.map +1 -1
  26. package/dist/manifest/index.js +1 -0
  27. package/dist/manifest/index.js.map +1 -1
  28. package/dist/manifest/registry.d.ts +116 -0
  29. package/dist/manifest/registry.d.ts.map +1 -0
  30. package/dist/manifest/registry.js +638 -0
  31. package/dist/manifest/registry.js.map +1 -0
  32. package/dist/manifest/resolver.d.ts +9 -0
  33. package/dist/manifest/resolver.d.ts.map +1 -1
  34. package/dist/manifest/resolver.js +31 -0
  35. package/dist/manifest/resolver.js.map +1 -1
  36. package/dist/notation/traceRenderer.d.ts +2 -0
  37. package/dist/notation/traceRenderer.d.ts.map +1 -1
  38. package/dist/notation/traceRenderer.js +6 -5
  39. package/dist/notation/traceRenderer.js.map +1 -1
  40. package/package.json +3 -3
  41. package/src/core/FileOverview.ts +104 -2
  42. package/src/federation/FederatedRouter.ts +440 -0
  43. package/src/federation/ShardDiscovery.ts +130 -0
  44. package/src/federation/index.ts +35 -0
  45. package/src/index.ts +16 -1
  46. package/src/manifest/generator.ts +25 -4
  47. package/src/manifest/index.ts +2 -0
  48. package/src/manifest/registry.ts +769 -0
  49. package/src/manifest/resolver.ts +33 -0
  50. package/src/notation/traceRenderer.ts +8 -5
@@ -57,6 +57,15 @@ export declare class ManifestResolver {
57
57
  * @param packageNames Optional list of package names to load (e.g., ['@grafema/util']). If omitted, scans all.
58
58
  */
59
59
  loadFromNodeModules(nodeModulesDir: string, packageNames?: string[]): number;
60
+ /**
61
+ * Load manifests from a registry directory (registry/index.yaml).
62
+ * Reads index.yaml to discover available packages, then loads each manifest.
63
+ *
64
+ * @param registryDir Path to the registry directory containing index.yaml
65
+ * @param packageNames Optional filter — only load these packages
66
+ * @returns Number of manifests loaded
67
+ */
68
+ loadFromRegistry(registryDir: string, packageNames?: string[]): number;
60
69
  /**
61
70
  * Register a manifest directly (e.g., from in-memory generation).
62
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/manifest/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,qCAAqC;IACrC,OAAO,CAAC,SAAS,CAA+B;IAChD,+EAA+E;IAC/E,OAAO,CAAC,WAAW,CAAkD;IAErE,iCAAiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,+BAA+B;IAC/B,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;IAED;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAgB/C;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IASjE;;;;;;;OAOG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAa5E;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAWvD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAgBjE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI;IAI9D;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjD;;OAEG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI/D;;;OAGG;IACH,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAiBhD;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;CAehC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/manifest/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG3D,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,qCAAqC;IACrC,OAAO,CAAC,SAAS,CAA+B;IAChD,+EAA+E;IAC/E,OAAO,CAAC,WAAW,CAAkD;IAErE,iCAAiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,+BAA+B;IAC/B,IAAI,QAAQ,IAAI,MAAM,EAAE,CAEvB;IAED;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAgB/C;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IASjE;;;;;;;OAOG;IACH,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAa5E;;;;;;;OAOG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBtE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAWvD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAgBjE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI;IAI9D;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjD;;OAEG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI/D;;;OAGG;IACH,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAiBhD;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;CAehC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC"}
@@ -88,6 +88,37 @@ export class ManifestResolver {
88
88
  }
89
89
  return loaded;
90
90
  }
91
+ /**
92
+ * Load manifests from a registry directory (registry/index.yaml).
93
+ * Reads index.yaml to discover available packages, then loads each manifest.
94
+ *
95
+ * @param registryDir Path to the registry directory containing index.yaml
96
+ * @param packageNames Optional filter — only load these packages
97
+ * @returns Number of manifests loaded
98
+ */
99
+ loadFromRegistry(registryDir, packageNames) {
100
+ const indexPath = join(registryDir, 'index.yaml');
101
+ if (!existsSync(indexPath))
102
+ return 0;
103
+ let index;
104
+ try {
105
+ index = parseYaml(readFileSync(indexPath, 'utf-8'));
106
+ }
107
+ catch {
108
+ return 0;
109
+ }
110
+ if (!index?.entries)
111
+ return 0;
112
+ let loaded = 0;
113
+ for (const entry of index.entries) {
114
+ if (packageNames && !packageNames.includes(entry.name))
115
+ continue;
116
+ const manifestPath = join(registryDir, entry.name, entry.version, 'manifest.yaml');
117
+ if (this.loadFromFile(manifestPath))
118
+ loaded++;
119
+ }
120
+ return loaded;
121
+ }
91
122
  /**
92
123
  * Register a manifest directly (e.g., from in-memory generation).
93
124
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/manifest/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAc1C,MAAM,OAAO,gBAAgB;IAC3B,qCAAqC;IAC7B,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAChD,+EAA+E;IACvE,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAC;IAErE,iCAAiC;IACjC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,+BAA+B;IAC/B,IAAI,QAAQ;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAa,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAe,EAAE,WAAqB;QACtD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAAE,MAAM,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,cAAsB,EAAE,YAAuB;QACjE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,CAAC,CAAC;QAE1C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;gBACjE,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oBAAE,MAAM,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,WAAmB,EAAE,QAAkB;QAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE1C,qBAAqB;QACrB,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAc,EAAE,UAAkB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;YAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;SAC1C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,WAAmB;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,WAAmB;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,MAAc,EAAE,UAAkB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,SAAS,GAAsB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,SAAS,CAAC,IAAI,CAAC;gBACb,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAC3B,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;gBACrC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;gBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;gBACzC,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF;AAYD,4DAA4D;AAE5D,8EAA8E;AAC9E,SAAS,iBAAiB,CAAC,IAAY;IACrC,sDAAsD;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,mDAAmD;IACnD,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,OAAyB;IAC5C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/manifest/resolver.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export type TraceDetail = 'summary' | 'normal' | 'full';
22
22
  export interface TraceNarrativeOptions {
23
23
  /** Level of detail: summary, normal (default), full */
24
24
  detail?: TraceDetail;
25
+ /** Format hints for CLI (--detail full) vs MCP (detail="full") */
26
+ hintStyle?: 'cli' | 'mcp';
25
27
  }
26
28
  /**
27
29
  * Render trace dataflow results as a human-readable narrative.
@@ -1 +1 @@
1
- {"version":3,"file":"traceRenderer.d.ts","sourceRoot":"","sources":["../../src/notation/traceRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,6BAA6B,CAAC;AAKrF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA2UD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAgFR"}
1
+ {"version":3,"file":"traceRenderer.d.ts","sourceRoot":"","sources":["../../src/notation/traceRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,6BAA6B,CAAC;AAKrF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AA4UD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAgFR"}
@@ -24,14 +24,15 @@ const NOISE_TYPES = new Set(['REFERENCE', 'EXPRESSION', 'LITERAL']);
24
24
  /** Hard budget for normal detail: maximum lines in body. */
25
25
  const MAX_LINES = 35;
26
26
  // === LEGEND (from single source of truth) ===
27
- function lodHint(currentDetail) {
27
+ function lodHint(currentDetail, style = 'mcp') {
28
+ const fmt = (level) => style === 'cli' ? `--detail ${level}` : `detail="${level}"`;
28
29
  switch (currentDetail) {
29
30
  case 'summary':
30
- return 'Use detail="normal" for node list, detail="full" for complete chain';
31
+ return `Use ${fmt('normal')} for node list, ${fmt('full')} for complete chain`;
31
32
  case 'normal':
32
- return 'Use detail="full" for complete chain, detail="summary" for overview';
33
+ return `Use ${fmt('full')} for complete chain, ${fmt('summary')} for overview`;
33
34
  case 'full':
34
- return 'Use detail="summary" for overview, detail="normal" for compressed view';
35
+ return `Use ${fmt('summary')} for overview, ${fmt('normal')} for compressed view`;
35
36
  }
36
37
  }
37
38
  // === OPERATOR MAPPING ===
@@ -352,7 +353,7 @@ export function renderTraceNarrative(results, sourceName, options = {}) {
352
353
  // Append legend (from archetypes.ts — single source of truth) + LOD hint
353
354
  output.push('');
354
355
  output.push(generateLegend());
355
- output.push(lodHint(detail));
356
+ output.push(lodHint(detail, options.hintStyle));
356
357
  return output.join('\n');
357
358
  }
358
359
  //# sourceMappingURL=traceRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traceRenderer.js","sourceRoot":"","sources":["../../src/notation/traceRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traceRenderer.js","sourceRoot":"","sources":["../../src/notation/traceRenderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafema/util",
3
- "version": "0.3.17",
3
+ "version": "0.3.20",
4
4
  "description": "Query, config, and guarantee utilities for Grafema",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -35,8 +35,8 @@
35
35
  "ajv": "^8.17.1",
36
36
  "minimatch": "^10.1.1",
37
37
  "yaml": "^2.8.2",
38
- "@grafema/types": "0.3.17",
39
- "@grafema/rfdb-client": "0.3.17"
38
+ "@grafema/rfdb-client": "0.3.20",
39
+ "@grafema/types": "0.3.20"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^25.0.8",
@@ -144,12 +144,45 @@ export class FileOverview {
144
144
  functions.push(await this.buildFunctionOverview(child, includeEdges));
145
145
  break;
146
146
  case 'VARIABLE':
147
- case 'CONSTANT':
148
- variables.push(await this.buildVariableOverview(child, includeEdges));
147
+ case 'CONSTANT': {
148
+ // Check if this is a const-bound function (const foo = () => {})
149
+ if (includeEdges) {
150
+ const assignedEdges = await this.graph.getOutgoingEdges(child.id, ['ASSIGNED_FROM']);
151
+ let isFunctionBinding = false;
152
+ for (const edge of assignedEdges) {
153
+ const target = await this.graph.getNode(edge.dst);
154
+ if (target && (target.type === 'FUNCTION' || target.type === 'METHOD')) {
155
+ // Build function overview using the target function but with the const name
156
+ const fnOverview = await this.buildFunctionOverview(target, includeEdges);
157
+ fnOverview.name = child.name ?? '<anonymous>';
158
+ fnOverview.line = child.line as number | undefined;
159
+ fnOverview.id = child.id;
160
+ functions.push(fnOverview);
161
+ isFunctionBinding = true;
162
+ break;
163
+ }
164
+ }
165
+ if (!isFunctionBinding) {
166
+ variables.push(await this.buildVariableOverview(child, includeEdges));
167
+ }
168
+ } else {
169
+ variables.push(await this.buildVariableOverview(child, includeEdges));
170
+ }
149
171
  break;
172
+ }
150
173
  }
151
174
  }
152
175
 
176
+ // CJS fallback: if no ESM imports/exports found, try CommonJS patterns
177
+ if (imports.length === 0) {
178
+ const cjsImports = await this.detectCjsImports(moduleNode.id);
179
+ imports.push(...cjsImports);
180
+ }
181
+ if (exports.length === 0) {
182
+ const cjsExports = await this.detectCjsExports(moduleNode.id);
183
+ exports.push(...cjsExports);
184
+ }
185
+
153
186
  const byLine = (a: { line?: number }, b: { line?: number }) =>
154
187
  (a.line ?? 0) - (b.line ?? 0);
155
188
 
@@ -364,6 +397,75 @@ export class FileOverview {
364
397
  return overview;
365
398
  }
366
399
 
400
+ /**
401
+ * Detect CommonJS require() calls as imports.
402
+ * Pattern: CALL(name="require") with PASSES_ARGUMENT -> LITERAL(value="module-path")
403
+ * Complexity: O(C * A) where C = CONTAINS edges, A = PASSES_ARGUMENT edges per CALL
404
+ */
405
+ private async detectCjsImports(moduleId: string): Promise<ImportInfo[]> {
406
+ const imports: ImportInfo[] = [];
407
+ const containsEdges = await this.graph.getOutgoingEdges(moduleId, ['CONTAINS']);
408
+
409
+ for (const edge of containsEdges) {
410
+ const child = await this.graph.getNode(edge.dst);
411
+ if (!child || child.type !== 'CALL') continue;
412
+ if (child.name !== 'require' && !child.name?.endsWith('.require')) continue;
413
+
414
+ // Find the first argument (module path)
415
+ const argEdges = await this.graph.getOutgoingEdges(child.id, ['PASSES_ARGUMENT']);
416
+ let source = '<unknown>';
417
+ for (const argEdge of argEdges) {
418
+ // Check metadata for index=0
419
+ const meta = argEdge.metadata;
420
+ const idx = typeof meta === 'object' && meta !== null ? (meta as Record<string, unknown>).index : undefined;
421
+ if (idx !== undefined && idx !== 0) continue;
422
+
423
+ const argNode = await this.graph.getNode(argEdge.dst);
424
+ if (argNode) {
425
+ source = (argNode.value as string) ?? argNode.name ?? '<unknown>';
426
+ break;
427
+ }
428
+ }
429
+
430
+ imports.push({ id: child.id, source, specifiers: [] });
431
+ }
432
+
433
+ return imports;
434
+ }
435
+
436
+ /**
437
+ * Detect CommonJS module.exports/exports assignments as exports.
438
+ * Pattern: PROPERTY_ACCESS with name containing "exports"
439
+ * Complexity: O(C) where C = CONTAINS edges from MODULE
440
+ */
441
+ private async detectCjsExports(moduleId: string): Promise<ExportInfo[]> {
442
+ const exports: ExportInfo[] = [];
443
+ const containsEdges = await this.graph.getOutgoingEdges(moduleId, ['CONTAINS']);
444
+
445
+ for (const edge of containsEdges) {
446
+ const child = await this.graph.getNode(edge.dst);
447
+ if (!child) continue;
448
+
449
+ if (child.type === 'PROPERTY_ACCESS') {
450
+ const name = child.name ?? '';
451
+ // Match patterns like "module.exports", "exports.foo"
452
+ if (name === 'module.exports' || name === 'exports' ||
453
+ name.startsWith('exports.') || name.startsWith('module.exports.')) {
454
+ const exportName = name.includes('.exports.')
455
+ ? name.split('.exports.').pop() ?? 'default'
456
+ : 'default';
457
+ exports.push({
458
+ id: child.id,
459
+ name: exportName,
460
+ isDefault: exportName === 'default',
461
+ });
462
+ }
463
+ }
464
+ }
465
+
466
+ return exports;
467
+ }
468
+
367
469
  /**
368
470
  * Build VariableOverview from a VARIABLE or CONSTANT node.
369
471
  * Complexity: Without edges O(1), with edges O(1)