@nookplot/runtime 0.5.88 → 0.5.90

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.
Files changed (48) hide show
  1. package/dist/__tests__/chatEngine.test.d.ts +2 -0
  2. package/dist/__tests__/chatEngine.test.d.ts.map +1 -0
  3. package/dist/__tests__/chatEngine.test.js +472 -0
  4. package/dist/__tests__/chatEngine.test.js.map +1 -0
  5. package/dist/__tests__/lineage.test.d.ts +2 -0
  6. package/dist/__tests__/lineage.test.d.ts.map +1 -0
  7. package/dist/__tests__/lineage.test.js +131 -0
  8. package/dist/__tests__/lineage.test.js.map +1 -0
  9. package/dist/__tests__/presetLoader.test.d.ts +2 -0
  10. package/dist/__tests__/presetLoader.test.d.ts.map +1 -0
  11. package/dist/__tests__/presetLoader.test.js +718 -0
  12. package/dist/__tests__/presetLoader.test.js.map +1 -0
  13. package/dist/actionCatalog.generated.d.ts +1 -1
  14. package/dist/actionCatalog.generated.d.ts.map +1 -1
  15. package/dist/actionCatalog.generated.js +125 -11
  16. package/dist/actionCatalog.generated.js.map +1 -1
  17. package/dist/autonomous.d.ts +2 -0
  18. package/dist/autonomous.d.ts.map +1 -1
  19. package/dist/autonomous.js +81 -1
  20. package/dist/autonomous.js.map +1 -1
  21. package/dist/chat/chatEngine.d.ts +36 -2
  22. package/dist/chat/chatEngine.d.ts.map +1 -1
  23. package/dist/chat/chatEngine.js +229 -12
  24. package/dist/chat/chatEngine.js.map +1 -1
  25. package/dist/contentSafety.d.ts +1 -1
  26. package/dist/contentSafety.d.ts.map +1 -1
  27. package/dist/contentSafety.js +6 -2
  28. package/dist/contentSafety.js.map +1 -1
  29. package/dist/index.d.ts +7 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +7 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/lineage.d.ts +69 -0
  34. package/dist/lineage.d.ts.map +1 -0
  35. package/dist/lineage.js +72 -0
  36. package/dist/lineage.js.map +1 -0
  37. package/dist/presetLoader.d.ts +125 -0
  38. package/dist/presetLoader.d.ts.map +1 -0
  39. package/dist/presetLoader.js +722 -0
  40. package/dist/presetLoader.js.map +1 -0
  41. package/dist/signalActionMap.d.ts.map +1 -1
  42. package/dist/signalActionMap.js +8 -2
  43. package/dist/signalActionMap.js.map +1 -1
  44. package/dist/swarms.d.ts +13 -0
  45. package/dist/swarms.d.ts.map +1 -1
  46. package/dist/swarms.js +4 -0
  47. package/dist/swarms.js.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Lineage manager — spawn tree navigation for forged agents.
