n8nac 2.1.3-next.5 → 2.2.0-next.22
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/dist/commands/base.d.ts +1 -0
- package/dist/commands/base.d.ts.map +1 -1
- package/dist/commands/base.js +14 -10
- package/dist/commands/base.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/services/directory-utils.d.ts +13 -1
- package/dist/core/services/directory-utils.d.ts.map +1 -1
- package/dist/core/services/directory-utils.js +33 -7
- package/dist/core/services/directory-utils.js.map +1 -1
- package/dist/core/services/instance-identifier.d.ts +9 -0
- package/dist/core/services/instance-identifier.d.ts.map +1 -1
- package/dist/core/services/instance-identifier.js +26 -1
- package/dist/core/services/instance-identifier.js.map +1 -1
- package/dist/core/services/n8n-api-client.d.ts +5 -0
- package/dist/core/services/n8n-api-client.d.ts.map +1 -1
- package/dist/core/services/n8n-api-client.js +72 -0
- package/dist/core/services/n8n-api-client.js.map +1 -1
- package/dist/core/services/sync-manager.d.ts.map +1 -1
- package/dist/core/services/sync-manager.js +3 -0
- package/dist/core/services/sync-manager.js.map +1 -1
- package/dist/core/services/workflow-dir-name.d.ts +11 -0
- package/dist/core/services/workflow-dir-name.d.ts.map +1 -0
- package/dist/core/services/workflow-dir-name.js +82 -0
- package/dist/core/services/workflow-dir-name.js.map +1 -0
- package/dist/core/types.d.ts +1 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.js +18 -14
- package/dist/index.js.map +1 -1
- package/dist/services/config-service.d.ts +17 -4
- package/dist/services/config-service.d.ts.map +1 -1
- package/dist/services/config-service.js +208 -72
- package/dist/services/config-service.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/base.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare class BaseCommand {
|
|
|
8
8
|
protected activeEnvironmentNameOrId?: string;
|
|
9
9
|
protected activeEnvironment?: IResolvedWorkspaceEnvironment;
|
|
10
10
|
protected instanceIdentifier: string | null;
|
|
11
|
+
protected instanceUserIdentifier: string | null;
|
|
11
12
|
private runtimePrepared;
|
|
12
13
|
constructor();
|
|
13
14
|
private tryResolveEnvironment;
|
|
@@ -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,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;;IA8GhC,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;cACa,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAiB3D;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;cAyC7B,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
|
@@ -12,6 +12,7 @@ export class BaseCommand {
|
|
|
12
12
|
activeEnvironmentNameOrId;
|
|
13
13
|
activeEnvironment;
|
|
14
14
|
instanceIdentifier = null;
|
|
15
|
+
instanceUserIdentifier = null;
|
|
15
16
|
runtimePrepared = false;
|
|
16
17
|
constructor() {
|
|
17
18
|
this.configService = new ConfigService();
|
|
@@ -26,7 +27,7 @@ export class BaseCommand {
|
|
|
26
27
|
const requestedInstanceName = process.env.N8NAC_INSTANCE_NAME?.trim() || undefined;
|
|
27
28
|
if (requestedInstanceName) {
|
|
28
29
|
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
|
|
30
|
+
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --sync-folder workflows`, then use `--env <name>`.'));
|
|
30
31
|
process.exit(1);
|
|
31
32
|
}
|
|
32
33
|
const resolvedEnvironment = requestedEnvironment
|
|
@@ -59,6 +60,7 @@ export class BaseCommand {
|
|
|
59
60
|
directory = resolvedEnvironment.syncFolder || this.configService.resolveWorkspacePath('./workflows');
|
|
60
61
|
folderSync = resolvedEnvironment.folderSync ?? false;
|
|
61
62
|
this.instanceIdentifier = resolvedEnvironment.instanceIdentifier || null;
|
|
63
|
+
this.instanceUserIdentifier = resolvedEnvironment.instanceUserIdentifier || null;
|
|
62
64
|
}
|
|
63
65
|
else {
|
|
64
66
|
const localConfig = this.configService.getLocalConfig();
|
|
@@ -83,7 +85,7 @@ export class BaseCommand {
|
|
|
83
85
|
if (!host || !apiKey) {
|
|
84
86
|
if (!canPrepareManagedRuntime) {
|
|
85
87
|
console.error(chalk.red('❌ CLI not configured.'));
|
|
86
|
-
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --sync-folder workflows
|
|
88
|
+
console.error(chalk.yellow('Create a workspace environment with `n8nac env add <name> --base-url <url> --sync-folder workflows` and store auth with `n8nac env auth set <name> --api-key-stdin`.'));
|
|
87
89
|
process.exit(1);
|
|
88
90
|
}
|
|
89
91
|
apiKey = '';
|
|
@@ -117,16 +119,16 @@ export class BaseCommand {
|
|
|
117
119
|
catch { /* never block the command */ }
|
|
118
120
|
}
|
|
119
121
|
tryResolveEnvironment() {
|
|
122
|
+
if (!this.configService.isWorkspaceConfigV4()) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
120
125
|
try {
|
|
121
126
|
return this.configService.resolveEnvironment();
|
|
122
127
|
}
|
|
123
128
|
catch (error) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
process.exit(1);
|
|
128
|
-
}
|
|
129
|
-
return undefined;
|
|
129
|
+
console.error(chalk.red(`❌ Workspace environment resolution failed: ${error?.message || error}`));
|
|
130
|
+
console.error(chalk.yellow('Fix the pinned workspace environment with `n8nac env pin <name>` or update the v4 environment config.'));
|
|
131
|
+
process.exit(1);
|
|
130
132
|
}
|
|
131
133
|
}
|
|
132
134
|
/**
|
|
@@ -155,7 +157,7 @@ export class BaseCommand {
|
|
|
155
157
|
await this.prepareRuntimeContext();
|
|
156
158
|
const instanceIdentifier = await this.ensureInstanceIdentifier();
|
|
157
159
|
const localConfig = this.activeEnvironmentNameOrId
|
|
158
|
-
? this.configService.getLocalConfig(this.activeEnvironmentNameOrId)
|
|
160
|
+
? (this.activeEnvironment || this.configService.getLocalConfig(this.activeEnvironmentNameOrId))
|
|
159
161
|
: this.activeInstanceId
|
|
160
162
|
? (this.configService.getEffectiveInstanceConfig(this.activeInstanceId) ?? this.configService.getLocalConfig())
|
|
161
163
|
: this.configService.getLocalConfig();
|
|
@@ -168,7 +170,7 @@ export class BaseCommand {
|
|
|
168
170
|
missing.push('syncFolder');
|
|
169
171
|
if (missing.length > 0) {
|
|
170
172
|
console.error(chalk.red(`❌ Missing required project configuration: ${missing.join(', ')}.`));
|
|
171
|
-
console.error(chalk.yellow('Update the workspace environment with `n8nac env update <name> --project-id personal --project-name Personal --sync-folder workflows
|
|
173
|
+
console.error(chalk.yellow('Update the workspace environment with `n8nac env update <name> --project-id personal --project-name Personal --sync-folder workflows`.'));
|
|
172
174
|
process.exit(1);
|
|
173
175
|
}
|
|
174
176
|
return {
|
|
@@ -179,6 +181,7 @@ export class BaseCommand {
|
|
|
179
181
|
syncInactive: true,
|
|
180
182
|
ignoredTags: [],
|
|
181
183
|
instanceIdentifier: instanceIdentifier,
|
|
184
|
+
instanceUserIdentifier: this.activeEnvironment?.instanceUserIdentifier || localConfig.instanceUserIdentifier,
|
|
182
185
|
instanceConfigPath: this.configService.getInstanceConfigPath(),
|
|
183
186
|
projectId: localConfig.projectId,
|
|
184
187
|
projectName: localConfig.projectName,
|
|
@@ -207,6 +210,7 @@ export class BaseCommand {
|
|
|
207
210
|
}
|
|
208
211
|
this.activeEnvironment = preparedEnvironment || this.activeEnvironment;
|
|
209
212
|
this.instanceIdentifier = preparedEnvironment?.instanceIdentifier || this.instanceIdentifier;
|
|
213
|
+
this.instanceUserIdentifier = preparedEnvironment?.instanceUserIdentifier || this.instanceUserIdentifier;
|
|
210
214
|
this.activeInstanceId = context.activeInstanceId;
|
|
211
215
|
this.client = new N8nApiClient({ host: context.host, apiKey: context.apiKey });
|
|
212
216
|
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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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './services/resolution-manager.js';
|
|
|
9
9
|
export * from './services/state-manager.js';
|
|
10
10
|
export * from './services/sync-event-journal.js';
|
|
11
11
|
export * from './services/directory-utils.js';
|
|
12
|
+
export * from './services/workflow-dir-name.js';
|
|
12
13
|
export * from './services/instance-identifier.js';
|
|
13
14
|
export * from './services/workspace-setup-service.js';
|
|
14
15
|
export * from './helpers/index.js';
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export * from './services/resolution-manager.js';
|
|
|
9
9
|
export * from './services/state-manager.js';
|
|
10
10
|
export * from './services/sync-event-journal.js';
|
|
11
11
|
export * from './services/directory-utils.js';
|
|
12
|
+
export * from './services/workflow-dir-name.js';
|
|
12
13
|
export * from './services/instance-identifier.js';
|
|
13
14
|
export * from './services/workspace-setup-service.js';
|
|
14
15
|
export * from './helpers/index.js';
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Creates
|
|
2
|
+
* Creates a legacy user-scoped instance identifier for directory naming.
|
|
3
|
+
* Prefer createInstanceUserIdentifier() for new v4 workflow directory identity.
|
|
3
4
|
* @param user User information (optional)
|
|
4
5
|
* @returns Instance identifier (e.g., "n8n_c6c289e49e")
|
|
5
6
|
*/
|
|
@@ -9,6 +10,17 @@ export declare function createInstanceIdentifier(user?: {
|
|
|
9
10
|
firstName?: string;
|
|
10
11
|
lastName?: string;
|
|
11
12
|
}): string;
|
|
13
|
+
export declare function createCanonicalInstanceIdentifier(instance: {
|
|
14
|
+
id?: string;
|
|
15
|
+
} | string | undefined): string;
|
|
16
|
+
export declare function createInstanceUserIdentifier(user?: {
|
|
17
|
+
id?: string;
|
|
18
|
+
email?: string;
|
|
19
|
+
firstName?: string;
|
|
20
|
+
lastName?: string;
|
|
21
|
+
}): string;
|
|
22
|
+
export declare function isCanonicalInstanceIdentifier(identifier?: string): boolean;
|
|
23
|
+
export declare function isCanonicalInstanceUserIdentifier(identifier?: string): boolean;
|
|
12
24
|
export declare function isCanonicalUserInstanceIdentifier(identifier?: string): boolean;
|
|
13
25
|
/**
|
|
14
26
|
* Creates a project slug for directory naming
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-utils.d.ts","sourceRoot":"","sources":["../../../src/core/services/directory-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directory-utils.d.ts","sourceRoot":"","sources":["../../../src/core/services/directory-utils.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAO9H;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAQxG;AAED,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAOlI;AAED,wBAAgB,6BAA6B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,iCAAiC,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED,wBAAgB,iCAAiC,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D"}
|
|
@@ -1,25 +1,51 @@
|
|
|
1
1
|
import crypto from 'crypto';
|
|
2
|
-
function
|
|
3
|
-
|
|
2
|
+
function createStableHashSlug(prefix, value) {
|
|
3
|
+
const cleaned = value?.trim();
|
|
4
|
+
if (!cleaned) {
|
|
4
5
|
return undefined;
|
|
5
6
|
}
|
|
6
|
-
const identityHash = crypto.createHash('sha256').update(
|
|
7
|
-
return
|
|
7
|
+
const identityHash = crypto.createHash('sha256').update(cleaned).digest('hex').substring(0, 10);
|
|
8
|
+
return `${prefix}_${identityHash}`;
|
|
9
|
+
}
|
|
10
|
+
function createLegacyUserIdentitySlug(user) {
|
|
11
|
+
return createStableHashSlug('n8n', user.id);
|
|
8
12
|
}
|
|
9
13
|
/**
|
|
10
|
-
* Creates
|
|
14
|
+
* Creates a legacy user-scoped instance identifier for directory naming.
|
|
15
|
+
* Prefer createInstanceUserIdentifier() for new v4 workflow directory identity.
|
|
11
16
|
* @param user User information (optional)
|
|
12
17
|
* @returns Instance identifier (e.g., "n8n_c6c289e49e")
|
|
13
18
|
*/
|
|
14
19
|
export function createInstanceIdentifier(user) {
|
|
15
|
-
const stableUserIdentitySlug = user ?
|
|
20
|
+
const stableUserIdentitySlug = user ? createLegacyUserIdentitySlug(user) : undefined;
|
|
16
21
|
if (stableUserIdentitySlug) {
|
|
17
22
|
return stableUserIdentitySlug;
|
|
18
23
|
}
|
|
19
24
|
throw new Error('Unable to create a stable instance identifier: n8n user ID is missing.');
|
|
20
25
|
}
|
|
26
|
+
export function createCanonicalInstanceIdentifier(instance) {
|
|
27
|
+
const rawId = typeof instance === 'string' ? instance : instance?.id;
|
|
28
|
+
const stableInstanceSlug = createStableHashSlug('inst', rawId);
|
|
29
|
+
if (stableInstanceSlug) {
|
|
30
|
+
return stableInstanceSlug;
|
|
31
|
+
}
|
|
32
|
+
throw new Error('Unable to create a stable instance identifier: n8n instance ID is missing.');
|
|
33
|
+
}
|
|
34
|
+
export function createInstanceUserIdentifier(user) {
|
|
35
|
+
const stableUserIdentitySlug = user ? createStableHashSlug('user', user.id) : undefined;
|
|
36
|
+
if (stableUserIdentitySlug) {
|
|
37
|
+
return stableUserIdentitySlug;
|
|
38
|
+
}
|
|
39
|
+
throw new Error('Unable to create a stable instance user identifier: n8n user ID is missing.');
|
|
40
|
+
}
|
|
41
|
+
export function isCanonicalInstanceIdentifier(identifier) {
|
|
42
|
+
return Boolean(identifier && /^inst_[a-f0-9]{10}$/.test(identifier));
|
|
43
|
+
}
|
|
44
|
+
export function isCanonicalInstanceUserIdentifier(identifier) {
|
|
45
|
+
return Boolean(identifier && /^(?:user|n8n)_[a-f0-9]{10}$/.test(identifier));
|
|
46
|
+
}
|
|
21
47
|
export function isCanonicalUserInstanceIdentifier(identifier) {
|
|
22
|
-
return
|
|
48
|
+
return isCanonicalInstanceUserIdentifier(identifier);
|
|
23
49
|
}
|
|
24
50
|
/**
|
|
25
51
|
* Creates a project slug for directory naming
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-utils.js","sourceRoot":"","sources":["../../../src/core/services/directory-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,SAAS,
|
|
1
|
+
{"version":3,"file":"directory-utils.js","sourceRoot":"","sources":["../../../src/core/services/directory-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,SAAS,oBAAoB,CAAC,MAAc,EAAE,KAAc;IACxD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,OAAO,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,4BAA4B,CAAC,IAA4E;IAC9G,OAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAA6E;IAClH,MAAM,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,sBAAsB,EAAE,CAAC;QACzB,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,QAA8C;IAC5F,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IACrE,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA6E;IACtH,MAAM,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,IAAI,sBAAsB,EAAE,CAAC;QACzB,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAmB;IAC7D,OAAO,OAAO,CAAC,UAAU,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,UAAmB;IACjE,OAAO,OAAO,CAAC,UAAU,IAAI,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,UAAmB;IACjE,OAAO,iCAAiC,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,WAAW;SACnB,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE7B,OAAO,IAAI,IAAI,SAAS,CAAC;AAC7B,CAAC"}
|
|
@@ -7,13 +7,22 @@ type IUserLike = {
|
|
|
7
7
|
};
|
|
8
8
|
export interface IInstanceIdentifierClient {
|
|
9
9
|
getCurrentUser(): Promise<IUserLike | null>;
|
|
10
|
+
getInstanceIdentity?(): Promise<{
|
|
11
|
+
id?: string;
|
|
12
|
+
} | null>;
|
|
10
13
|
}
|
|
11
14
|
export interface IResolvedInstanceIdentifier {
|
|
12
15
|
identifier: string;
|
|
13
16
|
}
|
|
17
|
+
export interface IResolvedN8nIdentity {
|
|
18
|
+
instanceIdentifier: string;
|
|
19
|
+
instanceUserIdentifier: string;
|
|
20
|
+
}
|
|
14
21
|
export interface IResolveInstanceIdentifierOptions {
|
|
15
22
|
client?: IInstanceIdentifierClient;
|
|
23
|
+
instanceSeed?: string;
|
|
16
24
|
}
|
|
25
|
+
export declare function resolveN8nIdentity(credentials: IN8nCredentials, options?: IResolveInstanceIdentifierOptions): Promise<IResolvedN8nIdentity>;
|
|
17
26
|
export declare function resolveInstanceIdentifier(credentials: IN8nCredentials, options?: IResolveInstanceIdentifierOptions): Promise<IResolvedInstanceIdentifier>;
|
|
18
27
|
export {};
|
|
19
28
|
//# sourceMappingURL=instance-identifier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-identifier.d.ts","sourceRoot":"","sources":["../../../src/core/services/instance-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,KAAK,SAAS,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACtC,cAAc,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"instance-identifier.d.ts","sourceRoot":"","sources":["../../../src/core/services/instance-identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,KAAK,SAAS,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACtC,cAAc,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,IAAI,OAAO,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,2BAA2B;IACxC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,iCAAiC;IAC9C,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,kBAAkB,CACpC,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,iCAAsC,GAChD,OAAO,CAAC,oBAAoB,CAAC,CAiB/B;AAYD,wBAAsB,yBAAyB,CAC3C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,iCAAsC,GAChD,OAAO,CAAC,2BAA2B,CAAC,CAYtC"}
|
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
import { N8nApiClient } from './n8n-api-client.js';
|
|
2
|
-
import { createInstanceIdentifier } from './directory-utils.js';
|
|
2
|
+
import { createCanonicalInstanceIdentifier, createInstanceIdentifier, createInstanceUserIdentifier } from './directory-utils.js';
|
|
3
|
+
export async function resolveN8nIdentity(credentials, options = {}) {
|
|
4
|
+
const client = options.client ?? new N8nApiClient(credentials);
|
|
5
|
+
const user = await client.getCurrentUser();
|
|
6
|
+
if (!user?.id) {
|
|
7
|
+
throw new Error('Unable to resolve the authenticated n8n user ID from the API key.');
|
|
8
|
+
}
|
|
9
|
+
const instanceIdentity = await client.getInstanceIdentity?.().catch(() => null);
|
|
10
|
+
const normalizedHost = normalizeHostSeed(credentials.host);
|
|
11
|
+
const instanceSeed = instanceIdentity?.id || options.instanceSeed || normalizedHost;
|
|
12
|
+
return {
|
|
13
|
+
instanceIdentifier: createCanonicalInstanceIdentifier(instanceSeed),
|
|
14
|
+
instanceUserIdentifier: createInstanceUserIdentifier(user),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function normalizeHostSeed(host) {
|
|
18
|
+
const trimmed = host?.trim();
|
|
19
|
+
if (!trimmed)
|
|
20
|
+
return undefined;
|
|
21
|
+
try {
|
|
22
|
+
return new URL(trimmed).origin.toLowerCase();
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return trimmed.replace(/\/+$/, '').toLowerCase();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
3
28
|
export async function resolveInstanceIdentifier(credentials, options = {}) {
|
|
4
29
|
const client = options.client ?? new N8nApiClient(credentials);
|
|
5
30
|
const user = await client.getCurrentUser();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-identifier.js","sourceRoot":"","sources":["../../../src/core/services/instance-identifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"instance-identifier.js","sourceRoot":"","sources":["../../../src/core/services/instance-identifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iCAAiC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AA4BjI,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,WAA4B,EAC5B,UAA6C,EAAE;IAE/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAE3C,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,gBAAgB,EAAE,EAAE,IAAI,OAAO,CAAC,YAAY,IAAI,cAAc,CAAC;IAEpF,OAAO;QACH,kBAAkB,EAAE,iCAAiC,CAAC,YAAY,CAAC;QACnE,sBAAsB,EAAE,4BAA4B,CAAC,IAAI,CAAC;KAC7D,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAa;IACpC,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,WAA4B,EAC5B,UAA6C,EAAE;IAE/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAE3C,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO;QACH,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC;KAC7C,CAAC;AACN,CAAC"}
|
|
@@ -17,6 +17,11 @@ export declare class N8nApiClient {
|
|
|
17
17
|
firstName?: string;
|
|
18
18
|
lastName?: string;
|
|
19
19
|
} | null>;
|
|
20
|
+
getInstanceIdentity(): Promise<{
|
|
21
|
+
id?: string;
|
|
22
|
+
} | null>;
|
|
23
|
+
private extractInstanceId;
|
|
24
|
+
private extractInstanceIdFromHtml;
|
|
20
25
|
private shouldUsePersonalProjectFallback;
|
|
21
26
|
private createProjectFallback;
|
|
22
27
|
private createPersonalProject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"n8n-api-client.d.ts","sourceRoot":"","sources":["../../../src/core/services/n8n-api-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAwD,iBAAiB,EAAE,cAAc,EAAqB,eAAe,EAAE,MAAM,aAAa,CAAC;AAE5O,qBAAa,YAAY;IACrB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAc;IACrE,8EAA8E;IAC9E,OAAO,CAAC,UAAU,CAAc;gBAEpB,WAAW,EAAE,eAAe;IAsBxC,OAAO,CAAC,uBAAuB;IA8BzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,cAAc,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"n8n-api-client.d.ts","sourceRoot":"","sources":["../../../src/core/services/n8n-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,78 @@ export class N8nApiClient {
|
|
|
96
96
|
}
|
|
97
97
|
return { id: jwtUserId };
|
|
98
98
|
}
|
|
99
|
+
async getInstanceIdentity() {
|
|
100
|
+
const candidates = [
|
|
101
|
+
async () => (await this.client.get('/rest/settings')).data,
|
|
102
|
+
async () => (await this.client.get('/api/v1/settings')).data,
|
|
103
|
+
async () => (await this.client.get('/healthz')).data,
|
|
104
|
+
];
|
|
105
|
+
for (const candidate of candidates) {
|
|
106
|
+
try {
|
|
107
|
+
const data = await candidate();
|
|
108
|
+
const id = this.extractInstanceId(data);
|
|
109
|
+
if (id)
|
|
110
|
+
return { id };
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Some endpoints are version/license/auth dependent. Try the next source.
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
const baseURL = this.client.defaults.baseURL;
|
|
118
|
+
const res = await axios.get(`${baseURL}/`, {
|
|
119
|
+
httpsAgent: this.httpsAgent,
|
|
120
|
+
timeout: 10_000,
|
|
121
|
+
responseType: 'text',
|
|
122
|
+
});
|
|
123
|
+
const id = this.extractInstanceIdFromHtml(String(res.data || ''));
|
|
124
|
+
if (id)
|
|
125
|
+
return { id };
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Fall back to caller-provided seed when no server invariant is available.
|
|
129
|
+
}
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
extractInstanceId(value) {
|
|
133
|
+
if (!value || typeof value !== 'object')
|
|
134
|
+
return undefined;
|
|
135
|
+
const record = value;
|
|
136
|
+
const directCandidates = [
|
|
137
|
+
record.instanceId,
|
|
138
|
+
record.instanceID,
|
|
139
|
+
record.id,
|
|
140
|
+
record.n8nInstanceId,
|
|
141
|
+
];
|
|
142
|
+
for (const candidate of directCandidates) {
|
|
143
|
+
if (typeof candidate === 'string' && candidate.trim())
|
|
144
|
+
return candidate.trim();
|
|
145
|
+
}
|
|
146
|
+
const nestedKeys = ['data', 'settings', 'instance', 'deployment', 'n8nMetadata'];
|
|
147
|
+
for (const key of nestedKeys) {
|
|
148
|
+
const nested = this.extractInstanceId(record[key]);
|
|
149
|
+
if (nested)
|
|
150
|
+
return nested;
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
extractInstanceIdFromHtml(html) {
|
|
155
|
+
const metaMatches = html.matchAll(/name="n8n:config:[^"]+"\s+content="([^"]+)"/g);
|
|
156
|
+
for (const match of metaMatches) {
|
|
157
|
+
try {
|
|
158
|
+
const decoded = Buffer.from(match[1], 'base64').toString('utf-8');
|
|
159
|
+
const parsed = JSON.parse(decoded);
|
|
160
|
+
const id = this.extractInstanceId(parsed);
|
|
161
|
+
if (id)
|
|
162
|
+
return id;
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
// Ignore non-JSON or non-base64 metadata.
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const plainMatch = html.match(/"instanceId"\s*:\s*"([^"]+)"/);
|
|
169
|
+
return plainMatch?.[1];
|
|
170
|
+
}
|
|
99
171
|
shouldUsePersonalProjectFallback(error) {
|
|
100
172
|
const status = error?.response?.status;
|
|
101
173
|
return status === 403 || status === 404;
|