@heyditto/cli 2.32.2 → 2.33.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/README.md +52 -0
- package/dist/agents/claude-mcp.d.ts +4 -0
- package/dist/agents/claude-mcp.js +11 -0
- package/dist/agents/claude-mcp.js.map +1 -1
- package/dist/agents/launch.js +2 -3
- package/dist/agents/launch.js.map +1 -1
- package/dist/review-commands.d.ts +14 -0
- package/dist/review-commands.js +244 -1
- package/dist/review-commands.js.map +1 -1
- package/dist/review-snapshot.d.ts +39 -0
- package/dist/review-snapshot.js +360 -0
- package/dist/review-snapshot.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -222,6 +222,58 @@ heyditto search "launch notes" --include-public --filter-username peyton
|
|
|
222
222
|
|
|
223
223
|
### `review`
|
|
224
224
|
|
|
225
|
+
#### Review a working diff before opening a PR
|
|
226
|
+
|
|
227
|
+
```sh
|
|
228
|
+
heyditto review local --preview
|
|
229
|
+
heyditto review local --staged --profile quick --org omniaura
|
|
230
|
+
heyditto review local --base main --context-file .tmp/task.md --output json
|
|
231
|
+
heyditto review local-status <run-id> --org omniaura
|
|
232
|
+
heyditto review local-cancel <run-id> --org omniaura
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
`local` uses your existing login and selected organization, and the current
|
|
236
|
+
checkout's GitHub origin identifies its configured Review repository. Override
|
|
237
|
+
that mapping with `--repository owner/name`, or the checkout with `--directory`.
|
|
238
|
+
The backend must support local Review runs and the repository must be enabled.
|
|
239
|
+
The same permissions and spending policy as manual PR reviews apply.
|
|
240
|
+
|
|
241
|
+
The default reviews staged, unstaged and eligible untracked changes. `--staged`
|
|
242
|
+
reviews the index bytes, including when a file also has unstaged edits.
|
|
243
|
+
`--base main` includes branch and working changes since the merge base with
|
|
244
|
+
`main`. It cannot be combined with `--staged`. No commit, push, PR or index
|
|
245
|
+
mutation is required.
|
|
246
|
+
|
|
247
|
+
`--preview` is offline: it shows the selected paths, snapshot digest, file and
|
|
248
|
+
byte counts, exclusions and omitted context without logging in or uploading.
|
|
249
|
+
Running without `--preview` uploads the selected source changes and bounded
|
|
250
|
+
surrounding tracked source to Ditto Review, which uses the existing independent
|
|
251
|
+
review and verification engine. The immutable snapshot is limited to 16 MiB of
|
|
252
|
+
decoded source and 4096 files per tree. Every eligible changed file must fit;
|
|
253
|
+
nearby surrounding files fill the remaining budget. Binary files, symlinks and
|
|
254
|
+
submodules are recorded as skipped rather than followed or executed.
|
|
255
|
+
Git paths must be valid UTF-8. Unsupported path encodings abort capture before
|
|
256
|
+
upload rather than changing path identity or silently omitting changes.
|
|
257
|
+
|
|
258
|
+
Choose `quick` (default), `standard` or `deep`. The service returns the effective
|
|
259
|
+
time and budget ceilings; queue and capture time are additional. These profiles
|
|
260
|
+
are effort policies, not measured speed guarantees. `--timeout` bounds the
|
|
261
|
+
whole CLI operation and requests cancellation when it expires. Ctrl-C also
|
|
262
|
+
requests cancellation; use the printed run ID to inspect or cancel a run later.
|
|
263
|
+
An uncertain admission is identified by its request ID and is never retried
|
|
264
|
+
automatically. Use the printed recovery command with `--request-id <uuid>` to
|
|
265
|
+
recover that same admission. The server reuses the original run for identical
|
|
266
|
+
input and refuses changes to the source snapshot, profile or context under that
|
|
267
|
+
ID, so this recovery does not start another paid attempt.
|
|
268
|
+
|
|
269
|
+
Readable and JSON results identify the reviewed snapshot, findings, coverage,
|
|
270
|
+
cost receipts and whether the current working tree still matches. Partial
|
|
271
|
+
reviews return a nonzero exit code. Bounded surrounding context is stated
|
|
272
|
+
explicitly; "no findings in reviewed scope" is not an assertion that the
|
|
273
|
+
checkout is bug-free. Results are unpublished local reviews and post nothing
|
|
274
|
+
to GitHub. Organization learning-memory and complete hosted repository-policy
|
|
275
|
+
parity remain separate capabilities and are not implied by this command.
|
|
276
|
+
|
|
225
277
|
Manage Ditto Review and follow reviews from either `ditto` or `heyditto`.
|
|
226
278
|
Commands use your selected organization (`orgs use`) or `--org`; without one,
|
|
227
279
|
they use your personal workspace. Repositories must already be set up for
|
|
@@ -52,6 +52,8 @@ export interface ClaudeMcpAttachment {
|
|
|
52
52
|
ask: string[];
|
|
53
53
|
servers: number;
|
|
54
54
|
tools: number;
|
|
55
|
+
/** Tools Ditto's policy would hold for a person. */
|
|
56
|
+
gated: number;
|
|
55
57
|
clientApprovals: boolean;
|
|
56
58
|
}
|
|
57
59
|
/** Claude Code server name for a catalog server: the built-ins keep "ditto", the rest are "ditto-<source>". */
|
|
@@ -66,6 +68,8 @@ export declare function fetchMcpCatalog(baseUrl: string, apiKey: string, session
|
|
|
66
68
|
export declare function claudeMcpAttachment(catalog: McpCatalog, sessionId: string, opts?: {
|
|
67
69
|
yolo?: boolean;
|
|
68
70
|
}): ClaudeMcpAttachment;
|
|
71
|
+
/** Who stops a gated call, for the launch banner: only what is actually true. */
|
|
72
|
+
export declare function mcpApprovalNote(mcp: ClaudeMcpAttachment): string;
|
|
69
73
|
type Json = Record<string, unknown>;
|
|
70
74
|
/** Objects merge key by key, arrays concatenate without duplicates, anything else: b wins. */
|
|
71
75
|
export declare function mergeSettings(a: Json, b: Json): Json;
|
|
@@ -68,6 +68,7 @@ export function claudeMcpAttachment(catalog, sessionId, opts = {}) {
|
|
|
68
68
|
const allow = [];
|
|
69
69
|
const ask = [];
|
|
70
70
|
let tools = 0;
|
|
71
|
+
let gated = 0;
|
|
71
72
|
for (const server of catalog.servers) {
|
|
72
73
|
if (server.tools.length === 0)
|
|
73
74
|
continue;
|
|
@@ -78,6 +79,7 @@ export function claudeMcpAttachment(catalog, sessionId, opts = {}) {
|
|
|
78
79
|
headers: { Authorization: `Bearer \${${MCP_KEY_ENV}}`, "X-Ditto-Session-Id": sessionId },
|
|
79
80
|
};
|
|
80
81
|
tools += server.tools.length;
|
|
82
|
+
gated += server.tools.filter((t) => t.approval).length;
|
|
81
83
|
if (!catalog.clientApprovals) {
|
|
82
84
|
// Ditto's gate is the authority here; a Claude prompt on top would ask twice.
|
|
83
85
|
allow.push(`mcp__${name}`);
|
|
@@ -98,9 +100,18 @@ export function claudeMcpAttachment(catalog, sessionId, opts = {}) {
|
|
|
98
100
|
ask,
|
|
99
101
|
servers: Object.keys(mcpServers).length,
|
|
100
102
|
tools,
|
|
103
|
+
gated,
|
|
101
104
|
clientApprovals: catalog.clientApprovals,
|
|
102
105
|
};
|
|
103
106
|
}
|
|
107
|
+
/** Who stops a gated call, for the launch banner: only what is actually true. */
|
|
108
|
+
export function mcpApprovalNote(mcp) {
|
|
109
|
+
if (mcp.gated === 0)
|
|
110
|
+
return "no gated tools";
|
|
111
|
+
if (!mcp.clientApprovals)
|
|
112
|
+
return `Ditto holds ${mcp.gated} gated`;
|
|
113
|
+
return mcp.ask.length ? `Claude Code asks before ${mcp.ask.length} gated` : `${mcp.gated} gated run unasked (--yolo)`;
|
|
114
|
+
}
|
|
104
115
|
function isObject(v) {
|
|
105
116
|
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
106
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/agents/claude-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/agents/claude-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAqClD,+GAA+G;AAC/G,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,oGAAoG;AACpG,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,YAA0B,KAAK,EAC/B,SAAS,GAAG,kBAAkB;IAE9B,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC/B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE;QAC3G,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;KACvC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAqC,CAAC;YACpE,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAe,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAC;IACvF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAmB,EAAE,SAAiB,EAAE,OAA2B,EAAE;IACvG,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACxC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,UAAU,CAAC,IAAI,CAAC,GAAG;YACjB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,EAAE,aAAa,EAAE,aAAa,WAAW,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE;SACzF,CAAC;QACF,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7B,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,8EAA8E;YAC9E,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,+EAA+E;iBAC1E,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;QACtC,KAAK;QACL,GAAG;QACH,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;QACvC,KAAK;QACL,KAAK;QACL,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,GAAwB;IACtD,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,eAAe,GAAG,CAAC,KAAK,QAAQ,CAAC;IAClE,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,GAAG,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,6BAA6B,CAAC;AACxH,CAAC;AAID,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,aAAa,CAAC,CAAO,EAAE,CAAO;IAC5C,MAAM,GAAG,GAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,KAAK,GAAY,CAAC,CAAC;QACvB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,iFAAiF;QACjF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAUD,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AACzD,wEAAwE;AACxE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEtD,qFAAqF;AACrF,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4DAA4D;QAC5D,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,UAAoC,KAAK,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACjH,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAAE,SAAS;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,GAAG,uBAAuB;gBAAE,SAAS;YACzD,IAAI,GAAG,KAAK,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG;gBAAE,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc,EAAE,CAAC,MAAM,EAAE;IAC1E,IAAI,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzF,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtC,GAAG,GAAG,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACpG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,QAAc,EAAE,KAAiB,EAAE;IACpF,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,IAAI,oBAAoB,CAAC;IAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,MAAM;YAAE,SAAS;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,mDAAoD,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QACnH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,qBAAqB,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACtB,IAAI,MAAM;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,MAAM,EAAE,CAAC;;YACvC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,kBAAkB,CAAC,GAAwB;IACzD,MAAM,WAAW,GAAS,EAAE,CAAC;IAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACpD,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM;QAAE,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC"}
|
package/dist/agents/launch.js
CHANGED
|
@@ -14,7 +14,7 @@ import { findProfileEndpoint, repoDefaultProfile } from "../dittoconfig/profiles
|
|
|
14
14
|
import { err as c } from "../ui.js";
|
|
15
15
|
import { holdNotesForTui, releaseNotes, writeNote } from "../terminal-note.js";
|
|
16
16
|
import { claudeDittoDenyRules } from "./claude-deny.js";
|
|
17
|
-
import { claudeMcpAttachment, fetchMcpCatalog } from "./claude-mcp.js";
|
|
17
|
+
import { claudeMcpAttachment, fetchMcpCatalog, mcpApprovalNote } from "./claude-mcp.js";
|
|
18
18
|
import { liftResumeFlags, planClaude } from "./claude.js";
|
|
19
19
|
import { resolveClaudeResume, transcriptCwd } from "./claude-resume.js";
|
|
20
20
|
import { findTranscriptById, listTranscriptsIn } from "./claude-transcripts.js";
|
|
@@ -39,8 +39,7 @@ export function wantsMcp(options, endpoint) {
|
|
|
39
39
|
function mcpBanner(mcp, dryRun) {
|
|
40
40
|
if (!mcp)
|
|
41
41
|
return dryRun ? "mcp (catalog read at launch)" : c("yellow", "router (MCP not attached)");
|
|
42
|
-
|
|
43
|
-
return `mcp ${c("dim", `(${mcp.servers} servers, ${mcp.tools} tools; ${asks})`)}`;
|
|
42
|
+
return `mcp ${c("dim", `(${mcp.servers} servers, ${mcp.tools} tools; ${mcpApprovalNote(mcp)})`)}`;
|
|
44
43
|
}
|
|
45
44
|
function log(line, options) {
|
|
46
45
|
writeNote(`${c("dim", "ditto:")} ${line}\n`, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/agents/launch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/agents/launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,QAAQ,EAIR,cAAc,EACd,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAoB,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAA4B,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAyB,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAsB,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,qBAAqB,EAGrB,YAAY,EAGZ,QAAQ,EACR,OAAO,EACP,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAmB,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7I,OAAO,EAAmB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA2CzD,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAEnD,wFAAwF;AACxF,MAAM,UAAU,QAAQ,CAAC,OAAmC,EAAE,QAAoD;IAChH,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAClD,OAAO,QAAQ,CAAC,eAAe,EAAE,mBAAmB,KAAK,KAAK,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,GAAoC,EAAE,MAAgB;IACvE,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACpG,OAAO,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,OAAO,aAAa,GAAG,CAAC,KAAK,WAAW,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,OAAqB;IAC9C,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,OAAgB,EAAE,SAAiB;IACxD,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,mCAAmC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,OAAO,aAAa,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7I,CAAC;AAED,SAAS,OAAO,CAAC,OAAgB,EAAE,KAAgB,EAAE,QAAiB;IACpE,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/D,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAqB;IACnD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnG,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9E,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,kCAAkC,QAAQ,0CAA0C,CAAC,CAAC;QACrH,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IAC9D,GAAG,CAAC,aAAa,MAAM,CAAC,GAAG,kCAAkC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,GAAuB;IAC1C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,GAAG,CAAC,CAAC;IACrH,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,GAAuB;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAK,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAkB,CAAC;IACnF,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,CAAoB;IACvC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAClH,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnL,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,QAAgB;IACjC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,OAAO,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;AAC7D,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAA8B,EAAE,WAAoB;IACrF,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG;YACZ,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACnD,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;SACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAC3L,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,SAAS,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5G,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,SAAS,CAAC,MAAM,+BAA+B,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAA2B;IACpE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO;IACzC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,CAAC,IAAI,wBAAwB,QAAQ,CAAC,MAAM,SAAS,OAAO,EAAE,CACpF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAA0B,EAC1B,SAA8B,EAC9B,QAAsC;IAEtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,WAAW,EAAE,IAAI,CAAC,MAAM,UAAU,CAAC,iEAAiE,CAAC,CAAC,EAAE,CAAC;YAC3G,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;YACzC,GAAG,CAAC,oBAAoB,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YACjE,MAAM,gBAAgB,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6FAA6F,WAAW,EAAE,GAAG,CAC9G,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,EAAE,eAAe,CAAC;IACzD,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,IAAI,EAAE,iBAAiB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,6DAA6D;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7F,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,GAAG,CAAC,aAAa,QAAQ,CAAC,IAAI,2DAA2D,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,UAAU,CAAC,OAAO,MAAM,CAAC,IAAI,wBAAwB,CAAC,EAAE,CAAC;QACjE,MAAM,gBAAgB,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,2BAA2B,MAAM,CAAC,IAAI,qDAAqD,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,QAA4B;IAC1E,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IACtC,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IAC1B,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACnB,+DAA+D;QAC/D,MAAM,aAAa,EAAE,CAAC,CAAC,wDAAwD;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,iFAAiF,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IACxI,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,QAA4B;IACxE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,MAAM,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,QAAQ,MAAM,CAAC,CAAC;YAC9D,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACpF,CAAC;KACF,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtH,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9H,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,KAAmB;IACzC,qEAAqE;IACrE,sEAAsE;IACtE,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,0CAA0C;IAC5C,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB,EAAE,OAAe,EAAE,GAAW;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,mEAAmE;YACnE,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,OAAO,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO,SAAS,OAAO,+CAA+C,CAAC,CAAC,CAAC;gBACvI,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAgB,EAAE,OAAiB,EAAE,OAAsB;IAC7F,IAAI,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC5C,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1F,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACjG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC3G,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAEnH,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;SACR,CAAC,CAAC,WAAW,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,0BAA0B,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,0EAA0E;IAC1E,uDAAuD;IACvD,IAAI,MAAiC,CAAC;IACtC,wEAAwE;IACxE,IAAI,UAAwC,CAAC;IAC7C,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7C,uEAAuE;QACvE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,GAAG,MAAM,CAAC;YACpB,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACxD,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACnG,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,WAAW,EAAE;YAC1B,GAAG;SACJ,CAAC,CAAC;QACH,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;QAClH,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,GAAG,CAAC,WAAW,MAAM,CAAC,EAAE,yFAAyF,CAAC,CAAC;YACrH,CAAC;;gBAAM,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM;YACJ,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;gBAChC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;gBAChC,CAAC,CAAC,qBAAqB,OAAO,CAAC,MAAM,8BAA8B;gBACnE,CAAC,CAAC,eAAe,OAAO,+CAA+C,CAC1E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;QACxG,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAAE,UAAU,GAAG,IAAI,CAAC;IAClD,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,EAAE,YAAY,CAAC;IACnE,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC7F,IAAI,OAAkD,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wEAAwE;QACxE,6CAA6C;QAC7C,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;YAAE,MAAM,GAAG,CAAC;QACpG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;QACnC,GAAG,CAAC,oFAAoF,CAAC,CAAC;QAC1F,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC1D,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxB,IAAI,YAAgC,CAAC;IACrC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,yEAAyE;QACzE,qEAAqE;QACrE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YACjB,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC3D,4EAA4E;QAC5E,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,CAAW,CAAC;QAClD,IAAI,MAAM,EAAE,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC;YAAE,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5G,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAAE,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACtH,CAAC;SAAM,IAAI,MAAM;QAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YACrD,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACjH,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;YACd,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,0DAA0D;IAC1D,IAAI,QAAuC,CAAC;IAC5C,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,CAAC,IAAI,wBAAwB,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,SAAS;oBACvJ,kDAAkD,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,OAAO,wBAAwB,CAClH,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5I,CAAC;IACH,CAAC;IACD,QAAQ,KAAK,MAAM,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnF,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAErC,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,SAAS,GAAG,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;IAC1F,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,OAAO,KAAK,QAAQ;QAC3C,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClF,4EAA4E;IAC5E,wEAAwE;IACxE,wEAAwE;IACxE,gEAAgE;IAChE,MAAM,aAAa,GAAG,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC;IAClF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,CAAC;IAEzF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1E,IAAI,GAA6B,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE;YACjC,IAAI,EAAE,OAAO;YACb,SAAS;YACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,QAAQ,GAAG,OAAO,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM;QACpD,CAAC,CAAC,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,WAAW;YAC/B,SAAS;YACT,KAAK;YACL,QAAQ;YACR,UAAU;YACV,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW;YACX,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,qCAAqC;IACrC,MAAM,OAAO,GAAG,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,GAAoC,CAAC;IACzC,IAAI,OAAO,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACtI,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC;gBAAE,GAAG,GAAG,UAAU,CAAC;;gBACtC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,qEAAqE,CAAC,CAAC;QAC1H,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,KAAM,GAAa,CAAC,OAAO,2CAA2C,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,WAAW;QAC/B,SAAS;QACT,KAAK;QACL,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW;QACX,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,GAAG;QACH,GAAG;QACH,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,EAAE,QAAQ,CAAC,CAAC;IAEb,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;IACzF,MAAM,MAAM,GAAG;QACb,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;QACxE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7E,KAAK,CAAC,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACxF,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QACvF,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KACrE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,GAAG,CAAC,MAAM,CAAC,CAAC;IACZ,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAErE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClF,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CACf;YACE,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG;YACH,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;YACzE,SAAS;YACT,qEAAqE;YACrE,yDAAyD;YACzD,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YACnC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAChD,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,IAAI,IAAI,EAAE;SACpE,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAkB;QAChC,EAAE,EAAE,SAAS;QACb,OAAO;QACP,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,gBAAgB;QAChB,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACtD,QAAQ,EAAE,YAAY;QACtB,KAAK;QACL,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,GAAG;QACnC,cAAc,EAAE,GAAG;QACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;KACtC,CAAC;IACF,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAe,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE;gBACpC,GAAG;gBACH,SAAS;gBACT,gBAAgB;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;gBACrB,KAAK;gBACL,OAAO;gBACP,MAAM,EAAE,UAAU;gBAClB,QAAQ;gBACR,GAAG;gBACH,aAAa,EAAE,OAAO,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aACrF,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,QAAQ,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACpH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7D,2EAA2E;YAC3E,8DAA8D;YAC9D,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,yBAAyB,CAAC,OAAO,GAAG,CAAC,SAAS,sFAAsF,SAAS,GAAG,CAAC,CAAC;QACvK,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,aAAa,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,YAAY,SAAS,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAChH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,iBAAiB,GAAG,CAAC,OAAO,sCAAsC,CAAC,CAAC;YAClG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,GAAG,CAAC,OAAO,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;YAClJ,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,yEAAyE;YACzE,2DAA2D;YAC3D,2EAA2E;YAC3E,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,IAAI,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC1G,CAAC,CAAC,MAAM,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK;gBAAE,GAAG,CAAC,2DAA2D,CAAC,CAAC,KAAK,EAAE,qDAAqD,CAAC,EAAE,CAAC,CAAC;;gBACxI,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,YAAY,CAAC,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC;AACnC,CAAC;AAQD;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAsB;IACxC,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,OAAO,CAAC,aAAa,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,OAAgB,EAAE,KAAiB;IACnD,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,0EAA0E;IAC1E,oEAAoE;IACpE,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,4DAA4D;AAC5D,KAAK,UAAU,aAAa,CAAC,IAAiB,EAAE,GAAW;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;QAC3C,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;QAChC,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AASD;;;;;GAKG;AACH,KAAK,UAAU,uBAAuB,CAAC,OAAgB,EAAE,IAAiB,EAAE,GAAqB;IAC/F,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,GAAG,CAAC,iGAAiG,CAAC,CAAC;QACvG,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAC1C,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE;YAC/C,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK;YAC7B,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,aAAa,CAC/B;QACE,OAAO;QACP,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,KAAK;QACX,OAAO;QACP,MAAM;QACN,GAAG;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAAC;KAC1E,EACD,KAAK,CACN,CAAC;IACF,IAAI,GAAe,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;YAC/F,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjG,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7B,4EAA4E;IAC5E,0EAA0E;IAC1E,mBAAmB;IACnB,eAAe,EAAE,CAAC;IAClB,gEAAgE;IAChE,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/B,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,iDAAiD,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;;YAC3I,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC;IACxB,CAAC;YAAS,CAAC;QACT,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAeD;;;;GAIG;AACH,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,GAAuB;IAClE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAC;IACtC,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE;YAC/C,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,+EAA+E;IAC/E,IAAI,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjE,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,OAAO,GAAG,IAAI,aAAa,CAC/B;QACE,OAAO;QACP,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU,EAAE;QACrB,MAAM,EAAE,QAAQ;QAChB,GAAG;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAAC;KAC1E,EACD,KAAK,CACN,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE;QACjC,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,MAAM,UAAU,GAAG,OAAO,KAAK,OAAO,IAAI,YAAY,CAAC;QACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC;YAC7B,OAAO;YACP,IAAI,EAAE;gBACJ,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;gBACtB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC1B,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvF,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB;YACD,MAAM;YACN,QAAQ;YACR,UAAU;YACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,KAAK,MAAM,IAAI,WAAW;YAC7C,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;SAC3E,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,OAAO,KAAK,QAAQ;gBAAE,aAAa,GAAG,IAAI,CAAC;;gBAC1C,YAAY,GAAG,IAAI,CAAC;YACzB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,uEAAuE;QACvE,yEAAyE;QACzE,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC1D,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACjC,GAAG,CACD,EAAE;QACA,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,4BAA4B,CAAC,iDAAiD,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,2BAA2B;QACjJ,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,2BAA2B,CAAC,+CAA+C,CAC/F,CAAC;IACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,OAAO;gBAAE,GAAG,CAAC,kEAAkE,CAAC,CAAC;YACrF,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -82,6 +82,20 @@ interface WatchOptions extends ScopeOptions {
|
|
|
82
82
|
timeout?: string;
|
|
83
83
|
watch?: boolean;
|
|
84
84
|
}
|
|
85
|
+
interface LocalOptions extends ScopeOptions {
|
|
86
|
+
staged?: boolean;
|
|
87
|
+
base?: string;
|
|
88
|
+
profile?: string;
|
|
89
|
+
contextFile?: string;
|
|
90
|
+
repository?: string;
|
|
91
|
+
directory?: string;
|
|
92
|
+
preview?: boolean;
|
|
93
|
+
timeout?: string;
|
|
94
|
+
requestId?: string;
|
|
95
|
+
}
|
|
96
|
+
export declare function cmdReviewLocal(options: LocalOptions): Promise<void>;
|
|
97
|
+
export declare function cmdReviewLocalStatus(id: string, options: ScopeOptions): Promise<void>;
|
|
98
|
+
export declare function cmdReviewLocalCancel(id: string, options: ScopeOptions): Promise<void>;
|
|
85
99
|
export declare function cmdReviewRuns(fullName: string | undefined, options: ScopeOptions): Promise<void>;
|
|
86
100
|
export declare function cmdReviewPulls(fullName: string, options: ScopeOptions): Promise<void>;
|
|
87
101
|
export declare function cmdReviewStatus(id: string, options: ScopeOptions): Promise<void>;
|
package/dist/review-commands.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import path from "node:path";
|
|
2
4
|
import { setTimeout as delay } from "node:timers/promises";
|
|
3
|
-
import { apiFetch, resolveCompany } from "./api.js";
|
|
5
|
+
import { ApiError, apiFetch, resolveCompany } from "./api.js";
|
|
4
6
|
import { registerReviewFindingCommands } from "./review-findings.js";
|
|
5
7
|
import { readStoredAuth } from "./store.js";
|
|
8
|
+
import { captureReviewSnapshot, reviewGit } from "./review-snapshot.js";
|
|
6
9
|
/** The server's bounds (backend reviewLimits). */
|
|
7
10
|
const MIN_MAX_MINUTES = 5;
|
|
8
11
|
const MAX_MAX_MINUTES = 45;
|
|
@@ -23,6 +26,230 @@ export async function listReviewRepositories(company) {
|
|
|
23
26
|
const out = await apiFetch(`/api/v5/review${scopeQuery(company)}`);
|
|
24
27
|
return out.repositories ?? [];
|
|
25
28
|
}
|
|
29
|
+
function repositoryFromRemote(remote) {
|
|
30
|
+
const match = /^(?:git@github\.com:|https?:\/\/github\.com\/|ssh:\/\/git@github\.com\/)([^/\s]+\/[^/\s]+?)(?:\.git)?\/?$/.exec(remote.trim());
|
|
31
|
+
if (!match)
|
|
32
|
+
throw new Error("cannot identify a GitHub repository from origin; pass --repository <owner/name>");
|
|
33
|
+
return match[1];
|
|
34
|
+
}
|
|
35
|
+
function printLocalRun(run, options) {
|
|
36
|
+
if (isJSON(options))
|
|
37
|
+
return writeJSON(run);
|
|
38
|
+
const result = run.result;
|
|
39
|
+
process.stdout.write(`Local review ${run.status} · ${run.profile}\nRun: ${run.runId}\nSnapshot: ${run.snapshotDigest}\n`);
|
|
40
|
+
const findings = result?.findings?.filter(f => !f.status || f.status === "posted") ?? [];
|
|
41
|
+
const reportable = result && (Array.isArray(result.findings) || result.complete === true) && ["completed", "partial"].includes(run.status);
|
|
42
|
+
if (reportable) {
|
|
43
|
+
process.stdout.write(`${findings.length ? `${findings.length} finding${findings.length === 1 ? "" : "s"} in reviewed scope` : "No findings in reviewed scope"}\n`);
|
|
44
|
+
for (const f of findings)
|
|
45
|
+
process.stdout.write(`\n${f.severity ?? "finding"} · ${f.path ?? ""}:${f.line ?? f.startLine ?? ""} · ${f.title ?? ""}\n${f.body ?? f.explanation ?? ""}\n`);
|
|
46
|
+
}
|
|
47
|
+
else
|
|
48
|
+
process.stdout.write("No review result is available for this run.\n");
|
|
49
|
+
if (!result?.complete || run.status !== "completed")
|
|
50
|
+
process.stdout.write("Review incomplete; check coverage and errors before relying on this result.\n");
|
|
51
|
+
if (result?.local?.contextComplete === false)
|
|
52
|
+
process.stdout.write("Surrounding context was bounded; omitted files were not reviewed.\n");
|
|
53
|
+
if (run.workspaceCurrent === false)
|
|
54
|
+
process.stdout.write("The working tree changed after capture; these findings describe the saved snapshot.\n");
|
|
55
|
+
if (run.workspaceCurrent === null)
|
|
56
|
+
process.stdout.write("Current working-tree identity could not be checked; these findings describe the saved snapshot.\n");
|
|
57
|
+
process.stdout.write(`Limits: ${run.maxSeconds}s, ${money(run.budgetCents)} maximum inference budget\n`);
|
|
58
|
+
if (run.chargedCredits !== undefined)
|
|
59
|
+
process.stdout.write(`Charged: ${run.chargedCredits} credits${run.creditsPerDollar ? ` (${run.creditsPerDollar} credits/USD)` : ""}\n`);
|
|
60
|
+
if (run.error || result?.error)
|
|
61
|
+
process.stdout.write(`Error: ${run.error || result?.error}\n`);
|
|
62
|
+
}
|
|
63
|
+
async function pollLocalRun(route, signal) {
|
|
64
|
+
for (let attempt = 0;; attempt++) {
|
|
65
|
+
try {
|
|
66
|
+
return await apiFetch(route, { signal });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
const transient = error instanceof TypeError || (error instanceof ApiError && (error.status >= 500 || [408, 429].includes(error.status)));
|
|
70
|
+
if (!transient || signal.aborted || attempt === 2)
|
|
71
|
+
throw error;
|
|
72
|
+
process.stderr.write("Review status is temporarily unavailable; retrying the read.\n");
|
|
73
|
+
await delay(500 * (attempt + 1), undefined, { signal });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export async function cmdReviewLocal(options) {
|
|
78
|
+
if (options.staged && options.base)
|
|
79
|
+
throw new Error("--staged and --base cannot be used together");
|
|
80
|
+
const profile = options.profile ?? "quick";
|
|
81
|
+
if (!["quick", "standard", "deep"].includes(profile))
|
|
82
|
+
throw new Error("--profile must be quick, standard or deep");
|
|
83
|
+
if (options.requestId) {
|
|
84
|
+
try {
|
|
85
|
+
runPath(options.requestId);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
throw new Error("--request-id must be a UUID");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
const timeout = intFlag("--timeout", options.timeout ?? "1200", 1, 1800) * 1000;
|
|
92
|
+
const context = options.contextFile ? new TextDecoder("utf-8", { fatal: true }).decode(await readFile(options.contextFile)) : undefined;
|
|
93
|
+
if (context && (Buffer.byteLength(context) > 16000 || context.includes("\0")))
|
|
94
|
+
throw new Error("--context-file must contain at most 16000 UTF-8 bytes without NUL characters");
|
|
95
|
+
// Preview deliberately has no auth or network dependency.
|
|
96
|
+
const company = options.preview ? undefined : await resolveScope(options);
|
|
97
|
+
const repos = options.preview ? [] : await listReviewRepositories(company);
|
|
98
|
+
const controller = new AbortController();
|
|
99
|
+
let interrupted = 0, timedOut = false, runId, posted = false, capturedRoot;
|
|
100
|
+
const interrupt = (signal) => { interrupted = signal === "SIGTERM" ? 143 : 130; controller.abort(); };
|
|
101
|
+
const onInt = () => interrupt("SIGINT"), onTerm = () => interrupt("SIGTERM");
|
|
102
|
+
process.on("SIGINT", onInt);
|
|
103
|
+
process.on("SIGTERM", onTerm);
|
|
104
|
+
const timer = setTimeout(() => { timedOut = true; controller.abort(); }, timeout);
|
|
105
|
+
const requestId = options.requestId?.toLowerCase() ?? randomUUID();
|
|
106
|
+
const recovery = () => {
|
|
107
|
+
const args = ["heyditto", "review", "local", "--request-id", requestId, "--profile", profile];
|
|
108
|
+
if (capturedRoot)
|
|
109
|
+
args.push("--directory", capturedRoot);
|
|
110
|
+
if (options.staged)
|
|
111
|
+
args.push("--staged");
|
|
112
|
+
if (options.base)
|
|
113
|
+
args.push("--base", options.base);
|
|
114
|
+
if (options.contextFile)
|
|
115
|
+
args.push("--context-file", path.resolve(options.contextFile));
|
|
116
|
+
if (options.repository)
|
|
117
|
+
args.push("--repository", options.repository);
|
|
118
|
+
if (company)
|
|
119
|
+
args.push("--org", company.id);
|
|
120
|
+
return args.map(arg => /^[a-zA-Z0-9_./:=@-]+$/.test(arg) ? arg : "'" + arg.replaceAll("'", "'\\''") + "'").join(" ");
|
|
121
|
+
};
|
|
122
|
+
try {
|
|
123
|
+
const captured = await captureReviewSnapshot({ staged: options.staged, base: options.base, cwd: options.directory, signal: controller.signal });
|
|
124
|
+
capturedRoot = captured.root;
|
|
125
|
+
const { snapshot } = captured;
|
|
126
|
+
const preview = {
|
|
127
|
+
requestId, profile, snapshotDigest: snapshot.digest, mode: snapshot.mode, baseSha: snapshot.baseSha,
|
|
128
|
+
changedPaths: snapshot.changedPaths, baseFileCount: snapshot.baseFiles.length, headFileCount: snapshot.headFiles.length,
|
|
129
|
+
contentBytes: captured.bytes, payloadBytes: Buffer.byteLength(JSON.stringify({ requestId, snapshot, profile, context })),
|
|
130
|
+
contextComplete: snapshot.contextComplete, omittedContext: snapshot.omittedContext, skipped: snapshot.skipped,
|
|
131
|
+
};
|
|
132
|
+
if (options.preview) {
|
|
133
|
+
if (isJSON(options))
|
|
134
|
+
return writeJSON(preview);
|
|
135
|
+
process.stdout.write(`Local review preview · ${profile}\nSnapshot: ${snapshot.digest}\nSelected changes: ${snapshot.changedPaths.length}\nContext files: ${snapshot.headFiles.length} (${captured.bytes} decoded bytes; ${preview.payloadBytes} payload bytes)\n`);
|
|
136
|
+
for (const file of snapshot.changedPaths)
|
|
137
|
+
process.stdout.write(` ${file}\n`);
|
|
138
|
+
process.stdout.write(`Omitted context: ${snapshot.omittedContext.length}; skipped files: ${snapshot.skipped.length}\nNo source uploaded; no review started.\n`);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (!snapshot.changedPaths.length) {
|
|
142
|
+
const empty = { status: "skipped", reason: "no_changes", snapshotDigest: snapshot.digest, changedPaths: [] };
|
|
143
|
+
if (isJSON(options))
|
|
144
|
+
writeJSON(empty);
|
|
145
|
+
else
|
|
146
|
+
process.stdout.write("No working-diff changes to review.\n");
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const fullName = options.repository ?? repositoryFromRemote((await reviewGit(captured.root, ["remote", "get-url", "origin"], undefined, controller.signal)).toString("utf8"));
|
|
150
|
+
const repo = repos.find(r => r.fullName.toLowerCase() === fullName.toLowerCase());
|
|
151
|
+
if (!repo)
|
|
152
|
+
throw new Error(`${fullName} is not set up in this workspace; see heyditto review repos${options.org ? ` --org ${options.org}` : ""}`);
|
|
153
|
+
process.stderr.write(`Uploading ${snapshot.changedPaths.length} changed paths with ${snapshot.headFiles.length} context files (${preview.payloadBytes} bytes) for ${profile} review; omitted context: ${snapshot.omittedContext.length}.\nRequest: ${requestId}\n`);
|
|
154
|
+
if (controller.signal.aborted)
|
|
155
|
+
throw controller.signal.reason;
|
|
156
|
+
posted = true;
|
|
157
|
+
// Complete the admission response even on Ctrl-C so a returned run can be
|
|
158
|
+
// cancelled. An uncertain POST is never retried automatically.
|
|
159
|
+
let run = await apiFetch(`/api/v5/review/repositories/${encodeURIComponent(repo.id)}/local${scopeQuery(company)}`, {
|
|
160
|
+
method: "POST", body: { requestId, snapshot, profile, ...(context ? { context } : {}) }, signal: AbortSignal.timeout(30000),
|
|
161
|
+
});
|
|
162
|
+
try {
|
|
163
|
+
runPath(run.runId);
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
throw new Error("Review API returned no valid run ID");
|
|
167
|
+
}
|
|
168
|
+
runId = run.runId;
|
|
169
|
+
process.stderr.write(`Local review run: ${runId}\n`);
|
|
170
|
+
const route = `/api/v5/review/local/runs/${encodeURIComponent(runId)}`;
|
|
171
|
+
let prior = "";
|
|
172
|
+
for (;;) {
|
|
173
|
+
if (controller.signal.aborted)
|
|
174
|
+
throw controller.signal.reason;
|
|
175
|
+
if (run.status !== prior) {
|
|
176
|
+
process.stderr.write(`Local review: ${run.status}\n`);
|
|
177
|
+
prior = run.status;
|
|
178
|
+
}
|
|
179
|
+
if (TERMINAL_REVIEW_STATUSES.has(run.status)) {
|
|
180
|
+
if (run.snapshotDigest !== snapshot.digest)
|
|
181
|
+
throw new Error("Review API returned a result for a different snapshot");
|
|
182
|
+
clearTimeout(timer);
|
|
183
|
+
try {
|
|
184
|
+
const current = await captureReviewSnapshot({ staged: options.staged, base: options.base, cwd: captured.root, signal: AbortSignal.any([controller.signal, AbortSignal.timeout(10000)]) });
|
|
185
|
+
run.workspaceCurrent = current.snapshot.digest === snapshot.digest;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
run.workspaceCurrent = null;
|
|
189
|
+
run.workspaceCurrentReason = "Snapshot could not be recaptured";
|
|
190
|
+
}
|
|
191
|
+
printLocalRun(run, options);
|
|
192
|
+
if (interrupted)
|
|
193
|
+
process.exitCode = interrupted;
|
|
194
|
+
else if (["failed", "cancelled", "partial"].includes(run.status) || (run.status === "completed" && run.result?.complete !== true))
|
|
195
|
+
process.exitCode = 1;
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (!ACTIVE_REVIEW_STATUSES.has(run.status))
|
|
199
|
+
throw new Error(`unknown local review status: ${run.status}`);
|
|
200
|
+
await delay(500, undefined, { signal: controller.signal });
|
|
201
|
+
run = await pollLocalRun(`${route}${scopeQuery(company)}`, controller.signal);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
if (runId) {
|
|
206
|
+
try {
|
|
207
|
+
await apiFetch(`/api/v5/review/local/runs/${encodeURIComponent(runId)}/cancel${scopeQuery(company)}`, { method: "POST", signal: AbortSignal.timeout(5000) });
|
|
208
|
+
process.stderr.write(`Cancellation requested for ${runId}.\n`);
|
|
209
|
+
}
|
|
210
|
+
catch {
|
|
211
|
+
process.stderr.write(`Could not confirm cancellation of ${runId}; use heyditto review local-status ${runId}${options.org ? ` --org ${options.org}` : ""} to inspect it.\n`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (interrupted || timedOut) {
|
|
215
|
+
process.stderr.write(`${timedOut ? "Local review timed out" : "Local review interrupted"}${runId ? ` (run ${runId})` : posted ? `; admission outcome is unknown (request ${requestId})` : ""}.\n`);
|
|
216
|
+
if (posted && !runId)
|
|
217
|
+
process.stderr.write(`Recover the same admission: ${recovery()}\nChanged source, profile or context is refused; no automatic retry was made.\n`);
|
|
218
|
+
process.exitCode = interrupted || 124;
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (posted && !runId && error instanceof ApiError && error.status >= 400 && error.status < 500) {
|
|
222
|
+
if (error.status === 404)
|
|
223
|
+
throw new Error("The local review endpoint is unavailable on this Ditto backend; no local review was admitted.");
|
|
224
|
+
throw error;
|
|
225
|
+
}
|
|
226
|
+
if (posted && !runId)
|
|
227
|
+
throw new Error(`${error instanceof Error ? error.message : String(error)}\nAdmission outcome is unknown; request ${requestId}.\nRecover the same admission: ${recovery()}\nChanged source, profile or context is refused; no automatic retry was made.`);
|
|
228
|
+
throw error;
|
|
229
|
+
}
|
|
230
|
+
finally {
|
|
231
|
+
clearTimeout(timer);
|
|
232
|
+
process.removeListener("SIGINT", onInt);
|
|
233
|
+
process.removeListener("SIGTERM", onTerm);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
export async function cmdReviewLocalStatus(id, options) {
|
|
237
|
+
runPath(id);
|
|
238
|
+
const company = await resolveScope(options);
|
|
239
|
+
const run = await apiFetch(`/api/v5/review/local/runs/${encodeURIComponent(id)}${scopeQuery(company)}`);
|
|
240
|
+
run.workspaceCurrent = null;
|
|
241
|
+
run.workspaceCurrentReason = "Status reads do not recapture a local checkout";
|
|
242
|
+
printLocalRun(run, options);
|
|
243
|
+
}
|
|
244
|
+
export async function cmdReviewLocalCancel(id, options) {
|
|
245
|
+
runPath(id);
|
|
246
|
+
const company = await resolveScope(options);
|
|
247
|
+
const result = await apiFetch(`/api/v5/review/local/runs/${encodeURIComponent(id)}/cancel${scopeQuery(company)}`, { method: "POST" });
|
|
248
|
+
if (isJSON(options))
|
|
249
|
+
writeJSON(result);
|
|
250
|
+
else
|
|
251
|
+
process.stdout.write(`Cancellation requested for local review ${id}.\n`);
|
|
252
|
+
}
|
|
26
253
|
const TERMINAL_REVIEW_STATUSES = new Set(["completed", "partial", "failed", "cancelled", "skipped", "superseded"]);
|
|
27
254
|
const ACTIVE_REVIEW_STATUSES = new Set(["queued", "running", "publishing"]);
|
|
28
255
|
function runPath(id) {
|
|
@@ -399,6 +626,22 @@ export function registerReviewCommands(program, addExamples, outputOption, orgOp
|
|
|
399
626
|
.action(cmdReviewRepos), ` heyditto review repos --org omni-aura
|
|
400
627
|
heyditto review repos --output json`);
|
|
401
628
|
const scoped = (command) => command.addOption(orgOption()).addOption(outputOption());
|
|
629
|
+
addExamples(scoped(review.command("local")
|
|
630
|
+
.description("review a working diff before a PR; uploads selected changes and bounded tracked source context to Ditto Review")
|
|
631
|
+
.option("--staged", "review index bytes only, excluding unstaged and untracked changes")
|
|
632
|
+
.option("--base <ref>", "review branch and working changes since merge-base(ref, HEAD); conflicts with --staged")
|
|
633
|
+
.option("--profile <profile>", "quick, standard or deep (default quick)", "quick")
|
|
634
|
+
.option("--context-file <file>", "read task context from a UTF-8 file (maximum 16000 bytes)")
|
|
635
|
+
.option("--repository <owner/name>", "Review repository (default: current checkout's GitHub origin)")
|
|
636
|
+
.option("--directory <directory>", "checkout to review (default: current directory)")
|
|
637
|
+
.option("--preview", "inspect selected paths and upload size locally; no auth, upload or inference")
|
|
638
|
+
.option("--timeout <seconds>", "cancel after this many seconds including capture and queue time (1-1800)", "1200")
|
|
639
|
+
.option("--request-id <uuid>", "recover an uncertain admission with exactly the same source, profile and context"))
|
|
640
|
+
.action(cmdReviewLocal), ` heyditto review local --preview\n heyditto review local --staged --profile quick --org omniaura\n heyditto review local --base main --context-file .tmp/task.md --output json`);
|
|
641
|
+
scoped(review.command("local-status").description("inspect a pre-PR review run without starting or retrying it")
|
|
642
|
+
.argument("<run-id>", "local review run UUID")).action(cmdReviewLocalStatus);
|
|
643
|
+
scoped(review.command("local-cancel").description("cancel a queued or running pre-PR review")
|
|
644
|
+
.argument("<run-id>", "local review run UUID")).action(cmdReviewLocalCancel);
|
|
402
645
|
const watched = (command) => command
|
|
403
646
|
.option("--interval <seconds>", "poll interval (1-60 seconds)", "10")
|
|
404
647
|
.option("--timeout <seconds>", "stop waiting after this many seconds (review continues)", "3600");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-commands.js","sourceRoot":"","sources":["../src/review-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-commands.js","sourceRoot":"","sources":["../src/review-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const LOCAL_REVIEW_MAX_BYTES: number;
|
|
2
|
+
export declare const LOCAL_REVIEW_MAX_FILES = 4096;
|
|
3
|
+
export declare const LOCAL_REVIEW_MAX_JSON_BYTES: number;
|
|
4
|
+
export interface SnapshotFile {
|
|
5
|
+
path: string;
|
|
6
|
+
contentBase64: string;
|
|
7
|
+
mode: "100644" | "100755";
|
|
8
|
+
}
|
|
9
|
+
export interface ReviewSnapshot {
|
|
10
|
+
version: 1;
|
|
11
|
+
mode: "workspace" | "staged" | "base";
|
|
12
|
+
baseRef?: string;
|
|
13
|
+
baseSha?: string;
|
|
14
|
+
digest: string;
|
|
15
|
+
baseFiles: SnapshotFile[];
|
|
16
|
+
headFiles: SnapshotFile[];
|
|
17
|
+
changedPaths: string[];
|
|
18
|
+
contextComplete: boolean;
|
|
19
|
+
omittedContext: string[];
|
|
20
|
+
skipped: {
|
|
21
|
+
path: string;
|
|
22
|
+
reason: string;
|
|
23
|
+
}[];
|
|
24
|
+
}
|
|
25
|
+
export interface SnapshotOptions {
|
|
26
|
+
staged?: boolean;
|
|
27
|
+
base?: string;
|
|
28
|
+
cwd?: string;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
}
|
|
31
|
+
/** Git is only ever queried. In particular capture does not write the index,
|
|
32
|
+
* create commits, stash changes, invoke hooks, or use external diff drivers. */
|
|
33
|
+
export declare function reviewGit(cwd: string, args: string[], input?: string, signal?: AbortSignal): Promise<Buffer>;
|
|
34
|
+
export declare function snapshotDigest(snapshot: Omit<ReviewSnapshot, "digest"> | ReviewSnapshot): string;
|
|
35
|
+
export declare function captureReviewSnapshot(options?: SnapshotOptions): Promise<{
|
|
36
|
+
root: string;
|
|
37
|
+
snapshot: ReviewSnapshot;
|
|
38
|
+
bytes: number;
|
|
39
|
+
}>;
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { spawn } from "node:child_process";
|
|
3
|
+
import { constants } from "node:fs";
|
|
4
|
+
import { lstat, open, realpath } from "node:fs/promises";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
export const LOCAL_REVIEW_MAX_BYTES = 16 * 1024 * 1024;
|
|
7
|
+
export const LOCAL_REVIEW_MAX_FILES = 4096;
|
|
8
|
+
export const LOCAL_REVIEW_MAX_JSON_BYTES = 24 * 1024 * 1024;
|
|
9
|
+
const utf8 = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
|
10
|
+
const order = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b));
|
|
11
|
+
/** Git is only ever queried. In particular capture does not write the index,
|
|
12
|
+
* create commits, stash changes, invoke hooks, or use external diff drivers. */
|
|
13
|
+
export async function reviewGit(cwd, args, input, signal) {
|
|
14
|
+
const filterConfig = [];
|
|
15
|
+
if (args[0] === "diff") {
|
|
16
|
+
// --no-ext-diff/--no-textconv do not disable clean/process filters. Read
|
|
17
|
+
// names only (never credential/config values) and override each configured
|
|
18
|
+
// driver for this invocation, so preview cannot run Git LFS or custom code.
|
|
19
|
+
const keys = await reviewGit(cwd, ["config", "--null", "--name-only", "--list"], undefined, signal);
|
|
20
|
+
const drivers = new Set();
|
|
21
|
+
// Config subsections are arbitrary bytes, unlike snapshot paths. Match
|
|
22
|
+
// the ASCII filter framing before UTF-8 decoding, ignoring unrelated keys.
|
|
23
|
+
// A matching driver's bytes must round-trip exactly for safe -c overrides.
|
|
24
|
+
for (const key of keys.toString("latin1").split("\0")) {
|
|
25
|
+
const driver = /^filter\.([\s\S]*)\.(?:clean|smudge|process|required)$/i.exec(key)?.[1];
|
|
26
|
+
if (driver === undefined)
|
|
27
|
+
continue;
|
|
28
|
+
// Git splits each -c argument at its first '='; such a subsection
|
|
29
|
+
// cannot be overridden exactly, so never proceed to a diff with it.
|
|
30
|
+
if (driver.includes("="))
|
|
31
|
+
throw new Error("local review cannot safely disable a Git filter driver whose name contains '='; fix that filter configuration before retrying");
|
|
32
|
+
try {
|
|
33
|
+
drivers.add(utf8.decode(Buffer.from(driver, "latin1")));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
throw new Error("local review cannot safely disable a non-UTF-8 Git filter driver; fix that filter configuration before retrying");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
for (const driver of drivers)
|
|
40
|
+
for (const [setting, value] of [["clean", ""], ["smudge", ""], ["process", ""], ["required", "false"]])
|
|
41
|
+
filterConfig.push("-c", `filter.${driver}.${setting}=${value}`);
|
|
42
|
+
}
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const child = spawn("git", ["-c", "core.fsmonitor=false", ...filterConfig, ...args], {
|
|
45
|
+
cwd, env: { ...process.env, GIT_OPTIONAL_LOCKS: "0", GIT_NO_LAZY_FETCH: "1", GIT_TERMINAL_PROMPT: "0" }, stdio: ["pipe", "pipe", "pipe"], signal,
|
|
46
|
+
});
|
|
47
|
+
const chunks = [], errors = [];
|
|
48
|
+
let size = 0, overflow = false;
|
|
49
|
+
child.stdout.on("data", (chunk) => {
|
|
50
|
+
size += chunk.length;
|
|
51
|
+
if (size > 40 * 1024 * 1024) {
|
|
52
|
+
overflow = true;
|
|
53
|
+
child.kill();
|
|
54
|
+
}
|
|
55
|
+
else
|
|
56
|
+
chunks.push(chunk);
|
|
57
|
+
});
|
|
58
|
+
child.stderr.on("data", (chunk) => { if (errors.reduce((n, c) => n + c.length, 0) < 4000)
|
|
59
|
+
errors.push(chunk); });
|
|
60
|
+
child.on("error", reject);
|
|
61
|
+
child.stdin.on("error", () => { });
|
|
62
|
+
child.on("close", (code) => {
|
|
63
|
+
if (overflow)
|
|
64
|
+
return reject(new Error("git output exceeds the local review capture limit"));
|
|
65
|
+
if (code !== 0)
|
|
66
|
+
return reject(new Error(`git ${args[0]} failed: ${Buffer.concat(errors).toString("utf8").trim().slice(0, 500)}`));
|
|
67
|
+
resolve(Buffer.concat(chunks));
|
|
68
|
+
});
|
|
69
|
+
child.stdin.end(input);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function names(data) {
|
|
73
|
+
try {
|
|
74
|
+
return utf8.decode(data).split("\0").filter(Boolean);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
throw new Error("local review requires UTF-8 Git paths; unsupported names abort capture before upload rather than changing or omitting path identity");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function safePath(file) {
|
|
81
|
+
if (!file || Buffer.byteLength(file) > 1024 || /[\0\r\n\\:]/.test(file) || file.startsWith("/"))
|
|
82
|
+
throw new Error("unsupported path in local review snapshot");
|
|
83
|
+
if (file.split("/").some(p => !p || p === "." || p === ".." || p.toLowerCase() === ".git"))
|
|
84
|
+
throw new Error("unsafe path in local review snapshot");
|
|
85
|
+
}
|
|
86
|
+
async function entries(cwd, ref, index, signal) {
|
|
87
|
+
if (!index && !ref)
|
|
88
|
+
return new Map();
|
|
89
|
+
const rows = names(await reviewGit(cwd, index ? ["ls-files", "--stage", "-z"] : ["ls-tree", "-rz", "--full-tree", ref], undefined, signal));
|
|
90
|
+
const out = new Map();
|
|
91
|
+
for (const row of rows) {
|
|
92
|
+
const tab = row.indexOf("\t");
|
|
93
|
+
if (tab < 0)
|
|
94
|
+
throw new Error("invalid git tree entry");
|
|
95
|
+
const fields = row.slice(0, tab).split(" "), file = row.slice(tab + 1);
|
|
96
|
+
safePath(file);
|
|
97
|
+
if (index && fields[2] !== "0")
|
|
98
|
+
throw new Error("resolve unmerged index entries before reviewing a working diff");
|
|
99
|
+
out.set(file, { mode: fields[0], oid: fields[index ? 1 : 2] });
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
async function objectSizes(cwd, ids, signal) {
|
|
104
|
+
const out = new Map();
|
|
105
|
+
if (!ids.length)
|
|
106
|
+
return out;
|
|
107
|
+
const rows = (await reviewGit(cwd, ["cat-file", "--batch-check=%(objectname) %(objecttype) %(objectsize)"], ids.join("\n") + "\n", signal)).toString("ascii").trim().split("\n");
|
|
108
|
+
for (const row of rows) {
|
|
109
|
+
const [id, type, size] = row.split(" ");
|
|
110
|
+
if (type !== "blob" || !/^\d+$/.test(size))
|
|
111
|
+
throw new Error("local review requires available Git blob objects; materialize missing objects manually before retrying (capture never fetches)");
|
|
112
|
+
out.set(id, Number(size));
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
async function blobs(cwd, ids, signal) {
|
|
117
|
+
const out = new Map();
|
|
118
|
+
if (!ids.length)
|
|
119
|
+
return out;
|
|
120
|
+
const data = await reviewGit(cwd, ["cat-file", "--batch"], ids.join("\n") + "\n", signal);
|
|
121
|
+
let offset = 0;
|
|
122
|
+
for (const expected of ids) {
|
|
123
|
+
const end = data.indexOf(10, offset);
|
|
124
|
+
if (end < 0)
|
|
125
|
+
throw new Error("truncated Git object response");
|
|
126
|
+
const [id, type, rawSize] = data.subarray(offset, end).toString("ascii").split(" ");
|
|
127
|
+
const size = Number(rawSize), start = end + 1;
|
|
128
|
+
if (id !== expected || type !== "blob" || !Number.isSafeInteger(size) || size < 0 || start + size >= data.length || data[start + size] !== 10)
|
|
129
|
+
throw new Error("invalid Git object response");
|
|
130
|
+
out.set(id, data.subarray(start, start + size));
|
|
131
|
+
offset = start + size + 1;
|
|
132
|
+
}
|
|
133
|
+
if (offset !== data.length)
|
|
134
|
+
throw new Error("unexpected trailing Git object response");
|
|
135
|
+
return out;
|
|
136
|
+
}
|
|
137
|
+
class SkipFile extends Error {
|
|
138
|
+
}
|
|
139
|
+
/** Reject symlinks (including parent directories); do not follow them outside
|
|
140
|
+
* the checkout. Verify the opened inode and stat again after reading. */
|
|
141
|
+
async function workingFile(root, file, read) {
|
|
142
|
+
const absolute = path.join(root, file);
|
|
143
|
+
let before;
|
|
144
|
+
try {
|
|
145
|
+
let parent = root;
|
|
146
|
+
for (const part of file.split("/").slice(0, -1)) {
|
|
147
|
+
parent = path.join(parent, part);
|
|
148
|
+
const stat = await lstat(parent);
|
|
149
|
+
if (stat.isFile())
|
|
150
|
+
return undefined; // A tracked directory was replaced by a file.
|
|
151
|
+
if (stat.isSymbolicLink() || !stat.isDirectory())
|
|
152
|
+
throw new SkipFile("symlink or non-directory parent");
|
|
153
|
+
}
|
|
154
|
+
before = await lstat(absolute);
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (["ENOENT", "ENOTDIR"].includes(error.code ?? ""))
|
|
158
|
+
return undefined;
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
if (before.isDirectory())
|
|
162
|
+
return undefined; // A tracked file was replaced by a directory.
|
|
163
|
+
if (!before.isFile() || before.isSymbolicLink())
|
|
164
|
+
throw new SkipFile("symlink or non-regular file");
|
|
165
|
+
const mode = (before.mode & 0o111) ? "100755" : "100644";
|
|
166
|
+
if (!read)
|
|
167
|
+
return { size: before.size, mode };
|
|
168
|
+
const handle = await open(absolute, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
|
|
169
|
+
try {
|
|
170
|
+
const opened = await handle.stat();
|
|
171
|
+
if (!opened.isFile() || opened.dev !== before.dev || opened.ino !== before.ino || opened.size !== before.size)
|
|
172
|
+
throw new Error(`file changed while capturing ${file}; retry the review`);
|
|
173
|
+
if (opened.size > LOCAL_REVIEW_MAX_BYTES)
|
|
174
|
+
throw new Error(`file is too large for local review: ${file}`);
|
|
175
|
+
const data = await handle.readFile();
|
|
176
|
+
const after = await handle.stat(), named = await lstat(absolute);
|
|
177
|
+
const resolved = await realpath(absolute);
|
|
178
|
+
if (!resolved.startsWith(root + path.sep) || named.isSymbolicLink() || named.dev !== opened.dev || named.ino !== opened.ino || after.size !== opened.size || after.mtimeMs !== opened.mtimeMs || after.ctimeMs !== opened.ctimeMs || data.length !== opened.size)
|
|
179
|
+
throw new Error(`file changed while capturing ${file}; retry the review`);
|
|
180
|
+
return { size: data.length, mode, data };
|
|
181
|
+
}
|
|
182
|
+
finally {
|
|
183
|
+
await handle.close();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
function textFile(data) {
|
|
187
|
+
if (data.includes(0))
|
|
188
|
+
return false;
|
|
189
|
+
try {
|
|
190
|
+
utf8.decode(data);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
export function snapshotDigest(snapshot) {
|
|
198
|
+
const hash = createHash("sha256");
|
|
199
|
+
hash.update(`ditto-review-local-v1\0${snapshot.mode}\0${snapshot.baseSha ?? ""}\0`);
|
|
200
|
+
for (const [tree, files] of [["base", snapshot.baseFiles], ["head", snapshot.headFiles]]) {
|
|
201
|
+
for (const file of [...files].sort((a, b) => order(a.path, b.path)))
|
|
202
|
+
hash.update(`${tree}\0${file.path}\0${file.mode || "100644"}\0${file.contentBase64}\0`);
|
|
203
|
+
}
|
|
204
|
+
for (const file of [...snapshot.changedPaths].sort(order))
|
|
205
|
+
hash.update(`changed\0${file}\0`);
|
|
206
|
+
for (const file of [...snapshot.omittedContext].sort(order))
|
|
207
|
+
hash.update(`omitted\0${file}\0`);
|
|
208
|
+
hash.update(`context\0${snapshot.contextComplete}\0`);
|
|
209
|
+
for (const skip of [...snapshot.skipped].sort((a, b) => order(a.path, b.path) || order(a.reason, b.reason)))
|
|
210
|
+
hash.update(`skip\0${skip.path}\0${skip.reason}\0`);
|
|
211
|
+
return hash.digest("hex");
|
|
212
|
+
}
|
|
213
|
+
export async function captureReviewSnapshot(options = {}) {
|
|
214
|
+
if (options.staged && options.base)
|
|
215
|
+
throw new Error("--staged and --base cannot be used together");
|
|
216
|
+
const root = await realpath(utf8.decode(await reviewGit(options.cwd ?? process.cwd(), ["rev-parse", "--show-toplevel"], undefined, options.signal)).replace(/\r?\n$/, ""));
|
|
217
|
+
let head;
|
|
218
|
+
try {
|
|
219
|
+
head = (await reviewGit(root, ["rev-parse", "--verify", "HEAD"], undefined, options.signal)).toString("ascii").trim();
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
const branch = (await reviewGit(root, ["symbolic-ref", "-q", "HEAD"], undefined, options.signal)).toString("utf8").trim();
|
|
223
|
+
if ((await reviewGit(root, ["for-each-ref", "--format=%(objectname)", branch], undefined, options.signal)).length)
|
|
224
|
+
throw new Error("cannot resolve repository HEAD");
|
|
225
|
+
}
|
|
226
|
+
let baseSha = head;
|
|
227
|
+
if (options.base) {
|
|
228
|
+
if (!head)
|
|
229
|
+
throw new Error("--base requires a committed HEAD");
|
|
230
|
+
const ref = (await reviewGit(root, ["rev-parse", "--verify", "--end-of-options", `${options.base}^{commit}`], undefined, options.signal)).toString("ascii").trim();
|
|
231
|
+
baseSha = (await reviewGit(root, ["merge-base", head, ref], undefined, options.signal)).toString("ascii").trim();
|
|
232
|
+
}
|
|
233
|
+
const mode = options.staged ? "staged" : options.base ? "base" : "workspace";
|
|
234
|
+
let honorFileMode = true;
|
|
235
|
+
try {
|
|
236
|
+
honorFileMode = (await reviewGit(root, ["config", "--bool", "core.fileMode"], undefined, options.signal)).toString("ascii").trim() !== "false";
|
|
237
|
+
}
|
|
238
|
+
catch { /* Git's default is true. */ }
|
|
239
|
+
const base = await entries(root, baseSha, false, options.signal), index = await entries(root, undefined, true, options.signal);
|
|
240
|
+
const untracked = options.staged ? [] : names(await reviewGit(root, ["ls-files", "--others", "--exclude-standard", "-z"], undefined, options.signal));
|
|
241
|
+
const headPaths = new Set([...index.keys(), ...untracked]);
|
|
242
|
+
const changes = baseSha ? names(await reviewGit(root, ["diff", ...(options.staged ? ["--cached"] : []), "--no-ext-diff", "--no-textconv", "--no-renames", "--name-only", "-z", baseSha, "--"], undefined, options.signal)) : [...headPaths];
|
|
243
|
+
const changedPaths = [...new Set([...changes, ...untracked])].sort(order);
|
|
244
|
+
if (changedPaths.length > LOCAL_REVIEW_MAX_FILES)
|
|
245
|
+
throw new Error("changed paths exceed the local review limit of 4096; narrow the diff");
|
|
246
|
+
const changed = new Set(changedPaths);
|
|
247
|
+
const all = [...new Set([...base.keys(), ...headPaths])];
|
|
248
|
+
all.forEach(safePath);
|
|
249
|
+
const regular = (entry) => !!entry && (entry.mode === "100644" || entry.mode === "100755");
|
|
250
|
+
const ids = [...new Set([...base.values(), ...(options.staged ? index.values() : [])].filter(regular).map(e => e.oid))];
|
|
251
|
+
const sizes = await objectSizes(root, ids, options.signal);
|
|
252
|
+
const metadata = new Map();
|
|
253
|
+
const skipped = [];
|
|
254
|
+
for (const file of all) {
|
|
255
|
+
if (options.signal?.aborted)
|
|
256
|
+
throw options.signal.reason;
|
|
257
|
+
const b = base.get(file), h = index.get(file);
|
|
258
|
+
if ((b && !regular(b)) || (headPaths.has(file) && h && !regular(h))) {
|
|
259
|
+
skipped.push({ path: file, reason: "symlink or submodule" });
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
try {
|
|
263
|
+
const working = !options.staged && changed.has(file) && headPaths.has(file) ? await workingFile(root, file, false) : undefined;
|
|
264
|
+
// Unchanged surrounding context intentionally comes from the pinned
|
|
265
|
+
// comparison tree. Avoid thousands of live reads (and attribute/filter
|
|
266
|
+
// execution) for bytes Git did not select as changes.
|
|
267
|
+
metadata.set(file, { baseSize: b ? sizes.get(b.oid) : 0, headSize: options.staged ? (h ? sizes.get(h.oid) : 0) : changed.has(file) ? (working?.size ?? 0) : b ? sizes.get(b.oid) : 0 });
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
if (error instanceof SkipFile)
|
|
271
|
+
skipped.push({ path: file, reason: error.message });
|
|
272
|
+
else
|
|
273
|
+
throw error;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const distance = (file) => {
|
|
277
|
+
const parts = file.split("/");
|
|
278
|
+
return Math.min(...changedPaths.map(p => { const target = p.split("/"); let n = 0; while (n < parts.length - 1 && n < target.length - 1 && parts[n] === target[n])
|
|
279
|
+
n++; return parts.length + target.length - 2 * n; }), 10000);
|
|
280
|
+
};
|
|
281
|
+
const prioritized = all.filter(f => metadata.has(f)).sort((a, b) => Number(changed.has(b)) - Number(changed.has(a)) || distance(a) - distance(b) || order(a, b));
|
|
282
|
+
let total = 0, baseCount = 0, headCount = 0;
|
|
283
|
+
const selected = [], omittedContext = [];
|
|
284
|
+
for (const file of prioritized) {
|
|
285
|
+
const size = metadata.get(file);
|
|
286
|
+
const nextBase = baseCount + Number(base.has(file)), nextHead = headCount + Number(headPaths.has(file));
|
|
287
|
+
if (total + size.baseSize + size.headSize > LOCAL_REVIEW_MAX_BYTES || nextBase > LOCAL_REVIEW_MAX_FILES || nextHead > LOCAL_REVIEW_MAX_FILES) {
|
|
288
|
+
if (changed.has(file))
|
|
289
|
+
throw new Error(`changed files exceed local review limits (16 MiB, 4096 files/tree); narrow the diff before reviewing: ${file}`);
|
|
290
|
+
omittedContext.push(file);
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
selected.push(file);
|
|
294
|
+
total += size.baseSize + size.headSize;
|
|
295
|
+
baseCount = nextBase;
|
|
296
|
+
headCount = nextHead;
|
|
297
|
+
}
|
|
298
|
+
const selectedIds = [...new Set(selected.flatMap(file => [base.get(file), ...(options.staged ? [index.get(file)] : [])].filter((e) => regular(e)).map(e => e.oid)))];
|
|
299
|
+
const content = await blobs(root, selectedIds, options.signal);
|
|
300
|
+
const baseFiles = [], headFiles = [];
|
|
301
|
+
for (const file of selected) {
|
|
302
|
+
const b = base.get(file), h = index.get(file);
|
|
303
|
+
const before = b ? content.get(b.oid) : undefined;
|
|
304
|
+
let after, headMode = "100644";
|
|
305
|
+
try {
|
|
306
|
+
if (options.staged) {
|
|
307
|
+
after = h ? content.get(h.oid) : undefined;
|
|
308
|
+
headMode = h?.mode ?? "100644";
|
|
309
|
+
}
|
|
310
|
+
else if (!changed.has(file)) {
|
|
311
|
+
after = before;
|
|
312
|
+
headMode = b?.mode ?? "100644";
|
|
313
|
+
}
|
|
314
|
+
else if (headPaths.has(file)) {
|
|
315
|
+
const value = await workingFile(root, file, true);
|
|
316
|
+
after = value?.data;
|
|
317
|
+
headMode = honorFileMode ? value?.mode ?? "100644" : h?.mode ?? "100644";
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
if (error instanceof SkipFile) {
|
|
322
|
+
skipped.push({ path: file, reason: error.message });
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
throw error;
|
|
326
|
+
}
|
|
327
|
+
if ((before && !textFile(before)) || (after && !textFile(after))) {
|
|
328
|
+
skipped.push({ path: file, reason: "binary or non-UTF-8 file" });
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
if (before)
|
|
332
|
+
baseFiles.push({ path: file, contentBase64: before.toString("base64"), mode: b.mode });
|
|
333
|
+
if (after)
|
|
334
|
+
headFiles.push({ path: file, contentBase64: after.toString("base64"), mode: headMode });
|
|
335
|
+
}
|
|
336
|
+
baseFiles.sort((a, b) => order(a.path, b.path));
|
|
337
|
+
headFiles.sort((a, b) => order(a.path, b.path));
|
|
338
|
+
omittedContext.sort(order);
|
|
339
|
+
skipped.sort((a, b) => order(a.path, b.path) || order(a.reason, b.reason));
|
|
340
|
+
// Git attributes can normalize worktree bytes (for example CRLF) or ignore
|
|
341
|
+
// file mode. Scope identifies the actual sealed trees, not a lossy name list.
|
|
342
|
+
const baseline = new Map(baseFiles.map(f => [f.path, f]));
|
|
343
|
+
const current = new Map(headFiles.map(f => [f.path, f]));
|
|
344
|
+
const capturedChanges = [...new Set([...baseline.keys(), ...current.keys()])].filter(file => {
|
|
345
|
+
const b = baseline.get(file), h = current.get(file);
|
|
346
|
+
return !b || !h || b.contentBase64 !== h.contentBase64 || b.mode !== h.mode;
|
|
347
|
+
});
|
|
348
|
+
const sealedChanges = [...new Set([...capturedChanges, ...skipped.filter(f => changed.has(f.path)).map(f => f.path)])].sort(order);
|
|
349
|
+
if (sealedChanges.length > LOCAL_REVIEW_MAX_FILES || omittedContext.length > 20000 || skipped.length > 20000)
|
|
350
|
+
throw new Error("local review manifest exceeds path limits; narrow the diff");
|
|
351
|
+
const bytes = [...baseFiles, ...headFiles].reduce((n, f) => n + Buffer.byteLength(f.contentBase64, "base64"), 0);
|
|
352
|
+
if (bytes > LOCAL_REVIEW_MAX_BYTES)
|
|
353
|
+
throw new Error("files grew beyond the local review content limit during capture; retry with a smaller diff");
|
|
354
|
+
const snapshot = { version: 1, mode, ...(options.base ? { baseRef: options.base } : {}), ...(baseSha ? { baseSha } : {}), digest: "", baseFiles, headFiles, changedPaths: sealedChanges, contextComplete: omittedContext.length === 0 && skipped.length === 0, omittedContext, skipped };
|
|
355
|
+
snapshot.digest = snapshotDigest(snapshot);
|
|
356
|
+
if (Buffer.byteLength(JSON.stringify(snapshot)) > LOCAL_REVIEW_MAX_JSON_BYTES)
|
|
357
|
+
throw new Error("local review snapshot exceeds the 24 MiB transport limit; narrow the diff");
|
|
358
|
+
return { root, snapshot, bytes };
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=review-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-snapshot.js","sourceRoot":"","sources":["../src/review-snapshot.ts"],"names":[],"mappings":"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"}
|