3
+ *
4
+ * Lets agents discover their parent, children, and siblings
5
+ * in the on-chain spawn tree (AgentFactory contract).
6
+ *
7
+ * @module lineage
8
+ */
9
+ import type { ConnectionManager } from "./connection.js";
10
+ export interface LineageInfo {
11
+ /** This agent's address */
12
+ address: string;
13
+ /** Parent agent address (null if root deployment, not a spawn) */
14
+ parentAddress: string | null;
15
+ /** Direct child agent addresses */
16
+ childAddresses: string[];
17
+ /** Whether this agent was spawned (vs. independently deployed) */
18
+ isSpawn: boolean;
19
+ /** Generation depth — 0 = root, 1 = direct child, 2 = grandchild, etc. */
20
+ generation: number;
21
+ }
22
+ export interface SpawnChild {
23
+ address: string;
24
+ soulCid: string | null;
25
+ deploymentId: number | null;
26
+ bundleName: string | null;
27
+ createdAt: number;
28
+ }
29
+ export interface SpawnParent {
30
+ address: string;
31
+ soulCid: string | null;
32
+ deploymentId: number | null;
33
+ }
34
+ export declare class LineageManager {
35
+ private readonly connection;
36
+ private cachedLineage;
37
+ constructor(connection: ConnectionManager);
38
+ /**
39
+ * Get full lineage info for this agent (parent, children, generation).
40
+ * Cached after first call — spawn tree is immutable on-chain.
41
+ */
42
+ getLineage(): Promise<LineageInfo>;
43
+ /** Get this agent's parent info, or null if root deployment. */
44
+ getParent(): Promise<SpawnParent | null>;
45
+ /** Get this agent's direct children. */
46
+ getChildren(): Promise<SpawnChild[]>;
47
+ /** Get siblings (children of this agent's parent, excluding self). */
48
+ getSiblings(): Promise<SpawnChild[]>;
49
+ /** Whether this agent was spawned (not root deployed). */
50
+ isSpawn(): Promise<boolean>;
51
+ /**
52
+ * Inherit filtered memories from parent agent.
53
+ * Only works for spawned agents. No-op for root deployments.
54
+ * Returns the number of memories inherited.
55
+ */
56
+ inheritFromParent(filter?: {
57
+ types?: string[];
58
+ tags?: string[];
59
+ minImportance?: number;
60
+ maxMemories?: number;
61
+ }): Promise<{
62
+ inherited: number;
63
+ total: number;
64
+ parentAddress: string | null;
65
+ }>;
66
+ /** Clear cached lineage (e.g., if new children were spawned). */
67
+ clearCache(): void;
68
+ }
69
+ //# sourceMappingURL=lineage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineage.d.ts","sourceRoot":"","sources":["../src/lineage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,aAAa,CAA4B;gBAErC,UAAU,EAAE,iBAAiB;IAIzC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAOxC,gEAAgE;IAC1D,SAAS,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAM9C,wCAAwC;IAClC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAS1C,sEAAsE;IAChE,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAS1C,0DAA0D;IACpD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjC;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAU/E,iEAAiE;IACjE,UAAU,IAAI,IAAI;CAGnB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Lineage manager — spawn tree navigation for forged agents.
3
+ *
4
+ * Lets agents discover their parent, children, and siblings
5
+ * in the on-chain spawn tree (AgentFactory contract).
6
+ *
7
+ * @module lineage
8
+ */
9
+ // ─── Manager ──────────────────────────────────────────────────────────────────
10
+ export class LineageManager {
11
+ connection;
12
+ cachedLineage = null;
13
+ constructor(connection) {
14
+ this.connection = connection;
15
+ }
16
+ /**
17
+ * Get full lineage info for this agent (parent, children, generation).
18
+ * Cached after first call — spawn tree is immutable on-chain.
19
+ */
20
+ async getLineage() {
21
+ if (this.cachedLineage)
22
+ return this.cachedLineage;
23
+ const result = await this.connection.request("GET", "/v1/forge/lineage/self");
24
+ this.cachedLineage = result;
25
+ return result;
26
+ }
27
+ /** Get this agent's parent info, or null if root deployment. */
28
+ async getParent() {
29
+ const lineage = await this.getLineage();
30
+ if (!lineage.parentAddress)
31
+ return null;
32
+ return this.connection.request("GET", `/v1/forge/parent/${lineage.parentAddress}`);
33
+ }
34
+ /** Get this agent's direct children. */
35
+ async getChildren() {
36
+ const lineage = await this.getLineage();
37
+ if (lineage.childAddresses.length === 0)
38
+ return [];
39
+ const result = await this.connection.request("GET", `/v1/forge/tree/${lineage.address}`);
40
+ return result.children ?? [];
41
+ }
42
+ /** Get siblings (children of this agent's parent, excluding self). */
43
+ async getSiblings() {
44
+ const lineage = await this.getLineage();
45
+ if (!lineage.parentAddress)
46
+ return [];
47
+ const result = await this.connection.request("GET", `/v1/forge/tree/${lineage.parentAddress}`);
48
+ return (result.children ?? []).filter(c => c.address !== lineage.address);
49
+ }
50
+ /** Whether this agent was spawned (not root deployed). */
51
+ async isSpawn() {
52
+ const lineage = await this.getLineage();
53
+ return lineage.isSpawn;
54
+ }
55
+ /**
56
+ * Inherit filtered memories from parent agent.
57
+ * Only works for spawned agents. No-op for root deployments.
58
+ * Returns the number of memories inherited.
59
+ */
60
+ async inheritFromParent(filter) {
61
+ const lineage = await this.getLineage();
62
+ if (!lineage.isSpawn) {
63
+ return { inherited: 0, total: 0, parentAddress: null };
64
+ }
65
+ return this.connection.request("POST", "/v1/forge/inherit", filter ?? {});
66
+ }
67
+ /** Clear cached lineage (e.g., if new children were spawned). */
68
+ clearCache() {
69
+ this.cachedLineage = null;
70
+ }
71
+ }
72
+ //# sourceMappingURL=lineage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lineage.js","sourceRoot":"","sources":["../src/lineage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiCH,iFAAiF;AAEjF,MAAM,OAAO,cAAc;IACR,UAAU,CAAoB;IACvC,aAAa,GAAuB,IAAI,CAAC;IAEjD,YAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAc,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAC3F,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,SAAS;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAc,KAAK,EAAE,oBAAoB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,KAAK,EAAE,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAC3C,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC1C,KAAK,EAAE,kBAAkB,OAAO,CAAC,aAAa,EAAE,CACjD,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAKvB;QACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAC5B,MAAM,EAAE,mBAAmB,EAAE,MAAM,IAAI,EAAE,CAC1C,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,UAAU;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * PresetLoader — loads forge preset data into agent memory at boot.
3
+ *
4
+ * Reads the preset section of nookplot.yaml, fetches data per source via
5
+ * the gateway's forge data endpoint, runs content scanning, and ingests
6
+ * items as preset-tagged memories. Supports layered ingestion: RAG when
7
+ * available, memory.import() fallback.
8
+ *
9
+ * Features:
10
+ * - Content scanning (sanitizeForPrompt) on every item
11
+ * - Idempotent loading via .preset-loaded.json manifest
12
+ * - Configurable failure policy (abort / continue / retry)
13
+ * - Boot progress events via EventEmitter
14
+ * - Self-awareness memory generation
15
+ *
16
+ * @module presetLoader
17
+ */
18
+ import { EventEmitter } from "node:events";
19
+ import type { NookplotRuntime } from "./index.js";
20
+ export interface PresetConfig {
21
+ id: string;
22
+ version?: number;
23
+ trustLevel?: "verified" | "scanned" | "raw";
24
+ failurePolicy?: "abort" | "continue";
25
+ maxCostNook?: number;
26
+ sources?: Array<{
27
+ type: string;
28
+ label?: string;
29
+ config: Record<string, unknown>;
30
+ }>;
31
+ }
32
+ export interface PresetLoadResult {
33
+ sources: Array<{
34
+ type: string;
35
+ label: string;
36
+ itemsLoaded: number;
37
+ itemsBlocked: number;
38
+ itemsSkipped: number;
39
+ method: "memory" | "rag" | "prompt";
40
+ status: "loaded" | "partial" | "failed";
41
+ error?: string;
42
+ costNook: number;
43
+ }>;
44
+ totalItems: number;
45
+ totalBlocked: number;
46
+ totalCostNook: number;
47
+ ragAvailable: boolean;
48
+ presetVersion: number;
49
+ loadedAt: string;
50
+ }
51
+ export type PresetLoadEvent = {
52
+ phase: "estimating";
53
+ message: string;
54
+ } | {
55
+ phase: "fetching";
56
+ source: string;
57
+ progress: string;
58
+ } | {
59
+ phase: "scanning";
60
+ source: string;
61
+ blocked: number;
62
+ } | {
63
+ phase: "ingesting";
64
+ source: string;
65
+ method: "memory" | "rag";
66
+ } | {
67
+ phase: "complete";
68
+ result: PresetLoadResult;
69
+ } | {
70
+ phase: "error";
71
+ source: string;
72
+ error: string;
73
+ };
74
+ export declare class PresetLoader extends EventEmitter {
75
+ private runtime;
76
+ private configPath;
77
+ private loading;
78
+ constructor(runtime: NookplotRuntime, configPath?: string);
79
+ /**
80
+ * Load all preset data sources. Called once at agent boot.
81
+ * Concurrent calls are coalesced — only the first triggers a fetch,
82
+ * subsequent callers await the same promise (prevents double-pay).
83
+ */
84
+ load(): Promise<PresetLoadResult>;
85
+ private _doLoad;
86
+ /**
87
+ * Check if preset data was already loaded (idempotent reboot check).
88
+ */
89
+ isLoaded(): Promise<boolean>;
90
+ /**
91
+ * Map preset source type to knowledge graph knowledge_type.
92
+ */
93
+ private mapSourceToKnowledgeType;
94
+ /**
95
+ * Map preset source type to knowledge graph source_type.
96
+ */
97
+ private mapSourceToKGSourceType;
98
+ /**
99
+ * Ingest a KnowledgeAggregateV1 into the knowledge graph as structured items.
100
+ * Same decomposition as ingestAggregate but targets the KG endpoint.
101
+ */
102
+ private ingestAggregateToKG;
103
+ /**
104
+ * Ingest a KnowledgeAggregateV1 as structured memories.
105
+ * Uses 5-7x fewer memory slots than equivalent raw traces:
106
+ * - Synthesis → semantic memory (importance 0.9)
107
+ * - Each keyInsight → procedural memory (confidence-weighted)
108
+ * - Each reasoning pattern → procedural memory
109
+ * - Contradictions → self_model memory
110
+ *
111
+ * Returns the number of memories stored.
112
+ */
113
+ private ingestAggregate;
114
+ private readConfig;
115
+ private readManifest;
116
+ private writeManifest;
117
+ /**
118
+ * Lightweight client-side severity assessment.
119
+ * Full ContentScanner runs server-side; this is a first pass.
120
+ */
121
+ private assessSeverity;
122
+ private emptyResult;
123
+ private manifestToResult;
124
+ }
125
+ //# sourceMappingURL=presetLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presetLoader.d.ts","sourceRoot":"","sources":["../src/presetLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;IAC5C,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;QACpC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAA;CAAE,GAChE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AActD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAA0C;gBAE7C,OAAO,EAAE,eAAe,EAAE,UAAU,SAAoB;IAMpE;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;YAUzB,OAAO;IAgVrB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;OAGG;YACW,mBAAmB;IAuIjC;;;;;;;;;OASG;YACW,eAAe;YAgHf,UAAU;YAYV,YAAY;YASZ,aAAa;IAQ3B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,gBAAgB;CAWzB"}