n8nac 2.4.0-next.150 → 2.4.0
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 +4 -24
- package/dist/commands/base.d.ts.map +1 -1
- package/dist/commands/base.js +36 -90
- package/dist/commands/base.js.map +1 -1
- package/dist/commands/promote.d.ts +7 -1
- package/dist/commands/promote.d.ts.map +1 -1
- package/dist/commands/promote.js +94 -19
- package/dist/commands/promote.js.map +1 -1
- package/dist/commands/update-ai.d.ts.map +1 -1
- package/dist/commands/update-ai.js +27 -12
- package/dist/commands/update-ai.js.map +1 -1
- package/dist/core/services/n8n-api-client.d.ts.map +1 -1
- package/dist/core/services/n8n-api-client.js +2 -0
- package/dist/core/services/n8n-api-client.js.map +1 -1
- package/dist/core/services/workflow-state-tracker.d.ts.map +1 -1
- package/dist/core/services/workflow-state-tracker.js +26 -4
- package/dist/core/services/workflow-state-tracker.js.map +1 -1
- package/dist/index.js +166 -273
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +1 -2
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +0 -1
- package/dist/lib.js.map +1 -1
- package/dist/services/config-service.d.ts +25 -155
- package/dist/services/config-service.d.ts.map +1 -1
- package/dist/services/config-service.js +145 -991
- package/dist/services/config-service.js.map +1 -1
- package/package.json +5 -4
- package/dist/services/workspace-migration-facade.d.ts +0 -21
- package/dist/services/workspace-migration-facade.d.ts.map +0 -1
- package/dist/services/workspace-migration-facade.js +0 -28
- package/dist/services/workspace-migration-facade.js.map +0 -1
package/README.md
CHANGED
|
@@ -36,9 +36,8 @@ Full documentation: [CLI guide](https://n8nascode.dev/docs/usage/cli/) · [n8n-m
|
|
|
36
36
|
| Group | Command | Purpose |
|
|
37
37
|
|---|---|---|
|
|
38
38
|
| Primary Usage | `n8nac env` | Workspace environments: remote n8n URL or local managed instance, project, workflowsPath, active environment |
|
|
39
|
-
| Workspace
|
|
39
|
+
| Workspace Inspection | `n8nac workspace` | V4 workspace snapshot |
|
|
40
40
|
| Managed Local Instances | `n8n-manager` | Local managed instances, Docker lifecycle, tunnels, local secrets |
|
|
41
|
-
| Hidden Compatibility | `instance-target`, `target`, `setup`, old `workspace` mutations | Compatibility only |
|
|
42
41
|
|
|
43
42
|
## Workspace Environments
|
|
44
43
|
|
|
@@ -74,18 +73,14 @@ n8nac env remove Dev
|
|
|
74
73
|
|
|
75
74
|
Removing a workspace environment does not delete remote workflows, local workflow files, or local managed instances.
|
|
76
75
|
|
|
77
|
-
##
|
|
78
|
-
|
|
79
|
-
Inspect and apply required workspace migrations explicitly:
|
|
76
|
+
## Readiness
|
|
80
77
|
|
|
81
78
|
```bash
|
|
82
|
-
n8nac workspace migrate --json
|
|
83
|
-
n8nac workspace migrate --write
|
|
84
|
-
n8nac workspace migrate --json
|
|
85
79
|
n8nac env status --json
|
|
80
|
+
n8nac workspace status --json
|
|
86
81
|
```
|
|
87
82
|
|
|
88
|
-
|
|
83
|
+
Use `env status --json` as the source of truth for active environment readiness.
|
|
89
84
|
|
|
90
85
|
## Sync Commands
|
|
91
86
|
|
|
@@ -199,21 +194,6 @@ Current workspace config is environment-based:
|
|
|
199
194
|
|
|
200
195
|
In config examples, `kind: "external-instance"` is the persisted target kind for a remote n8n URL. Do not store API keys in this file. Use `n8nac env auth set <env> --api-key-stdin` for remote n8n environments.
|
|
201
196
|
|
|
202
|
-
## Compatibility Commands
|
|
203
|
-
|
|
204
|
-
These commands may still be callable for old workspaces or scripts, but they are not the primary CLI surface:
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
n8nac instance-target ...
|
|
208
|
-
n8nac target ...
|
|
209
|
-
n8nac setup ...
|
|
210
|
-
n8nac setup-modes ...
|
|
211
|
-
n8nac workspace pin-instance ...
|
|
212
|
-
n8nac workspace set-sync-folder ...
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
Prefer `n8nac env` for all new workspace configuration.
|
|
216
|
-
|
|
217
197
|
## License
|
|
218
198
|
|
|
219
199
|
MIT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,KAAK,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAKlG,qBAAa,WAAW;IACpB,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;IAC5D,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnD,SAAS,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvD,OAAO,CAAC,eAAe,CAAS;;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,KAAK,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAKlG,qBAAa,WAAW;IACpB,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;IAC5D,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnD,SAAS,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvD,OAAO,CAAC,eAAe,CAAS;;IAiEhC,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;cACa,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAiB3D;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;cAwC7B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuCtD,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAiCpD,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK;CASnE"}
|
package/dist/commands/base.js
CHANGED
|
@@ -20,79 +20,33 @@ export class BaseCommand {
|
|
|
20
20
|
let apiKey;
|
|
21
21
|
let directory;
|
|
22
22
|
let folderSync;
|
|
23
|
-
|
|
24
|
-
//
|
|
25
|
-
// environment; otherwise fall back to the locally active environment or legacy instance config.
|
|
23
|
+
// If --env <name> was passed as a global option, resolve that workspace
|
|
24
|
+
// environment; otherwise use the V4 active environment.
|
|
26
25
|
const requestedEnvironment = process.env.N8NAC_ENVIRONMENT?.trim() || undefined;
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
console.error(chalk.red('❌
|
|
30
|
-
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --workflows-path workflows/<name
|
|
26
|
+
const resolvedEnvironment = this.tryResolveEnvironment(requestedEnvironment);
|
|
27
|
+
if (!resolvedEnvironment) {
|
|
28
|
+
console.error(chalk.red('❌ CLI not configured.'));
|
|
29
|
+
console.error(chalk.yellow('Create a V4 workspace environment with `n8nac env add <name> --base-url <url> --workflows-path workflows/<name>` and store auth with `n8nac env auth set <name> --api-key-stdin`.'));
|
|
31
30
|
process.exit(1);
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return this.configService.getEffectiveContext(this.activeInstanceId);
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
return undefined;
|
|
48
|
-
} })()
|
|
49
|
-
: undefined;
|
|
50
|
-
const canPrepareRuntime = resolvedEnvironment.sourceKind === 'managed-instance'
|
|
51
|
-
&& (!host || !apiKey || effectiveContext?.instance.mode === 'managed-local-docker');
|
|
52
|
-
if (!host || !apiKey) {
|
|
53
|
-
if (!canPrepareRuntime) {
|
|
54
|
-
console.error(chalk.red(`❌ Environment "${resolvedEnvironment.environmentName}" needs a host and API key before this command can run.`));
|
|
55
|
-
console.error(chalk.yellow(`Configure a local API key with \`n8nac env auth set ${resolvedEnvironment.environmentName} --api-key-stdin\` or update the environment URL.`));
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
apiKey = '';
|
|
32
|
+
this.activeEnvironmentNameOrId = requestedEnvironment || resolvedEnvironment.environmentId;
|
|
33
|
+
this.activeEnvironment = resolvedEnvironment;
|
|
34
|
+
this.activeInstanceId = resolvedEnvironment.activeInstanceId;
|
|
35
|
+
host = resolvedEnvironment.host || '';
|
|
36
|
+
apiKey = resolvedEnvironment.apiKey || '';
|
|
37
|
+
const canPrepareRuntime = resolvedEnvironment.sourceKind === 'managed-instance';
|
|
38
|
+
if (!host || !apiKey) {
|
|
39
|
+
if (!canPrepareRuntime) {
|
|
40
|
+
console.error(chalk.red(`❌ Environment "${resolvedEnvironment.environmentName}" needs a host and API key before this command can run.`));
|
|
41
|
+
console.error(chalk.yellow(`Configure a local API key with \`n8nac env auth set ${resolvedEnvironment.environmentName} --api-key-stdin\` or update the environment URL.`));
|
|
42
|
+
process.exit(1);
|
|
59
43
|
}
|
|
60
|
-
|
|
61
|
-
folderSync = resolvedEnvironment.folderSync ?? false;
|
|
62
|
-
this.instanceIdentifier = resolvedEnvironment.instanceIdentifier || null;
|
|
63
|
-
this.instanceUserIdentifier = resolvedEnvironment.instanceUserIdentifier || null;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
const localConfig = this.configService.getLocalConfig();
|
|
67
|
-
this.activeInstanceId = this.configService.getActiveInstanceId();
|
|
68
|
-
const effectiveContext = this.configService.getEffectiveContext(this.activeInstanceId);
|
|
69
|
-
// Resolve host: explicit env override → backend-resolved config.
|
|
70
|
-
const rawEnvHost = process.env.N8N_HOST;
|
|
71
|
-
const envHost = rawEnvHost
|
|
72
|
-
? rawEnvHost.trim().replace(/^['"]|['"]$/g, '')
|
|
73
|
-
: '';
|
|
74
|
-
host = envHost || localConfig.host || '';
|
|
75
|
-
// Resolve API key: explicit env override → backend-resolved secret.
|
|
76
|
-
const rawEnvApiKey = process.env.N8N_API_KEY;
|
|
77
|
-
const envApiKey = rawEnvApiKey
|
|
78
|
-
? rawEnvApiKey.trim().replace(/^['"]|['"]$/g, '')
|
|
79
|
-
: '';
|
|
80
|
-
envCredentialsProvided = Boolean(envHost && envApiKey);
|
|
81
|
-
apiKey = envApiKey
|
|
82
|
-
|| (host ? this.configService.getApiKey(host, this.activeInstanceId) : undefined)
|
|
83
|
-
|| '';
|
|
84
|
-
const canPrepareManagedRuntime = effectiveContext?.instance.mode === 'managed-local-docker' && Boolean(host);
|
|
85
|
-
if (!host || !apiKey) {
|
|
86
|
-
if (!canPrepareManagedRuntime) {
|
|
87
|
-
console.error(chalk.red('❌ CLI not configured.'));
|
|
88
|
-
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --workflows-path workflows/<name>` and store auth with `n8nac env auth set <name> --api-key-stdin`.'));
|
|
89
|
-
process.exit(1);
|
|
90
|
-
}
|
|
91
|
-
apiKey = '';
|
|
92
|
-
}
|
|
93
|
-
directory = this.configService.resolveWorkspacePath(localConfig.syncFolder || './workflows');
|
|
94
|
-
folderSync = localConfig.folderSync ?? false;
|
|
44
|
+
apiKey = '';
|
|
95
45
|
}
|
|
46
|
+
directory = resolvedEnvironment.workflowsPath;
|
|
47
|
+
folderSync = resolvedEnvironment.folderSync ?? false;
|
|
48
|
+
this.instanceIdentifier = resolvedEnvironment.instanceIdentifier || null;
|
|
49
|
+
this.instanceUserIdentifier = resolvedEnvironment.instanceUserIdentifier || null;
|
|
96
50
|
this.client = new N8nApiClient({ host, apiKey });
|
|
97
51
|
this.config = {
|
|
98
52
|
directory,
|
|
@@ -102,7 +56,7 @@ export class BaseCommand {
|
|
|
102
56
|
apiKeyConfigured: Boolean(apiKey),
|
|
103
57
|
folderSync,
|
|
104
58
|
};
|
|
105
|
-
this.runtimePrepared =
|
|
59
|
+
this.runtimePrepared = false;
|
|
106
60
|
// Silently refresh AGENTS.md in the background if the installed n8nac version changed.
|
|
107
61
|
// Spawned as a fully-detached child process so it never blocks the command, never
|
|
108
62
|
// interleaves with stdout, and can't be killed by an early process.exit().
|
|
@@ -118,12 +72,12 @@ export class BaseCommand {
|
|
|
118
72
|
}
|
|
119
73
|
catch { /* never block the command */ }
|
|
120
74
|
}
|
|
121
|
-
tryResolveEnvironment() {
|
|
75
|
+
tryResolveEnvironment(environmentNameOrId) {
|
|
122
76
|
if (!this.configService.isWorkspaceConfigV4()) {
|
|
123
77
|
return undefined;
|
|
124
78
|
}
|
|
125
79
|
try {
|
|
126
|
-
return this.configService.resolveEnvironment();
|
|
80
|
+
return this.configService.resolveEnvironment(environmentNameOrId);
|
|
127
81
|
}
|
|
128
82
|
catch (error) {
|
|
129
83
|
console.error(chalk.red(`❌ Workspace environment resolution failed: ${error?.message || error}`));
|
|
@@ -156,17 +110,13 @@ export class BaseCommand {
|
|
|
156
110
|
async getSyncConfig() {
|
|
157
111
|
await this.prepareRuntimeContext();
|
|
158
112
|
const instanceIdentifier = await this.ensureInstanceIdentifier();
|
|
159
|
-
const localConfig = this.activeEnvironmentNameOrId
|
|
160
|
-
? (this.activeEnvironment || this.configService.getLocalConfig(this.activeEnvironmentNameOrId))
|
|
161
|
-
: this.activeInstanceId
|
|
162
|
-
? (this.configService.getEffectiveInstanceConfig(this.activeInstanceId) ?? this.configService.getLocalConfig())
|
|
163
|
-
: this.configService.getLocalConfig();
|
|
113
|
+
const localConfig = this.activeEnvironment || this.configService.getLocalConfig(this.activeEnvironmentNameOrId);
|
|
164
114
|
const missing = [];
|
|
165
115
|
if (!localConfig.projectId)
|
|
166
116
|
missing.push('projectId');
|
|
167
117
|
if (!localConfig.projectName)
|
|
168
118
|
missing.push('projectName');
|
|
169
|
-
if (!localConfig.workflowsPath
|
|
119
|
+
if (!localConfig.workflowsPath)
|
|
170
120
|
missing.push('workflowsPath');
|
|
171
121
|
if (missing.length > 0) {
|
|
172
122
|
console.error(chalk.red(`❌ Missing required project configuration: ${missing.join(', ')}.`));
|
|
@@ -177,14 +127,10 @@ export class BaseCommand {
|
|
|
177
127
|
directory: this.config.directory,
|
|
178
128
|
workflowsPath: localConfig.workflowsPath
|
|
179
129
|
? this.configService.resolveWorkspacePath(localConfig.workflowsPath)
|
|
180
|
-
:
|
|
181
|
-
? this.configService.resolveWorkspacePath(localConfig.workflowDir)
|
|
182
|
-
: undefined,
|
|
130
|
+
: undefined,
|
|
183
131
|
workflowDir: localConfig.workflowsPath
|
|
184
132
|
? this.configService.resolveWorkspacePath(localConfig.workflowsPath)
|
|
185
|
-
:
|
|
186
|
-
? this.configService.resolveWorkspacePath(localConfig.workflowDir)
|
|
187
|
-
: undefined,
|
|
133
|
+
: undefined,
|
|
188
134
|
syncInactive: true,
|
|
189
135
|
ignoredTags: [],
|
|
190
136
|
instanceIdentifier: instanceIdentifier,
|
|
@@ -204,14 +150,14 @@ export class BaseCommand {
|
|
|
204
150
|
if (this.runtimePrepared) {
|
|
205
151
|
return;
|
|
206
152
|
}
|
|
153
|
+
if (process.env.N8NAC_TEST_SKIP_RUNTIME_PREPARE === '1') {
|
|
154
|
+
this.runtimePrepared = true;
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
207
157
|
try {
|
|
208
158
|
const environment = this.activeEnvironmentNameOrId;
|
|
209
|
-
const preparedEnvironment = environment
|
|
210
|
-
|
|
211
|
-
: undefined;
|
|
212
|
-
const context = preparedEnvironment
|
|
213
|
-
? await this.configService.prepareWorkspaceContext({ environment })
|
|
214
|
-
: await this.configService.prepareWorkspaceContext(this.activeInstanceId);
|
|
159
|
+
const preparedEnvironment = await this.configService.prepareEnvironment(environment);
|
|
160
|
+
const context = await this.configService.prepareWorkspaceContext({ environment });
|
|
215
161
|
if (!context.host || !context.apiKey) {
|
|
216
162
|
this.exitWithError(`Instance "${context.activeInstanceName}" needs a host and API key before this command can run`);
|
|
217
163
|
}
|
|
@@ -222,7 +168,7 @@ export class BaseCommand {
|
|
|
222
168
|
this.client = new N8nApiClient({ host: context.host, apiKey: context.apiKey });
|
|
223
169
|
this.config = {
|
|
224
170
|
...this.config,
|
|
225
|
-
directory: this.configService.resolveWorkspacePath(context.workflowsPath
|
|
171
|
+
directory: this.configService.resolveWorkspacePath(context.workflowsPath),
|
|
226
172
|
host: context.host,
|
|
227
173
|
apiKeyConfigured: true,
|
|
228
174
|
folderSync: context.folderSync ?? false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export interface PromotionSubstitution {
|
|
|
18
18
|
fromName?: string;
|
|
19
19
|
toId?: string;
|
|
20
20
|
toName?: string;
|
|
21
|
-
status: 'mapped' | 'pending-create' | 'unchanged';
|
|
21
|
+
status: 'mapped' | 'pending-create' | 'unchanged' | 'omitted';
|
|
22
22
|
}
|
|
23
23
|
export interface PromotionProblem {
|
|
24
24
|
kind: 'credential' | 'workflow' | 'target-file';
|
|
@@ -76,6 +76,8 @@ export interface CredentialMappingPromptContext {
|
|
|
76
76
|
export type CredentialMappingPromptAnswer = {
|
|
77
77
|
action: 'map';
|
|
78
78
|
credential: Record<string, unknown>;
|
|
79
|
+
} | {
|
|
80
|
+
action: 'omit';
|
|
79
81
|
} | {
|
|
80
82
|
action: 'skip';
|
|
81
83
|
} | {
|
|
@@ -114,8 +116,12 @@ export declare class PromoteCommand {
|
|
|
114
116
|
private getTargetCredentialsByType;
|
|
115
117
|
private askCredentialMapping;
|
|
116
118
|
private resolveCredentialBindingReference;
|
|
119
|
+
private resolveCredentialFromInput;
|
|
117
120
|
private credentialBindingKey;
|
|
118
121
|
private parseCredentialBindingKey;
|
|
122
|
+
private getCredentialId;
|
|
123
|
+
private getCredentialName;
|
|
124
|
+
private getCredentialType;
|
|
119
125
|
private remapWorkflowReferences;
|
|
120
126
|
private resolveWorkflowReference;
|
|
121
127
|
private ensureTargetWorkflowIndexes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,KAAK,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIhE,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,gBAAgB,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/promote.js
CHANGED
|
@@ -306,6 +306,23 @@ export class PromoteCommand {
|
|
|
306
306
|
for (const [credentialType, credentialRef] of Object.entries(node.credentials)) {
|
|
307
307
|
const sourceId = String(credentialRef?.id ?? '').trim();
|
|
308
308
|
const sourceName = String(credentialRef?.name ?? '').trim();
|
|
309
|
+
const sourceBindingName = sourceName || sourceId;
|
|
310
|
+
const sourceBindingKey = sourceBindingName ? this.credentialBindingKey(sourceBindingName, credentialType) : undefined;
|
|
311
|
+
if (sourceBindingKey && indexes.omittedCredentialBindings?.has(sourceBindingKey)) {
|
|
312
|
+
delete node.credentials[credentialType];
|
|
313
|
+
if (Object.keys(node.credentials).length === 0)
|
|
314
|
+
delete node.credentials;
|
|
315
|
+
substitutions.push({
|
|
316
|
+
kind: 'credential',
|
|
317
|
+
nodeName: node.name,
|
|
318
|
+
field: credentialType,
|
|
319
|
+
fromId: sourceId || undefined,
|
|
320
|
+
fromName: sourceName || undefined,
|
|
321
|
+
toName: 'omitted',
|
|
322
|
+
status: 'omitted',
|
|
323
|
+
});
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
309
326
|
const targetCredential = await this.resolveTargetCredential(target, route, indexes, credentialType, sourceId, sourceName);
|
|
310
327
|
if (!targetCredential) {
|
|
311
328
|
problems.push({
|
|
@@ -319,12 +336,10 @@ export class PromoteCommand {
|
|
|
319
336
|
});
|
|
320
337
|
continue;
|
|
321
338
|
}
|
|
322
|
-
const targetId =
|
|
323
|
-
const targetName =
|
|
339
|
+
const targetId = this.getCredentialId(targetCredential);
|
|
340
|
+
const targetName = this.getCredentialName(targetCredential);
|
|
324
341
|
node.credentials[credentialType] = { id: targetId, name: targetName };
|
|
325
|
-
const sourceBindingName = sourceName || sourceId;
|
|
326
342
|
if (sourceBindingName && targetName) {
|
|
327
|
-
const sourceBindingKey = this.credentialBindingKey(sourceBindingName, credentialType);
|
|
328
343
|
route.bindings.credentials[sourceBindingKey] ??= this.credentialBindingKey(targetName, credentialType);
|
|
329
344
|
}
|
|
330
345
|
substitutions.push({
|
|
@@ -394,9 +409,15 @@ export class PromoteCommand {
|
|
|
394
409
|
return 'aborted';
|
|
395
410
|
if (answer.action === 'skip')
|
|
396
411
|
continue;
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
412
|
+
if (answer.action === 'omit') {
|
|
413
|
+
indexes.omittedCredentialBindings ??= new Set();
|
|
414
|
+
indexes.omittedCredentialBindings.add(this.credentialBindingKey(candidate.sourceName, candidate.credentialType));
|
|
415
|
+
mapped = true;
|
|
416
|
+
continue;
|
|
417
|
+
}
|
|
418
|
+
const targetName = this.getCredentialName(answer.credential);
|
|
419
|
+
const targetType = this.getCredentialType(answer.credential);
|
|
420
|
+
const targetId = this.getCredentialId(answer.credential);
|
|
400
421
|
if (!targetName || targetType !== candidate.credentialType)
|
|
401
422
|
continue;
|
|
402
423
|
route.bindings.credentials[this.credentialBindingKey(candidate.sourceName, candidate.credentialType)] = targetId || this.credentialBindingKey(targetName, targetType);
|
|
@@ -439,9 +460,9 @@ export class PromoteCommand {
|
|
|
439
460
|
});
|
|
440
461
|
}
|
|
441
462
|
getTargetCredentialsByType(indexes, credentialType) {
|
|
442
|
-
return
|
|
443
|
-
.filter((credential) =>
|
|
444
|
-
.sort((a, b) =>
|
|
463
|
+
return (indexes.targetCredentials ?? [])
|
|
464
|
+
.filter((credential) => this.getCredentialType(credential) === credentialType)
|
|
465
|
+
.sort((a, b) => this.getCredentialName(a).localeCompare(this.getCredentialName(b)));
|
|
445
466
|
}
|
|
446
467
|
async askCredentialMapping(candidate, targetCredentials, context) {
|
|
447
468
|
if (this.dependencies.promptCredentialMapping) {
|
|
@@ -449,21 +470,36 @@ export class PromoteCommand {
|
|
|
449
470
|
}
|
|
450
471
|
const { default: inquirer } = await import('inquirer');
|
|
451
472
|
const choices = targetCredentials.map((credential, index) => ({
|
|
452
|
-
name: `${
|
|
473
|
+
name: `${this.getCredentialName(credential) || 'Unnamed credential'} (${this.getCredentialId(credential) || 'no id'})`,
|
|
453
474
|
value: `map:${index}`,
|
|
454
475
|
}));
|
|
455
|
-
choices.push({ name: '
|
|
456
|
-
const nodeLabel = candidate.nodeNames.length > 0 ? ` used by ${candidate.nodeNames.join(', ')}` : '';
|
|
476
|
+
choices.push({ name: 'Enter credential name or ID manually', value: 'manual' }, { name: 'Promote without this credential', value: 'omit' }, { name: 'Skip (promotion will fail)', value: 'skip' }, { name: 'Abort promotion', value: 'abort' });
|
|
477
|
+
const nodeLabel = candidate.nodeNames.length > 0 ? ` used by node ${candidate.nodeNames.join(', ')}` : '';
|
|
457
478
|
const answer = await inquirer.prompt([{
|
|
458
|
-
type: '
|
|
479
|
+
type: 'select',
|
|
459
480
|
name: 'selection',
|
|
460
|
-
message: `
|
|
481
|
+
message: `Select target ${candidate.credentialType} credential for source credential "${candidate.sourceName}"${nodeLabel} in ${context.targetEnvironmentName}`,
|
|
461
482
|
choices,
|
|
462
483
|
}]);
|
|
463
484
|
if (answer.selection === 'abort')
|
|
464
485
|
return { action: 'abort' };
|
|
465
486
|
if (answer.selection === 'skip')
|
|
466
487
|
return { action: 'skip' };
|
|
488
|
+
if (answer.selection === 'omit')
|
|
489
|
+
return { action: 'omit' };
|
|
490
|
+
if (answer.selection === 'manual') {
|
|
491
|
+
const manual = await inquirer.prompt([{
|
|
492
|
+
type: 'input',
|
|
493
|
+
name: 'reference',
|
|
494
|
+
message: `Target credential name or ID for "${candidate.sourceName}" (${candidate.credentialType})`,
|
|
495
|
+
}]);
|
|
496
|
+
const credential = this.resolveCredentialFromInput(manual.reference, candidate.credentialType, targetCredentials);
|
|
497
|
+
if (!credential) {
|
|
498
|
+
console.log(chalk.yellow(`No ${candidate.credentialType} credential matched "${manual.reference}".`));
|
|
499
|
+
return { action: 'skip' };
|
|
500
|
+
}
|
|
501
|
+
return { action: 'map', credential };
|
|
502
|
+
}
|
|
467
503
|
const index = Number(answer.selection.replace(/^map:/, ''));
|
|
468
504
|
const credential = targetCredentials[index];
|
|
469
505
|
return credential ? { action: 'map', credential } : { action: 'skip' };
|
|
@@ -474,10 +510,34 @@ export class PromoteCommand {
|
|
|
474
510
|
const byId = indexes.targetCredentialsById.get(boundRef);
|
|
475
511
|
if (byId)
|
|
476
512
|
return byId;
|
|
513
|
+
const byName = unique(indexes.targetCredentialsByKey.get(`${credentialType}::${boundRef}`));
|
|
514
|
+
if (byName)
|
|
515
|
+
return byName;
|
|
477
516
|
const parsed = this.parseCredentialBindingKey(boundRef);
|
|
517
|
+
if (parsed) {
|
|
518
|
+
if (parsed.type !== credentialType)
|
|
519
|
+
return undefined;
|
|
520
|
+
return unique(indexes.targetCredentialsByKey.get(`${parsed.type}::${parsed.name}`));
|
|
521
|
+
}
|
|
522
|
+
return undefined;
|
|
523
|
+
}
|
|
524
|
+
resolveCredentialFromInput(reference, credentialType, targetCredentials) {
|
|
525
|
+
const value = String(reference ?? '').trim();
|
|
526
|
+
if (!value)
|
|
527
|
+
return undefined;
|
|
528
|
+
const idMatch = targetCredentials.find((credential) => this.getCredentialId(credential) === value &&
|
|
529
|
+
this.getCredentialType(credential) === credentialType);
|
|
530
|
+
if (idMatch)
|
|
531
|
+
return idMatch;
|
|
532
|
+
const nameMatch = unique(targetCredentials.filter((credential) => this.getCredentialName(credential) === value &&
|
|
533
|
+
this.getCredentialType(credential) === credentialType));
|
|
534
|
+
if (nameMatch)
|
|
535
|
+
return nameMatch;
|
|
536
|
+
const parsed = this.parseCredentialBindingKey(value);
|
|
478
537
|
if (!parsed || parsed.type !== credentialType)
|
|
479
538
|
return undefined;
|
|
480
|
-
return unique(
|
|
539
|
+
return unique(targetCredentials.filter((credential) => this.getCredentialName(credential) === parsed.name &&
|
|
540
|
+
this.getCredentialType(credential) === credentialType));
|
|
481
541
|
}
|
|
482
542
|
credentialBindingKey(name, credentialType) {
|
|
483
543
|
return `${name}:${credentialType}`;
|
|
@@ -491,6 +551,15 @@ export class PromoteCommand {
|
|
|
491
551
|
type: value.slice(delimiterIndex + 1),
|
|
492
552
|
};
|
|
493
553
|
}
|
|
554
|
+
getCredentialId(credential) {
|
|
555
|
+
return String(credential.id ?? credential.credentialId ?? '').trim();
|
|
556
|
+
}
|
|
557
|
+
getCredentialName(credential) {
|
|
558
|
+
return String(credential.name ?? '').trim();
|
|
559
|
+
}
|
|
560
|
+
getCredentialType(credential) {
|
|
561
|
+
return String(credential.type ?? credential.credentialType ?? credential.credentialTypeName ?? '').trim();
|
|
562
|
+
}
|
|
494
563
|
async remapWorkflowReferences(node, target, route, indexes, substitutions, problems, pendingWorkflowSourceKeys) {
|
|
495
564
|
const nodeType = String(node.type ?? '').toLowerCase().split('.').pop();
|
|
496
565
|
if (nodeType !== EXECUTE_WORKFLOW_TYPE_SUFFIX)
|
|
@@ -570,11 +639,17 @@ export class PromoteCommand {
|
|
|
570
639
|
if (indexes.targetCredentialsById && indexes.targetCredentialsByKey)
|
|
571
640
|
return;
|
|
572
641
|
const credentials = await this.getTargetCredentials(target);
|
|
573
|
-
indexes.
|
|
642
|
+
indexes.targetCredentials = credentials;
|
|
643
|
+
indexes.targetCredentialsById = new Map();
|
|
574
644
|
indexes.targetCredentialsByKey = new Map();
|
|
575
645
|
for (const credential of credentials) {
|
|
576
|
-
const
|
|
577
|
-
|
|
646
|
+
const id = this.getCredentialId(credential);
|
|
647
|
+
if (id)
|
|
648
|
+
indexes.targetCredentialsById.set(id, credential);
|
|
649
|
+
const type = this.getCredentialType(credential);
|
|
650
|
+
const name = this.getCredentialName(credential);
|
|
651
|
+
if (!type || !name)
|
|
652
|
+
continue;
|
|
578
653
|
const key = `${type}::${name}`;
|
|
579
654
|
const existing = indexes.targetCredentialsByKey.get(key) ?? [];
|
|
580
655
|
existing.push(credential);
|