@descryy/mcp 0.7.0 → 0.7.2
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/browser/driver.d.ts +62 -0
- package/dist/browser/driver.d.ts.map +1 -1
- package/dist/browser/driver.js.map +1 -1
- package/dist/browser/fake-driver.d.ts +8 -3
- package/dist/browser/fake-driver.d.ts.map +1 -1
- package/dist/browser/fake-driver.js +25 -6
- package/dist/browser/fake-driver.js.map +1 -1
- package/dist/browser/playwright-driver.d.ts.map +1 -1
- package/dist/browser/playwright-driver.js +19 -3
- package/dist/browser/playwright-driver.js.map +1 -1
- package/dist/browser/scenario-provenance.d.ts +23 -0
- package/dist/browser/scenario-provenance.d.ts.map +1 -0
- package/dist/browser/scenario-provenance.js +59 -0
- package/dist/browser/scenario-provenance.js.map +1 -0
- package/dist/registry.d.ts +27 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +50 -6
- package/dist/registry.js.map +1 -1
- package/dist/render.d.ts +47 -2
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +38 -7
- package/dist/render.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +32 -2
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +23 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +67 -0
- package/dist/session.js.map +1 -1
- package/dist/tools/analyze.d.ts +13 -5
- package/dist/tools/analyze.d.ts.map +1 -1
- package/dist/tools/analyze.js +26 -25
- package/dist/tools/analyze.js.map +1 -1
- package/dist/tools/browser-save-scenario.d.ts.map +1 -1
- package/dist/tools/browser-save-scenario.js +36 -14
- package/dist/tools/browser-save-scenario.js.map +1 -1
- package/dist/tools/browser-start-session.d.ts.map +1 -1
- package/dist/tools/browser-start-session.js +112 -1
- package/dist/tools/browser-start-session.js.map +1 -1
- package/dist/tools/observe-runtime.d.ts.map +1 -1
- package/dist/tools/observe-runtime.js +19 -2
- package/dist/tools/observe-runtime.js.map +1 -1
- package/dist/tools/observe-tests.d.ts.map +1 -1
- package/dist/tools/observe-tests.js +50 -0
- package/dist/tools/observe-tests.js.map +1 -1
- package/dist/tools/pre-push.d.ts +9 -3
- package/dist/tools/pre-push.d.ts.map +1 -1
- package/dist/tools/pre-push.js +59 -21
- package/dist/tools/pre-push.js.map +1 -1
- package/dist/tools/propagation.d.ts.map +1 -1
- package/dist/tools/propagation.js +3 -1
- package/dist/tools/propagation.js.map +1 -1
- package/dist/tools/validate.d.ts +16 -2
- package/dist/tools/validate.d.ts.map +1 -1
- package/dist/tools/validate.js +119 -12
- package/dist/tools/validate.js.map +1 -1
- package/package.json +31 -22
package/dist/tools/pre-push.js
CHANGED
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
*/
|
|
69
69
|
import { NODE_BUDGETS, uncommittedAmong } from "@descryy/core";
|
|
70
70
|
import { contractsTool } from "./contracts.js";
|
|
71
|
-
import { answer, optionalInteger, optionalString, optionalStringArray, } from "./kit.js";
|
|
71
|
+
import { answer, optionalBoolean, optionalEnum, optionalInteger, optionalString, optionalStringArray, ToolInputError, } from "./kit.js";
|
|
72
72
|
import { prAnalysisTool } from "./pr-analysis.js";
|
|
73
73
|
import { scopeTool } from "./scope.js";
|
|
74
74
|
import { validateTool } from "./validate.js";
|
|
@@ -76,6 +76,7 @@ import { validateTool } from "./validate.js";
|
|
|
76
76
|
const PER_SOURCE = 3;
|
|
77
77
|
/** `validate`'s own default is 25; a blocked developer reads far fewer. */
|
|
78
78
|
const VALIDATE_MAX_FINDINGS = 10;
|
|
79
|
+
const WORKING_TREE_SCOPES = ["unstaged", "staged", "all"];
|
|
79
80
|
const SCHEMA = {
|
|
80
81
|
type: "object",
|
|
81
82
|
properties: {
|
|
@@ -87,9 +88,23 @@ const SCHEMA = {
|
|
|
87
88
|
},
|
|
88
89
|
base: {
|
|
89
90
|
type: "string",
|
|
90
|
-
description: "Git ref to compare against, three-dot
|
|
91
|
-
"
|
|
92
|
-
"three still run.",
|
|
91
|
+
description: "Git ref to compare against, three-dot, for the pr_analysis section. Mutually exclusive " +
|
|
92
|
+
"with \"workingTree\" — pass one or neither, never both. Without either, pr_analysis has no " +
|
|
93
|
+
"defensible default and is reported as refused; the other three sections still run.",
|
|
94
|
+
},
|
|
95
|
+
workingTree: {
|
|
96
|
+
type: "string",
|
|
97
|
+
enum: [...WORKING_TREE_SCOPES],
|
|
98
|
+
description: "Forwarded to the pr_analysis section: review it against the working tree as it stands, " +
|
|
99
|
+
"uncommitted, rather than a ref range — precisely the change set a pre-push gate exists to " +
|
|
100
|
+
"check. \"all\" is staged and unstaged together. Mutually exclusive with \"base\" — pass one " +
|
|
101
|
+
"or neither, never both. Unlike \"base\", this is never guessed on your behalf either: with " +
|
|
102
|
+
"neither given, pr_analysis is reported as refused, same as before.",
|
|
103
|
+
},
|
|
104
|
+
includeUntracked: {
|
|
105
|
+
type: "boolean",
|
|
106
|
+
description: "With \"workingTree\", forwarded to the pr_analysis section to include files git has never " +
|
|
107
|
+
"seen. On by default, matching pr_analysis's own default. Ignored without \"workingTree\".",
|
|
93
108
|
},
|
|
94
109
|
perSource: {
|
|
95
110
|
type: "integer",
|
|
@@ -144,8 +159,8 @@ function coverageWarning(files, coverage) {
|
|
|
144
159
|
if (coverage === null || coverage.uncommitted.length === 0)
|
|
145
160
|
return "";
|
|
146
161
|
const n = coverage.uncommitted.length;
|
|
147
|
-
return (`${n} of ${files.length} file(s) are uncommitted, so the pr_analysis section describes ` +
|
|
148
|
-
|
|
162
|
+
return (`${n} of ${files.length} file(s) are uncommitted, so the pr_analysis section (${coverage.describes}) ` +
|
|
163
|
+
"does not describe them. " +
|
|
149
164
|
"The other three sections describe the files you passed. ");
|
|
150
165
|
}
|
|
151
166
|
async function run(args, ctx) {
|
|
@@ -153,6 +168,18 @@ async function run(args, ctx) {
|
|
|
153
168
|
let coverage = null;
|
|
154
169
|
const perSource = optionalInteger(args, "perSource", 1) ?? PER_SOURCE;
|
|
155
170
|
const baseRef = optionalString(args, "base");
|
|
171
|
+
const workingTreeArg = optionalEnum(args, "workingTree", WORKING_TREE_SCOPES);
|
|
172
|
+
const includeUntracked = optionalBoolean(args, "includeUntracked");
|
|
173
|
+
// Validated at this tool's own boundary, before any section is dispatched.
|
|
174
|
+
// pr_analysis enforces the identical rule, but letting it throw from inside
|
|
175
|
+
// a section call would turn one bad argument combination into a "failed"
|
|
176
|
+
// envelope over all four constituents, when the actual problem is nothing
|
|
177
|
+
// any of scope/contracts/validate had a chance to answer about — it never
|
|
178
|
+
// got that far.
|
|
179
|
+
if (baseRef !== undefined && workingTreeArg !== undefined) {
|
|
180
|
+
throw new ToolInputError('"base" and "workingTree" are mutually exclusive, for pr_analysis just as much as here — pass ' +
|
|
181
|
+
"one or neither, never both.");
|
|
182
|
+
}
|
|
156
183
|
const base = ctx.session.provider().baseStamp();
|
|
157
184
|
const nodeBudget = NODE_BUDGETS["pre-push"];
|
|
158
185
|
const notes = [
|
|
@@ -234,11 +261,13 @@ async function run(args, ctx) {
|
|
|
234
261
|
return sub;
|
|
235
262
|
};
|
|
236
263
|
await runOne("scope", scopeTool, { files, trigger: "pre-push" }, (data) => listOf(data, "affected"), false);
|
|
237
|
-
if (baseRef === undefined) {
|
|
264
|
+
if (baseRef === undefined && workingTreeArg === undefined) {
|
|
238
265
|
// Reported, not skipped silently, and not as a failure either: pr_analysis
|
|
239
|
-
// requires
|
|
240
|
-
// defensible default base"). Borrowing this tool's own working-tree
|
|
241
|
-
// would manufacture exactly the guess that tool declines to make
|
|
266
|
+
// requires one of the two and deliberately refuses to invent either ("there
|
|
267
|
+
// is no defensible default base"). Borrowing this tool's own working-tree
|
|
268
|
+
// default would manufacture exactly the guess that tool declines to make —
|
|
269
|
+
// which is why "workingTree" unblocks this section only when the caller
|
|
270
|
+
// passes it explicitly, never as a fallback picked on their behalf.
|
|
242
271
|
sections.push({
|
|
243
272
|
source: "pr_analysis",
|
|
244
273
|
state: "refused",
|
|
@@ -247,21 +276,30 @@ async function run(args, ctx) {
|
|
|
247
276
|
claimsFaults: false,
|
|
248
277
|
defects: 0,
|
|
249
278
|
leads: 0,
|
|
250
|
-
headline:
|
|
279
|
+
headline: 'pr_analysis needs either "base" or "workingTree" to know what to diff, and has no default ' +
|
|
280
|
+
'for either. Pass one to include this section.',
|
|
251
281
|
});
|
|
252
282
|
}
|
|
253
283
|
else {
|
|
284
|
+
const subject = baseRef !== undefined ? `${baseRef}...HEAD` : `the working tree (${workingTreeArg})`;
|
|
254
285
|
// Stated because it is not obvious and it was not obvious in a real run:
|
|
255
286
|
// called with two files and a three-commit base, the envelope said "across
|
|
256
287
|
// 2 changed file(s)" while this section said "across 25". Both are right --
|
|
257
|
-
// pr_analysis takes no file list, by design, and derives its own from
|
|
258
|
-
//
|
|
259
|
-
// side read as one answer about one change
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
"
|
|
264
|
-
|
|
288
|
+
// pr_analysis takes no file list, by design, and derives its own from the
|
|
289
|
+
// diff (a ref range, or the working tree) -- but two sections describing
|
|
290
|
+
// different change sets side by side read as one answer about one change
|
|
291
|
+
// unless the reply says otherwise.
|
|
292
|
+
notes.push(`pr_analysis scopes itself from ${baseRef !== undefined ? "the base diff" : "the working tree"} ` +
|
|
293
|
+
`(${subject}), not from the files given here: it takes no file list, deliberately, because ` +
|
|
294
|
+
"the diff is what defines a change to review. So its section may describe a wider or " +
|
|
295
|
+
"narrower set of files than the other three, which use the list you passed.");
|
|
296
|
+
const pr = await runOne("pr_analysis", prAnalysisTool, baseRef !== undefined
|
|
297
|
+
? { base: baseRef, trigger: "pre-push" }
|
|
298
|
+
: {
|
|
299
|
+
workingTree: workingTreeArg,
|
|
300
|
+
trigger: "pre-push",
|
|
301
|
+
...(includeUntracked === undefined ? {} : { includeUntracked }),
|
|
302
|
+
}, (data) => listOf(data, "untested"), false);
|
|
265
303
|
if (pr !== null) {
|
|
266
304
|
// The comparison is against the list `pr_analysis` itself reports, not a
|
|
267
305
|
// second diff computed here. Two git calls answering the same question
|
|
@@ -279,13 +317,13 @@ async function run(args, ctx) {
|
|
|
279
317
|
}
|
|
280
318
|
catch (error) {
|
|
281
319
|
if (outside.length > 0) {
|
|
282
|
-
notes.push(`${outside.length} file(s) you passed are not in ${
|
|
320
|
+
notes.push(`${outside.length} file(s) you passed are not in ${subject}, and git could ` +
|
|
283
321
|
`not be asked whether that is because they are uncommitted: ` +
|
|
284
322
|
`${error.message.trim()}. They are listed in coverage.filesOutsideDiff.`);
|
|
285
323
|
}
|
|
286
324
|
}
|
|
287
325
|
coverage = {
|
|
288
|
-
describes:
|
|
326
|
+
describes: subject,
|
|
289
327
|
filesOutsideDiff: outside,
|
|
290
328
|
uncommitted,
|
|
291
329
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-push.js","sourceRoot":"","sources":["../../src/tools/pre-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,MAAM,EACN,eAAe,EACf,cAAc,EACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"pre-push.js","sourceRoot":"","sources":["../../src/tools/pre-push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagation.d.ts","sourceRoot":"","sources":["../../src/tools/propagation.ts"],"names":[],"mappings":"AAAA;;;;iFAIiF;AAIjF,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,cAAc,EAEnB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,sEAAsE;AACtE,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;uEACmE;IACnE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;wEAEoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED;6EAC6E;AAC7E,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"propagation.d.ts","sourceRoot":"","sources":["../../src/tools/propagation.ts"],"names":[],"mappings":"AAAA;;;;iFAIiF;AAIjF,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,cAAc,EAEnB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,sEAAsE;AACtE,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;uEACmE;IACnE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;wEAEoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED;6EAC6E;AAC7E,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAC;AA4JjE,eAAO,MAAM,eAAe,EAAE,cAY7B,CAAC"}
|
|
@@ -23,7 +23,9 @@ const SCHEMA = {
|
|
|
23
23
|
type: "array",
|
|
24
24
|
items: { type: "string" },
|
|
25
25
|
description: "Restrict the walk. Defaults to PROPAGATES_TO, READS, WRITES and RETURNS — the four that " +
|
|
26
|
-
"carry data rather than control."
|
|
26
|
+
"carry data rather than control. PROPAGATES_TO has no producer in any shipped adapter " +
|
|
27
|
+
"today, so in practice this walk runs over the other three; an empty result is disclosed " +
|
|
28
|
+
"as such rather than reported as \"reaches 0 nodes\".",
|
|
27
29
|
},
|
|
28
30
|
maxDepth: { type: "integer", minimum: 1, description: "Hop limit. Default unbounded." },
|
|
29
31
|
limit: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagation.js","sourceRoot":"","sources":["../../src/tools/propagation.ts"],"names":[],"mappings":"AAAA;;;;iFAIiF;AAEjF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EACL,MAAM,EACN,SAAS,EACT,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,cAAc,GAKf,MAAM,UAAU,CAAC;AA6BlB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;QACvE,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0FAA0F;gBAC1F,4CAA4C;SAC/C;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+EAA+E;SAC7F;QACD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EACT,0FAA0F;gBAC1F,
|
|
1
|
+
{"version":3,"file":"propagation.js","sourceRoot":"","sources":["../../src/tools/propagation.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/validate.d.ts
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* `validate` — §15 static validation: env/config checks.
|
|
3
3
|
* Omits a var unless its read fails-on-absence AND declaration surface is complete
|
|
4
4
|
* (18/107 wrong findings measured otherwise); refuses rather than `ok` when no reads
|
|
5
|
-
* exist. Pass `files` for NEW_READ_UNDECLARED — catches accessor-shape-independent reads.
|
|
6
|
-
|
|
5
|
+
* exist. Pass `files` for NEW_READ_UNDECLARED — catches accessor-shape-independent reads.
|
|
6
|
+
* Add `changedLines` (from get_git_diff's patch) to verify against an added line rather
|
|
7
|
+
* than a file scope, and get `defect` instead of `lead` back for it — see C2, UAT phase 4. */
|
|
8
|
+
import type { AttributeFinding, AttributeReport, ConfigGraph, ConfigReadSite, EnvClaim, EnvEvidence, EnvFindingKind, EnvReport, MigrationIntegrityFinding, MigrationIntegrityReport, OrmRegistrationFinding, OrmRegistrationReport, RollbackFinding, RollbackReport } from "@descryy/core";
|
|
7
9
|
import type { ResolutionLevel } from "@descryy/ir";
|
|
8
10
|
import { type ToolDefinition } from "./kit.ts";
|
|
9
11
|
/** One env/config finding. `claim` distinguishes `defect` (code contradiction) from
|
|
@@ -82,6 +84,18 @@ export interface ValidateData {
|
|
|
82
84
|
readonly ran: boolean;
|
|
83
85
|
readonly withheld: MigrationIntegrityReport["withheld"];
|
|
84
86
|
};
|
|
87
|
+
/** §"ORM model inherits the declarative base but no __init__.py in its package
|
|
88
|
+
* reaches its module" — always a lead, never a defect: a model registered by an
|
|
89
|
+
* explicit scan rather than by import, or deliberately excluded from migrations,
|
|
90
|
+
* triggers this without being a bug. See `orm-registration.ts`'s header. */
|
|
91
|
+
readonly ormRegistration: {
|
|
92
|
+
readonly findings: readonly OrmRegistrationFinding[];
|
|
93
|
+
readonly findingsTotal: number;
|
|
94
|
+
readonly examined: OrmRegistrationReport["examined"];
|
|
95
|
+
/** False when no MODEL node in the graph carried an outgoing INHERITS edge. */
|
|
96
|
+
readonly ran: boolean;
|
|
97
|
+
readonly withheld: OrmRegistrationReport["withheld"];
|
|
98
|
+
};
|
|
85
99
|
}
|
|
86
100
|
export declare const validateTool: ToolDefinition;
|
|
87
101
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/validate.js
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* `validate` — §15 static validation: env/config checks.
|
|
3
3
|
* Omits a var unless its read fails-on-absence AND declaration surface is complete
|
|
4
4
|
* (18/107 wrong findings measured otherwise); refuses rather than `ok` when no reads
|
|
5
|
-
* exist. Pass `files` for NEW_READ_UNDECLARED — catches accessor-shape-independent reads.
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
* exist. Pass `files` for NEW_READ_UNDECLARED — catches accessor-shape-independent reads.
|
|
6
|
+
* Add `changedLines` (from get_git_diff's patch) to verify against an added line rather
|
|
7
|
+
* than a file scope, and get `defect` instead of `lead` back for it — see C2, UAT phase 4. */
|
|
8
|
+
import { buildConfigGraph, checkAttributeExistence, checkEnvironment, checkMigrationIntegrity, checkOrmModelRegistration, checkRollbackReadiness, scanConfigSurfaces, scanMigrations, } from "@descryy/core";
|
|
9
|
+
import { optionalInteger, optionalStringArray, ToolInputError, } from "./kit.js";
|
|
8
10
|
const SCHEMA = {
|
|
9
11
|
type: "object",
|
|
10
12
|
properties: {
|
|
@@ -30,14 +32,85 @@ const SCHEMA = {
|
|
|
30
32
|
minimum: 1,
|
|
31
33
|
description: "Cap on findings returned. Default 25; overflow is disclosed, not dropped.",
|
|
32
34
|
},
|
|
35
|
+
changedLines: {
|
|
36
|
+
type: "array",
|
|
37
|
+
items: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
file: {
|
|
41
|
+
type: "string",
|
|
42
|
+
description: "A repo-relative path, matching one entry of \"files\".",
|
|
43
|
+
},
|
|
44
|
+
ranges: {
|
|
45
|
+
type: "array",
|
|
46
|
+
items: {
|
|
47
|
+
type: "object",
|
|
48
|
+
properties: {
|
|
49
|
+
start: { type: "integer", minimum: 1 },
|
|
50
|
+
end: { type: "integer", minimum: 1 },
|
|
51
|
+
},
|
|
52
|
+
required: ["start", "end"],
|
|
53
|
+
additionalProperties: false,
|
|
54
|
+
},
|
|
55
|
+
description: "1-based, inclusive line ranges this file's diff actually added.",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
required: ["file", "ranges"],
|
|
59
|
+
additionalProperties: false,
|
|
60
|
+
},
|
|
61
|
+
description: "Which lines the diff actually added, per file — e.g. from get_git_diff's patch text run " +
|
|
62
|
+
"through addedLineRanges. Sharpens NEW_READ_UNDECLARED (which \"files\" alone already " +
|
|
63
|
+
"enables) from \"in a file this call scoped to\" to \"on a line this diff actually added\": " +
|
|
64
|
+
"without it, a pre-existing undeclared read in a file you touched for an unrelated reason is " +
|
|
65
|
+
"reported as a lead rather than a defect, because this call cannot tell it apart from a read " +
|
|
66
|
+
"the change just introduced. A file named in \"files\" but absent here is treated the same as " +
|
|
67
|
+
"when this argument is omitted entirely, for that file only.",
|
|
68
|
+
},
|
|
33
69
|
},
|
|
34
70
|
additionalProperties: false,
|
|
35
71
|
};
|
|
72
|
+
/** `changedLines`' wire shape ({ file, ranges }[], JSON-schema-friendly) into the
|
|
73
|
+
* `Map` `checkEnvironment` takes. Malformed input is refused, not silently dropped —
|
|
74
|
+
* a caller that thinks it narrowed the check and did not is worse off than one who
|
|
75
|
+
* never tried. */
|
|
76
|
+
function parseChangedLines(args) {
|
|
77
|
+
const raw = args["changedLines"];
|
|
78
|
+
if (raw === undefined)
|
|
79
|
+
return undefined;
|
|
80
|
+
if (!Array.isArray(raw)) {
|
|
81
|
+
throw new ToolInputError('"changedLines" must be an array of { file, ranges }.');
|
|
82
|
+
}
|
|
83
|
+
const map = new Map();
|
|
84
|
+
for (const entry of raw) {
|
|
85
|
+
if (typeof entry !== "object" || entry === null) {
|
|
86
|
+
throw new ToolInputError('Each "changedLines" entry must be an object with "file" and "ranges".');
|
|
87
|
+
}
|
|
88
|
+
const row = entry;
|
|
89
|
+
const file = row["file"];
|
|
90
|
+
const ranges = row["ranges"];
|
|
91
|
+
if (typeof file !== "string" || file === "" || !Array.isArray(ranges)) {
|
|
92
|
+
throw new ToolInputError('Each "changedLines" entry needs a non-empty "file" and a "ranges" array.');
|
|
93
|
+
}
|
|
94
|
+
const parsedRanges = [];
|
|
95
|
+
for (const range of ranges) {
|
|
96
|
+
const r = typeof range === "object" && range !== null ? range : null;
|
|
97
|
+
const start = r?.["start"];
|
|
98
|
+
const end = r?.["end"];
|
|
99
|
+
if (typeof start !== "number" || typeof end !== "number") {
|
|
100
|
+
throw new ToolInputError(`"changedLines" entry for "${file}" has a range that is not { start, end }.`);
|
|
101
|
+
}
|
|
102
|
+
parsedRanges.push({ start, end });
|
|
103
|
+
}
|
|
104
|
+
map.set(file, parsedRanges);
|
|
105
|
+
}
|
|
106
|
+
return map;
|
|
107
|
+
}
|
|
36
108
|
async function run(args, ctx) {
|
|
37
109
|
const files = optionalStringArray(args, "files");
|
|
38
110
|
const maxFindings = optionalInteger(args, "maxFindings", 1);
|
|
39
111
|
const rawFloor = args["coverageFloor"];
|
|
40
112
|
const coverageFloor = typeof rawFloor === "number" && rawFloor >= 0 && rawFloor <= 1 ? rawFloor : undefined;
|
|
113
|
+
const changedLines = parseChangedLines(args);
|
|
41
114
|
ctx.progress("Reading configuration files");
|
|
42
115
|
const scan = scanConfigSurfaces(ctx.session.repoPath);
|
|
43
116
|
ctx.progress("Cross-checking against environment reads in the graph");
|
|
@@ -46,6 +119,7 @@ async function run(args, ctx) {
|
|
|
46
119
|
...(files === undefined ? {} : { files }),
|
|
47
120
|
...(maxFindings === undefined ? {} : { maxFindings }),
|
|
48
121
|
...(coverageFloor === undefined ? {} : { coverageFloor }),
|
|
122
|
+
...(changedLines === undefined ? {} : { changedLines }),
|
|
49
123
|
});
|
|
50
124
|
ctx.progress("Tracing what depends on each configuration variable");
|
|
51
125
|
const configGraph = buildConfigGraph(provider, scan);
|
|
@@ -64,6 +138,11 @@ async function run(args, ctx) {
|
|
|
64
138
|
...(files === undefined ? {} : { files }),
|
|
65
139
|
...(maxFindings === undefined ? {} : { maxFindings }),
|
|
66
140
|
});
|
|
141
|
+
ctx.progress("Checking ORM models are reached by their package's __init__");
|
|
142
|
+
const ormRegistration = checkOrmModelRegistration(provider, {
|
|
143
|
+
...(files === undefined ? {} : { files }),
|
|
144
|
+
...(maxFindings === undefined ? {} : { maxFindings }),
|
|
145
|
+
});
|
|
67
146
|
const report = checked.data;
|
|
68
147
|
const defects = report.findings.filter((f) => f.claim === "defect").length +
|
|
69
148
|
attributeExistence.data.findings.length +
|
|
@@ -75,14 +154,15 @@ async function run(args, ctx) {
|
|
|
75
154
|
!report.readsAvailable &&
|
|
76
155
|
!rollback.data.ran &&
|
|
77
156
|
!attributeExistence.data.ran &&
|
|
78
|
-
!migrationIntegrity.data.ran
|
|
157
|
+
!migrationIntegrity.data.ran &&
|
|
158
|
+
!ormRegistration.data.ran;
|
|
79
159
|
// A `files` scope matching zero FILE nodes means those files were never read into
|
|
80
160
|
// the graph (bad path, or unparsed) — not "read and clean". Same collapse as
|
|
81
161
|
// `contracts(paths)`, one level down.
|
|
82
162
|
const filesMatchedNothing = files !== undefined && report.reads.filesWithReads + report.reads.filesWithoutReads === 0;
|
|
83
163
|
// Leads and rollback findings are worth a look; defects are what this tool exists
|
|
84
164
|
// to catch. Never blur the two into one count (see EnvFindingReport.claim).
|
|
85
|
-
const otherFindings = leads + rollback.data.findings.length;
|
|
165
|
+
const otherFindings = leads + rollback.data.findings.length + ormRegistration.data.findings.length;
|
|
86
166
|
// A "Clean" verdict from a files scope matching nothing would misreport "checked,
|
|
87
167
|
// fine" when nothing was read. Only pure-Clean is downgraded — real findings from
|
|
88
168
|
// unscoped checks still surface.
|
|
@@ -108,15 +188,18 @@ async function run(args, ctx) {
|
|
|
108
188
|
const shown = report.findings.length +
|
|
109
189
|
rollback.data.findings.length +
|
|
110
190
|
attributeExistence.data.findings.length +
|
|
111
|
-
migrationIntegrity.data.findings.length
|
|
191
|
+
migrationIntegrity.data.findings.length +
|
|
192
|
+
ormRegistration.data.findings.length;
|
|
112
193
|
const total = report.findingsTotal +
|
|
113
194
|
rollback.data.findingsTotal +
|
|
114
195
|
attributeExistence.data.findingsTotal +
|
|
115
|
-
migrationIntegrity.data.findingsTotal
|
|
196
|
+
migrationIntegrity.data.findingsTotal +
|
|
197
|
+
ormRegistration.data.findingsTotal;
|
|
116
198
|
const truncated = checked.truncated ||
|
|
117
199
|
rollback.truncated ||
|
|
118
200
|
attributeExistence.truncated ||
|
|
119
201
|
migrationIntegrity.truncated ||
|
|
202
|
+
ormRegistration.truncated ||
|
|
120
203
|
configGraph.truncated;
|
|
121
204
|
const truncatedDetail = truncated
|
|
122
205
|
? { shown, total: Math.max(total, shown), more: null }
|
|
@@ -177,6 +260,13 @@ async function run(args, ctx) {
|
|
|
177
260
|
ran: migrationIntegrity.data.ran,
|
|
178
261
|
withheld: migrationIntegrity.data.withheld,
|
|
179
262
|
},
|
|
263
|
+
ormRegistration: {
|
|
264
|
+
findings: ormRegistration.data.findings,
|
|
265
|
+
findingsTotal: ormRegistration.data.findingsTotal,
|
|
266
|
+
examined: ormRegistration.data.examined,
|
|
267
|
+
ran: ormRegistration.data.ran,
|
|
268
|
+
withheld: ormRegistration.data.withheld,
|
|
269
|
+
},
|
|
180
270
|
},
|
|
181
271
|
// Every check's disclosures reach the reader — dropping one half silently
|
|
182
272
|
// is the degradation rule 7 exists to prevent.
|
|
@@ -186,12 +276,13 @@ async function run(args, ctx) {
|
|
|
186
276
|
...rollback.notes,
|
|
187
277
|
...attributeExistence.notes,
|
|
188
278
|
...migrationIntegrity.notes,
|
|
279
|
+
...ormRegistration.notes,
|
|
189
280
|
...configGraph.notes,
|
|
190
281
|
],
|
|
191
282
|
truncated,
|
|
192
283
|
stamp: {
|
|
193
284
|
...checked.stamp,
|
|
194
|
-
resolutionFloor: Math.min(checked.stamp.resolutionFloor, rollback.stamp.resolutionFloor, attributeExistence.stamp.resolutionFloor, migrationIntegrity.stamp.resolutionFloor, configGraph.stamp.resolutionFloor),
|
|
285
|
+
resolutionFloor: Math.min(checked.stamp.resolutionFloor, rollback.stamp.resolutionFloor, attributeExistence.stamp.resolutionFloor, migrationIntegrity.stamp.resolutionFloor, ormRegistration.stamp.resolutionFloor, configGraph.stamp.resolutionFloor),
|
|
195
286
|
},
|
|
196
287
|
},
|
|
197
288
|
// §11A.5's canonical name-level fact (exists or not) — the one claim R2 supports
|
|
@@ -215,7 +306,9 @@ async function run(args, ctx) {
|
|
|
215
306
|
`${rollback.data.examined.operations} destructive migration operation(s) examined; ` +
|
|
216
307
|
`${attributeExistence.data.examined.readEdgesExamined} attribute read(s) checked against ` +
|
|
217
308
|
`a declared type; ${migrationIntegrity.data.examined.modulesWithRevision} migration(s) ` +
|
|
218
|
-
"checked for location and revision-chain integrity
|
|
309
|
+
"checked for location and revision-chain integrity; " +
|
|
310
|
+
`${ormRegistration.data.examined.candidates} ORM model(s) inheriting a declarative base ` +
|
|
311
|
+
"checked for package-import reachability.",
|
|
219
312
|
};
|
|
220
313
|
}
|
|
221
314
|
function countDeclared(surfaces) {
|
|
@@ -225,7 +318,13 @@ export const validateTool = {
|
|
|
225
318
|
name: "validate",
|
|
226
319
|
class: "read",
|
|
227
320
|
tier: "conclusion",
|
|
228
|
-
|
|
321
|
+
// 1.1.0 (C2, UAT phase 4): without "changedLines", NEW_READ_UNDECLARED for a
|
|
322
|
+
// pre-existing read in a "files"-scoped file is now a `lead`, worded without
|
|
323
|
+
// an authorship claim, where it used to be a `defect` calling it "a new read
|
|
324
|
+
// this change introduces" — a claim `files` alone never supported. A caller
|
|
325
|
+
// that passes "changedLines" gets the stronger `defect` back, now genuinely
|
|
326
|
+
// verified against an added line rather than assumed from file scope.
|
|
327
|
+
version: "1.1.0",
|
|
229
328
|
title: "Environment and configuration checks",
|
|
230
329
|
description: "Cross-check the environment variables the code requires against the ones this repository " +
|
|
231
330
|
"declares. Reports a variable only when the code reads it with no fallback and no " +
|
|
@@ -234,14 +333,22 @@ export const validateTool = {
|
|
|
234
333
|
"manager or a platform is disclosed with a count, never reported as missing. Pass \"files\" " +
|
|
235
334
|
"(the diff you are about to push) to also catch a variable your change reads that no " +
|
|
236
335
|
"declaration surface declares, regardless of whether the accessor fails on absence — the " +
|
|
237
|
-
"usual shape on a codebase where almost no read is required
|
|
336
|
+
"usual shape on a codebase where almost no read is required; without \"changedLines\" this is " +
|
|
337
|
+
"reported as a lead, because a file-scoped read cannot yet be told apart from one the diff never " +
|
|
338
|
+
"touched. Pass \"changedLines\" (from get_git_diff's patch text) to sharpen it to a defect, " +
|
|
339
|
+
"verified against a line the diff actually added. Also reports variables set in " +
|
|
238
340
|
"one configuration file and documented in no example file, stated as a lead rather than a " +
|
|
239
341
|
"defect. Two further checks, both always defects because both are provable from the graph " +
|
|
240
342
|
"alone: an attribute read on a value whose declared type does not name it (from a READS " +
|
|
241
343
|
"edge's attrs.unresolvedFields), and a migration whose location or declared parent revision " +
|
|
242
344
|
"disagrees with the rest of the project's migrations (from attrs.migrationRevision, " +
|
|
243
345
|
"migrationDownRevision and migrationDir). Both are silent wherever the producer supplied no " +
|
|
244
|
-
"signal — absence of the attrs key is never read as a clean result."
|
|
346
|
+
"signal — absence of the attrs key is never read as a clean result. A fifth check reports a " +
|
|
347
|
+
"class inheriting an ORM declarative base (a MODEL node with an INHERITS edge) whose own " +
|
|
348
|
+
"module no __init__.py in its package reaches, directly or transitively — the shape behind a " +
|
|
349
|
+
"model silently missing from Base.metadata and having its table dropped by the next " +
|
|
350
|
+
"autogenerate. Always a lead, never a defect: an explicit scan/glob registration or a " +
|
|
351
|
+
"deliberately excluded model triggers it without being a bug.",
|
|
245
352
|
inputSchema: SCHEMA,
|
|
246
353
|
run,
|
|
247
354
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA;;;;;;8FAM8F;AAE9F,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,GACf,MAAM,eAAe,CAAC;AAoBvB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,cAAc,GAGf,MAAM,UAAU,CAAC;AA+FlB,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EACT,iFAAiF;gBACjF,yFAAyF;gBACzF,yFAAyF;gBACzF,yFAAyF;gBACzF,yEAAyE;SAC5E;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,WAAW,EACT,kFAAkF;gBAClF,qFAAqF;gBACrF,oEAAoE;SACvE;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,2EAA2E;SACzF;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;gCACtC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;6BACrC;4BACD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;4BAC1B,oBAAoB,EAAE,KAAK;yBAC5B;wBACD,WAAW,EAAE,iEAAiE;qBAC/E;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAC5B,oBAAoB,EAAE,KAAK;aAC5B;YACD,WAAW,EACT,0FAA0F;gBAC1F,uFAAuF;gBACvF,6FAA6F;gBAC7F,8FAA8F;gBAC9F,8FAA8F;gBAC9F,+FAA+F;gBAC/F,6DAA6D;SAChE;KACF;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX;;;mBAGmB;AACnB,SAAS,iBAAiB,CACxB,IAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IACjC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,cAAc,CAAC,sDAAsD,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuE,CAAC;IAC3F,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,cAAc,CAAC,uEAAuE,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,cAAc,CAAC,0EAA0E,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,YAAY,GAAuD,EAAE,CAAC;QAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClG,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,IAAI,cAAc,CAAC,6BAA6B,IAAI,2CAA2C,CAAC,CAAC;YACzG,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAA6B,EAAE,GAAgB;IAChE,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACvC,MAAM,aAAa,GACjB,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7C,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtD,GAAG,CAAC,QAAQ,CAAC,uDAAuD,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC/C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;KACxD,CAAC,CAAC;IAEH,GAAG,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAErD,GAAG,CAAC,QAAQ,CAAC,+CAA+C,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtF,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,GAAG,CAAC,QAAQ,CAAC,iDAAiD,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,QAAQ,EAAE;QAC3D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,GAAG,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,QAAQ,EAAE;QAC3D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,GAAG,CAAC,QAAQ,CAAC,6DAA6D,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,yBAAyB,CAAC,QAAQ,EAAE;QAC1D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5B,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,MAAM;QAC1D,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;QACvC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IAElG,gFAAgF;IAChF,gFAAgF;IAChF,MAAM,cAAc,GAClB,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC5B,CAAC,MAAM,CAAC,cAAc;QACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;QAClB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG;QAC5B,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG;QAC5B,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;IAE5B,kFAAkF;IAClF,6EAA6E;IAC7E,sCAAsC;IACtC,MAAM,mBAAmB,GACvB,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,CAAC;IAE5F,kFAAkF;IAClF,4EAA4E;IAC5E,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACnG,kFAAkF;IAClF,kFAAkF;IAClF,iCAAiC;IACjC,MAAM,UAAU,GAAG,mBAAmB,IAAI,OAAO,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,OAAO,GAAG,CAAC;YACX,CAAC,CAAC,GAAG,OAAO,kBAAkB;YAC9B,CAAC,CAAC,aAAa,GAAG,CAAC;gBACjB,CAAC,CAAC,eAAe,aAAa,wCAAwC;gBACtE,CAAC,CAAC,OAAO,CAAC;IAEhB,MAAM,UAAU,GAAa,mBAAmB;QAC9C,CAAC,CAAC;YACE,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,4DAA4D;gBAC1F,wFAAwF;gBACxF,yFAAyF;gBACzF,iBAAiB;SACpB;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,kFAAkF;IAClF,kFAAkF;IAClF,2EAA2E;IAC3E,MAAM,KAAK,GACT,MAAM,CAAC,QAAQ,CAAC,MAAM;QACtB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;QAC7B,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;QACvC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;QACvC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvC,MAAM,KAAK,GACT,MAAM,CAAC,aAAa;QACpB,QAAQ,CAAC,IAAI,CAAC,aAAa;QAC3B,kBAAkB,CAAC,IAAI,CAAC,aAAa;QACrC,kBAAkB,CAAC,IAAI,CAAC,aAAa;QACrC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;IACrC,MAAM,SAAS,GACb,OAAO,CAAC,SAAS;QACjB,QAAQ,CAAC,SAAS;QAClB,kBAAkB,CAAC,SAAS;QAC5B,kBAAkB,CAAC,SAAS;QAC5B,eAAe,CAAC,SAAS;QACzB,WAAW,CAAC,SAAS,CAAC;IACxB,MAAM,eAAe,GAAiC,SAAS;QAC7D,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;QACtD,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,MAAM,EAAE;YACN,GAAG,OAAO;YACV,IAAI,EAAE;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC,CAAC;gBACH,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,wEAAwE;gBACxE,4EAA4E;gBAC5E,WAAW,EAAE;oBACX,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM;oBAC/B,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB;oBACnD,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS;yBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;yBACxD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;yBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACX,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,SAAS,EAAE,CAAC,CAAC,mBAAmB;wBAChC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC5B,MAAM,EAAE,CAAC,CAAC,eAAe;qBAC1B,CAAC,CAAC;iBACN;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;oBAChC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa;oBAC1C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;oBAChC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;oBAChC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;oBACtB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;iBACjC;gBACD,kBAAkB,EAAE;oBAClB,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ;oBAC1C,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,aAAa;oBACpD,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ;oBAC1C,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG;iBACjC;gBACD,kBAAkB,EAAE;oBAClB,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ;oBAC1C,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,aAAa;oBACpD,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ;oBAC1C,mBAAmB,EAAE,kBAAkB,CAAC,IAAI,CAAC,mBAAmB;oBAChE,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG;oBAChC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ;iBAC3C;gBACD,eAAe,EAAE;oBACf,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ;oBACvC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa;oBACjD,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ;oBACvC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG;oBAC7B,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,QAAQ;iBACxC;aACF;YACD,0EAA0E;YAC1E,+CAA+C;YAC/C,KAAK,EAAE;gBACL,GAAG,UAAU;gBACb,GAAG,OAAO,CAAC,KAAK;gBAChB,GAAG,QAAQ,CAAC,KAAK;gBACjB,GAAG,kBAAkB,CAAC,KAAK;gBAC3B,GAAG,kBAAkB,CAAC,KAAK;gBAC3B,GAAG,eAAe,CAAC,KAAK;gBACxB,GAAG,WAAW,CAAC,KAAK;aACrB;YACD,SAAS;YACT,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,KAAK;gBAChB,eAAe,EAAE,IAAI,CAAC,GAAG,CACvB,OAAO,CAAC,KAAK,CAAC,eAAe,EAC7B,QAAQ,CAAC,KAAK,CAAC,eAAe,EAC9B,kBAAkB,CAAC,KAAK,CAAC,eAAe,EACxC,kBAAkB,CAAC,KAAK,CAAC,eAAe,EACxC,eAAe,CAAC,KAAK,CAAC,eAAe,EACrC,WAAW,CAAC,KAAK,CAAC,eAAe,CACM;aAC1C;SACF;QACD,iFAAiF;QACjF,kDAAkD;QAClD,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE;YAC/B,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE;gBAC7B,CAAC,CAAC,EAAE,CAAC;QACT,QAAQ,EAAE,cAAc;YACtB,CAAC,CAAC,0FAA0F;gBAC1F,6BAA6B;YAC/B,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,wDAAwD;oBACxF,qBAAqB;gBACvB,CAAC,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,iCAAiC;oBACtE,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB;oBACjD,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,mEAAmE;oBAC3F,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,gDAAgD;oBACpF,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,qCAAqC;oBAC1F,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,gBAAgB;oBACxF,qDAAqD;oBACrD,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,8CAA8C;oBACzF,0CAA0C;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAkD;IACvE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,YAAY;IAClB,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EACT,2FAA2F;QAC3F,mFAAmF;QACnF,wFAAwF;QACxF,wFAAwF;QACxF,6FAA6F;QAC7F,sFAAsF;QACtF,0FAA0F;QAC1F,+FAA+F;QAC/F,kGAAkG;QAClG,6FAA6F;QAC7F,iFAAiF;QACjF,2FAA2F;QAC3F,2FAA2F;QAC3F,yFAAyF;QACzF,6FAA6F;QAC7F,qFAAqF;QACrF,6FAA6F;QAC7F,6FAA6F;QAC7F,0FAA0F;QAC1F,8FAA8F;QAC9F,qFAAqF;QACrF,uFAAuF;QACvF,8DAA8D;IAChE,WAAW,EAAE,MAA4C;IACzD,GAAG;CACJ,CAAC"}
|