@inkeep/agents-sdk 0.0.0-dev-20250910233133

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 (59) hide show
  1. package/LICENSE.md +56 -0
  2. package/README.md +53 -0
  3. package/dist/__tests__/utils/testTenant.d.ts +7 -0
  4. package/dist/__tests__/utils/testTenant.d.ts.map +1 -0
  5. package/dist/__tests__/utils/testTenant.js +10 -0
  6. package/dist/__tests__/utils/testTenant.js.map +1 -0
  7. package/dist/agent.d.ts +39 -0
  8. package/dist/agent.d.ts.map +1 -0
  9. package/dist/agent.js +513 -0
  10. package/dist/agent.js.map +1 -0
  11. package/dist/artifact-component.d.ts +27 -0
  12. package/dist/artifact-component.d.ts.map +1 -0
  13. package/dist/artifact-component.js +118 -0
  14. package/dist/artifact-component.js.map +1 -0
  15. package/dist/builders.d.ts +211 -0
  16. package/dist/builders.d.ts.map +1 -0
  17. package/dist/builders.js +244 -0
  18. package/dist/builders.js.map +1 -0
  19. package/dist/data-component.d.ts +25 -0
  20. package/dist/data-component.d.ts.map +1 -0
  21. package/dist/data-component.js +114 -0
  22. package/dist/data-component.js.map +1 -0
  23. package/dist/environment-settings.d.ts +28 -0
  24. package/dist/environment-settings.d.ts.map +1 -0
  25. package/dist/environment-settings.js +79 -0
  26. package/dist/environment-settings.js.map +1 -0
  27. package/dist/externalAgent.d.ts +58 -0
  28. package/dist/externalAgent.d.ts.map +1 -0
  29. package/dist/externalAgent.js +163 -0
  30. package/dist/externalAgent.js.map +1 -0
  31. package/dist/graph.d.ts +200 -0
  32. package/dist/graph.d.ts.map +1 -0
  33. package/dist/graph.js +1322 -0
  34. package/dist/graph.js.map +1 -0
  35. package/dist/graphFullClient.d.ts +22 -0
  36. package/dist/graphFullClient.d.ts.map +1 -0
  37. package/dist/graphFullClient.js +189 -0
  38. package/dist/graphFullClient.js.map +1 -0
  39. package/dist/index.d.ts +11 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +10 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/module-hosted-tool-manager.d.ts +37 -0
  44. package/dist/module-hosted-tool-manager.d.ts.map +1 -0
  45. package/dist/module-hosted-tool-manager.js +378 -0
  46. package/dist/module-hosted-tool-manager.js.map +1 -0
  47. package/dist/runner.d.ts +38 -0
  48. package/dist/runner.d.ts.map +1 -0
  49. package/dist/runner.js +164 -0
  50. package/dist/runner.js.map +1 -0
  51. package/dist/tool.d.ts +29 -0
  52. package/dist/tool.d.ts.map +1 -0
  53. package/dist/tool.js +122 -0
  54. package/dist/tool.js.map +1 -0
  55. package/dist/types.d.ts +286 -0
  56. package/dist/types.d.ts.map +1 -0
  57. package/dist/types.js +39 -0
  58. package/dist/types.js.map +1 -0
  59. package/package.json +62 -0
