@descryy/mcp 0.1.1 → 0.2.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/bin/descry-mcp.js +24 -1
- package/dist/bin/descry-mcp.js.map +1 -1
- package/dist/disclosure-ledger.d.ts +38 -0
- package/dist/disclosure-ledger.d.ts.map +1 -0
- package/dist/disclosure-ledger.js +40 -0
- package/dist/disclosure-ledger.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +12 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +12 -3
- package/dist/protocol.js.map +1 -1
- package/dist/render.d.ts +9 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +17 -2
- package/dist/render.js.map +1 -1
- package/dist/runtime-registry.d.ts +63 -0
- package/dist/runtime-registry.d.ts.map +1 -0
- package/dist/runtime-registry.js +131 -0
- package/dist/runtime-registry.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +74 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +177 -4
- package/dist/session.js.map +1 -1
- package/dist/tools/analyze.d.ts +11 -0
- package/dist/tools/analyze.d.ts.map +1 -1
- package/dist/tools/analyze.js +61 -1
- package/dist/tools/analyze.js.map +1 -1
- package/dist/tools/cross-pr.d.ts.map +1 -1
- package/dist/tools/cross-pr.js +1 -0
- package/dist/tools/cross-pr.js.map +1 -1
- package/dist/tools/git-diff.d.ts.map +1 -1
- package/dist/tools/git-diff.js +24 -3
- package/dist/tools/git-diff.js.map +1 -1
- package/dist/tools/git-history.d.ts.map +1 -1
- package/dist/tools/git-history.js +1 -0
- package/dist/tools/git-history.js.map +1 -1
- package/dist/tools/history.js +1 -1
- package/dist/tools/history.js.map +1 -1
- package/dist/tools/impact.js +1 -1
- package/dist/tools/impact.js.map +1 -1
- package/dist/tools/index.d.ts +3 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/kit.d.ts +1 -0
- package/dist/tools/kit.d.ts.map +1 -1
- package/dist/tools/kit.js +1 -0
- package/dist/tools/kit.js.map +1 -1
- package/dist/tools/link-workspace.d.ts.map +1 -1
- package/dist/tools/link-workspace.js +13 -1
- package/dist/tools/link-workspace.js.map +1 -1
- package/dist/tools/mark-incident.d.ts +69 -0
- package/dist/tools/mark-incident.d.ts.map +1 -0
- package/dist/tools/mark-incident.js +212 -0
- package/dist/tools/mark-incident.js.map +1 -0
- package/dist/tools/observe-runtime.d.ts +198 -0
- package/dist/tools/observe-runtime.d.ts.map +1 -0
- package/dist/tools/observe-runtime.js +951 -0
- package/dist/tools/observe-runtime.js.map +1 -0
- package/dist/tools/pr-analysis.d.ts +60 -13
- package/dist/tools/pr-analysis.d.ts.map +1 -1
- package/dist/tools/pr-analysis.js +54 -11
- package/dist/tools/pr-analysis.js.map +1 -1
- package/dist/tools/propagation.d.ts.map +1 -1
- package/dist/tools/propagation.js +1 -0
- package/dist/tools/propagation.js.map +1 -1
- package/dist/tools/questions.d.ts.map +1 -1
- package/dist/tools/questions.js +66 -4
- package/dist/tools/questions.js.map +1 -1
- package/dist/tools/refusal-fetch.d.ts.map +1 -1
- package/dist/tools/refusal-fetch.js +1 -0
- package/dist/tools/refusal-fetch.js.map +1 -1
- package/dist/tools/runtime-incident.d.ts +92 -0
- package/dist/tools/runtime-incident.d.ts.map +1 -0
- package/dist/tools/runtime-incident.js +144 -0
- package/dist/tools/runtime-incident.js.map +1 -0
- package/dist/tools/scope.d.ts.map +1 -1
- package/dist/tools/scope.js +1 -0
- package/dist/tools/scope.js.map +1 -1
- package/dist/tools/similar-incidents.d.ts +13 -0
- package/dist/tools/similar-incidents.d.ts.map +1 -1
- package/dist/tools/similar-incidents.js +22 -8
- package/dist/tools/similar-incidents.js.map +1 -1
- package/dist/tools/verification-status.d.ts.map +1 -1
- package/dist/tools/verification-status.js +1 -0
- package/dist/tools/verification-status.js.map +1 -1
- package/dist/tools/verify-claim.d.ts.map +1 -1
- package/dist/tools/verify-claim.js +5 -0
- package/dist/tools/verify-claim.js.map +1 -1
- package/package.json +15 -4
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,EAAE,EACF,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,EACd,eAAe,GAEhB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* query against a missing graph fails as a *tool* result the agent can read and
|
|
23
23
|
* act on ("run analyze first"), not as a crash before the handshake.
|
|
24
24
|
*/
|
|
25
|
-
import type { ConfirmedFact, RepoRoot } from "@descryy/ir";
|
|
25
|
+
import type { ConfirmedFact, ConfirmedIncident, RepoRoot } from "@descryy/ir";
|
|
26
26
|
import { type AdjacencyProvider, type Store } from "@descryy/core";
|
|
27
27
|
import { type SourceSpec } from "./registry.ts";
|
|
28
28
|
export interface DescryConfig {
|
|
@@ -44,9 +44,49 @@ export interface DescryConfig {
|
|
|
44
44
|
* see DEC-223 for the number this rests on). Revisit if that stops holding.
|
|
45
45
|
*/
|
|
46
46
|
readonly confirmedFacts: readonly ConfirmedFact[];
|
|
47
|
+
/**
|
|
48
|
+
* The other repositories `link_workspace` declared into this workspace,
|
|
49
|
+
* exactly as the caller supplied them — never discovered, never inferred
|
|
50
|
+
* from a directory listing (`link_workspace`'s own header, one level up).
|
|
51
|
+
*
|
|
52
|
+
* Recorded because a workspace *name* alone tells a session nothing about
|
|
53
|
+
* where its siblings are on disk, and a workspace-scoped confirmed fact
|
|
54
|
+
* lives in the config of whichever repository it was recorded in.
|
|
55
|
+
*
|
|
56
|
+
* Optional rather than required: `loadConfig` always sets it, and a
|
|
57
|
+
* hand-built config (a test, an embedder) that predates this field means
|
|
58
|
+
* "no siblings declared", which is the same thing an empty list means.
|
|
59
|
+
*/
|
|
60
|
+
readonly workspaceRepos?: readonly WorkspaceRepo[];
|
|
61
|
+
/**
|
|
62
|
+
* Defects a developer recorded through `mark_incident`.
|
|
63
|
+
*
|
|
64
|
+
* Beside `confirmedFacts` and for the same reason (DEC-223's storage
|
|
65
|
+
* decision): a handful of small, human-inspectable records per repository,
|
|
66
|
+
* versioned with the code, in a file a person can read and correct. The graph
|
|
67
|
+
* holds a *projection* of these — see `createConfirmedIncidentSource` — so a
|
|
68
|
+
* schema bump dropping every derived table costs nothing.
|
|
69
|
+
*/
|
|
70
|
+
readonly confirmedIncidents?: readonly ConfirmedIncident[];
|
|
71
|
+
/**
|
|
72
|
+
* Workspace-scoped confirmed facts read from those siblings' own configs.
|
|
73
|
+
*
|
|
74
|
+
* Kept separate from `confirmedFacts` rather than merged: "recorded here"
|
|
75
|
+
* and "recorded next door and declared to reach here" are different facts,
|
|
76
|
+
* and a consumer that cannot tell them apart cannot disclose the difference.
|
|
77
|
+
* Only facts with `scope: "workspace"` and this workspace's id appear —
|
|
78
|
+
* see DEC-NEXT-workspace-scoped-confirmed-facts.
|
|
79
|
+
*/
|
|
80
|
+
readonly linkedFacts?: readonly ConfirmedFact[];
|
|
47
81
|
/** Where the settings came from, so a surprising run can be explained. */
|
|
48
82
|
readonly configPath: string | null;
|
|
49
83
|
}
|
|
84
|
+
/** One entry of `workspaceRepos`. Mirrors `link_workspace`'s own input shape. */
|
|
85
|
+
export interface WorkspaceRepo {
|
|
86
|
+
/** Absolute path on disk, as resolved when the link was written. */
|
|
87
|
+
readonly path: string;
|
|
88
|
+
readonly repo: string;
|
|
89
|
+
}
|
|
50
90
|
export declare const CONFIG_RELATIVE_PATH: string;
|
|
51
91
|
export declare const DEFAULT_GRAPH_RELATIVE_PATH: string;
|
|
52
92
|
export declare class ConfigError extends Error {
|
|
@@ -62,7 +102,7 @@ export interface ConfigPatch {
|
|
|
62
102
|
* `.descry/config.json`'s writer, the counterpart to `loadConfig`.
|
|
63
103
|
*
|
|
64
104
|
* One writer for one file, used by both front doors that set the workspace
|
|
65
|
-
* id — `descry init` (`@
|
|
105
|
+
* id — `descry init` (`@descryy/cli`) and the `link_workspace` MCP tool — so
|
|
66
106
|
* the two can never drift into writing two different shapes of the same
|
|
67
107
|
* file. Fields this function does not know about (`graph`, `sources`, or
|
|
68
108
|
* anything a future version adds) survive a re-run untouched: this patches
|
|
@@ -72,6 +112,21 @@ export declare function writeConfig(repoPath: string, patch: ConfigPatch): Promi
|
|
|
72
112
|
readonly path: string;
|
|
73
113
|
readonly previousWorkspace: string | undefined;
|
|
74
114
|
}>;
|
|
115
|
+
/**
|
|
116
|
+
* `workspaceRepos`' writer — the fourth narrow field-writer beside
|
|
117
|
+
* `writeConfig` (`repo`/`workspace`), `writeConfirmedFact` (`confirmedFacts`)
|
|
118
|
+
* and `writeSources` (`sources`), for the reason those three stayed separate:
|
|
119
|
+
* a shared file gets one writer per field it owns, not one function that
|
|
120
|
+
* grows a branch per field.
|
|
121
|
+
*
|
|
122
|
+
* Replaces the whole list rather than merging into it. A workspace's
|
|
123
|
+
* membership is one declaration made at one moment — merging would mean a
|
|
124
|
+
* repository silently retaining a sibling a later, corrected `link_workspace`
|
|
125
|
+
* call deliberately left out.
|
|
126
|
+
*/
|
|
127
|
+
export declare function writeWorkspaceRepos(repoPath: string, repos: readonly WorkspaceRepo[]): Promise<{
|
|
128
|
+
readonly path: string;
|
|
129
|
+
}>;
|
|
75
130
|
/**
|
|
76
131
|
* `confirmedFacts`'s writer — separate from `writeConfig` on purpose.
|
|
77
132
|
*
|
|
@@ -99,6 +154,23 @@ export declare function writeConfirmedFact(repoPath: string, fact: ConfirmedFact
|
|
|
99
154
|
readonly path: string;
|
|
100
155
|
readonly replaced: ConfirmedFact | null;
|
|
101
156
|
}>;
|
|
157
|
+
/**
|
|
158
|
+
* `confirmedIncidents`' writer — the fifth narrow field-writer, for the same
|
|
159
|
+
* reason the previous four stayed separate: a shared file gets one writer per
|
|
160
|
+
* field it owns, not one function that grows a branch per field.
|
|
161
|
+
*
|
|
162
|
+
* **Appends, never replaces.** Unlike `writeConfirmedFact`, which keys on
|
|
163
|
+
* `(repo, blockedBy, environment)` because re-confirming a value updates one
|
|
164
|
+
* answer, two incidents are two incidents even when they name the same files
|
|
165
|
+
* and read alike. Collapsing them would lose the fact that something broke
|
|
166
|
+
* twice, which is precisely the signal an incident corpus exists to carry.
|
|
167
|
+
* `confirmedAt` is the record's identity, so a second call at the same instant
|
|
168
|
+
* with the same summary is the only case that de-duplicates.
|
|
169
|
+
*/
|
|
170
|
+
export declare function writeConfirmedIncident(repoPath: string, incident: ConfirmedIncident): Promise<{
|
|
171
|
+
readonly path: string;
|
|
172
|
+
readonly total: number;
|
|
173
|
+
}>;
|
|
102
174
|
/**
|
|
103
175
|
* `sources`' writer — MK-3, the third narrow field-writer beside `writeConfig`
|
|
104
176
|
* (`repo`/`workspace`) and `writeConfirmedFact` (`confirmedFacts`), for the
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -24,10 +24,46 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
26
26
|
import { basename, isAbsolute, join, resolve } from "node:path";
|
|
27
|
+
import { isConfirmedFactScope } from "@descryy/ir";
|
|
27
28
|
import { createStoreProvider, gitHead, isGitRepository, NodeSqliteDriver, openStore, rebuildStaleGraph, } from "@descryy/core";
|
|
28
29
|
import { normaliseSpec } from "./registry.js";
|
|
29
30
|
export const CONFIG_RELATIVE_PATH = join(".descry", "config.json");
|
|
30
31
|
export const DEFAULT_GRAPH_RELATIVE_PATH = join(".descry", "graph.db");
|
|
32
|
+
function parseConfirmedIncidents(raw, configPath) {
|
|
33
|
+
if (raw === undefined)
|
|
34
|
+
return [];
|
|
35
|
+
if (!Array.isArray(raw)) {
|
|
36
|
+
throw new ConfigError(`${configPath}: "confirmedIncidents" must be an array`);
|
|
37
|
+
}
|
|
38
|
+
return raw.map((entry, index) => {
|
|
39
|
+
const e = entry;
|
|
40
|
+
for (const key of ["repo", "summary", "confirmedBy", "confirmedAt"]) {
|
|
41
|
+
if (typeof e[key] !== "string" || e[key] === "") {
|
|
42
|
+
throw new ConfigError(`${configPath}: confirmedIncidents[${index}].${key} must be a non-empty string`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const files = e["files"];
|
|
46
|
+
if (!Array.isArray(files) || files.length === 0 || files.some((f) => typeof f !== "string" || f === "")) {
|
|
47
|
+
throw new ConfigError(`${configPath}: confirmedIncidents[${index}].files must be a non-empty array of paths — ` +
|
|
48
|
+
"an incident naming no file has nothing to attach it to");
|
|
49
|
+
}
|
|
50
|
+
for (const key of ["errorText", "fixedAtCommit", "observedInRun"]) {
|
|
51
|
+
if (e[key] !== undefined && (typeof e[key] !== "string" || e[key] === "")) {
|
|
52
|
+
throw new ConfigError(`${configPath}: confirmedIncidents[${index}].${key} must be a non-empty string when present`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
repo: e["repo"],
|
|
57
|
+
summary: e["summary"],
|
|
58
|
+
files: files,
|
|
59
|
+
...(e["errorText"] === undefined ? {} : { errorText: e["errorText"] }),
|
|
60
|
+
...(e["fixedAtCommit"] === undefined ? {} : { fixedAtCommit: e["fixedAtCommit"] }),
|
|
61
|
+
...(e["observedInRun"] === undefined ? {} : { observedInRun: e["observedInRun"] }),
|
|
62
|
+
confirmedBy: e["confirmedBy"],
|
|
63
|
+
confirmedAt: e["confirmedAt"],
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
}
|
|
31
67
|
function parseConfirmedFacts(raw, configPath) {
|
|
32
68
|
if (raw === undefined)
|
|
33
69
|
return [];
|
|
@@ -41,8 +77,13 @@ function parseConfirmedFacts(raw, configPath) {
|
|
|
41
77
|
throw new ConfigError(`${configPath}: confirmedFacts[${index}].${key} must be a non-empty string`);
|
|
42
78
|
}
|
|
43
79
|
}
|
|
44
|
-
|
|
45
|
-
|
|
80
|
+
for (const key of ["environment", "confirmedAtCommit", "workspace"]) {
|
|
81
|
+
if (e[key] !== undefined && (typeof e[key] !== "string" || e[key] === "")) {
|
|
82
|
+
throw new ConfigError(`${configPath}: confirmedFacts[${index}].${key} must be a non-empty string when present`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (e["scope"] !== undefined && !isConfirmedFactScope(e["scope"])) {
|
|
86
|
+
throw new ConfigError(`${configPath}: confirmedFacts[${index}].scope must be "repo" or "workspace" when present`);
|
|
46
87
|
}
|
|
47
88
|
return {
|
|
48
89
|
repo: e["repo"],
|
|
@@ -51,6 +92,12 @@ function parseConfirmedFacts(raw, configPath) {
|
|
|
51
92
|
...(e["environment"] === undefined ? {} : { environment: e["environment"] }),
|
|
52
93
|
confirmedBy: e["confirmedBy"],
|
|
53
94
|
confirmedAt: e["confirmedAt"],
|
|
95
|
+
// Round-tripped rather than dropped. `confirmedAtCommit` was written by
|
|
96
|
+
// `writeConfirmedFact` and silently discarded on the way back in, so the
|
|
97
|
+
// staleness disclosure it exists for could never fire after a reload.
|
|
98
|
+
...(e["confirmedAtCommit"] === undefined ? {} : { confirmedAtCommit: e["confirmedAtCommit"] }),
|
|
99
|
+
...(e["scope"] === undefined ? {} : { scope: e["scope"] }),
|
|
100
|
+
...(e["workspace"] === undefined ? {} : { workspace: e["workspace"] }),
|
|
54
101
|
};
|
|
55
102
|
});
|
|
56
103
|
}
|
|
@@ -92,24 +139,89 @@ export async function loadConfig(repoPath) {
|
|
|
92
139
|
}
|
|
93
140
|
throw new ConfigError(`${configPath}: sources[${index}] must be a module specifier or an object with a "module" field`);
|
|
94
141
|
});
|
|
142
|
+
const workspace = typeof raw.workspace === "string" && raw.workspace !== "" ? raw.workspace : undefined;
|
|
143
|
+
const workspaceRepos = parseWorkspaceRepos(raw.workspaceRepos, configPath);
|
|
95
144
|
return {
|
|
96
145
|
// The directory name is a defensible default and a poor identity: it changes
|
|
97
146
|
// when someone clones into a different folder, and every repo-scoped node id
|
|
98
147
|
// changes with it. Stated in the analyze disclosures rather than left to be
|
|
99
148
|
// discovered when two machines produce different graphs.
|
|
100
149
|
repo: typeof raw.repo === "string" && raw.repo !== "" ? raw.repo : basename(resolve(repoPath)),
|
|
101
|
-
workspace
|
|
150
|
+
workspace,
|
|
102
151
|
graph: typeof raw.graph === "string" && raw.graph !== "" ? raw.graph : DEFAULT_GRAPH_RELATIVE_PATH,
|
|
103
152
|
sources,
|
|
104
153
|
confirmedFacts: parseConfirmedFacts(raw.confirmedFacts, configPath),
|
|
154
|
+
confirmedIncidents: parseConfirmedIncidents(raw.confirmedIncidents, configPath),
|
|
155
|
+
workspaceRepos,
|
|
156
|
+
linkedFacts: await readLinkedFacts(repoPath, workspace, workspaceRepos),
|
|
105
157
|
configPath: found,
|
|
106
158
|
};
|
|
107
159
|
}
|
|
160
|
+
function parseWorkspaceRepos(raw, configPath) {
|
|
161
|
+
if (raw === undefined)
|
|
162
|
+
return [];
|
|
163
|
+
if (!Array.isArray(raw)) {
|
|
164
|
+
throw new ConfigError(`${configPath}: "workspaceRepos" must be an array`);
|
|
165
|
+
}
|
|
166
|
+
return raw.map((entry, index) => {
|
|
167
|
+
const e = entry;
|
|
168
|
+
for (const key of ["path", "repo"]) {
|
|
169
|
+
if (typeof e[key] !== "string" || e[key] === "") {
|
|
170
|
+
throw new ConfigError(`${configPath}: workspaceRepos[${index}].${key} must be a non-empty string`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return { path: e["path"], repo: e["repo"] };
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Workspace-scoped facts recorded in the *other* repositories of this
|
|
178
|
+
* workspace.
|
|
179
|
+
*
|
|
180
|
+
* One level only — a sibling's own `workspaceRepos` is not followed. The list
|
|
181
|
+
* is a declaration of one workspace's membership, not a graph to walk, and
|
|
182
|
+
* recursing would make session startup depend on how many times that
|
|
183
|
+
* declaration happens to be repeated.
|
|
184
|
+
*
|
|
185
|
+
* Every failure is silent by design and it is the one place in this file where
|
|
186
|
+
* that is right: a sibling that has moved, was never cloned on this machine, or
|
|
187
|
+
* holds an unparseable config is a repository whose facts are simply not
|
|
188
|
+
* available. Refusing to start a session over it would make one repository's
|
|
189
|
+
* local state block work in another. The absence is visible where it matters —
|
|
190
|
+
* `questions` reports what answered a row and what did not — rather than as a
|
|
191
|
+
* startup failure here.
|
|
192
|
+
*/
|
|
193
|
+
async function readLinkedFacts(repoPath, workspace, repos) {
|
|
194
|
+
if (workspace === undefined || repos.length === 0)
|
|
195
|
+
return [];
|
|
196
|
+
const self = resolve(repoPath);
|
|
197
|
+
const out = [];
|
|
198
|
+
for (const entry of repos) {
|
|
199
|
+
if (resolve(entry.path) === self)
|
|
200
|
+
continue;
|
|
201
|
+
const path = join(entry.path, CONFIG_RELATIVE_PATH);
|
|
202
|
+
let facts;
|
|
203
|
+
try {
|
|
204
|
+
const raw = JSON.parse(await readFile(path, "utf8"));
|
|
205
|
+
facts = parseConfirmedFacts(raw.confirmedFacts, path);
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
// The declaration is checked on the fact itself, not inferred from the
|
|
211
|
+
// fact having been found in a linked repository — a repo-scoped fact
|
|
212
|
+
// sitting in a linked config still does not cross.
|
|
213
|
+
for (const fact of facts) {
|
|
214
|
+
if (fact.scope === "workspace" && fact.workspace === workspace)
|
|
215
|
+
out.push(fact);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return out;
|
|
219
|
+
}
|
|
108
220
|
/**
|
|
109
221
|
* `.descry/config.json`'s writer, the counterpart to `loadConfig`.
|
|
110
222
|
*
|
|
111
223
|
* One writer for one file, used by both front doors that set the workspace
|
|
112
|
-
* id — `descry init` (`@
|
|
224
|
+
* id — `descry init` (`@descryy/cli`) and the `link_workspace` MCP tool — so
|
|
113
225
|
* the two can never drift into writing two different shapes of the same
|
|
114
226
|
* file. Fields this function does not know about (`graph`, `sources`, or
|
|
115
227
|
* anything a future version adds) survive a re-run untouched: this patches
|
|
@@ -137,6 +249,36 @@ export async function writeConfig(repoPath, patch) {
|
|
|
137
249
|
await writeFile(path, `${JSON.stringify(next, null, 2)}\n`, "utf8");
|
|
138
250
|
return { path, previousWorkspace };
|
|
139
251
|
}
|
|
252
|
+
/**
|
|
253
|
+
* `workspaceRepos`' writer — the fourth narrow field-writer beside
|
|
254
|
+
* `writeConfig` (`repo`/`workspace`), `writeConfirmedFact` (`confirmedFacts`)
|
|
255
|
+
* and `writeSources` (`sources`), for the reason those three stayed separate:
|
|
256
|
+
* a shared file gets one writer per field it owns, not one function that
|
|
257
|
+
* grows a branch per field.
|
|
258
|
+
*
|
|
259
|
+
* Replaces the whole list rather than merging into it. A workspace's
|
|
260
|
+
* membership is one declaration made at one moment — merging would mean a
|
|
261
|
+
* repository silently retaining a sibling a later, corrected `link_workspace`
|
|
262
|
+
* call deliberately left out.
|
|
263
|
+
*/
|
|
264
|
+
export async function writeWorkspaceRepos(repoPath, repos) {
|
|
265
|
+
const path = join(repoPath, CONFIG_RELATIVE_PATH);
|
|
266
|
+
let existing = {};
|
|
267
|
+
try {
|
|
268
|
+
existing = JSON.parse(await readFile(path, "utf8"));
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
void error;
|
|
272
|
+
existing = {};
|
|
273
|
+
}
|
|
274
|
+
const next = {
|
|
275
|
+
...existing,
|
|
276
|
+
workspaceRepos: repos.map((r) => ({ path: r.path, repo: r.repo })),
|
|
277
|
+
};
|
|
278
|
+
await mkdir(join(repoPath, ".descry"), { recursive: true });
|
|
279
|
+
await writeFile(path, `${JSON.stringify(next, null, 2)}\n`, "utf8");
|
|
280
|
+
return { path };
|
|
281
|
+
}
|
|
140
282
|
/**
|
|
141
283
|
* `confirmedFacts`'s writer — separate from `writeConfig` on purpose.
|
|
142
284
|
*
|
|
@@ -179,6 +321,37 @@ export async function writeConfirmedFact(repoPath, fact) {
|
|
|
179
321
|
await writeFile(path, `${JSON.stringify(next, null, 2)}\n`, "utf8");
|
|
180
322
|
return { path, replaced };
|
|
181
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* `confirmedIncidents`' writer — the fifth narrow field-writer, for the same
|
|
326
|
+
* reason the previous four stayed separate: a shared file gets one writer per
|
|
327
|
+
* field it owns, not one function that grows a branch per field.
|
|
328
|
+
*
|
|
329
|
+
* **Appends, never replaces.** Unlike `writeConfirmedFact`, which keys on
|
|
330
|
+
* `(repo, blockedBy, environment)` because re-confirming a value updates one
|
|
331
|
+
* answer, two incidents are two incidents even when they name the same files
|
|
332
|
+
* and read alike. Collapsing them would lose the fact that something broke
|
|
333
|
+
* twice, which is precisely the signal an incident corpus exists to carry.
|
|
334
|
+
* `confirmedAt` is the record's identity, so a second call at the same instant
|
|
335
|
+
* with the same summary is the only case that de-duplicates.
|
|
336
|
+
*/
|
|
337
|
+
export async function writeConfirmedIncident(repoPath, incident) {
|
|
338
|
+
const path = join(repoPath, CONFIG_RELATIVE_PATH);
|
|
339
|
+
let existing = {};
|
|
340
|
+
try {
|
|
341
|
+
existing = JSON.parse(await readFile(path, "utf8"));
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
void error;
|
|
345
|
+
existing = {};
|
|
346
|
+
}
|
|
347
|
+
const priorRaw = Array.isArray(existing["confirmedIncidents"]) ? existing["confirmedIncidents"] : [];
|
|
348
|
+
const prior = parseConfirmedIncidents(priorRaw, path);
|
|
349
|
+
const same = (a) => a.repo === incident.repo && a.confirmedAt === incident.confirmedAt && a.summary === incident.summary;
|
|
350
|
+
const next = [...prior.filter((i) => !same(i)), incident];
|
|
351
|
+
await mkdir(join(repoPath, ".descry"), { recursive: true });
|
|
352
|
+
await writeFile(path, `${JSON.stringify({ ...existing, confirmedIncidents: next }, null, 2)}\n`, "utf8");
|
|
353
|
+
return { path, total: next.length };
|
|
354
|
+
}
|
|
182
355
|
/**
|
|
183
356
|
* `sources`' writer — MK-3, the third narrow field-writer beside `writeConfig`
|
|
184
357
|
* (`repo`/`workspace`) and `writeConfirmedFact` (`confirmedFacts`), for the
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/analyze.d.ts
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
import type { UnresolvedRef } from "@descryy/ir";
|
|
34
34
|
import type { BuildResult, StoreCounts } from "@descryy/core";
|
|
35
35
|
import { type ToolDefinition } from "./kit.ts";
|
|
36
|
+
import { type DescryConfig } from "../session.ts";
|
|
36
37
|
/**
|
|
37
38
|
* What one source read, and how well.
|
|
38
39
|
*
|
|
@@ -120,5 +121,15 @@ export declare function refusalSummaryField(unresolved: readonly UnresolvedRef[]
|
|
|
120
121
|
readonly exemplar: string;
|
|
121
122
|
readonly handle: string;
|
|
122
123
|
} | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* `Session.config` is read once at process startup and held for the process's
|
|
126
|
+
* whole life (session.ts's own header). A write tool — `link_workspace`, or a
|
|
127
|
+
* hand edit — changes the file on disk without this process ever knowing, and
|
|
128
|
+
* without this check the notes below would tell the agent to add a "sources"
|
|
129
|
+
* array that the file has actually had since the write. Comparing the two
|
|
130
|
+
* turns a misleading "still not configured" into an accurate "restart to pick
|
|
131
|
+
* this up".
|
|
132
|
+
*/
|
|
133
|
+
export declare function configDriftNote(onDisk: DescryConfig | null, loaded: DescryConfig): string | undefined;
|
|
123
134
|
export declare const analyzeTool: ToolDefinition;
|
|
124
135
|
//# sourceMappingURL=analyze.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/tools/analyze.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/tools/analyze.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/analyze.js
CHANGED
|
@@ -30,9 +30,11 @@
|
|
|
30
30
|
* `CHANGES_WITH` weights. That is DEC-004's failure arriving through the one
|
|
31
31
|
* field a default cannot get right, so it is stated on every unconfigured run.
|
|
32
32
|
*/
|
|
33
|
-
import {
|
|
33
|
+
import { existsSync } from "node:fs";
|
|
34
|
+
import { applyConfirmedFacts, buildGraph, counts, createConfirmedIncidentSource, createGitSource, mintEdgesFromConfirmedFacts, MINT_PRODUCED_BY, persistGraph, summariseRefusals, } from "@descryy/core";
|
|
34
35
|
import { answer, ToolInputError } from "./kit.js";
|
|
35
36
|
import { detectSources, loadSources } from "../registry.js";
|
|
37
|
+
import { loadConfig } from "../session.js";
|
|
36
38
|
const SCHEMA = {
|
|
37
39
|
type: "object",
|
|
38
40
|
properties: {
|
|
@@ -66,6 +68,29 @@ export function refusalSummaryField(unresolved) {
|
|
|
66
68
|
return undefined;
|
|
67
69
|
return { count: summary.count, exemplar: summary.exemplar, handle: summary.handle };
|
|
68
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* `Session.config` is read once at process startup and held for the process's
|
|
73
|
+
* whole life (session.ts's own header). A write tool — `link_workspace`, or a
|
|
74
|
+
* hand edit — changes the file on disk without this process ever knowing, and
|
|
75
|
+
* without this check the notes below would tell the agent to add a "sources"
|
|
76
|
+
* array that the file has actually had since the write. Comparing the two
|
|
77
|
+
* turns a misleading "still not configured" into an accurate "restart to pick
|
|
78
|
+
* this up".
|
|
79
|
+
*/
|
|
80
|
+
export function configDriftNote(onDisk, loaded) {
|
|
81
|
+
if (onDisk === null)
|
|
82
|
+
return undefined;
|
|
83
|
+
const changed = onDisk.configPath !== loaded.configPath ||
|
|
84
|
+
onDisk.workspace !== loaded.workspace ||
|
|
85
|
+
onDisk.sources.length !== loaded.sources.length;
|
|
86
|
+
if (!changed)
|
|
87
|
+
return undefined;
|
|
88
|
+
return ("The on-disk .descry/config.json no longer matches what this server loaded at startup. " +
|
|
89
|
+
"Configuration is read once per process, not on every call (session.ts) — this run is still " +
|
|
90
|
+
"using the configuration this server started with, not the current file. Restart the MCP " +
|
|
91
|
+
"server for on-disk changes to take effect; the notes below describe the stale, running " +
|
|
92
|
+
"configuration, not what is actually on disk now.");
|
|
93
|
+
}
|
|
69
94
|
async function run(args, ctx) {
|
|
70
95
|
const { session } = ctx;
|
|
71
96
|
const includeHistory = args["includeHistory"] !== false;
|
|
@@ -84,6 +109,12 @@ async function run(args, ctx) {
|
|
|
84
109
|
"dropped and are rebuilt by this run; earned data (R4 observations, edge corrections, " +
|
|
85
110
|
"incident links) was not affected.");
|
|
86
111
|
}
|
|
112
|
+
if (existsSync(session.repoPath)) {
|
|
113
|
+
const onDisk = await loadConfig(session.repoPath).catch(() => null);
|
|
114
|
+
const drift = configDriftNote(onDisk, session.config);
|
|
115
|
+
if (drift !== undefined)
|
|
116
|
+
notes.push(drift);
|
|
117
|
+
}
|
|
87
118
|
if (session.config.configPath === null) {
|
|
88
119
|
notes.push(`No ${".descry/config.json"} was found, so the repository identity defaults to the ` +
|
|
89
120
|
`directory name ("${session.config.repo}"). Every repo-scoped node id is a hash over that ` +
|
|
@@ -226,6 +257,34 @@ async function run(args, ctx) {
|
|
|
226
257
|
notes.push("Git history was skipped by request, so no CHANGES_WITH edges were produced and the blast " +
|
|
227
258
|
"radius will miss files that historically change together.");
|
|
228
259
|
}
|
|
260
|
+
// Developer-confirmed incidents, re-projected on every analyze.
|
|
261
|
+
//
|
|
262
|
+
// The record lives in `.descry/config.json` because it is testimony that
|
|
263
|
+
// exists nowhere else (DEC-223's storage decision); the graph holds a
|
|
264
|
+
// projection. Re-emitting it here is what makes "a rebuild never loses it"
|
|
265
|
+
// true rather than merely intended — a store is derived data and every
|
|
266
|
+
// derived table is dropped on a schema bump.
|
|
267
|
+
const confirmedIncidents = session.config.confirmedIncidents ?? [];
|
|
268
|
+
if (confirmedIncidents.length > 0) {
|
|
269
|
+
const projected = await createConfirmedIncidentSource({
|
|
270
|
+
repo: root.repo,
|
|
271
|
+
incidents: confirmedIncidents,
|
|
272
|
+
}).emit(context);
|
|
273
|
+
batches.push(projected);
|
|
274
|
+
perSource.push({
|
|
275
|
+
source: projected.producedBy,
|
|
276
|
+
files: projected.sourceFiles.length,
|
|
277
|
+
nodes: projected.nodes.length,
|
|
278
|
+
edges: projected.edges.length,
|
|
279
|
+
unresolved: projected.unresolved.length,
|
|
280
|
+
skippedFiles: 0,
|
|
281
|
+
reachedResolution: projected.reachedResolution,
|
|
282
|
+
ms: 0,
|
|
283
|
+
});
|
|
284
|
+
notes.push(`${confirmedIncidents.length} developer-confirmed incident(s) were re-projected into the ` +
|
|
285
|
+
"graph from .descry/config.json. They are testimony, not a reading of this repository — " +
|
|
286
|
+
"an edge resting on one is capped at reliability class B (DEC-223).");
|
|
287
|
+
}
|
|
229
288
|
// --- build and store -----------------------------------------------------
|
|
230
289
|
ctx.progress("Merging into the graph", done, total);
|
|
231
290
|
const built = buildGraph(batches, {
|
|
@@ -360,6 +419,7 @@ async function run(args, ctx) {
|
|
|
360
419
|
commitSha: root.commitSha,
|
|
361
420
|
graphBuiltAt: Date.now(),
|
|
362
421
|
irSchemaVersion: session.provider().baseStamp().irSchemaVersion,
|
|
422
|
+
commitSpread: session.provider().baseStamp().commitSpread,
|
|
363
423
|
notes,
|
|
364
424
|
...(refusalSummary === undefined ? {} : { refusalSummary }),
|
|
365
425
|
data: {
|