twenty-sdk 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/_commonjsHelpers-DKOUU3wS.js +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.mjs +8 -0
- package/dist/application/application-config.d.ts +0 -2
- package/dist/application/field-metadata/composite-fields.d.ts +0 -1
- package/dist/application/field-metadata/field-type.d.ts +0 -1
- package/dist/application/field-metadata/field.decorator.d.ts +1 -3
- package/dist/application/field-metadata/on-delete-action.d.ts +0 -1
- package/dist/application/field-metadata/relation-type.d.ts +0 -1
- package/dist/application/field-metadata/relation.decorator.d.ts +1 -3
- package/dist/application/function-config.d.ts +0 -2
- package/dist/application/index.d.ts +0 -1
- package/dist/application/object-metadata/object.decorator.d.ts +0 -2
- package/dist/application/object-metadata/standard-object-ids.d.ts +0 -1
- package/dist/application/syncable-entity-options.type.d.ts +0 -1
- package/dist/cli/cli.d.ts +2 -0
- package/dist/cli/commands/app-add.command.d.ts +12 -0
- package/dist/cli/commands/app-dev.command.d.ts +10 -0
- package/dist/cli/commands/app-generate.command.d.ts +4 -0
- package/dist/cli/commands/app-sync.command.d.ts +7 -0
- package/dist/cli/commands/app-uninstall.command.d.ts +9 -0
- package/dist/cli/commands/app.command.d.ts +9 -0
- package/dist/cli/commands/auth.command.d.ts +9 -0
- package/dist/cli/constants/current-execution-directory.d.ts +1 -0
- package/dist/cli/services/api.service.d.ts +14 -0
- package/dist/cli/services/config.service.d.ts +14 -0
- package/dist/cli/services/generate.service.d.ts +7 -0
- package/dist/cli/types/config.types.d.ts +99 -0
- package/dist/cli/utils/convert-to-label.d.ts +1 -0
- package/dist/cli/utils/find-path-file.d.ts +1 -0
- package/dist/cli/utils/format-and-warn-ts-diagnostics.d.ts +4 -0
- package/dist/cli/utils/format-path.d.ts +1 -0
- package/dist/cli/utils/get-function-base-file.d.ts +4 -0
- package/dist/cli/utils/get-object-decorated-class.d.ts +4 -0
- package/dist/cli/utils/get-ts-program-and-diagnostics.d.ts +7 -0
- package/dist/cli/utils/jsonc-parser.d.ts +17 -0
- package/dist/cli/utils/load-env-variables.d.ts +2 -0
- package/dist/cli/utils/load-manifest.d.ts +9 -0
- package/dist/cli.cjs +242 -0
- package/dist/cli.mjs +9506 -0
- package/dist/index.cjs +11 -11
- package/dist/index.d.ts +0 -1
- package/dist/index.mjs +300 -302
- package/package.json +19 -15
- package/dist/application/application-config.d.ts.map +0 -1
- package/dist/application/field-metadata/composite-fields.d.ts.map +0 -1
- package/dist/application/field-metadata/field-type.d.ts.map +0 -1
- package/dist/application/field-metadata/field.decorator.d.ts.map +0 -1
- package/dist/application/field-metadata/on-delete-action.d.ts.map +0 -1
- package/dist/application/field-metadata/relation-type.d.ts.map +0 -1
- package/dist/application/field-metadata/relation.decorator.d.ts.map +0 -1
- package/dist/application/function-config.d.ts.map +0 -1
- package/dist/application/index.d.ts.map +0 -1
- package/dist/application/object-metadata/object.decorator.d.ts.map +0 -1
- package/dist/application/object-metadata/standard-object-ids.d.ts.map +0 -1
- package/dist/application/syncable-entity-options.type.d.ts.map +0 -1
- package/dist/cli/cli.js +0 -39
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/commands/app-add.command.js +0 -143
- package/dist/cli/commands/app-add.command.js.map +0 -1
- package/dist/cli/commands/app-dev.command.js +0 -60
- package/dist/cli/commands/app-dev.command.js.map +0 -1
- package/dist/cli/commands/app-generate.command.js +0 -18
- package/dist/cli/commands/app-generate.command.js.map +0 -1
- package/dist/cli/commands/app-sync.command.js +0 -48
- package/dist/cli/commands/app-sync.command.js.map +0 -1
- package/dist/cli/commands/app-uninstall.command.js +0 -46
- package/dist/cli/commands/app-uninstall.command.js.map +0 -1
- package/dist/cli/commands/app.command.js +0 -99
- package/dist/cli/commands/app.command.js.map +0 -1
- package/dist/cli/commands/auth.command.js +0 -128
- package/dist/cli/commands/auth.command.js.map +0 -1
- package/dist/cli/constants/current-execution-directory.js +0 -2
- package/dist/cli/constants/current-execution-directory.js.map +0 -1
- package/dist/cli/services/api.service.js +0 -171
- package/dist/cli/services/api.service.js.map +0 -1
- package/dist/cli/services/config.service.js +0 -83
- package/dist/cli/services/config.service.js.map +0 -1
- package/dist/cli/services/generate.service.js +0 -45
- package/dist/cli/services/generate.service.js.map +0 -1
- package/dist/cli/types/config.types.js +0 -2
- package/dist/cli/types/config.types.js.map +0 -1
- package/dist/cli/utils/convert-to-label.js +0 -6
- package/dist/cli/utils/convert-to-label.js.map +0 -1
- package/dist/cli/utils/find-path-file.js +0 -10
- package/dist/cli/utils/find-path-file.js.map +0 -1
- package/dist/cli/utils/format-and-warn-ts-diagnostics.js +0 -12
- package/dist/cli/utils/format-and-warn-ts-diagnostics.js.map +0 -1
- package/dist/cli/utils/format-path.js +0 -8
- package/dist/cli/utils/format-path.js.map +0 -1
- package/dist/cli/utils/get-function-base-file.js +0 -28
- package/dist/cli/utils/get-function-base-file.js.map +0 -1
- package/dist/cli/utils/get-object-decorated-class.js +0 -16
- package/dist/cli/utils/get-object-decorated-class.js.map +0 -1
- package/dist/cli/utils/get-ts-program-and-diagnostics.js +0 -35
- package/dist/cli/utils/get-ts-program-and-diagnostics.js.map +0 -1
- package/dist/cli/utils/jsonc-parser.js +0 -45
- package/dist/cli/utils/jsonc-parser.js.map +0 -1
- package/dist/cli/utils/load-env-variables.js +0 -15
- package/dist/cli/utils/load-env-variables.js.map +0 -1
- package/dist/cli/utils/load-manifest.js +0 -377
- package/dist/cli/utils/load-manifest.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import inquirer from 'inquirer';
|
|
4
|
-
import { ApiService } from '../services/api.service';
|
|
5
|
-
import { ConfigService } from '../services/config.service';
|
|
6
|
-
export class AuthCommand {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.configService = new ConfigService();
|
|
9
|
-
this.apiService = new ApiService();
|
|
10
|
-
}
|
|
11
|
-
getCommand() {
|
|
12
|
-
const authCommand = new Command('auth');
|
|
13
|
-
authCommand.description('Authentication commands');
|
|
14
|
-
authCommand
|
|
15
|
-
.command('login')
|
|
16
|
-
.description('Authenticate with Twenty')
|
|
17
|
-
.option('--api-key <key>', 'API key for authentication')
|
|
18
|
-
.option('--api-url <url>', 'Twenty API URL')
|
|
19
|
-
.action(async (options) => {
|
|
20
|
-
await this.login(options);
|
|
21
|
-
});
|
|
22
|
-
authCommand
|
|
23
|
-
.command('logout')
|
|
24
|
-
.description('Remove authentication credentials')
|
|
25
|
-
.action(async () => {
|
|
26
|
-
await this.logout();
|
|
27
|
-
});
|
|
28
|
-
authCommand
|
|
29
|
-
.command('status')
|
|
30
|
-
.description('Check authentication status')
|
|
31
|
-
.action(async () => {
|
|
32
|
-
await this.status();
|
|
33
|
-
});
|
|
34
|
-
return authCommand;
|
|
35
|
-
}
|
|
36
|
-
async login(options) {
|
|
37
|
-
try {
|
|
38
|
-
let { apiKey, apiUrl } = options;
|
|
39
|
-
// Get current config
|
|
40
|
-
const config = await this.configService.getConfig();
|
|
41
|
-
// Prompt for missing values
|
|
42
|
-
if (!apiUrl) {
|
|
43
|
-
const urlAnswer = await inquirer.prompt([
|
|
44
|
-
{
|
|
45
|
-
type: 'input',
|
|
46
|
-
name: 'apiUrl',
|
|
47
|
-
message: 'Twenty API URL:',
|
|
48
|
-
default: config.apiUrl,
|
|
49
|
-
validate: (input) => {
|
|
50
|
-
try {
|
|
51
|
-
new URL(input);
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
catch (_a) {
|
|
55
|
-
return 'Please enter a valid URL';
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
]);
|
|
60
|
-
apiUrl = urlAnswer.apiUrl;
|
|
61
|
-
}
|
|
62
|
-
if (!apiKey) {
|
|
63
|
-
const keyAnswer = await inquirer.prompt([
|
|
64
|
-
{
|
|
65
|
-
type: 'password',
|
|
66
|
-
name: 'apiKey',
|
|
67
|
-
message: 'API Key:',
|
|
68
|
-
mask: '*',
|
|
69
|
-
validate: (input) => input.length > 0 || 'API key is required',
|
|
70
|
-
},
|
|
71
|
-
]);
|
|
72
|
-
apiKey = keyAnswer.apiKey;
|
|
73
|
-
}
|
|
74
|
-
// Update config
|
|
75
|
-
await this.configService.setConfig({
|
|
76
|
-
apiUrl,
|
|
77
|
-
apiKey,
|
|
78
|
-
});
|
|
79
|
-
// Validate authentication
|
|
80
|
-
const isValid = await this.apiService.validateAuth();
|
|
81
|
-
if (isValid) {
|
|
82
|
-
const activeWorkspace = ConfigService.getActiveWorkspace();
|
|
83
|
-
console.log(chalk.green(`✓ Successfully authenticated with Twenty (workspace: ${activeWorkspace})`));
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
console.log(chalk.red('✗ Authentication failed. Please check your credentials.'));
|
|
87
|
-
process.exit(1);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
console.error(chalk.red('Login failed:'), error instanceof Error ? error.message : error);
|
|
92
|
-
process.exit(1);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async logout() {
|
|
96
|
-
try {
|
|
97
|
-
await this.configService.clearConfig();
|
|
98
|
-
const activeWorkspace = ConfigService.getActiveWorkspace();
|
|
99
|
-
console.log(chalk.green(`✓ Successfully logged out (workspace: ${activeWorkspace})`));
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
console.error(chalk.red('Logout failed:'), error instanceof Error ? error.message : error);
|
|
103
|
-
process.exit(1);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async status() {
|
|
107
|
-
try {
|
|
108
|
-
const activeWorkspace = ConfigService.getActiveWorkspace();
|
|
109
|
-
const config = await this.configService.getConfig();
|
|
110
|
-
console.log(chalk.blue('Authentication Status:'));
|
|
111
|
-
console.log(`Workspace: ${activeWorkspace}`);
|
|
112
|
-
console.log(`API URL: ${config.apiUrl}`);
|
|
113
|
-
console.log(`API Key: ${config.apiKey ? '***' + config.apiKey.slice(-4) : 'Not set'}`);
|
|
114
|
-
if (config.apiKey) {
|
|
115
|
-
const isValid = await this.apiService.validateAuth();
|
|
116
|
-
console.log(`Status: ${isValid ? chalk.green('✓ Valid') : chalk.red('✗ Invalid')}`);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
console.log(`Status: ${chalk.yellow('⚠ Not authenticated')}`);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
catch (error) {
|
|
123
|
-
console.error(chalk.red('Status check failed:'), error instanceof Error ? error.message : error);
|
|
124
|
-
process.exit(1);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=auth.command.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.command.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"current-execution-directory.js","sourceRoot":"","sources":["../../../src/cli/constants/current-execution-directory.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { buildClientSchema, getIntrospectionQuery, printSchema, } from 'graphql/index';
|
|
4
|
-
import { ConfigService } from './config.service';
|
|
5
|
-
export class ApiService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.configService = new ConfigService();
|
|
8
|
-
this.client = axios.create();
|
|
9
|
-
this.client.interceptors.request.use(async (config) => {
|
|
10
|
-
const twentyConfig = await this.configService.getConfig();
|
|
11
|
-
config.baseURL = twentyConfig.apiUrl;
|
|
12
|
-
if (twentyConfig.apiKey) {
|
|
13
|
-
config.headers.Authorization = `Bearer ${twentyConfig.apiKey}`;
|
|
14
|
-
}
|
|
15
|
-
return config;
|
|
16
|
-
});
|
|
17
|
-
this.client.interceptors.response.use((response) => response, (error) => {
|
|
18
|
-
var _a, _b;
|
|
19
|
-
if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
|
|
20
|
-
console.error(chalk.red('Authentication failed. Please run `twenty auth login` first.'));
|
|
21
|
-
}
|
|
22
|
-
else if (((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 403) {
|
|
23
|
-
console.error(chalk.red('Access denied. Check your API key and workspace permissions.'));
|
|
24
|
-
}
|
|
25
|
-
else if (error.code === 'ECONNREFUSED') {
|
|
26
|
-
console.error(chalk.red('Cannot connect to Twenty server. Is it running?'));
|
|
27
|
-
}
|
|
28
|
-
throw error;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
async validateAuth() {
|
|
32
|
-
try {
|
|
33
|
-
const query = `
|
|
34
|
-
query CurrentWorkspace {
|
|
35
|
-
currentWorkspace {
|
|
36
|
-
id
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
const response = await this.client.post('/metadata', {
|
|
41
|
-
query,
|
|
42
|
-
}, {
|
|
43
|
-
headers: {
|
|
44
|
-
'Content-Type': 'application/json',
|
|
45
|
-
Accept: '*/*',
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
return response.status === 200 && !response.data.errors;
|
|
49
|
-
}
|
|
50
|
-
catch (_a) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async syncApplication({ packageJson, yarnLock, manifest, }) {
|
|
55
|
-
try {
|
|
56
|
-
const mutation = `
|
|
57
|
-
mutation SyncApplication($manifest: JSON!, $packageJson: JSON!, $yarnLock: String!) {
|
|
58
|
-
syncApplication(manifest: $manifest, packageJson: $packageJson, yarnLock: $yarnLock)
|
|
59
|
-
}
|
|
60
|
-
`;
|
|
61
|
-
const variables = {
|
|
62
|
-
manifest,
|
|
63
|
-
yarnLock,
|
|
64
|
-
packageJson,
|
|
65
|
-
};
|
|
66
|
-
const response = await this.client.post('/metadata', {
|
|
67
|
-
query: mutation,
|
|
68
|
-
variables,
|
|
69
|
-
}, {
|
|
70
|
-
headers: {
|
|
71
|
-
'Content-Type': 'application/json',
|
|
72
|
-
Accept: '*/*',
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
if (response.data.errors) {
|
|
76
|
-
return {
|
|
77
|
-
success: false,
|
|
78
|
-
error: response.data.errors[0],
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
success: true,
|
|
83
|
-
data: response.data.data.syncApplication,
|
|
84
|
-
message: `Successfully synced application: ${packageJson.name}`,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
return {
|
|
89
|
-
success: false,
|
|
90
|
-
error,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
async uninstallApplication(universalIdentifier) {
|
|
95
|
-
var _a, _b, _c, _d;
|
|
96
|
-
try {
|
|
97
|
-
const mutation = `
|
|
98
|
-
mutation UninstallApplication($universalIdentifier: String!) {
|
|
99
|
-
uninstallApplication(universalIdentifier: $universalIdentifier)
|
|
100
|
-
}
|
|
101
|
-
`;
|
|
102
|
-
const variables = { universalIdentifier };
|
|
103
|
-
const response = await this.client.post('/metadata', {
|
|
104
|
-
query: mutation,
|
|
105
|
-
variables,
|
|
106
|
-
}, {
|
|
107
|
-
headers: {
|
|
108
|
-
'Content-Type': 'application/json',
|
|
109
|
-
Accept: '*/*',
|
|
110
|
-
},
|
|
111
|
-
});
|
|
112
|
-
if (response.data.errors) {
|
|
113
|
-
return {
|
|
114
|
-
success: false,
|
|
115
|
-
error: ((_a = response.data.errors[0]) === null || _a === void 0 ? void 0 : _a.message) || 'Failed to delete application',
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
return {
|
|
119
|
-
success: true,
|
|
120
|
-
data: response.data.data.uninstallApplication,
|
|
121
|
-
message: 'Successfully uninstalled application',
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
if (axios.isAxiosError(error) && error.response) {
|
|
126
|
-
return {
|
|
127
|
-
success: false,
|
|
128
|
-
error: ((_d = (_c = (_b = error.response.data) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.message) || error.message,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
throw error;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
async getSchema() {
|
|
135
|
-
var _a;
|
|
136
|
-
try {
|
|
137
|
-
const introspectionQuery = getIntrospectionQuery();
|
|
138
|
-
const response = await this.client.post('/graphql', {
|
|
139
|
-
query: introspectionQuery,
|
|
140
|
-
}, {
|
|
141
|
-
headers: {
|
|
142
|
-
'Content-Type': 'application/json',
|
|
143
|
-
Accept: '*/*',
|
|
144
|
-
},
|
|
145
|
-
});
|
|
146
|
-
if (response.data.errors) {
|
|
147
|
-
return {
|
|
148
|
-
success: false,
|
|
149
|
-
error: `GraphQL introspection errors: ${JSON.stringify(response.data.errors)}`,
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
const schema = buildClientSchema(response.data.data);
|
|
153
|
-
return {
|
|
154
|
-
success: true,
|
|
155
|
-
data: printSchema(schema),
|
|
156
|
-
message: 'Successfully load schema',
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
if (axios.isAxiosError(error) && error.response) {
|
|
161
|
-
return {
|
|
162
|
-
success: false,
|
|
163
|
-
error: ((_a = error.response.data.errors[0]) === null || _a === void 0 ? void 0 : _a.message) ||
|
|
164
|
-
'Failed to load graphql Schema',
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
throw error;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=api.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../../src/cli/services/api.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs-extra';
|
|
2
|
-
import * as os from 'os';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
const DEFAULT_WORKSPACE_NAME = 'default';
|
|
5
|
-
export class ConfigService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.configPath = path.join(os.homedir(), '.twenty', 'config.json');
|
|
8
|
-
}
|
|
9
|
-
static setActiveWorkspace(name) {
|
|
10
|
-
this.activeWorkspace = name !== null && name !== void 0 ? name : DEFAULT_WORKSPACE_NAME;
|
|
11
|
-
}
|
|
12
|
-
static getActiveWorkspace() {
|
|
13
|
-
return this.activeWorkspace;
|
|
14
|
-
}
|
|
15
|
-
getActiveWorkspaceName() {
|
|
16
|
-
return ConfigService.getActiveWorkspace();
|
|
17
|
-
}
|
|
18
|
-
async readRawConfig() {
|
|
19
|
-
await fs.ensureFile(this.configPath);
|
|
20
|
-
const content = await fs.readFile(this.configPath, 'utf8');
|
|
21
|
-
return JSON.parse(content || '{}');
|
|
22
|
-
}
|
|
23
|
-
async getConfig() {
|
|
24
|
-
var _a, _b, _c;
|
|
25
|
-
const defaultConfig = this.getDefaultConfig();
|
|
26
|
-
try {
|
|
27
|
-
const raw = await this.readRawConfig();
|
|
28
|
-
const profile = this.getActiveWorkspaceName();
|
|
29
|
-
const profileConfig = profile === DEFAULT_WORKSPACE_NAME &&
|
|
30
|
-
!((_a = raw.profiles) === null || _a === void 0 ? void 0 : _a[DEFAULT_WORKSPACE_NAME])
|
|
31
|
-
? raw
|
|
32
|
-
: (_b = raw.profiles) === null || _b === void 0 ? void 0 : _b[profile];
|
|
33
|
-
// Fallback to legacy top-level values if profile value is missing
|
|
34
|
-
const apiUrl = (_c = profileConfig === null || profileConfig === void 0 ? void 0 : profileConfig.apiUrl) !== null && _c !== void 0 ? _c : defaultConfig.apiUrl;
|
|
35
|
-
const apiKey = profileConfig === null || profileConfig === void 0 ? void 0 : profileConfig.apiKey;
|
|
36
|
-
return {
|
|
37
|
-
apiUrl,
|
|
38
|
-
apiKey,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
catch (_d) {
|
|
42
|
-
return defaultConfig;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async setConfig(config) {
|
|
46
|
-
const raw = await this.readRawConfig();
|
|
47
|
-
const profile = this.getActiveWorkspaceName();
|
|
48
|
-
// Ensure profiles map exists
|
|
49
|
-
if (!raw.profiles) {
|
|
50
|
-
raw.profiles = {};
|
|
51
|
-
}
|
|
52
|
-
const currentProfile = raw.profiles[profile] || { apiUrl: '' };
|
|
53
|
-
raw.profiles[profile] = { ...currentProfile, ...config };
|
|
54
|
-
await fs.ensureDir(path.dirname(this.configPath));
|
|
55
|
-
await fs.writeFile(this.configPath, JSON.stringify(raw, null, 2));
|
|
56
|
-
}
|
|
57
|
-
async clearConfig() {
|
|
58
|
-
// Clear only the active profile credentials (non-breaking for other profiles)
|
|
59
|
-
const raw = await this.readRawConfig();
|
|
60
|
-
const profile = this.getActiveWorkspaceName();
|
|
61
|
-
if (!raw.profiles) {
|
|
62
|
-
raw.profiles = {};
|
|
63
|
-
}
|
|
64
|
-
if (raw.profiles[profile]) {
|
|
65
|
-
delete raw.profiles[profile];
|
|
66
|
-
}
|
|
67
|
-
// Also clear legacy top-level apiKey for compatibility when active profile is default
|
|
68
|
-
if (profile === DEFAULT_WORKSPACE_NAME) {
|
|
69
|
-
const defaultConfig = this.getDefaultConfig();
|
|
70
|
-
delete raw.apiKey;
|
|
71
|
-
raw.apiUrl = defaultConfig.apiUrl;
|
|
72
|
-
}
|
|
73
|
-
await fs.ensureDir(path.dirname(this.configPath));
|
|
74
|
-
await fs.writeFile(this.configPath, JSON.stringify(raw, null, 2));
|
|
75
|
-
}
|
|
76
|
-
getDefaultConfig() {
|
|
77
|
-
return {
|
|
78
|
-
apiUrl: 'http://localhost:3000',
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
ConfigService.activeWorkspace = DEFAULT_WORKSPACE_NAME;
|
|
83
|
-
//# sourceMappingURL=config.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/cli/services/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { generate } from '@genql/cli';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { join, resolve } from 'path';
|
|
4
|
-
import { ApiService } from './api.service';
|
|
5
|
-
import { ConfigService } from './config.service';
|
|
6
|
-
export const GENERATED_FOLDER_NAME = 'generated';
|
|
7
|
-
export class GenerateService {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.configService = new ConfigService();
|
|
10
|
-
this.apiService = new ApiService();
|
|
11
|
-
}
|
|
12
|
-
async generateClient(appPath) {
|
|
13
|
-
const outputPath = join(appPath, GENERATED_FOLDER_NAME);
|
|
14
|
-
console.log(chalk.blue('📦 Generating Twenty client...'));
|
|
15
|
-
console.log(chalk.gray(`📁 Output Path: ${outputPath}`));
|
|
16
|
-
console.log('');
|
|
17
|
-
const config = await this.configService.getConfig();
|
|
18
|
-
const url = config.apiUrl;
|
|
19
|
-
const token = config.apiKey;
|
|
20
|
-
if (!url || !token) {
|
|
21
|
-
console.log(chalk.yellow('⚠️ Skipping Client generation: API URL or token not configured'));
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
console.log(chalk.gray(`API URL: ${url}`));
|
|
25
|
-
console.log(chalk.gray(`Output: ${outputPath}`));
|
|
26
|
-
const getSchemaResponse = await this.apiService.getSchema();
|
|
27
|
-
if (!getSchemaResponse.success) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const { data: schema } = getSchemaResponse;
|
|
31
|
-
await generate({
|
|
32
|
-
schema,
|
|
33
|
-
output: resolve(outputPath),
|
|
34
|
-
scalarTypes: {
|
|
35
|
-
DateTime: 'string',
|
|
36
|
-
JSON: 'Record<string, unknown>',
|
|
37
|
-
UUID: 'string',
|
|
38
|
-
},
|
|
39
|
-
verbose: true,
|
|
40
|
-
});
|
|
41
|
-
console.log(chalk.green('✓ Client generated successfully!'));
|
|
42
|
-
console.log(chalk.gray(`Generated files at: ${outputPath}`));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=generate.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.service.js","sourceRoot":"","sources":["../../../src/cli/services/generate.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAEjD,MAAM,OAAO,eAAe;IAI1B;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAExD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAEpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,iEAAiE,CAClE,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC,CAAC;QAEjD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC5D,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;QAE3C,MAAM,QAAQ,CAAC;YACb,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;YAC3B,WAAW,EAAE;gBACX,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,QAAQ;aACf;YACD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../../src/cli/types/config.types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convert-to-label.js","sourceRoot":"","sources":["../../../src/cli/utils/convert-to-label.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;IAC5C,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import * as fs from 'fs-extra';
|
|
3
|
-
export const findPathFile = async (appPath, fileName) => {
|
|
4
|
-
const jsonPath = path.join(appPath, fileName);
|
|
5
|
-
if (await fs.pathExists(jsonPath)) {
|
|
6
|
-
return jsonPath;
|
|
7
|
-
}
|
|
8
|
-
throw new Error(`${fileName} not found in ${appPath}`);
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=find-path-file.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-path-file.js","sourceRoot":"","sources":["../../../src/cli/utils/find-path-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,OAAe,EACf,QAAgB,EACC,EAAE;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE9C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,iBAAiB,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { formatDiagnosticsWithColorAndContext, sys, } from 'typescript';
|
|
2
|
-
export const formatAndWarnTsDiagnostics = ({ diagnostics, }) => {
|
|
3
|
-
if (diagnostics.length > 0) {
|
|
4
|
-
const formattedDiagnostics = formatDiagnosticsWithColorAndContext(diagnostics, {
|
|
5
|
-
getCanonicalFileName: (f) => f,
|
|
6
|
-
getCurrentDirectory: sys.getCurrentDirectory,
|
|
7
|
-
getNewLine: () => sys.newLine,
|
|
8
|
-
});
|
|
9
|
-
console.warn(formattedDiagnostics);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=format-and-warn-ts-diagnostics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format-and-warn-ts-diagnostics.js","sourceRoot":"","sources":["../../../src/cli/utils/format-and-warn-ts-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oCAAoC,EACpC,GAAG,GACJ,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,WAAW,GAGZ,EAAE,EAAE;IACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,oBAAoB,GAAG,oCAAoC,CAC/D,WAAW,EACX;YACE,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO;SAC9B,CACF,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { CURRENT_EXECUTION_DIRECTORY } from '../constants/current-execution-directory';
|
|
3
|
-
export const formatPath = (appPath) => {
|
|
4
|
-
return appPath && !(appPath === null || appPath === void 0 ? void 0 : appPath.startsWith('/'))
|
|
5
|
-
? join(CURRENT_EXECUTION_DIRECTORY, appPath)
|
|
6
|
-
: appPath;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=format-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format-path.js","sourceRoot":"","sources":["../../../src/cli/utils/format-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC7C,OAAO,OAAO,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC;QAC5C,CAAC,CAAC,OAAO,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import kebabCase from 'lodash.kebabcase';
|
|
2
|
-
import { v4 } from 'uuid';
|
|
3
|
-
export const getFunctionBaseFile = ({ name, universalIdentifier = v4(), }) => {
|
|
4
|
-
const kebabCaseName = kebabCase(name);
|
|
5
|
-
return `import { type FunctionConfig } from 'twenty-sdk';
|
|
6
|
-
|
|
7
|
-
export const main = async (params: {
|
|
8
|
-
a: string;
|
|
9
|
-
b: number;
|
|
10
|
-
}): Promise<{ message: string }> => {
|
|
11
|
-
const { a, b } = params;
|
|
12
|
-
|
|
13
|
-
// Rename the parameters and code below with your own logic
|
|
14
|
-
// This is just an example
|
|
15
|
-
const message = \`Hello, input: $\{a} and $\{b}\`;
|
|
16
|
-
|
|
17
|
-
return { message };
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const config: FunctionConfig = {
|
|
21
|
-
universalIdentifier: '${universalIdentifier}',
|
|
22
|
-
name: '${kebabCaseName}',
|
|
23
|
-
timeoutSeconds: 5,
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
`;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=get-function-base-file.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-function-base-file.js","sourceRoot":"","sources":["../../../src/cli/utils/get-function-base-file.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,IAAI,EACJ,mBAAmB,GAAG,EAAE,EAAE,GAI3B,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO;;;;;;;;;;;;;;;;0BAgBiB,mBAAmB;WAClC,aAAa;;;;CAIvB,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import camelcase from 'lodash.camelcase';
|
|
2
|
-
export const getObjectDecoratedClass = ({ data, name, }) => {
|
|
3
|
-
const decoratorOptions = Object.entries(data)
|
|
4
|
-
.map(([key, value]) => ` ${key}: '${value}',`)
|
|
5
|
-
.join('\n');
|
|
6
|
-
const camelCaseName = camelcase(name);
|
|
7
|
-
const className = camelCaseName[0].toUpperCase() + camelCaseName.slice(1);
|
|
8
|
-
return `import { Object } from 'twenty-sdk';
|
|
9
|
-
|
|
10
|
-
@Object({
|
|
11
|
-
${decoratorOptions}
|
|
12
|
-
})
|
|
13
|
-
export class ${className} {}
|
|
14
|
-
`;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=get-object-decorated-class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-object-decorated-class.js","sourceRoot":"","sources":["../../../src/cli/utils/get-object-decorated-class.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,IAAI,EACJ,IAAI,GAIL,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;SAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1E,OAAO;;;EAGP,gBAAgB;;eAEH,SAAS;CACvB,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { createProgram, formatDiagnosticsWithColorAndContext, parseJsonConfigFileContent, readConfigFile, sys, } from 'typescript';
|
|
3
|
-
const getProgramFromTsconfig = ({ appPath, tsconfigPath = 'tsconfig.json', }) => {
|
|
4
|
-
const configFile = readConfigFile(join(appPath, tsconfigPath), sys.readFile);
|
|
5
|
-
if (configFile.error)
|
|
6
|
-
throw new Error(formatDiagnosticsWithColorAndContext([configFile.error], {
|
|
7
|
-
getCanonicalFileName: (f) => f,
|
|
8
|
-
getCurrentDirectory: sys.getCurrentDirectory,
|
|
9
|
-
getNewLine: () => sys.newLine,
|
|
10
|
-
}));
|
|
11
|
-
const parsed = parseJsonConfigFileContent(configFile.config, sys, appPath);
|
|
12
|
-
if (parsed.errors.length) {
|
|
13
|
-
throw new Error(formatDiagnosticsWithColorAndContext(parsed.errors, {
|
|
14
|
-
getCanonicalFileName: (f) => f,
|
|
15
|
-
getCurrentDirectory: sys.getCurrentDirectory,
|
|
16
|
-
getNewLine: () => sys.newLine,
|
|
17
|
-
}));
|
|
18
|
-
}
|
|
19
|
-
return createProgram(parsed.fileNames, parsed.options);
|
|
20
|
-
};
|
|
21
|
-
export const getTsProgramAndDiagnostics = async ({ appPath, }) => {
|
|
22
|
-
const program = getProgramFromTsconfig({
|
|
23
|
-
appPath,
|
|
24
|
-
tsconfigPath: 'tsconfig.json',
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
diagnostics: [
|
|
28
|
-
...program.getSyntacticDiagnostics(),
|
|
29
|
-
...program.getSemanticDiagnostics(),
|
|
30
|
-
...program.getGlobalDiagnostics(),
|
|
31
|
-
],
|
|
32
|
-
program,
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=get-ts-program-and-diagnostics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-ts-program-and-diagnostics.js","sourceRoot":"","sources":["../../../src/cli/utils/get-ts-program-and-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,oCAAoC,EACpC,0BAA0B,EAC1B,cAAc,EACd,GAAG,GAGJ,MAAM,YAAY,CAAC;AAEpB,MAAM,sBAAsB,GAAG,CAAC,EAC9B,OAAO,EACP,YAAY,GAAG,eAAe,GAI/B,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,KAAK;QAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACvD,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO;SAC9B,CAAC,CACH,CAAC;IACJ,MAAM,MAAM,GAAG,0BAA0B,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,oCAAoC,CAAC,MAAM,CAAC,MAAM,EAAE;YAClD,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAC/C,OAAO,GAGR,EAA4D,EAAE;IAC7D,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACrC,OAAO;QACP,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE;YACX,GAAG,OAAO,CAAC,uBAAuB,EAAE;YACpC,GAAG,OAAO,CAAC,sBAAsB,EAAE;YACnC,GAAG,OAAO,CAAC,oBAAoB,EAAE;SAClC;QACD,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
|