pi-jarvis 1.5.0 → 1.6.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/AGENTS.md +16 -4
- package/README.md +30 -5
- package/dist/native-mcp.d.ts +50 -0
- package/dist/native-mcp.d.ts.map +1 -0
- package/dist/native-mcp.js +263 -0
- package/dist/native-mcp.js.map +1 -0
- package/dist/side-session.d.ts +9 -1
- package/dist/side-session.d.ts.map +1 -1
- package/dist/side-session.js +49 -7
- package/dist/side-session.js.map +1 -1
- package/package.json +4 -3
package/AGENTS.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Project Scope
|
|
4
4
|
- `pi-jarvis` is a Pi extension that opens a `/jarvis` side-conversation overlay.
|
|
5
|
-
- Core runtime files: `index.ts`, `side-session.ts`, `overlay.ts`, `overlay-layout.ts`, `draft-editor.ts`, `transcript-viewport.ts`, `model-picker.ts`, `jarvis-config.ts`, `session-ref.ts`.
|
|
5
|
+
- Core runtime files: `index.ts`, `side-session.ts`, `native-mcp.ts`, `overlay.ts`, `overlay-layout.ts`, `draft-editor.ts`, `transcript-viewport.ts`, `model-picker.ts`, `jarvis-config.ts`, `session-ref.ts`.
|
|
6
6
|
- Current baseline: Pi 1.0.0 (`@earendil-works` packages), Node.js >=22.19.0. Older Pi hosts are not supported.
|
|
7
7
|
|
|
8
8
|
## Current `/jarvis-model` and `/jarvis-thinking` Behavior
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
- `follow-main` thinking follows the main thinking level regardless of model selection, except xAI `/jarvis` models force thinking `off`.
|
|
21
21
|
- `/compact`, `/tree`, and `/new` entered inside `/jarvis` operate on the isolated `/jarvis` side-session, not the main Pi session.
|
|
22
22
|
- `Note main` and `Redirect` stay disabled when the active `/jarvis` model is incompatible with bridge tools.
|
|
23
|
-
- Published
|
|
23
|
+
- Published packages keep Pi runtime packages as optional peers, not bundled dependencies. Never load the legacy MCP adapter. Version 1.6.0 adds native MCP to Repo tools opt-in alongside read/bash/edit/write.
|
|
24
24
|
- Physical models delegate to the host's public registry for auth and dispatch. Virtual/router models explicitly reject; do not access the registry's private backing runtime.
|
|
25
25
|
- Side resources/settings honor `ctx.isProjectTrusted()`. Local tool execution and bridge delivery recheck live permissions; closing the overlay revokes them and cancels pending confirmations.
|
|
26
26
|
- Use `agent_settled`, not `agent_end`, for final idle state. Main context must honor Pi context-edit/compaction projection.
|
|
@@ -34,14 +34,26 @@
|
|
|
34
34
|
- Queue count excludes active work; processing includes boot and complete queue settlement. Keep activity separate from scrollback and never replay uncertain sends.
|
|
35
35
|
- Bound overlay history (500 entries, 512K UTF-16 units total, 64K per entry) with explicit omission notices; never truncate persisted history.
|
|
36
36
|
|
|
37
|
+
## Native MCP (1.6.0)
|
|
38
|
+
- Use Pi's root-exported native factories, not private registry/runtime/transport internals. Jarvis owns separate configured-server connections; main-only extension registrations are not inherited.
|
|
39
|
+
- No native startup/credential expansion while initially off. Respect project trust, enabled states, native tool exposures, and live Repo tools permission for direct/deferred/codemode/resource execution.
|
|
40
|
+
- Revocation invalidates permission generations, hides owned tools, aborts calls and invokes owned native shutdown. Stale prepared tools and late registrations cannot regain access after re-enable.
|
|
41
|
+
- Pi cancellation is best effort: already-started handshake/authentication/remote work may finish or time out after shutdown is requested. Do not promise immediate child teardown, rollback, or sandboxing.
|
|
42
|
+
- Keep server administration in main Pi. Disable codemode model helpers (`models: false`); preserve independent Note main/Redirect gates and the overlay-owned bridge subscription.
|
|
43
|
+
- Tests use temporary agent/workspace directories and local fixture servers only; never start real user MCP servers or resolve real credentials during validation.
|
|
44
|
+
|
|
37
45
|
## Git and Release Policy
|
|
38
|
-
- Every commit
|
|
39
|
-
-
|
|
46
|
+
- Every new commit MUST have an annotated **stable version tag `vX.Y.Z`**. No `dev`, alpha, beta, release-candidate, build-metadata, or SHA-only tags. This is a released extension, not a prerelease channel.
|
|
47
|
+
- Before committing, choose the next unused stable version and update package metadata, lockfile, README, and a dated changelog entry together. Tag every commit, including intermediate and merge commits; never leave a new commit untagged. Run `npm run check:tags`, then push the commit and version tag atomically. Do not move or replace existing tags or rewrite shared history.
|
|
48
|
+
- Prefer fast-forwarding the exact validated commits to `main`; a new merge commit also requires its own version bump and tag. Every pushed `vX.Y.Z` tag triggers validated GitHub release packaging; npm publication remains manual.
|
|
49
|
+
- Stable-only CI enforcement starts after historical baseline `4b6b4e6`, preserving already-pushed history. Branch/PR jobs validate on Node 22.19.0 and 24 and reject missing, lightweight, prerelease, or SHA-only version coverage. Each new tag must match that commit's package metadata, lockfile, README, and changelog.
|
|
50
|
+
- Existing release assets must not be overwritten with differing bytes. See `RELEASING.md` for branch/tag protection and merge/fork constraints; CI alone cannot prevent administrator bypass.
|
|
40
51
|
|
|
41
52
|
## Validation
|
|
42
53
|
- Run `npm test` for full validation.
|
|
43
54
|
- Run `npm run build` before release packaging.
|
|
44
55
|
- Run `npm run verify:release` to validate npm pack payload and release metadata expectations.
|
|
56
|
+
- Run `npm run check:tags` after tagging commits to validate annotated-tag policy.
|
|
45
57
|
|
|
46
58
|
## Docs To Keep In Sync
|
|
47
59
|
- `README.md`
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
[](https://github.com/crustyhacker/pi-jarvis)
|
|
14
14
|
[](./package.json)
|
|
15
15
|
|
|
16
|
-
<p><strong>Current version:</strong> 1.
|
|
16
|
+
<p><strong>Current version:</strong> 1.6.0</p>
|
|
17
17
|
|
|
18
18
|
<p>
|
|
19
19
|
<strong>Persistent side session</strong> ·
|
|
@@ -120,7 +120,7 @@ pi install npm:pi-jarvis
|
|
|
120
120
|
|
|
121
121
|
This package is meant to run **inside a Pi installation** that already provides the Pi runtime packages. Those host packages are declared as optional peers so npm does not install a second copy of the full Pi/AI provider stack just to add this extension.
|
|
122
122
|
|
|
123
|
-
Requires **Pi 1.0.0** and **Node.js 22.19.0 or newer**.
|
|
123
|
+
Requires **Pi 1.0.0** and **Node.js 22.19.0 or newer**. Version **1.6.0** supports local repository tools and opt-in native Pi MCP as described below; it does not load the legacy `pi-mcp-adapter` or bundle another Pi runtime.
|
|
124
124
|
|
|
125
125
|
### 2) Restart or reload Pi
|
|
126
126
|
|
|
@@ -218,7 +218,7 @@ The overlay header exposes three controls, all **off by default**:
|
|
|
218
218
|
|
|
219
219
|
| Control | What it does | Safety model |
|
|
220
220
|
|---|---|---|
|
|
221
|
-
| `Repo tools` | Enables local `read`, `bash`, `edit`, and `write
|
|
221
|
+
| `Repo tools` | Enables local `read`, `bash`, `edit`, and `write`, plus configured native MCP | Explicit opt-in |
|
|
222
222
|
| `Note main` | Sends a concise, non-interrupting note to the main session | Explicit opt-in |
|
|
223
223
|
| `Redirect` | Sends a redirecting instruction to the main session | Explicit opt-in + per-send confirmation |
|
|
224
224
|
|
|
@@ -259,7 +259,7 @@ flowchart TD
|
|
|
259
259
|
A --> D[Redirect off]
|
|
260
260
|
|
|
261
261
|
B -->|enable| E[Jarvis may use local tools]
|
|
262
|
-
E --> H[
|
|
262
|
+
E --> H[Configured native MCP]
|
|
263
263
|
|
|
264
264
|
C -->|enable| I[Jarvis may send a quiet note to main]
|
|
265
265
|
D -->|enable| J[Jarvis may request redirect sends]
|
|
@@ -345,7 +345,18 @@ This repository's validation baseline is **Pi 1.0.0**, using host-provided `@ear
|
|
|
345
345
|
|
|
346
346
|
Physical models use the main host's public model registry for requests and credentials, including custom providers and runtime-only authentication. **Virtual/router models are not supported**: Pi's public extension registry does not expose session-aware virtual routing. Pin `/jarvis-model <provider/physical-model>` if the main session uses a virtual model.
|
|
347
347
|
|
|
348
|
-
|
|
348
|
+
### Native MCP
|
|
349
|
+
|
|
350
|
+
Pi already provides MCP; Jarvis 1.6.0 opts its separate SDK session into Pi's native factories when Repo tools is enabled.
|
|
351
|
+
|
|
352
|
+
- **Repo tools is the opt-in for both local tools and native MCP.** While initially off, Jarvis does not start MCP connections or expand MCP configuration credentials/commands.
|
|
353
|
+
- Enabling it starts **separate, side-owned connections** to configured servers from the active agent directory's `mcp.json` and, only when trusted, the project's `.pi/mcp.json`. Main-session connections are neither reused nor disconnected. Servers registered only by main-session extensions are not automatically inherited.
|
|
354
|
+
- Native direct, deferred/tool-search, codemode, and resource tools keep Pi's configured exposure. Jarvis rechecks live permission and session lifetime for calls, including nested calls and previously prepared tool references. Server annotations are hints, not permission grants.
|
|
355
|
+
- Disabling Repo tools, closing the overlay, or disposing the side runtime invalidates that permission generation, hides its tools, aborts owned call signals, and requests native disconnection. Re-enabling creates a fresh generation rather than reviving stale calls.
|
|
356
|
+
- **Cancellation is best effort, not rollback or a sandbox.** Pi may allow already-started connection handshakes, authentication refresh/cleanup, or remote operations to finish or time out after revocation. A pending native handshake may outlive the shutdown request until Pi finishes or times it out.
|
|
357
|
+
- Manage servers and OAuth sign-in in **main Pi** (`/mcp` or `pi mcp ...`), not through a side-session administration command. Jarvis does not register a side `/mcp` manager. Codemode's classifier/image-model helpers are disabled in the side session.
|
|
358
|
+
|
|
359
|
+
Use narrowly scoped credentials and trust your configured servers. Enabling Repo tools permits the configured MCP capabilities; it is not a read-only grant.
|
|
349
360
|
|
|
350
361
|
---
|
|
351
362
|
|
|
@@ -381,6 +392,20 @@ Preview and verify the npm payload contract:
|
|
|
381
392
|
npm run verify:release
|
|
382
393
|
```
|
|
383
394
|
|
|
395
|
+
Check the mandatory annotated **version-number** tag policy for committed history:
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
npm run check:tags
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Release automation
|
|
402
|
+
|
|
403
|
+
GitHub Actions validate branch pushes and pull requests on Node 22.19.0 and 24. They require an annotated **stable `vX.Y.Z` tag** on every reachable post-policy-baseline commit and run tests, build, and package verification. Every commit bumps the matching package and documentation versions; prerelease (`dev`, alpha, beta, RC), build-metadata, and SHA-only tags do not qualify. Fork PR jobs are read-only.
|
|
404
|
+
|
|
405
|
+
A matching annotated **`vX.Y.Z`** tag runs exact-tag validation and creates a GitHub release with the validated npm tarball. **npm publication stays manual**; no npm publishing token is configured. Existing assets are verified, never overwritten with different bytes.
|
|
406
|
+
|
|
407
|
+
CI reports violations; protected-branch/tag rules must be configured separately for enforcement. See [RELEASING.md](https://github.com/crustyhacker/pi-jarvis/blob/main/RELEASING.md) for atomic tagged pushes, fork/merge handling, reruns, and manual npm publication.
|
|
408
|
+
|
|
384
409
|
---
|
|
385
410
|
|
|
386
411
|
## License
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type ExtensionFactory, type McpExtensionOptions, type SessionShutdownEvent } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
export type NativeMcpOptions = {
|
|
3
|
+
hasToolAccess: () => boolean;
|
|
4
|
+
lifetimeSignal?: AbortSignal;
|
|
5
|
+
/** Public native options, primarily useful for isolated SDK fixtures. */
|
|
6
|
+
mcpOptions?: McpExtensionOptions;
|
|
7
|
+
onChange?: () => void;
|
|
8
|
+
};
|
|
9
|
+
/** Remove the MAIN session's discovery section before composing the side prompt. */
|
|
10
|
+
export declare function stripMcpServerSection(prompt: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Own the public factories' registrations, not the host's MCP servers/runtime.
|
|
13
|
+
* Pi 1.0's factories have no lifecycle handle, and AgentSession.dispose() does
|
|
14
|
+
* not emit session_shutdown. Retain their public lifecycle callbacks so the
|
|
15
|
+
* owner can start only on opt-in and request shutdown before SDK invalidation.
|
|
16
|
+
*
|
|
17
|
+
* Revocation blocks NEW executions/lifecycle entry, hides definitions, cancels
|
|
18
|
+
* scripts/call signals, and invalidates prepared references across re-enable.
|
|
19
|
+
* Native shutdown is best-effort for ALREADY STARTED work: an in-flight MCP
|
|
20
|
+
* handshake or OAuth refresh/cleanup can finish or time out (and have effects)
|
|
21
|
+
* after revocation. The public factories cannot cancel those internals. This is
|
|
22
|
+
* permission control, NOT a sandbox or a promise to undo running operations.
|
|
23
|
+
*/
|
|
24
|
+
export declare class NativeMcpController {
|
|
25
|
+
private readonly options;
|
|
26
|
+
private pi?;
|
|
27
|
+
private start?;
|
|
28
|
+
private current?;
|
|
29
|
+
private readonly ownedNames;
|
|
30
|
+
private enabled;
|
|
31
|
+
private disposed;
|
|
32
|
+
private revision;
|
|
33
|
+
private transition;
|
|
34
|
+
private readonly onLifetimeAbort;
|
|
35
|
+
constructor(options: NativeMcpOptions);
|
|
36
|
+
readonly extensionFactory: ExtensionFactory;
|
|
37
|
+
ownsTool(name: string): boolean;
|
|
38
|
+
isToolAvailable(name: string): boolean;
|
|
39
|
+
/** Preserve direct tools, native discovery activation, and tool_search loads. */
|
|
40
|
+
getActiveToolNames(): string[];
|
|
41
|
+
setEnabled(enabled: boolean): Promise<void>;
|
|
42
|
+
waitForChange(): Promise<void>;
|
|
43
|
+
dispose(event?: SessionShutdownEvent): Promise<void>;
|
|
44
|
+
private isLive;
|
|
45
|
+
private assertLive;
|
|
46
|
+
private revoke;
|
|
47
|
+
private createFacade;
|
|
48
|
+
private wrapTool;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=native-mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-mcp.d.ts","sourceRoot":"","sources":["../native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAGzB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,yEAAyE;IACzE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAWF,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAWnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,EAAE,CAAC,CAAe;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAsD;IACpE,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkD;gBAErD,OAAO,EAAE,gBAAgB;IAItD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CASzC;IAEF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMtC,iFAAiF;IACjF,kBAAkB,IAAI,MAAM,EAAE;IAI9B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,CAAC,KAAK,GAAE,oBAAmE,GAAG,OAAO,CAAC,IAAI,CAAC;IAclG,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IA4Bd,OAAO,CAAC,YAAY;IA8DpB,OAAO,CAAC,QAAQ;CA+BhB"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { createCodemodeExtension, createMcpExtension, createToolSearchExtension, } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
/** Remove the MAIN session's discovery section before composing the side prompt. */
|
|
3
|
+
export function stripMcpServerSection(prompt) {
|
|
4
|
+
return prompt.replace(/<mcp_servers>\s*[\s\S]*?<\/mcp_servers>/gi, "").trim();
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Own the public factories' registrations, not the host's MCP servers/runtime.
|
|
8
|
+
* Pi 1.0's factories have no lifecycle handle, and AgentSession.dispose() does
|
|
9
|
+
* not emit session_shutdown. Retain their public lifecycle callbacks so the
|
|
10
|
+
* owner can start only on opt-in and request shutdown before SDK invalidation.
|
|
11
|
+
*
|
|
12
|
+
* Revocation blocks NEW executions/lifecycle entry, hides definitions, cancels
|
|
13
|
+
* scripts/call signals, and invalidates prepared references across re-enable.
|
|
14
|
+
* Native shutdown is best-effort for ALREADY STARTED work: an in-flight MCP
|
|
15
|
+
* handshake or OAuth refresh/cleanup can finish or time out (and have effects)
|
|
16
|
+
* after revocation. The public factories cannot cancel those internals. This is
|
|
17
|
+
* permission control, NOT a sandbox or a promise to undo running operations.
|
|
18
|
+
*/
|
|
19
|
+
export class NativeMcpController {
|
|
20
|
+
options;
|
|
21
|
+
pi;
|
|
22
|
+
start;
|
|
23
|
+
current;
|
|
24
|
+
ownedNames = new Set();
|
|
25
|
+
enabled = false;
|
|
26
|
+
disposed = false;
|
|
27
|
+
revision = 0;
|
|
28
|
+
transition = Promise.resolve();
|
|
29
|
+
onLifetimeAbort = () => { void this.dispose().catch(() => { }); };
|
|
30
|
+
constructor(options) {
|
|
31
|
+
this.options = options;
|
|
32
|
+
options.lifetimeSignal?.addEventListener("abort", this.onLifetimeAbort, { once: true });
|
|
33
|
+
}
|
|
34
|
+
extensionFactory = (pi) => {
|
|
35
|
+
this.pi = pi;
|
|
36
|
+
pi.on("session_start", async (event, ctx) => {
|
|
37
|
+
this.start = { event, ctx }; // Genuine SIDE event/context from bindExtensions().
|
|
38
|
+
await this.setEnabled(this.options.hasToolAccess());
|
|
39
|
+
});
|
|
40
|
+
pi.on("session_shutdown", async (event) => {
|
|
41
|
+
await this.dispose(event);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
ownsTool(name) {
|
|
45
|
+
return this.ownedNames.has(name);
|
|
46
|
+
}
|
|
47
|
+
isToolAvailable(name) {
|
|
48
|
+
const generation = this.current;
|
|
49
|
+
const definition = generation?.definitions.get(name);
|
|
50
|
+
return !!generation && this.isLive(generation) && !!definition && definition.exposure !== "hidden";
|
|
51
|
+
}
|
|
52
|
+
/** Preserve direct tools, native discovery activation, and tool_search loads. */
|
|
53
|
+
getActiveToolNames() {
|
|
54
|
+
return this.pi?.getActiveTools().filter((name) => this.isToolAvailable(name)) ?? [];
|
|
55
|
+
}
|
|
56
|
+
setEnabled(enabled) {
|
|
57
|
+
if (this.disposed)
|
|
58
|
+
return this.transition;
|
|
59
|
+
this.enabled = enabled;
|
|
60
|
+
const revision = ++this.revision;
|
|
61
|
+
// Revoke synchronously, even when a previous enable is still queued.
|
|
62
|
+
const closing = enabled && this.options.hasToolAccess() ? Promise.resolve() : this.revoke({ type: "session_shutdown", reason: "reload" });
|
|
63
|
+
this.transition = Promise.all([this.transition.catch(() => { }), closing]).then(async () => {
|
|
64
|
+
if (revision !== this.revision || !this.enabled || this.disposed || !this.start || !this.pi || !this.options.hasToolAccess() || this.options.lifetimeSignal?.aborted)
|
|
65
|
+
return;
|
|
66
|
+
if (this.current)
|
|
67
|
+
return;
|
|
68
|
+
const generation = {
|
|
69
|
+
abort: new AbortController(), definitions: new Map(), unsubscribers: new Set(), starts: new Set(), shutdowns: new Set(),
|
|
70
|
+
};
|
|
71
|
+
this.current = generation;
|
|
72
|
+
const facade = this.createFacade(this.pi, generation);
|
|
73
|
+
try {
|
|
74
|
+
// No factories, config reads, credential expansion, or connections while off.
|
|
75
|
+
for (const factory of [
|
|
76
|
+
createCodemodeExtension({ mode: "on", models: false }),
|
|
77
|
+
createToolSearchExtension(),
|
|
78
|
+
createMcpExtension(this.options.mcpOptions),
|
|
79
|
+
]) {
|
|
80
|
+
if (!this.isLive(generation))
|
|
81
|
+
return;
|
|
82
|
+
await factory(facade);
|
|
83
|
+
}
|
|
84
|
+
for (const handler of generation.starts) {
|
|
85
|
+
if (!this.isLive(generation))
|
|
86
|
+
return;
|
|
87
|
+
await handler(this.start.event, this.start.ctx);
|
|
88
|
+
}
|
|
89
|
+
this.options.onChange?.();
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
await this.revoke({ type: "session_shutdown", reason: "reload" });
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
return this.transition;
|
|
97
|
+
}
|
|
98
|
+
waitForChange() {
|
|
99
|
+
return this.transition;
|
|
100
|
+
}
|
|
101
|
+
dispose(event = { type: "session_shutdown", reason: "quit" }) {
|
|
102
|
+
if (this.disposed)
|
|
103
|
+
return this.transition;
|
|
104
|
+
this.disposed = true;
|
|
105
|
+
this.enabled = false;
|
|
106
|
+
this.revision++;
|
|
107
|
+
this.options.lifetimeSignal?.removeEventListener("abort", this.onLifetimeAbort);
|
|
108
|
+
const closing = this.revoke(event);
|
|
109
|
+
this.transition = Promise.allSettled([this.transition, closing]).then((results) => {
|
|
110
|
+
const failed = results.find((result) => result.status === "rejected");
|
|
111
|
+
if (failed?.status === "rejected")
|
|
112
|
+
throw failed.reason;
|
|
113
|
+
});
|
|
114
|
+
return this.transition;
|
|
115
|
+
}
|
|
116
|
+
isLive(generation) {
|
|
117
|
+
return this.current === generation && this.enabled && !this.disposed && !generation.abort.signal.aborted && !this.options.lifetimeSignal?.aborted && this.options.hasToolAccess();
|
|
118
|
+
}
|
|
119
|
+
assertLive(generation, signal) {
|
|
120
|
+
if (!this.isLive(generation) || signal?.aborted)
|
|
121
|
+
throw new Error("/jarvis native MCP access is disabled, cancelled, or belongs to an expired permission generation.");
|
|
122
|
+
}
|
|
123
|
+
revoke(event) {
|
|
124
|
+
const generation = this.current;
|
|
125
|
+
this.current = undefined;
|
|
126
|
+
if (!generation)
|
|
127
|
+
return Promise.resolve();
|
|
128
|
+
generation.abort.abort();
|
|
129
|
+
const errors = [];
|
|
130
|
+
const attempt = (action) => { try {
|
|
131
|
+
action();
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
errors.push(error);
|
|
135
|
+
} };
|
|
136
|
+
for (const unsubscribe of generation.unsubscribers)
|
|
137
|
+
attempt(unsubscribe);
|
|
138
|
+
generation.unsubscribers.clear();
|
|
139
|
+
// Native shutdown itself does not withdraw definitions. Do so before any
|
|
140
|
+
// awaited work; late registration through this old facade is discarded.
|
|
141
|
+
for (const definition of generation.definitions.values()) {
|
|
142
|
+
attempt(() => { this.pi?.registerTool({ ...definition, exposure: "hidden", defaultActive: false }); });
|
|
143
|
+
}
|
|
144
|
+
attempt(() => { this.pi?.setActiveTools(this.pi.getActiveTools().filter((name) => !this.ownedNames.has(name))); });
|
|
145
|
+
attempt(() => { this.options.onChange?.(); });
|
|
146
|
+
const start = this.start;
|
|
147
|
+
// Invoke immediately: native shutdown bumps its own startup generation
|
|
148
|
+
// synchronously before yielding to connection.close(). No fake main events.
|
|
149
|
+
// A stale SDK facade or failed overlay render must not prevent closing.
|
|
150
|
+
return Promise.allSettled([...generation.shutdowns].map(async (handler) => {
|
|
151
|
+
if (start)
|
|
152
|
+
await handler(event, start.ctx);
|
|
153
|
+
})).then((results) => {
|
|
154
|
+
for (const result of results)
|
|
155
|
+
if (result.status === "rejected")
|
|
156
|
+
errors.push(result.reason);
|
|
157
|
+
if (errors.length > 0)
|
|
158
|
+
throw new AggregateError(errors, "/jarvis native MCP shutdown encountered errors.");
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
createFacade(pi, generation) {
|
|
162
|
+
const on = ((name, handler) => {
|
|
163
|
+
if (name === "session_start" || name === "session_shutdown") {
|
|
164
|
+
const handlers = name === "session_start" ? generation.starts : generation.shutdowns;
|
|
165
|
+
handlers.add(handler);
|
|
166
|
+
return () => { handlers.delete(handler); };
|
|
167
|
+
}
|
|
168
|
+
// `on` is overloaded by event. Only the public factories' registrations
|
|
169
|
+
// cross this adapter; keep each event/result unchanged except prompt composition.
|
|
170
|
+
const register = pi.on;
|
|
171
|
+
const unsubscribe = register(name, async (event, ctx) => {
|
|
172
|
+
if (!this.isLive(generation)) {
|
|
173
|
+
if (event.type === "tool_call" && generation.definitions.has(event.toolName))
|
|
174
|
+
return { block: true, reason: "/jarvis native MCP access is disabled." };
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const result = await handler(event, ctx);
|
|
178
|
+
if (!this.isLive(generation)) {
|
|
179
|
+
if (event.type === "tool_call" && generation.definitions.has(event.toolName))
|
|
180
|
+
return { block: true, reason: "/jarvis native MCP permission expired while preparing the call." };
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if (event.type === "before_agent_start") {
|
|
184
|
+
const promptEvent = event;
|
|
185
|
+
const section = promptEvent.systemPromptOptions.sections.mcp_servers;
|
|
186
|
+
// Jarvis uses a forced identity/context prompt. Native structured
|
|
187
|
+
// sections alone would be lost; append ONLY the SIDE discovery list.
|
|
188
|
+
return { systemPrompt: [stripMcpServerSection(promptEvent.systemPrompt), section ? `<mcp_servers>\n${section}\n</mcp_servers>` : ""].filter(Boolean).join("\n\n") };
|
|
189
|
+
}
|
|
190
|
+
return result;
|
|
191
|
+
});
|
|
192
|
+
generation.unsubscribers.add(unsubscribe);
|
|
193
|
+
return () => { generation.unsubscribers.delete(unsubscribe); unsubscribe(); };
|
|
194
|
+
});
|
|
195
|
+
return new Proxy(pi, {
|
|
196
|
+
get: (target, property) => {
|
|
197
|
+
if (property === "on")
|
|
198
|
+
return on;
|
|
199
|
+
if (property === "registerCommand")
|
|
200
|
+
return () => { };
|
|
201
|
+
if (property === "registerTool")
|
|
202
|
+
return (definition) => {
|
|
203
|
+
if (!this.isLive(generation))
|
|
204
|
+
return;
|
|
205
|
+
const wrapped = this.wrapTool(definition, generation);
|
|
206
|
+
generation.definitions.set(definition.name, wrapped);
|
|
207
|
+
this.ownedNames.add(definition.name);
|
|
208
|
+
target.registerTool(wrapped);
|
|
209
|
+
this.options.onChange?.();
|
|
210
|
+
};
|
|
211
|
+
if (property === "setActiveTools")
|
|
212
|
+
return (names) => {
|
|
213
|
+
if (!this.isLive(generation))
|
|
214
|
+
return;
|
|
215
|
+
target.setActiveTools(names.filter((name) => !this.ownedNames.has(name) || this.isToolAvailable(name)));
|
|
216
|
+
this.options.onChange?.();
|
|
217
|
+
};
|
|
218
|
+
if (property === "appendEntry")
|
|
219
|
+
return (...args) => {
|
|
220
|
+
this.assertLive(generation);
|
|
221
|
+
return target.appendEntry(...args);
|
|
222
|
+
};
|
|
223
|
+
// Deliberately omit side /mcp administration. Config/auth discovery,
|
|
224
|
+
// refresh, expansion, and transports stay on Pi's native defaults;
|
|
225
|
+
// manage login/exposure/enabled settings in the MAIN Pi /mcp UI.
|
|
226
|
+
return Reflect.get(target, property);
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
wrapTool(definition, generation) {
|
|
231
|
+
return {
|
|
232
|
+
...definition,
|
|
233
|
+
// Serialize model-issued side batches just like local side tools. The
|
|
234
|
+
// script's explicit ctx.executeTool concurrency still uses live gates.
|
|
235
|
+
executionMode: "sequential",
|
|
236
|
+
execute: async (id, params, signal, onUpdate, ctx) => {
|
|
237
|
+
this.assertLive(generation, signal);
|
|
238
|
+
// A tools/list_changed withdrawal can happen within the same
|
|
239
|
+
// permission epoch, after an SDK call already captured this definition.
|
|
240
|
+
if (!this.isToolAvailable(definition.name))
|
|
241
|
+
throw new Error("/jarvis native MCP tool is disabled or withdrawn.");
|
|
242
|
+
const signals = [generation.abort.signal, signal, this.options.lifetimeSignal].filter((value) => !!value);
|
|
243
|
+
const callSignal = AbortSignal.any(signals);
|
|
244
|
+
// An OLD codemode script must not call tools from a NEW permission
|
|
245
|
+
// generation, even if a nested call was queued while access was on.
|
|
246
|
+
// SDK tool contexts are frozen. Shadow public members on a fresh
|
|
247
|
+
// facade instead of violating frozen-property Proxy invariants.
|
|
248
|
+
const context = Object.create(ctx);
|
|
249
|
+
Object.defineProperties(context, {
|
|
250
|
+
signal: { value: callSignal },
|
|
251
|
+
executeTool: { value: (name, args, options) => {
|
|
252
|
+
this.assertLive(generation, callSignal);
|
|
253
|
+
return ctx.executeTool(name, args, { ...options, signal: options?.signal ? AbortSignal.any([callSignal, options.signal]) : callSignal });
|
|
254
|
+
} },
|
|
255
|
+
});
|
|
256
|
+
const result = await definition.execute(id, params, callSignal, onUpdate, context);
|
|
257
|
+
this.assertLive(generation, callSignal);
|
|
258
|
+
return result;
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=native-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-mcp.js","sourceRoot":"","sources":["../native-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/side-session.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { Model } from "@earendil-works/pi-ai";
|
|
2
2
|
import type { MainSessionContextPayload } from "./main-context.js";
|
|
3
|
-
import { ModelRuntime, type ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
3
|
+
import { ModelRuntime, type ExtensionContext, type McpExtensionOptions } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
import { JarvisOverlayBridge, type JarvisDisplayEntry } from "./overlay.js";
|
|
5
5
|
type SideRuntimeCreateOptions = {
|
|
6
6
|
bridge: JarvisOverlayBridge;
|
|
7
7
|
cwd: string;
|
|
8
8
|
/** The host trust decision. Missing means untrusted, never implicit approval. */
|
|
9
9
|
projectTrusted?: boolean;
|
|
10
|
+
/** Optional public factory options for isolated MCP fixtures. Defaults use Pi config/auth. */
|
|
11
|
+
nativeMcpOptions?: McpExtensionOptions;
|
|
10
12
|
modelRegistry: ExtensionContext["modelRegistry"];
|
|
11
13
|
model: Model<any> | undefined;
|
|
12
14
|
jarvisModelModeProvider?: () => "follow-main" | "pinned";
|
|
@@ -56,6 +58,8 @@ export declare class JarvisSideSessionRuntime {
|
|
|
56
58
|
private syncHostModels?;
|
|
57
59
|
private readonly lifetime;
|
|
58
60
|
private syncActiveTools?;
|
|
61
|
+
private nativeMcp?;
|
|
62
|
+
private disposal;
|
|
59
63
|
private constructor();
|
|
60
64
|
static create(options: SideRuntimeCreateOptions): Promise<JarvisSideSessionRuntime>;
|
|
61
65
|
isReady(): boolean;
|
|
@@ -63,6 +67,10 @@ export declare class JarvisSideSessionRuntime {
|
|
|
63
67
|
getModelLabel(): string;
|
|
64
68
|
getRepoToolsDetailLabel(): string;
|
|
65
69
|
setToolAccessEnabled(enabled: boolean): void;
|
|
70
|
+
/** Wait for the permission transition, not native background handshakes. */
|
|
71
|
+
waitForToolAccessChange(): Promise<void>;
|
|
72
|
+
/** Native shutdown is best-effort for already-started handshake/auth work. */
|
|
73
|
+
waitForDisposal(): Promise<void>;
|
|
66
74
|
getDisplayEntries(): JarvisDisplayEntry[];
|
|
67
75
|
sendMessage(text: string): Promise<void>;
|
|
68
76
|
addSystemMessage(text: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-session.d.ts","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,KAAK,EAAoC,MAAM,uBAAuB,CAAC;AACvG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAIN,YAAY,EAUZ,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"side-session.d.ts","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"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"}
|
package/dist/side-session.js
CHANGED
|
@@ -3,6 +3,7 @@ import { mkdirSync } from "node:fs";
|
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { InMemoryCredentialStore, Type } from "@earendil-works/pi-ai";
|
|
5
5
|
import { DefaultResourceLoader, SessionManager, SettingsManager, ModelRuntime, createAgentSession, defineTool, createReadToolDefinition, createBashToolDefinition, createEditToolDefinition, createWriteToolDefinition, getAgentDir, } from "@earendil-works/pi-coding-agent";
|
|
6
|
+
import { NativeMcpController, stripMcpServerSection } from "./native-mcp.js";
|
|
6
7
|
const SIDE_SYSTEM_PROMPT = `
|
|
7
8
|
Authoritative /jarvis addendum:
|
|
8
9
|
- You are running inside /jarvis.
|
|
@@ -114,6 +115,8 @@ export class JarvisSideSessionRuntime {
|
|
|
114
115
|
syncHostModels;
|
|
115
116
|
lifetime = new AbortController();
|
|
116
117
|
syncActiveTools;
|
|
118
|
+
nativeMcp;
|
|
119
|
+
disposal = Promise.resolve();
|
|
117
120
|
constructor(bridge, themeProvider) {
|
|
118
121
|
this.themeProvider = themeProvider;
|
|
119
122
|
this.bridge = bridge;
|
|
@@ -142,12 +145,26 @@ export class JarvisSideSessionRuntime {
|
|
|
142
145
|
if (!this.toolAccessEnabled) {
|
|
143
146
|
return "repo tools off";
|
|
144
147
|
}
|
|
145
|
-
return "local tools
|
|
148
|
+
return "local tools + native MCP";
|
|
146
149
|
}
|
|
147
150
|
setToolAccessEnabled(enabled) {
|
|
151
|
+
if (this.lifetime.signal.aborted)
|
|
152
|
+
return;
|
|
148
153
|
this.toolAccessEnabled = enabled;
|
|
154
|
+
void this.nativeMcp?.setEnabled(enabled).catch((error) => {
|
|
155
|
+
if (!this.lifetime.signal.aborted)
|
|
156
|
+
this.bridge.notify(`Side MCP error: ${error instanceof Error ? error.message : String(error)}`, "error");
|
|
157
|
+
});
|
|
149
158
|
this.syncActiveTools?.();
|
|
150
159
|
}
|
|
160
|
+
/** Wait for the permission transition, not native background handshakes. */
|
|
161
|
+
waitForToolAccessChange() {
|
|
162
|
+
return this.nativeMcp?.waitForChange() ?? Promise.resolve();
|
|
163
|
+
}
|
|
164
|
+
/** Native shutdown is best-effort for already-started handshake/auth work. */
|
|
165
|
+
waitForDisposal() {
|
|
166
|
+
return this.disposal;
|
|
167
|
+
}
|
|
151
168
|
getDisplayEntries() {
|
|
152
169
|
const entries = [...this.historyEntries, ...this.localStatusEntries];
|
|
153
170
|
const latestUserEntry = [...entries].reverse().find((entry) => entry.kind === "user");
|
|
@@ -267,6 +284,10 @@ export class JarvisSideSessionRuntime {
|
|
|
267
284
|
this.modelLabel = formatModelLabel(this.session.model);
|
|
268
285
|
}
|
|
269
286
|
dispose() {
|
|
287
|
+
// Retained public native shutdown handlers run BEFORE SDK ctx invalidation.
|
|
288
|
+
// AgentSession.dispose() does not emit session_shutdown on Pi 1.0.
|
|
289
|
+
this.disposal = this.nativeMcp?.dispose() ?? this.disposal;
|
|
290
|
+
void this.disposal.catch(() => { });
|
|
270
291
|
this.lifetime.abort();
|
|
271
292
|
this.ready = false;
|
|
272
293
|
this.toolAccessEnabled = false;
|
|
@@ -278,6 +299,11 @@ export class JarvisSideSessionRuntime {
|
|
|
278
299
|
this.session = undefined;
|
|
279
300
|
}
|
|
280
301
|
async initialize(options) {
|
|
302
|
+
const assertInitializing = () => {
|
|
303
|
+
if (this.lifetime.signal.aborted)
|
|
304
|
+
throw new Error("/jarvis initialization cancelled: runtime was disposed.");
|
|
305
|
+
};
|
|
306
|
+
assertInitializing();
|
|
281
307
|
const sideSessionManager = SessionManager.open(options.sessionFile, dirname(options.sessionFile), options.cwd);
|
|
282
308
|
const persistedContext = sideSessionManager.buildSessionContext();
|
|
283
309
|
const hadExistingEntries = sideSessionManager.getEntries().length > 0;
|
|
@@ -290,10 +316,17 @@ export class JarvisSideSessionRuntime {
|
|
|
290
316
|
assertSupportedSideModel(options.modelRegistry.find(persistedContext.model.provider, persistedContext.model.modelId));
|
|
291
317
|
}
|
|
292
318
|
const { modelRuntime, sync } = await createSideModelRuntime(options.modelRegistry);
|
|
319
|
+
assertInitializing();
|
|
293
320
|
this.syncHostModels = sync;
|
|
294
321
|
const settingsManager = SettingsManager.create(options.cwd, getAgentDir(), {
|
|
295
322
|
projectTrusted: options.projectTrusted ?? false,
|
|
296
323
|
});
|
|
324
|
+
this.nativeMcp = new NativeMcpController({
|
|
325
|
+
hasToolAccess,
|
|
326
|
+
lifetimeSignal: this.lifetime.signal,
|
|
327
|
+
mcpOptions: options.nativeMcpOptions,
|
|
328
|
+
onChange: () => { this.syncActiveTools?.(); this.bridge.refresh(); },
|
|
329
|
+
});
|
|
297
330
|
const resourceLoader = new DefaultResourceLoader({
|
|
298
331
|
cwd: options.cwd,
|
|
299
332
|
agentDir: getAgentDir(),
|
|
@@ -305,10 +338,13 @@ export class JarvisSideSessionRuntime {
|
|
|
305
338
|
mode: options.jarvisModelModeProvider?.() ?? "follow-main",
|
|
306
339
|
}), hasToolAccess, (refreshActiveTools) => {
|
|
307
340
|
this.syncActiveTools = refreshActiveTools;
|
|
308
|
-
}, options.communicationPermissionsProvider, options.sendFollowUpToMain, options.confirmSteerToMain, options.sendSteerToMain, hasConversationHistory, this.lifetime.signal),
|
|
341
|
+
}, options.communicationPermissionsProvider, options.sendFollowUpToMain, options.confirmSteerToMain, options.sendSteerToMain, hasConversationHistory, this.lifetime.signal, this.nativeMcp),
|
|
342
|
+
// Permission preflight is registered BEFORE native await/connect hooks.
|
|
343
|
+
this.nativeMcp.extensionFactory,
|
|
309
344
|
],
|
|
310
345
|
});
|
|
311
346
|
await resourceLoader.reload();
|
|
347
|
+
assertInitializing();
|
|
312
348
|
// Pi 1 executes tool batches in parallel by default. Serialize side tools
|
|
313
349
|
// and gate execute(), not only declarations/preflight: permissions may be
|
|
314
350
|
// revoked after a call was prepared but before it starts executing.
|
|
@@ -343,6 +379,10 @@ export class JarvisSideSessionRuntime {
|
|
|
343
379
|
resourceLoader,
|
|
344
380
|
sessionManager: sideSessionManager,
|
|
345
381
|
});
|
|
382
|
+
if (this.lifetime.signal.aborted) {
|
|
383
|
+
session.dispose();
|
|
384
|
+
assertInitializing();
|
|
385
|
+
}
|
|
346
386
|
this.session = session;
|
|
347
387
|
await session.bindExtensions({
|
|
348
388
|
uiContext: createSideUiContext(this.bridge, options.themeProvider),
|
|
@@ -350,11 +390,13 @@ export class JarvisSideSessionRuntime {
|
|
|
350
390
|
this.bridge.notify(`Side extension error: ${error.error}`, "error");
|
|
351
391
|
},
|
|
352
392
|
});
|
|
393
|
+
assertInitializing();
|
|
353
394
|
this.syncActiveTools?.();
|
|
354
395
|
if (options.model && hadExistingEntries) {
|
|
355
396
|
const previousModel = persistedContext.model;
|
|
356
397
|
if (!previousModel || previousModel.provider !== options.model.provider || previousModel.modelId !== options.model.id) {
|
|
357
398
|
await session.setModel(options.model);
|
|
399
|
+
assertInitializing();
|
|
358
400
|
}
|
|
359
401
|
}
|
|
360
402
|
if (options.thinkingLevel && persistedContext.thinkingLevel !== options.thinkingLevel) {
|
|
@@ -522,7 +564,7 @@ function truncateTreeText(text, maxLength = 96) {
|
|
|
522
564
|
}
|
|
523
565
|
return normalized.length > maxLength ? `${normalized.slice(0, maxLength - 1)}…` : normalized;
|
|
524
566
|
}
|
|
525
|
-
function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarvisModelState, hasToolAccess, bindActiveToolsSync, getCommunicationPermissions, sendFollowUpToMain, confirmSteerToMain, sendSteerToMain, hasConversationHistory, lifetimeSignal) {
|
|
567
|
+
function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarvisModelState, hasToolAccess, bindActiveToolsSync, getCommunicationPermissions, sendFollowUpToMain, confirmSteerToMain, sendSteerToMain, hasConversationHistory, lifetimeSignal, nativeMcp) {
|
|
526
568
|
let previousMainContext;
|
|
527
569
|
const followUpToolName = "jarvis_send_follow_up_to_main";
|
|
528
570
|
const steerToolName = "jarvis_send_steer_to_main";
|
|
@@ -559,7 +601,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
|
|
|
559
601
|
/\bexplicit approval\b/i,
|
|
560
602
|
];
|
|
561
603
|
const getMainAgentName = () => extractPrimaryAssistantName(getMainSystemPrompt());
|
|
562
|
-
const getInheritedMainSystemPrompt = () => stripInheritedSections(getMainSystemPrompt()
|
|
604
|
+
const getInheritedMainSystemPrompt = () => stripInheritedSections(stripMcpServerSection(getMainSystemPrompt()), inheritedSectionsToStrip)
|
|
563
605
|
.split(/\r?\n/)
|
|
564
606
|
.filter((line) => !inheritedLineBlocklist.some((pattern) => pattern.test(line)))
|
|
565
607
|
.map((line) => line
|
|
@@ -602,7 +644,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
|
|
|
602
644
|
const permissions = getCommunicationPermissions();
|
|
603
645
|
const activeToolNames = [];
|
|
604
646
|
if (hasToolAccess()) {
|
|
605
|
-
activeToolNames.push(...OPTIONAL_SIDE_TOOL_NAMES);
|
|
647
|
+
activeToolNames.push(...OPTIONAL_SIDE_TOOL_NAMES, ...(nativeMcp?.getActiveToolNames() ?? []));
|
|
606
648
|
}
|
|
607
649
|
if (permissions.allowFollowUpToMain) {
|
|
608
650
|
activeToolNames.push(followUpToolName);
|
|
@@ -614,7 +656,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
|
|
|
614
656
|
return activeToolNames.filter((toolName) => availableToolNames.has(toolName));
|
|
615
657
|
};
|
|
616
658
|
const getToolAccessPrompt = () => hasToolAccess()
|
|
617
|
-
? "Local /jarvis tool access for this turn:\n- Repo and system tools are enabled right now. You may use read, bash, edit, and write if those tools are active. MCP
|
|
659
|
+
? "Local /jarvis tool access for this turn:\n- Repo and system tools are enabled right now. You may use read, bash, edit, and write if those tools are active. Native Pi MCP shares this permission; use active direct tools, tool_search, or codemode as configured. MCP tools and resources belong to this isolated side session, not the main session. Use main Pi /mcp to manage server configuration and authentication."
|
|
618
660
|
: "Local /jarvis tool access for this turn:\n- Repo and system tools are disabled right now. Use the injected context and bridge tools only.";
|
|
619
661
|
const getCommunicationPrompt = () => {
|
|
620
662
|
const permissions = getCommunicationPermissions();
|
|
@@ -757,7 +799,7 @@ function createSideExtensionFactory(getMainSystemPrompt, getMainContext, getJarv
|
|
|
757
799
|
if (!getCommunicationPermissions().allowSteerToMain)
|
|
758
800
|
return { block: true, reason: "Main-session redirects are disabled." };
|
|
759
801
|
}
|
|
760
|
-
else if (!hasToolAccess() || !OPTIONAL_SIDE_TOOL_NAMES.some((name) => name === event.toolName)) {
|
|
802
|
+
else if (!hasToolAccess() || (!OPTIONAL_SIDE_TOOL_NAMES.some((name) => name === event.toolName) && !nativeMcp?.isToolAvailable(event.toolName))) {
|
|
761
803
|
return { block: true, reason: "/jarvis local tool is disabled or unsupported." };
|
|
762
804
|
}
|
|
763
805
|
});
|
package/dist/side-session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-session.js","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"side-session.js","sourceRoot":"","sources":["../side-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,GAOX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,MAAM,kBAAkB,GAAG;;;;;;;CAO1B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,yBAAyB,GAAG,uGAAuG,CAAC;AAC1I,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAqC5E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAuC;IACnF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;QAC9C,WAAW,EAAE,IAAI,uBAAuB,EAAE;QAC1C,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,KAAK;KACtB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,EAAE,QAAqB,EAAE,EAAE;QAC5C,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;YAC3B,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC/C,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YACjC,MAAM,QAAQ,GAAa;gBAC1B,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACrC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC;gBACrG,uEAAuE;gBACvE,IAAI,EAAE,EAAE,MAAM,EAAE;wBACf,IAAI,EAAE,6BAA6B;wBACnC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;4BAC3B,MAAM,CAAC,cAAc,EAAE,CAAC;4BACxB,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpF,CAAC;wBACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;4BAC7B,MAAM,CAAC,cAAc,EAAE,CAAC;4BACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;4BAC5C,MAAM,CAAC,cAAc,EAAE,CAAC;4BACxB,OAAO,IAAI,CAAC;wBACb,CAAC;qBACD,EAAE;gBACH,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAmB,KAAK,EAAE,OAAO,EAAE,OAA+D,CAAC;gBACnJ,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;aACrF,CAAC;YACF,YAAY,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC9C,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,6EAA6E;IAC7E,yEAAyE;IACzE,YAAY,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjD,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,YAAY,CAAC,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACvD,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA6B;IAC9D,IAAI,KAAK,EAAE,GAAG,KAAK,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,6FAA6F,CAAC,CAAC;IAC9K,CAAC;AACF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,WAAmB,WAAW,EAAE;IACtF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,YAAY,IAAI,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IAC/D,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACtD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,OAAO,wBAAwB;IAuBlB;IAtBT,MAAM,CAAsB;IAE7B,OAAO,CAAqB;IAC5B,WAAW,CAAc;IACzB,cAAc,GAAyB,EAAE,CAAC;IAC1C,kBAAkB,GAAyB,EAAE,CAAC;IAC9C,kBAAkB,CAAoB;IACtC,kBAAkB,CAAU;IAC5B,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,SAAS,CAAU;IACnB,KAAK,GAAG,KAAK,CAAC;IACd,UAAU,GAAG,mBAAmB,CAAC;IACjC,sBAAsB,GAAG,KAAK,CAAC;IAC/B,iBAAiB,GAAG,KAAK,CAAC;IAC1B,cAAc,CAAyC;IAC9C,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,eAAe,CAAc;IAC7B,SAAS,CAAuB;IAChC,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEpD,YACC,MAA2B,EACV,aAAwD;QAAxD,kBAAa,GAAb,aAAa,CAA2C;QAEzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAiC;QACpD,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC;IAC3C,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,uBAAuB;QACtB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,OAAO,gBAAgB,CAAC;QACzB,CAAC;QACD,OAAO,0BAA0B,CAAC;IACnC,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACzC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,KAAK,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7I,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;IAC1B,CAAC;IAED,4EAA4E;IAC5E,uBAAuB;QACtB,OAAO,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;IAED,8EAA8E;IAC9E,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,iBAAiB;QAChB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAEtF,IAAI,IAAI,CAAC,kBAAkB,IAAI,eAAe,EAAE,IAAI,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpE,IAAI,aAAa,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,sBAAsB;oBAChC,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,sFAAsF;aACzF,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;gBAAE,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YAC1E,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,kBAA2B;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACrD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;gBAAE,OAAO;YACrC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;YACjI,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,UAAU,GAAG,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACV,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC;IACF,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,QAAgB,EAChB,UAAgE,EAAE;QAElE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO;QACrC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,QAAQ,0DAA0D,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9H,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,qCAAqC,QAAQ,GAAG,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA6B,EAAE,aAAiC;QAC/E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QACrE,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;YAC3F,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;YACtE,CAAC;QACF,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAoB,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACN,4EAA4E;QAC5E,mEAAmE;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC3D,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAiC;QACzD,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC9G,CAAC,CAAC;QACF,kBAAkB,EAAE,CAAC;QACrB,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/G,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;QAClE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACpH,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC;QAClH,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9C,wBAAwB,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnF,kBAAkB,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;YAC1E,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;SAC/C,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAmB,CAAC;YACxC,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YACpC,UAAU,EAAE,OAAO,CAAC,gBAAgB;YACpC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SACpE,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAAC;YAChD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,WAAW,EAAE;YACvB,YAAY,EAAE,IAAI;YAClB,eAAe;YACf,kBAAkB,EAAE;gBACnB,0BAA0B,CACzB,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,mBAAmB,EAC3B,GAAG,EAAE,CAAC,CAAC;oBACN,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;oBACvD,IAAI,EAAE,OAAO,CAAC,uBAAuB,EAAE,EAAE,IAAI,aAAa;iBAC1D,CAAC,EACF,aAAa,EACb,CAAC,kBAAkB,EAAE,EAAE;oBACtB,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;gBAC3C,CAAC,EACD,OAAO,CAAC,gCAAgC,EACxC,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,eAAe,EACvB,sBAAsB,EACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,SAAS,CACd;gBACD,wEAAwE;gBACxE,IAAI,CAAC,SAAS,CAAC,gBAAgB;aAC/B;SACD,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAC9B,kBAAkB,EAAE,CAAC;QAErB,0EAA0E;QAC1E,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,UAAU,GAAqB;YACpC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAC7G,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChD,aAAa,EAAE,eAAe,CAAC,qBAAqB,EAAE;gBACtD,SAAS,EAAE,eAAe,CAAC,YAAY,EAAE;aACzC,CAAC,CAAC;YACH,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,UAAU,CAAC,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAClD,CAAC;QACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC;YACnE,GAAG,IAAI;YACP,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;gBACpD,IAAI,CAAC,aAAa,EAAE,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC;SACD,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAClE,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,WAAW,EAAE;YACvB,YAAY;YACZ,eAAe;YACf,WAAW,EAAE,iBAAiB;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAoB;YAC3C,cAAc;YACd,cAAc,EAAE,kBAAkB;SAClC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,OAAO,CAAC,cAAc,CAAC;YAC5B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;YAClE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;SACD,CAAC,CAAC;QACH,kBAAkB,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QAEzB,IAAI,OAAO,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC;YAC7C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACvH,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtC,kBAAkB,EAAE,CAAC;YACtB,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,IAAI,gBAAgB,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;YACvF,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAoB,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;QACtC,IAAI,oBAAoB,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,KAAwB;QAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,aAAa;gBACjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM;YACP,KAAK,kBAAkB;gBACtB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;gBACrD,MAAM;YACP,KAAK,gBAAgB;gBACpB,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;gBACxD,CAAC;qBAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACP,KAAK,kBAAkB;gBACtB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;gBAC3F,MAAM;YACP,KAAK,gBAAgB;gBACpB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU;oBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChF,MAAM;YACP,KAAK,WAAW;gBACf,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM;YACP,KAAK,eAAe;gBACnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM;YACP,KAAK,eAAe;gBACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;gBACzC,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB;gBACpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACxC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;gBACzC,CAAC;gBACD,MAAM;YACP,KAAK,aAAa;gBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACxC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;oBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY;wBAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM;YACP,KAAK,sBAAsB;gBAC1B,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzF,CAAC;gBACD,MAAM;YACP,KAAK,oBAAoB;gBACxB,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM;QACR,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEO,cAAc;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,kBAAkB,IAAI,eAAe,EAAE,IAAI,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClF,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAEO,sBAAsB;QAC7B,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;CACD;AAED,SAAS,qBAAqB,CAAC,IAA2B,EAAE,MAAqB;IAChF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,6CAA6C,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAG;QACb,uBAAuB;QACvB,gIAAgI;KAChI,CAAC;IACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CACjC,KAAe,EACf,IAAyB,EACzB,MAAqB,EACrB,MAAc,EACd,MAAe;IAEf,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjI,MAAM,WAAW,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClH,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAmB;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,SAAS,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,cAAc,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAA2B,CAAC,CAAC,EAAE,CAAC;YAClG,CAAC;YACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3B,OAAO,gBAAgB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjD,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,KAAK,YAAY;YAChB,OAAO,eAAe,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,KAAK,gBAAgB;YACpB,OAAO,mBAAmB,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,KAAK,gBAAgB;YACpB,OAAO,WAAW,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,cAAc;YAClB,OAAO,UAAU,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACpD,KAAK,uBAAuB;YAC3B,OAAO,aAAa,KAAK,CAAC,aAAa,EAAE,CAAC;QAC3C,KAAK,cAAc;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC5D,KAAK,OAAO;YACX,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAChE,KAAK,QAAQ;YACZ,OAAO,WAAW,KAAK,CAAC,UAAU,EAAE,CAAC;QACtC;YACC,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,SAAS,GAAG,EAAE;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9F,CAAC;AAED,SAAS,0BAA0B,CAClC,mBAAqE,EACrE,cAA+D,EAC/D,mBAAuF,EACvF,aAA6D,EAC7D,mBAA6D,EAC7D,2BAAyF,EACzF,kBAAkE,EAClE,kBAAkE,EAClE,eAA4D,EAC5D,sBAA2E,EAC3E,cAA4B,EAC5B,SAA+E;IAE/E,IAAI,mBAA0D,CAAC;IAC/D,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;IACzD,MAAM,aAAa,GAAG,2BAA2B,CAAC;IAClD,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,eAAoC,EAAU,EAAE;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,OAAO,KAAK;aACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC9C,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3C,OAAO,CAAC,WAAW,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,WAAW,CAAC;QACrB,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,oCAAoC;SACjD,CAAC;KACF,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,CAAC,MAAwC,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,MAAM,EAAE;KACnB,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3I,MAAM,sBAAsB,GAAG;QAC9B,2CAA2C;QAC3C,mCAAmC;QACnC,YAAY;QACZ,wBAAwB;KACxB,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,2BAA2B,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClF,MAAM,4BAA4B,GAAG,GAAG,EAAE,CACzC,sBAAsB,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,CAAC,EAAE,wBAAwB,CAAC;SAC5F,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,IAAI;SACF,OAAO,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;SACrD,OAAO,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,CACjE;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC9B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACN,+CAA+C;YAC/C,wBAAwB;YACxB,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;gBAChD,CAAC,CAAC,mDAAmD,aAAa,2BAA2B,aAAa,sCAAsC;gBAChJ,CAAC,CAAC,EAAE;YACL,mFAAmF;YACnF,kHAAkH;YAClH,uFAAuF;YACvF,6GAA6G;SAC7G;aACC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACjC;QACC,oDAAoD;QACpD,yJAAyJ;QACzJ,yHAAyH;QACzH,yGAAyG;QACzG,yFAAyF;QACzF,0HAA0H;QAC1H,uGAAuG;KACvG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACjG,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3F,MAAM,4BAA4B,GAAG,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5G,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,EAAgB,EAAE,EAAE;QAC/C,MAAM,WAAW,GAAG,2BAA2B,EAAE,CAAC;QAClD,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,aAAa,EAAE,EAAE,CAAC;YACrB,eAAe,CAAC,IAAI,CAAC,GAAG,wBAAwB,EAAE,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACrC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAClC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAChC,aAAa,EAAE;QACd,CAAC,CAAC,4ZAA4Z;QAC9Z,CAAC,CAAC,2IAA2I,CAAC;IAChJ,MAAM,sBAAsB,GAAG,GAAG,EAAE;QACnC,MAAM,WAAW,GAAG,2BAA2B,EAAE,CAAC;QAClD,OAAO;YACN,wDAAwD;YACxD,WAAW,CAAC,mBAAmB;gBAC9B,CAAC,CAAC,KAAK,GAAG,gBAAgB,GAAG,mFAAmF;gBAChH,CAAC,CAAC,KAAK,GAAG,gBAAgB,GAAG,0GAA0G;YACxI,WAAW,CAAC,gBAAgB;gBAC3B,CAAC,CAAC,KAAK,GAAG,aAAa,GAAG,4HAA4H;gBACtJ,CAAC,CAAC,KAAK,GAAG,aAAa,GAAG,gJAAgJ;SAC3K,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC;IACF,MAAM,0BAA0B,GAAG,CAAC,kBAA6C,EAAU,EAAE;QAC5F,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,OAAO;gBACN,sCAAsC;gBACtC,iCAAiC;aACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,kBAAkB,CAAC,OAAO,CAAC,cAAc,KAAK,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,yBAAyB,mBAAmB,CAAC,OAAO,CAAC,cAAc,OAAO,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QACrI,CAAC;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,UAAU,KAAK,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,0BAA0B,mBAAmB,CAAC,OAAO,CAAC,UAAU,OAAO,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9H,CAAC;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,KAAK,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAChH,OAAO,CAAC,IAAI,CAAC,oBAAoB,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,OAAO,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;QAClJ,CAAC;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,yBAAyB,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,KAAK,mBAAmB,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACpJ,OAAO,CAAC,IAAI,CAAC,uBAAuB,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC1J,OAAO,CAAC,IAAI,CAAC,2BAA2B,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO;YACN,sCAAsC;YACtC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC;SAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC,CAAC;IACF,MAAM,4BAA4B,GAAG,CAAC,WAAsC,EAAE,wBAAgC,EAAE,EAAE,CACjH;QACC,sDAAsD;QACtD,qHAAqH;QACrH,wHAAwH;QACxH,qEAAqE;QACrE,4BAA4B,CAAC,0BAA0B,EAAE,WAAW,CAAC,aAAa,CAAC;QACnF,4BAA4B,CAAC,4CAA4C,EAAE,wBAAwB,CAAC;QACpG,4BAA4B,CAAC,+BAA+B,EAAE,WAAW,CAAC,WAAW,CAAC;QACtF,4BAA4B,CAAC,wCAAwC,EAAE,WAAW,CAAC,UAAU,CAAC;KAC9F,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,CAAC,EAAgB,EAAQ,EAAE;QACjC,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC/B,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QAExC,EAAE,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,iKAAiK;YAC9K,aAAa,EAAE,gBAAgB,GAAG,mFAAmF;YACrH,gBAAgB,EAAE;gBACjB,yFAAyF;gBACzF,8EAA8E;aAC9E;YACD,UAAU,EAAE,cAAc;YAC1B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM;gBACxC,IAAI,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO;oBAAE,OAAO,gBAAgB,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;gBACrH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,gBAAgB,CAAC,SAAS,EAAE,0DAA0D,CAAC,CAAC;gBAChG,CAAC;gBACD,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,OAAO,gBAAgB,CAAC,SAAS,EAAE,gEAAgE,CAAC,CAAC;gBACtG,CAAC;gBACD,IAAI,CAAC,2BAA2B,EAAE,CAAC,mBAAmB,EAAE,CAAC;oBACxD,OAAO,gBAAgB,CAAC,SAAS,EAAE,+DAA+D,CAAC,CAAC;gBACrG,CAAC;gBACD,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC5B,OAAO,gBAAgB,CAAC,MAAM,EAAE,2CAA2C,GAAG,OAAO,CAAC,CAAC;YACxF,CAAC;SACD,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,2BAA2B;YAClC,WAAW,EAAE,yKAAyK;YACtL,aAAa,EAAE,aAAa,GAAG,qEAAqE;YACpG,gBAAgB,EAAE;gBACjB,4FAA4F;gBAC5F,8EAA8E;aAC9E;YACD,UAAU,EAAE,cAAc;YAC1B,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM;gBACxC,IAAI,MAAM,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO;oBAAE,OAAO,gBAAgB,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;gBACrH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,gBAAgB,CAAC,SAAS,EAAE,yDAAyD,CAAC,CAAC;gBAC/F,CAAC;gBACD,IAAI,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,OAAO,gBAAgB,CAAC,SAAS,EAAE,wFAAwF,CAAC,CAAC;gBAC9H,CAAC;gBACD,IAAI,CAAC,2BAA2B,EAAE,CAAC,gBAAgB,EAAE,CAAC;oBACrD,OAAO,gBAAgB,CAAC,SAAS,EAAE,8CAA8C,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,cAAc;oBAClD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC;gBACxE,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;gBACjG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,OAAO,gBAAgB,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,kBAAkB,EAAE,OAAO;oBAAE,OAAO,gBAAgB,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;gBACtH,IAAI,CAAC,2BAA2B,EAAE,CAAC,gBAAgB,EAAE,CAAC;oBACrD,OAAO,gBAAgB,CAAC,SAAS,EAAE,kEAAkE,CAAC,CAAC;gBACxG,CAAC;gBACD,eAAe,CAAC,OAAO,CAAC,CAAC;gBACzB,OAAO,gBAAgB,CAAC,MAAM,EAAE,0CAA0C,GAAG,OAAO,CAAC,CAAC;YACvF,CAAC;SACD,CAAC,CAAC;QAEH,0EAA0E;QAC1E,wEAAwE;QACxE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,cAAc,EAAE,OAAO;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;YAC1F,IAAI,KAAK,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACzC,IAAI,CAAC,2BAA2B,EAAE,CAAC,mBAAmB;oBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;YAC5H,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC7C,IAAI,CAAC,2BAA2B,EAAE,CAAC,gBAAgB;oBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;YAC7H,CAAC;iBAAM,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACnJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;YAClF,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YACjC,kBAAkB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YACtC,kBAAkB,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;YACrC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;YAC/C,MAAM,iBAAiB,GACtB,gBAAgB,CAAC,IAAI,KAAK,aAAa;gBACtC,CAAC,CAAC,gCAAgC,gBAAgB,CAAC,gBAAgB,yBAAyB;gBAC5F,CAAC,CAAC,gCAAgC,gBAAgB,CAAC,gBAAgB,oBAAoB,CAAC;YAC1F,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG;gBACpB,4BAA4B,EAAE;gBAC9B,iBAAiB,EAAE;gBACnB,oBAAoB,EAAE;gBACtB,iBAAiB;gBACjB,kBAAkB;gBAClB,mBAAmB,EAAE;gBACrB,iBAAiB;gBACjB,sBAAsB,EAAE;gBACxB,4BAA4B,CAAC,WAAW,EAAE,wBAAwB,CAAC;aACnE;iBACC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;iBACvC,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,mBAAmB,GAAG,WAAW,CAAC;YAClC,OAAO,EAAE,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC3B,MAA2B,EAC3B,aAAoD;IAEpD,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,OAAO;QACN,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC7B,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QAC1B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC5B,MAAM,EAAE,CAAC,OAAe,EAAE,IAAmC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;QACxG,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;QAC/B,SAAS,EAAE,CAAC,GAAW,EAAE,IAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC;QACjF,iBAAiB,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC1E,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC3B,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC7B,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;QAChC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;QACnB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;QACnB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;QACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,MAAM,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC/E,CAAC;QACD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE;YAC/B,UAAU,IAAI,IAAI,CAAC;QACpB,CAAC;QACD,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE;YAC/B,UAAU,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,aAAa,EAAE,GAAG,EAAE,CAAC,UAAU;QAC/B,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC7B,uBAAuB,EAAE,GAAG,EAAE,GAAE,CAAC;QACjC,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;QACnC,IAAI,KAAK;YACR,OAAO,aAAa,EAAE,CAAC;QACxB,CAAC;QACD,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;QACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;QAC7F,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC7B,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;KAC1B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,OAAe,EACf,OAAuD,EACvD,MAAoB;IAEpB,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,OAAO,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;QAChD,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,YAAoB;IACxD,KAAK,MAAM,OAAO,IAAI,CAAC,gCAAgC,EAAE,qCAAqC,CAAC,EAAE,CAAC;QACjG,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA6B;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgB;IAC3C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,OAAO;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,KAAK,GAAG,KAA4D,CAAC;QAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,SAAS,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAyB;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,4BAA4B,CAClC,OAAO;SACL,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CACd,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IACjD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,qBAAqB,GAAG,IAAI,CAAC;YAC7B,sBAAsB,GAAG,CAAC,CAAC;YAC3B,mBAAmB,GAAG,KAAK,CAAC;YAC5B,SAAS;QACV,CAAC;QACD,IAAI,qBAAqB,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,qBAAqB,GAAG,KAAK,CAAC;gBAC9B,sBAAsB,GAAG,CAAC,CAAC;gBAC3B,mBAAmB,GAAG,KAAK,CAAC;gBAC5B,SAAS;YACV,CAAC;YACD,IAAI,CAAC,mBAAmB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,qBAAqB,GAAG,KAAK,CAAC;gBAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,SAAS;YACV,CAAC;YACD,mBAAmB,GAAG,IAAI,CAAC;YAC3B,sBAAsB,GAAG,oBAAoB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;YAC/E,IAAI,sBAAsB,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,qBAAqB,GAAG,KAAK,CAAC;gBAC9B,mBAAmB,GAAG,KAAK,CAAC;YAC7B,CAAC;YACD,SAAS;QACV,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAY;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,mHAAmH,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChM,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB,EAAE,IAAY;IAC/D,IAAI,KAAK,GAAG,YAAY,CAAC;IACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClB,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,SAAS;QACV,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACd,SAAS;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAiB;IACxD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,qDAAqD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,IAAyC;IAClF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,OAAO,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,IAAI,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;IACF,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,OAAO,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAY;IAC5C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,CAAC,CAAC;YACb,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAyB,EAAE,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjF,CAAC;YACF,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1F,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oBAAoB,EAAE,CAAC,CAAC;QACxH,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,CAAC;QACD,KAAK,mBAAmB;YACvB,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,KAAK,eAAe;YACnB,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzE,KAAK,eAAe,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC;YACnH,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpH,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD;YACC,OAAO,EAAE,CAAC;IACZ,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-jarvis",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=22.19.0"
|
|
6
6
|
},
|
|
@@ -48,8 +48,9 @@
|
|
|
48
48
|
"build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.build.json",
|
|
49
49
|
"check": "tsc --noEmit",
|
|
50
50
|
"prepack": "npm run build",
|
|
51
|
-
"test": "npm run check && node --import tsx --test test/jarvis.test.ts test/config-regression.test.ts test/index-regression.test.ts test/main-context-regression.test.ts test/overlay-regression.test.ts test/side-runtime.test.ts test/editor-polish.test.ts test/layout-polish.test.ts test/scroll-polish.test.ts test/status-polish.test.ts test/ux-polish.test.ts",
|
|
52
|
-
"verify:release": "node --import tsx test/release-verification.test.ts"
|
|
51
|
+
"test": "npm run check && node --import tsx --test test/jarvis.test.ts test/config-regression.test.ts test/index-regression.test.ts test/main-context-regression.test.ts test/overlay-regression.test.ts test/side-runtime.test.ts test/editor-polish.test.ts test/layout-polish.test.ts test/scroll-polish.test.ts test/status-polish.test.ts test/ux-polish.test.ts test/native-mcp.test.ts test/release-automation.test.ts",
|
|
52
|
+
"verify:release": "node --import tsx test/release-verification.test.ts",
|
|
53
|
+
"check:tags": "node scripts/check-tags.mjs"
|
|
53
54
|
},
|
|
54
55
|
"peerDependencies": {
|
|
55
56
|
"@earendil-works/pi-ai": "*",
|