n8nac 2.2.0-next.11 → 2.2.0-next.23

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.
Files changed (36) hide show
  1. package/dist/commands/base.d.ts +1 -0
  2. package/dist/commands/base.d.ts.map +1 -1
  3. package/dist/commands/base.js +14 -10
  4. package/dist/commands/base.js.map +1 -1
  5. package/dist/core/index.d.ts +1 -0
  6. package/dist/core/index.d.ts.map +1 -1
  7. package/dist/core/index.js +1 -0
  8. package/dist/core/index.js.map +1 -1
  9. package/dist/core/services/directory-utils.d.ts +13 -1
  10. package/dist/core/services/directory-utils.d.ts.map +1 -1
  11. package/dist/core/services/directory-utils.js +33 -7
  12. package/dist/core/services/directory-utils.js.map +1 -1
  13. package/dist/core/services/instance-identifier.d.ts +9 -0
  14. package/dist/core/services/instance-identifier.d.ts.map +1 -1
  15. package/dist/core/services/instance-identifier.js +26 -1
  16. package/dist/core/services/instance-identifier.js.map +1 -1
  17. package/dist/core/services/n8n-api-client.d.ts +5 -0
  18. package/dist/core/services/n8n-api-client.d.ts.map +1 -1
  19. package/dist/core/services/n8n-api-client.js +72 -0
  20. package/dist/core/services/n8n-api-client.js.map +1 -1
  21. package/dist/core/services/sync-manager.d.ts.map +1 -1
  22. package/dist/core/services/sync-manager.js +3 -0
  23. package/dist/core/services/sync-manager.js.map +1 -1
  24. package/dist/core/services/workflow-dir-name.d.ts +11 -0
  25. package/dist/core/services/workflow-dir-name.d.ts.map +1 -0
  26. package/dist/core/services/workflow-dir-name.js +82 -0
  27. package/dist/core/services/workflow-dir-name.js.map +1 -0
  28. package/dist/core/types.d.ts +1 -0
  29. package/dist/core/types.d.ts.map +1 -1
  30. package/dist/index.js +18 -14
  31. package/dist/index.js.map +1 -1
  32. package/dist/services/config-service.d.ts +17 -4
  33. package/dist/services/config-service.d.ts.map +1 -1
  34. package/dist/services/config-service.js +201 -82
  35. package/dist/services/config-service.js.map +1 -1
  36. package/package.json +2 -2
@@ -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;;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"}
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"}
@@ -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/<name>`, then use `--env <name>`.'));
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/<name>` and store auth with `n8nac env auth set <name> --api-key-stdin`.'));
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
- 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;
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/<name>`.'));
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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"}
@@ -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';
@@ -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"}
@@ -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';
@@ -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 an instance identifier for directory naming
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":"AAWA;;;;GAIG;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,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D"}
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 createStableUserIdentitySlug(user) {
3
- if (!user.id) {
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(user.id).digest('hex').substring(0, 10);
7
- return `n8n_${identityHash}`;
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 an instance identifier for directory naming
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 ? createStableUserIdentitySlug(user) : undefined;
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 Boolean(identifier && /^n8n_[a-f0-9]{10}$/.test(identifier));
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,4BAA4B,CAAC,IAA4E;IAC9G,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,OAAO,OAAO,YAAY,EAAE,CAAC;AACjC,CAAC;AAED;;;;GAIG;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,UAAmB;IACjE,OAAO,OAAO,CAAC,UAAU,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACxE,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"}
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;CAC/C;AAED,MAAM,WAAW,2BAA2B;IACxC,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iCAAiC;IAC9C,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED,wBAAsB,yBAAyB,CAC3C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,iCAAsC,GAChD,OAAO,CAAC,2BAA2B,CAAC,CAYtC"}
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;AAqBhE,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"}
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":"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"}
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;