package/dist/agent.js ADDED
@@ -0,0 +1,513 @@
1
+ import { getLogger, } from "@inkeep/agents-core";
2
+ import { ArtifactComponent } from "./artifact-component";
3
+ import { DataComponent } from "./data-component";
4
+ const logger = getLogger("agent");
5
+ // Helper function to resolve getter functions
6
+ function resolveGetter(value) {
7
+ if (typeof value === "function") {
8
+ return value();
9
+ }
10
+ return value;
11
+ }
12
+ export class Agent {
13
+ config;
14
+ type = "internal";
15
+ baseURL;
16
+ tenantId;
17
+ projectId;
18
+ initialized = false;
19
+ constructor(config) {
20
+ this.config = { ...config, type: "internal" };
21
+ this.baseURL = process.env.INKEEP_API_URL || "http://localhost:3002";
22
+ this.tenantId = config.tenantId || "default";
23
+ this.projectId = config.projectId || "default";
24
+ logger.info({
25
+ tenantId: this.tenantId,
26
+ agentId: this.config.id,
27
+ agentName: config.name,
28
+ }, "Agent constructor initialized");
29
+ }
30
+ // Return the configured ID
31
+ getId() {
32
+ return this.config.id;
33
+ }
34
+ // Agent introspection methods
35
+ getName() {
36
+ return this.config.name;
37
+ }
38
+ getInstructions() {
39
+ return this.config.prompt;
40
+ }
41
+ getTools() {
42
+ const tools = resolveGetter(this.config.tools);
43
+ if (!tools) {
44
+ return {};
45
+ }
46
+ // Tools must be an array from the getter function
47
+ if (!Array.isArray(tools)) {
48
+ throw new Error("tools getter must return an array");
49
+ }
50
+ // Convert array to record using tool id or name as key
51
+ const toolRecord = {};
52
+ for (const tool of tools) {
53
+ if (tool && typeof tool === "object") {
54
+ const id = tool.id || tool.getId?.() || tool.name;
55
+ if (id) {
56
+ toolRecord[id] = tool;
57
+ }
58
+ }
59
+ }
60
+ return toolRecord;
61
+ }
62
+ getModels() {
63
+ return this.config.models;
64
+ }
65
+ setModels(models) {
66
+ this.config.models = models;
67
+ }
68
+ getTransfers() {
69
+ return typeof this.config.canTransferTo === "function"
70
+ ? this.config.canTransferTo()
71
+ : [];
72
+ }
73
+ getDelegates() {
74
+ return typeof this.config.canDelegateTo === "function"
75
+ ? this.config.canDelegateTo()
76
+ : [];
77
+ }
78
+ getDataComponents() {
79
+ return resolveGetter(this.config.dataComponents) || [];
80
+ }
81
+ getArtifactComponents() {
82
+ return resolveGetter(this.config.artifactComponents) || [];
83
+ }
84
+ addTool(_name, tool) {
85
+ // Tools must now be a getter function returning an array
86
+ const existingTools = this.config.tools ? this.config.tools() : [];
87
+ this.config.tools = () => [...existingTools, tool];
88
+ }
89
+ addTransfer(...agents) {
90
+ if (typeof this.config.canTransferTo === "function") {
91
+ // If already a function, we need to combine the results
92
+ const existingTransfers = this.config.canTransferTo;
93
+ this.config.canTransferTo = () => [...existingTransfers(), ...agents];
94
+ }
95
+ else {
96
+ // Convert to function-based transfers
97
+ this.config.canTransferTo = () => agents;
98
+ }
99
+ }
100
+ addDelegate(...agents) {
101
+ if (typeof this.config.canDelegateTo === "function") {
102
+ const existingDelegates = this.config.canDelegateTo;
103
+ this.config.canDelegateTo = () => [...existingDelegates(), ...agents];
104
+ }
105
+ else {
106
+ this.config.canDelegateTo = () => agents;
107
+ }
108
+ }
109
+ // Public method to ensure agent exists in backend (with upsert behavior)
110
+ async init() {
111
+ if (this.initialized)
112
+ return;
113
+ try {
114
+ // Always attempt to upsert the agent
115
+ await this.upsertAgent();
116
+ // Load existing data components from database and merge with config
117
+ await this.loadDataComponents();
118
+ // Load existing artifact components from database and merge with config
119
+ await this.loadArtifactComponents();
120
+ // Setup tools and relations
121
+ await this.saveToolsAndRelations();
122
+ await this.saveDataComponents();
123
+ await this.saveArtifactComponents();
124
+ logger.info({
125
+ agentId: this.getId(),
126
+ }, "Agent initialized successfully");
127
+ this.initialized = true;
128
+ }
129
+ catch (error) {
130
+ logger.error({
131
+ agentId: this.getId(),
132
+ error: error instanceof Error ? error.message : "Unknown error",
133
+ }, "Failed to initialize agent");
134
+ throw error;
135
+ }
136
+ }
137
+ // Private method to upsert agent (create or update)
138
+ async upsertAgent() {
139
+ const agentData = {
140
+ id: this.getId(),
141
+ name: this.config.name,
142
+ description: this.config.description || "",
143
+ prompt: this.config.prompt,
144
+ conversationHistoryConfig: this.config.conversationHistoryConfig,
145
+ models: this.config.models,
146
+ stopWhen: this.config.stopWhen,
147
+ };
148
+ // First try to update (in case agent exists)
149
+ const updateResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/agents/${this.getId()}`, {
150
+ method: "PUT",
151
+ headers: {
152
+ "Content-Type": "application/json",
153
+ },
154
+ body: JSON.stringify(agentData),
155
+ });
156
+ if (updateResponse.ok) {
157
+ logger.info({
158
+ agentId: this.getId(),
159
+ }, "Agent updated successfully");
160
+ return;
161
+ }
162
+ // If update failed with 404, agent doesn't exist - create it
163
+ if (updateResponse.status === 404) {
164
+ logger.info({
165
+ agentId: this.getId(),
166
+ }, "Agent not found, creating new agent");
167
+ const createResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/agents`, {
168
+ method: "POST",
169
+ headers: {
170
+ "Content-Type": "application/json",
171
+ },
172
+ body: JSON.stringify(agentData),
173
+ });
174
+ if (!createResponse.ok) {
175
+ const errorText = await createResponse
176
+ .text()
177
+ .catch(() => "Unknown error");
178
+ throw new Error(`Failed to create agent: ${createResponse.status} ${createResponse.statusText} - ${errorText}`);
179
+ }
180
+ logger.info({
181
+ agentId: this.getId(),
182
+ }, "Agent created successfully");
183
+ return;
184
+ }
185
+ // Update failed for some other reason
186
+ const errorText = await updateResponse.text().catch(() => "Unknown error");
187
+ throw new Error(`Failed to update agent: ${updateResponse.status} ${updateResponse.statusText} - ${errorText}`);
188
+ }
189
+ async saveToolsAndRelations() {
190
+ logger.info({
191
+ transfers: this.getTransfers(),
192
+ delegates: this.getDelegates(),
193
+ tools: this.config.tools,
194
+ }, "transfers, delegates, and tools");
195
+ // Setup tools using your existing SDK
196
+ if (this.config.tools) {
197
+ logger.info({ tools: this.config.tools }, "tools and config");
198
+ for (const [toolId, toolConfig] of Object.entries(this.config.tools)) {
199
+ await this.createTool(toolId, toolConfig);
200
+ }
201
+ }
202
+ // Note: Transfer and delegate relations are managed by the AgentGraph, not individual agents
203
+ }
204
+ async saveDataComponents() {
205
+ logger.info({ dataComponents: this.config.dataComponents }, "dataComponents and config");
206
+ const components = resolveGetter(this.config.dataComponents);
207
+ if (components) {
208
+ for (const dataComponent of components) {
209
+ await this.createDataComponent(dataComponent);
210
+ }
211
+ }
212
+ }
213
+ async saveArtifactComponents() {
214
+ logger.info({ artifactComponents: this.config.artifactComponents }, "artifactComponents and config");
215
+ const components = resolveGetter(this.config.artifactComponents);
216
+ if (components) {
217
+ for (const artifactComponent of components) {
218
+ await this.createArtifactComponent(artifactComponent);
219
+ }
220
+ }
221
+ }
222
+ async loadDataComponents() {
223
+ try {
224
+ // Import the getDataComponentsForAgent function
225
+ // TODO: Load data components from database for this agent
226
+ // This needs to be replaced with an HTTP API call
227
+ const existingComponents = [];
228
+ // const existingComponents = await getDataComponentsForAgent(dbClient)({
229
+ // scopes: { tenantId: this.tenantId, projectId: this.projectId },
230
+ // agentId: this.getId(),
231
+ // });
232
+ // Convert database format to config format
233
+ const dbDataComponents = existingComponents.map((component) => ({
234
+ id: component.id,
235
+ tenantId: component.tenantId || this.tenantId,
236
+ projectId: component.projectId || this.projectId,
237
+ name: component.name,
238
+ description: component.description,
239
+ props: component.props,
240
+ createdAt: component.createdAt,
241
+ updatedAt: component.updatedAt,
242
+ }));
243
+ // Merge with existing config data components (config takes precedence)
244
+ const configComponents = resolveGetter(this.config.dataComponents) || [];
245
+ const allComponents = [...dbDataComponents, ...configComponents];
246
+ // Remove duplicates (config components override database ones with same id)
247
+ const uniqueComponents = allComponents.reduce((acc, component) => {
248
+ const existingIndex = acc.findIndex((c) => c.id === component.id);
249
+ if (existingIndex >= 0) {
250
+ // Replace with the later one (config takes precedence)
251
+ acc[existingIndex] = component;
252
+ }
253
+ else {
254
+ acc.push(component);
255
+ }
256
+ return acc;
257
+ }, []);
258
+ // Update the config with merged components
259
+ this.config.dataComponents = uniqueComponents;
260
+ logger.info({
261
+ agentId: this.getId(),
262
+ dbComponentCount: dbDataComponents.length,
263
+ configComponentCount: configComponents.length,
264
+ totalComponentCount: uniqueComponents.length,
265
+ }, "Loaded and merged data components");
266
+ }
267
+ catch (error) {
268
+ logger.error({
269
+ agentId: this.getId(),
270
+ error: error instanceof Error ? error.message : "Unknown error",
271
+ }, "Failed to load data components from database");
272
+ // Don't throw - continue with just config components
273
+ }
274
+ }
275
+ async loadArtifactComponents() {
276
+ try {
277
+ // TODO: Load artifact components from database for this agent
278
+ // This needs to be replaced with an HTTP API call
279
+ const existingComponents = [];
280
+ // const existingComponents = await getArtifactComponentsForAgent(dbClient)({
281
+ // scopes: { tenantId: this.tenantId, projectId: this.projectId },
282
+ // agentId: this.getId(),
283
+ // });
284
+ // Convert database format to config format
285
+ const dbArtifactComponents = existingComponents.map((component) => ({
286
+ id: component.id,
287
+ tenantId: component.tenantId || this.tenantId,
288
+ projectId: component.projectId || this.projectId,
289
+ name: component.name,
290
+ description: component.description,
291
+ summaryProps: component.summaryProps,
292
+ fullProps: component.fullProps,
293
+ createdAt: component.createdAt,
294
+ updatedAt: component.updatedAt,
295
+ }));
296
+ // Merge with existing config artifact components (config takes precedence)
297
+ const configComponents = resolveGetter(this.config.artifactComponents) || [];
298
+ const allComponents = [...dbArtifactComponents, ...configComponents];
299
+ // Remove duplicates (config components override database ones with same id)
300
+ const uniqueComponents = allComponents.reduce((acc, component) => {
301
+ const existingIndex = acc.findIndex((c) => c.id === component.id);
302
+ if (existingIndex >= 0) {
303
+ // Replace with the later one (config takes precedence)
304
+ acc[existingIndex] = component;
305
+ }
306
+ else {
307
+ acc.push(component);
308
+ }
309
+ return acc;
310
+ }, []);
311
+ // Update the config with merged components
312
+ this.config.artifactComponents = uniqueComponents;
313
+ logger.info({
314
+ agentId: this.getId(),
315
+ dbComponentCount: dbArtifactComponents.length,
316
+ configComponentCount: configComponents.length,
317
+ totalComponentCount: uniqueComponents.length,
318
+ }, "Loaded and merged artifact components");
319
+ }
320
+ catch (error) {
321
+ logger.error({
322
+ agentId: this.getId(),
323
+ error: error instanceof Error ? error.message : "Unknown error",
324
+ }, "Failed to load artifact components from database");
325
+ // Don't throw - continue with just config components
326
+ }
327
+ }
328
+ async createTool(toolId, toolConfig) {
329
+ try {
330
+ // Check if this is a function tool (has type: 'function')
331
+ if (toolConfig.type === "function") {
332
+ logger.info({
333
+ agentId: this.getId(),
334
+ toolId,
335
+ toolType: "function",
336
+ }, "Skipping function tool creation - will be handled at runtime");
337
+ return;
338
+ }
339
+ // Import tool classes to check instances
340
+ const { Tool } = await import("./tool.js");
341
+ let tool;
342
+ // Check if this is already a tool instance
343
+ if (toolConfig instanceof Tool) {
344
+ logger.info({
345
+ agentId: this.getId(),
346
+ toolId,
347
+ toolType: "Tool",
348
+ }, "Initializing Tool instance");
349
+ tool = toolConfig;
350
+ await tool.init();
351
+ }
352
+ else {
353
+ // Legacy: create MCP tool from config
354
+ logger.info({
355
+ agentId: this.getId(),
356
+ toolId,
357
+ toolType: "legacy-config",
358
+ }, "Creating Tool from config");
359
+ tool = new Tool({
360
+ id: toolId,
361
+ tenantId: this.tenantId,
362
+ name: toolConfig.name || toolId,
363
+ description: toolConfig.description || `MCP tool: ${toolId}`,
364
+ serverUrl: toolConfig.config?.serverUrl ||
365
+ toolConfig.serverUrl ||
366
+ "http://localhost:3000",
367
+ activeTools: toolConfig.config?.mcp?.activeTools,
368
+ credential: toolConfig.credential,
369
+ });
370
+ await tool.init();
371
+ }
372
+ // Create the agent-tool relation with credential reference
373
+ await this.createAgentToolRelation(tool.getId());
374
+ logger.info({
375
+ agentId: this.getId(),
376
+ toolId: tool.getId(),
377
+ }, "Tool created and linked to agent");
378
+ }
379
+ catch (error) {
380
+ logger.error({
381
+ agentId: this.getId(),
382
+ toolId,
383
+ error: error instanceof Error ? error.message : "Unknown error",
384
+ }, "Failed to create tool");
385
+ }
386
+ }
387
+ async createDataComponent(dataComponent) {
388
+ try {
389
+ // Create a DataComponent instance from the config
390
+ const dc = new DataComponent({
391
+ tenantId: this.tenantId,
392
+ projectId: this.projectId,
393
+ name: dataComponent.name,
394
+ description: dataComponent.description,
395
+ props: dataComponent.props,
396
+ });
397
+ // Initialize the data component (this handles creation/update)
398
+ await dc.init();
399
+ // Create the agent-dataComponent association
400
+ await this.createAgentDataComponentRelation(dc.getId());
401
+ logger.info({
402
+ agentId: this.getId(),
403
+ dataComponentId: dc.getId(),
404
+ }, "DataComponent created and linked to agent");
405
+ }
406
+ catch (error) {
407
+ logger.error({
408
+ agentId: this.getId(),
409
+ dataComponentName: dataComponent.name,
410
+ error: error instanceof Error ? error.message : "Unknown error",
411
+ }, "Failed to create data component");
412
+ // Re-throw the error so tests can catch it
413
+ throw error;
414
+ }
415
+ }
416
+ async createArtifactComponent(artifactComponent) {
417
+ try {
418
+ // Create an ArtifactComponent instance from the config
419
+ const ac = new ArtifactComponent({
420
+ tenantId: this.tenantId,
421
+ projectId: this.projectId,
422
+ name: artifactComponent.name,
423
+ description: artifactComponent.description,
424
+ summaryProps: artifactComponent.summaryProps,
425
+ fullProps: artifactComponent.fullProps,
426
+ });
427
+ // Initialize the artifact component (this handles creation/update)
428
+ await ac.init();
429
+ // Create the agent-artifactComponent association
430
+ await this.createAgentArtifactComponentRelation(ac.getId());
431
+ logger.info({
432
+ agentId: this.getId(),
433
+ artifactComponentId: ac.getId(),
434
+ }, "ArtifactComponent created and linked to agent");
435
+ }
436
+ catch (error) {
437
+ logger.error({
438
+ agentId: this.getId(),
439
+ artifactComponentName: artifactComponent.name,
440
+ error: error instanceof Error ? error.message : "Unknown error",
441
+ }, "Failed to create artifact component");
442
+ // Re-throw the error so tests can catch it
443
+ throw error;
444
+ }
445
+ }
446
+ async createAgentDataComponentRelation(dataComponentId) {
447
+ const relationResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/agent-data-components`, {
448
+ method: "POST",
449
+ headers: {
450
+ "Content-Type": "application/json",
451
+ },
452
+ body: JSON.stringify({
453
+ id: `${this.getId()}-dc-${dataComponentId}`,
454
+ tenantId: this.tenantId,
455
+ agentId: this.getId(),
456
+ dataComponentId: dataComponentId,
457
+ }),
458
+ });
459
+ if (!relationResponse.ok) {
460
+ throw new Error(`Failed to create agent-dataComponent relation: ${relationResponse.status} ${relationResponse.statusText}`);
461
+ }
462
+ logger.info({
463
+ agentId: this.getId(),
464
+ dataComponentId,
465
+ }, "Created agent-dataComponent relation");
466
+ }
467
+ async createAgentArtifactComponentRelation(artifactComponentId) {
468
+ const relationResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/agent-artifact-components`, {
469
+ method: "POST",
470
+ headers: {
471
+ "Content-Type": "application/json",
472
+ },
473
+ body: JSON.stringify({
474
+ id: crypto.randomUUID(),
475
+ tenantId: this.tenantId,
476
+ agentId: this.getId(),
477
+ artifactComponentId: artifactComponentId,
478
+ }),
479
+ });
480
+ if (!relationResponse.ok) {
481
+ throw new Error(`Failed to create agent-artifactComponent relation: ${relationResponse.status} ${relationResponse.statusText}`);
482
+ }
483
+ logger.info({
484
+ agentId: this.getId(),
485
+ artifactComponentId,
486
+ }, "Created agent-artifactComponent relation");
487
+ }
488
+ async createAgentToolRelation(toolId) {
489
+ const relationResponse = await fetch(`${this.baseURL}/tenants/${this.tenantId}/crud/agent-tool-relations`, {
490
+ method: "POST",
491
+ headers: {
492
+ "Content-Type": "application/json",
493
+ },
494
+ body: JSON.stringify({
495
+ id: `${this.getId()}-tool-${toolId}`,
496
+ tenantId: this.tenantId,
497
+ agentId: this.getId(),
498
+ toolId: toolId,
499
+ }),
500
+ });
501
+ if (!relationResponse.ok) {
502
+ const errorBody = await relationResponse
503
+ .text()
504
+ .catch(() => "Unknown error");
505
+ throw new Error(`Failed to create agent-tool relation: ${relationResponse.status} - ${errorBody}`);
506
+ }
507
+ }
508
+ }
509
+ // Factory function for creating agents - similar to contextConfig() pattern
510
+ export function agent(config) {
511
+ return new Agent(config);
512
+ }
513
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,SAAS,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAElC,8CAA8C;AAC9C,SAAS,aAAa,CAAI,KAAgC;IACzD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QACjC,OAAQ,KAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,KAAsB,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,KAAK;IACV,MAAM,CAAc;IACX,IAAI,GAAG,UAAmB,CAAC;IACnC,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,WAAW,GAAG,KAAK,CAAC;IAC5B,YAAY,MAAmB;QAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,uBAAuB,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;QAE/C,MAAM,CAAC,IAAI,CACV;YACC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YACvB,SAAS,EAAE,MAAM,CAAC,IAAI;SACtB,EACD,+BAA+B,CAC/B,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,KAAK;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,OAAO;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,QAAQ;QACP,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACX,CAAC;QACD,kDAAkD;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QACD,uDAAuD;QACvD,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,EAAE,GACN,IAAY,CAAC,EAAE,IAAK,IAAY,CAAC,KAAK,EAAE,EAAE,IAAK,IAAY,CAAC,IAAI,CAAC;gBACnE,IAAI,EAAE,EAAE,CAAC;oBACR,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACvB,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,MAAiC;QAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,YAAY;QACX,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,UAAU;YACrD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC7B,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,YAAY;QACX,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,UAAU;YACrD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC7B,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,iBAAiB;QAChB,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,qBAAqB;QACpB,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,IAAa;QACnC,yDAAyD;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,GAAG,MAAwB;QACtC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACrD,wDAAwD;YACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,iBAAiB,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACP,sCAAsC;YACtC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,WAAW,CAAC,GAAG,MAA2B;QACzC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,iBAAiB,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,IAAI;QACT,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC;YACJ,qCAAqC;YACrC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEzB,oEAAoE;YACpE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,wEAAwE;YACxE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,4BAA4B;YAC5B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;aACrB,EACD,gCAAgC,CAChC,CAAC;YAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,EACD,4BAA4B,CAC5B,CAAC;YACF,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED,oDAAoD;IAC5C,KAAK,CAAC,WAAW;QACxB,MAAM,SAAS,GAAG;YACjB,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB;YAChE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC9B,CAAC;QAEF,6CAA6C;QAC7C,MAAM,cAAc,GAAG,MAAM,KAAK,CACjC,GAAG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,QAAQ,gBAAgB,IAAI,CAAC,KAAK,EAAE,EAAE,EACtE;YACC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SAC/B,CACD,CAAC;QAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;aACrB,EACD,4BAA4B,CAC5B,CAAC;YACF,OAAO;QACR,CAAC;QAED,6DAA6D;QAC7D,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;aACrB,EACD,qCAAqC,CACrC,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,KAAK,CACjC,GAAG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,QAAQ,cAAc,EACtD;gBACC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;aAC/B,CACD,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,MAAM,cAAc;qBACpC,IAAI,EAAE;qBACN,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACd,2BAA2B,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,MAAM,SAAS,EAAE,CAC9F,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;aACrB,EACD,4BAA4B,CAC5B,CAAC;YACF,OAAO;QACR,CAAC;QAED,sCAAsC;QACtC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAC3E,MAAM,IAAI,KAAK,CACd,2BAA2B,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,MAAM,SAAS,EAAE,CAC9F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAClC,MAAM,CAAC,IAAI,CACV;YACC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACxB,EACD,iCAAiC,CACjC,CAAC;QAEF,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;QAED,6FAA6F;IAC9F,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,MAAM,CAAC,IAAI,CACV,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAC9C,2BAA2B,CAC3B,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE,CAAC;YAChB,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,sBAAsB;QACnC,MAAM,CAAC,IAAI,CACV,EAAE,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EACtD,+BAA+B,CAC/B,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,UAAU,EAAE,CAAC;YAChB,KAAK,MAAM,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC;YACJ,gDAAgD;YAEhD,0DAA0D;YAC1D,kDAAkD;YAClD,MAAM,kBAAkB,GAA6B,EAAE,CAAC;YACxD,yEAAyE;YACzE,oEAAoE;YACpE,2BAA2B;YAC3B,MAAM;YAEN,2CAA2C;YAC3C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,CAAC;gBACpE,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBAC7C,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;gBAChD,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC,CAAC,CAAC;YAEJ,uEAAuE;YACvE,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,CAAC;YAEjE,4EAA4E;YAC5E,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBAChE,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACxB,uDAAuD;oBACvD,GAAG,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,GAAG,CAAC;YACZ,CAAC,EAAE,EAA8B,CAAC,CAAC;YAEnC,2CAA2C;YAC3C,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,gBAAuB,CAAC;YAErD,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,gBAAgB,EAAE,gBAAgB,CAAC,MAAM;gBACzC,oBAAoB,EAAE,gBAAgB,CAAC,MAAM;gBAC7C,mBAAmB,EAAE,gBAAgB,CAAC,MAAM;aAC5C,EACD,mCAAmC,CACnC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,EACD,8CAA8C,CAC9C,CAAC;YACF,qDAAqD;QACtD,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,sBAAsB;QACnC,IAAI,CAAC;YACJ,8DAA8D;YAC9D,kDAAkD;YAClD,MAAM,kBAAkB,GAAiC,EAAE,CAAC;YAC5D,6EAA6E;YAC7E,oEAAoE;YACpE,2BAA2B;YAC3B,MAAM;YAEN,2CAA2C;YAC3C,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,CAAC;gBACxE,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBAC7C,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;gBAChD,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC,CAAC,CAAC;YAEJ,2EAA2E;YAC3E,MAAM,gBAAgB,GACrB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,gBAAgB,CAAC,CAAC;YAErE,4EAA4E;YAC5E,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;gBAChE,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACxB,uDAAuD;oBACvD,GAAG,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,GAAG,CAAC;YACZ,CAAC,EAAE,EAAkC,CAAC,CAAC;YAEvC,2CAA2C;YAC3C,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,gBAAuB,CAAC;YAEzD,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,gBAAgB,EAAE,oBAAoB,CAAC,MAAM;gBAC7C,oBAAoB,EAAE,gBAAgB,CAAC,MAAM;gBAC7C,mBAAmB,EAAE,gBAAgB,CAAC,MAAM;aAC5C,EACD,uCAAuC,CACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,EACD,kDAAkD,CAClD,CAAC;YACF,qDAAqD;QACtD,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,UAAe;QACvD,IAAI,CAAC;YACJ,0DAA0D;YAC1D,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CACV;oBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;oBACrB,MAAM;oBACN,QAAQ,EAAE,UAAU;iBACpB,EACD,8DAA8D,CAC9D,CAAC;gBACF,OAAO;YACR,CAAC;YAED,yCAAyC;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAE3C,IAAI,IAAS,CAAC;YAEd,2CAA2C;YAC3C,IAAI,UAAU,YAAY,IAAI,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CACV;oBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;oBACrB,MAAM;oBACN,QAAQ,EAAE,MAAM;iBAChB,EACD,4BAA4B,CAC5B,CAAC;gBACF,IAAI,GAAG,UAAU,CAAC;gBAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACP,sCAAsC;gBACtC,MAAM,CAAC,IAAI,CACV;oBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;oBACrB,MAAM;oBACN,QAAQ,EAAE,eAAe;iBACzB,EACD,2BAA2B,CAC3B,CAAC;gBACF,IAAI,GAAG,IAAI,IAAI,CAAC;oBACf,EAAE,EAAE,MAAM;oBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,MAAM;oBAC/B,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,aAAa,MAAM,EAAE;oBAC5D,SAAS,EACR,UAAU,CAAC,MAAM,EAAE,SAAS;wBAC5B,UAAU,CAAC,SAAS;wBACpB,uBAAuB;oBACxB,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW;oBAChD,UAAU,EAAE,UAAU,CAAC,UAAU;iBACjC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;YAED,2DAA2D;YAC3D,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjD,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;aACpB,EACD,kCAAkC,CAClC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,MAAM;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,EACD,uBAAuB,CACvB,CAAC;QACH,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAChC,aAAqC;QAErC,IAAI,CAAC;YACJ,kDAAkD;YAClD,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,KAAK,EAAE,aAAa,CAAC,KAAK;aAC1B,CAAC,CAAC;YAEH,+DAA+D;YAC/D,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAEhB,6CAA6C;YAC7C,MAAM,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAExD,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,eAAe,EAAE,EAAE,CAAC,KAAK,EAAE;aAC3B,EACD,2CAA2C,CAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,iBAAiB,EAAE,aAAa,CAAC,IAAI;gBACrC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,EACD,iCAAiC,CACjC,CAAC;YACF,2CAA2C;YAC3C,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACpC,iBAA6C;QAE7C,IAAI,CAAC;YACJ,uDAAuD;YACvD,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,iBAAiB,CAAC,IAAI;gBAC5B,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,YAAY,EAAE,iBAAiB,CAAC,YAAY;gBAC5C,SAAS,EAAE,iBAAiB,CAAC,SAAS;aACtC,CAAC,CAAC;YAEH,mEAAmE;YACnE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAEhB,iDAAiD;YACjD,MAAM,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAE5D,MAAM,CAAC,IAAI,CACV;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE;aAC/B,EACD,+CAA+C,CAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX;gBACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,qBAAqB,EAAE,iBAAiB,CAAC,IAAI;gBAC7C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,EACD,qCAAqC,CACrC,CAAC;YACF,2CAA2C;YAC3C,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAC7C,eAAuB;QAEvB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CACnC,GAAG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,QAAQ,6BAA6B,EACrE;YACC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,eAAe,EAAE;gBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,eAAe,EAAE,eAAe;aAChC,CAAC;SACF,CACD,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACd,kDAAkD,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAC1G,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CACV;YACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;YACrB,eAAe;SACf,EACD,sCAAsC,CACtC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oCAAoC,CACjD,mBAA2B;QAE3B,MAAM,gBAAgB,GAAG,MAAM,KAAK,CACnC,GAAG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,QAAQ,iCAAiC,EACzE;YACC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,mBAAmB,EAAE,mBAAmB;aACxC,CAAC;SACF,CACD,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACd,sDAAsD,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAC9G,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CACV;YACC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;YACrB,mBAAmB;SACnB,EACD,0CAA0C,CAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,MAAc;QACnD,MAAM,gBAAgB,GAAG,MAAM,KAAK,CACnC,GAAG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,QAAQ,4BAA4B,EACpE;YACC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE;gBACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrB,MAAM,EAAE,MAAM;aACd,CAAC;SACF,CACD,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,MAAM,gBAAgB;iBACtC,IAAI,EAAE;iBACN,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;YAC/B,MAAM,IAAI,KAAK,CACd,yCAAyC,gBAAgB,CAAC,MAAM,MAAM,SAAS,EAAE,CACjF,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,4EAA4E;AAC5E,MAAM,UAAU,KAAK,CAAC,MAAmB;IACxC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type ArtifactComponentInsert as ArtifactComponentType } from "@inkeep/agents-core";
2
+ export interface ArtifactComponentInterface {
3
+ config: Omit<ArtifactComponentType, "id">;
4
+ init(): Promise<void>;
5
+ getId(): ArtifactComponentType["id"];
6
+ getName(): ArtifactComponentType["name"];
7
+ getDescription(): ArtifactComponentType["description"];
8
+ getSummaryProps(): ArtifactComponentType["summaryProps"];
9
+ getFullProps(): ArtifactComponentType["fullProps"];
10
+ }
11
+ export declare class ArtifactComponent implements ArtifactComponentInterface {
12
+ config: ArtifactComponentType;
13
+ private baseURL;
14
+ private tenantId;
15
+ private projectId;
16
+ private initialized;
17
+ private id;
18
+ constructor(config: Omit<ArtifactComponentType, "id">);
19
+ getId(): string;
20
+ getName(): string;
21
+ getDescription(): string;
22
+ getSummaryProps(): ArtifactComponentType["summaryProps"];
23
+ getFullProps(): ArtifactComponentType["fullProps"];
24
+ init(): Promise<void>;
25
+ private upsertArtifactComponent;
26
+ }
27
+ //# sourceMappingURL=artifact-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-component.d.ts","sourceRoot":"","sources":["../src/artifact-component.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,uBAAuB,IAAI,qBAAqB,EAGrD,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACzC,cAAc,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACvD,eAAe,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACzD,YAAY,IAAI,qBAAqB,CAAC,WAAW,CAAC,CAAC;CACnD;AAED,qBAAa,iBAAkB,YAAW,0BAA0B;IAC5D,MAAM,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,EAAE,CAA8B;gBAE5B,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC;IAsBrD,KAAK,IAAI,MAAM;IAIf,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIxB,eAAe,IAAI,qBAAqB,CAAC,cAAc,CAAC;IAIxD,YAAY,IAAI,qBAAqB,CAAC,WAAW,CAAC;IAK5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YA4Bb,uBAAuB;CAwFrC"}