@agentuity/cli 0.1.7 → 0.1.8

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 (92) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +53 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -1
  5. package/dist/cmd/build/vite/agent-discovery.js +159 -16
  6. package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
  7. package/dist/cmd/build/vite/docs-generator.d.ts.map +1 -1
  8. package/dist/cmd/build/vite/docs-generator.js +8 -4
  9. package/dist/cmd/build/vite/docs-generator.js.map +1 -1
  10. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
  11. package/dist/cmd/build/vite/registry-generator.js +27 -4
  12. package/dist/cmd/build/vite/registry-generator.js.map +1 -1
  13. package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -1
  14. package/dist/cmd/build/vite/server-bundler.js.map +1 -1
  15. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  16. package/dist/cmd/build/vite/vite-asset-server-config.js +5 -2
  17. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  18. package/dist/cmd/canary/index.d.ts.map +1 -1
  19. package/dist/cmd/canary/index.js.map +1 -1
  20. package/dist/cmd/cloud/deploy.js +1 -1
  21. package/dist/cmd/cloud/deploy.js.map +1 -1
  22. package/dist/cmd/git/account/add.js +1 -1
  23. package/dist/cmd/git/account/add.js.map +1 -1
  24. package/dist/cmd/git/account/list.js +1 -1
  25. package/dist/cmd/git/account/list.js.map +1 -1
  26. package/dist/cmd/git/account/remove.js +1 -1
  27. package/dist/cmd/git/account/remove.js.map +1 -1
  28. package/dist/cmd/git/api.d.ts.map +1 -0
  29. package/dist/cmd/git/api.js.map +1 -0
  30. package/dist/cmd/git/link.js +1 -1
  31. package/dist/cmd/git/link.js.map +1 -1
  32. package/dist/cmd/git/list.js +1 -1
  33. package/dist/cmd/git/list.js.map +1 -1
  34. package/dist/cmd/git/status.js +1 -1
  35. package/dist/cmd/git/status.js.map +1 -1
  36. package/dist/cmd/git/unlink.js +1 -1
  37. package/dist/cmd/git/unlink.js.map +1 -1
  38. package/dist/cmd/index.d.ts.map +1 -1
  39. package/dist/cmd/index.js +0 -1
  40. package/dist/cmd/index.js.map +1 -1
  41. package/dist/cmd/project/auth/generate.js.map +1 -1
  42. package/dist/cmd/project/auth/init.js.map +1 -1
  43. package/dist/cmd/project/template-flow.js.map +1 -1
  44. package/dist/utils/dependency-checker.d.ts.map +1 -1
  45. package/dist/utils/dependency-checker.js +5 -1
  46. package/dist/utils/dependency-checker.js.map +1 -1
  47. package/package.json +6 -6
  48. package/src/cli.ts +63 -3
  49. package/src/cmd/build/vite/agent-discovery.ts +209 -16
  50. package/src/cmd/build/vite/docs-generator.ts +8 -4
  51. package/src/cmd/build/vite/registry-generator.ts +29 -4
  52. package/src/cmd/build/vite/server-bundler.ts +1 -4
  53. package/src/cmd/build/vite/vite-asset-server-config.ts +5 -2
  54. package/src/cmd/canary/index.ts +3 -1
  55. package/src/cmd/cloud/deploy.ts +1 -1
  56. package/src/cmd/git/account/add.ts +1 -1
  57. package/src/cmd/git/account/list.ts +1 -1
  58. package/src/cmd/git/account/remove.ts +1 -1
  59. package/src/cmd/git/link.ts +1 -1
  60. package/src/cmd/git/list.ts +1 -1
  61. package/src/cmd/git/status.ts +1 -1
  62. package/src/cmd/git/unlink.ts +1 -1
  63. package/src/cmd/index.ts +0 -1
  64. package/src/cmd/project/auth/generate.ts +4 -4
  65. package/src/cmd/project/auth/init.ts +2 -2
  66. package/src/cmd/project/template-flow.ts +3 -3
  67. package/src/utils/dependency-checker.ts +6 -2
  68. package/dist/cmd/integration/api.d.ts.map +0 -1
  69. package/dist/cmd/integration/api.js.map +0 -1
  70. package/dist/cmd/integration/github/connect.d.ts +0 -2
  71. package/dist/cmd/integration/github/connect.d.ts.map +0 -1
  72. package/dist/cmd/integration/github/connect.js +0 -197
  73. package/dist/cmd/integration/github/connect.js.map +0 -1
  74. package/dist/cmd/integration/github/disconnect.d.ts +0 -2
  75. package/dist/cmd/integration/github/disconnect.d.ts.map +0 -1
  76. package/dist/cmd/integration/github/disconnect.js +0 -121
  77. package/dist/cmd/integration/github/disconnect.js.map +0 -1
  78. package/dist/cmd/integration/github/index.d.ts +0 -2
  79. package/dist/cmd/integration/github/index.d.ts.map +0 -1
  80. package/dist/cmd/integration/github/index.js +0 -21
  81. package/dist/cmd/integration/github/index.js.map +0 -1
  82. package/dist/cmd/integration/index.d.ts +0 -2
  83. package/dist/cmd/integration/index.d.ts.map +0 -1
  84. package/dist/cmd/integration/index.js +0 -16
  85. package/dist/cmd/integration/index.js.map +0 -1
  86. package/src/cmd/integration/github/connect.ts +0 -242
  87. package/src/cmd/integration/github/disconnect.ts +0 -149
  88. package/src/cmd/integration/github/index.ts +0 -21
  89. package/src/cmd/integration/index.ts +0 -16
  90. /package/dist/cmd/{integration → git}/api.d.ts +0 -0
  91. /package/dist/cmd/{integration → git}/api.js +0 -0
  92. /package/src/cmd/{integration → git}/api.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cmd/integration/api.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const connectSubcommand: import("../../..").SubcommandDefinition;
