@flyingrobots/graft 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +140 -0
- package/README.md +33 -16
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/cli/cli-error.d.ts.map +1 -1
- package/dist/cli/cli-error.js +22 -3
- package/dist/cli/cli-error.js.map +1 -1
- package/dist/cli/command-parser.d.ts.map +1 -1
- package/dist/cli/command-parser.js +62 -6
- package/dist/cli/command-parser.js.map +1 -1
- package/dist/cli/dead-symbols-render.d.ts +2 -0
- package/dist/cli/dead-symbols-render.d.ts.map +1 -0
- package/dist/cli/dead-symbols-render.js +23 -0
- package/dist/cli/dead-symbols-render.js.map +1 -0
- package/dist/cli/doctor-render.d.ts +2 -0
- package/dist/cli/doctor-render.d.ts.map +1 -0
- package/dist/cli/doctor-render.js +80 -0
- package/dist/cli/doctor-render.js.map +1 -0
- package/dist/cli/entrypoint.d.ts +1 -0
- package/dist/cli/entrypoint.d.ts.map +1 -1
- package/dist/cli/entrypoint.js +1 -0
- package/dist/cli/entrypoint.js.map +1 -1
- package/dist/cli/git-graft-enhance-model.d.ts +33 -3
- package/dist/cli/git-graft-enhance-model.d.ts.map +1 -1
- package/dist/cli/git-graft-enhance-model.js +38 -0
- package/dist/cli/git-graft-enhance-model.js.map +1 -1
- package/dist/cli/git-graft-enhance-render.d.ts.map +1 -1
- package/dist/cli/git-graft-enhance-render.js +13 -0
- package/dist/cli/git-graft-enhance-render.js.map +1 -1
- package/dist/cli/git-graft-enhance.d.ts.map +1 -1
- package/dist/cli/git-graft-enhance.js +44 -1
- package/dist/cli/git-graft-enhance.js.map +1 -1
- package/dist/cli/index-cmd.d.ts +1 -0
- package/dist/cli/index-cmd.d.ts.map +1 -1
- package/dist/cli/index-cmd.js +3 -0
- package/dist/cli/index-cmd.js.map +1 -1
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +24 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/peer-command.d.ts.map +1 -1
- package/dist/cli/peer-command.js +25 -0
- package/dist/cli/peer-command.js.map +1 -1
- package/dist/cli/review-cooldown.d.ts +15 -0
- package/dist/cli/review-cooldown.d.ts.map +1 -0
- package/dist/cli/review-cooldown.js +136 -0
- package/dist/cli/review-cooldown.js.map +1 -0
- package/dist/cli/structural-blame-render.d.ts +2 -0
- package/dist/cli/structural-blame-render.d.ts.map +1 -0
- package/dist/cli/structural-blame-render.js +39 -0
- package/dist/cli/structural-blame-render.js.map +1 -0
- package/dist/cli/structural-review-render.d.ts +2 -0
- package/dist/cli/structural-review-render.d.ts.map +1 -0
- package/dist/cli/structural-review-render.js +56 -0
- package/dist/cli/structural-review-render.js.map +1 -0
- package/dist/cli/structural-test-coverage-render.d.ts +2 -0
- package/dist/cli/structural-test-coverage-render.d.ts.map +1 -0
- package/dist/cli/structural-test-coverage-render.js +46 -0
- package/dist/cli/structural-test-coverage-render.js.map +1 -0
- package/dist/contracts/capabilities.d.ts +9 -6
- package/dist/contracts/capabilities.d.ts.map +1 -1
- package/dist/contracts/capabilities.js +40 -1
- package/dist/contracts/capabilities.js.map +1 -1
- package/dist/contracts/causal-ontology.d.ts +17 -17
- package/dist/contracts/output-schema-cli.d.ts +103 -41
- package/dist/contracts/output-schema-cli.d.ts.map +1 -1
- package/dist/contracts/output-schema-cli.js +29 -0
- package/dist/contracts/output-schema-cli.js.map +1 -1
- package/dist/contracts/output-schema-fragments.d.ts +76 -76
- package/dist/contracts/output-schema-mcp.d.ts +87 -62
- package/dist/contracts/output-schema-mcp.d.ts.map +1 -1
- package/dist/contracts/output-schema-mcp.js +43 -21
- package/dist/contracts/output-schema-mcp.js.map +1 -1
- package/dist/contracts/output-schema-meta.d.ts +2 -2
- package/dist/contracts/output-schema-meta.d.ts.map +1 -1
- package/dist/contracts/output-schemas.d.ts +7 -7
- package/dist/contracts/output-schemas.d.ts.map +1 -1
- package/dist/contracts/output-schemas.js +69 -1
- package/dist/contracts/output-schemas.js.map +1 -1
- package/dist/git/version-guard.d.ts +17 -0
- package/dist/git/version-guard.d.ts.map +1 -0
- package/dist/git/version-guard.js +51 -0
- package/dist/git/version-guard.js.map +1 -0
- package/dist/hooks/posttooluse-read.js +2 -2
- package/dist/hooks/posttooluse-read.js.map +1 -1
- package/dist/mcp/burden.d.ts.map +1 -1
- package/dist/mcp/burden.js +2 -0
- package/dist/mcp/burden.js.map +1 -1
- package/dist/mcp/daemon-server.d.ts.map +1 -1
- package/dist/mcp/daemon-server.js +2 -0
- package/dist/mcp/daemon-server.js.map +1 -1
- package/dist/mcp/persisted-local-history-graph.d.ts.map +1 -1
- package/dist/mcp/persisted-local-history-graph.js +2 -1
- package/dist/mcp/persisted-local-history-graph.js.map +1 -1
- package/dist/mcp/persisted-local-history.d.ts +5 -5
- package/dist/mcp/repo-tool-job.d.ts.map +1 -1
- package/dist/mcp/repo-tool-job.js +2 -0
- package/dist/mcp/repo-tool-job.js.map +1 -1
- package/dist/mcp/server-invocation.d.ts.map +1 -1
- package/dist/mcp/server-invocation.js +206 -147
- package/dist/mcp/server-invocation.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +184 -116
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/stdio-server.d.ts.map +1 -1
- package/dist/mcp/stdio-server.js +2 -0
- package/dist/mcp/stdio-server.js.map +1 -1
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +4 -0
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/mcp/tools/changed-since.d.ts.map +1 -1
- package/dist/mcp/tools/changed-since.js +10 -3
- package/dist/mcp/tools/changed-since.js.map +1 -1
- package/dist/mcp/tools/dead-symbols.d.ts +3 -0
- package/dist/mcp/tools/dead-symbols.d.ts.map +1 -0
- package/dist/mcp/tools/dead-symbols.js +33 -0
- package/dist/mcp/tools/dead-symbols.js.map +1 -0
- package/dist/mcp/tools/map.d.ts.map +1 -1
- package/dist/mcp/tools/map.js +2 -0
- package/dist/mcp/tools/map.js.map +1 -1
- package/dist/mcp/tools/precision-warp.d.ts.map +1 -1
- package/dist/mcp/tools/precision-warp.js +2 -6
- package/dist/mcp/tools/precision-warp.js.map +1 -1
- package/dist/mcp/tools/refactor-difficulty.d.ts.map +1 -1
- package/dist/mcp/tools/refactor-difficulty.js +2 -0
- package/dist/mcp/tools/refactor-difficulty.js.map +1 -1
- package/dist/mcp/tools/safe-read.d.ts.map +1 -1
- package/dist/mcp/tools/safe-read.js +10 -105
- package/dist/mcp/tools/safe-read.js.map +1 -1
- package/dist/mcp/tools/structural-test-coverage.d.ts +3 -0
- package/dist/mcp/tools/structural-test-coverage.d.ts.map +1 -0
- package/dist/mcp/tools/structural-test-coverage.js +35 -0
- package/dist/mcp/tools/structural-test-coverage.js.map +1 -0
- package/dist/operations/cached-file.d.ts +6 -2
- package/dist/operations/cached-file.d.ts.map +1 -1
- package/dist/operations/cached-file.js +30 -6
- package/dist/operations/cached-file.js.map +1 -1
- package/dist/operations/export-surface-diff.d.ts.map +1 -1
- package/dist/operations/export-surface-diff.js +2 -0
- package/dist/operations/export-surface-diff.js.map +1 -1
- package/dist/operations/file-outline.js +2 -2
- package/dist/operations/file-outline.js.map +1 -1
- package/dist/operations/graft-diff.d.ts.map +1 -1
- package/dist/operations/graft-diff.js +2 -0
- package/dist/operations/graft-diff.js.map +1 -1
- package/dist/operations/projection-safety.d.ts.map +1 -1
- package/dist/operations/projection-safety.js +2 -0
- package/dist/operations/projection-safety.js.map +1 -1
- package/dist/operations/repo-workspace.d.ts.map +1 -1
- package/dist/operations/repo-workspace.js +26 -8
- package/dist/operations/repo-workspace.js.map +1 -1
- package/dist/operations/review-cooldown-status.d.ts +27 -0
- package/dist/operations/review-cooldown-status.d.ts.map +1 -0
- package/dist/operations/review-cooldown-status.js +115 -0
- package/dist/operations/review-cooldown-status.js.map +1 -0
- package/dist/operations/safe-read.js +2 -2
- package/dist/operations/safe-read.js.map +1 -1
- package/dist/operations/sludge-detector.d.ts.map +1 -1
- package/dist/operations/sludge-detector.js +2 -1
- package/dist/operations/sludge-detector.js.map +1 -1
- package/dist/operations/structural-review.js +8 -8
- package/dist/operations/structural-review.js.map +1 -1
- package/dist/operations/structural-test-coverage-map.d.ts +44 -0
- package/dist/operations/structural-test-coverage-map.d.ts.map +1 -0
- package/dist/operations/structural-test-coverage-map.js +331 -0
- package/dist/operations/structural-test-coverage-map.js.map +1 -0
- package/dist/operations/structured-buffer-compare.d.ts.map +1 -1
- package/dist/operations/structured-buffer-compare.js +4 -1
- package/dist/operations/structured-buffer-compare.js.map +1 -1
- package/dist/operations/structured-buffer-model.d.ts +15 -13
- package/dist/operations/structured-buffer-model.d.ts.map +1 -1
- package/dist/operations/structured-buffer-model.js +24 -5
- package/dist/operations/structured-buffer-model.js.map +1 -1
- package/dist/operations/structured-buffer-query.d.ts.map +1 -1
- package/dist/operations/structured-buffer-query.js +21 -12
- package/dist/operations/structured-buffer-query.js.map +1 -1
- package/dist/parser/extractors/common.d.ts +16 -0
- package/dist/parser/extractors/common.d.ts.map +1 -0
- package/dist/parser/extractors/common.js +23 -0
- package/dist/parser/extractors/common.js.map +1 -0
- package/dist/parser/extractors/go.d.ts +18 -0
- package/dist/parser/extractors/go.d.ts.map +1 -0
- package/dist/parser/extractors/go.js +200 -0
- package/dist/parser/extractors/go.js.map +1 -0
- package/dist/parser/extractors/graphql.d.ts +26 -0
- package/dist/parser/extractors/graphql.d.ts.map +1 -0
- package/dist/parser/extractors/graphql.js +239 -0
- package/dist/parser/extractors/graphql.js.map +1 -0
- package/dist/parser/extractors/index.d.ts +4 -0
- package/dist/parser/extractors/index.d.ts.map +1 -0
- package/dist/parser/extractors/index.js +26 -0
- package/dist/parser/extractors/index.js.map +1 -0
- package/dist/parser/extractors/json.d.ts +10 -0
- package/dist/parser/extractors/json.d.ts.map +1 -0
- package/dist/parser/extractors/json.js +75 -0
- package/dist/parser/extractors/json.js.map +1 -0
- package/dist/parser/extractors/python.d.ts +16 -0
- package/dist/parser/extractors/python.d.ts.map +1 -0
- package/dist/parser/extractors/python.js +145 -0
- package/dist/parser/extractors/python.js.map +1 -0
- package/dist/parser/extractors/rust.d.ts +12 -0
- package/dist/parser/extractors/rust.d.ts.map +1 -0
- package/dist/parser/extractors/rust.js +122 -0
- package/dist/parser/extractors/rust.js.map +1 -0
- package/dist/parser/extractors/toml.d.ts +10 -0
- package/dist/parser/extractors/toml.d.ts.map +1 -0
- package/dist/parser/extractors/toml.js +74 -0
- package/dist/parser/extractors/toml.js.map +1 -0
- package/dist/parser/extractors/typescript.d.ts +13 -0
- package/dist/parser/extractors/typescript.d.ts.map +1 -0
- package/dist/parser/extractors/typescript.js +179 -0
- package/dist/parser/extractors/typescript.js.map +1 -0
- package/dist/parser/extractors/yaml.d.ts +13 -0
- package/dist/parser/extractors/yaml.d.ts.map +1 -0
- package/dist/parser/extractors/yaml.js +93 -0
- package/dist/parser/extractors/yaml.js.map +1 -0
- package/dist/parser/lang.d.ts +2 -2
- package/dist/parser/lang.d.ts.map +1 -1
- package/dist/parser/lang.js +19 -1
- package/dist/parser/lang.js.map +1 -1
- package/dist/parser/outline.d.ts +4 -0
- package/dist/parser/outline.d.ts.map +1 -1
- package/dist/parser/outline.js +32 -221
- package/dist/parser/outline.js.map +1 -1
- package/dist/parser/runtime.d.ts +7 -0
- package/dist/parser/runtime.d.ts.map +1 -1
- package/dist/parser/runtime.js +99 -10
- package/dist/parser/runtime.js.map +1 -1
- package/dist/parser/types.d.ts +1 -1
- package/dist/parser/types.d.ts.map +1 -1
- package/dist/parser/types.js.map +1 -1
- package/dist/ports/provenance-timeline.d.ts +10 -0
- package/dist/ports/provenance-timeline.d.ts.map +1 -0
- package/dist/ports/provenance-timeline.js +17 -0
- package/dist/ports/provenance-timeline.js.map +1 -0
- package/dist/ports/semantic-enrichment.d.ts +47 -0
- package/dist/ports/semantic-enrichment.d.ts.map +1 -0
- package/dist/ports/semantic-enrichment.js +2 -0
- package/dist/ports/semantic-enrichment.js.map +1 -0
- package/dist/warp/ast-import-resolver.d.ts.map +1 -1
- package/dist/warp/ast-import-resolver.js +2 -1
- package/dist/warp/ast-import-resolver.js.map +1 -1
- package/dist/warp/dead-symbols.d.ts.map +1 -1
- package/dist/warp/dead-symbols.js +4 -7
- package/dist/warp/dead-symbols.js.map +1 -1
- package/dist/warp/index-head.d.ts +4 -0
- package/dist/warp/index-head.d.ts.map +1 -1
- package/dist/warp/index-head.js +255 -22
- package/dist/warp/index-head.js.map +1 -1
- package/dist/warp/observers.d.ts.map +1 -1
- package/dist/warp/observers.js +3 -2
- package/dist/warp/observers.js.map +1 -1
- package/dist/warp/refactor-difficulty.d.ts.map +1 -1
- package/dist/warp/refactor-difficulty.js +4 -9
- package/dist/warp/refactor-difficulty.js.map +1 -1
- package/dist/warp/references.d.ts.map +1 -1
- package/dist/warp/references.js +2 -1
- package/dist/warp/references.js.map +1 -1
- package/dist/warp/semantic-enrichment.d.ts +14 -0
- package/dist/warp/semantic-enrichment.d.ts.map +1 -0
- package/dist/warp/semantic-enrichment.js +55 -0
- package/dist/warp/semantic-enrichment.js.map +1 -0
- package/dist/warp/structural-queries.d.ts.map +1 -1
- package/dist/warp/structural-queries.js +7 -14
- package/dist/warp/structural-queries.js.map +1 -1
- package/dist/warp/sym-id-codec.d.ts +14 -0
- package/dist/warp/sym-id-codec.d.ts.map +1 -0
- package/dist/warp/sym-id-codec.js +47 -0
- package/dist/warp/sym-id-codec.js.map +1 -0
- package/dist/warp/symbol-timeline.d.ts.map +1 -1
- package/dist/warp/symbol-timeline.js +6 -14
- package/dist/warp/symbol-timeline.js.map +1 -1
- package/dist/warp/warp-structural-churn.d.ts.map +1 -1
- package/dist/warp/warp-structural-churn.js +6 -10
- package/dist/warp/warp-structural-churn.js.map +1 -1
- package/dist/warp/warp-structural-log.d.ts.map +1 -1
- package/dist/warp/warp-structural-log.js +8 -10
- package/dist/warp/warp-structural-log.js.map +1 -1
- package/docs/CLI.md +63 -5
- package/docs/MCP.md +2 -1
- package/package.json +5 -2
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Refactor Difficulty — curvature x friction over WARP facts
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
import { observeGraph } from "./context.js";
|
|
5
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
5
6
|
import { symbolTimeline } from "./symbol-timeline.js";
|
|
6
7
|
import { countSymbolReferencesFromGraph } from "./warp-reference-count.js";
|
|
7
8
|
const CHANGE_EDGE_LABELS = ["adds", "changes", "removes"];
|
|
@@ -144,16 +145,10 @@ function compareDifficultyEntries(left, right) {
|
|
|
144
145
|
left.symbol.localeCompare(right.symbol);
|
|
145
146
|
}
|
|
146
147
|
function parseSymId(symId) {
|
|
147
|
-
|
|
148
|
+
const parsed = SymIdCodec.decode(symId);
|
|
149
|
+
if (parsed === null)
|
|
148
150
|
return null;
|
|
149
|
-
|
|
150
|
-
const lastColon = withoutPrefix.lastIndexOf(":");
|
|
151
|
-
if (lastColon === -1)
|
|
152
|
-
return null;
|
|
153
|
-
return {
|
|
154
|
-
filePath: withoutPrefix.slice(0, lastColon),
|
|
155
|
-
symbol: withoutPrefix.slice(lastColon + 1),
|
|
156
|
-
};
|
|
151
|
+
return { filePath: parsed.filePath, symbol: parsed.symbolPath };
|
|
157
152
|
}
|
|
158
153
|
function normalizeOptionalPath(path) {
|
|
159
154
|
if (path === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refactor-difficulty.js","sourceRoot":"","sources":["../../src/warp/refactor-difficulty.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"refactor-difficulty.js","sourceRoot":"","sources":["../../src/warp/refactor-difficulty.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/warp/references.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/warp/references.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,EAAE,CAAC,CA4C5B"}
|
package/dist/warp/references.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Symbol reference queries — find what depends on a symbol via the WARP graph
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
import { observeGraph } from "./context.js";
|
|
5
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
5
6
|
/**
|
|
6
7
|
* Find all files that reference a symbol, by querying the WARP graph's
|
|
7
8
|
* cross-file import resolution edges.
|
|
@@ -21,7 +22,7 @@ export async function referencesForSymbol(ctx, symbolName, filePath) {
|
|
|
21
22
|
// Determine the target node ID
|
|
22
23
|
const targetId = symbolName === "*"
|
|
23
24
|
? `file:${filePath}`
|
|
24
|
-
:
|
|
25
|
+
: SymIdCodec.encode(filePath, symbolName);
|
|
25
26
|
// Guard: target must exist for traverse to work.
|
|
26
27
|
const targetExists = await obs.hasNode(targetId);
|
|
27
28
|
if (!targetExists)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/warp/references.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAI9E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/warp/references.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAI9E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQ/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAgB,EAChB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAE7E,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,UAAU,KAAK,GAAG;QACjC,CAAC,CAAC,QAAQ,QAAQ,EAAE;QACpB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE5C,iDAAiD;IACjD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,2EAA2E;IAC3E,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE;QACnD,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,6CAA6C;IAC7C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE;SAClC,KAAK,CAAC,cAAc,CAAC;SACrB,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACvB,GAAG,EAAmB,CAAC;IAE1B,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAE/B,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACpG,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC7F,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtF,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PatchBuilderV2 } from "@git-stunts/git-warp";
|
|
2
|
+
import type { SemanticEnrichmentAvailableResult, SemanticEnrichmentFact } from "../ports/semantic-enrichment.js";
|
|
3
|
+
export interface PreparedSemanticFacts {
|
|
4
|
+
readonly acceptedFacts: readonly SemanticEnrichmentFact[];
|
|
5
|
+
readonly factsRejected: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function prepareSemanticFacts(input: {
|
|
8
|
+
readonly filePath: string;
|
|
9
|
+
readonly currentSymbolIds: ReadonlySet<string>;
|
|
10
|
+
readonly result: SemanticEnrichmentAvailableResult;
|
|
11
|
+
readonly maxFacts: number;
|
|
12
|
+
}): PreparedSemanticFacts;
|
|
13
|
+
export declare function emitSemanticFacts(patch: PatchBuilderV2, facts: readonly SemanticEnrichmentFact[]): void;
|
|
14
|
+
//# sourceMappingURL=semantic-enrichment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-enrichment.d.ts","sourceRoot":"","sources":["../../src/warp/semantic-enrichment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,iCAAiC,EACjC,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,aAAa,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,iCAAiC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GAAG,qBAAqB,CAsBxB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,SAAS,sBAAsB,EAAE,GACvC,IAAI,CAWN"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
2
|
+
export function prepareSemanticFacts(input) {
|
|
3
|
+
const acceptedFacts = [];
|
|
4
|
+
const maxFacts = normalizeFactLimit(input.maxFacts);
|
|
5
|
+
const factsToInspect = Math.min(input.result.facts.length, maxFacts);
|
|
6
|
+
let factsRejected = normalizeProviderFactsRejected(input.result.factsRejected) +
|
|
7
|
+
Math.max(0, input.result.facts.length - factsToInspect);
|
|
8
|
+
for (let index = 0; index < factsToInspect; index++) {
|
|
9
|
+
const fact = input.result.facts[index];
|
|
10
|
+
if (fact === undefined) {
|
|
11
|
+
factsRejected++;
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
if (!isAnchoredFact(input.filePath, input.currentSymbolIds, fact)) {
|
|
15
|
+
factsRejected++;
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
acceptedFacts.push(fact);
|
|
19
|
+
}
|
|
20
|
+
return { acceptedFacts, factsRejected };
|
|
21
|
+
}
|
|
22
|
+
export function emitSemanticFacts(patch, facts) {
|
|
23
|
+
for (const fact of facts) {
|
|
24
|
+
switch (fact.kind) {
|
|
25
|
+
case "call":
|
|
26
|
+
patch.addEdge(fact.fromSymbolId, fact.toSymbolId, "calls");
|
|
27
|
+
break;
|
|
28
|
+
case "typeof":
|
|
29
|
+
patch.setProperty(fact.symbolId, "typeof", fact.typeName);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function isAnchoredFact(filePath, currentSymbolIds, fact) {
|
|
35
|
+
switch (fact.kind) {
|
|
36
|
+
case "call":
|
|
37
|
+
return isCurrentFileSymbol(filePath, currentSymbolIds, fact.fromSymbolId) &&
|
|
38
|
+
isCurrentFileSymbol(filePath, currentSymbolIds, fact.toSymbolId);
|
|
39
|
+
case "typeof":
|
|
40
|
+
return fact.typeName.trim().length > 0 &&
|
|
41
|
+
isCurrentFileSymbol(filePath, currentSymbolIds, fact.symbolId);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function isCurrentFileSymbol(filePath, currentSymbolIds, symbolId) {
|
|
45
|
+
return SymIdCodec.isForFile(symbolId, filePath) && currentSymbolIds.has(symbolId);
|
|
46
|
+
}
|
|
47
|
+
function normalizeFactLimit(value) {
|
|
48
|
+
return Number.isSafeInteger(value) && value > 0 ? value : 0;
|
|
49
|
+
}
|
|
50
|
+
function normalizeProviderFactsRejected(value) {
|
|
51
|
+
if (value === undefined)
|
|
52
|
+
return 0;
|
|
53
|
+
return Number.isSafeInteger(value) && value >= 0 ? value : 0;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=semantic-enrichment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-enrichment.js","sourceRoot":"","sources":["../../src/warp/semantic-enrichment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-queries.d.ts","sourceRoot":"","sources":["../../src/warp/structural-queries.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"structural-queries.d.ts","sourceRoot":"","sources":["../../src/warp/structural-queries.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAShD,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C;AAED,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC3C;AAqBD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CA+DxB;AAwFD,0EAA0E;AAC1E,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAWxB"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* and batch prop reads. No getEdges() — filtering stays substrate-side.
|
|
7
7
|
*/
|
|
8
8
|
import { observeGraph } from "./context.js";
|
|
9
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
9
10
|
import { symbolTimeline } from "./symbol-timeline.js";
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// Internal helpers
|
|
@@ -20,14 +21,6 @@ function commitSymbolLens() {
|
|
|
20
21
|
expose: ["sha", "name", "kind", "signature", "exported"],
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
|
-
function filePathFromSymId(symId) {
|
|
24
|
-
const withoutPrefix = symId.slice("sym:".length);
|
|
25
|
-
const lastColon = withoutPrefix.lastIndexOf(":");
|
|
26
|
-
if (lastColon === -1) {
|
|
27
|
-
return withoutPrefix;
|
|
28
|
-
}
|
|
29
|
-
return withoutPrefix.slice(0, lastColon);
|
|
30
|
-
}
|
|
31
24
|
// ---------------------------------------------------------------------------
|
|
32
25
|
// Public API
|
|
33
26
|
// ---------------------------------------------------------------------------
|
|
@@ -58,7 +51,7 @@ export async function symbolsForCommit(ctx, commitSha) {
|
|
|
58
51
|
obs.traverse.bfs(commitId, { dir: "out", labelFilter: "changes", maxDepth: 1 }),
|
|
59
52
|
]);
|
|
60
53
|
// Batch prop read for discovered sym nodes.
|
|
61
|
-
const allSymIds = [...addedIds, ...changedIds].filter((id) =>
|
|
54
|
+
const allSymIds = [...addedIds, ...changedIds].filter((id) => SymIdCodec.isSymId(id));
|
|
62
55
|
const symPropsMap = new Map();
|
|
63
56
|
if (allSymIds.length > 0) {
|
|
64
57
|
const propsResult = await obs.query()
|
|
@@ -77,11 +70,11 @@ export async function symbolsForCommit(ctx, commitSha) {
|
|
|
77
70
|
const kind = typeof props["kind"] === "string" ? props["kind"] : "unknown";
|
|
78
71
|
const signature = typeof props["signature"] === "string" ? props["signature"] : undefined;
|
|
79
72
|
const exported = typeof props["exported"] === "boolean" ? props["exported"] : false;
|
|
80
|
-
const filePath =
|
|
73
|
+
const filePath = SymIdCodec.filePath(symId) ?? symId;
|
|
81
74
|
return { name, kind, signature, exported, filePath };
|
|
82
75
|
}
|
|
83
|
-
const added = addedIds.filter((id) =>
|
|
84
|
-
const changed = changedIds.filter((id) =>
|
|
76
|
+
const added = addedIds.filter((id) => SymIdCodec.isSymId(id)).map(toSymbolChange);
|
|
77
|
+
const changed = changedIds.filter((id) => SymIdCodec.isSymId(id)).map(toSymbolChange);
|
|
85
78
|
// Detect removals by temporal receipts across the Git commit's indexed
|
|
86
79
|
// Lamport window. Lazy indexing can write one WARP patch per file, so one
|
|
87
80
|
// Git commit may span multiple Lamport ticks.
|
|
@@ -129,7 +122,7 @@ async function detectRemovals(ctx, previousTick, tick) {
|
|
|
129
122
|
const removed = new Map();
|
|
130
123
|
for (const receipt of scopedReceipts) {
|
|
131
124
|
for (const op of receipt.ops) {
|
|
132
|
-
if (op.op === "NodeTombstone" && op.target
|
|
125
|
+
if (op.op === "NodeTombstone" && SymIdCodec.isSymId(op.target) && op.result === "applied") {
|
|
133
126
|
removed.set(op.target, receipt.lamport);
|
|
134
127
|
}
|
|
135
128
|
}
|
|
@@ -154,7 +147,7 @@ async function detectRemovals(ctx, previousTick, tick) {
|
|
|
154
147
|
const kind = typeof props["kind"] === "string" ? props["kind"] : "unknown";
|
|
155
148
|
const signature = typeof props["signature"] === "string" ? props["signature"] : undefined;
|
|
156
149
|
const exported = typeof props["exported"] === "boolean" ? props["exported"] : false;
|
|
157
|
-
const filePath =
|
|
150
|
+
const filePath = SymIdCodec.filePath(id) ?? id;
|
|
158
151
|
changes.push({ name, kind, signature, exported, filePath });
|
|
159
152
|
}
|
|
160
153
|
return changes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-queries.js","sourceRoot":"","sources":["../../src/warp/structural-queries.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwCtD,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,gBAAgB;IACvB,OAAO;QACL,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;QAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"structural-queries.js","sourceRoot":"","sources":["../../src/warp/structural-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SymIdParts {
|
|
2
|
+
readonly filePath: string;
|
|
3
|
+
readonly symbolPath: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const SymIdCodec: Readonly<{
|
|
6
|
+
encode(filePath: string, symbolPath: string): string;
|
|
7
|
+
decode(symId: string): SymIdParts | null;
|
|
8
|
+
filePath(symId: string): string | null;
|
|
9
|
+
isSymId(symId: string): boolean;
|
|
10
|
+
isForFile(symId: string, filePath: string): boolean;
|
|
11
|
+
filePattern(filePath: string): string;
|
|
12
|
+
symbolNamePattern(symbolName: string): string;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=sym-id-codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sym-id-codec.d.ts","sourceRoot":"","sources":["../../src/warp/sym-id-codec.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAUD,eAAO,MAAM,UAAU;qBACJ,MAAM,cAAc,MAAM,GAAG,MAAM;kBAItC,MAAM,GAAG,UAAU,GAAG,IAAI;oBAoBxB,MAAM,GAAG,MAAM,GAAG,IAAI;mBAIvB,MAAM,GAAG,OAAO;qBAId,MAAM,YAAY,MAAM,GAAG,OAAO;0BAI7B,MAAM,GAAG,MAAM;kCAIP,MAAM,GAAG,MAAM;EAG7C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const SYM_ID_PREFIX = "sym:";
|
|
2
|
+
function encodeSegment(segment) {
|
|
3
|
+
return segment.replace(/%/gu, "%25").replace(/:/gu, "%3A");
|
|
4
|
+
}
|
|
5
|
+
function decodeSegment(segment) {
|
|
6
|
+
return segment.replace(/%3A/giu, ":").replace(/%25/gu, "%");
|
|
7
|
+
}
|
|
8
|
+
export const SymIdCodec = Object.freeze({
|
|
9
|
+
encode(filePath, symbolPath) {
|
|
10
|
+
return `${SYM_ID_PREFIX}${encodeSegment(filePath)}:${encodeSegment(symbolPath)}`;
|
|
11
|
+
},
|
|
12
|
+
decode(symId) {
|
|
13
|
+
if (!symId.startsWith(SYM_ID_PREFIX)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const body = symId.slice(SYM_ID_PREFIX.length);
|
|
17
|
+
const separator = body.lastIndexOf(":");
|
|
18
|
+
if (separator <= 0 || separator === body.length - 1) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const filePath = decodeSegment(body.slice(0, separator));
|
|
22
|
+
const symbolPath = decodeSegment(body.slice(separator + 1));
|
|
23
|
+
if (filePath.length === 0 || symbolPath.length === 0) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
filePath,
|
|
28
|
+
symbolPath,
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
filePath(symId) {
|
|
32
|
+
return this.decode(symId)?.filePath ?? null;
|
|
33
|
+
},
|
|
34
|
+
isSymId(symId) {
|
|
35
|
+
return this.decode(symId) !== null;
|
|
36
|
+
},
|
|
37
|
+
isForFile(symId, filePath) {
|
|
38
|
+
return this.filePath(symId) === filePath;
|
|
39
|
+
},
|
|
40
|
+
filePattern(filePath) {
|
|
41
|
+
return `${SYM_ID_PREFIX}${encodeSegment(filePath)}:*`;
|
|
42
|
+
},
|
|
43
|
+
symbolNamePattern(symbolName) {
|
|
44
|
+
return `${SYM_ID_PREFIX}*:${encodeSegment(symbolName)}`;
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=sym-id-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sym-id-codec.js","sourceRoot":"","sources":["../../src/warp/sym-id-codec.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,MAAM,CAAC;AAO7B,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,MAAM,CAAC,QAAgB,EAAE,UAAkB;QACzC,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,QAAQ;YACR,UAAU;SACX,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,QAAgB;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,GAAG,aAAa,KAAK,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;IAC1D,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-timeline.d.ts","sourceRoot":"","sources":["../../src/warp/symbol-timeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"symbol-timeline.d.ts","sourceRoot":"","sources":["../../src/warp/symbol-timeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAO9D,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAkJD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
|
|
@@ -5,25 +5,16 @@
|
|
|
5
5
|
* patches that touched the symbol. Callers that need removed-symbol
|
|
6
6
|
* history must pass filePath so the symbol id is explicit.
|
|
7
7
|
*/
|
|
8
|
+
import { assertProvenanceTimelinePort, } from "../ports/provenance-timeline.js";
|
|
8
9
|
import { observeGraph } from "./context.js";
|
|
9
|
-
|
|
10
|
-
// Internal helpers
|
|
11
|
-
// ---------------------------------------------------------------------------
|
|
12
|
-
function filePathFromSymId(symId) {
|
|
13
|
-
const withoutPrefix = symId.slice("sym:".length);
|
|
14
|
-
const lastColon = withoutPrefix.lastIndexOf(":");
|
|
15
|
-
if (lastColon === -1) {
|
|
16
|
-
return withoutPrefix;
|
|
17
|
-
}
|
|
18
|
-
return withoutPrefix.slice(0, lastColon);
|
|
19
|
-
}
|
|
10
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
20
11
|
const EDGE_CHANGE_KIND = new Map([
|
|
21
12
|
["adds", "added"],
|
|
22
13
|
["changes", "changed"],
|
|
23
14
|
["removes", "removed"],
|
|
24
15
|
]);
|
|
25
16
|
function symIdFor(filePath, symbolName) {
|
|
26
|
-
return
|
|
17
|
+
return SymIdCodec.encode(filePath, symbolName);
|
|
27
18
|
}
|
|
28
19
|
function patchOps(patch) {
|
|
29
20
|
return Array.isArray(patch.ops) ? patch.ops : [];
|
|
@@ -73,18 +64,19 @@ async function versionFromPatch(ctx, symId, patch) {
|
|
|
73
64
|
signature: typeof signature === "string" ? signature : undefined,
|
|
74
65
|
startLine: typeof startLine === "number" ? startLine : undefined,
|
|
75
66
|
endLine: typeof endLine === "number" ? endLine : undefined,
|
|
76
|
-
filePath:
|
|
67
|
+
filePath: SymIdCodec.filePath(symId) ?? symId,
|
|
77
68
|
};
|
|
78
69
|
}
|
|
79
70
|
async function liveSymbolIds(ctx, symbolName, filePath) {
|
|
80
71
|
if (filePath !== undefined) {
|
|
81
72
|
return [symIdFor(filePath, symbolName)];
|
|
82
73
|
}
|
|
83
|
-
const obs = await observeGraph(ctx, { match:
|
|
74
|
+
const obs = await observeGraph(ctx, { match: SymIdCodec.symbolNamePattern(symbolName), expose: [] });
|
|
84
75
|
return obs.getNodes();
|
|
85
76
|
}
|
|
86
77
|
async function readTimelineVersions(ctx, symbolName, filePath) {
|
|
87
78
|
const core = ctx.app.core();
|
|
79
|
+
assertProvenanceTimelinePort(core);
|
|
88
80
|
const symIds = await liveSymbolIds(ctx, symbolName, filePath);
|
|
89
81
|
if (symIds.length === 0)
|
|
90
82
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-timeline.js","sourceRoot":"","sources":["../../src/warp/symbol-timeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"symbol-timeline.js","sourceRoot":"","sources":["../../src/warp/symbol-timeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,4BAA4B,GAE7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAsC/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAqB;IACnD,CAAC,MAAM,EAAE,OAAO,CAAC;IACjB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,SAAS,EAAE,SAAS,CAAC;CACvB,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,QAAgB,EAAE,UAAkB;IACpD,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,QAAQ,CAAC,KAA8B;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAQD,SAAS,cAAc,CAAC,KAAa,EAAE,KAA8B;IACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACpC,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAC5E,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ;YAAE,SAAS;QAE9D,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS;YAAE,SAAS;QAEvC,OAAO;YACL,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,UAAU;SACX,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,GAAgB,EAChB,KAAa,EACb,IAAY;IAEZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC;QAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;KACxC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,GAAgB,EAChB,KAAa,EACb,KAA8B;IAE9B,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnC,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS;QACvC,SAAS,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChE,SAAS,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAChE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1D,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK;KAC9C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAgB,EAChB,UAAkB,EAClB,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACrG,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,GAAgB,EAChB,UAAkB,EAClB,QAA4B;IAE5B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5B,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1F,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,OAAO,KAAK,IAAI;gBAAE,SAAS;YAE/B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACpF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAE5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAgB,EAChB,UAAkB,EAClB,QAAiB;IAEjB,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,QAAQ;QACR,QAAQ,EAAE,MAAM,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp-structural-churn.d.ts","sourceRoot":"","sources":["../../src/warp/warp-structural-churn.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"warp-structural-churn.d.ts","sourceRoot":"","sources":["../../src/warp/warp-structural-churn.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA+ChC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// WARP-based Structural Churn — aggregate-backed graph query
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
import { observeGraph } from "./context.js";
|
|
5
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
5
6
|
const CHANGE_EDGE_LABELS = ["adds", "changes", "removes"];
|
|
6
7
|
/**
|
|
7
8
|
* Compute structural churn entirely from the WARP graph.
|
|
@@ -103,8 +104,9 @@ function removedSymIds(receipts) {
|
|
|
103
104
|
const ids = [];
|
|
104
105
|
for (const receipt of receipts) {
|
|
105
106
|
for (const op of receipt.ops) {
|
|
106
|
-
if (op.op !== "NodeTombstone" || op.result !== "applied" || !op.target
|
|
107
|
+
if (op.op !== "NodeTombstone" || op.result !== "applied" || !SymIdCodec.isSymId(op.target)) {
|
|
107
108
|
continue;
|
|
109
|
+
}
|
|
108
110
|
if (!ids.includes(op.target)) {
|
|
109
111
|
ids.push(op.target);
|
|
110
112
|
}
|
|
@@ -170,16 +172,10 @@ async function shaForTick(obs, tick) {
|
|
|
170
172
|
: commit.id?.slice("commit:".length) ?? "";
|
|
171
173
|
}
|
|
172
174
|
function parseSymId(symId) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const withoutPrefix = symId.slice("sym:".length);
|
|
176
|
-
const lastColon = withoutPrefix.lastIndexOf(":");
|
|
177
|
-
if (lastColon === -1)
|
|
175
|
+
const parsed = SymIdCodec.decode(symId);
|
|
176
|
+
if (parsed === null)
|
|
178
177
|
return null;
|
|
179
|
-
return {
|
|
180
|
-
filePath: withoutPrefix.slice(0, lastColon),
|
|
181
|
-
symbol: withoutPrefix.slice(lastColon + 1),
|
|
182
|
-
};
|
|
178
|
+
return { filePath: parsed.filePath, symbol: parsed.symbolPath };
|
|
183
179
|
}
|
|
184
180
|
function matchesPathFilter(filePath, pathFilter) {
|
|
185
181
|
return pathFilter === undefined || filePath.startsWith(pathFilter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp-structural-churn.js","sourceRoot":"","sources":["../../src/warp/warp-structural-churn.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAI9E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"warp-structural-churn.js","sourceRoot":"","sources":["../../src/warp/warp-structural-churn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp-structural-log.d.ts","sourceRoot":"","sources":["../../src/warp/warp-structural-log.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"warp-structural-log.d.ts","sourceRoot":"","sources":["../../src/warp/warp-structural-log.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,gEAAgE;AAChE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,SAAS,yBAAyB,EAAE,CAAC;QACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;QACvD,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;KACxD,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAoGxC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// WARP-based Structural Log — replaces git log SHA walking
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
import { observeGraph } from "./context.js";
|
|
5
|
+
import { SymIdCodec } from "./sym-id-codec.js";
|
|
5
6
|
/**
|
|
6
7
|
* Produce a structural log entirely from the WARP graph.
|
|
7
8
|
*
|
|
@@ -58,26 +59,23 @@ export async function structuralLogFromGraph(ctx, options) {
|
|
|
58
59
|
maxDepth: 1,
|
|
59
60
|
});
|
|
60
61
|
for (const symId of symIds) {
|
|
61
|
-
|
|
62
|
+
const parsed = SymIdCodec.decode(symId);
|
|
63
|
+
if (parsed === null)
|
|
62
64
|
continue;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
continue;
|
|
67
|
-
const filePath = withoutPrefix.slice(0, lastColon);
|
|
68
|
-
const symbolName = withoutPrefix.slice(lastColon + 1);
|
|
69
|
-
if (pathFilter !== undefined && !filePath.startsWith(pathFilter))
|
|
65
|
+
if (pathFilter !== undefined &&
|
|
66
|
+
parsed.filePath !== pathFilter &&
|
|
67
|
+
!parsed.filePath.startsWith(`${pathFilter}/`))
|
|
70
68
|
continue;
|
|
71
69
|
const symProps = await obs.getNodeProps(symId);
|
|
72
70
|
const kind = typeof symProps?.["kind"] === "string" ? symProps["kind"] : "unknown";
|
|
73
71
|
const signature = typeof symProps?.["signature"] === "string" ? symProps["signature"] : undefined;
|
|
74
72
|
const exported = typeof symProps?.["exported"] === "boolean" ? symProps["exported"] : false;
|
|
75
73
|
const change = {
|
|
76
|
-
name:
|
|
74
|
+
name: parsed.symbolPath,
|
|
77
75
|
kind,
|
|
78
76
|
signature,
|
|
79
77
|
exported,
|
|
80
|
-
filePath,
|
|
78
|
+
filePath: parsed.filePath,
|
|
81
79
|
};
|
|
82
80
|
if (key === "added")
|
|
83
81
|
added.push(change);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp-structural-log.js","sourceRoot":"","sources":["../../src/warp/warp-structural-log.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAI9E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"warp-structural-log.js","sourceRoot":"","sources":["../../src/warp/warp-structural-log.ts"],"names":[],"mappings":"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"}
|