@true-and-useful/janee 0.9.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -1
- package/SKILL.md +24 -0
- package/dist/cli/commands/serve-mcp.d.ts.map +1 -1
- package/dist/cli/commands/serve-mcp.js +6 -5
- package/dist/cli/commands/serve-mcp.js.map +1 -1
- package/dist/cli/config-yaml.d.ts +4 -0
- package/dist/cli/config-yaml.d.ts.map +1 -1
- package/dist/cli/config-yaml.js.map +1 -1
- package/dist/core/agent-scope.d.ts.map +1 -1
- package/dist/core/agent-scope.js +9 -4
- package/dist/core/agent-scope.js.map +1 -1
- package/dist/core/mcp-server.d.ts +25 -8
- package/dist/core/mcp-server.d.ts.map +1 -1
- package/dist/core/mcp-server.js +136 -44
- package/dist/core/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
| 🔌 **Works with any MCP client** | Claude Desktop, Cursor, OpenClaw, and more |
|
|
23
23
|
| 🏠 **Local-first** | Keys encrypted on your machine, never sent to a cloud |
|
|
24
24
|
| 🖥️ **Exec mode** | Run CLI tools with injected credentials — agents never see the keys |
|
|
25
|
+
| 🤖 **GitHub App auth** | Short-lived tokens for autonomous agents — no static PATs |
|
|
25
26
|
|
|
26
27
|
---
|
|
27
28
|
|
|
@@ -176,6 +177,51 @@ Janee spawns the process with `TWITTER_API_KEY` injected, runs the command, and
|
|
|
176
177
|
- `--work-dir` — working directory for the subprocess
|
|
177
178
|
- `--timeout` — max execution time (default: 30s)
|
|
178
179
|
|
|
180
|
+
|
|
181
|
+
### Add GitHub App auth (for autonomous agents)
|
|
182
|
+
|
|
183
|
+
Static tokens are risky for long-running agents. GitHub App auth generates short-lived installation tokens on demand — no long-lived PATs required.
|
|
184
|
+
|
|
185
|
+
**Option 1: Use create-gh-app (recommended)**
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
npx @true-and-useful/create-gh-app create my-agent --owner @me
|
|
189
|
+
# Opens browser → creates app → saves credentials locally
|
|
190
|
+
|
|
191
|
+
# Install the app on your repos
|
|
192
|
+
# https://github.com/apps/my-agent/installations/new
|
|
193
|
+
|
|
194
|
+
# Register with Janee in one command
|
|
195
|
+
npx @true-and-useful/create-gh-app janee-add my-agent
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Done. Your agent now gets short-lived GitHub tokens through Janee's MCP proxy.
|
|
199
|
+
|
|
200
|
+
**Option 2: Manual setup**
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
janee add github-app \
|
|
204
|
+
--auth-type github-app \
|
|
205
|
+
--app-id 123456 \
|
|
206
|
+
--pem-file /path/to/private-key.pem \
|
|
207
|
+
--installation-id 789
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Or via config:
|
|
211
|
+
|
|
212
|
+
```yaml
|
|
213
|
+
services:
|
|
214
|
+
github:
|
|
215
|
+
baseUrl: https://api.github.com
|
|
216
|
+
auth:
|
|
217
|
+
type: github-app
|
|
218
|
+
appId: "123456"
|
|
219
|
+
pemFile: /path/to/private-key.pem
|
|
220
|
+
installationId: "789"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**How it works:** When an agent requests access, Janee signs a JWT with the app's private key, exchanges it for a 1-hour installation token via GitHub's API, and caches the token until expiry. The agent never sees the private key — only the short-lived token reaches the API.
|
|
224
|
+
|
|
179
225
|
### Start the MCP server
|
|
180
226
|
|
|
181
227
|
```bash
|
|
@@ -257,6 +303,7 @@ Janee exposes three MCP tools:
|
|
|
257
303
|
| `list_services` | Discover available APIs and their policies |
|
|
258
304
|
| `execute` | Make an API request through Janee (HTTP proxy mode) |
|
|
259
305
|
| `exec` | Run a CLI command with injected credentials (exec mode) |
|
|
306
|
+
| `manage_credential` | View, grant, or revoke access to agent-scoped credentials |
|
|
260
307
|
| `reload_config` | Reload config from disk after adding/removing services (available when started with `janee serve`) |
|
|
261
308
|
|
|
262
309
|
Agents discover what's available, then call APIs through Janee. Same audit trail, same protection.
|
|
@@ -299,6 +346,33 @@ capabilities:
|
|
|
299
346
|
**Services** = Real APIs with real keys
|
|
300
347
|
**Capabilities** = What agents can request, with policies
|
|
301
348
|
|
|
349
|
+
### Access control
|
|
350
|
+
|
|
351
|
+
Control which agents can use which capabilities:
|
|
352
|
+
|
|
353
|
+
```yaml
|
|
354
|
+
server:
|
|
355
|
+
host: localhost
|
|
356
|
+
defaultAccess: restricted # capabilities require explicit allowlist
|
|
357
|
+
|
|
358
|
+
capabilities:
|
|
359
|
+
stripe:
|
|
360
|
+
service: stripe
|
|
361
|
+
ttl: 1h
|
|
362
|
+
allowedAgents: ["agent-a", "agent-b"] # only these agents can use it
|
|
363
|
+
|
|
364
|
+
github:
|
|
365
|
+
service: github
|
|
366
|
+
ttl: 1h
|
|
367
|
+
# no allowedAgents + defaultAccess: restricted → no agent can use this
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
- **`defaultAccess: restricted`** — capabilities without an `allowedAgents` list are hidden from all agents
|
|
371
|
+
- **`defaultAccess: open`** (default) — capabilities without an `allowedAgents` list are available to all agents
|
|
372
|
+
- **`allowedAgents`** — per-capability list of agent names (matched against `clientInfo.name` from the MCP initialize handshake)
|
|
373
|
+
|
|
374
|
+
Credentials created by agents at runtime default to `agent-only` access — only the creating agent can use them unless it explicitly grants access via the `manage_credential` tool.
|
|
375
|
+
|
|
302
376
|
### Exec mode capabilities
|
|
303
377
|
|
|
304
378
|
```yaml
|
|
@@ -412,6 +486,9 @@ janee add bybit --auth-type hmac-bybit --key-from-env BYBIT_KEY --secret-from-en
|
|
|
412
486
|
|
|
413
487
|
# HMAC auth with passphrase (OKX)
|
|
414
488
|
janee add okx --auth-type hmac-okx --key-from-env OKX_KEY --secret-from-env OKX_SECRET --passphrase-from-env OKX_PASS
|
|
489
|
+
|
|
490
|
+
# GitHub App auth (short-lived tokens)
|
|
491
|
+
janee add github --auth-type github-app --app-id-from-env GH_APP_ID --pem-from-env GH_PEM --installation-id-from-env GH_INSTALL_ID
|
|
415
492
|
```
|
|
416
493
|
|
|
417
494
|
When all required credentials are provided via flags, Janee:
|
|
@@ -447,7 +524,10 @@ Agent never touches the real key.
|
|
|
447
524
|
## Security
|
|
448
525
|
|
|
449
526
|
- **Encryption**: Keys stored with AES-256-GCM
|
|
450
|
-
- **
|
|
527
|
+
- **Agent identity**: Derived from `clientInfo.name` in the MCP initialize handshake — no custom headers needed
|
|
528
|
+
- **Agent isolation**: Each agent gets its own session with isolated identity (HTTP transport creates a Server+Transport per session)
|
|
529
|
+
- **Access control**: Per-capability `allowedAgents` whitelist + server-wide `defaultAccess` policy
|
|
530
|
+
- **Credential scoping**: Agent-created credentials default to `agent-only`
|
|
451
531
|
- **Audit log**: Every request logged to `~/.janee/logs/`
|
|
452
532
|
- **Sessions**: Time-limited, revocable
|
|
453
533
|
- **Kill switch**: `janee revoke` or delete config
|
package/SKILL.md
CHANGED
|
@@ -42,11 +42,35 @@ Call this first to see what APIs are configured.
|
|
|
42
42
|
|
|
43
43
|
Returns: { status, body }
|
|
44
44
|
|
|
45
|
+
### manage_credential
|
|
46
|
+
|
|
47
|
+
Manage access to agent-scoped credentials.
|
|
48
|
+
|
|
49
|
+
- action (required) — `view`, `grant`, or `revoke`
|
|
50
|
+
- capability (required for grant/revoke) — capability name
|
|
51
|
+
- agentId (required for grant/revoke) — agent to grant/revoke access
|
|
52
|
+
|
|
53
|
+
Only the agent that created a credential can grant or revoke access.
|
|
54
|
+
Credentials created by agents default to `agent-only` — no other agent can use them
|
|
55
|
+
unless the creator explicitly grants access.
|
|
56
|
+
|
|
45
57
|
### reload_config
|
|
46
58
|
|
|
47
59
|
No parameters. Reloads config from disk after adding/removing services.
|
|
48
60
|
Call this after running `janee add` so new services appear in list_services.
|
|
49
61
|
|
|
62
|
+
## Access Control
|
|
63
|
+
|
|
64
|
+
Janee supports capability-level access control. Each agent is identified by its
|
|
65
|
+
`clientInfo.name` from the MCP initialize handshake — no extra headers or args needed.
|
|
66
|
+
|
|
67
|
+
- **`defaultAccess`** (server config): Set to `restricted` so capabilities without an
|
|
68
|
+
explicit allowlist are hidden from all agents. Set to `open` (default) to allow all.
|
|
69
|
+
- **`allowedAgents`** (per capability): An array of agent names that can see and use
|
|
70
|
+
the capability. If omitted and `defaultAccess` is `open`, all agents can access it.
|
|
71
|
+
- **Agent-created credentials**: Default to `agent-only`. The creating agent can use
|
|
72
|
+
`manage_credential` to grant access to others.
|
|
73
|
+
|
|
50
74
|
## Making API Calls
|
|
51
75
|
|
|
52
76
|
1. Call list_services to see available capabilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve-mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serve-mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/serve-mcp.ts"],"names":[],"mappings":"AA2CA,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkPlF"}
|
|
@@ -23,6 +23,7 @@ function loadConfigForMCP() {
|
|
|
23
23
|
autoApprove: cap.autoApprove,
|
|
24
24
|
requiresReason: cap.requiresReason,
|
|
25
25
|
rules: cap.rules,
|
|
26
|
+
allowedAgents: cap.allowedAgents,
|
|
26
27
|
// Exec mode fields (RFC 0001)
|
|
27
28
|
mode: cap.mode || 'proxy',
|
|
28
29
|
allowCommands: cap.allowCommands,
|
|
@@ -65,12 +66,12 @@ async function serveMCPCommand(options = {}) {
|
|
|
65
66
|
const { capabilities, services } = loadConfigForMCP();
|
|
66
67
|
// Keep a mutable reference to services for the onExecute closure
|
|
67
68
|
let currentServices = services;
|
|
68
|
-
|
|
69
|
-
const mcpServer = (0, mcp_server_1.createMCPServer)({
|
|
69
|
+
const serverOptions = {
|
|
70
70
|
capabilities,
|
|
71
71
|
services,
|
|
72
72
|
sessionManager,
|
|
73
73
|
auditLogger,
|
|
74
|
+
defaultAccess: config.server?.defaultAccess,
|
|
74
75
|
// RFC 0001: Secure CLI execution handler
|
|
75
76
|
onExecCommand: async (session, capability, command, stdin) => {
|
|
76
77
|
// Get service config for credentials
|
|
@@ -238,13 +239,13 @@ async function serveMCPCommand(options = {}) {
|
|
|
238
239
|
auditLogger.log(request, response);
|
|
239
240
|
return response;
|
|
240
241
|
}
|
|
241
|
-
}
|
|
242
|
+
};
|
|
242
243
|
// Start server with selected transport
|
|
243
244
|
if (transport === 'http') {
|
|
244
|
-
await (0, mcp_server_1.startMCPServerHTTP)(
|
|
245
|
+
await (0, mcp_server_1.startMCPServerHTTP)(serverOptions, { host, port });
|
|
245
246
|
}
|
|
246
247
|
else {
|
|
247
|
-
await (0, mcp_server_1.startMCPServer)(
|
|
248
|
+
await (0, mcp_server_1.startMCPServer)(serverOptions);
|
|
248
249
|
}
|
|
249
250
|
}
|
|
250
251
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/serve-mcp.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"serve-mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/serve-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ export interface CapabilityConfig {
|
|
|
31
31
|
allow?: string[];
|
|
32
32
|
deny?: string[];
|
|
33
33
|
};
|
|
34
|
+
/** Restrict this capability to specific agent IDs (e.g. ["myapp:worker-1"]) */
|
|
35
|
+
allowedAgents?: string[];
|
|
34
36
|
mode?: 'proxy' | 'exec';
|
|
35
37
|
allowCommands?: string[];
|
|
36
38
|
env?: Record<string, string>;
|
|
@@ -47,6 +49,8 @@ export interface ServerConfig {
|
|
|
47
49
|
host: string;
|
|
48
50
|
logBodies?: boolean;
|
|
49
51
|
strictDecryption?: boolean;
|
|
52
|
+
/** Default access policy for capabilities without allowedAgents: "open" (any agent) or "restricted" (admin-only) */
|
|
53
|
+
defaultAccess?: 'open' | 'restricted';
|
|
50
54
|
}
|
|
51
55
|
export interface JaneeYAMLConfig {
|
|
52
56
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-yaml.d.ts","sourceRoot":"","sources":["../../src/cli/config-yaml.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,mBAAmB,EAA8C,MAAM,qBAAqB,CAAC;AAEtG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;IACxG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-yaml.d.ts","sourceRoot":"","sources":["../../src/cli/config-yaml.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-yaml.js","sourceRoot":"","sources":["../../src/cli/config-yaml.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;
|
|
1
|
+
{"version":3,"file":"config-yaml.js","sourceRoot":"","sources":["../../src/cli/config-yaml.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-scope.d.ts","sourceRoot":"","sources":["../../src/core/agent-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,YAAY,EAAE,YAAY,CAAC;IAC3B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC7E,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"agent-scope.d.ts","sourceRoot":"","sources":["../../src/core/agent-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,YAAY,EAAE,YAAY,CAAC;IAC3B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,EAC7E,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,GAAG,SAAS,CAqBpB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,CAKzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAM1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,mBAAmB,GAAG,SAAS,GACzC,OAAO,CAsBT;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,MAAM,GACpB,mBAAmB,CAerB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,MAAM,GACpB,mBAAmB,CAarB"}
|
package/dist/core/agent-scope.js
CHANGED
|
@@ -46,16 +46,21 @@ exports.revokeAccess = revokeAccess;
|
|
|
46
46
|
* @returns Resolved agent ID, or undefined if no identity available
|
|
47
47
|
*/
|
|
48
48
|
function resolveAgentIdentity(session, assertedAgentId) {
|
|
49
|
-
// Priority 1:
|
|
50
|
-
//
|
|
49
|
+
// Priority 1: Verified identity from authenticated transport (OAuth, mTLS, signed tokens).
|
|
50
|
+
// Reserved for Phase 2 hardening — not currently populated by any transport.
|
|
51
51
|
if (session?.metadata?.verifiedAgentId) {
|
|
52
52
|
return session.metadata.verifiedAgentId;
|
|
53
53
|
}
|
|
54
|
-
// Priority 2:
|
|
54
|
+
// Priority 2: Unverified transport hint (e.g. clientInfo.name from MCP initialize).
|
|
55
|
+
// Better than tool args (set by framework, not user prompt), but not cryptographically verified.
|
|
56
|
+
if (session?.metadata?.transportAgentHint) {
|
|
57
|
+
return session.metadata.transportAgentHint;
|
|
58
|
+
}
|
|
59
|
+
// Priority 3: Session-level agentId (set during session creation)
|
|
55
60
|
if (session?.agentId) {
|
|
56
61
|
return session.agentId;
|
|
57
62
|
}
|
|
58
|
-
// Priority
|
|
63
|
+
// Priority 4 (fallback): Client-asserted identity from tool arguments.
|
|
59
64
|
// WARNING: This is spoofable. Only use in single-agent or dev environments.
|
|
60
65
|
return assertedAgentId;
|
|
61
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-scope.js","sourceRoot":"","sources":["../../src/core/agent-scope.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;AAyBH,
|
|
1
|
+
{"version":3,"file":"agent-scope.js","sourceRoot":"","sources":["../../src/core/agent-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export interface Capability {
|
|
|
16
16
|
autoApprove?: boolean;
|
|
17
17
|
requiresReason?: boolean;
|
|
18
18
|
rules?: Rules;
|
|
19
|
+
allowedAgents?: string[];
|
|
19
20
|
mode?: 'proxy' | 'exec';
|
|
20
21
|
allowCommands?: string[];
|
|
21
22
|
env?: Record<string, string>;
|
|
@@ -62,32 +63,48 @@ export interface MCPServerOptions {
|
|
|
62
63
|
/** Map of service name -> ownership metadata for agent-scoped access control */
|
|
63
64
|
sessionManager: SessionManager;
|
|
64
65
|
auditLogger: AuditLogger;
|
|
66
|
+
/** Default access policy for capabilities without allowedAgents: "open" (any agent) or "restricted" (no agent unless listed) */
|
|
67
|
+
defaultAccess?: 'open' | 'restricted';
|
|
65
68
|
onExecute: (session: any, request: APIRequest) => Promise<APIResponse>;
|
|
66
69
|
onExecCommand?: (session: any, capability: Capability, command: string[], stdin?: string) => Promise<ExecResult>;
|
|
67
70
|
onReloadConfig?: () => ReloadResult;
|
|
68
71
|
/** Persist ownership changes to config storage (called after grant/revoke) */
|
|
69
72
|
onPersistOwnership?: (serviceName: string, ownership: CredentialOwnership) => void;
|
|
70
73
|
}
|
|
74
|
+
export interface MCPServerResult {
|
|
75
|
+
server: Server;
|
|
76
|
+
/** Per-session clientInfo.name storage. Populated by captureClientInfo(). */
|
|
77
|
+
clientSessions: Map<string, string>;
|
|
78
|
+
}
|
|
71
79
|
/**
|
|
72
80
|
* Create and start MCP server
|
|
73
81
|
*/
|
|
74
|
-
export declare function createMCPServer(options: MCPServerOptions):
|
|
82
|
+
export declare function createMCPServer(options: MCPServerOptions): MCPServerResult;
|
|
75
83
|
/**
|
|
76
84
|
* Make HTTP/HTTPS request to real API
|
|
77
85
|
*/
|
|
78
86
|
export declare function makeAPIRequest(targetUrl: URL, request: APIRequest): Promise<APIResponse>;
|
|
79
87
|
/**
|
|
80
|
-
*
|
|
88
|
+
* Intercept MCP transport messages to capture clientInfo.name from initialize handshakes.
|
|
89
|
+
* For HTTP (with sessionId in extra), stores per-session.
|
|
90
|
+
* For stdio/InMemory (no sessionId), stores under '__default__'.
|
|
91
|
+
*/
|
|
92
|
+
export declare function captureClientInfo(transport: {
|
|
93
|
+
onmessage?: (...args: any[]) => any;
|
|
94
|
+
}, clientSessions: Map<string, string>): void;
|
|
95
|
+
/**
|
|
96
|
+
* Start MCP server with stdio transport (single session).
|
|
81
97
|
*/
|
|
82
|
-
export declare function startMCPServer(
|
|
98
|
+
export declare function startMCPServer(serverOptions: MCPServerOptions): Promise<void>;
|
|
83
99
|
/**
|
|
84
|
-
* Start MCP server with StreamableHTTP transport over HTTP
|
|
100
|
+
* Start MCP server with StreamableHTTP transport over HTTP.
|
|
85
101
|
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
102
|
+
* Creates a new Server + Transport per session (the official MCP SDK pattern).
|
|
103
|
+
* Each session gets its own Server instance so that concurrent clients don't
|
|
104
|
+
* interfere — the SDK's Server.connect() sets a single _transport slot, so
|
|
105
|
+
* sharing a Server across transports would route responses to the wrong client.
|
|
89
106
|
*/
|
|
90
|
-
export declare function startMCPServerHTTP(
|
|
107
|
+
export declare function startMCPServerHTTP(serverOptions: MCPServerOptions, httpOptions: {
|
|
91
108
|
host: string;
|
|
92
109
|
port: number;
|
|
93
110
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/core/mcp-server.js
CHANGED
|
@@ -42,6 +42,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.createMCPServer = createMCPServer;
|
|
44
44
|
exports.makeAPIRequest = makeAPIRequest;
|
|
45
|
+
exports.captureClientInfo = captureClientInfo;
|
|
45
46
|
exports.startMCPServer = startMCPServer;
|
|
46
47
|
exports.startMCPServerHTTP = startMCPServerHTTP;
|
|
47
48
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
@@ -59,6 +60,24 @@ const path_1 = require("path");
|
|
|
59
60
|
// Read version from package.json
|
|
60
61
|
const packageJsonPath = (0, path_1.join)(__dirname, '../../package.json');
|
|
61
62
|
const pkgVersion = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8')).version || '0.0.0';
|
|
63
|
+
/**
|
|
64
|
+
* Check whether an agent can access a capability.
|
|
65
|
+
* Checks capability-level allowedAgents first, then falls back to
|
|
66
|
+
* service-level ownership and the global defaultAccess policy.
|
|
67
|
+
*
|
|
68
|
+
* No agentId (e.g. CLI/admin) always gets access.
|
|
69
|
+
*/
|
|
70
|
+
function canAccessCapability(agentId, cap, service, defaultAccessPolicy) {
|
|
71
|
+
if (!agentId)
|
|
72
|
+
return true;
|
|
73
|
+
if (cap.allowedAgents && cap.allowedAgents.length > 0) {
|
|
74
|
+
return cap.allowedAgents.includes(agentId);
|
|
75
|
+
}
|
|
76
|
+
if (defaultAccessPolicy === 'restricted') {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return (0, agent_scope_js_1.canAgentAccess)(agentId, service?.ownership);
|
|
80
|
+
}
|
|
62
81
|
/**
|
|
63
82
|
* Parse TTL string to seconds
|
|
64
83
|
*/
|
|
@@ -80,10 +99,13 @@ function parseTTL(ttl) {
|
|
|
80
99
|
* Create and start MCP server
|
|
81
100
|
*/
|
|
82
101
|
function createMCPServer(options) {
|
|
83
|
-
const { sessionManager, auditLogger, onExecute, onExecCommand, onReloadConfig, onPersistOwnership } = options;
|
|
102
|
+
const { sessionManager, auditLogger, defaultAccess, onExecute, onExecCommand, onReloadConfig, onPersistOwnership } = options;
|
|
84
103
|
// Store as mutable to support hot-reloading
|
|
85
104
|
let capabilities = options.capabilities;
|
|
86
105
|
let services = options.services;
|
|
106
|
+
// Maps MCP session IDs to clientInfo.name from the initialize handshake.
|
|
107
|
+
// Populated by captureClientInfo() after connecting a transport.
|
|
108
|
+
const clientSessions = new Map();
|
|
87
109
|
const server = new index_js_1.Server({
|
|
88
110
|
name: 'janee',
|
|
89
111
|
version: pkgVersion
|
|
@@ -92,18 +114,25 @@ function createMCPServer(options) {
|
|
|
92
114
|
tools: {}
|
|
93
115
|
}
|
|
94
116
|
});
|
|
117
|
+
/**
|
|
118
|
+
* Resolve agent identity from the MCP session.
|
|
119
|
+
* Identity comes from clientInfo.name captured during initialize.
|
|
120
|
+
* For HTTP: stored by session UUID (captured in startMCPServerHTTP).
|
|
121
|
+
* For stdio/tests: stored under '__default__' (captured by captureClientInfo).
|
|
122
|
+
* Falls back to args.agentId for legacy scenarios.
|
|
123
|
+
*/
|
|
124
|
+
function resolveAgentFromRequest(extra, args) {
|
|
125
|
+
const sessionKey = extra?.sessionId || '__default__';
|
|
126
|
+
const clientName = clientSessions.get(sessionKey) || clientSessions.get('__default__');
|
|
127
|
+
return (0, agent_scope_js_1.resolveAgentIdentity)({ agentId: extra?.sessionId, metadata: { transportAgentHint: clientName } }, args?.agentId);
|
|
128
|
+
}
|
|
95
129
|
// Tool: list_services
|
|
96
130
|
const listServicesTool = {
|
|
97
131
|
name: 'list_services',
|
|
98
|
-
description: 'List available API capabilities managed by Janee
|
|
132
|
+
description: 'List available API capabilities managed by Janee',
|
|
99
133
|
inputSchema: {
|
|
100
134
|
type: 'object',
|
|
101
|
-
properties: {
|
|
102
|
-
agentId: {
|
|
103
|
-
type: 'string',
|
|
104
|
-
description: 'Your agent identifier (optional — filters results to credentials you can access)'
|
|
105
|
-
}
|
|
106
|
-
},
|
|
135
|
+
properties: {},
|
|
107
136
|
required: []
|
|
108
137
|
}
|
|
109
138
|
};
|
|
@@ -139,10 +168,6 @@ function createMCPServer(options) {
|
|
|
139
168
|
reason: {
|
|
140
169
|
type: 'string',
|
|
141
170
|
description: 'Reason for this request (required for some capabilities)'
|
|
142
|
-
},
|
|
143
|
-
agentId: {
|
|
144
|
-
type: 'string',
|
|
145
|
-
description: 'Your agent identifier (required for agent-scoped credentials)'
|
|
146
171
|
}
|
|
147
172
|
},
|
|
148
173
|
required: ['capability', 'method', 'path']
|
|
@@ -205,10 +230,6 @@ function createMCPServer(options) {
|
|
|
205
230
|
targetAgentId: {
|
|
206
231
|
type: 'string',
|
|
207
232
|
description: 'Agent ID to grant/revoke access for (required for grant/revoke actions)'
|
|
208
|
-
},
|
|
209
|
-
agentId: {
|
|
210
|
-
type: 'string',
|
|
211
|
-
description: 'Your agent identifier (used to verify ownership)'
|
|
212
233
|
}
|
|
213
234
|
},
|
|
214
235
|
required: ['action', 'service']
|
|
@@ -233,14 +254,14 @@ function createMCPServer(options) {
|
|
|
233
254
|
try {
|
|
234
255
|
switch (name) {
|
|
235
256
|
case 'list_services': {
|
|
236
|
-
const listAgentId = (
|
|
257
|
+
const listAgentId = resolveAgentFromRequest(extra, args);
|
|
237
258
|
return {
|
|
238
259
|
content: [{
|
|
239
260
|
type: 'text',
|
|
240
261
|
text: JSON.stringify(capabilities
|
|
241
262
|
.filter(cap => {
|
|
242
263
|
const svc = services.get(cap.service);
|
|
243
|
-
return (
|
|
264
|
+
return canAccessCapability(listAgentId, cap, svc, defaultAccess);
|
|
244
265
|
})
|
|
245
266
|
.map(cap => ({
|
|
246
267
|
name: cap.name,
|
|
@@ -320,12 +341,12 @@ function createMCPServer(options) {
|
|
|
320
341
|
auditLogger.logDenied(cap.service, method, path, ruleCheck.reason || 'Request denied by policy', reason);
|
|
321
342
|
throw new Error(ruleCheck.reason || 'Request denied by policy');
|
|
322
343
|
}
|
|
323
|
-
// Check agent-scoped access (
|
|
324
|
-
const executeAgentId = (
|
|
344
|
+
// Check agent-scoped access (capability-level allowedAgents, then service-level ownership)
|
|
345
|
+
const executeAgentId = resolveAgentFromRequest(extra, args);
|
|
325
346
|
const executeSvc = services.get(cap.service);
|
|
326
|
-
if (!(
|
|
327
|
-
auditLogger.logDenied(cap.service, method, path, 'Agent does not have access to this
|
|
328
|
-
throw new Error(`Access denied:
|
|
347
|
+
if (!canAccessCapability(executeAgentId, cap, executeSvc, defaultAccess)) {
|
|
348
|
+
auditLogger.logDenied(cap.service, method, path, 'Agent does not have access to this capability', reason);
|
|
349
|
+
throw new Error(`Access denied: capability "${capability}" is not accessible to this agent`);
|
|
329
350
|
}
|
|
330
351
|
// Get or create session
|
|
331
352
|
const ttlSeconds = parseTTL(cap.ttl);
|
|
@@ -377,6 +398,13 @@ function createMCPServer(options) {
|
|
|
377
398
|
if (execCap.mode !== 'exec') {
|
|
378
399
|
throw new Error(`Capability "${execCapName}" is not an exec-mode capability. Use the 'execute' tool for API proxy capabilities.`);
|
|
379
400
|
}
|
|
401
|
+
// Check agent-scoped access
|
|
402
|
+
const execAgentId = resolveAgentFromRequest(extra, args);
|
|
403
|
+
const execSvc = services.get(execCap.service);
|
|
404
|
+
if (!canAccessCapability(execAgentId, execCap, execSvc, defaultAccess)) {
|
|
405
|
+
auditLogger.logDenied(execCap.service, 'EXEC', execCommand.join(' '), 'Agent does not have access to this capability', execReason);
|
|
406
|
+
throw new Error(`Access denied: capability "${execCapName}" is not accessible to this agent`);
|
|
407
|
+
}
|
|
380
408
|
// Check if reason required
|
|
381
409
|
if (execCap.requiresReason && !execReason) {
|
|
382
410
|
throw new Error(`Capability "${execCapName}" requires a reason`);
|
|
@@ -417,7 +445,7 @@ function createMCPServer(options) {
|
|
|
417
445
|
}
|
|
418
446
|
case 'manage_credential': {
|
|
419
447
|
const { action: credAction, service: credService, targetAgentId: credTarget } = args;
|
|
420
|
-
const credAgentId = (
|
|
448
|
+
const credAgentId = resolveAgentFromRequest(extra, args);
|
|
421
449
|
if (!credService) {
|
|
422
450
|
throw new Error('Missing required argument: service');
|
|
423
451
|
}
|
|
@@ -509,7 +537,7 @@ function createMCPServer(options) {
|
|
|
509
537
|
};
|
|
510
538
|
}
|
|
511
539
|
});
|
|
512
|
-
return server;
|
|
540
|
+
return { server, clientSessions };
|
|
513
541
|
}
|
|
514
542
|
/**
|
|
515
543
|
* Make HTTP/HTTPS request to real API
|
|
@@ -550,38 +578,102 @@ function makeAPIRequest(targetUrl, request) {
|
|
|
550
578
|
});
|
|
551
579
|
}
|
|
552
580
|
/**
|
|
553
|
-
*
|
|
581
|
+
* Intercept MCP transport messages to capture clientInfo.name from initialize handshakes.
|
|
582
|
+
* For HTTP (with sessionId in extra), stores per-session.
|
|
583
|
+
* For stdio/InMemory (no sessionId), stores under '__default__'.
|
|
584
|
+
*/
|
|
585
|
+
function captureClientInfo(transport, clientSessions) {
|
|
586
|
+
const original = transport.onmessage;
|
|
587
|
+
transport.onmessage = (message, extra) => {
|
|
588
|
+
if (message?.method === 'initialize' && message?.params?.clientInfo?.name) {
|
|
589
|
+
const key = extra?.sessionId || '__default__';
|
|
590
|
+
clientSessions.set(key, message.params.clientInfo.name);
|
|
591
|
+
}
|
|
592
|
+
return original?.call(transport, message, extra);
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Start MCP server with stdio transport (single session).
|
|
554
597
|
*/
|
|
555
|
-
async function startMCPServer(
|
|
598
|
+
async function startMCPServer(serverOptions) {
|
|
599
|
+
const { server, clientSessions } = createMCPServer(serverOptions);
|
|
556
600
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
557
601
|
await server.connect(transport);
|
|
602
|
+
captureClientInfo(transport, clientSessions);
|
|
558
603
|
console.error('Janee MCP server started (stdio)');
|
|
559
604
|
}
|
|
560
605
|
/**
|
|
561
|
-
* Start MCP server with StreamableHTTP transport over HTTP
|
|
606
|
+
* Start MCP server with StreamableHTTP transport over HTTP.
|
|
562
607
|
*
|
|
563
|
-
*
|
|
564
|
-
*
|
|
565
|
-
*
|
|
608
|
+
* Creates a new Server + Transport per session (the official MCP SDK pattern).
|
|
609
|
+
* Each session gets its own Server instance so that concurrent clients don't
|
|
610
|
+
* interfere — the SDK's Server.connect() sets a single _transport slot, so
|
|
611
|
+
* sharing a Server across transports would route responses to the wrong client.
|
|
566
612
|
*/
|
|
567
|
-
async function startMCPServerHTTP(
|
|
613
|
+
async function startMCPServerHTTP(serverOptions, httpOptions) {
|
|
568
614
|
const app = (0, express_1.default)();
|
|
569
|
-
// Parse JSON bodies (StreamableHTTP accepts pre-parsed body as third parameter)
|
|
570
|
-
// This middleware runs globally but doesn't break streaming since we pass the parsed body
|
|
571
615
|
app.use(express_1.default.json());
|
|
572
|
-
|
|
573
|
-
const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
574
|
-
sessionIdGenerator: () => crypto.randomUUID()
|
|
575
|
-
});
|
|
576
|
-
await server.connect(transport);
|
|
577
|
-
// Handle GET and POST requests to /mcp endpoint
|
|
578
|
-
// StreamableHTTP protocol uses GET for streaming responses and POST for requests
|
|
616
|
+
const sessions = new Map();
|
|
579
617
|
app.all('/mcp', async (req, res) => {
|
|
580
|
-
|
|
618
|
+
try {
|
|
619
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
620
|
+
if (sessionId && sessions.has(sessionId)) {
|
|
621
|
+
const session = sessions.get(sessionId);
|
|
622
|
+
await session.transport.handleRequest(req, res, req.body);
|
|
623
|
+
}
|
|
624
|
+
else if (!sessionId && (0, types_js_1.isInitializeRequest)(req.body)) {
|
|
625
|
+
const clientName = req.body?.params?.clientInfo?.name;
|
|
626
|
+
const { server, clientSessions } = createMCPServer(serverOptions);
|
|
627
|
+
const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
628
|
+
sessionIdGenerator: () => crypto.randomUUID(),
|
|
629
|
+
onsessioninitialized: (sid) => {
|
|
630
|
+
sessions.set(sid, { transport, server });
|
|
631
|
+
if (clientName)
|
|
632
|
+
clientSessions.set(sid, clientName);
|
|
633
|
+
},
|
|
634
|
+
onsessionclosed: async (sid) => {
|
|
635
|
+
sessions.delete(sid);
|
|
636
|
+
await server.close();
|
|
637
|
+
},
|
|
638
|
+
});
|
|
639
|
+
transport.onclose = () => {
|
|
640
|
+
const sid = transport.sessionId;
|
|
641
|
+
if (sid && sessions.has(sid)) {
|
|
642
|
+
sessions.delete(sid);
|
|
643
|
+
}
|
|
644
|
+
};
|
|
645
|
+
await server.connect(transport);
|
|
646
|
+
await transport.handleRequest(req, res, req.body);
|
|
647
|
+
}
|
|
648
|
+
else if (sessionId) {
|
|
649
|
+
res.status(404).json({
|
|
650
|
+
jsonrpc: '2.0',
|
|
651
|
+
error: { code: -32001, message: 'Session not found' },
|
|
652
|
+
id: null,
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
else {
|
|
656
|
+
res.status(400).json({
|
|
657
|
+
jsonrpc: '2.0',
|
|
658
|
+
error: { code: -32600, message: 'Bad Request: Missing session ID or not an initialize request' },
|
|
659
|
+
id: null,
|
|
660
|
+
});
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
catch (error) {
|
|
664
|
+
console.error('Error handling MCP request:', error);
|
|
665
|
+
if (!res.headersSent) {
|
|
666
|
+
res.status(500).json({
|
|
667
|
+
jsonrpc: '2.0',
|
|
668
|
+
error: { code: -32603, message: 'Internal server error' },
|
|
669
|
+
id: null,
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
}
|
|
581
673
|
});
|
|
582
674
|
return new Promise((resolve) => {
|
|
583
|
-
app.listen(
|
|
584
|
-
console.error(`Janee MCP server listening on http://${
|
|
675
|
+
app.listen(httpOptions.port, httpOptions.host, () => {
|
|
676
|
+
console.error(`Janee MCP server listening on http://${httpOptions.host}:${httpOptions.port}/mcp (StreamableHTTP)`);
|
|
585
677
|
resolve();
|
|
586
678
|
});
|
|
587
679
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwJH,0CA8hBC;AAKD,wCA4CC;AAOD,8CAYC;AAKD,wCAOC;AAUD,gDA6EC;AA31BD,wEAAmE;AACnE,wEAAiF;AACjF,0FAAmG;AACnG,iEAK4C;AAE5C,yCAA+C;AAE/C,gDAAwB;AACxB,kDAA0B;AAE1B,sDAA8B;AAC9B,uCAAwG;AACxG,2BAAkC;AAClC,qDAA6F;AAC7F,+BAA4B;AAG5B,iCAAiC;AACjC,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;AAExF;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,GAAe,EACf,OAAkC,EAClC,mBAAsD;IAEtD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,mBAAmB,KAAK,YAAY,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAA,+BAAc,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAuED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,MAAM,WAAW,GAA2B;QAC1C,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,KAAK;KACT,CAAC;IAEF,OAAO,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAQD;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAyB;IACvD,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAE7H,4CAA4C;IAC5C,IAAI,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACxC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAEhC,yEAAyE;IACzE,iEAAiE;IACjE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,UAAU;KACpB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF;;;;;;OAMG;IACH,SAAS,uBAAuB,CAAC,KAAU,EAAE,IAAS;QACpD,MAAM,UAAU,GAAG,KAAK,EAAE,SAAS,IAAI,aAAa,CAAC;QACrD,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEvF,OAAO,IAAA,qCAAoB,EACzB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE,EAC3E,IAAI,EAAE,OAAO,CACd,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,MAAM,gBAAgB,GAAS;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;IAEF,gBAAgB;IAChB,MAAM,WAAW,GAAS;QACxB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;iBAC3D;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;oBAC/C,WAAW,EAAE,aAAa;iBAC3B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;oBAC5C,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;iBACxE;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC;SAC3C;KACF,CAAC;IAEF,sBAAsB;IACtB,MAAM,gBAAgB,GAAS;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oHAAoH;QACjI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;IAGF,qDAAqD;IACrD,MAAM,QAAQ,GAAS;QACrB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6JAA6J;QAC1K,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;iBACvE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,8DAA8D;iBAC5E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;iBAC3D;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;SACpC;KACF,CAAC;IAGF,mEAAmE;IACnE,MAAM,oBAAoB,GAAS;QACjC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+IAA+I;QAC5J,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;oBACjC,WAAW,EAAE,yFAAyF;iBACvG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yEAAyE;iBACvF;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;SAChC;KACF,CAAC;IAEF,iBAAiB;IACjB,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,KAAK,GAAW,CAAC,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;QAC5E,uCAAuC;QACvC,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QACD,4DAA4D;QAC5D,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACzD,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,YAAY;qCACT,MAAM,CAAC,GAAG,CAAC,EAAE;oCACZ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oCACtC,OAAO,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gCACnE,CAAC,CAAC;qCACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCACb,IAAI,EAAE,GAAG,CAAC,IAAI;oCACd,OAAO,EAAE,GAAG,CAAC,OAAO;oCACpB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO;oCACzB,GAAG,EAAE,GAAG,CAAC,GAAG;oCACZ,WAAW,EAAE,GAAG,CAAC,WAAW;oCAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;oCAClC,KAAK,EAAE,GAAG,CAAC,KAAK;oCAChB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI;wCACzB,aAAa,EAAE,GAAG,CAAC,aAAa;wCAChC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;qCAChD,CAAC;iCACH,CAAC,CAAC,EACH,IAAI,EACJ,CAAC,CACF;6BACF,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,KAAK,eAAe,CAAC,CAAC,CAAC;oBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBACjD,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;wBAChC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;wBACzC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAEvC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;wBACnC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;wBAE3B,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,IAAI;wCACb,OAAO,EAAE,qCAAqC;wCAC9C,QAAQ,EAAE,QAAQ,CAAC,IAAI;wCACvB,YAAY,EAAE,YAAY,CAAC,MAAM;wCACjC,OAAO,EAAE;4CACP,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,gBAAgB;4CAC1C,YAAY,EAAE,YAAY,CAAC,MAAM,GAAG,YAAY;yCACjD;qCACF,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;oBAC1G,CAAC;gBACH,CAAC;gBAED,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAW,CAAC;oBAExE,8BAA8B;oBAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBAC3D,CAAC;oBACD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBACtF,CAAC;oBACD,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACrD,CAAC;oBAED,kBAAkB;oBAClB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;oBAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;oBACvD,CAAC;oBAED,qEAAqE;oBACrE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,kEAAkE,CAAC,CAAC;oBAC/G,CAAC;oBAED,2BAA2B;oBAC3B,IAAI,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;wBAClC,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,qBAAqB,CAAC,CAAC;oBAClE,CAAC;oBAED,oCAAoC;oBACpC,MAAM,SAAS,GAAG,IAAA,qBAAU,EAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;wBACvB,qBAAqB;wBACrB,WAAW,CAAC,SAAS,CACnB,GAAG,CAAC,OAAO,EACX,MAAM,EACN,IAAI,EACJ,SAAS,CAAC,MAAM,IAAI,0BAA0B,EAC9C,MAAM,CACP,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,0BAA0B,CAAC,CAAC;oBAClE,CAAC;oBAED,2FAA2F;oBAC3F,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC7C,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;wBACzE,WAAW,CAAC,SAAS,CACnB,GAAG,CAAC,OAAO,EACX,MAAM,EACN,IAAI,EACJ,+CAA+C,EAC/C,MAAM,CACP,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,mCAAmC,CAAC,CAAC;oBAC/F,CAAC;oBAED,wBAAwB;oBACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAC1C,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX,UAAU,EACV,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CACpC,CAAC;oBAEF,oBAAoB;oBACpB,MAAM,MAAM,GAAe;wBACzB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,IAAI;wBACJ,MAAM;wBACN,OAAO,EAAE,OAAO,IAAI,EAAE;wBACtB,IAAI;qBACL,CAAC;oBAEF,UAAU;oBACV,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAElD,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,QAAQ,CAAC,UAAU;oCAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;iCACpB,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAGD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACvE,CAAC;oBAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAW,CAAC;oBAE/G,8BAA8B;oBAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBAC3D,CAAC;oBACD,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBAC9J,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACxD,CAAC;oBAED,6EAA6E;oBAC7E,MAAM,WAAW,GAAa,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;wBACzD,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,OAAO,cAAc,KAAK,QAAQ;4BAClC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;4BACpC,CAAC,CAAC,EAAE,CAAC;oBAET,kBAAkB;oBAClB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;oBACxD,CAAC;oBAED,yCAAyC;oBACzC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,sFAAsF,CAAC,CAAC;oBACpI,CAAC;oBAED,4BAA4B;oBAC5B,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;wBACvE,WAAW,CAAC,SAAS,CACnB,OAAO,CAAC,OAAO,EACf,MAAM,EACN,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EACrB,+CAA+C,EAC/C,UAAU,CACX,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,mCAAmC,CAAC,CAAC;oBAChG,CAAC;oBAED,2BAA2B;oBAC3B,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC1C,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,qBAAqB,CAAC,CAAC;oBACnE,CAAC;oBAED,qCAAqC;oBACrC,MAAM,aAAa,GAAG,IAAA,yBAAe,EAAC,WAAW,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;oBAChF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC3B,WAAW,CAAC,SAAS,CACnB,OAAO,CAAC,OAAO,EACf,MAAM,EACN,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EACrB,aAAa,CAAC,MAAM,IAAI,qBAAqB,EAC7C,UAAU,CACX,CAAC;wBACF,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,IAAI,qBAAqB,CAAC,CAAC;oBACjE,CAAC;oBAED,wBAAwB;oBACxB,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAC9C,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,cAAc,EACd,EAAE,MAAM,EAAE,UAAU,EAAE,CACvB,CAAC;oBAEF,kBAAkB;oBAClB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;oBAErF,eAAe;oBACf,WAAW,CAAC,GAAG,CAAC;wBACd,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC3B,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,gBAAgB,EAAE,UAAU,IAAI,EAAE,EAAE;qBAChD,EAAE;wBACD,UAAU,EAAE,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;wBACjD,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,UAAU,CAAC,MAAM;qBACxB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;oBAE/B,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oCAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;oCACzB,MAAM,EAAE,UAAU,CAAC,MAAM;oCACzB,eAAe,EAAE,UAAU,CAAC,eAAe;iCAC5C,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAW,CAAC;oBAC5F,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAEzD,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACxD,CAAC;oBAED,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACtC,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;oBACrD,CAAC;oBAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;wBAC1B,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,WAAW;wCACpB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,2CAA2C,EAAE;wCAC7G,UAAU,EAAE,IAAA,+BAAc,EAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC;qCACvD,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,8CAA8C;oBAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAClE,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;oBACnI,CAAC;oBAED,IAAI,GAAG,CAAC,SAAS,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;wBAC5C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;oBAC1E,CAAC;oBAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;wBAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;wBAChE,CAAC;wBACD,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;wBACzD,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBAEvD,6CAA6C;wBAC7C,IAAI,kBAAkB,EAAE,CAAC;4BACvB,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;wBACjD,CAAC;wBAED,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,IAAI;wCACb,OAAO,EAAE,qBAAqB,UAAU,EAAE;wCAC1C,SAAS,EAAE,GAAG,CAAC,SAAS;wCACxB,SAAS,EAAE,CAAC,CAAC,kBAAkB;qCAChC,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;wBACjE,CAAC;wBACD,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;wBAC1D,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBAExD,6CAA6C;wBAC7C,IAAI,kBAAkB,EAAE,CAAC;4BACvB,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;wBACjD,CAAC;wBAED,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,OAAO,EAAE,IAAI;wCACb,OAAO,EAAE,uBAAuB,UAAU,EAAE;wCAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;wCACxB,SAAS,EAAE,CAAC,CAAC,kBAAkB;qCAChC,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,qCAAqC,CAAC,CAAC;gBACtF,CAAC;gBAED;oBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAChE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,SAAc,EACd,OAAmB;IAEnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,CAAC,CAAC,cAAI,CAAC;QAE9D,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM;YAC3C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE;gBACP,YAAY,EAAE,QAAQ,GAAG,UAAU;gBACnC,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,OAAO,CAAC;oBACN,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG;oBACjC,OAAO,EAAE,GAAG,CAAC,OAA4C;oBACzD,IAAI;iBACL,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,SAAkD,EAClD,cAAmC;IAEnC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,SAAS,GAAG,CAAC,OAAY,EAAE,KAAW,EAAE,EAAE;QAClD,IAAI,OAAO,EAAE,MAAM,KAAK,YAAY,IAAI,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC1E,MAAM,GAAG,GAAG,KAAK,EAAE,SAAS,IAAI,aAAa,CAAC;YAC9C,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QACD,OAAQ,QAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,aAA+B;IAClE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,iBAAiB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,kBAAkB,CACtC,aAA+B,EAC/B,WAA2C;IAE3C,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGpB,CAAC;IAEL,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;YAEtE,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBACzC,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAE5D,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,IAAA,8BAAmB,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,MAAM,UAAU,GAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC;gBAC1E,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;gBAElE,MAAM,SAAS,GAAG,IAAI,iDAA6B,CAAC;oBAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;oBAC7C,oBAAoB,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;wBACzC,IAAI,UAAU;4BAAE,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;oBACtD,CAAC;oBACD,eAAe,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;wBACrC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;oBACvB,CAAC;iBACF,CAAC,CAAC;gBAEH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACvB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;oBAChC,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC,CAAC;gBAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAEpD,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE;oBACrD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE;oBAChG,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;oBACzD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;YAClD,OAAO,CAAC,KAAK,CAAC,wCAAwC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,uBAAuB,CAAC,CAAC;YACnH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|