2
- //# sourceMappingURL=connect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../src/cmd/integration/github/connect.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iBAAiB,yCAkO5B,CAAC"}
@@ -1,197 +0,0 @@
1
- import { createSubcommand } from '../../../types';
2
- import * as tui from '../../../tui';
3
- import { getCommand } from '../../../command-prefix';
4
- import { getAPIBaseURL } from '../../../api';
5
- import { ErrorCode } from '../../../errors';
6
- import { listOrganizations } from '@agentuity/server';
7
- import enquirer from 'enquirer';
8
- import { startGithubIntegration, pollForGithubIntegration, getGithubIntegrationStatus, getExistingGithubIntegrations, copyGithubIntegration, } from '../api';
9
- export const connectSubcommand = createSubcommand({
10
- name: 'connect',
11
- description: 'Connect your GitHub account to enable automatic deployments',
12
- tags: ['mutating', 'creates-resource', 'slow', 'api-intensive'],
13
- idempotent: false,
14
- requires: { auth: true, apiClient: true },
15
- examples: [
16
- {
17
- command: getCommand('integration github connect'),
18
- description: 'Connect GitHub to your organization',
19
- },
20
- ],
21
- async handler(ctx) {
22
- const { logger, apiClient } = ctx;
23
- try {
24
- // Fetch organizations
25
- const orgs = await tui.spinner({
26
- message: 'Fetching organizations...',
27
- clearOnSuccess: true,
28
- callback: () => listOrganizations(apiClient),
29
- });
30
- if (orgs.length === 0) {
31
- tui.fatal('No organizations found for your account');
32
- }
33
- // Check GitHub status for each org
34
- const orgStatuses = await tui.spinner({
35
- message: 'Checking GitHub integration status...',
36
- clearOnSuccess: true,
37
- callback: async () => {
38
- const statuses = await Promise.all(orgs.map(async (org) => {
39
- const status = await getGithubIntegrationStatus(apiClient, org.id);
40
- return {
41
- ...org,
42
- connected: status.connected,
43
- integrations: status.integrations,
44
- };
45
- }));
46
- return statuses;
47
- },
48
- });
49
- // Sort orgs alphabetically
50
- const sortedOrgs = [...orgStatuses].sort((a, b) => a.name.localeCompare(b.name));
51
- // Build choices showing integration count
52
- const choices = sortedOrgs.map((org) => {
53
- const count = org.integrations.length;
54
- const suffix = count > 0 ? tui.muted(` (${count} GitHub account${count > 1 ? 's' : ''})`) : '';
55
- return {
56
- name: org.name,
57
- message: `${org.name}${suffix}`,
58
- value: org.id,
59
- };
60
- });
61
- // Show picker
62
- const response = await enquirer.prompt({
63
- type: 'select',
64
- name: 'orgName',
65
- message: 'Select an organization to connect',
66
- choices,
67
- result(name) {
68
- // @ts-expect-error - this.map exists at runtime
69
- return this.map(name)[name];
70
- },
71
- });
72
- const orgId = response.orgName;
73
- const selectedOrg = sortedOrgs.find((o) => o.id === orgId);
74
- const orgDisplay = selectedOrg ? selectedOrg.name : orgId;
75
- const initialCount = selectedOrg?.integrations.length ?? 0;
76
- // Check if user has existing GitHub integrations in other orgs
77
- const existingIntegrations = await tui.spinner({
78
- message: 'Checking for existing GitHub connections...',
79
- clearOnSuccess: true,
80
- callback: () => getExistingGithubIntegrations(apiClient, orgId),
81
- });
82
- // Filter out integrations already connected to target org
83
- const alreadyConnectedNames = new Set(selectedOrg?.integrations.map((i) => i.githubAccountName) ?? []);
84
- const availableIntegrations = existingIntegrations.filter((i) => !alreadyConnectedNames.has(i.githubAccountName));
85
- if (availableIntegrations.length > 0) {
86
- tui.newline();
87
- // Build checkbox choices
88
- const integrationChoices = availableIntegrations.map((i) => ({
89
- name: i.id,
90
- message: `${i.githubAccountName} ${tui.muted(`(from ${i.orgName})`)}`,
91
- }));
92
- console.log(tui.muted('Press enter with none selected to connect a new account'));
93
- tui.newline();
94
- const selectResponse = await enquirer.prompt({
95
- type: 'multiselect',
96
- name: 'integrationIds',
97
- message: 'Select GitHub accounts to connect',
98
- choices: integrationChoices,
99
- });
100
- if (selectResponse.integrationIds.length > 0) {
101
- const selectedIntegrations = availableIntegrations.filter((i) => selectResponse.integrationIds.includes(i.id));
102
- const accountNames = selectedIntegrations.map((i) => i.githubAccountName).join(', ');
103
- // Confirm
104
- const confirmResponse = await enquirer.prompt({
105
- type: 'confirm',
106
- name: 'confirm',
107
- message: `Connect ${tui.bold(accountNames)} to ${tui.bold(orgDisplay)}?`,
108
- initial: true,
109
- });
110
- if (confirmResponse.confirm) {
111
- await tui.spinner({
112
- message: `Copying ${selectedIntegrations.length} GitHub connection${selectedIntegrations.length > 1 ? 's' : ''}...`,
113
- clearOnSuccess: true,
114
- callback: async () => {
115
- for (const integration of selectedIntegrations) {
116
- await copyGithubIntegration(apiClient, integration.orgId, orgId);
117
- }
118
- },
119
- });
120
- tui.newline();
121
- tui.success(`GitHub connected to ${tui.bold(orgDisplay)}`);
122
- tui.newline();
123
- console.log('You can now link repositories to your projects for automatic deployments.');
124
- return;
125
- }
126
- }
127
- }
128
- const startResult = await tui.spinner({
129
- message: 'Getting GitHub authorization URL...',
130
- clearOnSuccess: true,
131
- callback: () => startGithubIntegration(apiClient, orgId),
132
- });
133
- if (!startResult) {
134
- tui.error('Failed to get GitHub authorization URL');
135
- return;
136
- }
137
- const { shortId } = startResult;
138
- const apiBaseUrl = getAPIBaseURL(ctx.config);
139
- const url = `${apiBaseUrl}/github/connect/${shortId}`;
140
- const copied = await tui.copyToClipboard(url);
141
- tui.newline();
142
- if (copied) {
143
- console.log('GitHub authorization URL copied to clipboard! Open it in your browser:');
144
- }
145
- else {
146
- console.log('Open this URL in your browser to authorize GitHub access:');
147
- }
148
- tui.newline();
149
- console.log(` ${tui.link(url)}`);
150
- tui.newline();
151
- console.log(tui.muted('Press Enter to open in your browser, or Ctrl+C to cancel'));
152
- tui.newline();
153
- const result = await tui.spinner({
154
- type: 'countdown',
155
- message: 'Waiting for GitHub authorization',
156
- timeoutMs: 600000, // 10 minutes
157
- clearOnSuccess: true,
158
- onEnterPress: () => {
159
- const platform = process.platform;
160
- if (platform === 'win32') {
161
- Bun.spawn(['cmd', '/c', 'start', '', url], {
162
- stdout: 'ignore',
163
- stderr: 'ignore',
164
- });
165
- }
166
- else {
167
- const command = platform === 'darwin' ? 'open' : 'xdg-open';
168
- Bun.spawn([command, url], { stdout: 'ignore', stderr: 'ignore' });
169
- }
170
- },
171
- callback: async () => {
172
- return await pollForGithubIntegration(apiClient, orgId, initialCount);
173
- },
174
- });
175
- tui.newline();
176
- if (result.connected) {
177
- tui.success(`GitHub connected to ${tui.bold(orgDisplay)}`);
178
- tui.newline();
179
- console.log('You can now link repositories to your projects for automatic deployments.');
180
- }
181
- }
182
- catch (error) {
183
- // Handle user cancellation (Ctrl+C) - enquirer throws empty string or Error with empty message
184
- const isCancel = error === '' ||
185
- (error instanceof Error &&
186
- (error.message === '' || error.message === 'User cancelled'));
187
- if (isCancel) {
188
- tui.newline();
189
- tui.info('Cancelled');
190
- return;
191
- }
192
- logger.trace(error);
193
- logger.fatal('GitHub integration failed: %s', error, ErrorCode.INTEGRATION_FAILED);
194
- }
195
- },
196
- });
197
- //# sourceMappingURL=connect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/cmd/integration/github/connect.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const disconnectSubcommand: import("../../..").SubcommandDefinition;
2
- //# sourceMappingURL=disconnect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disconnect.d.ts","sourceRoot":"","sources":["../../../../src/cmd/integration/github/disconnect.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,oBAAoB,yCAwI/B,CAAC"}
@@ -1,121 +0,0 @@
1
- import { createSubcommand } from '../../../types';
2
- import * as tui from '../../../tui';
3
- import { getCommand } from '../../../command-prefix';
4
- import { ErrorCode } from '../../../errors';
5
- import { listOrganizations } from '@agentuity/server';
6
- import enquirer from 'enquirer';
7
- import { getGithubIntegrationStatus, disconnectGithubIntegration, } from '../api';
8
- export const disconnectSubcommand = createSubcommand({
9
- name: 'disconnect',
10
- description: 'Disconnect a GitHub account from your organization',
11
- tags: ['mutating', 'destructive', 'slow'],
12
- idempotent: false,
13
- requires: { auth: true, apiClient: true },
14
- examples: [
15
- {
16
- command: getCommand('integration github disconnect'),
17
- description: 'Disconnect a GitHub account from your organization',
18
- },
19
- ],
20
- async handler(ctx) {
21
- const { logger, apiClient } = ctx;
22
- try {
23
- // Fetch organizations
24
- const orgs = await tui.spinner({
25
- message: 'Fetching organizations...',
26
- clearOnSuccess: true,
27
- callback: () => listOrganizations(apiClient),
28
- });
29
- if (orgs.length === 0) {
30
- tui.fatal('No organizations found for your account');
31
- }
32
- // Check GitHub status for each org
33
- const orgStatuses = await tui.spinner({
34
- message: 'Checking GitHub integration status...',
35
- clearOnSuccess: true,
36
- callback: async () => {
37
- const statuses = await Promise.all(orgs.map(async (org) => {
38
- const status = await getGithubIntegrationStatus(apiClient, org.id);
39
- return {
40
- ...org,
41
- connected: status.connected,
42
- integrations: status.integrations,
43
- };
44
- }));
45
- return statuses;
46
- },
47
- });
48
- // Flatten all integrations across orgs
49
- const allIntegrations = [];
50
- for (const org of orgStatuses) {
51
- for (const integration of org.integrations) {
52
- allIntegrations.push({
53
- orgId: org.id,
54
- orgName: org.name,
55
- integration,
56
- });
57
- }
58
- }
59
- if (allIntegrations.length === 0) {
60
- tui.newline();
61
- tui.info('No GitHub accounts are connected.');
62
- return;
63
- }
64
- // Build choices showing GitHub account and org
65
- const choices = allIntegrations.map((item) => ({
66
- name: `${tui.bold(item.integration.githubAccountName)} ${tui.muted(`(${item.integration.githubAccountType})`)} → ${tui.bold(item.orgName)}`,
67
- value: `${item.orgId}:${item.integration.id}`,
68
- }));
69
- // Show picker
70
- const response = await enquirer.prompt({
71
- type: 'select',
72
- name: 'selection',
73
- message: 'Select a GitHub account to disconnect',
74
- choices,
75
- result(name) {
76
- // Return the value (IDs) instead of the display name
77
- const choice = choices.find((c) => c.name === name);
78
- return choice?.value ?? name;
79
- },
80
- });
81
- const colonIdx = response.selection.indexOf(':');
82
- if (colonIdx === -1) {
83
- logger.fatal('Invalid selection format');
84
- }
85
- const orgId = response.selection.slice(0, colonIdx);
86
- const integrationId = response.selection.slice(colonIdx + 1);
87
- const selected = allIntegrations.find((i) => i.orgId === orgId && i.integration.id === integrationId);
88
- const displayName = selected
89
- ? `${tui.bold(selected.integration.githubAccountName)} from ${tui.bold(selected.orgName)}`
90
- : response.selection;
91
- // Confirm
92
- const confirmed = await tui.confirm(`Are you sure you want to disconnect ${displayName}?`);
93
- if (!confirmed) {
94
- tui.newline();
95
- tui.info('Cancelled');
96
- return;
97
- }
98
- await tui.spinner({
99
- message: 'Disconnecting GitHub...',
100
- clearOnSuccess: true,
101
- callback: () => disconnectGithubIntegration(apiClient, orgId, integrationId),
102
- });
103
- tui.newline();
104
- tui.success(`Disconnected ${displayName}`);
105
- }
106
- catch (error) {
107
- // Handle user cancellation (Ctrl+C)
108
- const isCancel = error === '' ||
109
- (error instanceof Error &&
110
- (error.message === '' || error.message === 'User cancelled'));
111
- if (isCancel) {
112
- tui.newline();
113
- tui.info('Cancelled');
114
- return;
115
- }
116
- logger.trace(error);
117
- logger.fatal('GitHub disconnect failed: %s', error, ErrorCode.INTEGRATION_FAILED);
118
- }
119
- },
120
- });
121
- //# sourceMappingURL=disconnect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../../../src/cmd/integration/github/disconnect.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const githubCommand: import("../../..").CommandDefinition;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/integration/github/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,sCAexB,CAAC"}
@@ -1,21 +0,0 @@
1
- import { createCommand } from '../../../types';
2
- import { getCommand } from '../../../command-prefix';
3
- import { connectSubcommand } from './connect';
4
- import { disconnectSubcommand } from './disconnect';
5
- export const githubCommand = createCommand({
6
- name: 'github',
7
- description: 'GitHub integration commands',
8
- tags: ['requires-auth'],
9
- examples: [
10
- {
11
- command: getCommand('integration github connect'),
12
- description: 'Connect GitHub to your organization',
13
- },
14
- {
15
- command: getCommand('integration github disconnect'),
16
- description: 'Disconnect GitHub from your organization',
17
- },
18
- ],
19
- subcommands: [connectSubcommand, disconnectSubcommand],
20
- });
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/integration/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,4BAA4B,CAAC;YACjD,WAAW,EAAE,qCAAqC;SAClD;QACD;YACC,OAAO,EAAE,UAAU,CAAC,+BAA+B,CAAC;YACpD,WAAW,EAAE,0CAA0C;SACvD;KACD;IACD,WAAW,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;CACtD,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const command: import("../..").CommandDefinition;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/integration/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,mCAWlB,CAAC"}
@@ -1,16 +0,0 @@
1
- import { createCommand } from '../../types';
2
- import { getCommand } from '../../command-prefix';
3
- import { githubCommand } from './github';
4
- export const command = createCommand({
5
- name: 'integration',
6
- description: 'Manage integrations with external services',
7
- tags: ['requires-auth'],
8
- examples: [
9
- {
10
- command: getCommand('integration github connect'),
11
- description: 'Connect GitHub to your organization',
12
- },
13
- ],
14
- subcommands: [githubCommand],
15
- });
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/integration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,4CAA4C;IACzD,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,4BAA4B,CAAC;YACjD,WAAW,EAAE,qCAAqC;SAClD;KACD;IACD,WAAW,EAAE,CAAC,aAAa,CAAC;CAC5B,CAAC,CAAC"}