n8nac 2.0.4-next.7 → 2.1.0-next.44
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 +108 -131
- package/dist/commands/base.d.ts +4 -1
- package/dist/commands/base.d.ts.map +1 -1
- package/dist/commands/base.js +76 -34
- package/dist/commands/base.js.map +1 -1
- package/dist/commands/promote.d.ts +38 -0
- package/dist/commands/promote.d.ts.map +1 -0
- package/dist/commands/promote.js +181 -0
- package/dist/commands/promote.js.map +1 -0
- package/dist/commands/update-ai.d.ts.map +1 -1
- package/dist/commands/update-ai.js +9 -5
- package/dist/commands/update-ai.js.map +1 -1
- package/dist/commands/workflow.d.ts +8 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +82 -0
- package/dist/commands/workflow.js.map +1 -1
- package/dist/core/services/n8n-api-client.d.ts.map +1 -1
- package/dist/core/services/n8n-api-client.js +23 -9
- package/dist/core/services/n8n-api-client.js.map +1 -1
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.js +489 -34
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +2 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +1 -0
- package/dist/lib.js.map +1 -1
- package/dist/services/config-service.d.ts +342 -3
- package/dist/services/config-service.d.ts.map +1 -1
- package/dist/services/config-service.js +1524 -13
- package/dist/services/config-service.js.map +1 -1
- package/dist/services/workspace-migration-facade.d.ts +21 -0
- package/dist/services/workspace-migration-facade.d.ts.map +1 -0
- package/dist/services/workspace-migration-facade.js +28 -0
- package/dist/services/workspace-migration-facade.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,39 +1,29 @@
|
|
|
1
1
|
# <img src="https://raw.githubusercontent.com/EtienneLescot/n8n-as-code/main/res/logo.png" alt="n8n-as-code logo" width="32" height="32"> n8nac
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The command-line interface for n8n-as-code. Use it to define workspace environments, sync workflows, validate changes, generate AI context, and automate CI flows.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`n8nac` does not own local Docker instances or tunnels. Those are managed by `n8n-manager`.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
-
No installation required — run directly with npx:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npx n8nac <command>
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
For CI, scripts, and AI agents, prefer `npx --yes` to avoid interactive install prompts:
|
|
16
|
-
|
|
17
9
|
```bash
|
|
18
10
|
npx --yes n8nac <command>
|
|
19
11
|
```
|
|
20
12
|
|
|
21
|
-
|
|
13
|
+
For repeatable automation, pin a version:
|
|
22
14
|
|
|
23
15
|
```bash
|
|
24
|
-
npx --yes n8nac
|
|
16
|
+
npx --yes n8nac@<version> <command>
|
|
25
17
|
```
|
|
26
18
|
|
|
27
|
-
For prerelease testing,
|
|
19
|
+
For prerelease testing, keep every entry point on the same tag:
|
|
28
20
|
|
|
29
21
|
```bash
|
|
30
22
|
npx --yes n8nac@next <command>
|
|
31
23
|
npx --yes @n8n-as-code/n8n-manager@next <command>
|
|
32
24
|
```
|
|
33
25
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Or install globally if you prefer:
|
|
26
|
+
Global install is optional:
|
|
37
27
|
|
|
38
28
|
```bash
|
|
39
29
|
npm install -g n8nac
|
|
@@ -41,181 +31,168 @@ npm install -g n8nac
|
|
|
41
31
|
|
|
42
32
|
Full documentation: [CLI guide](https://n8nascode.dev/docs/usage/cli/) · [n8n-manager guide](https://n8nascode.dev/docs/usage/n8n-manager/)
|
|
43
33
|
|
|
44
|
-
##
|
|
34
|
+
## Command Model
|
|
45
35
|
|
|
46
|
-
|
|
36
|
+
| Group | Command | Purpose |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| Usage Principal | `n8nac env` | Workspace environments: n8n URL or managed instance, project, sync folder, active environment |
|
|
39
|
+
| Maintenance Workspace | `n8nac workspace` | Readiness, unified migration, upgrade |
|
|
40
|
+
| Instances Managées | `n8n-manager` | Local managed instances, Docker lifecycle, tunnels, local secrets |
|
|
41
|
+
| Compat Cachée | `instance-target`, `target`, `setup`, old `workspace` mutations | Compatibility only |
|
|
47
42
|
|
|
48
|
-
|
|
43
|
+
## Workspace Environments
|
|
49
44
|
|
|
50
|
-
|
|
51
|
-
`n8nac` does not manage n8n instances or API keys. Use `n8n-manager` for global n8n runtime state, then use `n8nac workspace` for local workspace overrides.
|
|
45
|
+
Create an environment for an existing n8n URL:
|
|
52
46
|
|
|
53
47
|
```bash
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
n8nac workspace set-sync-folder workflows
|
|
58
|
-
n8nac update-ai
|
|
48
|
+
n8nac env add Dev --base-url https://n8n.example.com --sync-folder workflows/dev
|
|
49
|
+
printf '%s' "$N8N_API_KEY" | n8nac env auth set Dev --api-key-stdin
|
|
50
|
+
n8nac env use Dev
|
|
59
51
|
```
|
|
60
52
|
|
|
61
|
-
|
|
53
|
+
Create an environment from a local managed instance:
|
|
62
54
|
|
|
63
55
|
```bash
|
|
64
|
-
n8n-manager
|
|
65
|
-
n8nac
|
|
66
|
-
n8nac
|
|
56
|
+
n8n-manager instance list
|
|
57
|
+
n8nac env add Local --managed-instance <id> --sync-folder workflows/local
|
|
58
|
+
n8nac env use Local
|
|
67
59
|
```
|
|
68
60
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
### `workspace`
|
|
72
|
-
Manage explicit workspace overrides over the global n8n-manager defaults.
|
|
61
|
+
Inspect environments:
|
|
73
62
|
|
|
74
63
|
```bash
|
|
75
|
-
n8nac
|
|
76
|
-
n8nac
|
|
77
|
-
n8nac workspace
|
|
78
|
-
n8nac workspace set-sync-folder workflows
|
|
79
|
-
n8nac workspace clear-sync-folder
|
|
80
|
-
n8nac workspace set-project --project-id <id> --project-name <name>
|
|
81
|
-
n8nac workspace clear-project
|
|
64
|
+
n8nac env list
|
|
65
|
+
n8nac env status
|
|
66
|
+
n8nac workspace status
|
|
82
67
|
```
|
|
83
68
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
Project defaults are selected with `n8n-manager projects select`. Workspace-specific project overrides use `n8nac workspace set-project`.
|
|
87
|
-
|
|
88
|
-
Effective context is resolved in this order: explicit command options, workspace overrides from `n8nac-config.json`, then global `n8n-manager` defaults.
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
### `list`
|
|
93
|
-
Display workflow status in a git-like model. By default shows combined local and remote workflows.
|
|
69
|
+
Remove an environment mapping:
|
|
94
70
|
|
|
95
71
|
```bash
|
|
96
|
-
n8nac
|
|
97
|
-
n8nac list --local # Show only local workflows
|
|
98
|
-
n8nac list --remote # Show only remote workflows (alias: --distant)
|
|
99
|
-
n8nac list --search billing # Filter by partial name, ID, or filename
|
|
100
|
-
n8nac list --sort name # Strict alphabetical sorting
|
|
101
|
-
n8nac find billing --limit 5 # Search-oriented shortcut
|
|
72
|
+
n8nac env remove Dev
|
|
102
73
|
```
|
|
103
74
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
Search and filter options:
|
|
75
|
+
Removing an environment does not delete remote workflows, local workflow files, or local managed instances.
|
|
107
76
|
|
|
108
|
-
|
|
109
|
-
- `--sort <status|name>`: keep the default sync-oriented status ordering, or switch to alphabetical name sorting
|
|
110
|
-
- `--limit <n>`: cap the number of results returned
|
|
111
|
-
- `--raw`: output the filtered result set as JSON for scripts and pipes
|
|
77
|
+
## Migration And Upgrade
|
|
112
78
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
| Status | Meaning | Action |
|
|
116
|
-
|---|---|---|
|
|
117
|
-
| `TRACKED` | Workflow exists on both sides, in sync | Nothing to do |
|
|
118
|
-
| `CONFLICT` | Both sides changed — detected at push/pull time | `n8nac resolve <id> --mode keep-current` (keep local) or `keep-incoming` (keep remote) |
|
|
119
|
-
| `EXIST_ONLY_LOCALLY` | New local file not yet in n8n (or remote was deleted) | `n8nac push <file>` |
|
|
120
|
-
| `EXIST_ONLY_REMOTELY` | Remote workflow not yet local (or local was deleted) | `n8nac pull <workflowId>` to download |
|
|
121
|
-
|
|
122
|
-
> **Git-like sync**: Status is a point-in-time observation. `n8nac` refreshes the remote state it needs under the hood.
|
|
123
|
-
> **For agents**: always run `n8nac list` first to get workflow IDs and their current status before pulling or pushing.
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
### `pull <workflowId>`
|
|
128
|
-
Download a single workflow from n8n and overwrite the local file.
|
|
79
|
+
Legacy V1/V2 config:
|
|
129
80
|
|
|
130
81
|
```bash
|
|
131
|
-
n8nac
|
|
82
|
+
n8nac workspace migrate --json
|
|
83
|
+
n8nac workspace migrate --write
|
|
84
|
+
n8nac workspace migrate --json
|
|
85
|
+
n8nac env status --json
|
|
132
86
|
```
|
|
133
87
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
### `push`
|
|
139
|
-
Upload a single local workflow file to n8n.
|
|
88
|
+
Previous V3/`next` config model:
|
|
140
89
|
|
|
141
90
|
```bash
|
|
142
|
-
n8nac
|
|
91
|
+
n8nac workspace upgrade
|
|
92
|
+
n8nac workspace upgrade --write
|
|
143
93
|
```
|
|
144
94
|
|
|
145
|
-
|
|
146
|
-
> The path is the local entry point; the workflow ID remains the remote source of truth.
|
|
147
|
-
|
|
148
|
-
---
|
|
95
|
+
Dry-run with `--json` first, then apply with `--write` after reviewing the unified `operations` list. Applied migrations create a backup before replacing `n8nac-config.json`.
|
|
149
96
|
|
|
150
|
-
|
|
151
|
-
Explicitly resolve a conflict for a specific workflow.
|
|
97
|
+
## Sync Commands
|
|
152
98
|
|
|
153
99
|
```bash
|
|
154
|
-
n8nac
|
|
155
|
-
n8nac
|
|
100
|
+
n8nac list
|
|
101
|
+
n8nac pull <workflow-id>
|
|
102
|
+
n8nac push workflows/dev/my-workflow.workflow.ts --verify
|
|
103
|
+
n8nac resolve <workflow-id> --mode keep-current
|
|
104
|
+
n8nac resolve <workflow-id> --mode keep-incoming
|
|
156
105
|
```
|
|
157
106
|
|
|
158
|
-
|
|
107
|
+
Sync is Git-like and explicit. `pull` and `push` block on conflicts instead of silently overwriting work.
|
|
159
108
|
|
|
160
|
-
|
|
161
|
-
Generate or refresh AI context files in the project root. This command creates `AGENTS.md` and VS Code snippets.
|
|
109
|
+
## Workflow Helpers
|
|
162
110
|
|
|
163
111
|
```bash
|
|
164
|
-
n8nac
|
|
165
|
-
|
|
166
|
-
n8nac
|
|
112
|
+
n8nac verify <workflow-id>
|
|
113
|
+
n8nac workflow credential-required <workflow-id> --json
|
|
114
|
+
n8nac workflow activate <workflow-id>
|
|
115
|
+
n8nac test-plan <workflow-id> --json
|
|
116
|
+
n8nac test <workflow-id> --data '{"foo":"bar"}'
|
|
117
|
+
n8nac execution list --workflow-id <workflow-id> --limit 5 --json
|
|
118
|
+
n8nac execution get <execution-id> --include-data --json
|
|
167
119
|
```
|
|
168
120
|
|
|
169
|
-
|
|
121
|
+
Credential readiness helpers are exposed through the facade:
|
|
170
122
|
|
|
171
123
|
```bash
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
124
|
+
n8nac credentials recipes
|
|
125
|
+
n8nac credentials starter-kits
|
|
126
|
+
n8nac credentials inventory --json
|
|
127
|
+
n8nac credentials ensure http-bearer --value token=... --json
|
|
128
|
+
n8nac credentials test http-bearer --json
|
|
175
129
|
```
|
|
176
130
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
### `convert`
|
|
180
|
-
Convert a single workflow between JSON and TypeScript formats.
|
|
131
|
+
## AI Context And Skills
|
|
181
132
|
|
|
182
133
|
```bash
|
|
183
|
-
n8nac
|
|
184
|
-
n8nac
|
|
185
|
-
n8nac
|
|
134
|
+
n8nac update-ai
|
|
135
|
+
n8nac skills search "google sheets"
|
|
136
|
+
n8nac skills node-info googleSheets
|
|
137
|
+
n8nac skills validate workflows/dev/my-workflow.workflow.ts
|
|
186
138
|
```
|
|
187
139
|
|
|
188
|
-
|
|
189
|
-
|
|
140
|
+
`update-ai` refreshes `AGENTS.md`, VS Code agent files, portable skill copies, snippets, and schema context used by local agents.
|
|
141
|
+
|
|
142
|
+
## Conversion
|
|
190
143
|
|
|
191
144
|
```bash
|
|
145
|
+
n8nac convert workflow.json --format typescript
|
|
146
|
+
n8nac convert workflow.workflow.ts --format json
|
|
192
147
|
n8nac convert-batch workflows/ --format typescript
|
|
193
148
|
```
|
|
194
149
|
|
|
195
|
-
|
|
150
|
+
## Configuration File
|
|
196
151
|
|
|
197
|
-
|
|
152
|
+
Current workspace config is environment-based:
|
|
198
153
|
|
|
199
|
-
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"version": 4,
|
|
157
|
+
"activeEnvironmentId": "dev",
|
|
158
|
+
"environments": [
|
|
159
|
+
{
|
|
160
|
+
"id": "dev",
|
|
161
|
+
"name": "Dev",
|
|
162
|
+
"environmentTargetId": "dev",
|
|
163
|
+
"projectId": "personal",
|
|
164
|
+
"projectName": "Personal",
|
|
165
|
+
"syncFolder": "workflows/dev"
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"environmentTargets": [
|
|
169
|
+
{
|
|
170
|
+
"id": "dev",
|
|
171
|
+
"name": "Dev",
|
|
172
|
+
"kind": "external-instance",
|
|
173
|
+
"url": "https://n8n.example.com"
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
```
|
|
200
178
|
|
|
201
|
-
|
|
202
|
-
# 1. Fetch current state and get workflow IDs
|
|
203
|
-
n8nac list
|
|
179
|
+
Do not store API keys in this file. Use `n8nac env auth set <env> --api-key-stdin` for remote environments.
|
|
204
180
|
|
|
205
|
-
|
|
206
|
-
n8nac pull <workflowId>
|
|
181
|
+
## Compatibility Commands
|
|
207
182
|
|
|
208
|
-
|
|
183
|
+
These commands may still be callable for old workspaces or scripts, but they are not the primary CLI surface:
|
|
209
184
|
|
|
210
|
-
|
|
211
|
-
n8nac
|
|
185
|
+
```bash
|
|
186
|
+
n8nac instance-target ...
|
|
187
|
+
n8nac target ...
|
|
188
|
+
n8nac setup ...
|
|
189
|
+
n8nac setup-modes ...
|
|
190
|
+
n8nac workspace pin-instance ...
|
|
191
|
+
n8nac workspace set-sync-folder ...
|
|
212
192
|
```
|
|
213
193
|
|
|
214
|
-
|
|
194
|
+
Prefer `n8nac env` for all new workspace configuration.
|
|
215
195
|
|
|
216
|
-
##
|
|
217
|
-
- `@n8n-as-code/skills`: Internal AI-integration library (node search, schemas, context generation) — accessible via `n8nac skills`.
|
|
218
|
-
- `vscode-extension`: Visual editing in VS Code (uses this package as its sync library).
|
|
196
|
+
## License
|
|
219
197
|
|
|
220
|
-
## 📄 License
|
|
221
198
|
MIT
|
package/dist/commands/base.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { N8nApiClient } from '../core/index.js';
|
|
2
|
-
import { ConfigService } from '../services/config-service.js';
|
|
2
|
+
import { ConfigService, type IResolvedWorkspaceEnvironment } from '../services/config-service.js';
|
|
3
3
|
export declare class BaseCommand {
|
|
4
4
|
protected client: N8nApiClient;
|
|
5
5
|
protected config: any;
|
|
6
6
|
protected configService: ConfigService;
|
|
7
7
|
protected activeInstanceId?: string;
|
|
8
|
+
protected activeEnvironmentNameOrId?: string;
|
|
9
|
+
protected activeEnvironment?: IResolvedWorkspaceEnvironment;
|
|
8
10
|
protected instanceIdentifier: string | null;
|
|
9
11
|
private runtimePrepared;
|
|
10
12
|
constructor();
|
|
13
|
+
private tryResolveEnvironment;
|
|
11
14
|
/**
|
|
12
15
|
* Get or create instance identifier and ensure it's in the config
|
|
13
16
|
*/
|
|
@@ -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,MAAM,+BAA+B,CAAC;
|
|
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,OAAO,CAAC,eAAe,CAAS;;IA6GhC,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;IAsCtD,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
|
@@ -9,6 +9,8 @@ export class BaseCommand {
|
|
|
9
9
|
config;
|
|
10
10
|
configService;
|
|
11
11
|
activeInstanceId;
|
|
12
|
+
activeEnvironmentNameOrId;
|
|
13
|
+
activeEnvironment;
|
|
12
14
|
instanceIdentifier = null;
|
|
13
15
|
runtimePrepared = false;
|
|
14
16
|
constructor() {
|
|
@@ -18,40 +20,45 @@ export class BaseCommand {
|
|
|
18
20
|
let directory;
|
|
19
21
|
let folderSync;
|
|
20
22
|
let envCredentialsProvided = false;
|
|
21
|
-
// If --
|
|
22
|
-
// otherwise fall back to the locally active
|
|
23
|
+
// If --env <name> was passed as a global option, resolve the workspace
|
|
24
|
+
// environment; otherwise fall back to the locally active environment or legacy instance config.
|
|
25
|
+
const requestedEnvironment = process.env.N8NAC_ENVIRONMENT?.trim() || undefined;
|
|
23
26
|
const requestedInstanceName = process.env.N8NAC_INSTANCE_NAME?.trim() || undefined;
|
|
24
27
|
if (requestedInstanceName) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
28
|
+
console.error(chalk.red('❌ Direct instance targeting is no longer supported by n8nac.'));
|
|
29
|
+
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --sync-folder workflows/<name>`, then use `--env <name>`.'));
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const resolvedEnvironment = requestedEnvironment
|
|
33
|
+
? this.configService.resolveEnvironment(requestedEnvironment)
|
|
34
|
+
: this.tryResolveEnvironment();
|
|
35
|
+
if (resolvedEnvironment) {
|
|
36
|
+
this.activeEnvironmentNameOrId = requestedEnvironment || resolvedEnvironment.environmentId;
|
|
37
|
+
this.activeEnvironment = resolvedEnvironment;
|
|
38
|
+
this.activeInstanceId = resolvedEnvironment.activeInstanceId;
|
|
39
|
+
host = resolvedEnvironment.host || '';
|
|
40
|
+
apiKey = resolvedEnvironment.apiKey || '';
|
|
41
|
+
const effectiveContext = this.activeInstanceId
|
|
42
|
+
? (() => { try {
|
|
43
|
+
return this.configService.getEffectiveContext(this.activeInstanceId);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
} })()
|
|
48
|
+
: undefined;
|
|
49
|
+
const canPrepareRuntime = resolvedEnvironment.sourceKind === 'managed-instance'
|
|
50
|
+
&& (!host || !apiKey || effectiveContext?.instance.mode === 'managed-local-docker');
|
|
44
51
|
if (!host || !apiKey) {
|
|
45
|
-
if (!
|
|
46
|
-
console.error(chalk.red(`❌
|
|
52
|
+
if (!canPrepareRuntime) {
|
|
53
|
+
console.error(chalk.red(`❌ Environment "${resolvedEnvironment.environmentName}" needs a host and API key before this command can run.`));
|
|
54
|
+
console.error(chalk.yellow(`Configure a local API key with \`n8nac env auth set ${resolvedEnvironment.environmentName} --api-key-stdin\` or update the environment URL.`));
|
|
47
55
|
process.exit(1);
|
|
48
56
|
}
|
|
49
57
|
apiKey = '';
|
|
50
58
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
folderSync = effectiveConfig.folderSync ?? false;
|
|
59
|
+
directory = resolvedEnvironment.syncFolder || this.configService.resolveWorkspacePath('./workflows');
|
|
60
|
+
folderSync = resolvedEnvironment.folderSync ?? false;
|
|
61
|
+
this.instanceIdentifier = resolvedEnvironment.instanceIdentifier || null;
|
|
55
62
|
}
|
|
56
63
|
else {
|
|
57
64
|
const localConfig = this.configService.getLocalConfig();
|
|
@@ -76,7 +83,7 @@ export class BaseCommand {
|
|
|
76
83
|
if (!host || !apiKey) {
|
|
77
84
|
if (!canPrepareManagedRuntime) {
|
|
78
85
|
console.error(chalk.red('❌ CLI not configured.'));
|
|
79
|
-
console.error(chalk.yellow('
|
|
86
|
+
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --sync-folder workflows/<name>` and store auth with `n8nac env auth set <name> --api-key-stdin`.'));
|
|
80
87
|
process.exit(1);
|
|
81
88
|
}
|
|
82
89
|
apiKey = '';
|
|
@@ -93,7 +100,7 @@ export class BaseCommand {
|
|
|
93
100
|
apiKeyConfigured: Boolean(apiKey),
|
|
94
101
|
folderSync,
|
|
95
102
|
};
|
|
96
|
-
this.runtimePrepared = envCredentialsProvided;
|
|
103
|
+
this.runtimePrepared = envCredentialsProvided && !this.activeEnvironmentNameOrId;
|
|
97
104
|
// Silently refresh AGENTS.md in the background if the installed n8nac version changed.
|
|
98
105
|
// Spawned as a fully-detached child process so it never blocks the command, never
|
|
99
106
|
// interleaves with stdout, and can't be killed by an early process.exit().
|
|
@@ -109,6 +116,19 @@ export class BaseCommand {
|
|
|
109
116
|
}
|
|
110
117
|
catch { /* never block the command */ }
|
|
111
118
|
}
|
|
119
|
+
tryResolveEnvironment() {
|
|
120
|
+
try {
|
|
121
|
+
return this.configService.resolveEnvironment();
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
if (this.configService.isWorkspaceConfigV4()) {
|
|
125
|
+
console.error(chalk.red(`❌ Workspace environment resolution failed: ${error?.message || error}`));
|
|
126
|
+
console.error(chalk.yellow('Fix the pinned workspace environment with `n8nac env pin <name>` or update the v4 environment config.'));
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
112
132
|
/**
|
|
113
133
|
* Get or create instance identifier and ensure it's in the config
|
|
114
134
|
*/
|
|
@@ -117,6 +137,13 @@ export class BaseCommand {
|
|
|
117
137
|
if (this.instanceIdentifier) {
|
|
118
138
|
return this.instanceIdentifier;
|
|
119
139
|
}
|
|
140
|
+
if (this.activeEnvironment?.sourceKind === 'external-instance' && this.activeEnvironment.instanceIdentifier) {
|
|
141
|
+
this.instanceIdentifier = this.activeEnvironment.instanceIdentifier;
|
|
142
|
+
return this.instanceIdentifier;
|
|
143
|
+
}
|
|
144
|
+
if (this.activeEnvironment?.sourceKind === 'external-instance') {
|
|
145
|
+
this.exitWithError(`Environment "${this.activeEnvironment.environmentName}" needs a resolvable instance identifier before sync can run`);
|
|
146
|
+
}
|
|
120
147
|
this.instanceIdentifier = await this.configService.getOrCreateInstanceIdentifier(this.config.host, this.activeInstanceId);
|
|
121
148
|
return this.instanceIdentifier;
|
|
122
149
|
}
|
|
@@ -127,9 +154,11 @@ export class BaseCommand {
|
|
|
127
154
|
async getSyncConfig() {
|
|
128
155
|
await this.prepareRuntimeContext();
|
|
129
156
|
const instanceIdentifier = await this.ensureInstanceIdentifier();
|
|
130
|
-
const localConfig = this.
|
|
131
|
-
?
|
|
132
|
-
: this.
|
|
157
|
+
const localConfig = this.activeEnvironmentNameOrId
|
|
158
|
+
? this.configService.getLocalConfig(this.activeEnvironmentNameOrId)
|
|
159
|
+
: this.activeInstanceId
|
|
160
|
+
? (this.configService.getEffectiveInstanceConfig(this.activeInstanceId) ?? this.configService.getLocalConfig())
|
|
161
|
+
: this.configService.getLocalConfig();
|
|
133
162
|
const missing = [];
|
|
134
163
|
if (!localConfig.projectId)
|
|
135
164
|
missing.push('projectId');
|
|
@@ -139,7 +168,7 @@ export class BaseCommand {
|
|
|
139
168
|
missing.push('syncFolder');
|
|
140
169
|
if (missing.length > 0) {
|
|
141
170
|
console.error(chalk.red(`❌ Missing required project configuration: ${missing.join(', ')}.`));
|
|
142
|
-
console.error(chalk.yellow('
|
|
171
|
+
console.error(chalk.yellow('Update the workspace environment with `n8nac env update <name> --project-id personal --project-name Personal --sync-folder workflows/<name>`.'));
|
|
143
172
|
process.exit(1);
|
|
144
173
|
}
|
|
145
174
|
return {
|
|
@@ -154,6 +183,11 @@ export class BaseCommand {
|
|
|
154
183
|
projectId: localConfig.projectId,
|
|
155
184
|
projectName: localConfig.projectName,
|
|
156
185
|
folderSync: localConfig.folderSync ?? false,
|
|
186
|
+
environmentId: this.activeEnvironment?.environmentId,
|
|
187
|
+
environmentName: this.activeEnvironment?.environmentName,
|
|
188
|
+
environmentTargetId: this.activeEnvironment?.environmentTargetId,
|
|
189
|
+
environmentTargetName: this.activeEnvironment?.environmentTargetName,
|
|
190
|
+
sourceKind: this.activeEnvironment?.sourceKind,
|
|
157
191
|
};
|
|
158
192
|
}
|
|
159
193
|
async prepareRuntimeContext() {
|
|
@@ -161,10 +195,18 @@ export class BaseCommand {
|
|
|
161
195
|
return;
|
|
162
196
|
}
|
|
163
197
|
try {
|
|
164
|
-
const
|
|
198
|
+
const environment = this.activeEnvironmentNameOrId;
|
|
199
|
+
const preparedEnvironment = environment
|
|
200
|
+
? await this.configService.prepareEnvironment(environment)
|
|
201
|
+
: undefined;
|
|
202
|
+
const context = preparedEnvironment
|
|
203
|
+
? await this.configService.prepareWorkspaceContext({ environment })
|
|
204
|
+
: await this.configService.prepareWorkspaceContext(this.activeInstanceId);
|
|
165
205
|
if (!context.host || !context.apiKey) {
|
|
166
206
|
this.exitWithError(`Instance "${context.activeInstanceName}" needs a host and API key before this command can run`);
|
|
167
207
|
}
|
|
208
|
+
this.activeEnvironment = preparedEnvironment || this.activeEnvironment;
|
|
209
|
+
this.instanceIdentifier = preparedEnvironment?.instanceIdentifier || this.instanceIdentifier;
|
|
168
210
|
this.activeInstanceId = context.activeInstanceId;
|
|
169
211
|
this.client = new N8nApiClient({ host: context.host, apiKey: context.apiKey });
|
|
170
212
|
this.config = {
|
|
@@ -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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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ConfigService } from '../services/config-service.js';
|
|
2
|
+
export interface PromoteOptions {
|
|
3
|
+
from: string;
|
|
4
|
+
to: string;
|
|
5
|
+
dryRun?: boolean;
|
|
6
|
+
push?: boolean;
|
|
7
|
+
overwrite?: boolean;
|
|
8
|
+
json?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface PromoteResult {
|
|
11
|
+
sourceEnvironmentId: string;
|
|
12
|
+
sourceEnvironmentName: string;
|
|
13
|
+
targetEnvironmentId: string;
|
|
14
|
+
targetEnvironmentName: string;
|
|
15
|
+
sourcePath: string;
|
|
16
|
+
targetPath: string;
|
|
17
|
+
pushed: boolean;
|
|
18
|
+
workflowId?: string;
|
|
19
|
+
credentialCheckCommand?: string;
|
|
20
|
+
dryRun: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare class PromoteCommand {
|
|
23
|
+
private readonly configService;
|
|
24
|
+
constructor(configService?: ConfigService);
|
|
25
|
+
run(sourceWorkflowPath: string, options: PromoteOptions): Promise<PromoteResult>;
|
|
26
|
+
private getEnvironmentWorkflowRoot;
|
|
27
|
+
private isPathInside;
|
|
28
|
+
private realpathExisting;
|
|
29
|
+
private realpathExistingParent;
|
|
30
|
+
private printResult;
|
|
31
|
+
}
|
|
32
|
+
export declare function adaptWorkflowForPromotion(content: string, options?: {
|
|
33
|
+
targetWorkflowId?: string;
|
|
34
|
+
targetProjectId?: string;
|
|
35
|
+
targetProjectName?: string;
|
|
36
|
+
}): string;
|
|
37
|
+
export declare function readWorkflowDecoratorProperty(content: string, property: string): string | undefined;
|
|
38
|
+
//# sourceMappingURL=promote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promote.d.ts","sourceRoot":"","sources":["../../src/commands/promote.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAsC,MAAM,+BAA+B,CAAC;AAGlG,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;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,cAAc;IACX,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,gBAAsB;IAE1D,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAuFtF,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,WAAW;CAgBtB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAgBpK;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnG"}
|