@opensip-cli/graph 0.1.11 → 0.1.13
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 +3 -3
- package/dist/__tests__/baseline-plane.test.js +8 -3
- package/dist/__tests__/baseline-plane.test.js.map +1 -1
- package/dist/__tests__/cache/engine-version.test.js +4 -4
- package/dist/__tests__/cache/engine-version.test.js.map +1 -1
- package/dist/__tests__/cli/graph-execute.test.js +25 -12
- package/dist/__tests__/cli/graph-execute.test.js.map +1 -1
- package/dist/__tests__/cli/graph.test.js +36 -21
- package/dist/__tests__/cli/graph.test.js.map +1 -1
- package/dist/__tests__/cli/language-mismatch.test.js +7 -2
- package/dist/__tests__/cli/language-mismatch.test.js.map +1 -1
- package/dist/__tests__/cli/lookup.test.js +32 -29
- package/dist/__tests__/cli/lookup.test.js.map +1 -1
- package/dist/__tests__/cli/session-contract.test.js +5 -1
- package/dist/__tests__/cli/session-contract.test.js.map +1 -1
- package/dist/__tests__/cli/symbol-index.test.js +9 -2
- package/dist/__tests__/cli/symbol-index.test.js.map +1 -1
- package/dist/__tests__/cli/tool-show-mode.test.js +7 -1
- package/dist/__tests__/cli/tool-show-mode.test.js.map +1 -1
- package/dist/__tests__/public-api.test.js +10 -0
- package/dist/__tests__/public-api.test.js.map +1 -1
- package/dist/__tests__/report-failure-mock.d.ts +8 -0
- package/dist/__tests__/report-failure-mock.d.ts.map +1 -0
- package/dist/__tests__/report-failure-mock.js +19 -0
- package/dist/__tests__/report-failure-mock.js.map +1 -0
- package/dist/__tests__/rules/registry.test.js +1 -0
- package/dist/__tests__/rules/registry.test.js.map +1 -1
- package/dist/__tests__/tool-branches.test.js +9 -2
- package/dist/__tests__/tool-branches.test.js.map +1 -1
- package/dist/__tests__/tool-register.test.js +26 -15
- package/dist/__tests__/tool-register.test.js.map +1 -1
- package/dist/baseline-strategy.d.ts +1 -2
- package/dist/baseline-strategy.d.ts.map +1 -1
- package/dist/baseline-strategy.js +6 -1
- package/dist/baseline-strategy.js.map +1 -1
- package/dist/cache/engine-version.d.ts.map +1 -1
- package/dist/cache/engine-version.js +5 -1
- package/dist/cache/engine-version.js.map +1 -1
- package/dist/cli/__tests__/dispatch-envelope.test.js +5 -1
- package/dist/cli/__tests__/dispatch-envelope.test.js.map +1 -1
- package/dist/cli/__tests__/dispatch-suppression-root.test.js +1 -0
- package/dist/cli/__tests__/dispatch-suppression-root.test.js.map +1 -1
- package/dist/cli/__tests__/equivalence-diagnostic.test.d.ts +7 -0
- package/dist/cli/__tests__/equivalence-diagnostic.test.d.ts.map +1 -0
- package/dist/cli/__tests__/equivalence-diagnostic.test.js +136 -0
- package/dist/cli/__tests__/equivalence-diagnostic.test.js.map +1 -0
- package/dist/cli/__tests__/graph-gate-mode.test.js +6 -0
- package/dist/cli/__tests__/graph-gate-mode.test.js.map +1 -1
- package/dist/cli/__tests__/graph-recipes.test.js +2 -2
- package/dist/cli/__tests__/graph-recipes.test.js.map +1 -1
- package/dist/cli/__tests__/list-files.test.js +45 -12
- package/dist/cli/__tests__/list-files.test.js.map +1 -1
- package/dist/cli/__tests__/live-suppression-parity.test.js +5 -1
- package/dist/cli/__tests__/live-suppression-parity.test.js.map +1 -1
- package/dist/cli/__tests__/lookup-result.test.d.ts +2 -0
- package/dist/cli/__tests__/lookup-result.test.d.ts.map +1 -0
- package/dist/cli/__tests__/lookup-result.test.js +119 -0
- package/dist/cli/__tests__/lookup-result.test.js.map +1 -0
- package/dist/cli/__tests__/shard-worker.test.js +2 -0
- package/dist/cli/__tests__/shard-worker.test.js.map +1 -1
- package/dist/cli/detect.d.ts.map +1 -1
- package/dist/cli/detect.js +4 -3
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/equivalence-check-command.d.ts.map +1 -1
- package/dist/cli/equivalence-check-command.js +64 -9
- package/dist/cli/equivalence-check-command.js.map +1 -1
- package/dist/cli/equivalence-diagnostic.d.ts +100 -0
- package/dist/cli/equivalence-diagnostic.d.ts.map +1 -0
- package/dist/cli/equivalence-diagnostic.js +138 -0
- package/dist/cli/equivalence-diagnostic.js.map +1 -0
- package/dist/cli/graph/graph-aux-command-specs.d.ts +2 -2
- package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -1
- package/dist/cli/graph/graph-aux-command-specs.js +85 -51
- package/dist/cli/graph/graph-aux-command-specs.js.map +1 -1
- package/dist/cli/graph/graph-command-spec.d.ts.map +1 -1
- package/dist/cli/graph/graph-command-spec.js +3 -0
- package/dist/cli/graph/graph-command-spec.js.map +1 -1
- package/dist/cli/graph-config-schema.d.ts +3 -0
- package/dist/cli/graph-config-schema.d.ts.map +1 -1
- package/dist/cli/graph-config-schema.js +11 -0
- 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 +9 -12
- package/dist/cli/graph-config.js.map +1 -1
- package/dist/cli/graph-envelope-view.d.ts.map +1 -1
- package/dist/cli/graph-envelope-view.js +1 -0
- package/dist/cli/graph-envelope-view.js.map +1 -1
- package/dist/cli/graph-modes.d.ts +5 -4
- package/dist/cli/graph-modes.d.ts.map +1 -1
- package/dist/cli/graph-modes.js +15 -18
- package/dist/cli/graph-modes.js.map +1 -1
- package/dist/cli/graph-recipes.d.ts.map +1 -1
- package/dist/cli/graph-recipes.js +12 -5
- package/dist/cli/graph-recipes.js.map +1 -1
- package/dist/cli/graph-result-delivery.d.ts.map +1 -1
- package/dist/cli/graph-result-delivery.js +11 -10
- package/dist/cli/graph-result-delivery.js.map +1 -1
- package/dist/cli/graph-single-run-mode.d.ts.map +1 -1
- package/dist/cli/graph-single-run-mode.js +3 -2
- 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 +9 -2
- package/dist/cli/graph-worker.js.map +1 -1
- package/dist/cli/graph-workspace-mode.d.ts.map +1 -1
- package/dist/cli/graph-workspace-mode.js +3 -2
- package/dist/cli/graph-workspace-mode.js.map +1 -1
- package/dist/cli/graph.d.ts +2 -2
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +26 -28
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/heap-preflight.d.ts.map +1 -1
- package/dist/cli/heap-preflight.js +6 -5
- package/dist/cli/heap-preflight.js.map +1 -1
- package/dist/cli/list-files.d.ts.map +1 -1
- package/dist/cli/list-files.js +9 -4
- package/dist/cli/list-files.js.map +1 -1
- package/dist/cli/lookup-result.d.ts +4 -0
- package/dist/cli/lookup-result.d.ts.map +1 -0
- package/dist/cli/lookup-result.js +44 -0
- package/dist/cli/lookup-result.js.map +1 -0
- package/dist/cli/lookup.d.ts +12 -1
- package/dist/cli/lookup.d.ts.map +1 -1
- package/dist/cli/lookup.js +31 -30
- package/dist/cli/lookup.js.map +1 -1
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js +76 -0
- package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js.map +1 -1
- package/dist/cli/orchestrate/catalog-stats.d.ts.map +1 -1
- package/dist/cli/orchestrate/catalog-stats.js +0 -1
- package/dist/cli/orchestrate/catalog-stats.js.map +1 -1
- package/dist/cli/orchestrate/cross-shard-resolve.d.ts.map +1 -1
- package/dist/cli/orchestrate/cross-shard-resolve.js +77 -2
- package/dist/cli/orchestrate/cross-shard-resolve.js.map +1 -1
- package/dist/cli/orchestrate/flat-monorepo-strategy.d.ts.map +1 -1
- package/dist/cli/orchestrate/flat-monorepo-strategy.js +0 -1
- package/dist/cli/orchestrate/flat-monorepo-strategy.js.map +1 -1
- package/dist/cli/orchestrate/incremental-merge.d.ts.map +1 -1
- package/dist/cli/orchestrate/incremental-merge.js +3 -2
- package/dist/cli/orchestrate/incremental-merge.js.map +1 -1
- package/dist/cli/positional-paths.d.ts.map +1 -1
- package/dist/cli/positional-paths.js +3 -2
- package/dist/cli/positional-paths.js.map +1 -1
- package/dist/cli/pressure-monitor.d.ts +2 -0
- package/dist/cli/pressure-monitor.d.ts.map +1 -1
- package/dist/cli/pressure-monitor.js +15 -0
- package/dist/cli/pressure-monitor.js.map +1 -1
- package/dist/cli/report-data.d.ts.map +1 -1
- package/dist/cli/report-data.js +0 -1
- package/dist/cli/report-data.js.map +1 -1
- package/dist/cli/sarif-export.d.ts.map +1 -1
- package/dist/cli/sarif-export.js +4 -3
- package/dist/cli/sarif-export.js.map +1 -1
- package/dist/cli/symbol-index.d.ts.map +1 -1
- package/dist/cli/symbol-index.js +15 -14
- package/dist/cli/symbol-index.js.map +1 -1
- package/dist/cli/workspace-runner.d.ts.map +1 -1
- package/dist/cli/workspace-runner.js +5 -4
- package/dist/cli/workspace-runner.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/lang-adapter/__tests__/language-of-file.test.d.ts +2 -0
- package/dist/lang-adapter/__tests__/language-of-file.test.d.ts.map +1 -0
- package/dist/lang-adapter/__tests__/language-of-file.test.js +36 -0
- package/dist/lang-adapter/__tests__/language-of-file.test.js.map +1 -0
- package/dist/lang-adapter/__tests__/near-duplicate-signature.test.d.ts +2 -0
- package/dist/lang-adapter/__tests__/near-duplicate-signature.test.d.ts.map +1 -0
- package/dist/lang-adapter/__tests__/near-duplicate-signature.test.js +78 -0
- package/dist/lang-adapter/__tests__/near-duplicate-signature.test.js.map +1 -0
- package/dist/lang-adapter/body-digest.d.ts +9 -41
- package/dist/lang-adapter/body-digest.d.ts.map +1 -1
- package/dist/lang-adapter/body-digest.js +9 -44
- package/dist/lang-adapter/body-digest.js.map +1 -1
- package/dist/lang-adapter/language-of-file.d.ts +15 -0
- package/dist/lang-adapter/language-of-file.d.ts.map +1 -0
- package/dist/lang-adapter/language-of-file.js +43 -0
- package/dist/lang-adapter/language-of-file.js.map +1 -0
- package/dist/lang-adapter/near-duplicate-signature.d.ts +12 -0
- package/dist/lang-adapter/near-duplicate-signature.d.ts.map +1 -0
- package/dist/lang-adapter/near-duplicate-signature.js +12 -0
- package/dist/lang-adapter/near-duplicate-signature.js.map +1 -0
- package/dist/lang-adapter/read-source.d.ts.map +1 -1
- package/dist/lang-adapter/read-source.js +0 -1
- package/dist/lang-adapter/read-source.js.map +1 -1
- package/dist/lang-adapter/registry.d.ts.map +1 -1
- package/dist/lang-adapter/registry.js +0 -1
- package/dist/lang-adapter/registry.js.map +1 -1
- package/dist/persistence/catalog-repo.d.ts.map +1 -1
- package/dist/persistence/catalog-repo.js +88 -81
- package/dist/persistence/catalog-repo.js.map +1 -1
- package/dist/persistence/session-payload.d.ts.map +1 -1
- package/dist/persistence/session-payload.js +0 -1
- package/dist/persistence/session-payload.js.map +1 -1
- package/dist/persistence/session-replay.d.ts.map +1 -1
- package/dist/persistence/session-replay.js +15 -25
- package/dist/persistence/session-replay.js.map +1 -1
- package/dist/pipeline/feature-deps.d.ts.map +1 -1
- package/dist/pipeline/feature-deps.js +0 -1
- package/dist/pipeline/feature-deps.js.map +1 -1
- package/dist/pipeline/features.d.ts.map +1 -1
- package/dist/pipeline/features.js +0 -1
- package/dist/pipeline/features.js.map +1 -1
- package/dist/pipeline/indexes.d.ts.map +1 -1
- package/dist/pipeline/indexes.js +0 -1
- package/dist/pipeline/indexes.js.map +1 -1
- package/dist/recipes/__tests__/resolve.test.js +7 -0
- package/dist/recipes/__tests__/resolve.test.js.map +1 -1
- package/dist/render/rule-id-mapping.d.ts.map +1 -1
- package/dist/render/rule-id-mapping.js +1 -0
- package/dist/render/rule-id-mapping.js.map +1 -1
- package/dist/rules/__tests__/fingerprint-golden.test.js +1 -1
- package/dist/rules/__tests__/fingerprint-golden.test.js.map +1 -1
- package/dist/rules/__tests__/near-duplicate-function-body.test.d.ts +2 -0
- package/dist/rules/__tests__/near-duplicate-function-body.test.d.ts.map +1 -0
- package/dist/rules/__tests__/near-duplicate-function-body.test.js +142 -0
- package/dist/rules/__tests__/near-duplicate-function-body.test.js.map +1 -0
- package/dist/rules/_entry-points.d.ts.map +1 -1
- package/dist/rules/_entry-points.js +0 -1
- package/dist/rules/_entry-points.js.map +1 -1
- package/dist/rules/duplicated-function-body.d.ts +12 -34
- package/dist/rules/duplicated-function-body.d.ts.map +1 -1
- package/dist/rules/duplicated-function-body.js +83 -233
- package/dist/rules/duplicated-function-body.js.map +1 -1
- package/dist/rules/near-duplicate-function-body.d.ts +11 -0
- package/dist/rules/near-duplicate-function-body.d.ts.map +1 -0
- package/dist/rules/near-duplicate-function-body.js +74 -0
- package/dist/rules/near-duplicate-function-body.js.map +1 -0
- package/dist/rules/registry.d.ts.map +1 -1
- package/dist/rules/registry.js +2 -1
- package/dist/rules/registry.js.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +3 -1
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +15 -13
package/dist/cli/graph-config.js
CHANGED
|
@@ -20,12 +20,9 @@
|
|
|
20
20
|
* throws.
|
|
21
21
|
*/
|
|
22
22
|
import { resolveToolRecipeName } from '@opensip-cli/contracts';
|
|
23
|
-
import { currentScope,
|
|
23
|
+
import { createToolLogger, currentScope, isPlainRecord, readYamlFile, resolveProjectConfigPath, } from '@opensip-cli/core';
|
|
24
24
|
import { GraphConfigSchema } from './graph-config-schema.js';
|
|
25
|
-
|
|
26
|
-
function isPlainObject(v) {
|
|
27
|
-
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
28
|
-
}
|
|
25
|
+
const log = createToolLogger('graph:cli');
|
|
29
26
|
/**
|
|
30
27
|
* Best-effort load of the `graph:` block of `opensip-cli.config.yml`.
|
|
31
28
|
*
|
|
@@ -48,17 +45,17 @@ export function loadGraphConfig(cwd, explicitPath) {
|
|
|
48
45
|
// only off-CLI (direct unit-test calls), where we fall back to the YAML read.
|
|
49
46
|
const scope = currentScope();
|
|
50
47
|
const scoped = scope?.toolConfig?.graph;
|
|
51
|
-
if (
|
|
48
|
+
if (isPlainRecord(scoped)) {
|
|
52
49
|
// Already validated by the composer (graph's namespaced ToolConfigDeclaration
|
|
53
50
|
// is the same GraphConfigSchema), so this is a pure narrowing read.
|
|
54
51
|
return scoped;
|
|
55
52
|
}
|
|
56
53
|
const documentGraph = scope?.configDocument?.graph;
|
|
57
|
-
if (
|
|
54
|
+
if (isPlainRecord(documentGraph)) {
|
|
58
55
|
const parsed = GraphConfigSchema.strict().safeParse(documentGraph);
|
|
59
56
|
if (parsed.success)
|
|
60
57
|
return parsed.data;
|
|
61
|
-
|
|
58
|
+
log.debug({
|
|
62
59
|
evt: 'graph.config.scope_document_schema_rejected',
|
|
63
60
|
module: 'graph:config',
|
|
64
61
|
err: parsed.error.message,
|
|
@@ -78,7 +75,7 @@ export function loadGraphConfig(cwd, explicitPath) {
|
|
|
78
75
|
catch (error) {
|
|
79
76
|
// No config file found — expected; the graph rules use their in-rule
|
|
80
77
|
// defaults. Debug-only so it never adds noise on config-less projects.
|
|
81
|
-
|
|
78
|
+
log.debug({
|
|
82
79
|
evt: 'graph.config.not_found',
|
|
83
80
|
module: 'graph:config',
|
|
84
81
|
err: error instanceof Error ? error.message : String(error),
|
|
@@ -86,10 +83,10 @@ export function loadGraphConfig(cwd, explicitPath) {
|
|
|
86
83
|
return {};
|
|
87
84
|
}
|
|
88
85
|
const doc = readYamlFile(filePath);
|
|
89
|
-
if (!
|
|
86
|
+
if (!isPlainRecord(doc))
|
|
90
87
|
return {};
|
|
91
88
|
const graphBlock = doc.graph;
|
|
92
|
-
if (!
|
|
89
|
+
if (!isPlainRecord(graphBlock))
|
|
93
90
|
return {};
|
|
94
91
|
// Parse the block through graph's own Zod schema, made `.strict()` to match
|
|
95
92
|
// the dispatch-level composed validation (an unknown key inside `graph:` is
|
|
@@ -99,7 +96,7 @@ export function loadGraphConfig(cwd, explicitPath) {
|
|
|
99
96
|
// historical "absent → in-rule default" semantics.
|
|
100
97
|
const parsed = GraphConfigSchema.strict().safeParse(graphBlock);
|
|
101
98
|
if (!parsed.success) {
|
|
102
|
-
|
|
99
|
+
log.debug({
|
|
103
100
|
evt: 'graph.config.schema_rejected',
|
|
104
101
|
module: 'graph:config',
|
|
105
102
|
err: parsed.error.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-config.js","sourceRoot":"","sources":["../../src/cli/graph-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,qBAAqB,EAAuB,MAAM,wBAAwB,CAAC;AACpF,OAAO,
|
|
1
|
+
{"version":3,"file":"graph-config.js","sourceRoot":"","sources":["../../src/cli/graph-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-envelope-view.d.ts","sourceRoot":"","sources":["../../src/cli/graph-envelope-view.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAOzE,mFAAmF;
|
|
1
|
+
{"version":3,"file":"graph-envelope-view.d.ts","sourceRoot":"","sources":["../../src/cli/graph-envelope-view.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,wBAAwB,CAAC;AAOzE,mFAAmF;AAEnF,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,cAAc,GAAG,eAAe,EAAE,CAkBtF"}
|
|
@@ -13,6 +13,7 @@ function rowStatus(unit) {
|
|
|
13
13
|
return unit.passed ? 'PASS' : 'FAIL';
|
|
14
14
|
}
|
|
15
15
|
/** Build one row per unit — mirrors `formatSignalTableRows` (output) for graph. */
|
|
16
|
+
// @graph-ignore-next-line graph:near-duplicate-function-body -- graph and yagni keep local live-table mappers to avoid a UI dependency in contracts/output.
|
|
16
17
|
export function envelopeToLiveRunTableRows(envelope) {
|
|
17
18
|
const bySource = groupSignalsBySource(envelope.signals);
|
|
18
19
|
return envelope.units.map((unit) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-envelope-view.js","sourceRoot":"","sources":["../../src/cli/graph-envelope-view.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,SAAS,SAAS,CAAC,IAAgB;IACjC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CAAC,QAAwB;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,aAAa,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,CAAC,CAAC;;gBAC7B,QAAQ,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;YACvB,MAAM;YACN,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"graph-envelope-view.js","sourceRoot":"","sources":["../../src/cli/graph-envelope-view.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,SAAS,SAAS,CAAC,IAAgB;IACjC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACvC,CAAC;AAED,mFAAmF;AACnF,4JAA4J;AAC5J,MAAM,UAAU,0BAA0B,CAAC,QAAwB;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,aAAa,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,CAAC,CAAC;;gBAC7B,QAAQ,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;YACvB,MAAM;YACN,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -23,14 +23,15 @@ export declare function runGateMode(opts: GraphCommandOptions, envelope: SignalE
|
|
|
23
23
|
* `--catalog-output <path>` file. Phase 6's `EngineSubprocessPort`
|
|
24
24
|
* invokes this mode per commit-sync run.
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
* fan-out limits per-run scope)
|
|
28
|
-
*
|
|
26
|
+
* Backpressured atomic write through the host `cli.writeArtifact` seam —
|
|
27
|
+
* catalog payloads are bounded (per-package fan-out limits per-run scope)
|
|
28
|
+
* and the await holds the run until the locked temp+rename completes,
|
|
29
|
+
* surfacing a full disk rather than a deferred-write surprise.
|
|
29
30
|
*/
|
|
30
31
|
export declare function runCatalogJsonMode(opts: GraphCommandOptions, result: {
|
|
31
32
|
readonly catalog: Catalog | null;
|
|
32
33
|
readonly indexes: Indexes | null;
|
|
33
34
|
readonly signals: readonly Signal[];
|
|
34
35
|
readonly cacheHit: boolean;
|
|
35
|
-
}, cli: ToolCliContext, startedAt: string): void
|
|
36
|
+
}, cli: ToolCliContext, startedAt: string): Promise<void>;
|
|
36
37
|
//# sourceMappingURL=graph-modes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-modes.d.ts","sourceRoot":"","sources":["../../src/cli/graph-modes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph-modes.d.ts","sourceRoot":"","sources":["../../src/cli/graph-modes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOhE,wBAAsB,WAAW,CAC/B,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,cAAc,EACnB,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAChC,OAAO,CAAC,IAAI,CAAC,CAiEf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE;IACN,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,EACD,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Df"}
|
package/dist/cli/graph-modes.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file no-non-null-assertions -- narrowing helpers prove the discriminant before access; the assertions encode that proof for the type checker.
|
|
2
1
|
/**
|
|
3
2
|
* @fileoverview Mode dispatch for `opensip graph`.
|
|
4
3
|
*
|
|
@@ -13,12 +12,11 @@
|
|
|
13
12
|
* `deliverSignals` owns cloud egress + the `--report-to` SARIF upload.
|
|
14
13
|
*/
|
|
15
14
|
import { randomUUID } from 'node:crypto';
|
|
16
|
-
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
17
|
-
import { dirname } from 'node:path';
|
|
18
15
|
import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
19
|
-
import { ConfigurationError, isErrorSignal,
|
|
16
|
+
import { createToolLogger, ConfigurationError, isErrorSignal, readPackageVersion, resolveFailOnDegraded, ToolError, } from '@opensip-cli/core';
|
|
20
17
|
import { graphFingerprintStrategy } from '../baseline-strategy.js';
|
|
21
18
|
import { renderCatalogJson } from '../render/catalog-json.js';
|
|
19
|
+
const log = createToolLogger('graph:cli');
|
|
22
20
|
const MODULE_GRAPH_RENDER = 'graph:render';
|
|
23
21
|
const ENGINE_VERSION = readPackageVersion(import.meta.url);
|
|
24
22
|
export async function runGateMode(opts, envelope, cli, resolutionMode) {
|
|
@@ -77,7 +75,7 @@ export async function runGateMode(opts, envelope, cli, resolutionMode) {
|
|
|
77
75
|
lines: result.degraded
|
|
78
76
|
? [
|
|
79
77
|
`Graph gate FAILED: ${String(result.added.length)} new finding(s) since baseline.`,
|
|
80
|
-
...result.added.map((s) => ` + ${graphFingerprintStrategy(s)}`),
|
|
78
|
+
...result.added.map((s) => ` + ${graphFingerprintStrategy.fingerprint(s)}`),
|
|
81
79
|
]
|
|
82
80
|
: [
|
|
83
81
|
`Graph gate PASS: no regressions (${String(result.resolved.length)} resolved since baseline).`,
|
|
@@ -92,11 +90,12 @@ export async function runGateMode(opts, envelope, cli, resolutionMode) {
|
|
|
92
90
|
* `--catalog-output <path>` file. Phase 6's `EngineSubprocessPort`
|
|
93
91
|
* invokes this mode per commit-sync run.
|
|
94
92
|
*
|
|
95
|
-
*
|
|
96
|
-
* fan-out limits per-run scope)
|
|
97
|
-
*
|
|
93
|
+
* Backpressured atomic write through the host `cli.writeArtifact` seam —
|
|
94
|
+
* catalog payloads are bounded (per-package fan-out limits per-run scope)
|
|
95
|
+
* and the await holds the run until the locked temp+rename completes,
|
|
96
|
+
* surfacing a full disk rather than a deferred-write surprise.
|
|
98
97
|
*/
|
|
99
|
-
export function runCatalogJsonMode(opts, result, cli, startedAt) {
|
|
98
|
+
export async function runCatalogJsonMode(opts, result, cli, startedAt) {
|
|
100
99
|
if (typeof opts.tenantId !== 'string' || opts.tenantId.length === 0) {
|
|
101
100
|
throw new ConfigurationError('--catalog-output requires --tenant-id <id>.');
|
|
102
101
|
}
|
|
@@ -106,6 +105,10 @@ export function runCatalogJsonMode(opts, result, cli, startedAt) {
|
|
|
106
105
|
if (typeof opts.gitSha !== 'string' || opts.gitSha.length === 0) {
|
|
107
106
|
throw new ConfigurationError('--catalog-output requires --git-sha <sha>.');
|
|
108
107
|
}
|
|
108
|
+
const catalogOutput = opts.catalogOutput;
|
|
109
|
+
if (typeof catalogOutput !== 'string' || catalogOutput.length === 0) {
|
|
110
|
+
throw new ConfigurationError('--catalog-output requires a path.');
|
|
111
|
+
}
|
|
109
112
|
if (result.catalog === null || result.indexes === null) {
|
|
110
113
|
throw new ToolError('Cannot emit catalog-json: engine returned null catalog / indexes (no parseable input).', 'GRAPH.CATALOG_JSON.NULL_CATALOG');
|
|
111
114
|
}
|
|
@@ -125,7 +128,7 @@ export function runCatalogJsonMode(opts, result, cli, startedAt) {
|
|
|
125
128
|
completedAt,
|
|
126
129
|
tenantId: opts.tenantId,
|
|
127
130
|
};
|
|
128
|
-
|
|
131
|
+
log.info({
|
|
129
132
|
evt: 'graph.render.catalog_json.start',
|
|
130
133
|
module: MODULE_GRAPH_RENDER,
|
|
131
134
|
runId,
|
|
@@ -138,14 +141,8 @@ export function runCatalogJsonMode(opts, result, cli, startedAt) {
|
|
|
138
141
|
repoId: opts.repoId,
|
|
139
142
|
gitSha: opts.gitSha,
|
|
140
143
|
});
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
// opensip `EngineSubprocessPort.runCatalogExport` may point
|
|
144
|
-
// `--catalog-output` at a run-scoped temp dir that doesn't exist yet,
|
|
145
|
-
// so a bare writeFileSync would throw ENOENT.
|
|
146
|
-
mkdirSync(dirname(opts.catalogOutput), { recursive: true });
|
|
147
|
-
writeFileSync(opts.catalogOutput, json);
|
|
148
|
-
logger.info({
|
|
144
|
+
await cli.writeArtifact(catalogOutput, json);
|
|
145
|
+
log.info({
|
|
149
146
|
evt: 'graph.render.catalog_json.complete',
|
|
150
147
|
module: MODULE_GRAPH_RENDER,
|
|
151
148
|
runId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-modes.js","sourceRoot":"","sources":["../../src/cli/graph-modes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graph-modes.js","sourceRoot":"","sources":["../../src/cli/graph-modes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAO9D,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAE1C,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAC3C,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAyB,EACzB,QAAwB,EACxB,GAAmB,EACnB,cAAiC;IAEjC,kEAAkE;IAClE,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,oDAAoD;IACpD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,kBAAkB,CAC1B,6EAA6E;YAC3E,0EAA0E;YAC1E,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACpF,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3B,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,6EAA6E;QAC7E,wEAAwE;QACxE,+EAA+E;QAC/E,gFAAgF;QAChF,wEAAwE;QACxE,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,SAAS;gBACd,CAAC,CAAC;oBACE,yBAAyB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;oBACnE,sBAAsB,MAAM,CAAC,UAAU,CAAC,kCAAkC;iBAC3E;gBACH,CAAC,CAAC,CAAC,yBAAyB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;SAC1E,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,gBAAgB;IAChB,EAAE;IACF,gFAAgF;IAChF,iFAAiF;IACjF,yEAAyE;IACzE,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,MAAM,CAAC,QAAQ;YACpB,CAAC,CAAC;gBACE,sBAAsB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC;gBAClF,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E;YACH,CAAC,CAAC;gBACE,oCAAoC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,4BAA4B;aAC/F;KACN,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAyB,EACzB,MAKC,EACD,GAAmB,EACnB,SAAiB;IAEjB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,kBAAkB,CAAC,6CAA6C,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,kBAAkB,CAAC,2CAA2C,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,kBAAkB,CAAC,4CAA4C,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CACjB,wFAAwF,EACxF,iCAAiC,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,mEAAmE;IACnE,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,kEAAkE;IAClE,yDAAyD;IACzD,MAAM,UAAU,GAAG;QACjB,KAAK;QACL,YAAY,EAAE,UAAmB;QACjC,aAAa,EAAE,cAAc;QAC7B,SAAS;QACT,WAAW;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC;QACP,GAAG,EAAE,iCAAiC;QACtC,MAAM,EAAE,mBAAmB;QAC3B,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,aAAa;KAC3B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU;QACV,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7C,GAAG,CAAC,IAAI,CAAC;QACP,GAAG,EAAE,oCAAoC;QACzC,MAAM,EAAE,mBAAmB;QAC3B,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,aAAa;QAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;KACnC,CAAC,CAAC;IACH,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-recipes.d.ts","sourceRoot":"","sources":["../../src/cli/graph-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"graph-recipes.d.ts","sourceRoot":"","sources":["../../src/cli/graph-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA0B7D"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* Reads `currentGraphRecipes()`, so it runs inside the entered RunScope (the
|
|
11
11
|
* command action body does).
|
|
12
12
|
*/
|
|
13
|
+
import { allUnitsLabel, explicitUnitsLabel, PATTERN_BASED_LABEL, recipeDisplayInfo, } from '@opensip-cli/core';
|
|
13
14
|
import { currentGraphRecipes } from '../recipes/registry.js';
|
|
14
15
|
/**
|
|
15
16
|
* Returns metadata for every registered graph recipe.
|
|
@@ -24,17 +25,23 @@ export function listGraphRecipes() {
|
|
|
24
25
|
.getAllRecipes()
|
|
25
26
|
.map((recipe) => {
|
|
26
27
|
const selector = recipe.rules;
|
|
27
|
-
let
|
|
28
|
+
let selectionLabel;
|
|
28
29
|
if (selector.type === 'all') {
|
|
29
|
-
|
|
30
|
+
selectionLabel = allUnitsLabel('rules');
|
|
30
31
|
}
|
|
31
32
|
else if (selector.type === 'explicit') {
|
|
32
|
-
|
|
33
|
+
selectionLabel = explicitUnitsLabel(selector.ids.length, 'rule', 'rules');
|
|
33
34
|
}
|
|
34
35
|
else {
|
|
35
|
-
|
|
36
|
+
selectionLabel = PATTERN_BASED_LABEL;
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
const display = recipeDisplayInfo(recipe, selectionLabel);
|
|
39
|
+
return {
|
|
40
|
+
name: display.name,
|
|
41
|
+
description: display.description,
|
|
42
|
+
checkCount: display.selectionLabel,
|
|
43
|
+
selectionLabel: display.selectionLabel,
|
|
44
|
+
};
|
|
38
45
|
});
|
|
39
46
|
return Promise.resolve({
|
|
40
47
|
type: 'list-recipes',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-recipes.js","sourceRoot":"","sources":["../../src/cli/graph-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,mBAAmB,EAAE;SAClC,aAAa,EAAE;SACf,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,
|
|
1
|
+
{"version":3,"file":"graph-recipes.js","sourceRoot":"","sources":["../../src/cli/graph-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,mBAAmB,EAAE;SAClC,aAAa,EAAE;SACf,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI,cAAsB,CAAC;QAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxC,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,mBAAmB,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,cAAc;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,cAAc;QACpB,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-result-delivery.d.ts","sourceRoot":"","sources":["../../src/cli/graph-result-delivery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKtF,OAAO,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-result-delivery.d.ts","sourceRoot":"","sources":["../../src/cli/graph-result-delivery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKtF,OAAO,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAexD,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,MAAM,GAChB,mBAAmB,GAAG,SAAS,CAUjC;AAED,sEAAsE;AACtE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,mBAAmB,GAAG,SAAS,GACvC,IAAI,CASN;AAuBD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA6BtC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAuDtC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
2
|
-
import {
|
|
2
|
+
import { createToolLogger, currentScope } from '@opensip-cli/core';
|
|
3
3
|
import { finalizeGraphSignals } from './apply-suppressions.js';
|
|
4
4
|
import { buildGraphEnvelope } from './build-envelope.js';
|
|
5
5
|
import { runCatalogJsonMode, runGateMode } from './graph-modes.js';
|
|
6
6
|
import { buildUnifiedReportLines, resolutionBannerText } from './graph-report.js';
|
|
7
7
|
import { buildGraphSessionContribution } from './graph-session-contribution.js';
|
|
8
8
|
import { GraphProfileBuilder, writeGraphProfile } from './profile.js';
|
|
9
|
+
const log = createToolLogger('graph:cli');
|
|
9
10
|
const EVT_GRAPH_COMPLETE = 'graph.cli.graph.complete';
|
|
10
11
|
const MODULE_GRAPH_CLI = 'graph:cli';
|
|
11
12
|
const MODULE_GRAPH_RENDER = 'graph:render';
|
|
@@ -36,7 +37,7 @@ export function writeProfileIfRequested(opts, profile) {
|
|
|
36
37
|
if (typeof opts.profileOutput !== 'string' || opts.profileOutput.length === 0)
|
|
37
38
|
return;
|
|
38
39
|
const outPath = writeGraphProfile(opts.profileOutput, opts.cwd, profile.complete());
|
|
39
|
-
|
|
40
|
+
log.info({
|
|
40
41
|
evt: 'graph.profile.write.complete',
|
|
41
42
|
module: MODULE_GRAPH_CLI,
|
|
42
43
|
output: outPath,
|
|
@@ -111,7 +112,7 @@ export async function deliverGraphResult(opts, result, cli, startedAt, finalized
|
|
|
111
112
|
// (host-derived exit), so the command-spec skips it.
|
|
112
113
|
const envelope = envelopeFor(opts, result, durationMs);
|
|
113
114
|
await runGateMode(opts, envelope, cli, result.catalog?.resolutionMode);
|
|
114
|
-
|
|
115
|
+
log.info({
|
|
115
116
|
evt: EVT_GRAPH_COMPLETE,
|
|
116
117
|
module: MODULE_GRAPH_CLI,
|
|
117
118
|
suppressed: suppressedCount,
|
|
@@ -119,8 +120,8 @@ export async function deliverGraphResult(opts, result, cli, startedAt, finalized
|
|
|
119
120
|
return { envelope };
|
|
120
121
|
}
|
|
121
122
|
if (typeof opts.catalogOutput === 'string' && opts.catalogOutput.length > 0) {
|
|
122
|
-
runCatalogJsonMode(opts, result, cli, startedAt);
|
|
123
|
-
|
|
123
|
+
await runCatalogJsonMode(opts, result, cli, startedAt);
|
|
124
|
+
log.info({
|
|
124
125
|
evt: EVT_GRAPH_COMPLETE,
|
|
125
126
|
module: MODULE_GRAPH_CLI,
|
|
126
127
|
suppressed: suppressedCount,
|
|
@@ -141,7 +142,7 @@ export async function deliverGraphResult(opts, result, cli, startedAt, finalized
|
|
|
141
142
|
const isReportTo = typeof opts.reportTo === 'string' && opts.reportTo.length > 0;
|
|
142
143
|
const session = opts.json !== true && !isReportTo ? buildGraphSessionContribution(opts, finalized) : undefined;
|
|
143
144
|
cli.setExitCode(EXIT_CODES.SUCCESS);
|
|
144
|
-
|
|
145
|
+
log.info({
|
|
145
146
|
evt: EVT_GRAPH_COMPLETE,
|
|
146
147
|
module: MODULE_GRAPH_CLI,
|
|
147
148
|
signals: result.signals.length,
|
|
@@ -178,18 +179,18 @@ async function renderGraphResult(opts, result, startedAt, cli) {
|
|
|
178
179
|
const durationMs = Math.max(0, Date.now() - Date.parse(startedAt));
|
|
179
180
|
const envelope = envelopeFor(opts, result, durationMs);
|
|
180
181
|
if (opts.json === true) {
|
|
181
|
-
|
|
182
|
+
log.info({
|
|
182
183
|
evt: 'graph.render.json.start',
|
|
183
184
|
module: MODULE_GRAPH_RENDER,
|
|
184
185
|
});
|
|
185
186
|
cli.emitEnvelope(envelope);
|
|
186
|
-
|
|
187
|
+
log.info({
|
|
187
188
|
evt: 'graph.render.json.complete',
|
|
188
189
|
module: MODULE_GRAPH_RENDER,
|
|
189
190
|
});
|
|
190
191
|
return envelope;
|
|
191
192
|
}
|
|
192
|
-
|
|
193
|
+
log.info({ evt: 'graph.render.presentation.start', module: MODULE_GRAPH_RENDER });
|
|
193
194
|
const verbose = opts.verbose === true;
|
|
194
195
|
// ADR-0021: graph's verbose body is carried as VerboseDetail{kind:'lines'} and
|
|
195
196
|
// rendered through the shared resultToView seam — the same path the live runner
|
|
@@ -222,7 +223,7 @@ async function renderGraphResult(opts, result, startedAt, cli) {
|
|
|
222
223
|
durationMs,
|
|
223
224
|
};
|
|
224
225
|
await cli.render(presentation);
|
|
225
|
-
|
|
226
|
+
log.info({
|
|
226
227
|
evt: 'graph.render.presentation.complete',
|
|
227
228
|
module: MODULE_GRAPH_RENDER,
|
|
228
229
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-result-delivery.js","sourceRoot":"","sources":["../../src/cli/graph-result-delivery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"graph-result-delivery.js","sourceRoot":"","sources":["../../src/cli/graph-result-delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-single-run-mode.d.ts","sourceRoot":"","sources":["../../src/cli/graph-single-run-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-single-run-mode.d.ts","sourceRoot":"","sources":["../../src/cli/graph-single-run-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAY3B,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,cAAc,CAAC;AACjF,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,aAAa,CAAC;AAKjD,KAAK,mBAAmB,GAAG,CACzB,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CACnD;AAmBD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,iBAAiB,EACtB,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA0EtC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ConfigurationError, currentScope,
|
|
1
|
+
import { createToolLogger, ConfigurationError, currentScope, SystemError, } from '@opensip-cli/core';
|
|
2
|
+
const log = createToolLogger('graph:cli');
|
|
2
3
|
import { DASHBOARD_FEATURE_COLUMNS } from './graph-feature-columns.js';
|
|
3
4
|
import { countFiles } from './graph-report.js';
|
|
4
5
|
import { engineSelectionReason, realpathOrSelf, resolveEngineShards, runProfiledShardedBuild, } from './graph-sharded-engine.js';
|
|
@@ -33,7 +34,7 @@ export async function executeSinglePathGraph(ctx, positionalPaths) {
|
|
|
33
34
|
const config = loadGraphConfig(opts.cwd);
|
|
34
35
|
const resolution = await resolveEngineShards(opts, cli, positionalPaths);
|
|
35
36
|
const shards = resolution.shards;
|
|
36
|
-
|
|
37
|
+
log.info({
|
|
37
38
|
evt: 'graph.cli.graph.engine',
|
|
38
39
|
module: MODULE_GRAPH_CLI,
|
|
39
40
|
mode: shards.length > 1 ? 'sharded' : 'exact',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-single-run-mode.js","sourceRoot":"","sources":["../../src/cli/graph-single-run-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"graph-single-run-mode.js","sourceRoot":"","sources":["../../src/cli/graph-single-run-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-worker.d.ts","sourceRoot":"","sources":["../../src/cli/graph-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"graph-worker.d.ts","sourceRoot":"","sources":["../../src/cli/graph-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AA0B3B;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE7F;AAED,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAiBzE,CAAC"}
|
package/dist/cli/graph-worker.js
CHANGED
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
* only caller.
|
|
20
20
|
*/
|
|
21
21
|
import { readFileSync } from 'node:fs';
|
|
22
|
-
import { defineCommand, } from '@opensip-cli/core';
|
|
22
|
+
import { defineCommand, getWorkerErrorFailureClass, sendWorkerIpcMessage, startWorkerHeartbeat, } from '@opensip-cli/core';
|
|
23
23
|
import { resolveRecipeToRules } from '../recipes/resolve.js';
|
|
24
24
|
import { toProgressEvent } from './graph-progress.js';
|
|
25
25
|
import { buildLiveGraphOutput, runShardedLiveBuild } from './graph.js';
|
|
26
26
|
import { loadGraphConfig, resolveGraphRecipeSelection, runGraph } from './orchestrate.js';
|
|
27
27
|
/** Post one IPC message to the parent (no-op when not forked). */
|
|
28
28
|
function send(msg) {
|
|
29
|
-
|
|
29
|
+
sendWorkerIpcMessage(msg);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Read the build spec, re-derive config + rules, run `runGraph` headless, and
|
|
@@ -34,6 +34,7 @@ function send(msg) {
|
|
|
34
34
|
* a failure is sent as a `{ kind: 'error' }` message so the parent rejects cleanly.
|
|
35
35
|
*/
|
|
36
36
|
export async function executeGraphWorker(specPath, cli) {
|
|
37
|
+
const stopHeartbeat = startWorkerHeartbeat();
|
|
37
38
|
try {
|
|
38
39
|
const args = JSON.parse(readFileSync(specPath, 'utf8'));
|
|
39
40
|
const config = loadGraphConfig(args.cwd);
|
|
@@ -86,8 +87,14 @@ export async function executeGraphWorker(specPath, cli) {
|
|
|
86
87
|
kind: 'error',
|
|
87
88
|
message: error instanceof Error ? error.message : String(error),
|
|
88
89
|
...(error instanceof Error && error.stack !== undefined ? { stack: error.stack } : {}),
|
|
90
|
+
...(getWorkerErrorFailureClass(error) === undefined
|
|
91
|
+
? {}
|
|
92
|
+
: { failureClass: getWorkerErrorFailureClass(error) }),
|
|
89
93
|
});
|
|
90
94
|
}
|
|
95
|
+
finally {
|
|
96
|
+
stopHeartbeat();
|
|
97
|
+
}
|
|
91
98
|
}
|
|
92
99
|
/** `graph-run-worker` — [internal] headless graph build, IPC progress/result. */
|
|
93
100
|
export const graphRunWorkerCommandSpec = defineCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-worker.js","sourceRoot":"","sources":["../../src/cli/graph-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EACL,aAAa,
|
|
1
|
+
{"version":3,"file":"graph-worker.js","sourceRoot":"","sources":["../../src/cli/graph-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-workspace-mode.d.ts","sourceRoot":"","sources":["../../src/cli/graph-workspace-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"graph-workspace-mode.d.ts","sourceRoot":"","sources":["../../src/cli/graph-workspace-mode.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA0B9D;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAsEtC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
2
|
-
import {
|
|
2
|
+
import { createToolLogger, ConfigurationError, } from '@opensip-cli/core';
|
|
3
3
|
import { buildWorkspaceSessionContribution } from './graph-session-contribution.js';
|
|
4
4
|
import { resolveAdaptersForRun } from './resolve-adapters.js';
|
|
5
5
|
import { buildWorkspaceJsonDocument, writeWorkspaceReport } from './workspace-report.js';
|
|
6
6
|
import { discoverPolyglotUnits, runWorkspaceUnitsInParallel } from './workspace-runner.js';
|
|
7
|
+
const log = createToolLogger('graph:cli');
|
|
7
8
|
const EVT_GRAPH_COMPLETE = 'graph.cli.graph.complete';
|
|
8
9
|
const MODULE_GRAPH_CLI = 'graph:cli';
|
|
9
10
|
function setProfileStageRecorded(profileRun, durationMs, unitCount) {
|
|
@@ -74,7 +75,7 @@ export async function executeWorkspaceGraph(opts, cli, profile) {
|
|
|
74
75
|
else {
|
|
75
76
|
cli.setExitCode(EXIT_CODES.SUCCESS);
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
+
log.info({
|
|
78
79
|
evt: EVT_GRAPH_COMPLETE,
|
|
79
80
|
module: MODULE_GRAPH_CLI,
|
|
80
81
|
units: result.perUnit.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-workspace-mode.js","sourceRoot":"","sources":["../../src/cli/graph-workspace-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"graph-workspace-mode.js","sourceRoot":"","sources":["../../src/cli/graph-workspace-mode.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/graph.d.ts
CHANGED
|
@@ -19,8 +19,8 @@ export { dispatchGraphResult } from './graph-result-delivery.js';
|
|
|
19
19
|
* comes back.
|
|
20
20
|
*/
|
|
21
21
|
export declare function executeGraph(opts: GraphCommandOptions, cli: ToolCliContext): Promise<GraphRunOutcome | undefined>;
|
|
22
|
-
/** Map graph CLI errors to exit codes and
|
|
23
|
-
export declare function handleGraphError(label: string, error: unknown, cli: ToolCliContext): void
|
|
22
|
+
/** Map graph CLI errors to exit codes and surface via the host reportFailure seam. */
|
|
23
|
+
export declare function handleGraphError(label: string, error: unknown, cli: ToolCliContext, jsonRequested?: boolean): Promise<void>;
|
|
24
24
|
export { contributionFromSignals, evaluatedRuleSlugs } from './graph-session-contribution.js';
|
|
25
25
|
export { resolveLiveEngineShards, resolveShardsForCwd, runShardedLiveBuild, } from './graph-sharded-engine.js';
|
|
26
26
|
export type { GraphLiveBuildArgs } from './graph-sharded-engine.js';
|
package/dist/cli/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/cli/graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/cli/graph.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,EACzB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA4EtC;AAED,sFAAsF;AACtF,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,cAAc,EACnB,aAAa,UAAQ,GACpB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|