n8nac 0.11.0 → 0.11.1-next.cd07409
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 +24 -26
- package/dist/commands/init.d.ts +24 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +337 -57
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +29 -28
- package/dist/commands/sync.js.map +1 -1
- package/dist/core/services/cli-api.d.ts +6 -7
- package/dist/core/services/cli-api.d.ts.map +1 -1
- package/dist/core/services/cli-api.js +7 -8
- package/dist/core/services/cli-api.js.map +1 -1
- package/dist/core/services/sync-manager.d.ts +9 -3
- package/dist/core/services/sync-manager.d.ts.map +1 -1
- package/dist/core/services/sync-manager.js +67 -25
- package/dist/core/services/sync-manager.js.map +1 -1
- package/dist/core/services/workflow-state-tracker.d.ts +1 -0
- package/dist/core/services/workflow-state-tracker.d.ts.map +1 -1
- package/dist/core/services/workflow-state-tracker.js +3 -0
- package/dist/core/services/workflow-state-tracker.js.map +1 -1
- package/dist/index.js +35 -13
- package/dist/index.js.map +1 -1
- package/dist/services/config-service.d.ts +5 -0
- package/dist/services/config-service.d.ts.map +1 -1
- package/dist/services/config-service.js +15 -0
- package/dist/services/config-service.js.map +1 -1
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -21,13 +21,29 @@ npm install -g n8nac
|
|
|
21
21
|
## Commands
|
|
22
22
|
|
|
23
23
|
### `init`
|
|
24
|
-
Interactive wizard — configure the connection to an n8n instance and pick the active project.
|
|
24
|
+
Interactive wizard by default — configure the connection to an n8n instance and pick the active project.
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
n8nac init
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
Creates `n8nac.json` in the current folder and stores the API key outside the repo.
|
|
30
|
+
Creates `n8nac-config.json` in the current folder and stores the API key outside the repo.
|
|
31
|
+
|
|
32
|
+
For automation and AI agents, `init` also supports a non-interactive mode:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
n8nac init --yes --host http://localhost:5678 --api-key "$N8N_API_KEY"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
If multiple projects are available, pass one of the project selectors:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
n8nac init --yes --host http://localhost:5678 --api-key "$N8N_API_KEY" --project-id <projectId>
|
|
42
|
+
n8nac init --yes --host http://localhost:5678 --api-key "$N8N_API_KEY" --project-name "Personal"
|
|
43
|
+
n8nac init --yes --host http://localhost:5678 --api-key "$N8N_API_KEY" --project-index 1
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If no project selector is provided, `init --yes` will auto-select the only available project, or the single personal project when that choice is unambiguous. Otherwise it fails with a list of available projects.
|
|
31
47
|
|
|
32
48
|
---
|
|
33
49
|
|
|
@@ -57,28 +73,14 @@ Status values:
|
|
|
57
73
|
|---|---|---|
|
|
58
74
|
| `TRACKED` | Workflow exists on both sides, in sync | Nothing to do |
|
|
59
75
|
| `CONFLICT` | Both sides changed — detected at push/pull time | `n8nac resolve <id> --mode keep-current` (keep local) or `keep-incoming` (keep remote) |
|
|
60
|
-
| `EXIST_ONLY_LOCALLY` | New local file not yet in n8n (or remote was deleted) | `n8nac push <
|
|
76
|
+
| `EXIST_ONLY_LOCALLY` | New local file not yet in n8n (or remote was deleted) | `n8nac push <file>` |
|
|
61
77
|
| `EXIST_ONLY_REMOTELY` | Remote workflow not yet local (or local was deleted) | `n8nac pull <workflowId>` to download |
|
|
62
78
|
|
|
63
|
-
> **Git-like sync**: Status is a point-in-time observation.
|
|
79
|
+
> **Git-like sync**: Status is a point-in-time observation. `n8nac` refreshes the remote state it needs under the hood.
|
|
64
80
|
> **For agents**: always run `n8nac list` first to get workflow IDs and their current status before pulling or pushing.
|
|
65
81
|
|
|
66
82
|
---
|
|
67
83
|
|
|
68
|
-
### `fetch <workflowId>`
|
|
69
|
-
Update remote state cache for a specific workflow (internal reference for comparison).
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
n8nac fetch <workflowId> # Fetch specific workflow's remote state
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
- Updates internal comparison cache for the specified workflow only
|
|
76
|
-
- Use before `list` to ensure status reflects latest remote state for that workflow
|
|
77
|
-
- Required for accurate conflict detection
|
|
78
|
-
- For heavy instances, fetch individual workflows rather than all at once
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
84
|
### `pull <workflowId>`
|
|
83
85
|
Download a single workflow from n8n and overwrite the local file.
|
|
84
86
|
|
|
@@ -94,15 +96,11 @@ n8nac pull <workflowId>
|
|
|
94
96
|
Upload a single local workflow file to n8n.
|
|
95
97
|
|
|
96
98
|
```bash
|
|
97
|
-
|
|
98
|
-
n8nac push <workflowId>
|
|
99
|
-
|
|
100
|
-
# Brand-new local file never pushed before (no remote ID yet)
|
|
101
|
-
n8nac push --filename my-workflow.workflow.ts
|
|
99
|
+
n8nac push workflows/etiennel_cloud_etienne_l/personal/my-workflow.workflow.ts
|
|
102
100
|
```
|
|
103
101
|
|
|
104
|
-
>
|
|
105
|
-
>
|
|
102
|
+
> Provide the relative path to the workflow file. The file **must** reside within the active sync scope defined by your configuration. Any path outside this scope will be rejected for safety.
|
|
103
|
+
> The path is the local entry point; the workflow ID remains the remote source of truth.
|
|
106
104
|
|
|
107
105
|
---
|
|
108
106
|
|
|
@@ -167,7 +165,7 @@ n8nac pull <workflowId>
|
|
|
167
165
|
# 3. Edit the local .workflow.ts file
|
|
168
166
|
|
|
169
167
|
# 4. Push it back
|
|
170
|
-
n8nac push
|
|
168
|
+
n8nac push my-workflow.workflow.ts
|
|
171
169
|
```
|
|
172
170
|
|
|
173
171
|
---
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
|
+
export interface InitCommandOptions {
|
|
2
|
+
host?: string;
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
syncFolder?: string;
|
|
5
|
+
projectId?: string;
|
|
6
|
+
projectName?: string;
|
|
7
|
+
projectIndex?: number;
|
|
8
|
+
yes?: boolean;
|
|
9
|
+
}
|
|
1
10
|
export declare class InitCommand {
|
|
2
11
|
private configService;
|
|
3
12
|
constructor();
|
|
4
|
-
run(): Promise<void>;
|
|
13
|
+
run(options?: InitCommandOptions): Promise<void>;
|
|
14
|
+
runAuthSetup(options?: InitCommandOptions): Promise<void>;
|
|
15
|
+
runProjectSetup(options?: InitCommandOptions): Promise<void>;
|
|
16
|
+
private resolveOptions;
|
|
17
|
+
private getEnvValue;
|
|
18
|
+
private shouldRunNonInteractive;
|
|
19
|
+
private validateHost;
|
|
20
|
+
private runInteractive;
|
|
21
|
+
private runNonInteractive;
|
|
22
|
+
private completeInitialization;
|
|
23
|
+
private finalizeProjectSetup;
|
|
24
|
+
private promptForProject;
|
|
25
|
+
private promptForSyncFolder;
|
|
26
|
+
private resolveProjectSelection;
|
|
27
|
+
private printAvailableProjects;
|
|
5
28
|
}
|
|
6
29
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,kBAAkB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,aAAa,CAAgB;;IAM/B,GAAG,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,YAAY,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwE7D,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwFtE,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,YAAY;YASN,cAAc;YA+Bd,iBAAiB;YA8BjB,sBAAsB;YA8EtB,oBAAoB;YAsCpB,gBAAgB;YAgBhB,mBAAmB;IAajC,OAAO,CAAC,uBAAuB;IA6D/B,OAAO,CAAC,sBAAsB;CAOjC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -2,6 +2,7 @@ import inquirer from 'inquirer';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import { N8nApiClient } from '../core/index.js';
|
|
5
|
+
import { getDisplayProjectName } from '../core/helpers/project-helpers.js';
|
|
5
6
|
import { ConfigService } from '../services/config-service.js';
|
|
6
7
|
import { UpdateAiCommand } from './init-ai.js';
|
|
7
8
|
import { Command } from 'commander';
|
|
@@ -10,26 +11,191 @@ export class InitCommand {
|
|
|
10
11
|
constructor() {
|
|
11
12
|
this.configService = new ConfigService();
|
|
12
13
|
}
|
|
13
|
-
async run() {
|
|
14
|
+
async run(options = {}) {
|
|
14
15
|
console.log(chalk.cyan('\n🚀 Welcome to n8n-as-code initialization!'));
|
|
15
16
|
console.log(chalk.gray('This tool will help you configure your local environment.\n'));
|
|
16
17
|
const currentLocal = this.configService.getLocalConfig();
|
|
17
18
|
const currentApiKey = currentLocal.host ? this.configService.getApiKey(currentLocal.host) : '';
|
|
19
|
+
const resolvedOptions = this.resolveOptions(options, currentLocal, currentApiKey);
|
|
20
|
+
if (this.shouldRunNonInteractive(options)) {
|
|
21
|
+
await this.runNonInteractive(resolvedOptions);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
await this.runInteractive(currentLocal, currentApiKey);
|
|
25
|
+
}
|
|
26
|
+
async runAuthSetup(options = {}) {
|
|
27
|
+
console.log(chalk.cyan('\n🔐 n8n-as-code authentication setup'));
|
|
28
|
+
console.log(chalk.gray('This step stores your n8n host and API key, then lists available projects.\n'));
|
|
29
|
+
const currentLocal = this.configService.getLocalConfig();
|
|
30
|
+
const currentApiKey = currentLocal.host ? this.configService.getApiKey(currentLocal.host) : '';
|
|
31
|
+
const resolvedOptions = this.resolveOptions(options, currentLocal, currentApiKey);
|
|
32
|
+
if (!resolvedOptions.host) {
|
|
33
|
+
console.error(chalk.red('❌ Missing n8n host. Pass --host <url> or set N8N_HOST.'));
|
|
34
|
+
process.exitCode = 1;
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const hostValidation = this.validateHost(resolvedOptions.host);
|
|
38
|
+
if (hostValidation !== true) {
|
|
39
|
+
console.error(chalk.red(`❌ ${hostValidation}`));
|
|
40
|
+
process.exitCode = 1;
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!resolvedOptions.apiKey) {
|
|
44
|
+
console.error(chalk.red('❌ Missing n8n API key. Pass --api-key <key> or set N8N_API_KEY.'));
|
|
45
|
+
process.exitCode = 1;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const spinner = ora('Testing connection to n8n...').start();
|
|
49
|
+
try {
|
|
50
|
+
const client = new N8nApiClient({
|
|
51
|
+
host: resolvedOptions.host,
|
|
52
|
+
apiKey: resolvedOptions.apiKey,
|
|
53
|
+
});
|
|
54
|
+
const isConnected = await client.testConnection();
|
|
55
|
+
if (!isConnected) {
|
|
56
|
+
spinner.fail(chalk.red('Failed to connect to n8n. Please check your URL and API Key.'));
|
|
57
|
+
process.exitCode = 1;
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
spinner.succeed(chalk.green('Successfully connected to n8n!'));
|
|
61
|
+
spinner.start('Fetching available projects...');
|
|
62
|
+
const projects = await client.getProjects();
|
|
63
|
+
spinner.succeed(chalk.green(`Found ${projects.length} project(s)`));
|
|
64
|
+
if (projects.length === 0) {
|
|
65
|
+
console.log(chalk.yellow('No projects found yet. Create a project in n8n, then run n8nac init-project.'));
|
|
66
|
+
}
|
|
67
|
+
this.configService.saveApiKey(resolvedOptions.host, resolvedOptions.apiKey);
|
|
68
|
+
this.configService.saveBootstrapState(resolvedOptions.host, resolvedOptions.syncFolder || 'workflows');
|
|
69
|
+
console.log(chalk.green('\n✔ Credentials saved successfully!'));
|
|
70
|
+
console.log(chalk.blue('📁 Workspace bootstrap:') + ' n8nac-config.json');
|
|
71
|
+
console.log(chalk.blue('🔑 API Key:') + ' Stored securely in global config\n');
|
|
72
|
+
if (projects.length > 0) {
|
|
73
|
+
this.printAvailableProjects(projects);
|
|
74
|
+
}
|
|
75
|
+
console.log(chalk.yellow('Next step:'));
|
|
76
|
+
console.log(`Run ${chalk.bold('n8nac init-project')} to select the project and sync folder.`);
|
|
77
|
+
console.log(chalk.gray('You can pass --project-id, --project-name, or --project-index for non-interactive project selection.\n'));
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
spinner.fail(chalk.red(`An error occurred: ${error.message}`));
|
|
81
|
+
process.exitCode = 1;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async runProjectSetup(options = {}) {
|
|
85
|
+
console.log(chalk.cyan('\n📁 n8n-as-code project setup'));
|
|
86
|
+
console.log(chalk.gray('This step selects the active n8n project and the local sync folder.\n'));
|
|
87
|
+
const currentLocal = this.configService.getLocalConfig();
|
|
88
|
+
const currentApiKey = currentLocal.host ? this.configService.getApiKey(currentLocal.host) : '';
|
|
89
|
+
const resolvedOptions = this.resolveOptions(options, currentLocal, currentApiKey);
|
|
90
|
+
if (!resolvedOptions.host) {
|
|
91
|
+
console.error(chalk.red('❌ Missing saved n8n host. Run n8nac init-auth first, or pass --host <url>.'));
|
|
92
|
+
process.exitCode = 1;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const hostValidation = this.validateHost(resolvedOptions.host);
|
|
96
|
+
if (hostValidation !== true) {
|
|
97
|
+
console.error(chalk.red(`❌ ${hostValidation}`));
|
|
98
|
+
process.exitCode = 1;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (!resolvedOptions.apiKey) {
|
|
102
|
+
console.error(chalk.red('❌ Missing saved n8n API key. Run n8nac init-auth first, or pass --api-key <key>.'));
|
|
103
|
+
process.exitCode = 1;
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const spinner = ora('Testing connection to n8n...').start();
|
|
107
|
+
try {
|
|
108
|
+
const client = new N8nApiClient({
|
|
109
|
+
host: resolvedOptions.host,
|
|
110
|
+
apiKey: resolvedOptions.apiKey,
|
|
111
|
+
});
|
|
112
|
+
const isConnected = await client.testConnection();
|
|
113
|
+
if (!isConnected) {
|
|
114
|
+
spinner.fail(chalk.red('Failed to connect to n8n. Please check your URL and API Key.'));
|
|
115
|
+
process.exitCode = 1;
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
spinner.succeed(chalk.green('Successfully connected to n8n!'));
|
|
119
|
+
spinner.start('Fetching available projects...');
|
|
120
|
+
const projects = await client.getProjects();
|
|
121
|
+
spinner.succeed(chalk.green(`Found ${projects.length} project(s)`));
|
|
122
|
+
if (projects.length === 0) {
|
|
123
|
+
spinner.fail(chalk.red('No projects found. Please create a project in n8n first.'));
|
|
124
|
+
process.exitCode = 1;
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const nonInteractive = !!(options.yes ||
|
|
128
|
+
options.projectId ||
|
|
129
|
+
options.projectName ||
|
|
130
|
+
options.projectIndex !== undefined ||
|
|
131
|
+
options.syncFolder);
|
|
132
|
+
const selectedProject = nonInteractive
|
|
133
|
+
? this.resolveProjectSelection(projects, resolvedOptions)
|
|
134
|
+
: await this.promptForProject(projects);
|
|
135
|
+
if (!selectedProject) {
|
|
136
|
+
spinner.fail(chalk.red('Project selection failed.'));
|
|
137
|
+
process.exitCode = 1;
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const syncFolder = nonInteractive
|
|
141
|
+
? (resolvedOptions.syncFolder || 'workflows')
|
|
142
|
+
: await this.promptForSyncFolder(currentLocal.syncFolder || resolvedOptions.syncFolder || 'workflows');
|
|
143
|
+
await this.finalizeProjectSetup({
|
|
144
|
+
host: resolvedOptions.host,
|
|
145
|
+
apiKey: resolvedOptions.apiKey,
|
|
146
|
+
syncFolder,
|
|
147
|
+
selectedProject,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
spinner.fail(chalk.red(`An error occurred: ${error.message}`));
|
|
152
|
+
process.exitCode = 1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
resolveOptions(options, currentLocal, currentApiKey) {
|
|
156
|
+
return {
|
|
157
|
+
yes: !!options.yes,
|
|
158
|
+
host: options.host || this.getEnvValue('N8N_HOST') || currentLocal.host,
|
|
159
|
+
apiKey: options.apiKey || this.getEnvValue('N8N_API_KEY') || currentApiKey,
|
|
160
|
+
syncFolder: options.syncFolder || currentLocal.syncFolder || 'workflows',
|
|
161
|
+
projectId: options.projectId,
|
|
162
|
+
projectName: options.projectName,
|
|
163
|
+
projectIndex: options.projectIndex,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
getEnvValue(name) {
|
|
167
|
+
const value = process.env[name];
|
|
168
|
+
if (!value) {
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
171
|
+
return value.trim().replace(/^['"]|['"]$/g, '');
|
|
172
|
+
}
|
|
173
|
+
shouldRunNonInteractive(options) {
|
|
174
|
+
return !!(options.yes ||
|
|
175
|
+
options.host ||
|
|
176
|
+
options.apiKey ||
|
|
177
|
+
options.syncFolder ||
|
|
178
|
+
options.projectId ||
|
|
179
|
+
options.projectName ||
|
|
180
|
+
options.projectIndex !== undefined);
|
|
181
|
+
}
|
|
182
|
+
validateHost(host) {
|
|
183
|
+
try {
|
|
184
|
+
new URL(host);
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return 'Please enter a valid URL (e.g., http://localhost:5678)';
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async runInteractive(currentLocal, currentApiKey) {
|
|
18
192
|
const answers = await inquirer.prompt([
|
|
19
193
|
{
|
|
20
194
|
type: 'input',
|
|
21
195
|
name: 'host',
|
|
22
196
|
message: 'Enter your n8n instance URL:',
|
|
23
197
|
default: currentLocal.host || 'http://localhost:5678',
|
|
24
|
-
validate: (input) =>
|
|
25
|
-
try {
|
|
26
|
-
new URL(input);
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
return 'Please enter a valid URL (e.g., http://localhost:5678)';
|
|
31
|
-
}
|
|
32
|
-
}
|
|
198
|
+
validate: (input) => this.validateHost(input)
|
|
33
199
|
},
|
|
34
200
|
{
|
|
35
201
|
type: 'password',
|
|
@@ -45,15 +211,52 @@ export class InitCommand {
|
|
|
45
211
|
default: currentLocal.syncFolder || 'workflows'
|
|
46
212
|
}
|
|
47
213
|
]);
|
|
214
|
+
await this.completeInitialization({
|
|
215
|
+
host: answers.host,
|
|
216
|
+
apiKey: answers.apiKey,
|
|
217
|
+
syncFolder: answers.syncFolder,
|
|
218
|
+
}, false);
|
|
219
|
+
}
|
|
220
|
+
async runNonInteractive(options) {
|
|
221
|
+
if (!options.host) {
|
|
222
|
+
console.error(chalk.red('❌ Missing n8n host. Pass --host <url> or set N8N_HOST.'));
|
|
223
|
+
process.exitCode = 1;
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const hostValidation = this.validateHost(options.host);
|
|
227
|
+
if (hostValidation !== true) {
|
|
228
|
+
console.error(chalk.red(`❌ ${hostValidation}`));
|
|
229
|
+
process.exitCode = 1;
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
if (!options.apiKey) {
|
|
233
|
+
console.error(chalk.red('❌ Missing n8n API key. Pass --api-key <key> or set N8N_API_KEY.'));
|
|
234
|
+
process.exitCode = 1;
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
await this.completeInitialization({
|
|
238
|
+
host: options.host,
|
|
239
|
+
apiKey: options.apiKey,
|
|
240
|
+
syncFolder: options.syncFolder || 'workflows',
|
|
241
|
+
projectId: options.projectId,
|
|
242
|
+
projectName: options.projectName,
|
|
243
|
+
projectIndex: options.projectIndex,
|
|
244
|
+
}, true);
|
|
245
|
+
}
|
|
246
|
+
async completeInitialization(input, nonInteractive) {
|
|
48
247
|
const spinner = ora('Testing connection to n8n...').start();
|
|
49
248
|
try {
|
|
50
249
|
const client = new N8nApiClient({
|
|
51
|
-
host:
|
|
52
|
-
apiKey:
|
|
250
|
+
host: input.host,
|
|
251
|
+
apiKey: input.apiKey
|
|
53
252
|
});
|
|
54
253
|
const isConnected = await client.testConnection();
|
|
55
254
|
if (!isConnected) {
|
|
56
255
|
spinner.fail(chalk.red('Failed to connect to n8n. Please check your URL and API Key.'));
|
|
256
|
+
if (nonInteractive) {
|
|
257
|
+
process.exitCode = 1;
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
57
260
|
const { retry } = await inquirer.prompt([
|
|
58
261
|
{
|
|
59
262
|
type: 'confirm',
|
|
@@ -68,66 +271,143 @@ export class InitCommand {
|
|
|
68
271
|
return;
|
|
69
272
|
}
|
|
70
273
|
spinner.succeed(chalk.green('Successfully connected to n8n!'));
|
|
71
|
-
// Fetch available projects
|
|
72
274
|
spinner.start('Fetching available projects...');
|
|
73
275
|
const projects = await client.getProjects();
|
|
74
276
|
spinner.succeed(chalk.green(`Found ${projects.length} project(s)`));
|
|
75
277
|
if (projects.length === 0) {
|
|
76
278
|
spinner.fail(chalk.red('No projects found. Please create a project in n8n first.'));
|
|
279
|
+
process.exitCode = 1;
|
|
77
280
|
return;
|
|
78
281
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
{
|
|
83
|
-
type: 'rawlist',
|
|
84
|
-
name: 'selectedProjectId',
|
|
85
|
-
message: 'Select a project to sync:',
|
|
86
|
-
choices: projects.map((p, i) => {
|
|
87
|
-
const displayName = p.type === 'personal' ? `${p.name} (Personal)` : p.name;
|
|
88
|
-
return {
|
|
89
|
-
name: `[${i + 1}] ${displayName}`,
|
|
90
|
-
value: p.id
|
|
91
|
-
};
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
]);
|
|
95
|
-
const selectedProject = projects.find(p => p.id === selectedProjectId);
|
|
282
|
+
const selectedProject = nonInteractive
|
|
283
|
+
? this.resolveProjectSelection(projects, input)
|
|
284
|
+
: await this.promptForProject(projects);
|
|
96
285
|
if (!selectedProject) {
|
|
97
286
|
spinner.fail(chalk.red('Project selection failed.'));
|
|
287
|
+
process.exitCode = 1;
|
|
98
288
|
return;
|
|
99
289
|
}
|
|
100
|
-
const selectedProjectDisplayName = selectedProject
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
projectName: selectedProjectDisplayName
|
|
108
|
-
};
|
|
109
|
-
this.configService.saveLocalConfig(localConfig);
|
|
110
|
-
this.configService.saveApiKey(answers.host, answers.apiKey);
|
|
111
|
-
console.log('\n' + chalk.green('✔ Configuration saved successfully!'));
|
|
112
|
-
console.log(chalk.blue('📁 Project config:') + ' n8nac-config.json');
|
|
113
|
-
console.log(chalk.blue('🔑 API Key:') + ' Stored securely in global config\n');
|
|
114
|
-
// Generate instance identifier (saved to n8n-as-code.json)
|
|
115
|
-
spinner.start('Generating instance identifier...');
|
|
116
|
-
const instanceIdentifier = await this.configService.getOrCreateInstanceIdentifier(answers.host);
|
|
117
|
-
spinner.succeed(chalk.green(`Instance identifier: ${instanceIdentifier}`));
|
|
118
|
-
console.log(chalk.gray('(n8nac-config.json will be kept up to date automatically)\n'));
|
|
119
|
-
// Automatically initialize AI context (AI Bootstrap)
|
|
120
|
-
console.log(chalk.cyan('🤖 Bootstrapping AI Context...'));
|
|
121
|
-
const updateAi = new UpdateAiCommand(new Command());
|
|
122
|
-
await updateAi.run({}, { host: answers.host, apiKey: answers.apiKey });
|
|
123
|
-
console.log(chalk.yellow('\nNext steps:'));
|
|
124
|
-
console.log(`1. Run ${chalk.bold('n8nac pull')} to download your workflows`);
|
|
125
|
-
console.log(`2. Run ${chalk.bold('n8nac start')} to start real-time monitoring and synchronization`);
|
|
126
|
-
console.log(chalk.gray(`(Legacy command 'n8n-as-code' is also available but deprecated)\n`));
|
|
290
|
+
const selectedProjectDisplayName = getDisplayProjectName(selectedProject);
|
|
291
|
+
await this.finalizeProjectSetup({
|
|
292
|
+
host: input.host,
|
|
293
|
+
apiKey: input.apiKey,
|
|
294
|
+
syncFolder: input.syncFolder,
|
|
295
|
+
selectedProject,
|
|
296
|
+
});
|
|
127
297
|
}
|
|
128
298
|
catch (error) {
|
|
129
299
|
spinner.fail(chalk.red(`An error occurred: ${error.message}`));
|
|
300
|
+
process.exitCode = 1;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
async finalizeProjectSetup(input) {
|
|
304
|
+
const selectedProjectDisplayName = getDisplayProjectName(input.selectedProject);
|
|
305
|
+
console.log(chalk.green(`\n✓ Selected project: ${selectedProjectDisplayName}\n`));
|
|
306
|
+
const localConfig = {
|
|
307
|
+
host: input.host,
|
|
308
|
+
syncFolder: input.syncFolder,
|
|
309
|
+
projectId: input.selectedProject.id,
|
|
310
|
+
projectName: selectedProjectDisplayName
|
|
311
|
+
};
|
|
312
|
+
this.configService.saveLocalConfig(localConfig);
|
|
313
|
+
this.configService.saveApiKey(input.host, input.apiKey);
|
|
314
|
+
console.log('\n' + chalk.green('✔ Configuration saved successfully!'));
|
|
315
|
+
console.log(chalk.blue('📁 Project config:') + ' n8nac-config.json');
|
|
316
|
+
console.log(chalk.blue('🔑 API Key:') + ' Stored securely in global config\n');
|
|
317
|
+
const spinner = ora('Generating instance identifier...').start();
|
|
318
|
+
const instanceIdentifier = await this.configService.getOrCreateInstanceIdentifier(input.host);
|
|
319
|
+
spinner.succeed(chalk.green(`Instance identifier: ${instanceIdentifier}`));
|
|
320
|
+
console.log(chalk.gray('(n8nac-config.json will be kept up to date automatically)\n'));
|
|
321
|
+
console.log(chalk.cyan('🤖 Bootstrapping AI Context...'));
|
|
322
|
+
const updateAi = new UpdateAiCommand(new Command());
|
|
323
|
+
await updateAi.run({}, { host: input.host, apiKey: input.apiKey });
|
|
324
|
+
console.log(chalk.yellow('\nNext steps:'));
|
|
325
|
+
console.log(`1. Run ${chalk.bold('n8nac pull')} to download your workflows`);
|
|
326
|
+
console.log(`2. Run ${chalk.bold('n8nac start')} to start real-time monitoring and synchronization`);
|
|
327
|
+
console.log(chalk.gray(`(Legacy command 'n8n-as-code' is also available but deprecated)\n`));
|
|
328
|
+
}
|
|
329
|
+
async promptForProject(projects) {
|
|
330
|
+
const { selectedProjectId } = await inquirer.prompt([
|
|
331
|
+
{
|
|
332
|
+
type: 'rawlist',
|
|
333
|
+
name: 'selectedProjectId',
|
|
334
|
+
message: 'Select a project to sync:',
|
|
335
|
+
choices: projects.map((project, index) => ({
|
|
336
|
+
name: `[${index + 1}] ${getDisplayProjectName(project)}`,
|
|
337
|
+
value: project.id
|
|
338
|
+
}))
|
|
339
|
+
}
|
|
340
|
+
]);
|
|
341
|
+
return projects.find((project) => project.id === selectedProjectId);
|
|
342
|
+
}
|
|
343
|
+
async promptForSyncFolder(defaultSyncFolder) {
|
|
344
|
+
const { syncFolder } = await inquirer.prompt([
|
|
345
|
+
{
|
|
346
|
+
type: 'input',
|
|
347
|
+
name: 'syncFolder',
|
|
348
|
+
message: 'Local folder for workflows:',
|
|
349
|
+
default: defaultSyncFolder,
|
|
350
|
+
}
|
|
351
|
+
]);
|
|
352
|
+
return syncFolder;
|
|
353
|
+
}
|
|
354
|
+
resolveProjectSelection(projects, options) {
|
|
355
|
+
if (options.projectId) {
|
|
356
|
+
const byId = projects.find((project) => project.id === options.projectId);
|
|
357
|
+
if (!byId) {
|
|
358
|
+
console.error(chalk.red(`❌ Project ID not found: ${options.projectId}`));
|
|
359
|
+
process.exitCode = 1;
|
|
360
|
+
this.printAvailableProjects(projects);
|
|
361
|
+
}
|
|
362
|
+
return byId;
|
|
363
|
+
}
|
|
364
|
+
if (options.projectName) {
|
|
365
|
+
const requestedName = options.projectName.toLowerCase();
|
|
366
|
+
const byName = projects.find((project) => {
|
|
367
|
+
return project.name.toLowerCase() === requestedName || getDisplayProjectName(project).toLowerCase() === requestedName;
|
|
368
|
+
});
|
|
369
|
+
if (!byName) {
|
|
370
|
+
console.error(chalk.red(`❌ Project name not found: ${options.projectName}`));
|
|
371
|
+
process.exitCode = 1;
|
|
372
|
+
this.printAvailableProjects(projects);
|
|
373
|
+
}
|
|
374
|
+
return byName;
|
|
130
375
|
}
|
|
376
|
+
if (options.projectIndex !== undefined) {
|
|
377
|
+
if (!Number.isFinite(options.projectIndex) || !Number.isInteger(options.projectIndex) || options.projectIndex < 1) {
|
|
378
|
+
console.error(chalk.red(`❌ Invalid project index: ${options.projectIndex}`));
|
|
379
|
+
process.exitCode = 1;
|
|
380
|
+
this.printAvailableProjects(projects);
|
|
381
|
+
return undefined;
|
|
382
|
+
}
|
|
383
|
+
const index = options.projectIndex - 1;
|
|
384
|
+
if (index < 0 || index >= projects.length) {
|
|
385
|
+
console.error(chalk.red(`❌ Project index out of range: ${options.projectIndex}`));
|
|
386
|
+
process.exitCode = 1;
|
|
387
|
+
this.printAvailableProjects(projects);
|
|
388
|
+
return undefined;
|
|
389
|
+
}
|
|
390
|
+
return projects[index];
|
|
391
|
+
}
|
|
392
|
+
if (projects.length === 1) {
|
|
393
|
+
return projects[0];
|
|
394
|
+
}
|
|
395
|
+
const personalProjects = projects.filter((project) => project.type === 'personal');
|
|
396
|
+
if (personalProjects.length === 1) {
|
|
397
|
+
console.log(chalk.gray(`Auto-selected personal project: ${getDisplayProjectName(personalProjects[0])}`));
|
|
398
|
+
return personalProjects[0];
|
|
399
|
+
}
|
|
400
|
+
console.error(chalk.red('❌ Multiple projects are available. Re-run init with --project-id, --project-name, or --project-index.'));
|
|
401
|
+
process.exitCode = 1;
|
|
402
|
+
this.printAvailableProjects(projects);
|
|
403
|
+
return undefined;
|
|
404
|
+
}
|
|
405
|
+
printAvailableProjects(projects) {
|
|
406
|
+
console.log(chalk.yellow('\nAvailable projects:'));
|
|
407
|
+
projects.forEach((project, index) => {
|
|
408
|
+
console.log(` [${index + 1}] ${getDisplayProjectName(project)} (id: ${project.id})`);
|
|
409
|
+
});
|
|
410
|
+
console.log('');
|
|
131
411
|
}
|
|
132
412
|
}
|
|
133
413
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,YAAY,EAA8D,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAgB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,WAAW;IACZ,aAAa,CAAgB;IAErC;QACI,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG;QACL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEvF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/F,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAClC;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,YAAY,CAAC,IAAI,IAAI,uBAAuB;gBACrD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxB,IAAI,CAAC;wBACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAAC,MAAM,CAAC;wBACL,OAAO,wDAAwD,CAAC;oBACpE,CAAC;gBACL,CAAC;aACJ;YACD;gBACI,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,GAAG;aACZ;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,6BAA6B;gBACtC,OAAO,EAAE,YAAY,CAAC,UAAU,IAAI,WAAW;aAClD;SACJ,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5D,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAElD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACxF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACpC;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,8BAA8B;wBACvC,OAAO,EAAE,IAAI;qBAChB;iBACJ,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO;YACX,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAE/D,2BAA2B;YAC3B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBACpF,OAAO;YACX,CAAC;YAED,4BAA4B;YAC5B,wEAAwE;YACxE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAChD;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,2BAA2B;oBACpC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC3B,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5E,OAAO;4BACH,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE;4BACjC,KAAK,EAAE,CAAC,CAAC,EAAE;yBACd,CAAC;oBACN,CAAC,CAAC;iBACL;aACJ,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;YACvE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACrD,OAAO;YACX,CAAC;YAED,MAAM,0BAA0B,GAAG,eAAe,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;YAC3G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,0BAA0B,IAAI,CAAC,CAAC,CAAC;YAElF,yFAAyF;YACzF,MAAM,WAAW,GAAiB;gBAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,eAAe,CAAC,EAAE;gBAC7B,WAAW,EAAE,0BAA0B;aAC1C,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAE5D,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,qCAAqC,CAAC,CAAC;YAE/E,2DAA2D;YAC3D,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACnD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;YAEvF,qDAAqD;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;YACpD,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,oDAAoD,CAAC,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAEjG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAgB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,OAAO,WAAW;IACZ,aAAa,CAAgB;IAErC;QACI,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAA8B,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEvF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAElF,IAAI,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAA8B,EAAE;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC,CAAC;QAExG,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAElF,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5D,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;aACjC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACxF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAE/D,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8EAA8E,CAAC,CAAC,CAAC;YAC9G,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC;YAEvG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,oBAAoB,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,qCAAqC,CAAC,CAAC;YAE/E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,yCAAyC,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC,CAAC;QACtI,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAA8B,EAAE;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC,CAAC;QAEjG,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAElF,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC,CAAC;YACvG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5D,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;aACjC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACxF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAE/D,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YAED,MAAM,cAAc,GAAG,CAAC,CAAC,CACrB,OAAO,CAAC,GAAG;gBACX,OAAO,CAAC,SAAS;gBACjB,OAAO,CAAC,WAAW;gBACnB,OAAO,CAAC,YAAY,KAAK,SAAS;gBAClC,OAAO,CAAC,UAAU,CACrB,CAAC;YAEF,MAAM,eAAe,GAAG,cAAc;gBAClC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC;gBACzD,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,cAAc;gBAC7B,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,IAAI,WAAW,CAAC;gBAC7C,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC;YAE3G,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,UAAU;gBACV,eAAe;aAClB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAEO,cAAc,CAClB,OAA2B,EAC3B,YAAmC,EACnC,aAAsB;QAEtB,OAAO;YACH,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,IAAI;YACvE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,aAAa;YAC1E,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,IAAI,WAAW;YACxE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;IACN,CAAC;IAEO,WAAW,CAAC,IAAY;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,uBAAuB,CAAC,OAA2B;QACvD,OAAO,CAAC,CAAC,CACL,OAAO,CAAC,GAAG;YACX,OAAO,CAAC,IAAI;YACZ,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,UAAU;YAClB,OAAO,CAAC,SAAS;YACjB,OAAO,CAAC,WAAW;YACnB,OAAO,CAAC,YAAY,KAAK,SAAS,CACrC,CAAC;IACN,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,wDAAwD,CAAC;QACpE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,YAAmC,EAAE,aAAsB;QACpF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAClC;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,YAAY,CAAC,IAAI,IAAI,uBAAuB;gBACrD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;aACxD;YACD;gBACI,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,GAAG;aACZ;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,6BAA6B;gBACtC,OAAO,EAAE,YAAY,CAAC,UAAU,IAAI,WAAW;aAClD;SACJ,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAA2B;QACvD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC5F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,WAAW;YAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAChC,KAOC,EACD,cAAuB;QAEvB,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5D,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;YAElD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACxF,IAAI,cAAc,EAAE,CAAC;oBACjB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACX,CAAC;gBAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBACpC;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,8BAA8B;wBACvC,OAAO,EAAE,IAAI;qBAChB;iBACJ,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO;YACX,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAE/D,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YAED,MAAM,eAAe,GAAG,cAAc;gBAClC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAC/C,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;YAED,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;YAC1E,MAAM,IAAI,CAAC,oBAAoB,CAAC;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,eAAe;aAClB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAKlC;QACG,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,0BAA0B,IAAI,CAAC,CAAC,CAAC;QAElF,MAAM,WAAW,GAAiB;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE;YACnC,WAAW,EAAE,0BAA0B;SAC1C,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAExD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,qCAAqC,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9F,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAEvF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAEnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,oDAAoD,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC,CAAC;IACjG,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAAoB;QAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAChD;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBACvC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,KAAK,qBAAqB,CAAC,OAAO,CAAC,EAAE;oBACxD,KAAK,EAAE,OAAO,CAAC,EAAE;iBACpB,CAAC,CAAC;aACN;SACJ,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,iBAAyB;QACvD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACzC;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,6BAA6B;gBACtC,OAAO,EAAE,iBAAiB;aAC7B;SACJ,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,uBAAuB,CAC3B,QAAoB,EACpB,OAA+E;QAE/E,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACzE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC;YAC1H,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAChH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACnF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uGAAuG,CAAC,CAAC,CAAC;QAClI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,sBAAsB,CAAC,QAAoB;QAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,qBAAqB,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;CACJ"}
|
package/dist/commands/sync.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseCommand } from './base.js';
|
|
2
2
|
export declare class SyncCommand extends BaseCommand {
|
|
3
3
|
pullOne(workflowId: string): Promise<void>;
|
|
4
|
-
pushOne(
|
|
4
|
+
pushOne(filename: string): Promise<string | undefined>;
|
|
5
5
|
fetchOne(workflowId: string): Promise<void>;
|
|
6
6
|
resolveOne(workflowId: string, resolution: 'keep-current' | 'keep-incoming'): Promise<void>;
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,qBAAa,WAAY,SAAQ,WAAW;IAElC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC1C,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAOxC,qBAAa,WAAY,SAAQ,WAAW;IAElC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC1C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA0DtD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB3C,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjG;;;;OAIG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAsD3D"}
|