@opensip-cli/graph 0.1.9 → 0.1.11
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.
- package/README.md +4 -2
- package/dist/__tests__/cli/graph.test.d.ts.map +1 -1
- package/dist/__tests__/cli/graph.test.js +0 -1
- package/dist/__tests__/cli/graph.test.js.map +1 -1
- package/dist/__tests__/internal-surface.test.js +1 -1
- package/dist/__tests__/internal-surface.test.js.map +1 -1
- package/dist/__tests__/public-api.test.js +4 -0
- package/dist/__tests__/public-api.test.js.map +1 -1
- package/dist/__tests__/render/catalog-json.test.d.ts.map +1 -1
- package/dist/__tests__/render/catalog-json.test.js +0 -1
- package/dist/__tests__/render/catalog-json.test.js.map +1 -1
- package/dist/cli/__tests__/graph-envelope-view.test.js +9 -9
- package/dist/cli/__tests__/graph-envelope-view.test.js.map +1 -1
- package/dist/cli/__tests__/graph-runner.test.d.ts +5 -0
- package/dist/cli/__tests__/graph-runner.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-runner.test.js +100 -0
- package/dist/cli/__tests__/graph-runner.test.js.map +1 -0
- package/dist/cli/equivalence-check-command.d.ts.map +1 -1
- package/dist/cli/equivalence-check-command.js +0 -4
- package/dist/cli/equivalence-check-command.js.map +1 -1
- package/dist/cli/graph/graph-aux-command-specs.d.ts +0 -25
- package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -1
- package/dist/cli/graph/graph-aux-command-specs.js +6 -12
- package/dist/cli/graph/graph-aux-command-specs.js.map +1 -1
- package/dist/cli/graph/graph-command-spec.d.ts +3 -3
- package/dist/cli/graph/graph-command-spec.d.ts.map +1 -1
- package/dist/cli/graph/graph-command-spec.js +4 -4
- package/dist/cli/graph/graph-command-spec.js.map +1 -1
- package/dist/cli/graph-config-schema.d.ts.map +1 -1
- package/dist/cli/graph-config-schema.js +0 -1
- package/dist/cli/graph-config-schema.js.map +1 -1
- package/dist/cli/graph-config.d.ts.map +1 -1
- package/dist/cli/graph-config.js +0 -1
- package/dist/cli/graph-config.js.map +1 -1
- package/dist/cli/graph-envelope-view.d.ts +7 -36
- package/dist/cli/graph-envelope-view.d.ts.map +1 -1
- package/dist/cli/graph-envelope-view.js +6 -102
- package/dist/cli/graph-envelope-view.js.map +1 -1
- package/dist/cli/graph-modes.d.ts.map +1 -1
- package/dist/cli/graph-modes.js +0 -2
- package/dist/cli/graph-modes.js.map +1 -1
- package/dist/cli/graph-report.d.ts +4 -6
- package/dist/cli/graph-report.d.ts.map +1 -1
- package/dist/cli/graph-report.js +2 -2
- package/dist/cli/graph-report.js.map +1 -1
- package/dist/cli/graph-result-delivery.d.ts +30 -0
- package/dist/cli/graph-result-delivery.d.ts.map +1 -0
- package/dist/cli/graph-result-delivery.js +231 -0
- package/dist/cli/graph-result-delivery.js.map +1 -0
- package/dist/cli/graph-runner.d.ts +2 -83
- package/dist/cli/graph-runner.d.ts.map +1 -1
- package/dist/cli/graph-runner.js +71 -215
- package/dist/cli/graph-runner.js.map +1 -1
- package/dist/cli/graph-session-contribution.d.ts.map +1 -1
- package/dist/cli/graph-session-contribution.js +6 -2
- package/dist/cli/graph-session-contribution.js.map +1 -1
- package/dist/cli/graph-sharded-engine.d.ts.map +1 -1
- package/dist/cli/graph-sharded-engine.js +0 -1
- package/dist/cli/graph-sharded-engine.js.map +1 -1
- package/dist/cli/graph-single-run-mode.d.ts.map +1 -1
- package/dist/cli/graph-single-run-mode.js +0 -4
- package/dist/cli/graph-single-run-mode.js.map +1 -1
- package/dist/cli/graph-worker.d.ts.map +1 -1
- package/dist/cli/graph-worker.js +0 -1
- package/dist/cli/graph-worker.js.map +1 -1
- package/dist/cli/graph.d.ts +2 -22
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +3 -256
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/list-files.d.ts.map +1 -1
- package/dist/cli/list-files.js +0 -2
- package/dist/cli/list-files.js.map +1 -1
- package/dist/cli/orchestrate/cache-orchestrator.d.ts.map +1 -1
- package/dist/cli/orchestrate/cache-orchestrator.js +0 -1
- package/dist/cli/orchestrate/cache-orchestrator.js.map +1 -1
- package/dist/cli/orchestrate/flat-monorepo-strategy.js +1 -1
- package/dist/cli/orchestrate/flat-monorepo-strategy.js.map +1 -1
- package/dist/cli/orchestrate/sharded-graph.js +0 -4
- package/dist/cli/orchestrate/sharded-graph.js.map +1 -1
- package/dist/cli/orchestrate.d.ts.map +1 -1
- package/dist/cli/orchestrate.js +0 -1
- package/dist/cli/orchestrate.js.map +1 -1
- package/dist/cli/pressure-monitor.d.ts.map +1 -1
- package/dist/cli/pressure-monitor.js +0 -1
- package/dist/cli/pressure-monitor.js.map +1 -1
- package/dist/cli/workspace-runner.d.ts.map +1 -1
- package/dist/cli/workspace-runner.js +0 -1
- package/dist/cli/workspace-runner.js.map +1 -1
- package/dist/identity.d.ts +5 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +6 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -6
- package/dist/internal.js.map +1 -1
- package/dist/lang-adapter/read-source.d.ts +20 -0
- package/dist/lang-adapter/read-source.d.ts.map +1 -0
- package/dist/lang-adapter/read-source.js +49 -0
- package/dist/lang-adapter/read-source.js.map +1 -0
- package/dist/lang-adapter/read-source.test.d.ts +2 -0
- package/dist/lang-adapter/read-source.test.d.ts.map +1 -0
- package/dist/lang-adapter/read-source.test.js +41 -0
- package/dist/lang-adapter/read-source.test.js.map +1 -0
- package/dist/recipes/resolve.d.ts.map +1 -1
- package/dist/recipes/resolve.js +0 -1
- package/dist/recipes/resolve.js.map +1 -1
- package/dist/rules/define-rule.d.ts.map +1 -1
- package/dist/rules/define-rule.js +0 -3
- package/dist/rules/define-rule.js.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +8 -4
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +15 -10
|
@@ -72,7 +72,6 @@ export function createPressureMonitor(opts = {}) {
|
|
|
72
72
|
stage,
|
|
73
73
|
});
|
|
74
74
|
};
|
|
75
|
-
// @fitness-ignore-next-line throws-documentation -- closure throws MemoryPressureError when heap usage crosses the limit ratio (lastError cache or fresh evaluate()); JSDoc cannot attach to a const-arrow
|
|
76
75
|
const check = () => {
|
|
77
76
|
const tripped = lastError;
|
|
78
77
|
if (tripped instanceof MemoryPressureError)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pressure-monitor.js","sourceRoot":"","sources":["../../src/cli/pressure-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,SAAS,EAA0C,MAAM,mBAAmB,CAAC;AAEnG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC7D;QACE,SAAS,EAAE,yBAAyB;QACpC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG;QAC5B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,wFAAwF;KAC/F;CACF,CAAC;AACF,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;AAEnD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,0FAA0F;AAC1F,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IACvC,SAAS,CAAS;IAClB,UAAU,CAAS;IACnB,KAAK,CAAS;IAEvB,YACE,OAAe,EACf,OAAiE,EACjE,OAA0B;QAE1B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF;AAuBD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B,EAAE;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC;IACtD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAAC;IACvE,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAU,yBAAyB,CAAC,KAAK,IAAI,CAAC;IAC5E,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,IAAI,SAAS,GAA+B,IAAI,CAAC;IAEjD,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,QAAQ;YAAE,OAAO;QACrB,MAAM,KAAK,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC5D,IAAI,KAAK,GAAG,SAAS;YAAE,OAAO;QAC9B,SAAS,GAAG,IAAI,mBAAmB,CACjC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC,EAClE;YACE,SAAS,EAAE,KAAK,CAAC,eAAe;YAChC,UAAU,EAAE,KAAK,CAAC,eAAe;YACjC,KAAK;SACN,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"pressure-monitor.js","sourceRoot":"","sources":["../../src/cli/pressure-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-runner.d.ts","sourceRoot":"","sources":["../../src/cli/workspace-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace-runner.d.ts","sourceRoot":"","sources":["../../src/cli/workspace-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,SAAS,eAAe,EAAE,GACnC,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CASnC;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CA0ClC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file performance-anti-patterns -- discoverPolyglotUnits iterates the small fixed adapters list (5 languages); each adapter's discoverWorkspaceUnits performs I/O whose results depend on the per-adapter cwd state, so sequential await is intentional to keep error context attributable per adapter.
|
|
2
1
|
/**
|
|
3
2
|
* `graph --workspace` parallel runner.
|
|
4
3
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-runner.js","sourceRoot":"","sources":["../../src/cli/workspace-runner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"workspace-runner.js","sourceRoot":"","sources":["../../src/cli/workspace-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,cAAc,EAAE,YAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAsB,CAAC;AACvD,eAAO,MAAM,gBAAgB,QAAsC,CAAC"}
|
package/dist/identity.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,IAAI,OAAO,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @opensip-cli/graph — public barrel.
|
|
3
3
|
*
|
|
4
|
-
* The graph tool implements a strict
|
|
5
|
-
*
|
|
4
|
+
* The graph tool implements a strict seven-stage pipeline (the canonical
|
|
5
|
+
* `GRAPH_STAGES` execution order):
|
|
6
|
+
* discover → parse → walk → resolve → index → features → rules.
|
|
6
7
|
*/
|
|
7
8
|
import './scope-augmentation.js';
|
|
8
9
|
export type { GraphSubscope } from './scope-augmentation.js';
|
|
@@ -14,6 +15,7 @@ export type { GraphLanguageAdapter, DiscoverInput, DiscoverOutput, ParseInput, P
|
|
|
14
15
|
export type { CallConfidence as AdapterCallConfidence } from './types.js';
|
|
15
16
|
export { pickAdapter, createAdapterRegistry, currentAdapterRegistry, GraphAdapterRegistry, } from './lang-adapter/registry.js';
|
|
16
17
|
export { GraphAdapterSelector } from './lang-adapter/selector.js';
|
|
18
|
+
export { readSourceFileGuarded, MAX_SOURCE_FILE_BYTES } from './lang-adapter/read-source.js';
|
|
17
19
|
export { truncateForCallEdge, CALL_EDGE_TEXT_MAX, CREATION_EDGE_PREFIX, CREATION_EDGE_TEXT_MAX, appendEdge, createMutableStats, pushCreationEdge, } from './lang-adapter/edge-helpers.js';
|
|
18
20
|
export type { EdgePosition, EdgeSink, MutableStats } from './lang-adapter/edge-helpers.js';
|
|
19
21
|
export { normalizeWhitespace, hashBody } from './lang-adapter/body-digest.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAgB5D,YAAY,EACV,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,KAAK,EACL,OAAO,EACP,IAAI,EACJ,SAAS,EACT,eAAe,EACf,eAAe,EACf,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AA0BpB,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMlE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AASxC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAS3F,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9E,YAAY,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAUhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// @fitness-ignore-file module-coupling-fan-out -- Public barrel: re-exports the surface of each pipeline stage; fan-out is the contract of this file
|
|
2
1
|
/**
|
|
3
2
|
* @opensip-cli/graph — public barrel.
|
|
4
3
|
*
|
|
5
|
-
* The graph tool implements a strict
|
|
6
|
-
*
|
|
4
|
+
* The graph tool implements a strict seven-stage pipeline (the canonical
|
|
5
|
+
* `GRAPH_STAGES` execution order):
|
|
6
|
+
* discover → parse → walk → resolve → index → features → rules.
|
|
7
7
|
*/
|
|
8
8
|
// Side-effect import: surfaces the `scope.graph` augmentation on
|
|
9
9
|
// @opensip-cli/core's RunScope interface (D7 — tool subscopes via
|
|
@@ -20,6 +20,12 @@ export { GRAPH_CONTRACT_VERSION } from './tool.js';
|
|
|
20
20
|
export { GRAPH_ENV_SPECS } from './cli/pressure-monitor.js';
|
|
21
21
|
export { pickAdapter, createAdapterRegistry, currentAdapterRegistry, GraphAdapterRegistry, } from './lang-adapter/registry.js';
|
|
22
22
|
export { GraphAdapterSelector } from './lang-adapter/selector.js';
|
|
23
|
+
// Size-guarded source-file reader for adapter parse steps (per-file 10 MB cap,
|
|
24
|
+
// shared with the fitness engine's FileAccessor policy). Adapters use this
|
|
25
|
+
// instead of a raw `readFileSync` so one pathological source file can't spike
|
|
26
|
+
// graph memory; oversize throws and the adapter's per-file catch records a
|
|
27
|
+
// ParseError + continues.
|
|
28
|
+
export { readSourceFileGuarded, MAX_SOURCE_FILE_BYTES } from './lang-adapter/read-source.js';
|
|
23
29
|
export { truncateForCallEdge, CALL_EDGE_TEXT_MAX, CREATION_EDGE_PREFIX, CREATION_EDGE_TEXT_MAX, appendEdge, createMutableStats, pushCreationEdge, } from './lang-adapter/edge-helpers.js';
|
|
24
30
|
// ── Shared body-digest primitives ─────────────────────────────────
|
|
25
31
|
//
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,iEAAiE;AACjE,kEAAkE;AAClE,wBAAwB;AACxB,OAAO,yBAAyB,CAAC;AAGjC,mEAAmE;AACnE,qEAAqE;AACrE,6DAA6D;AAC7D,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,oEAAoE;AACpE,6EAA6E;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAsF5D,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,+EAA+E;AAC/E,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,0BAA0B;AAC1B,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAWxC,qEAAqE;AACrE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,wEAAwE;AACxE,oEAAoE;AACpE,oEAAoE;AACpE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9E,+DAA+D;AAC/D,kEAAkE;AAClE,mEAAmE;AACnE,qEAAqE;AACrE,gBAAgB;AAEhB,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,sEAAsE;AACtE,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,uEAAuE;AACvE,4EAA4E;AAC5E,0EAA0E;AAC1E,wEAAwE;AACxE,0EAA0E;AAC1E,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEnF,6EAA6E;AAC7E,qEAAqE;AACrE,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,sEAAsE;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/internal.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export { runGraph, GRAPH_STAGES } from './cli/orchestrate.js';
|
|
|
18
18
|
export type { GraphStage, GraphProgressEvent, GraphProgressCallback, RunGraphInput, RunGraphResult, } from './cli/orchestrate.js';
|
|
19
19
|
export { executeGraph, buildUnifiedReportLines } from './cli/graph.js';
|
|
20
20
|
export type { UnifiedReportInput } from './cli/graph.js';
|
|
21
|
-
export {
|
|
21
|
+
export { envelopeToLiveRunTableRows } from './cli/graph-envelope-view.js';
|
|
22
22
|
export { CatalogRepo } from './persistence/catalog-repo.js';
|
|
23
23
|
export { MemoryPressureError } from './cli/pressure-monitor.js';
|
|
24
24
|
export { HEAP_TARGETS, decideHeapTargetMb, systemHasMemoryFor, runHeapPreflight, totalSystemMemoryMb, } from './cli/heap-preflight.js';
|
package/dist/internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAQ1E,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC"}
|
package/dist/internal.js
CHANGED
|
@@ -18,7 +18,7 @@ export { duplicatedFunctionBodyRule } from './rules/duplicated-function-body.js'
|
|
|
18
18
|
export { orphanSubtreeRule } from './rules/orphan-subtree.js';
|
|
19
19
|
// ── Orchestration / CLI-handler surface (ADR-0009, Finding 3) ──────
|
|
20
20
|
//
|
|
21
|
-
// These drive the
|
|
21
|
+
// These drive the seven-stage pipeline and the `graph` CLI command. The
|
|
22
22
|
// production path reaches them via `graphTool.commandSpecs` (host-mounted,
|
|
23
23
|
// and the parent repo via the `catalog-export` subcommand), never by importing these
|
|
24
24
|
// symbols — so they are private. Only the cross-package adapter and CLI
|
|
@@ -26,11 +26,9 @@ export { orphanSubtreeRule } from './rules/orphan-subtree.js';
|
|
|
26
26
|
// end without going through Commander.
|
|
27
27
|
export { runGraph, GRAPH_STAGES } from './cli/orchestrate.js';
|
|
28
28
|
export { executeGraph, buildUnifiedReportLines } from './cli/graph.js';
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
// it renders byte-identically to the static `envelopeToTableView` table.
|
|
33
|
-
export { graphDoneTableNode } from './cli/graph-envelope-view.js';
|
|
29
|
+
// Graph envelope → live-run table rows. Internal — exported for the host-side
|
|
30
|
+
// live/static parity proof (`graph-live-static-parity.test.tsx`).
|
|
31
|
+
export { envelopeToLiveRunTableRows } from './cli/graph-envelope-view.js';
|
|
34
32
|
// `CatalogRepo` — the engine's SQLite/Drizzle catalog persistence repo. Used
|
|
35
33
|
// internally by graph (orchestrator cache, `tool.ts` report contribution,
|
|
36
34
|
// `lookup`/`catalog-export`). It was briefly on the public barrel for fitness's
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,yEAAyE;AACzE,+EAA+E;AAC/E,8DAA8D;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,sEAAsE;AACtE,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,yEAAyE;AACzE,+EAA+E;AAC/E,8DAA8D;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,sEAAsE;AACtE,EAAE;AACF,wEAAwE;AACxE,2EAA2E;AAC3E,qFAAqF;AACrF,wEAAwE;AACxE,wEAAwE;AACxE,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQ9D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,8EAA8E;AAC9E,kEAAkE;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,6EAA6E;AAC7E,0EAA0E;AAC1E,gFAAgF;AAChF,0EAA0E;AAC1E,8EAA8E;AAC9E,kFAAkF;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maximum bytes a single source file may occupy when read for parsing (10 MB).
|
|
3
|
+
* Mirrors the fitness engine's `FileAccessor` `FILE_TOO_LARGE` ceiling.
|
|
4
|
+
*/
|
|
5
|
+
export declare const MAX_SOURCE_FILE_BYTES = 10000000;
|
|
6
|
+
/**
|
|
7
|
+
* Read a source file as UTF-8 with a per-file size guard. Throws if the file
|
|
8
|
+
* exceeds `maxBytes` (default {@link MAX_SOURCE_FILE_BYTES}) — by `statSync`
|
|
9
|
+
* size (checked before the read, so an oversized file is never loaded) or by
|
|
10
|
+
* post-read length (closing the stat→read TOCTOU window). A missing/unreadable
|
|
11
|
+
* file surfaces the underlying `statSync` error, exactly as the prior direct
|
|
12
|
+
* `readFileSync` surfaced its own.
|
|
13
|
+
*
|
|
14
|
+
* @throws {Error} When the file exceeds `maxBytes` (by `statSync` size or
|
|
15
|
+
* post-read length), or when the underlying `statSync`/`readFileSync` fails
|
|
16
|
+
* (e.g. a missing or unreadable file). Adapter parse loops catch this per file
|
|
17
|
+
* and record a `ParseError`, so the throw is non-fatal.
|
|
18
|
+
*/
|
|
19
|
+
export declare function readSourceFileGuarded(path: string, maxBytes?: number): string;
|
|
20
|
+
//# sourceMappingURL=read-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-source.d.ts","sourceRoot":"","sources":["../../src/lang-adapter/read-source.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,WAAa,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAA8B,GACvC,MAAM,CAYR"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// @fitness-ignore-file unbounded-memory -- readSourceFileGuarded IS the size-validating wrapper: a statSync pre-check rejects oversized files BEFORE the read, and a post-read length guard closes the stat→read TOCTOU window; both throw at the 10MB cap (mirrors the fitness engine's FileAccessor).
|
|
2
|
+
/**
|
|
3
|
+
* read-source — the single size-guarded source-file reader for graph language
|
|
4
|
+
* adapters.
|
|
5
|
+
*
|
|
6
|
+
* Adapter parse steps read project SOURCE files into memory before handing them
|
|
7
|
+
* to a parser. Reading a whole file is unavoidable, but an *unbounded* read lets
|
|
8
|
+
* one pathological file (a multi-hundred-MB generated/minified bundle) spike
|
|
9
|
+
* graph memory. This wrapper caps a single source file at
|
|
10
|
+
* {@link MAX_SOURCE_FILE_BYTES} (10 MB — the same ceiling the fitness engine's
|
|
11
|
+
* `FileAccessor` enforces, so the two tools share one source-size policy), using
|
|
12
|
+
* a `statSync` pre-check so an oversized file is rejected WITHOUT being loaded.
|
|
13
|
+
*
|
|
14
|
+
* On oversize it THROWS. Adapter parse loops already wrap each per-file read in a
|
|
15
|
+
* try/catch that records a `ParseError` and continues, so an oversized file is
|
|
16
|
+
* skipped with a recorded diagnostic — never fatal, consistent with how a
|
|
17
|
+
* read/parse failure on any single file is already handled.
|
|
18
|
+
*/
|
|
19
|
+
import { readFileSync, statSync } from 'node:fs';
|
|
20
|
+
/**
|
|
21
|
+
* Maximum bytes a single source file may occupy when read for parsing (10 MB).
|
|
22
|
+
* Mirrors the fitness engine's `FileAccessor` `FILE_TOO_LARGE` ceiling.
|
|
23
|
+
*/
|
|
24
|
+
export const MAX_SOURCE_FILE_BYTES = 10_000_000;
|
|
25
|
+
/**
|
|
26
|
+
* Read a source file as UTF-8 with a per-file size guard. Throws if the file
|
|
27
|
+
* exceeds `maxBytes` (default {@link MAX_SOURCE_FILE_BYTES}) — by `statSync`
|
|
28
|
+
* size (checked before the read, so an oversized file is never loaded) or by
|
|
29
|
+
* post-read length (closing the stat→read TOCTOU window). A missing/unreadable
|
|
30
|
+
* file surfaces the underlying `statSync` error, exactly as the prior direct
|
|
31
|
+
* `readFileSync` surfaced its own.
|
|
32
|
+
*
|
|
33
|
+
* @throws {Error} When the file exceeds `maxBytes` (by `statSync` size or
|
|
34
|
+
* post-read length), or when the underlying `statSync`/`readFileSync` fails
|
|
35
|
+
* (e.g. a missing or unreadable file). Adapter parse loops catch this per file
|
|
36
|
+
* and record a `ParseError`, so the throw is non-fatal.
|
|
37
|
+
*/
|
|
38
|
+
export function readSourceFileGuarded(path, maxBytes = MAX_SOURCE_FILE_BYTES) {
|
|
39
|
+
const { size } = statSync(path);
|
|
40
|
+
if (size > maxBytes) {
|
|
41
|
+
throw new Error(`source file exceeds ${maxBytes}-byte size guard (${size} bytes): ${path}`);
|
|
42
|
+
}
|
|
43
|
+
const text = readFileSync(path, 'utf8');
|
|
44
|
+
if (text.length > maxBytes) {
|
|
45
|
+
throw new Error(`source file exceeds ${maxBytes}-byte size guard after read (${text.length} bytes): ${path}`);
|
|
46
|
+
}
|
|
47
|
+
return text;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=read-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-source.js","sourceRoot":"","sources":["../../src/lang-adapter/read-source.ts"],"names":[],"mappings":"AAAA,wSAAwS;AACxS;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,WAAmB,qBAAqB;IAExC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,qBAAqB,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,gCAAgC,IAAI,CAAC,MAAM,YAAY,IAAI,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-source.test.d.ts","sourceRoot":"","sources":["../../src/lang-adapter/read-source.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* read-source — per-file source size guard for adapter parse steps.
|
|
3
|
+
*
|
|
4
|
+
* Proves the guard rejects an oversized file (the unbounded-memory hardening)
|
|
5
|
+
* and otherwise behaves like a plain UTF-8 read, so the adapters' existing
|
|
6
|
+
* per-file try/catch records a ParseError + continues on the throw.
|
|
7
|
+
*/
|
|
8
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
9
|
+
import { tmpdir } from 'node:os';
|
|
10
|
+
import { join } from 'node:path';
|
|
11
|
+
import { afterEach, describe, expect, it } from 'vitest';
|
|
12
|
+
import { MAX_SOURCE_FILE_BYTES, readSourceFileGuarded } from './read-source.js';
|
|
13
|
+
describe('readSourceFileGuarded', () => {
|
|
14
|
+
let dir;
|
|
15
|
+
afterEach(() => {
|
|
16
|
+
if (dir !== undefined)
|
|
17
|
+
rmSync(dir, { recursive: true, force: true });
|
|
18
|
+
dir = undefined;
|
|
19
|
+
});
|
|
20
|
+
function tmpFile(name, content) {
|
|
21
|
+
dir = mkdtempSync(join(tmpdir(), 'read-source-'));
|
|
22
|
+
const filePath = join(dir, name);
|
|
23
|
+
writeFileSync(filePath, content, 'utf8');
|
|
24
|
+
return filePath;
|
|
25
|
+
}
|
|
26
|
+
it('reads a normal source file as UTF-8', () => {
|
|
27
|
+
const filePath = tmpFile('a.ts', 'export const x = 1;\n');
|
|
28
|
+
expect(readSourceFileGuarded(filePath)).toBe('export const x = 1;\n');
|
|
29
|
+
});
|
|
30
|
+
it('throws (does not load) when the file exceeds the byte guard', () => {
|
|
31
|
+
const filePath = tmpFile('big.ts', 'x'.repeat(64));
|
|
32
|
+
expect(() => readSourceFileGuarded(filePath, 16)).toThrow(/size guard/);
|
|
33
|
+
});
|
|
34
|
+
it('defaults to the shared 10MB ceiling', () => {
|
|
35
|
+
expect(MAX_SOURCE_FILE_BYTES).toBe(10_000_000);
|
|
36
|
+
});
|
|
37
|
+
it('surfaces a stat error for a missing file (so the adapter catch records a ParseError)', () => {
|
|
38
|
+
expect(() => readSourceFileGuarded(join(tmpdir(), 'opensip-missing-source-xyz.ts'))).toThrow();
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=read-source.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-source.test.js","sourceRoot":"","sources":["../../src/lang-adapter/read-source.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,GAAuB,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,GAAG,GAAG,SAAS,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe;QAC5C,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC1D,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/recipes/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWxC;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,SAAyB,EAC7B,IAAI,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,SAAS,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/recipes/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWxC;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,SAAyB,EAC7B,IAAI,GAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,SAAS,IAAI,EAAE,CAyCjB"}
|
package/dist/recipes/resolve.js
CHANGED
|
@@ -43,7 +43,6 @@ export function resolveRecipeToRules(name = BUILTIN_DEFAULT_RECIPE, opts = {}) {
|
|
|
43
43
|
recipe = recipes.loadRecipe(BUILTIN_DEFAULT_RECIPE);
|
|
44
44
|
}
|
|
45
45
|
if (!recipe) {
|
|
46
|
-
// @fitness-ignore-next-line result-pattern-consistency -- user config error surfaced as a thrown ConfigurationError, mapped to an exit code by handleGraphError
|
|
47
46
|
throw new ConfigurationError(`Unknown graph recipe '${name}'. Run 'opensip graph-recipes' to list available recipes.`, { code: UNKNOWN_RECIPE_CODE });
|
|
48
47
|
}
|
|
49
48
|
const views = currentRules().map((rule) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/recipes/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,eAAe,EACf,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AASjE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAI,GAAG,sBAAsB,EAC7B,OAAwC,EAAE;IAE1C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,qCAAqC;YAC1C,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,sBAAsB;YAChC,GAAG,EAAE,4BAA4B,IAAI,uBAAuB,sBAAsB,UAAU,IAAI,yFAAyF;SAC1L,CAAC,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/recipes/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,eAAe,EACf,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AASjE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAI,GAAG,sBAAsB,EAC7B,OAAwC,EAAE;IAE1C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,qCAAqC;YAC1C,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,sBAAsB;YAChC,GAAG,EAAE,4BAA4B,IAAI,uBAAuB,sBAAsB,UAAU,IAAI,yFAAyF;SAC1L,CAAC,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAC1B,yBAAyB,IAAI,2DAA2D,EACxF,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAe,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE,EAAE,IAAI,CAAC,IAAI;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;KACL,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,eAAe,CAAyB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE;QAC5E,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KAC5B,CAAC,CAAC;IAEH,sEAAsE;IACtE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,8CAA8C;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACtC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,IAAI,KAAK;YAAE,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-rule.d.ts","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,IAAI,EACJ,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;sEACkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,MAAM,EAAE,CAAC;CAC7D;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"define-rule.d.ts","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,IAAI,EACJ,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;sEACkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,MAAM,EAAE,CAAC;CAC7D;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA+CzD"}
|
|
@@ -34,19 +34,16 @@ export function defineRule(config) {
|
|
|
34
34
|
if (typeof config.slug !== 'string' ||
|
|
35
35
|
config.slug.length === 0 ||
|
|
36
36
|
!config.slug.startsWith('graph:')) {
|
|
37
|
-
// @fitness-ignore-next-line result-pattern-consistency -- authoring-time programmer error: invalid rule metadata
|
|
38
37
|
throw new ValidationError(`defineRule: 'slug' must be a non-empty string starting with 'graph:' (got ${JSON.stringify(config.slug)})`, {
|
|
39
38
|
code: VALIDATION_CODE,
|
|
40
39
|
});
|
|
41
40
|
}
|
|
42
41
|
if (config.defaultSeverity !== 'error' && config.defaultSeverity !== 'warning') {
|
|
43
|
-
// @fitness-ignore-next-line result-pattern-consistency -- authoring-time programmer error: invalid rule metadata
|
|
44
42
|
throw new ValidationError(`defineRule: 'defaultSeverity' must be 'error' or 'warning' (got ${JSON.stringify(config.defaultSeverity)})`, {
|
|
45
43
|
code: VALIDATION_CODE,
|
|
46
44
|
});
|
|
47
45
|
}
|
|
48
46
|
if (typeof config.evaluate !== 'function') {
|
|
49
|
-
// @fitness-ignore-next-line result-pattern-consistency -- authoring-time programmer error: invalid rule metadata
|
|
50
47
|
throw new ValidationError(`defineRule: 'evaluate' must be a function for rule '${config.slug}'`, {
|
|
51
48
|
code: VALIDATION_CODE,
|
|
52
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-rule.js","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAiDpD,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"define-rule.js","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAiDpD,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,6EAA6E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAC3G;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/E,MAAM,IAAI,eAAe,CACvB,mEAAmE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAC5G;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CACvB,uDAAuD,MAAM,CAAC,IAAI,GAAG,EACrE;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAS;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,QAAQ,CACN,OAAgB,EAChB,OAAgB,EAChB,UAAuB,EACvB,KAAiB,EACjB,QAAuB;YAEvB,uEAAuE;YACvE,0EAA0E;YAC1E,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AA+BH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAuB,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAmG9E;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,eAAO,MAAM,eAAe,yCAAyC,CAAC;AAEtE,eAAO,MAAM,SAAS,EAAE,IAuBtB,CAAC"}
|
package/dist/tool.js
CHANGED
|
@@ -31,6 +31,7 @@ import { graphCommandSpec } from './cli/graph/graph-command-spec.js';
|
|
|
31
31
|
import { graphConfigDeclaration } from './cli/graph-config-schema.js';
|
|
32
32
|
import { graphRunWorkerCommandSpec } from './cli/graph-worker.js';
|
|
33
33
|
import { buildGraphRecipeCatalog, buildGraphRuleCatalog } from './cli/report-data.js';
|
|
34
|
+
import { GRAPH_IDENTITY } from './identity.js';
|
|
34
35
|
import { createAdapterRegistry, currentAdapterRegistry } from './lang-adapter/registry.js';
|
|
35
36
|
import { CatalogRepo } from './persistence/catalog-repo.js';
|
|
36
37
|
import { graphReplayFromSession } from './persistence/session-replay.js';
|
|
@@ -137,9 +138,9 @@ function collectReportData(scope) {
|
|
|
137
138
|
export const GRAPH_CONTRACT_VERSION = '1.0.0';
|
|
138
139
|
export const GRAPH_STABLE_ID = '3873f1c2-02a9-4719-930a-bca74b62b706';
|
|
139
140
|
export const graphTool = defineTool({
|
|
141
|
+
identity: GRAPH_IDENTITY,
|
|
140
142
|
metadata: {
|
|
141
|
-
id: GRAPH_STABLE_ID,
|
|
142
|
-
name: 'graph', // human key (previously the value in `id`)
|
|
143
|
+
id: GRAPH_STABLE_ID,
|
|
143
144
|
version: readPackageVersion(import.meta.url),
|
|
144
145
|
description: 'Static call-graph + dead-end analysis',
|
|
145
146
|
},
|
|
@@ -149,10 +150,13 @@ export const graphTool = defineTool({
|
|
|
149
150
|
contributeScope: graphScope.contributeScope,
|
|
150
151
|
collectReportData,
|
|
151
152
|
sessionReplay: {
|
|
152
|
-
tool: 'graph',
|
|
153
153
|
replaySession: graphReplayFromSession,
|
|
154
154
|
},
|
|
155
|
-
config:
|
|
155
|
+
config: {
|
|
156
|
+
schema: graphConfigDeclaration.schema,
|
|
157
|
+
defaults: graphConfigDeclaration.defaults,
|
|
158
|
+
env: graphConfigDeclaration.env,
|
|
159
|
+
},
|
|
156
160
|
capabilityRegistrars: { 'graph-adapter': registerGraphAdapter },
|
|
157
161
|
fingerprintStrategy: graphFingerprintStrategy,
|
|
158
162
|
},
|
package/dist/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,iUAAiU;AACjU;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5F,mEAAmE;AACnE,sEAAsE;AACtE,iEAAiE;AACjE,wEAAwE;AACxE,QAAQ;AACR,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,gCAAgC,EAChC,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,iEAAiE;AACjE,mDAAmD;AACnD,OAAO,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface RuleHints {
|
|
|
23
23
|
readonly throwSyntaxRegex?: RegExp;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
* @fileoverview Core type shapes for the graph tool's
|
|
26
|
+
* @fileoverview Core type shapes for the graph tool's seven-stage pipeline.
|
|
27
27
|
*
|
|
28
28
|
* Stage 1 (inventory) emits a Catalog of FunctionOccurrence entries with
|
|
29
29
|
* empty `calls`. Stage 2 (edges) populates `calls` with CallEdge entries
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensip-cli/graph",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Static call-graph + dead-end analysis (seven-stage pipeline)",
|
|
6
6
|
"keywords": [
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"main": "./dist/index.js",
|
|
26
26
|
"types": "./dist/index.d.ts",
|
|
27
27
|
"exports": {
|
|
28
|
-
".": "./dist/index.js"
|
|
28
|
+
".": "./dist/index.js",
|
|
29
|
+
"./internal": "./dist/internal.js"
|
|
29
30
|
},
|
|
30
31
|
"files": [
|
|
31
32
|
"dist",
|
|
@@ -35,12 +36,16 @@
|
|
|
35
36
|
"opensipTools": {
|
|
36
37
|
"kind": "tool",
|
|
37
38
|
"id": "graph",
|
|
39
|
+
"identity": {
|
|
40
|
+
"name": "graph"
|
|
41
|
+
},
|
|
38
42
|
"stableId": "3873f1c2-02a9-4719-930a-bca74b62b706",
|
|
39
43
|
"apiVersion": 1,
|
|
40
44
|
"commands": [
|
|
41
45
|
{
|
|
42
46
|
"name": "graph",
|
|
43
47
|
"description": "Run static call-graph analysis (rules, entry points, catalog summary in one report)",
|
|
48
|
+
"aliases": [],
|
|
44
49
|
"commonFlags": [
|
|
45
50
|
"cwd",
|
|
46
51
|
"json",
|
|
@@ -372,22 +377,22 @@
|
|
|
372
377
|
"commander": "^15.0.0",
|
|
373
378
|
"drizzle-orm": "^0.45.2",
|
|
374
379
|
"glob": "^13.0.0",
|
|
375
|
-
"ink": "^7.0.5",
|
|
376
380
|
"react": "^19.2.7",
|
|
377
381
|
"zod": "^4.4.3",
|
|
378
|
-
"@opensip-cli/cli-
|
|
379
|
-
"@opensip-cli/
|
|
380
|
-
"@opensip-cli/
|
|
381
|
-
"@opensip-cli/
|
|
382
|
-
"@opensip-cli/
|
|
383
|
-
"@opensip-cli/session-store": "0.1.
|
|
382
|
+
"@opensip-cli/cli-live": "0.1.11",
|
|
383
|
+
"@opensip-cli/contracts": "0.1.11",
|
|
384
|
+
"@opensip-cli/config": "0.1.11",
|
|
385
|
+
"@opensip-cli/cli-ui": "0.1.11",
|
|
386
|
+
"@opensip-cli/core": "0.1.11",
|
|
387
|
+
"@opensip-cli/session-store": "0.1.11",
|
|
388
|
+
"@opensip-cli/datastore": "0.1.11"
|
|
384
389
|
},
|
|
385
390
|
"devDependencies": {
|
|
386
391
|
"@types/node": "^24.13.2",
|
|
387
392
|
"@types/react": "^19.2.17",
|
|
388
393
|
"typescript": "~6.0.3",
|
|
389
394
|
"vitest": "^4.1.8",
|
|
390
|
-
"@opensip-cli/output": "0.1.
|
|
395
|
+
"@opensip-cli/output": "0.1.11"
|
|
391
396
|
},
|
|
392
397
|
"scripts": {
|
|
393
398
|
"build": "tsc",
|