memento-mori-jester 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +39 -12
- package/ROADMAP.md +0 -2
- package/dist/cli.js +117 -4
- package/dist/cli.js.map +1 -1
- package/docs/AGENTS.md +5 -1
- package/docs/CLAUDE_CODE.md +2 -1
- package/docs/CLI.md +25 -0
- package/docs/CODEX.md +1 -0
- package/docs/DEMO.md +101 -13
- package/docs/MCP_TOOLS.md +152 -0
- package/docs/RELEASE.md +3 -0
- package/docs/RELEASE_NOTES_v0.1.7.md +23 -0
- package/docs/RELEASE_NOTES_v0.1.8.md +17 -0
- package/package.json +1 -1
- package/scripts/install.ps1 +30 -30
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Memento Mori Jester are tracked here.
|
|
4
4
|
|
|
5
|
+
## Unreleased
|
|
6
|
+
|
|
7
|
+
## 0.1.8
|
|
8
|
+
|
|
9
|
+
- Added `jester explain` for short teaching notes based on review verdicts.
|
|
10
|
+
- Added agent-specific `mcp-config --agent claude` output for Claude Code config shape.
|
|
11
|
+
|
|
12
|
+
## 0.1.7
|
|
13
|
+
|
|
14
|
+
- Added `jester examples` for copy-paste onboarding commands and example links.
|
|
15
|
+
- Polished the README homepage around the shortest npm path.
|
|
16
|
+
- Added MCP tool input/output reference docs.
|
|
17
|
+
- Added a fuller demo transcript.
|
|
18
|
+
|
|
5
19
|
## 0.1.6
|
|
6
20
|
|
|
7
21
|
- Added copy-paste examples for Codex, Claude Code, generic MCP clients, and git-hook-only use.
|
package/README.md
CHANGED
|
@@ -4,24 +4,52 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/memento-mori-jester)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
|
|
7
|
-
A local court-jester sidecar for AI coding agents. It reviews plans, shell commands, diffs, and final answers
|
|
7
|
+
A local court-jester sidecar for AI coding agents. It reviews plans, shell commands, diffs, and final answers before they get too pleased with themselves.
|
|
8
8
|
|
|
9
9
|
It roasts the reasoning, not the human.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Start Here
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
No install needed:
|
|
14
14
|
|
|
15
15
|
```powershell
|
|
16
|
+
npx -y memento-mori-jester@latest doctor
|
|
16
17
|
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
17
18
|
```
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
Add it to a project:
|
|
20
21
|
|
|
21
22
|
```powershell
|
|
22
23
|
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
23
24
|
```
|
|
24
25
|
|
|
26
|
+
That writes:
|
|
27
|
+
|
|
28
|
+
- `jester.config.json`
|
|
29
|
+
- `memento-mori.mcp.json`
|
|
30
|
+
- `MEMENTO_MORI.md`
|
|
31
|
+
|
|
32
|
+
Expected vibe:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
Jester verdict: BLOCK (100/100)
|
|
36
|
+
A dazzling command, if the desired outcome is court-sponsored regret.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## What It Does
|
|
40
|
+
|
|
41
|
+
| Surface | Example | What it catches |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| Plans | `jester plan "I will just refactor auth and ship it"` | overconfidence, missing verification, risky domains |
|
|
44
|
+
| Commands | `jester command "git reset --hard"` | destructive shell commands and broad file operations |
|
|
45
|
+
| Diffs | `git diff \| jester diff --fail-on block` | removed tests, install scripts, env/config risks |
|
|
46
|
+
| Final answers | `jester final --file final.txt` | done/fixed claims without evidence |
|
|
47
|
+
| Explanations | `jester explain command "git reset --hard"` | plain-language teaching notes for verdicts |
|
|
48
|
+
| Examples | `jester examples` | copy-paste commands and links for new users |
|
|
49
|
+
| Agents | `jester mcp-config --mode npx` | MCP tools for Codex, Claude Code, and other clients |
|
|
50
|
+
|
|
51
|
+
## Try It Locally
|
|
52
|
+
|
|
25
53
|
Installed globally:
|
|
26
54
|
|
|
27
55
|
```powershell
|
|
@@ -36,14 +64,7 @@ git clone https://github.com/Martin123132/Memento-Mori.git
|
|
|
36
64
|
cd Memento-Mori
|
|
37
65
|
npm.cmd install
|
|
38
66
|
npm.cmd run build
|
|
39
|
-
node .\dist\cli.js
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Expected vibe:
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
Jester verdict: BLOCK (100/100)
|
|
46
|
-
A dazzling command, if the desired outcome is court-sponsored regret.
|
|
67
|
+
node .\dist\cli.js doctor
|
|
47
68
|
```
|
|
48
69
|
|
|
49
70
|
## Setup Wizard
|
|
@@ -88,11 +109,14 @@ jester plan "I will just refactor auth and ship it"
|
|
|
88
109
|
jester command "git reset --hard"
|
|
89
110
|
git diff | jester diff --fail-on block
|
|
90
111
|
jester final --file .\final-answer.txt --tone professional
|
|
112
|
+
jester explain command "git reset --hard"
|
|
91
113
|
jester doctor
|
|
114
|
+
jester examples
|
|
92
115
|
jester bootstrap --preset node
|
|
93
116
|
jester config init
|
|
94
117
|
jester install-hook pre-commit
|
|
95
118
|
jester mcp-config --mode npx
|
|
119
|
+
jester mcp-config --agent claude --mode npx
|
|
96
120
|
```
|
|
97
121
|
|
|
98
122
|
The package-name binary works too:
|
|
@@ -217,6 +241,8 @@ Generate config:
|
|
|
217
241
|
|
|
218
242
|
```powershell
|
|
219
243
|
jester mcp-config --mode npx
|
|
244
|
+
jester mcp-config --agent codex --mode npx
|
|
245
|
+
jester mcp-config --agent claude --mode npx
|
|
220
246
|
jester mcp-config --mode global
|
|
221
247
|
jester mcp-config --mode local
|
|
222
248
|
```
|
|
@@ -251,6 +277,7 @@ More setup examples:
|
|
|
251
277
|
- [Codex Setup](docs/CODEX.md)
|
|
252
278
|
- [Claude Code Setup](docs/CLAUDE_CODE.md)
|
|
253
279
|
- [Agent Setup](docs/AGENTS.md)
|
|
280
|
+
- [MCP Tool Reference](docs/MCP_TOOLS.md)
|
|
254
281
|
- [GitHub Actions](docs/GITHUB_ACTIONS.md)
|
|
255
282
|
- [Demo Script](docs/DEMO.md)
|
|
256
283
|
- [Examples](examples)
|
package/ROADMAP.md
CHANGED
|
@@ -12,9 +12,7 @@ Memento Mori Jester is usable today as a CLI, MCP server, GitHub Action, and git
|
|
|
12
12
|
|
|
13
13
|
## Product Ideas
|
|
14
14
|
|
|
15
|
-
- `jester explain` to turn a verdict into a short teaching note for humans.
|
|
16
15
|
- `jester policy init` for stricter team defaults.
|
|
17
|
-
- `jester mcp-config --agent <name>` templates for more agent clients.
|
|
18
16
|
- A small web/demo page that lets people paste a command or diff and see the verdict.
|
|
19
17
|
- Optional SARIF output for code-scanning-style integrations.
|
|
20
18
|
|
package/dist/cli.js
CHANGED
|
@@ -37,6 +37,15 @@ async function main(argv) {
|
|
|
37
37
|
output.write(await handleBootstrap(argv.slice(1)));
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
+
if (argv[0] === "examples") {
|
|
41
|
+
const setupOptions = parseSetupOptions(argv.slice(1));
|
|
42
|
+
output.write(renderExamples(setupOptions));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (argv[0] === "explain") {
|
|
46
|
+
output.write(await handleExplain(argv.slice(1)));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
40
49
|
if (argv[0] === "config") {
|
|
41
50
|
output.write(await handleConfigCommand(argv.slice(1)));
|
|
42
51
|
return;
|
|
@@ -344,11 +353,15 @@ function requireValue(flag, value) {
|
|
|
344
353
|
return value;
|
|
345
354
|
}
|
|
346
355
|
function mcpConfigSnippet(options) {
|
|
356
|
+
const spec = mcpCommandSpec(options);
|
|
357
|
+
if (options.agent === "claude") {
|
|
358
|
+
return {
|
|
359
|
+
"memento-mori-jester": spec
|
|
360
|
+
};
|
|
361
|
+
}
|
|
347
362
|
return {
|
|
348
363
|
mcpServers: {
|
|
349
|
-
"memento-mori-jester":
|
|
350
|
-
...mcpCommandSpec(options)
|
|
351
|
-
}
|
|
364
|
+
"memento-mori-jester": spec
|
|
352
365
|
}
|
|
353
366
|
};
|
|
354
367
|
}
|
|
@@ -402,6 +415,103 @@ Useful next checks:
|
|
|
402
415
|
${cliCommand} plan "I will just refactor auth and ship it"
|
|
403
416
|
`;
|
|
404
417
|
}
|
|
418
|
+
function renderExamples(options) {
|
|
419
|
+
const cliCommand = renderCliCommand(options);
|
|
420
|
+
const examples = {
|
|
421
|
+
quickChecks: [
|
|
422
|
+
`${cliCommand} doctor`,
|
|
423
|
+
`${cliCommand} command "git reset --hard"`,
|
|
424
|
+
`${cliCommand} plan "I will just refactor auth and ship it"`,
|
|
425
|
+
`git diff | ${cliCommand} diff --fail-on block`,
|
|
426
|
+
`${cliCommand} final "Implemented the fix, but tests not run."`,
|
|
427
|
+
`${cliCommand} explain command "git reset --hard"`
|
|
428
|
+
],
|
|
429
|
+
setup: [
|
|
430
|
+
`${cliCommand} init --agent ${options.agent} --mode ${options.mode}`,
|
|
431
|
+
`${cliCommand} mcp-config --agent ${options.agent} --mode ${options.mode}`,
|
|
432
|
+
`${cliCommand} bootstrap --preset node`,
|
|
433
|
+
`${cliCommand} bootstrap --preset node --hook pre-commit`
|
|
434
|
+
],
|
|
435
|
+
docs: [
|
|
436
|
+
"https://github.com/Martin123132/Memento-Mori/blob/main/docs/GETTING_STARTED.md",
|
|
437
|
+
"https://github.com/Martin123132/Memento-Mori/blob/main/docs/CLI.md",
|
|
438
|
+
"https://github.com/Martin123132/Memento-Mori/blob/main/docs/MCP_TOOLS.md",
|
|
439
|
+
"https://github.com/Martin123132/Memento-Mori/tree/main/examples"
|
|
440
|
+
]
|
|
441
|
+
};
|
|
442
|
+
if (options.json) {
|
|
443
|
+
return `${JSON.stringify({ mode: options.mode, agent: options.agent, examples }, null, 2)}\n`;
|
|
444
|
+
}
|
|
445
|
+
return `Memento Mori Jester examples
|
|
446
|
+
|
|
447
|
+
Quick checks:
|
|
448
|
+
${examples.quickChecks.map((command) => ` ${command}`).join("\n")}
|
|
449
|
+
|
|
450
|
+
Setup:
|
|
451
|
+
${examples.setup.map((command) => ` ${command}`).join("\n")}
|
|
452
|
+
|
|
453
|
+
Example files:
|
|
454
|
+
Codex: https://github.com/Martin123132/Memento-Mori/tree/main/examples/codex
|
|
455
|
+
Claude Code: https://github.com/Martin123132/Memento-Mori/tree/main/examples/claude-code
|
|
456
|
+
Generic MCP: https://github.com/Martin123132/Memento-Mori/tree/main/examples/generic-mcp
|
|
457
|
+
Git hooks only: https://github.com/Martin123132/Memento-Mori/tree/main/examples/git-hooks-only
|
|
458
|
+
|
|
459
|
+
Docs:
|
|
460
|
+
${examples.docs.map((doc) => ` ${doc}`).join("\n")}
|
|
461
|
+
`;
|
|
462
|
+
}
|
|
463
|
+
async function handleExplain(argv) {
|
|
464
|
+
const { command, rest } = splitCommand(argv);
|
|
465
|
+
const options = parseOptions(rest);
|
|
466
|
+
const kind = resolveKind(command, options.kind);
|
|
467
|
+
const content = await resolveContent(options, rest);
|
|
468
|
+
if (!content.trim()) {
|
|
469
|
+
throw new Error("Nothing to explain. Pass text, use --file, or pipe content on stdin.");
|
|
470
|
+
}
|
|
471
|
+
const loadedConfig = await loadConfig({
|
|
472
|
+
configPath: options.configPath,
|
|
473
|
+
search: !options.noConfig
|
|
474
|
+
});
|
|
475
|
+
const inputForReview = {
|
|
476
|
+
kind,
|
|
477
|
+
content,
|
|
478
|
+
subject: options.subject,
|
|
479
|
+
context: options.context,
|
|
480
|
+
tone: options.tone,
|
|
481
|
+
intensity: options.intensity,
|
|
482
|
+
riskTolerance: options.riskTolerance,
|
|
483
|
+
config: loadedConfig.config
|
|
484
|
+
};
|
|
485
|
+
const result = review(inputForReview);
|
|
486
|
+
const explanation = renderExplanation(result);
|
|
487
|
+
if (options.json) {
|
|
488
|
+
return `${JSON.stringify({ review: result, explanation }, null, 2)}\n`;
|
|
489
|
+
}
|
|
490
|
+
return `${explanation}\n`;
|
|
491
|
+
}
|
|
492
|
+
function renderExplanation(result) {
|
|
493
|
+
const verdictLine = {
|
|
494
|
+
pass: "No obvious concern was found. This is permission to proceed carefully, not proof that nothing can go wrong.",
|
|
495
|
+
caution: "There is enough risk here to slow down and add evidence before proceeding.",
|
|
496
|
+
block: "This should change before it is run, shipped, or claimed as done."
|
|
497
|
+
};
|
|
498
|
+
const lines = [
|
|
499
|
+
`Jester explanation: ${result.verdict.toUpperCase()} (${result.riskScore}/100)`,
|
|
500
|
+
"",
|
|
501
|
+
`What this means: ${verdictLine[result.verdict]}`
|
|
502
|
+
];
|
|
503
|
+
if (result.issues.length > 0) {
|
|
504
|
+
lines.push("", "Why:", ...result.issues.slice(0, 4).map((issue) => `- [S${issue.severity}] ${issue.title}: ${issue.detail}`));
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
lines.push("", "Why:", "- No matching risky pattern or structural warning fired.");
|
|
508
|
+
}
|
|
509
|
+
const nextChecks = result.suggestedChecks.length > 0
|
|
510
|
+
? result.suggestedChecks
|
|
511
|
+
: ["Run the smallest meaningful check for the work before calling it finished."];
|
|
512
|
+
lines.push("", "Do next:", ...nextChecks.slice(0, 4).map((check) => `- ${check}`), "", result.memento);
|
|
513
|
+
return lines.join("\n");
|
|
514
|
+
}
|
|
405
515
|
function renderCliCommand(options) {
|
|
406
516
|
if (options.mode === "global") {
|
|
407
517
|
return "jester";
|
|
@@ -747,7 +857,9 @@ Usage:
|
|
|
747
857
|
jester command "Remove-Item .\\\\dist -Recurse -Force"
|
|
748
858
|
git diff | jester diff --fail-on block
|
|
749
859
|
jester final --file final-answer.txt --tone professional
|
|
860
|
+
jester explain command "git reset --hard"
|
|
750
861
|
jester init
|
|
862
|
+
jester examples
|
|
751
863
|
jester bootstrap --preset node
|
|
752
864
|
jester doctor
|
|
753
865
|
jester config init
|
|
@@ -758,7 +870,8 @@ Usage:
|
|
|
758
870
|
jester install-hook pre-commit
|
|
759
871
|
jester install-hook pre-push --fail-on caution
|
|
760
872
|
jester hook-status
|
|
761
|
-
jester mcp-config --mode npx
|
|
873
|
+
jester mcp-config --agent codex --mode npx
|
|
874
|
+
jester mcp-config --agent claude --mode npx
|
|
762
875
|
jester mcp-server
|
|
763
876
|
|
|
764
877
|
Options:
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAqB,MAAM,aAAa,CAAC;AACtJ,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,6BAA6B,EAC7B,UAAU,EACV,aAAa,EAEd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAyE,WAAW,EAAiC,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtJ,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AA2DxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAClC,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,MAAM,cAAc,GAAgB;QAClC,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElG,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACrE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAmB,CAAC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,UAAuB;IAC3D,IAAI,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAqB,CAAC,EAAE,CAAC;QACxE,OAAO,OAAqB,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,IAAI,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAClC,MAAM,OAAO,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAE7D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,SAAS;KAClB,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,QAAQ;QACvB,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAmB,EAAE,IAAc;IAC/D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAa,CAAC,EAAE,CAAC;QAClC,OAAO,KAAa,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAqB,CAAC,EAAE,CAAC;QACtD,OAAO,KAAqB,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,kBAAkB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAyB;IAC3D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,qBAAqB,EAAE,IAAI;SAC5B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE;YACV,qBAAqB,EAAE,IAAI;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAqB;IAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,yBAAyB;YAClC,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,OAAO;IACd,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,OAAqB;IACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3C,CAAC,CAAC,iFAAiF;QACnF,CAAC,CAAC,gBAAgB,OAAO,CAAC,KAAK,mEAAmE,CAAC;IAErG,OAAO;;;IAGL,UAAU;;cAEA,OAAO,CAAC,IAAI;EACxB,MAAM;;EAEN,SAAS;;;;;;IAMP,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;CACb,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,OAAqB;IAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE;YACX,GAAG,UAAU,SAAS;YACtB,GAAG,UAAU,6BAA6B;YAC1C,GAAG,UAAU,+CAA+C;YAC5D,cAAc,UAAU,uBAAuB;YAC/C,GAAG,UAAU,kDAAkD;YAC/D,GAAG,UAAU,qCAAqC;SACnD;QACD,KAAK,EAAE;YACL,GAAG,UAAU,iBAAiB,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,IAAI,EAAE;YACpE,GAAG,UAAU,uBAAuB,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,IAAI,EAAE;YAC1E,GAAG,UAAU,0BAA0B;YACvC,GAAG,UAAU,4CAA4C;SAC1D;QACD,IAAI,EAAE;YACJ,gFAAgF;YAChF,oEAAoE;YACpE,0EAA0E;YAC1E,iEAAiE;SAClE;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChG,CAAC;IAED,OAAO;;;EAGP,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;EAS1D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAClD,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,cAAc,GAAgB;QAClC,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAED,OAAO,GAAG,WAAW,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,MAAM,WAAW,GAA4C;QAC3D,IAAI,EAAE,6GAA6G;QACnH,OAAO,EAAE,4EAA4E;QACrF,KAAK,EAAE,mEAAmE;KAC3E,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,uBAAuB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,SAAS,OAAO;QAC/E,EAAE;QACF,oBAAoB,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;KAClD,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CACR,EAAE,EACF,MAAM,EACN,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CACtG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,0DAA0D,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,eAAe;QACxB,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC;IAEnF,KAAK,CAAC,IAAI,CACR,EAAE,EACF,UAAU,EACV,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,EACtD,EAAE,EACF,MAAM,CAAC,OAAO,CACf,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,SAAS,OAAO,EAAE,GAAG,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,OAAO,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,SAAS,IAAI,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gDAAgD,CAAC;QACvG,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChG,CAAC;IAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,iBAAiB,MAAM,CAAC,IAAI,IAAI,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,iBAAiB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9H,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC,CAAC;AACnJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc;IAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;QACrC,YAAY,EAAE,uBAAuB;QACrC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;QAClE,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;QAC9C,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,2BAA2B,CAAC,OAAO,CAAC;QAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC;IACnD,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC;YAC3B,IAAI;YACJ,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACzC,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,CAAC;QAC9C,KAAK;QACL,SAAS,EAAE;YACT,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS;YACrC,GAAG,gBAAgB,CAAC,OAAO,CAAC,kBAAkB;YAC9C,qFAAqF;SACtF;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,+BAA+B;QAC/B,EAAE;QACF,QAAQ;QACR,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAClF,EAAE;KACH,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAO,EACP,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAC9C,EAAE,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC;IAErE,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAc;IACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,IAA0B,CAAC;IAC/B,IAAI,MAA8B,CAAC;IACnC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,UAA8B,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,GAAG,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;QACN,KAAK;QACL,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAc;IAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,GAAiB,SAAS,CAAC;IACrC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,kBAAkB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,MAAM;QACN,KAAK;QACL,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;IACpC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1G,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB;IAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,6BAA6B,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAA6B;IACvD,IAAI,WAA0D,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,WAAW,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,gDAAgD;SAClG,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb;YACE,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE;YAC5B,MAAM,EAAE,QAAQ,OAAO,CAAC,OAAO,kBAAkB;SAClD;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,EAAE,UAAU,EAAE;SACrB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,KAAK,OAAO;YACzD,MAAM,EAAE,mCAAmC;SAC5C;QACD,WAAW;KACZ,CAAC;IACF,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,EAAE;YACF,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,4BAA4B;QAC5B,EAAE;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACxF,EAAE;QACF,EAAE;YACA,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,2EAA2E;QAC/E,EAAE;KACH,CAAC;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAyB;IAC5D,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;IAExC,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,4BAA4B;SACtC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,uBAAuB;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAI/B;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,iBAAiB,OAAO,CAAC,YAAY,GAAG;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,SAAS,OAAO,CAAC,YAAY,GAAG;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAqB;IACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO;;;;;;;;;;;;;EAaP,UAAU;EACV,UAAU;EACV,UAAU;aACC,UAAU;;;;;;EAMrB,UAAU;EACV,UAAU;;CAEX,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CR,CAAC;AACF,CAAC"}
|
package/docs/AGENTS.md
CHANGED
|
@@ -75,6 +75,7 @@ Use:
|
|
|
75
75
|
|
|
76
76
|
```powershell
|
|
77
77
|
npx -y memento-mori-jester@latest init --agent codex
|
|
78
|
+
npx -y memento-mori-jester@latest mcp-config --agent codex --mode npx
|
|
78
79
|
```
|
|
79
80
|
|
|
80
81
|
Then paste the generated `mcpServers` block wherever your Codex MCP configuration is kept. For local development:
|
|
@@ -89,9 +90,10 @@ Use:
|
|
|
89
90
|
|
|
90
91
|
```powershell
|
|
91
92
|
npx -y memento-mori-jester@latest init --agent claude
|
|
93
|
+
npx -y memento-mori-jester@latest mcp-config --agent claude --mode npx
|
|
92
94
|
```
|
|
93
95
|
|
|
94
|
-
Then paste the generated
|
|
96
|
+
Then paste the generated Claude Code config into Claude Code's MCP configuration. If Claude Code asks for a command and args separately, keep the generated values exactly.
|
|
95
97
|
|
|
96
98
|
## Generic MCP Clients
|
|
97
99
|
|
|
@@ -137,3 +139,5 @@ Agents do not need to pass the config manually. The MCP server searches upward f
|
|
|
137
139
|
- `.jester.json`
|
|
138
140
|
|
|
139
141
|
If an agent invokes tools outside the project directory, pass `configPath` to the MCP tool.
|
|
142
|
+
|
|
143
|
+
For exact tool inputs and outputs, see [MCP_TOOLS.md](MCP_TOOLS.md).
|
package/docs/CLAUDE_CODE.md
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
```powershell
|
|
6
6
|
npx -y memento-mori-jester@latest init --agent claude
|
|
7
|
+
npx -y memento-mori-jester@latest mcp-config --agent claude --mode npx
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
Copy the generated command and args into Claude Code's MCP configuration.
|
|
10
|
+
Copy the generated Claude Code config, or the command and args, into Claude Code's MCP configuration.
|
|
10
11
|
|
|
11
12
|
The default server command is:
|
|
12
13
|
|
package/docs/CLI.md
CHANGED
|
@@ -22,9 +22,33 @@ After that, use `jester` directly:
|
|
|
22
22
|
```powershell
|
|
23
23
|
jester command "Remove-Item .\dist -Recurse -Force"
|
|
24
24
|
jester final --file .\final-answer.txt --tone professional
|
|
25
|
+
jester explain command "git reset --hard"
|
|
25
26
|
git diff | jester diff --fail-on block
|
|
27
|
+
jester examples
|
|
26
28
|
```
|
|
27
29
|
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
Print a compact list of copy-paste commands and setup links:
|
|
33
|
+
|
|
34
|
+
```powershell
|
|
35
|
+
jester examples
|
|
36
|
+
jester examples --agent codex --mode npx
|
|
37
|
+
jester examples --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Explain
|
|
41
|
+
|
|
42
|
+
Turn a review verdict into a short teaching note:
|
|
43
|
+
|
|
44
|
+
```powershell
|
|
45
|
+
jester explain command "git reset --hard"
|
|
46
|
+
jester explain plan "I will just refactor auth and ship it"
|
|
47
|
+
jester explain final --file .\final-answer.txt --json
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`explain` accepts the same review options as `plan`, `command`, `diff`, and `final`.
|
|
51
|
+
|
|
28
52
|
## Bootstrap A Repo
|
|
29
53
|
|
|
30
54
|
```powershell
|
|
@@ -43,6 +67,7 @@ Use `--json` when another tool needs to parse the result:
|
|
|
43
67
|
|
|
44
68
|
```powershell
|
|
45
69
|
jester command "git reset --hard" --json
|
|
70
|
+
jester explain command "git reset --hard" --json
|
|
46
71
|
jester config validate --json
|
|
47
72
|
jester bootstrap --preset node --json
|
|
48
73
|
```
|
package/docs/CODEX.md
CHANGED
package/docs/DEMO.md
CHANGED
|
@@ -1,32 +1,73 @@
|
|
|
1
|
-
# Demo
|
|
1
|
+
# Demo Transcript
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This is a short script for showing what Memento Mori Jester does.
|
|
4
4
|
|
|
5
5
|
## 1. Health Check
|
|
6
6
|
|
|
7
|
+
Command:
|
|
8
|
+
|
|
7
9
|
```powershell
|
|
8
10
|
npx -y memento-mori-jester@latest doctor
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Typical output:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Memento Mori Jester doctor
|
|
17
|
+
|
|
18
|
+
PASS node-version: Node v24.15.0; required >=20.
|
|
19
|
+
PASS mcp-server-file: ...\node_modules\memento-mori-jester\dist\server.js
|
|
20
|
+
PASS review-engine: Dangerous git command is blocked.
|
|
21
|
+
PASS config: No config file found; using built-in defaults.
|
|
22
|
+
|
|
23
|
+
The fool is fit for court.
|
|
24
|
+
```
|
|
12
25
|
|
|
13
26
|
## 2. Dangerous Command Review
|
|
14
27
|
|
|
28
|
+
Command:
|
|
29
|
+
|
|
15
30
|
```powershell
|
|
16
31
|
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
17
32
|
```
|
|
18
33
|
|
|
19
|
-
|
|
34
|
+
Typical output:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
Jester verdict: BLOCK (100/100)
|
|
38
|
+
A dazzling command, if the desired outcome is court-sponsored regret.
|
|
39
|
+
|
|
40
|
+
Concerns:
|
|
41
|
+
- [S5] Destructive git operation: This can discard local work or remove untracked files. Evidence: git reset --hard
|
|
42
|
+
|
|
43
|
+
Suggested checks:
|
|
44
|
+
- Inspect `git status`, confirm the target branch, and make a backup or stash before running it.
|
|
45
|
+
```
|
|
20
46
|
|
|
21
47
|
## 3. Overconfident Plan Review
|
|
22
48
|
|
|
49
|
+
Command:
|
|
50
|
+
|
|
23
51
|
```powershell
|
|
24
52
|
npx -y memento-mori-jester@latest plan "I will just refactor auth and ship it"
|
|
25
53
|
```
|
|
26
54
|
|
|
27
|
-
|
|
55
|
+
Typical output:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Jester verdict: CAUTION
|
|
59
|
+
|
|
60
|
+
Concerns:
|
|
61
|
+
- Confidence theater
|
|
62
|
+
- No verification step
|
|
63
|
+
- High-risk domain touched
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The exact wording varies by tone, but the point should be clear: add evidence before marching onward.
|
|
67
|
+
|
|
68
|
+
## 4. Bootstrap A Project
|
|
28
69
|
|
|
29
|
-
|
|
70
|
+
Command:
|
|
30
71
|
|
|
31
72
|
```powershell
|
|
32
73
|
mkdir jester-demo
|
|
@@ -34,16 +75,63 @@ cd jester-demo
|
|
|
34
75
|
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
35
76
|
```
|
|
36
77
|
|
|
37
|
-
|
|
78
|
+
Typical output:
|
|
38
79
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- `MEMENTO_MORI.md`
|
|
80
|
+
```text
|
|
81
|
+
Memento Mori Jester bootstrap
|
|
42
82
|
|
|
43
|
-
|
|
83
|
+
Files:
|
|
84
|
+
wrote ...\jester.config.json
|
|
85
|
+
wrote ...\memento-mori.mcp.json
|
|
86
|
+
wrote ...\MEMENTO_MORI.md
|
|
87
|
+
|
|
88
|
+
Next:
|
|
89
|
+
npx -y memento-mori-jester@latest doctor
|
|
90
|
+
npx -y memento-mori-jester@latest config validate
|
|
91
|
+
Add memento-mori.mcp.json to your MCP client, or copy the command and args from it.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 5. Final Answer Check
|
|
95
|
+
|
|
96
|
+
Command:
|
|
44
97
|
|
|
45
98
|
```powershell
|
|
46
|
-
npx -y memento-mori-jester@latest
|
|
99
|
+
npx -y memento-mori-jester@latest final "Implemented the fix, but tests not run."
|
|
47
100
|
```
|
|
48
101
|
|
|
49
|
-
|
|
102
|
+
Typical output:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
Jester verdict: CAUTION
|
|
106
|
+
|
|
107
|
+
Concerns:
|
|
108
|
+
- [S3] Final answer says tests were not run
|
|
109
|
+
|
|
110
|
+
Suggested checks:
|
|
111
|
+
- State what remains unverified and the exact command or manual check someone should run next.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 6. MCP Setup Preview
|
|
115
|
+
|
|
116
|
+
Command:
|
|
117
|
+
|
|
118
|
+
```powershell
|
|
119
|
+
npx -y memento-mori-jester@latest mcp-config --mode npx
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Output:
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"mcpServers": {
|
|
127
|
+
"memento-mori-jester": {
|
|
128
|
+
"command": "npx",
|
|
129
|
+
"args": [
|
|
130
|
+
"-y",
|
|
131
|
+
"memento-mori-jester@latest",
|
|
132
|
+
"mcp-server"
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# MCP Tool Reference
|
|
2
|
+
|
|
3
|
+
Memento Mori Jester runs as an MCP stdio server:
|
|
4
|
+
|
|
5
|
+
```powershell
|
|
6
|
+
npx -y memento-mori-jester@latest mcp-server
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Generate a copy-paste MCP config:
|
|
10
|
+
|
|
11
|
+
```powershell
|
|
12
|
+
npx -y memento-mori-jester@latest mcp-config --mode npx
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Shared Options
|
|
16
|
+
|
|
17
|
+
All tools accept these optional fields:
|
|
18
|
+
|
|
19
|
+
| Field | Type | Notes |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| `subject` | string | Short label for what is being reviewed. |
|
|
22
|
+
| `context` | string | Extra project or task context. |
|
|
23
|
+
| `tone` | string | `gentle_stoic`, `court_jester`, `absolute_menace`, or `professional`. |
|
|
24
|
+
| `intensity` | number | Integer from `1` to `5`. |
|
|
25
|
+
| `riskTolerance` | string | `low`, `medium`, or `high`. |
|
|
26
|
+
| `configPath` | string | Explicit path to `jester.config.json` or `.jester.json`. |
|
|
27
|
+
| `noConfig` | boolean | Ignore project config discovery. |
|
|
28
|
+
|
|
29
|
+
By default, the MCP server searches upward from the current working directory for:
|
|
30
|
+
|
|
31
|
+
- `jester.config.json`
|
|
32
|
+
- `.jester.json`
|
|
33
|
+
|
|
34
|
+
## `jester_review_plan`
|
|
35
|
+
|
|
36
|
+
Reviews an agent plan before implementation.
|
|
37
|
+
|
|
38
|
+
Required input:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"plan": "I will just refactor auth and ship it."
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Good moments to call it:
|
|
47
|
+
|
|
48
|
+
- before large edits
|
|
49
|
+
- before migrations
|
|
50
|
+
- before release/deploy work
|
|
51
|
+
- when the plan sounds confident but light on verification
|
|
52
|
+
|
|
53
|
+
## `jester_check_command`
|
|
54
|
+
|
|
55
|
+
Reviews a shell command as text before it is run.
|
|
56
|
+
|
|
57
|
+
Required input:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"command": "git reset --hard"
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Good moments to call it:
|
|
66
|
+
|
|
67
|
+
- before destructive git commands
|
|
68
|
+
- before recursive file operations
|
|
69
|
+
- before `curl | sh` style install commands
|
|
70
|
+
- before production or database commands
|
|
71
|
+
|
|
72
|
+
## `jester_review_diff`
|
|
73
|
+
|
|
74
|
+
Reviews a code diff.
|
|
75
|
+
|
|
76
|
+
Required input:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"diff": "diff --git a/package.json b/package.json\n..."
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Good moments to call it:
|
|
85
|
+
|
|
86
|
+
- before committing
|
|
87
|
+
- before pushing
|
|
88
|
+
- before summarizing risky code changes
|
|
89
|
+
- when tests, config, secrets, auth, billing, or package scripts were touched
|
|
90
|
+
|
|
91
|
+
## `jester_final_answer_roast`
|
|
92
|
+
|
|
93
|
+
Reviews a final answer before an agent sends it.
|
|
94
|
+
|
|
95
|
+
Required input:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"answer": "Implemented the fix, but tests not run."
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Good moments to call it:
|
|
104
|
+
|
|
105
|
+
- before claiming something is fixed
|
|
106
|
+
- before saying tests passed
|
|
107
|
+
- before handing off unverified work
|
|
108
|
+
- when the answer should mention limitations clearly
|
|
109
|
+
|
|
110
|
+
## Output Shape
|
|
111
|
+
|
|
112
|
+
Each tool returns a human-readable text review and structured content with this shape:
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"kind": "command",
|
|
117
|
+
"subject": "shell command",
|
|
118
|
+
"verdict": "block",
|
|
119
|
+
"riskScore": 100,
|
|
120
|
+
"tone": "court_jester",
|
|
121
|
+
"intensity": 3,
|
|
122
|
+
"jab": "A dazzling command, if the desired outcome is court-sponsored regret.",
|
|
123
|
+
"memento": "Memento mori: every shortcut sends an invoice eventually.",
|
|
124
|
+
"issues": [
|
|
125
|
+
{
|
|
126
|
+
"id": "destructive-git-history",
|
|
127
|
+
"severity": 5,
|
|
128
|
+
"title": "Destructive git operation",
|
|
129
|
+
"detail": "This can discard local work or remove untracked files.",
|
|
130
|
+
"suggestedCheck": "Inspect `git status`, confirm the target branch, and make a backup or stash before running it.",
|
|
131
|
+
"evidence": "git reset --hard"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"suggestedChecks": [
|
|
135
|
+
"Inspect `git status`, confirm the target branch, and make a backup or stash before running it."
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Verdicts:
|
|
141
|
+
|
|
142
|
+
- `pass`: no obvious concern found
|
|
143
|
+
- `caution`: proceed only with a concrete check
|
|
144
|
+
- `block`: change the plan or command before continuing
|
|
145
|
+
|
|
146
|
+
Severity runs from `1` to `5`, where `5` is the highest risk.
|
|
147
|
+
|
|
148
|
+
## Suggested Agent Rule
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
Before risky commands, final answers, commits, or large edits, call the Memento Mori Jester. Treat BLOCK as requiring a changed plan, and CAUTION as requiring at least one concrete verification step.
|
|
152
|
+
```
|
package/docs/RELEASE.md
CHANGED
|
@@ -25,8 +25,11 @@ The package publishes these bins:
|
|
|
25
25
|
|
|
26
26
|
```powershell
|
|
27
27
|
npx -y memento-mori-jester@latest doctor
|
|
28
|
+
npx -y memento-mori-jester@latest examples
|
|
29
|
+
npx -y memento-mori-jester@latest explain command "git reset --hard"
|
|
28
30
|
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
29
31
|
npx -y memento-mori-jester@latest init
|
|
32
|
+
npx -y memento-mori-jester@latest mcp-config --agent claude --mode npx
|
|
30
33
|
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
31
34
|
npx -y memento-mori-jester@latest config init
|
|
32
35
|
npx -y memento-mori-jester@latest config init --preset security --path jester-security.config.json
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# v0.1.7 Release Notes
|
|
2
|
+
|
|
3
|
+
This release makes the public package easier to try, explain, and wire into agent clients.
|
|
4
|
+
|
|
5
|
+
## Added
|
|
6
|
+
|
|
7
|
+
- `jester examples`, a quick command that prints copy-paste CLI checks, setup commands, and example links.
|
|
8
|
+
- MCP tool reference docs covering inputs, shared options, output shape, verdicts, and suggested agent rules.
|
|
9
|
+
|
|
10
|
+
## Improved Docs
|
|
11
|
+
|
|
12
|
+
- README start-here path now focuses on the shortest useful npm commands.
|
|
13
|
+
- Demo transcript now shows a fuller end-to-end flow.
|
|
14
|
+
- CLI docs now mention the new examples command and its JSON output.
|
|
15
|
+
|
|
16
|
+
## Useful Commands
|
|
17
|
+
|
|
18
|
+
```powershell
|
|
19
|
+
npx -y memento-mori-jester@latest doctor
|
|
20
|
+
npx -y memento-mori-jester@latest examples
|
|
21
|
+
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
22
|
+
npx -y memento-mori-jester@latest mcp-config --mode npx
|
|
23
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# v0.1.8 Release Notes
|
|
2
|
+
|
|
3
|
+
This release makes the Jester more helpful when users want to understand a verdict, and smoother to wire into Claude Code.
|
|
4
|
+
|
|
5
|
+
## Added
|
|
6
|
+
|
|
7
|
+
- `jester explain`, which turns a normal review verdict into a short teaching note with the reason and next check.
|
|
8
|
+
- JSON output for `jester explain`, including both the original review and the human explanation.
|
|
9
|
+
- `jester mcp-config --agent claude`, which emits Claude Code's top-level MCP config shape.
|
|
10
|
+
|
|
11
|
+
## Useful Commands
|
|
12
|
+
|
|
13
|
+
```powershell
|
|
14
|
+
npx -y memento-mori-jester@latest explain command "git reset --hard"
|
|
15
|
+
npx -y memento-mori-jester@latest mcp-config --agent claude --mode npx
|
|
16
|
+
npx -y memento-mori-jester@latest mcp-config --agent codex --mode npx
|
|
17
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memento-mori-jester",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "A local court-jester sidecar for AI coding agents: review plans, commands, diffs, and final claims before they get too pleased with themselves.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
package/scripts/install.ps1
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
param(
|
|
2
|
-
[string]$PackageSpec = "memento-mori-jester@latest",
|
|
3
|
-
[ValidateSet("npx", "global")]
|
|
4
|
-
[string]$Mode = "npx"
|
|
5
|
-
)
|
|
6
|
-
|
|
7
|
-
$ErrorActionPreference = "Stop"
|
|
8
|
-
|
|
9
|
-
function Assert-Command($Name, $InstallHint) {
|
|
10
|
-
if (-not (Get-Command $Name -ErrorAction SilentlyContinue)) {
|
|
11
|
-
throw "$Name was not found. $InstallHint"
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
Assert-Command "node" "Install Node.js 20 or newer, then run this script again."
|
|
16
|
-
Assert-Command "npm.cmd" "Install npm with Node.js, then run this script again."
|
|
17
|
-
|
|
18
|
-
$nodeMajor = [int](& node -p "process.versions.node.split('.')[0]")
|
|
19
|
-
if ($nodeMajor -lt 20) {
|
|
20
|
-
throw "Node.js 20 or newer is required. Found: $(& node --version)"
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if ($Mode -eq "global") {
|
|
24
|
-
& npm.cmd install -g $PackageSpec
|
|
25
|
-
& jester doctor
|
|
26
|
-
& jester mcp-config --mode global
|
|
27
|
-
} else {
|
|
28
|
-
& npx -y $PackageSpec doctor
|
|
29
|
-
& npx -y $PackageSpec mcp-config --mode npx --package $PackageSpec
|
|
30
|
-
}
|
|
1
|
+
param(
|
|
2
|
+
[string]$PackageSpec = "memento-mori-jester@latest",
|
|
3
|
+
[ValidateSet("npx", "global")]
|
|
4
|
+
[string]$Mode = "npx"
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
$ErrorActionPreference = "Stop"
|
|
8
|
+
|
|
9
|
+
function Assert-Command($Name, $InstallHint) {
|
|
10
|
+
if (-not (Get-Command $Name -ErrorAction SilentlyContinue)) {
|
|
11
|
+
throw "$Name was not found. $InstallHint"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
Assert-Command "node" "Install Node.js 20 or newer, then run this script again."
|
|
16
|
+
Assert-Command "npm.cmd" "Install npm with Node.js, then run this script again."
|
|
17
|
+
|
|
18
|
+
$nodeMajor = [int](& node -p "process.versions.node.split('.')[0]")
|
|
19
|
+
if ($nodeMajor -lt 20) {
|
|
20
|
+
throw "Node.js 20 or newer is required. Found: $(& node --version)"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if ($Mode -eq "global") {
|
|
24
|
+
& npm.cmd install -g $PackageSpec
|
|
25
|
+
& jester doctor
|
|
26
|
+
& jester mcp-config --mode global
|
|
27
|
+
} else {
|
|
28
|
+
& npx -y $PackageSpec doctor
|
|
29
|
+
& npx -y $PackageSpec mcp-config --mode npx --package $PackageSpec
|
|
30
|
+
}
|