@agentick/core 0.0.1 → 0.1.9

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 (160) hide show
  1. package/dist/.tsbuildinfo.build +1 -1
  2. package/package.json +8 -3
  3. package/dist/.tsbuildinfo +0 -1
  4. package/dist/agent.d.ts +0 -32
  5. package/dist/agent.d.ts.map +0 -1
  6. package/dist/agent.js +0 -26
  7. package/dist/agent.js.map +0 -1
  8. package/dist/aidk-instance.d.ts +0 -294
  9. package/dist/aidk-instance.d.ts.map +0 -1
  10. package/dist/aidk-instance.js +0 -340
  11. package/dist/aidk-instance.js.map +0 -1
  12. package/dist/compiler/content-block-registry.d.ts +0 -11
  13. package/dist/compiler/content-block-registry.d.ts.map +0 -1
  14. package/dist/compiler/content-block-registry.js +0 -312
  15. package/dist/compiler/content-block-registry.js.map +0 -1
  16. package/dist/compiler/extractors.d.ts +0 -68
  17. package/dist/compiler/extractors.d.ts.map +0 -1
  18. package/dist/compiler/extractors.js +0 -547
  19. package/dist/compiler/extractors.js.map +0 -1
  20. package/dist/compiler/fiber.d.ts +0 -61
  21. package/dist/compiler/fiber.d.ts.map +0 -1
  22. package/dist/compiler/fiber.js +0 -244
  23. package/dist/compiler/fiber.js.map +0 -1
  24. package/dist/component/tentickle-component.d.ts +0 -185
  25. package/dist/component/tentickle-component.d.ts.map +0 -1
  26. package/dist/component/tentickle-component.js +0 -182
  27. package/dist/component/tentickle-component.js.map +0 -1
  28. package/dist/core/channel-helpers.d.ts +0 -31
  29. package/dist/core/channel-helpers.d.ts.map +0 -1
  30. package/dist/core/channel-helpers.js +0 -62
  31. package/dist/core/channel-helpers.js.map +0 -1
  32. package/dist/core/channel.d.ts +0 -164
  33. package/dist/core/channel.d.ts.map +0 -1
  34. package/dist/core/channel.js +0 -199
  35. package/dist/core/channel.js.map +0 -1
  36. package/dist/core/context.d.ts +0 -412
  37. package/dist/core/context.d.ts.map +0 -1
  38. package/dist/core/context.js +0 -290
  39. package/dist/core/context.js.map +0 -1
  40. package/dist/core/event-buffer.d.ts +0 -212
  41. package/dist/core/event-buffer.d.ts.map +0 -1
  42. package/dist/core/event-buffer.js +0 -346
  43. package/dist/core/event-buffer.js.map +0 -1
  44. package/dist/core/execution-helpers.d.ts +0 -179
  45. package/dist/core/execution-helpers.d.ts.map +0 -1
  46. package/dist/core/execution-helpers.js +0 -212
  47. package/dist/core/execution-helpers.js.map +0 -1
  48. package/dist/core/execution-tracker.d.ts +0 -53
  49. package/dist/core/execution-tracker.d.ts.map +0 -1
  50. package/dist/core/execution-tracker.js +0 -309
  51. package/dist/core/execution-tracker.js.map +0 -1
  52. package/dist/core/index.d.ts +0 -58
  53. package/dist/core/index.d.ts.map +0 -1
  54. package/dist/core/index.js +0 -58
  55. package/dist/core/index.js.map +0 -1
  56. package/dist/core/logger.d.ts +0 -341
  57. package/dist/core/logger.d.ts.map +0 -1
  58. package/dist/core/logger.js +0 -346
  59. package/dist/core/logger.js.map +0 -1
  60. package/dist/core/metrics-helpers.d.ts +0 -40
  61. package/dist/core/metrics-helpers.d.ts.map +0 -1
  62. package/dist/core/metrics-helpers.js +0 -72
  63. package/dist/core/metrics-helpers.js.map +0 -1
  64. package/dist/core/otel-provider.d.ts +0 -54
  65. package/dist/core/otel-provider.d.ts.map +0 -1
  66. package/dist/core/otel-provider.js +0 -107
  67. package/dist/core/otel-provider.js.map +0 -1
  68. package/dist/core/procedure-graph.d.ts +0 -136
  69. package/dist/core/procedure-graph.d.ts.map +0 -1
  70. package/dist/core/procedure-graph.js +0 -272
  71. package/dist/core/procedure-graph.js.map +0 -1
  72. package/dist/core/procedure.d.ts +0 -755
  73. package/dist/core/procedure.d.ts.map +0 -1
  74. package/dist/core/procedure.js +0 -899
  75. package/dist/core/procedure.js.map +0 -1
  76. package/dist/core/stream.d.ts +0 -106
  77. package/dist/core/stream.d.ts.map +0 -1
  78. package/dist/core/stream.js +0 -186
  79. package/dist/core/stream.js.map +0 -1
  80. package/dist/core/telemetry.d.ts +0 -182
  81. package/dist/core/telemetry.d.ts.map +0 -1
  82. package/dist/core/telemetry.js +0 -124
  83. package/dist/core/telemetry.js.map +0 -1
  84. package/dist/engine/execution-graph.d.ts +0 -104
  85. package/dist/engine/execution-graph.d.ts.map +0 -1
  86. package/dist/engine/execution-graph.js +0 -257
  87. package/dist/engine/execution-graph.js.map +0 -1
  88. package/dist/hooks/policy-context.d.ts.map +0 -1
  89. package/dist/jsx/components/agent.d.ts +0 -64
  90. package/dist/jsx/components/agent.d.ts.map +0 -1
  91. package/dist/jsx/components/agent.js +0 -80
  92. package/dist/jsx/components/agent.js.map +0 -1
  93. package/dist/model/simple-adapter.d.ts +0 -176
  94. package/dist/model/simple-adapter.d.ts.map +0 -1
  95. package/dist/model/simple-adapter.js +0 -264
  96. package/dist/model/simple-adapter.js.map +0 -1
  97. package/dist/state/boundary.d.ts +0 -347
  98. package/dist/state/boundary.d.ts.map +0 -1
  99. package/dist/state/boundary.js +0 -341
  100. package/dist/state/boundary.js.map +0 -1
  101. package/dist/state/context.d.ts +0 -138
  102. package/dist/state/context.d.ts.map +0 -1
  103. package/dist/state/context.js +0 -139
  104. package/dist/state/context.js.map +0 -1
  105. package/dist/state/hooks.d.ts +0 -798
  106. package/dist/state/hooks.d.ts.map +0 -1
  107. package/dist/state/hooks.js +0 -1437
  108. package/dist/state/hooks.js.map +0 -1
  109. package/dist/state/index.d.ts +0 -72
  110. package/dist/state/index.d.ts.map +0 -1
  111. package/dist/state/index.js +0 -73
  112. package/dist/state/index.js.map +0 -1
  113. package/dist/state/signal.d.ts +0 -223
  114. package/dist/state/signal.d.ts.map +0 -1
  115. package/dist/state/signal.js +0 -699
  116. package/dist/state/signal.js.map +0 -1
  117. package/dist/state/use-state.d.ts +0 -210
  118. package/dist/state/use-state.d.ts.map +0 -1
  119. package/dist/state/use-state.js +0 -327
  120. package/dist/state/use-state.js.map +0 -1
  121. package/dist/tentickle-instance.d.ts +0 -285
  122. package/dist/tentickle-instance.d.ts.map +0 -1
  123. package/dist/tentickle-instance.js +0 -700
  124. package/dist/tentickle-instance.js.map +0 -1
  125. package/dist/testing/test-model.d.ts +0 -132
  126. package/dist/testing/test-model.d.ts.map +0 -1
  127. package/dist/testing/test-model.js +0 -260
  128. package/dist/testing/test-model.js.map +0 -1
  129. package/dist/v2/reconciler/host-config.d.ts +0 -31
  130. package/dist/v2/reconciler/host-config.d.ts.map +0 -1
  131. package/dist/v2/reconciler/host-config.js +0 -197
  132. package/dist/v2/reconciler/host-config.js.map +0 -1
  133. package/dist/v2/reconciler/index.d.ts +0 -7
  134. package/dist/v2/reconciler/index.d.ts.map +0 -1
  135. package/dist/v2/reconciler/index.js +0 -7
  136. package/dist/v2/reconciler/index.js.map +0 -1
  137. package/dist/v2/reconciler/reconciler.d.ts +0 -39
  138. package/dist/v2/reconciler/reconciler.d.ts.map +0 -1
  139. package/dist/v2/reconciler/reconciler.js +0 -54
  140. package/dist/v2/reconciler/reconciler.js.map +0 -1
  141. package/dist/v2/reconciler/types.d.ts +0 -64
  142. package/dist/v2/reconciler/types.d.ts.map +0 -1
  143. package/dist/v2/reconciler/types.js +0 -20
  144. package/dist/v2/reconciler/types.js.map +0 -1
  145. package/dist/v2/renderers/index.d.ts +0 -7
  146. package/dist/v2/renderers/index.d.ts.map +0 -1
  147. package/dist/v2/renderers/index.js +0 -7
  148. package/dist/v2/renderers/index.js.map +0 -1
  149. package/dist/v2/renderers/markdown.d.ts +0 -16
  150. package/dist/v2/renderers/markdown.d.ts.map +0 -1
  151. package/dist/v2/renderers/markdown.js +0 -65
  152. package/dist/v2/renderers/markdown.js.map +0 -1
  153. package/dist/v2/renderers/types.d.ts +0 -26
  154. package/dist/v2/renderers/types.d.ts.map +0 -1
  155. package/dist/v2/renderers/types.js +0 -6
  156. package/dist/v2/renderers/types.js.map +0 -1
  157. package/dist/v2/renderers/xml.d.ts +0 -17
  158. package/dist/v2/renderers/xml.d.ts.map +0 -1
  159. package/dist/v2/renderers/xml.js +0 -73
  160. package/dist/v2/renderers/xml.js.map +0 -1
