@descryy/core 0.6.3 → 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/dist/contracts/index.d.ts +3 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +2 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/paths.d.ts +7 -0
- package/dist/contracts/paths.d.ts.map +1 -1
- package/dist/contracts/paths.js +7 -4
- package/dist/contracts/paths.js.map +1 -1
- package/dist/contracts/shapes.d.ts +12 -1
- package/dist/contracts/shapes.d.ts.map +1 -1
- package/dist/contracts/shapes.js +68 -0
- package/dist/contracts/shapes.js.map +1 -1
- package/dist/contracts/workspace-join.d.ts +104 -0
- package/dist/contracts/workspace-join.d.ts.map +1 -0
- package/dist/contracts/workspace-join.js +208 -0
- package/dist/contracts/workspace-join.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/query/index.d.ts +7 -3
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +4 -2
- package/dist/query/index.js.map +1 -1
- package/dist/query/model-table.d.ts +7 -0
- package/dist/query/model-table.d.ts.map +1 -1
- package/dist/query/model-table.js +7 -4
- package/dist/query/model-table.js.map +1 -1
- package/dist/query/persistence-reach.d.ts +150 -0
- package/dist/query/persistence-reach.d.ts.map +1 -0
- package/dist/query/persistence-reach.js +393 -0
- package/dist/query/persistence-reach.js.map +1 -0
- package/dist/query/queries.d.ts +5 -0
- package/dist/query/queries.d.ts.map +1 -1
- package/dist/query/queries.js +58 -0
- package/dist/query/queries.js.map +1 -1
- package/dist/query/user-chain.d.ts +89 -0
- package/dist/query/user-chain.d.ts.map +1 -0
- package/dist/query/user-chain.js +203 -0
- package/dist/query/user-chain.js.map +1 -0
- package/dist/sources/git/history.d.ts +12 -0
- package/dist/sources/git/history.d.ts.map +1 -1
- package/dist/sources/git/history.js +27 -0
- package/dist/sources/git/history.js.map +1 -1
- package/dist/sources/git/index.d.ts +1 -1
- package/dist/sources/git/index.d.ts.map +1 -1
- package/dist/sources/git/index.js +1 -1
- package/dist/sources/git/index.js.map +1 -1
- package/dist/store/incremental-cache.d.ts +120 -0
- package/dist/store/incremental-cache.d.ts.map +1 -0
- package/dist/store/incremental-cache.js +161 -0
- package/dist/store/incremental-cache.js.map +1 -0
- package/dist/store/index.d.ts +2 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/reader.d.ts.map +1 -1
- package/dist/store/reader.js +6 -1
- package/dist/store/reader.js.map +1 -1
- package/dist/store/schema.d.ts +4 -4
- package/dist/store/schema.d.ts.map +1 -1
- package/dist/store/schema.js +46 -1
- package/dist/store/schema.js.map +1 -1
- package/dist/store/writer.d.ts.map +1 -1
- package/dist/store/writer.js +4 -3
- package/dist/store/writer.js.map +1 -1
- package/dist/tiers/certify.d.ts +174 -0
- package/dist/tiers/certify.d.ts.map +1 -1
- package/dist/tiers/certify.js +309 -5
- package/dist/tiers/certify.js.map +1 -1
- package/dist/tiers/index.d.ts +1 -1
- package/dist/tiers/index.d.ts.map +1 -1
- package/dist/tiers/index.js.map +1 -1
- package/dist/workspace/graph-layout.d.ts +85 -0
- package/dist/workspace/graph-layout.d.ts.map +1 -0
- package/dist/workspace/graph-layout.js +90 -0
- package/dist/workspace/graph-layout.js.map +1 -0
- package/dist/workspace/index.d.ts +3 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +2 -0
- package/dist/workspace/index.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/** RG-9: the five-hop user chain — click → request → endpoint → route →
|
|
2
|
+
* handler → line — made askable as **one traversal** with a computed
|
|
3
|
+
* completeness verdict, so "chain complete" is a field a caller reads, not
|
|
4
|
+
* a string a mockup typed.
|
|
5
|
+
*
|
|
6
|
+
* Every hop already exists somewhere in the graph before this module: the
|
|
7
|
+
* browser tools write `COMPONENT/PAGE/FUNCTION --USES_API--> API_ENDPOINT`
|
|
8
|
+
* at R4 when a request is witnessed (`packages/mcp/src/browser/graph-write.ts`);
|
|
9
|
+
* `API_ROUTE --SERVES_API--> API_ENDPOINT` and `API_ROUTE --CALLS--> FUNCTION`
|
|
10
|
+
* are structural edges adapters already emit (golden pattern 04). Nothing
|
|
11
|
+
* before this walked all of them in one call — a caller had to run three
|
|
12
|
+
* separate queries and assemble the answer itself, with no single field
|
|
13
|
+
* saying whether the assembly actually reached the end.
|
|
14
|
+
*
|
|
15
|
+
* New query over existing edges only. No new node type, no new edge type
|
|
16
|
+
* (architecture rule: "new capabilities are new queries over these edges,
|
|
17
|
+
* not new types").
|
|
18
|
+
*
|
|
19
|
+
* ## Two degradations, carried honestly rather than hidden
|
|
20
|
+
*
|
|
21
|
+
* - **`request`** needs a `USES_API` edge leaving the origin. That edge is
|
|
22
|
+
* written at R4 only when the browser session that produced it was
|
|
23
|
+
* started with a `stackParser` (`browser_start_session`); without one, no
|
|
24
|
+
* caller edge is written at all, and this hop is named missing —
|
|
25
|
+
* never silently skipped, because a user reading an edgeless run as a
|
|
26
|
+
* clean one is exactly the failure mode this exists to prevent. A
|
|
27
|
+
* lower-resolution structural `USES_API` edge (a typed API client call
|
|
28
|
+
* site resolved without ever running anything) still counts if one
|
|
29
|
+
* exists; the note only fires when nothing does.
|
|
30
|
+
* - **`route` → `handler`** (the `CALLS` edge) ships for express,
|
|
31
|
+
* koa-router, fastify, hono and the Next.js App Router today, and only in
|
|
32
|
+
* `adapter-typescript`. This module names **zero** language above the
|
|
33
|
+
* IR boundary — it walks `CALLS` and reports what it finds. The
|
|
34
|
+
* TypeScript-only reach is a fact about which adapters currently emit
|
|
35
|
+
* that edge, not a branch here; a tenth adapter that starts emitting it
|
|
36
|
+
* tomorrow needs no change to this file.
|
|
37
|
+
*
|
|
38
|
+
* Once one hop is missing the walk stops rather than guessing past it —
|
|
39
|
+
* every stage after the first miss is reported `not attempted`, distinct
|
|
40
|
+
* from a stage that was attempted and came back empty. */
|
|
41
|
+
import { reliabilityCap } from "@descryy/ir";
|
|
42
|
+
import { createResolutionFloor } from "./resolution-floor.js";
|
|
43
|
+
export const CHAIN_STAGE_ORDER = [
|
|
44
|
+
"click",
|
|
45
|
+
"request",
|
|
46
|
+
"endpoint",
|
|
47
|
+
"route",
|
|
48
|
+
"handler",
|
|
49
|
+
"line",
|
|
50
|
+
];
|
|
51
|
+
const NO_STACK_PARSER_REASON = "No USES_API edge leaves this node. A browser session records that edge at R4 only when " +
|
|
52
|
+
"started with a stackParser (browser_start_session); without one, a real click can still " +
|
|
53
|
+
"reach an endpoint at runtime and this chain will not show it. This is a disclosed " +
|
|
54
|
+
"degradation, not a clean run — a missing hop here is not evidence the click never happened.";
|
|
55
|
+
const NOT_ATTEMPTED = "Not attempted: an earlier hop in this chain is already missing.";
|
|
56
|
+
function stageAbsent(name, reason) {
|
|
57
|
+
return { name, present: false, node: null, edge: null, reason };
|
|
58
|
+
}
|
|
59
|
+
function stagePresent(name, node, edge) {
|
|
60
|
+
return { name, present: true, node, edge, reason: null };
|
|
61
|
+
}
|
|
62
|
+
function stampFor(provider, resolutionFloor) {
|
|
63
|
+
return { ...provider.baseStamp(), resolutionFloor };
|
|
64
|
+
}
|
|
65
|
+
/** Best-evidenced edge first: `provider.outgoing`/`incoming` already rank by
|
|
66
|
+
* resolution then confidence (`rankEdges`), so `[0]` is the strongest one. */
|
|
67
|
+
function bestEdge(edges) {
|
|
68
|
+
return edges[0];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Walks click → request → endpoint → route → handler → line from `originId`
|
|
72
|
+
* — a `COMPONENT`, `PAGE` or `FUNCTION` node id, wherever browser evidence
|
|
73
|
+
* names the caller — and reports the whole chain with a verdict computed
|
|
74
|
+
* from what was actually found, never assumed complete.
|
|
75
|
+
*/
|
|
76
|
+
export function traceUserChain(provider, originId) {
|
|
77
|
+
const floor = createResolutionFloor();
|
|
78
|
+
const origin = provider.node(originId);
|
|
79
|
+
if (origin === undefined) {
|
|
80
|
+
return {
|
|
81
|
+
data: {
|
|
82
|
+
origin: {
|
|
83
|
+
id: originId,
|
|
84
|
+
type: "COMPONENT",
|
|
85
|
+
name: originId,
|
|
86
|
+
file: null,
|
|
87
|
+
range: null,
|
|
88
|
+
language: null,
|
|
89
|
+
producedBy: "unknown",
|
|
90
|
+
resolution: 0,
|
|
91
|
+
attrs: {},
|
|
92
|
+
},
|
|
93
|
+
stages: CHAIN_STAGE_ORDER.map((name) => name === "click" ? stageAbsent("click", `No node ${originId} exists in this graph.`) : stageAbsent(name, NOT_ATTEMPTED)),
|
|
94
|
+
verdict: "partial",
|
|
95
|
+
missingStage: "click",
|
|
96
|
+
location: null,
|
|
97
|
+
reliability: "C",
|
|
98
|
+
},
|
|
99
|
+
stamp: stampFor(provider, 0),
|
|
100
|
+
truncated: false,
|
|
101
|
+
notes: [`No node ${originId} exists in this graph. Nothing was walked.`],
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
floor.observe(origin.resolution);
|
|
105
|
+
const stages = [stagePresent("click", origin, null)];
|
|
106
|
+
const notes = [];
|
|
107
|
+
let missingStage = null;
|
|
108
|
+
let location = null;
|
|
109
|
+
const fail = (remaining, firstReason) => {
|
|
110
|
+
const [first, ...rest] = remaining;
|
|
111
|
+
if (first === undefined)
|
|
112
|
+
return;
|
|
113
|
+
stages.push(stageAbsent(first, firstReason));
|
|
114
|
+
for (const name of rest)
|
|
115
|
+
stages.push(stageAbsent(name, NOT_ATTEMPTED));
|
|
116
|
+
missingStage = first;
|
|
117
|
+
};
|
|
118
|
+
// Hop 1: click -> request -> endpoint (the two share one crossed edge —
|
|
119
|
+
// there is no node type for an HTTP request, so "request" reports the
|
|
120
|
+
// edge with no node of its own, and "endpoint" reports the node it named).
|
|
121
|
+
const usesApi = bestEdge(provider.outgoing(origin.id, { types: ["USES_API"] }));
|
|
122
|
+
if (usesApi === undefined) {
|
|
123
|
+
notes.push(NO_STACK_PARSER_REASON);
|
|
124
|
+
fail(["request", "endpoint", "route", "handler", "line"], NO_STACK_PARSER_REASON);
|
|
125
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
126
|
+
}
|
|
127
|
+
const endpoint = provider.node(usesApi.to);
|
|
128
|
+
if (endpoint === undefined) {
|
|
129
|
+
fail(["request", "endpoint", "route", "handler", "line"], "A USES_API edge exists but its target node is no longer in the graph — the graph and this " +
|
|
130
|
+
"edge have drifted apart.");
|
|
131
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
132
|
+
}
|
|
133
|
+
floor.observe(usesApi.resolution);
|
|
134
|
+
floor.observe(endpoint.resolution);
|
|
135
|
+
stages.push(stagePresent("request", null, usesApi));
|
|
136
|
+
stages.push(stagePresent("endpoint", endpoint, usesApi));
|
|
137
|
+
// Hop 3: endpoint -> route, crossing SERVES_API backward (it is stored
|
|
138
|
+
// API_ROUTE --SERVES_API--> API_ENDPOINT).
|
|
139
|
+
const servesApi = bestEdge(provider.incoming(endpoint.id, { types: ["SERVES_API"] }));
|
|
140
|
+
if (servesApi === undefined) {
|
|
141
|
+
fail(["route", "handler", "line"], "No API_ROUTE in the graph serves this endpoint (no SERVES_API edge). The endpoint may come " +
|
|
142
|
+
"from an OpenAPI/contract source with no matching route ever adapted, or from a route this " +
|
|
143
|
+
"graph has not yet resolved.");
|
|
144
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
145
|
+
}
|
|
146
|
+
const route = provider.node(servesApi.from);
|
|
147
|
+
if (route === undefined) {
|
|
148
|
+
fail(["route", "handler", "line"], "A SERVES_API edge exists but its route node is no longer in the graph.");
|
|
149
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
150
|
+
}
|
|
151
|
+
floor.observe(servesApi.resolution);
|
|
152
|
+
floor.observe(route.resolution);
|
|
153
|
+
stages.push(stagePresent("route", route, servesApi));
|
|
154
|
+
// Hop 4: route -> handler, crossing CALLS. Language-agnostic by construction:
|
|
155
|
+
// this walks whatever CALLS edges exist and reports what it finds. Today
|
|
156
|
+
// that is TypeScript's express/koa-router/fastify/hono/Next.js App Router
|
|
157
|
+
// extractors — a fact about which adapters emit the edge, not a check here.
|
|
158
|
+
const calls = bestEdge(provider.outgoing(route.id, { types: ["CALLS"] }));
|
|
159
|
+
if (calls === undefined) {
|
|
160
|
+
fail(["handler", "line"], "No CALLS edge leaves this route to a handler function. Only a narrow set of adapters and " +
|
|
161
|
+
"frameworks emit this edge today (see that adapter's own capability declaration for the " +
|
|
162
|
+
"exact reach) — for a stack outside that reach, or for a route no adapter resolved, no " +
|
|
163
|
+
"CALLS edge exists yet. That is a producer gap, not evidence this route has no handler.");
|
|
164
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
165
|
+
}
|
|
166
|
+
const handler = provider.node(calls.to);
|
|
167
|
+
if (handler === undefined) {
|
|
168
|
+
fail(["handler", "line"], "A CALLS edge exists but its handler node is no longer in the graph.");
|
|
169
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
170
|
+
}
|
|
171
|
+
floor.observe(calls.resolution);
|
|
172
|
+
floor.observe(handler.resolution);
|
|
173
|
+
stages.push(stagePresent("handler", handler, calls));
|
|
174
|
+
// Hop 5: handler -> line. A node attribute (file + range), not an edge.
|
|
175
|
+
if (handler.file === null || handler.range === null) {
|
|
176
|
+
fail(["line"], "The handler resolved but carries no source location (file/range), so the responsible line " +
|
|
177
|
+
"cannot be named. This can happen for a handler resolved from a declaration with no body " +
|
|
178
|
+
"in this repository, e.g. an external symbol.");
|
|
179
|
+
return finish(provider, origin, stages, missingStage, location, floor, notes);
|
|
180
|
+
}
|
|
181
|
+
location = { file: handler.file, startLine: handler.range.startLine };
|
|
182
|
+
stages.push(stagePresent("line", handler, null));
|
|
183
|
+
return finish(provider, origin, stages, null, location, floor, notes);
|
|
184
|
+
}
|
|
185
|
+
function finish(provider, origin, stages, missingStage, location, floor, notes) {
|
|
186
|
+
const verdict = missingStage === null ? "complete" : "partial";
|
|
187
|
+
// Structural, name-level edges throughout (USES_API/SERVES_API/CALLS) — no
|
|
188
|
+
// shape claim is made, so R2 reaches A like any other name-level fact
|
|
189
|
+
// (rule 3), and R4 (a witnessed request) is unconditionally A.
|
|
190
|
+
const reliability = reliabilityCap(floor.value(), true);
|
|
191
|
+
const allNotes = [...notes];
|
|
192
|
+
if (verdict === "partial") {
|
|
193
|
+
allNotes.push(`Chain incomplete at "${missingStage}". A partial chain is reported rather than an empty or ` +
|
|
194
|
+
"silently shortened one, so the missing hop is visible and the right producer can be fixed.");
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
data: { origin, stages, verdict, missingStage, location, reliability },
|
|
198
|
+
stamp: stampFor(provider, floor.value()),
|
|
199
|
+
truncated: false,
|
|
200
|
+
notes: allNotes,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=user-chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-chain.js","sourceRoot":"","sources":["../../src/query/user-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,4 +117,16 @@ export interface WorkingTreeFilesOptions {
|
|
|
117
117
|
* written for.
|
|
118
118
|
*/
|
|
119
119
|
export declare function workingTreeChangedFiles(cwd: string, options?: WorkingTreeFilesOptions): Promise<string[]>;
|
|
120
|
+
/**
|
|
121
|
+
* Every file the working tree currently has — tracked, plus untracked-but-not-
|
|
122
|
+
* ignored (a new source file written and not yet `git add`-ed still counts).
|
|
123
|
+
* Distinct from {@link workingTreeChangedFiles}, which answers "what changed
|
|
124
|
+
* since a revision"; this answers "what exists right now", which is what Gap 6's
|
|
125
|
+
* incremental-reuse check (`planIncrementalReuse` in `@descryy/core`'s store
|
|
126
|
+
* package) needs to detect a new candidate file with no prior revision to diff
|
|
127
|
+
* against. `null`, never an empty array, when this cannot be determined at all
|
|
128
|
+
* (not a git repository, or git itself unavailable) — a caller must never read
|
|
129
|
+
* that as "no files exist".
|
|
130
|
+
*/
|
|
131
|
+
export declare function listWorkingTreeFiles(cwd: string): Promise<readonly string[] | null>;
|
|
120
132
|
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/sources/git/history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/sources/git/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -340,4 +340,31 @@ export async function workingTreeChangedFiles(cwd, options = {}) {
|
|
|
340
340
|
const excluded = (path) => (options.exclude ?? []).some((prefix) => path === prefix || path.startsWith(`${prefix}/`));
|
|
341
341
|
return [...new Set([...tracked, ...untracked])].filter((p) => !excluded(p)).sort();
|
|
342
342
|
}
|
|
343
|
+
/**
|
|
344
|
+
* Every file the working tree currently has — tracked, plus untracked-but-not-
|
|
345
|
+
* ignored (a new source file written and not yet `git add`-ed still counts).
|
|
346
|
+
* Distinct from {@link workingTreeChangedFiles}, which answers "what changed
|
|
347
|
+
* since a revision"; this answers "what exists right now", which is what Gap 6's
|
|
348
|
+
* incremental-reuse check (`planIncrementalReuse` in `@descryy/core`'s store
|
|
349
|
+
* package) needs to detect a new candidate file with no prior revision to diff
|
|
350
|
+
* against. `null`, never an empty array, when this cannot be determined at all
|
|
351
|
+
* (not a git repository, or git itself unavailable) — a caller must never read
|
|
352
|
+
* that as "no files exist".
|
|
353
|
+
*/
|
|
354
|
+
export async function listWorkingTreeFiles(cwd) {
|
|
355
|
+
if (!(await isGitRepository(cwd).catch(() => false)))
|
|
356
|
+
return null;
|
|
357
|
+
try {
|
|
358
|
+
const { stdout } = await run("git", ["ls-files", "-z", "--cached", "--others", "--exclude-standard"], {
|
|
359
|
+
cwd,
|
|
360
|
+
maxBuffer: 64 * 1024 * 1024,
|
|
361
|
+
});
|
|
362
|
+
return [...new Set(stdout.split("\0").filter((path) => path !== ""))].sort();
|
|
363
|
+
}
|
|
364
|
+
catch {
|
|
365
|
+
// A repo that refuses ls-files (corrupted index, permissions) is the same
|
|
366
|
+
// "cannot determine" case `isPathTrackedByGit` already treats as null above.
|
|
367
|
+
return null;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
343
370
|
//# sourceMappingURL=history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/sources/git/history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/sources/git/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createGitSource, revertedShaOf, GIT_SOURCE_ID, GIT_SOURCE_VERSION, UNDIRECTED_EDGE_TYPES, } from "./source.ts";
|
|
2
2
|
export type { GitSourceOptions } from "./source.ts";
|
|
3
|
-
export { readHistory, gitHead, isGitRepository, GitUnavailableError, isPathTrackedByGit, filesInCommit, changedFiles, resolveCommitBySha, logForPath, } from "./history.ts";
|
|
3
|
+
export { readHistory, gitHead, isGitRepository, GitUnavailableError, isPathTrackedByGit, filesInCommit, changedFiles, resolveCommitBySha, logForPath, listWorkingTreeFiles, } from "./history.ts";
|
|
4
4
|
export type { Commit, CommitChange, HistoryOptions, PathLogCommit, PathLogOptions, PathLogResult, } from "./history.ts";
|
|
5
5
|
export { addedLineRanges, gitDiff, gitWorkingTreeChange, gitWorkingTreeDiff, TOTAL_PATCH_BUDGET_REASON_PREFIX, } from "./diff.ts";
|
|
6
6
|
export { uncommittedAmong, workingTreeChangedFiles } from "./history.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sources/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sources/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,MAAM,EACN,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,OAAO,EACP,oBAAoB,EACpB,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,SAAS,GACV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createGitSource, revertedShaOf, GIT_SOURCE_ID, GIT_SOURCE_VERSION, UNDIRECTED_EDGE_TYPES, } from "./source.js";
|
|
2
|
-
export { readHistory, gitHead, isGitRepository, GitUnavailableError, isPathTrackedByGit, filesInCommit, changedFiles, resolveCommitBySha, logForPath, } from "./history.js";
|
|
2
|
+
export { readHistory, gitHead, isGitRepository, GitUnavailableError, isPathTrackedByGit, filesInCommit, changedFiles, resolveCommitBySha, logForPath, listWorkingTreeFiles, } from "./history.js";
|
|
3
3
|
export { addedLineRanges, gitDiff, gitWorkingTreeChange, gitWorkingTreeDiff, TOTAL_PATCH_BUDGET_REASON_PREFIX, } from "./diff.js";
|
|
4
4
|
export { uncommittedAmong, workingTreeChangedFiles } from "./history.js";
|
|
5
5
|
export { detectIncidents } from "./incidents.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sources/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,eAAe,EACf,OAAO,EACP,oBAAoB,EACpB,kBAAkB,EAClB,gCAAgC,GACjC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAWzE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gap 6 (steps 1-2): a real per-file IR cache, not a hash-gate.
|
|
3
|
+
*
|
|
4
|
+
* `file_hashes` (writer.ts) only ever stored a hash — no cached IR — so there was
|
|
5
|
+
* no way to "still supply" a skipped file's nodes/edges to `writeBatch` without
|
|
6
|
+
* re-parsing it. `writeBatch`'s hard invariant is that the batch a producer
|
|
7
|
+
* supplies is the *complete truth* for `producedBy`+`repo` (DEC-015): anything a
|
|
8
|
+
* prior run owned that a batch doesn't re-supply is evicted. Naive hash-gating
|
|
9
|
+
* that simply omitted an unchanged file from a batch would therefore have the
|
|
10
|
+
* writer silently evict that file's rows as stale.
|
|
11
|
+
*
|
|
12
|
+
* This module stores each file's actual contribution — its nodes, the edges
|
|
13
|
+
* whose `from` node lives in it, and its unresolved refs — so a caller (see
|
|
14
|
+
* `analyze.ts`) can reconstruct a producer's *entire* batch from cache when
|
|
15
|
+
* nothing changed, and re-supply it to `writeBatch` intact. The invariant is
|
|
16
|
+
* preserved by construction: the reconstructed batch is byte-for-byte what the
|
|
17
|
+
* last real run produced, so nothing the writer would evict is ever missing.
|
|
18
|
+
*
|
|
19
|
+
* Cross-file invalidation is explicitly out of scope for this pass (a renamed
|
|
20
|
+
* export in file A affecting file B's call-resolution edges, say). That is safe
|
|
21
|
+
* here only because the decision this cache feeds (`planIncrementalReuse` in
|
|
22
|
+
* `analyze.ts`) is whole-producer, not per-file: a batch is only ever
|
|
23
|
+
* reconstructed from cache when *every* file the producer last read is
|
|
24
|
+
* confirmed byte-identical, so whatever cross-file synthesis the producer would
|
|
25
|
+
* have computed from its complete input is unchanged too (assuming the producer
|
|
26
|
+
* is a deterministic function of its input, which `writeBatch`'s own same-batch
|
|
27
|
+
* idempotence already relies on). What this module does NOT support — and must
|
|
28
|
+
* not be used for — is reusing one file's cached contribution while a *sibling*
|
|
29
|
+
* file changed; that would risk exactly the cross-file staleness this comment
|
|
30
|
+
* warns about, which is why nothing here offers a partial/per-file reconstruction
|
|
31
|
+
* path.
|
|
32
|
+
*/
|
|
33
|
+
import type { IREdge, IRNode, SkippedFile, UnresolvedRef } from "@descryy/ir";
|
|
34
|
+
import type { SqlDriver } from "./driver/driver.ts";
|
|
35
|
+
export interface CachedFileEntry {
|
|
36
|
+
readonly filePath: string;
|
|
37
|
+
readonly contentHash: string;
|
|
38
|
+
readonly nodes: readonly IRNode[];
|
|
39
|
+
readonly edges: readonly IREdge[];
|
|
40
|
+
readonly unresolved: readonly UnresolvedRef[];
|
|
41
|
+
}
|
|
42
|
+
export interface CachedProducerFiles {
|
|
43
|
+
readonly files: ReadonlyMap<string, CachedFileEntry>;
|
|
44
|
+
/** `undefined` only when `files` is empty — a cold cache. */
|
|
45
|
+
readonly reachedResolution: number | undefined;
|
|
46
|
+
readonly skippedFiles: readonly SkippedFile[];
|
|
47
|
+
}
|
|
48
|
+
/** Sentinel `file_path` for a batch's fileless/cross-file contribution — nodes
|
|
49
|
+
* with no `file`, plus edges whose `from` node isn't attributable to any one
|
|
50
|
+
* cached file. Never compared for change on its own (see the module doc); only
|
|
51
|
+
* ever reused as part of a whole-producer reconstruction. */
|
|
52
|
+
export declare const FILELESS_CACHE_KEY = "";
|
|
53
|
+
export declare function getCachedFiles(driver: SqlDriver, producedBy: string, repo: string): CachedProducerFiles;
|
|
54
|
+
/** Replaces the entire per-file cache for one producer — always a full
|
|
55
|
+
* delete+reinsert, never a partial update: the caller only calls this right
|
|
56
|
+
* after a real, complete `emit()`, so partial-update bookkeeping (which rows
|
|
57
|
+
* survive, which don't) is not a distinction this module needs to make. */
|
|
58
|
+
export declare function replaceCachedFiles(driver: SqlDriver, producedBy: string, repo: string, entries: readonly CachedFileEntry[], reachedResolution: number, skippedFiles: readonly SkippedFile[], now: number): void;
|
|
59
|
+
/** Partitions one producer's batch by file, so each file's contribution can be
|
|
60
|
+
* cached and later reconstructed without the others. Every entry in
|
|
61
|
+
* `sourceFiles` gets a bucket even when it contributed nothing (an empty file,
|
|
62
|
+
* or one that only produced unresolved refs) — omitting it would silently drop
|
|
63
|
+
* it from a reconstructed batch's `sourceFiles`, which is exactly the eviction
|
|
64
|
+
* bug this module exists to prevent. An edge is attributed to the file of its
|
|
65
|
+
* `from` node when that node is in this same batch; otherwise (and for every
|
|
66
|
+
* fileless node) it lands in `FILELESS_CACHE_KEY`. `contentHash` is left for
|
|
67
|
+
* the caller to fill in (it needs to read the file off disk, which this pure
|
|
68
|
+
* function deliberately does not do) — this returns nodes/edges/unresolved
|
|
69
|
+
* only, keyed by file path. */
|
|
70
|
+
export declare function partitionBatchByFile(batch: {
|
|
71
|
+
readonly sourceFiles: readonly string[];
|
|
72
|
+
readonly nodes: readonly IRNode[];
|
|
73
|
+
readonly edges: readonly IREdge[];
|
|
74
|
+
readonly unresolved: readonly UnresolvedRef[];
|
|
75
|
+
}): ReadonlyMap<string, {
|
|
76
|
+
nodes: IRNode[];
|
|
77
|
+
edges: IREdge[];
|
|
78
|
+
unresolved: UnresolvedRef[];
|
|
79
|
+
}>;
|
|
80
|
+
export interface IncrementalReuseInput {
|
|
81
|
+
/** The real (non-sentinel) file paths a producer's cache currently holds —
|
|
82
|
+
* i.e. `[...getCachedFiles(...).files.keys()].filter((k) => k !== FILELESS_CACHE_KEY)`. */
|
|
83
|
+
readonly cachedPaths: readonly string[];
|
|
84
|
+
/** Every path the working tree currently has, or `null` when it could not be
|
|
85
|
+
* determined (git unavailable, not a repository, ...). `null` always forces a
|
|
86
|
+
* full reparse — "cannot tell whether a new file appeared" is never treated
|
|
87
|
+
* as "no new file appeared". */
|
|
88
|
+
readonly repoPaths: readonly string[] | null;
|
|
89
|
+
/** Current on-disk content hash, for `cachedPaths` only — the caller need not
|
|
90
|
+
* hash anything else, since only `cachedPaths` participate in the isChanged
|
|
91
|
+
* check below. */
|
|
92
|
+
readonly currentHashes: ReadonlyMap<string, string>;
|
|
93
|
+
readonly cachedHashes: ReadonlyMap<string, string>;
|
|
94
|
+
}
|
|
95
|
+
export interface IncrementalReuseDecision {
|
|
96
|
+
readonly canReuse: boolean;
|
|
97
|
+
readonly reason: string;
|
|
98
|
+
}
|
|
99
|
+
/** Whole-producer reuse decision (Gap 6 step 3). Deliberately conservative and
|
|
100
|
+
* deliberately NOT per-file: partial (some-files-cached, some-fresh) reuse
|
|
101
|
+
* would require re-invoking a `LanguageAdapter` on a file subset, which this
|
|
102
|
+
* codebase has no safe, verified way to do (adapters live in the separate
|
|
103
|
+
* `descry-adapters` repo and are a black box behind `IRSource.emit()` — see
|
|
104
|
+
* the module doc). This function instead answers one coarser, safe question:
|
|
105
|
+
* "is EVERY file this producer read last time still byte-identical, with no
|
|
106
|
+
* new candidate file added?" When yes, the whole cached batch can be reused
|
|
107
|
+
* verbatim; when no (or when it cannot be determined), the caller must fall
|
|
108
|
+
* back to a full `emit()` — a decision that is always safe, just sometimes
|
|
109
|
+
* more conservative than strictly necessary (rule 7: a skip that never
|
|
110
|
+
* triggers is still correct, only slower).
|
|
111
|
+
*
|
|
112
|
+
* The "new candidate file" check is itself a heuristic, disclosed here rather
|
|
113
|
+
* than silently assumed sound: it flags any current repo path whose extension
|
|
114
|
+
* matches an extension already seen among `cachedPaths`. A file whose extension
|
|
115
|
+
* this producer has genuinely never emitted before (the very first `.mts` file
|
|
116
|
+
* in a repo the adapter had previously only seen as `.ts`) would not be flagged
|
|
117
|
+
* and could be silently missed. This is a narrow, accepted gap — analogous in
|
|
118
|
+
* kind to this codebase's other disclosed heuristics — not a hidden one. */
|
|
119
|
+
export declare function planIncrementalReuse(input: IncrementalReuseInput): IncrementalReuseDecision;
|
|
120
|
+
//# sourceMappingURL=incremental-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incremental-cache.d.ts","sourceRoot":"","sources":["../../src/store/incremental-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrD,6DAA6D;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;CAC/C;AAYD;;;8DAG8D;AAC9D,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,CA2BvG;AAED;;;4EAG4E;AAC5E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,eAAe,EAAE,EACnC,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,GAAG,EAAE,MAAM,GACV,IAAI,CAyBN;AAED;;;;;;;;;;gCAUgC;AAChC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C,GAAG,WAAW,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CA4BzF;AAED,MAAM,WAAW,qBAAqB;IACpC;gGAC4F;IAC5F,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC;;;qCAGiC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7C;;uBAEmB;IACnB,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;4EAmB4E;AAC5E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,wBAAwB,CA6B3F"}
|