@grackle-ai/cli 0.115.2 → 0.117.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -34
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/commands/events.d.ts +4 -0
- package/dist/commands/events.d.ts.map +1 -0
- package/dist/commands/events.js +44 -0
- package/dist/commands/events.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/commands/findings.d.ts +0 -3
- package/dist/commands/findings.d.ts.map +0 -1
- package/dist/commands/findings.js +0 -58
- package/dist/commands/findings.js.map +0 -1
package/README.md
CHANGED
|
@@ -505,40 +505,6 @@ Delete a persona.
|
|
|
505
505
|
|
|
506
506
|
---
|
|
507
507
|
|
|
508
|
-
### Findings
|
|
509
|
-
|
|
510
|
-
Query and post findings — categorized discoveries shared across agents within a workspace.
|
|
511
|
-
|
|
512
|
-
#### `grackle finding list <workspace-id>`
|
|
513
|
-
|
|
514
|
-
List findings in a workspace.
|
|
515
|
-
|
|
516
|
-
```bash
|
|
517
|
-
grackle finding list ws-123
|
|
518
|
-
grackle finding list ws-123 --category architecture --tag security --limit 10
|
|
519
|
-
```
|
|
520
|
-
|
|
521
|
-
| Option | Description |
|
|
522
|
-
|--------|-------------|
|
|
523
|
-
| `--category <cat>` | Filter by category |
|
|
524
|
-
| `--tag <tag>` | Filter by tag |
|
|
525
|
-
| `--limit <n>` | Max results (default: 20) |
|
|
526
|
-
|
|
527
|
-
#### `grackle finding post <workspace-id> <title>`
|
|
528
|
-
|
|
529
|
-
Post a new finding.
|
|
530
|
-
|
|
531
|
-
```bash
|
|
532
|
-
grackle finding post ws-123 "Auth tokens expire silently" --category bug --content "The refresh token..." --tags auth,security
|
|
533
|
-
```
|
|
534
|
-
|
|
535
|
-
| Option | Description |
|
|
536
|
-
|--------|-------------|
|
|
537
|
-
| `--category <cat>` | Finding category (default: `general`) |
|
|
538
|
-
| `--content <text>` | Finding content |
|
|
539
|
-
| `--tags <tags>` | Comma-separated tags |
|
|
540
|
-
|
|
541
|
-
---
|
|
542
508
|
|
|
543
509
|
### Tokens
|
|
544
510
|
|
|
@@ -667,6 +633,32 @@ grackle streams list --internal # include internal IPC plumbing
|
|
|
667
633
|
|
|
668
634
|
---
|
|
669
635
|
|
|
636
|
+
### Domain Events
|
|
637
|
+
|
|
638
|
+
#### `grackle events`
|
|
639
|
+
|
|
640
|
+
Query the persisted domain-event log (`domain_events`) — an audit/debug view of
|
|
641
|
+
state-change events (`task.created`, `workspace.updated`, `environment.changed`, …).
|
|
642
|
+
Filters compose with AND; results are **most recent first** (use `--before` to page
|
|
643
|
+
into older history).
|
|
644
|
+
|
|
645
|
+
```bash
|
|
646
|
+
grackle events # most recent events (default limit 100)
|
|
647
|
+
grackle events --type task.created # only this event type
|
|
648
|
+
grackle events --since 2026-05-23T00:00:00Z # at/after a timestamp
|
|
649
|
+
grackle events --until 2026-05-23T23:59:59Z # at/before a timestamp
|
|
650
|
+
grackle events --before <id> --limit 50 # page into older history (events before an id)
|
|
651
|
+
# ┌──────────────────────────┬──────────────────┬──────────────────────────┬──────────────┐
|
|
652
|
+
# │ ID │ Type │ Timestamp │ Payload │
|
|
653
|
+
# ├──────────────────────────┼──────────────────┼──────────────────────────┼──────────────┤
|
|
654
|
+
# │ 01JV…SEQ │ task.created │ 2026-05-23T18:04:11.002Z │ {"taskId":…} │
|
|
655
|
+
# └──────────────────────────┴──────────────────┴──────────────────────────┴──────────────┘
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
Options: `--type <type>`, `--since <iso>`, `--until <iso>`, `--before <id>`, `--limit <n>`.
|
|
659
|
+
|
|
660
|
+
---
|
|
661
|
+
|
|
670
662
|
### Pairing
|
|
671
663
|
|
|
672
664
|
#### `grackle pair`
|
package/dist/client.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare function loadApiKey(): string;
|
|
|
6
6
|
export interface GrackleClients {
|
|
7
7
|
/** Core RPCs: environments, sessions, workspaces, tokens, settings, IPC, etc. */
|
|
8
8
|
core: Client<typeof grackle.GrackleCore>;
|
|
9
|
-
/** Orchestration RPCs: tasks, personas,
|
|
9
|
+
/** Orchestration RPCs: tasks, personas, escalations. */
|
|
10
10
|
orchestration: Client<typeof grackle.GrackleOrchestration>;
|
|
11
11
|
/** Scheduling RPCs: schedules. */
|
|
12
12
|
scheduling: Client<typeof grackle.GrackleScheduling>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAsD,MAAM,oBAAoB,CAAC;AAMjG,yFAAyF;AACzF,wBAAgB,UAAU,IAAI,MAAM,CAgBnC;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAsD,MAAM,oBAAoB,CAAC;AAMjG,yFAAyF;AACzF,wBAAgB,UAAU,IAAI,MAAM,CAgBnC;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrD,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAmBxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/commands/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC5D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Table from "cli-table3";
|
|
2
|
+
import { createGrackleClients } from "../client.js";
|
|
3
|
+
/** Max characters of an event payload shown inline in the table. */
|
|
4
|
+
const PAYLOAD_PREVIEW_LEN = 60;
|
|
5
|
+
/** Default row limit when --limit is omitted. */
|
|
6
|
+
const DEFAULT_LIMIT = "100";
|
|
7
|
+
/** Register the domain-event audit command: `grackle events`. */
|
|
8
|
+
export function registerEventCommands(program) {
|
|
9
|
+
program
|
|
10
|
+
.command("events")
|
|
11
|
+
.description("Query the persisted domain-event log (most recent first)")
|
|
12
|
+
.option("--type <type>", "Filter by exact event type (e.g. task.created)")
|
|
13
|
+
.option("--since <iso>", "Only events at/after this ISO 8601 timestamp")
|
|
14
|
+
.option("--until <iso>", "Only events at/before this ISO 8601 timestamp")
|
|
15
|
+
.option("--before <id>", "Only events older than this id (page into history)")
|
|
16
|
+
.option("--limit <n>", "Max rows to return", DEFAULT_LIMIT)
|
|
17
|
+
.action(async (opts) => {
|
|
18
|
+
const limitArg = (opts.limit ?? DEFAULT_LIMIT).trim();
|
|
19
|
+
if (!/^\d+$/.test(limitArg)) {
|
|
20
|
+
throw new Error(`Invalid --limit: "${opts.limit}" (expected a non-negative integer)`);
|
|
21
|
+
}
|
|
22
|
+
const { core: client } = createGrackleClients();
|
|
23
|
+
const res = await client.queryDomainEvents({
|
|
24
|
+
type: opts.type ?? "",
|
|
25
|
+
since: opts.since ?? "",
|
|
26
|
+
until: opts.until ?? "",
|
|
27
|
+
beforeId: opts.before ?? "",
|
|
28
|
+
limit: Number.parseInt(limitArg, 10),
|
|
29
|
+
});
|
|
30
|
+
if (res.events.length === 0) {
|
|
31
|
+
console.log("No domain events.");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const table = new Table({ head: ["ID", "Type", "Timestamp", "Payload"] });
|
|
35
|
+
for (const e of res.events) {
|
|
36
|
+
const preview = e.payloadJson.length > PAYLOAD_PREVIEW_LEN
|
|
37
|
+
? `${e.payloadJson.slice(0, PAYLOAD_PREVIEW_LEN)}...`
|
|
38
|
+
: e.payloadJson;
|
|
39
|
+
table.push([e.id, e.type, e.timestamp, preview]);
|
|
40
|
+
}
|
|
41
|
+
console.log(table.toString());
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/commands/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,oEAAoE;AACpE,MAAM,mBAAmB,GAAW,EAAE,CAAC;AACvC,iDAAiD;AACjD,MAAM,aAAa,GAAW,KAAK,CAAC;AAEpC,iEAAiE;AACjE,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;SACzE,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;SACvE,MAAM,CAAC,eAAe,EAAE,+CAA+C,CAAC;SACxE,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;SAC7E,MAAM,CAAC,aAAa,EAAE,oBAAoB,EAAE,aAAa,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,IAAwF,EAAE,EAAE;QACzG,MAAM,QAAQ,GAAW,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,KAAK,qCAAqC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GACX,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,mBAAmB;gBACxC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,KAAK;gBACrD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,6 @@ import { registerLogCommands } from "./commands/logs.js";
|
|
|
10
10
|
import { registerServeCommand } from "./commands/serve.js";
|
|
11
11
|
import { registerWorkspaceCommands } from "./commands/workspace.js";
|
|
12
12
|
import { registerTaskCommands } from "./commands/task.js";
|
|
13
|
-
import { registerFindingCommands } from "./commands/findings.js";
|
|
14
13
|
import { registerPersonaCommands } from "./commands/persona.js";
|
|
15
14
|
import { registerScheduleCommands } from "./commands/schedule.js";
|
|
16
15
|
import { registerNotifyCommands } from "./commands/notify.js";
|
|
@@ -18,6 +17,7 @@ import { registerCredentialProviderCommands } from "./commands/credential-provid
|
|
|
18
17
|
import { registerPairCommand } from "./commands/pair.js";
|
|
19
18
|
import { registerConfigCommands } from "./commands/config.js";
|
|
20
19
|
import { registerStreamCommands } from "./commands/streams.js";
|
|
20
|
+
import { registerEventCommands } from "./commands/events.js";
|
|
21
21
|
import { registerPluginCommands } from "./commands/plugin.js";
|
|
22
22
|
import { registerGitHubAccountCommands } from "./commands/github-account.js";
|
|
23
23
|
import { registerChannelCommands } from "./commands/channel.js";
|
|
@@ -54,7 +54,6 @@ registerLogCommands(program);
|
|
|
54
54
|
registerServeCommand(program);
|
|
55
55
|
registerWorkspaceCommands(program);
|
|
56
56
|
registerTaskCommands(program);
|
|
57
|
-
registerFindingCommands(program);
|
|
58
57
|
registerPersonaCommands(program);
|
|
59
58
|
registerScheduleCommands(program);
|
|
60
59
|
registerNotifyCommands(program);
|
|
@@ -62,6 +61,7 @@ registerCredentialProviderCommands(program);
|
|
|
62
61
|
registerPairCommand(program);
|
|
63
62
|
registerConfigCommands(program);
|
|
64
63
|
registerStreamCommands(program);
|
|
64
|
+
registerEventCommands(program);
|
|
65
65
|
registerPluginCommands(program);
|
|
66
66
|
registerGitHubAccountCommands(program);
|
|
67
67
|
registerChannelCommands(program);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grackle-ai/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.117.0",
|
|
4
4
|
"description": "Command-line interface for managing Grackle environments and agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"commander": "^13.0.0",
|
|
39
39
|
"ora": "^8.0.0",
|
|
40
40
|
"qrcode": "^1.5.4",
|
|
41
|
-
"@grackle-ai/
|
|
42
|
-
"@grackle-ai/
|
|
43
|
-
"@grackle-ai/
|
|
41
|
+
"@grackle-ai/core": "0.117.0",
|
|
42
|
+
"@grackle-ai/common": "0.117.0",
|
|
43
|
+
"@grackle-ai/server": "0.117.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@rushstack/heft": "1.2.7",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../src/commands/findings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwD9D"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { createGrackleClients } from "../client.js";
|
|
2
|
-
import Table from "cli-table3";
|
|
3
|
-
export function registerFindingCommands(program) {
|
|
4
|
-
const finding = program.command("finding").description("Query workspace findings");
|
|
5
|
-
finding
|
|
6
|
-
.command("list <workspace-id>")
|
|
7
|
-
.description("List findings in a workspace")
|
|
8
|
-
.option("--category <cat>", "Filter by category")
|
|
9
|
-
.option("--tag <tag>", "Filter by tag")
|
|
10
|
-
.option("--limit <n>", "Max results", parseInt)
|
|
11
|
-
.action(async (workspaceId, opts) => {
|
|
12
|
-
const { orchestration: client } = createGrackleClients();
|
|
13
|
-
const res = await client.queryFindings({
|
|
14
|
-
workspaceId,
|
|
15
|
-
categories: opts.category ? [opts.category] : [],
|
|
16
|
-
tags: opts.tag ? [opts.tag] : [],
|
|
17
|
-
limit: opts.limit || 20,
|
|
18
|
-
});
|
|
19
|
-
if (res.findings.length === 0) {
|
|
20
|
-
console.log("No findings.");
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const table = new Table({
|
|
24
|
-
head: ["ID", "Category", "Title", "Tags", "Created"],
|
|
25
|
-
});
|
|
26
|
-
for (const f of res.findings) {
|
|
27
|
-
table.push([
|
|
28
|
-
f.id,
|
|
29
|
-
f.category,
|
|
30
|
-
f.title.slice(0, 40),
|
|
31
|
-
f.tags.join(",") || "-",
|
|
32
|
-
f.createdAt,
|
|
33
|
-
]);
|
|
34
|
-
}
|
|
35
|
-
console.log(table.toString());
|
|
36
|
-
});
|
|
37
|
-
finding
|
|
38
|
-
.command("post <workspace-id> <title>")
|
|
39
|
-
.description("Post a finding")
|
|
40
|
-
.option("--category <cat>", "Finding category", "general")
|
|
41
|
-
.option("--content <text>", "Finding content", "")
|
|
42
|
-
.option("--tags <tags>", "Comma-separated tags")
|
|
43
|
-
.action(async (workspaceId, title, opts) => {
|
|
44
|
-
const { orchestration: client } = createGrackleClients();
|
|
45
|
-
const tags = opts.tags ? opts.tags.split(",") : [];
|
|
46
|
-
const f = await client.postFinding({
|
|
47
|
-
workspaceId,
|
|
48
|
-
taskId: "",
|
|
49
|
-
sessionId: "",
|
|
50
|
-
category: opts.category,
|
|
51
|
-
title,
|
|
52
|
-
content: opts.content,
|
|
53
|
-
tags,
|
|
54
|
-
});
|
|
55
|
-
console.log(`Posted finding: ${f.id}`);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=findings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/commands/findings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAEnF,OAAO;SACJ,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;SACtC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,IAAyD,EAAE,EAAE;QAC/F,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACrC,WAAW;YACX,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;SACrD,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC;gBACT,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG;gBACvB,CAAC,CAAC,SAAS;aACZ,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,6BAA6B,CAAC;SACtC,WAAW,CAAC,gBAAgB,CAAC;SAC7B,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,CAAC;SACzD,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,KAAa,EAAE,IAA0D,EAAE,EAAE;QAC/G,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;QACzD,MAAM,IAAI,GAAa,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACjC,WAAW;YACX,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI;SACL,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC"}
|