@@ -1,136 +0,0 @@
1
- /**
2
- * Procedure status
3
- */
4
- export type ProcedureStatus = "running" | "completed" | "failed" | "cancelled";
5
- /**
6
- * Procedure node stored in the graph
7
- */
8
- export declare class ProcedureNode {
9
- readonly pid: string;
10
- readonly parentPid?: string;
11
- readonly name?: string;
12
- status: ProcedureStatus;
13
- readonly startedAt: Date;
14
- completedAt?: Date;
15
- error?: Error;
16
- metadata?: Record<string, any>;
17
- readonly graph: ProcedureGraph;
18
- metrics: Record<string, number>;
19
- readonly executionId: string;
20
- readonly isExecutionBoundary: boolean;
21
- readonly executionType?: string;
22
- constructor(graph: ProcedureGraph, pid: string, parentPid?: string, name?: string, metadata?: Record<string, any>, executionId?: string, isExecutionBoundary?: boolean, executionType?: string);
23
- /**
24
- * Add metric value (accumulates)
25
- */
26
- addMetric(key: string, value: number): void;
27
- /**
28
- * Set metric value (overwrites)
29
- */
30
- setMetric(key: string, value: number): void;
31
- /**
32
- * Get metric value
33
- */
34
- getMetric(key: string): number;
35
- /**
36
- * Merge metrics from another node (for propagation)
37
- */
38
- mergeMetrics(sourceMetrics: Record<string, number>): void;
39
- complete(): void;
40
- fail(error: Error): void;
41
- cancel(): void;
42
- /**
43
- * Get duration in milliseconds (undefined if not completed)
44
- */
45
- get durationMs(): number | undefined;
46
- getParentNode(): ProcedureNode | undefined;
47
- getChildrenNodes(): ProcedureNode[];
48
- hasAncestor(predicate: (node: ProcedureNode) => boolean): boolean;
49
- }
50
- /**
51
- * Procedure graph for tracking parent-child relationships
52
- */
53
- export declare class ProcedureGraph {
54
- private procedures;
55
- private childrenMap;
56
- private rootPid?;
57
- /**
58
- * Register a new procedure
59
- *
60
- * @param pid Procedure ID
61
- * @param parentPid Parent procedure ID (undefined for root)
62
- * @param name Procedure name (e.g., 'model:generate', 'tool:run')
63
- * @param metadata Optional metadata
64
- * @param executionId Execution ID this procedure belongs to
65
- * @param isExecutionBoundary Whether this procedure is an execution entry point
66
- * @param executionType Type of execution (derived from procedure name prefix)
67
- */
68
- register(pid: string, parentPid?: string, name?: string, metadata?: Record<string, any>, executionId?: string, isExecutionBoundary?: boolean, executionType?: string): ProcedureNode;
69
- /**
70
- * Get procedure node by PID
71
- */
72
- get(pid: string): ProcedureNode | undefined;
73
- /**
74
- * Get parent PID
75
- */
76
- getParent(pid: string): string | undefined;
77
- /**
78
- * Get parent node
79
- */
80
- getParentNode(pid: string): ProcedureNode | undefined;
81
- /**
82
- * Get child procedure PIDs
83
- */
84
- getChildren(parentPid: string): string[];
85
- /**
86
- * Get child procedure nodes
87
- */
88
- getChildNodes(parentPid: string): ProcedureNode[];
89
- /**
90
- * Propagate metrics from child to parent
91
- */
92
- propagateMetrics(childPid: string): void;
93
- /**
94
- * Update procedure status
95
- */
96
- updateStatus(pid: string, status: ProcedureStatus, error?: Error): void;
97
- /**
98
- * Clear all procedures
99
- */
100
- clear(): void;
101
- /**
102
- * Get the root procedure node (O(1) lookup)
103
- */
104
- getRoot(): ProcedureNode | undefined;
105
- /**
106
- * Get the root procedure PID
107
- */
108
- getRootPid(): string | undefined;
109
- /**
110
- * Get all procedure nodes
111
- */
112
- getAllNodes(): ProcedureNode[];
113
- /**
114
- * Get count of procedures
115
- */
116
- getCount(): number;
117
- /**
118
- * Check if any ancestor (parent chain) matches a predicate
119
- * Traverses up the parent chain starting from the given PID
120
- *
121
- * @param pid Starting procedure PID
122
- * @param predicate Function to test each ancestor node
123
- * @returns True if any ancestor matches, false otherwise
124
- */
125
- hasAncestor(pid: string, predicate: (node: ProcedureNode) => boolean): boolean;
126
- /**
127
- * Check if any ancestor has a specific procedure name
128
- * Useful for determining if a procedure was called by Engine vs direct application call
129
- *
130
- * @param pid Starting procedure PID
131
- * @param name Procedure name to search for (e.g., 'engine:execute', 'engine:stream')
132
- * @returns True if any ancestor has the specified name
133
- */
134
- hasAncestorWithName(pid: string, name: string): boolean;
135
- }
136
- //# sourceMappingURL=procedure-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure-graph.d.ts","sourceRoot":"","sources":["../../src/core/procedure-graph.ts"],"names":[],"mappings":"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"}
@@ -1,272 +0,0 @@
1
- /**
2
- * Procedure node stored in the graph
3
- */
4
- export class ProcedureNode {
5
- pid;
6
- parentPid;
7
- name;
8
- status;
9
- startedAt;
10
- completedAt;
11
- error;
12
- metadata;
13
- graph;
14
- // Metrics stored in node (not context)
15
- metrics = {};
16
- // Execution boundary fields - tracks which logical execution this procedure belongs to
17
- executionId;
18
- isExecutionBoundary;
19
- executionType;
20
- constructor(graph, pid, parentPid, name, metadata, executionId, isExecutionBoundary, executionType) {
21
- this.graph = graph;
22
- this.pid = pid;
23
- this.parentPid = parentPid;
24
- this.name = name;
25
- this.status = "running";
26
- this.startedAt = new Date();
27
- this.metadata = metadata;
28
- // Execution boundary: defaults to self as execution if not provided
29
- this.executionId = executionId ?? pid;
30
- this.isExecutionBoundary = isExecutionBoundary ?? false;
31
- this.executionType = executionType;
32
- }
33
- /**
34
- * Add metric value (accumulates)
35
- */
36
- addMetric(key, value) {
37
- this.metrics[key] = (this.metrics[key] || 0) + value;
38
- }
39
- /**
40
- * Set metric value (overwrites)
41
- */
42
- setMetric(key, value) {
43
- this.metrics[key] = value;
44
- }
45
- /**
46
- * Get metric value
47
- */
48
- getMetric(key) {
49
- return this.metrics[key] || 0;
50
- }
51
- /**
52
- * Merge metrics from another node (for propagation)
53
- */
54
- mergeMetrics(sourceMetrics) {
55
- for (const [key, value] of Object.entries(sourceMetrics)) {
56
- this.metrics[key] = (this.metrics[key] || 0) + value;
57
- }
58
- }
59
- complete() {
60
- this.status = "completed";
61
- this.completedAt = new Date();
62
- }
63
- fail(error) {
64
- this.status = "failed";
65
- this.completedAt = new Date();
66
- this.error = error;
67
- }
68
- cancel() {
69
- this.status = "cancelled";
70
- this.completedAt = new Date();
71
- }
72
- /**
73
- * Get duration in milliseconds (undefined if not completed)
74
- */
75
- get durationMs() {
76
- if (!this.completedAt) {
77
- return undefined;
78
- }
79
- return this.completedAt.getTime() - this.startedAt.getTime();
80
- }
81
- getParentNode() {
82
- return this.parentPid ? this.graph.get(this.parentPid) : undefined;
83
- }
84
- getChildrenNodes() {
85
- return this.graph.getChildNodes(this.pid);
86
- }
87
- hasAncestor(predicate) {
88
- return this.graph.hasAncestor(this.pid, predicate);
89
- }
90
- }
91
- /**
92
- * Procedure graph for tracking parent-child relationships
93
- */
94
- export class ProcedureGraph {
95
- procedures = new Map();
96
- childrenMap = new Map(); // parentPid -> Set<childPid>
97
- rootPid; // Cached root procedure PID
98
- /**
99
- * Register a new procedure
100
- *
101
- * @param pid Procedure ID
102
- * @param parentPid Parent procedure ID (undefined for root)
103
- * @param name Procedure name (e.g., 'model:generate', 'tool:run')
104
- * @param metadata Optional metadata
105
- * @param executionId Execution ID this procedure belongs to
106
- * @param isExecutionBoundary Whether this procedure is an execution entry point
107
- * @param executionType Type of execution (derived from procedure name prefix)
108
- */
109
- register(pid, parentPid, name, metadata, executionId, isExecutionBoundary, executionType) {
110
- const node = new ProcedureNode(this, pid, parentPid, name, metadata, executionId, isExecutionBoundary, executionType);
111
- this.procedures.set(pid, node);
112
- // Track parent-child relationship
113
- if (parentPid) {
114
- if (!this.childrenMap.has(parentPid)) {
115
- this.childrenMap.set(parentPid, new Set());
116
- }
117
- this.childrenMap.get(parentPid).add(pid);
118
- }
119
- else {
120
- // This is a root procedure - cache it
121
- this.rootPid = pid;
122
- }
123
- return node;
124
- }
125
- /**
126
- * Get procedure node by PID
127
- */
128
- get(pid) {
129
- return this.procedures.get(pid);
130
- }
131
- /**
132
- * Get parent PID
133
- */
134
- getParent(pid) {
135
- return this.procedures.get(pid)?.parentPid;
136
- }
137
- /**
138
- * Get parent node
139
- */
140
- getParentNode(pid) {
141
- const node = this.procedures.get(pid);
142
- return node?.parentPid ? this.procedures.get(node.parentPid) : undefined;
143
- }
144
- /**
145
- * Get child procedure PIDs
146
- */
147
- getChildren(parentPid) {
148
- const childPids = this.childrenMap.get(parentPid);
149
- return childPids ? Array.from(childPids) : [];
150
- }
151
- /**
152
- * Get child procedure nodes
153
- */
154
- getChildNodes(parentPid) {
155
- return this.getChildren(parentPid)
156
- .map((pid) => this.procedures.get(pid))
157
- .filter((node) => node !== undefined);
158
- }
159
- /**
160
- * Propagate metrics from child to parent
161
- */
162
- propagateMetrics(childPid) {
163
- const childNode = this.procedures.get(childPid);
164
- if (!childNode || !childNode.parentPid) {
165
- return;
166
- }
167
- const parentNode = this.procedures.get(childNode.parentPid);
168
- if (parentNode) {
169
- parentNode.mergeMetrics(childNode.metrics);
170
- }
171
- }
172
- /**
173
- * Update procedure status
174
- */
175
- updateStatus(pid, status, error) {
176
- const node = this.procedures.get(pid);
177
- if (!node) {
178
- return;
179
- }
180
- if (status === "completed") {
181
- node.complete();
182
- // Propagate metrics to parent on completion
183
- this.propagateMetrics(pid);
184
- }
185
- else if (status === "failed" && error) {
186
- node.fail(error);
187
- // Still propagate metrics even on failure
188
- this.propagateMetrics(pid);
189
- }
190
- else if (status === "cancelled") {
191
- node.cancel();
192
- }
193
- else {
194
- node.status = status;
195
- }
196
- }
197
- /**
198
- * Clear all procedures
199
- */
200
- clear() {
201
- this.procedures.clear();
202
- this.childrenMap.clear();
203
- this.rootPid = undefined;
204
- }
205
- /**
206
- * Get the root procedure node (O(1) lookup)
207
- */
208
- getRoot() {
209
- return this.rootPid ? this.procedures.get(this.rootPid) : undefined;
210
- }
211
- /**
212
- * Get the root procedure PID
213
- */
214
- getRootPid() {
215
- return this.rootPid;
216
- }
217
- /**
218
- * Get all procedure nodes
219
- */
220
- getAllNodes() {
221
- return Array.from(this.procedures.values());
222
- }
223
- /**
224
- * Get count of procedures
225
- */
226
- getCount() {
227
- return this.procedures.size;
228
- }
229
- /**
230
- * Check if any ancestor (parent chain) matches a predicate
231
- * Traverses up the parent chain starting from the given PID
232
- *
233
- * @param pid Starting procedure PID
234
- * @param predicate Function to test each ancestor node
235
- * @returns True if any ancestor matches, false otherwise
236
- */
237
- hasAncestor(pid, predicate) {
238
- const node = this.procedures.get(pid);
239
- if (!node) {
240
- return false;
241
- }
242
- // Check current node
243
- if (predicate(node)) {
244
- return true;
245
- }
246
- // Traverse up parent chain
247
- let currentNode = node;
248
- while (currentNode) {
249
- const parentNode = currentNode.getParentNode();
250
- if (!parentNode) {
251
- break;
252
- }
253
- if (predicate(parentNode)) {
254
- return true;
255
- }
256
- currentNode = parentNode;
257
- }
258
- return false;
259
- }
260
- /**
261
- * Check if any ancestor has a specific procedure name
262
- * Useful for determining if a procedure was called by Engine vs direct application call
263
- *
264
- * @param pid Starting procedure PID
265
- * @param name Procedure name to search for (e.g., 'engine:execute', 'engine:stream')
266
- * @returns True if any ancestor has the specified name
267
- */
268
- hasAncestorWithName(pid, name) {
269
- return this.hasAncestor(pid, (node) => node.name === name);
270
- }
271
- }
272
- //# sourceMappingURL=procedure-graph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure-graph.js","sourceRoot":"","sources":["../../src/core/procedure-graph.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,aAAa;IACR,GAAG,CAAS;IACZ,SAAS,CAAU;IACnB,IAAI,CAAU;IACvB,MAAM,CAAkB;IACf,SAAS,CAAO;IACzB,WAAW,CAAQ;IACnB,KAAK,CAAS;IACd,QAAQ,CAAuB;IACtB,KAAK,CAAiB;IAEtC,uCAAuC;IAChC,OAAO,GAA2B,EAAE,CAAC;IAE5C,uFAAuF;IACvE,WAAW,CAAS;IACpB,mBAAmB,CAAU;IAC7B,aAAa,CAAU;IAEvC,YACE,KAAqB,EACrB,GAAW,EACX,SAAkB,EAClB,IAAa,EACb,QAA8B,EAC9B,WAAoB,EACpB,mBAA6B,EAC7B,aAAsB;QAEtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,oEAAoE;QACpE,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,GAAG,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,aAAqC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QACvD,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,KAAY;QACf,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,SAA2C;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAc;IACjB,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,6BAA6B;IAC3E,OAAO,CAAU,CAAC,4BAA4B;IAEtD;;;;;;;;;;OAUG;IACH,QAAQ,CACN,GAAW,EACX,SAAkB,EAClB,IAAa,EACb,QAA8B,EAC9B,WAAoB,EACpB,mBAA6B,EAC7B,aAAsB;QAEtB,MAAM,IAAI,GAAG,IAAI,aAAa,CAC5B,IAAI,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,aAAa,CACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE/B,kCAAkC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAW;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAiB;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAW,EAAE,MAAuB,EAAE,KAAa;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,4CAA4C;YAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,0CAA0C;YAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,GAAW,EAAE,SAA2C;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qBAAqB;QACrB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2BAA2B;QAC3B,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM;YACR,CAAC;YAED,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,WAAW,GAAG,UAAU,CAAC;QAC3B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,GAAW,EAAE,IAAY;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,CAAC;CACF"}