n8nac 1.5.0-next.5 ā 1.5.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/dist/commands/base.d.ts.map +1 -1
- package/dist/commands/base.js +17 -0
- package/dist/commands/base.js.map +1 -1
- package/dist/commands/init-ai.d.ts +8 -0
- package/dist/commands/init-ai.d.ts.map +1 -1
- package/dist/commands/init-ai.js +80 -20
- package/dist/commands/init-ai.js.map +1 -1
- package/package.json +2 -2
|
@@ -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,MAAM,+BAA+B,CAAC;AAK9D,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,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;;IA4DnD;;OAEG;cACa,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;IAS3D;;;OAGG;cACa,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;IA4B7C,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
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { N8nApiClient } from '../core/index.js';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { ConfigService } from '../services/config-service.js';
|
|
4
|
+
import { spawn } from 'child_process';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { dirname, join } from 'path';
|
|
4
7
|
export class BaseCommand {
|
|
5
8
|
client;
|
|
6
9
|
config;
|
|
@@ -43,6 +46,20 @@ export class BaseCommand {
|
|
|
43
46
|
host,
|
|
44
47
|
folderSync: localConfig.folderSync ?? false,
|
|
45
48
|
};
|
|
49
|
+
// Silently refresh AGENTS.md in the background if the installed n8nac version changed.
|
|
50
|
+
// Spawned as a fully-detached child process so it never blocks the command, never
|
|
51
|
+
// interleaves with stdout, and can't be killed by an early process.exit().
|
|
52
|
+
try {
|
|
53
|
+
const __dir = dirname(fileURLToPath(import.meta.url));
|
|
54
|
+
const cliPath = join(__dir, '..', '..', 'index.js');
|
|
55
|
+
const child = spawn(process.execPath, [cliPath, 'update-ai', '--silent'], {
|
|
56
|
+
cwd: process.cwd(),
|
|
57
|
+
detached: true,
|
|
58
|
+
stdio: 'ignore',
|
|
59
|
+
});
|
|
60
|
+
child.unref();
|
|
61
|
+
}
|
|
62
|
+
catch { /* never block the command */ }
|
|
46
63
|
}
|
|
47
64
|
/**
|
|
48
65
|
* Get or create instance identifier and ensure it's in the config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/commands/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { IN8nCredentials } from '../core/index.js';
|
|
3
|
+
/** Returns the installed n8nac CLI semver (e.g. "1.4.0"), or undefined if unreadable. */
|
|
4
|
+
export declare function getCliVersion(): string | undefined;
|
|
3
5
|
export declare class UpdateAiCommand {
|
|
4
6
|
private program;
|
|
5
7
|
constructor(program: Command);
|
|
8
|
+
/**
|
|
9
|
+
* Fire-and-forget check: if AGENTS.md is missing a version stamp or the stamped version
|
|
10
|
+
* differs from the installed n8nac CLI version, silently regenerates AI context files.
|
|
11
|
+
* Safe to call at the top of any command ā never throws.
|
|
12
|
+
*/
|
|
13
|
+
static checkAndRefreshIfStale(projectRoot: string): Promise<void>;
|
|
6
14
|
run(options?: any, providedCredentials?: IN8nCredentials): Promise<void>;
|
|
7
15
|
}
|
|
8
16
|
export declare class InitAiCommand extends UpdateAiCommand {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-ai.d.ts","sourceRoot":"","sources":["../../src/commands/init-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAEH,eAAe,EAGlB,MAAM,kBAAkB,CAAC;AAmB1B,qBAAa,eAAe;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"init-ai.d.ts","sourceRoot":"","sources":["../../src/commands/init-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAEH,eAAe,EAGlB,MAAM,kBAAkB,CAAC;AAmB1B,yFAAyF;AACzF,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAQlD;AAWD,qBAAa,eAAe;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAWpC;;;;OAIG;WACU,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1D,GAAG,CAAC,OAAO,GAAE,GAAQ,EAAE,mBAAmB,CAAC,EAAE,eAAe;CA2F5E;AAGD,qBAAa,aAAc,SAAQ,eAAe;CAAI"}
|
package/dist/commands/init-ai.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
1
2
|
import chalk from 'chalk';
|
|
2
3
|
import fs from 'fs';
|
|
3
|
-
import { readFileSync } from 'fs';
|
|
4
|
+
import { readFileSync, existsSync } from 'fs';
|
|
4
5
|
import { join, dirname, resolve } from 'path';
|
|
5
6
|
import { fileURLToPath } from 'url';
|
|
6
7
|
import { N8nApiClient, WorkspaceSetupService, createProjectSlug, } from '../core/index.js';
|
|
@@ -19,6 +20,26 @@ function getDistTag() {
|
|
|
19
20
|
return undefined;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
23
|
+
/** Returns the installed n8nac CLI semver (e.g. "1.4.0"), or undefined if unreadable. */
|
|
24
|
+
export function getCliVersion() {
|
|
25
|
+
try {
|
|
26
|
+
const __dir = dirname(fileURLToPath(import.meta.url));
|
|
27
|
+
const pkg = JSON.parse(readFileSync(join(__dir, '..', '..', 'package.json'), 'utf8'));
|
|
28
|
+
return typeof pkg.version === 'string' ? pkg.version : undefined;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Reads the n8nac version stamp embedded in an existing AGENTS.md, or undefined if absent. */
|
|
35
|
+
function readAgentsMdVersion(projectRoot) {
|
|
36
|
+
const agentsMdPath = join(projectRoot, 'AGENTS.md');
|
|
37
|
+
if (!existsSync(agentsMdPath))
|
|
38
|
+
return undefined;
|
|
39
|
+
const content = readFileSync(agentsMdPath, 'utf8');
|
|
40
|
+
const match = content.match(/<!--\s*n8nac-version:\s*([^\s>]+)\s*-->/);
|
|
41
|
+
return match?.[1];
|
|
42
|
+
}
|
|
22
43
|
export class UpdateAiCommand {
|
|
23
44
|
program;
|
|
24
45
|
constructor(program) {
|
|
@@ -27,14 +48,38 @@ export class UpdateAiCommand {
|
|
|
27
48
|
.command('update-ai')
|
|
28
49
|
.description('Update AI Context (AGENTS.md and snippets)')
|
|
29
50
|
.option('--cli-cmd <command>', 'Override the generated n8nac command in AGENTS.md (for local dev builds)')
|
|
51
|
+
.option('--silent', 'Suppress all output (used for background refresh)')
|
|
30
52
|
.action(async (options) => {
|
|
31
53
|
await this.run(options);
|
|
32
54
|
});
|
|
33
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Fire-and-forget check: if AGENTS.md is missing a version stamp or the stamped version
|
|
58
|
+
* differs from the installed n8nac CLI version, silently regenerates AI context files.
|
|
59
|
+
* Safe to call at the top of any command ā never throws.
|
|
60
|
+
*/
|
|
61
|
+
static async checkAndRefreshIfStale(projectRoot) {
|
|
62
|
+
try {
|
|
63
|
+
const agentsMdPath = join(projectRoot, 'AGENTS.md');
|
|
64
|
+
if (!existsSync(agentsMdPath))
|
|
65
|
+
return; // init handles first-time creation
|
|
66
|
+
const stampedVersion = readAgentsMdVersion(projectRoot);
|
|
67
|
+
const currentVersion = getCliVersion();
|
|
68
|
+
if (currentVersion && stampedVersion === currentVersion)
|
|
69
|
+
return; // already up-to-date
|
|
70
|
+
await new UpdateAiCommand(new Command()).run({ silent: true, projectRoot });
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Never surface background refresh errors to the user
|
|
74
|
+
}
|
|
75
|
+
}
|
|
34
76
|
async run(options = {}, providedCredentials) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
77
|
+
const silent = !!options.silent;
|
|
78
|
+
if (!silent) {
|
|
79
|
+
console.log(chalk.blue('š¤ Updating AI Context...'));
|
|
80
|
+
console.log(chalk.gray(' Regenerating AGENTS.md and snippets\n'));
|
|
81
|
+
}
|
|
82
|
+
const projectRoot = options.projectRoot ?? process.cwd();
|
|
38
83
|
try {
|
|
39
84
|
// Initialize N8nApiClient if credentials are available
|
|
40
85
|
dotenv.config();
|
|
@@ -56,14 +101,18 @@ export class UpdateAiCommand {
|
|
|
56
101
|
catch { } // Ignore version fetch error
|
|
57
102
|
}
|
|
58
103
|
// 2. Generate Context (AGENTS.md)
|
|
59
|
-
|
|
104
|
+
if (!silent)
|
|
105
|
+
console.log(chalk.gray('\n - Generating AI context files (AGENTS.md)...'));
|
|
60
106
|
const aiContextGenerator = new AiContextGenerator();
|
|
61
107
|
await aiContextGenerator.generate(projectRoot, version, getDistTag(), {
|
|
62
108
|
cliCommandOverride: options.cliCmd,
|
|
109
|
+
cliVersion: getCliVersion(),
|
|
63
110
|
});
|
|
64
|
-
|
|
111
|
+
if (!silent)
|
|
112
|
+
console.log(chalk.green(' ā
AI context files created.'));
|
|
65
113
|
// 3. Update n8n-workflows.d.ts for all configured instances
|
|
66
|
-
|
|
114
|
+
if (!silent)
|
|
115
|
+
console.log(chalk.gray('\n - Updating TypeScript stubs (n8n-workflows.d.ts)...'));
|
|
67
116
|
const configService = new ConfigService(projectRoot);
|
|
68
117
|
const instances = configService.listInstances();
|
|
69
118
|
let updatedCount = 0;
|
|
@@ -79,26 +128,37 @@ export class UpdateAiCommand {
|
|
|
79
128
|
updatedCount++;
|
|
80
129
|
}
|
|
81
130
|
catch (err) {
|
|
82
|
-
|
|
131
|
+
if (!silent)
|
|
132
|
+
console.warn(chalk.yellow(` ā Could not update TypeScript stubs for ${instanceIdentifier}: ${err.message}`));
|
|
83
133
|
}
|
|
84
134
|
}
|
|
85
|
-
if (
|
|
86
|
-
|
|
135
|
+
if (!silent) {
|
|
136
|
+
if (updatedCount > 0) {
|
|
137
|
+
console.log(chalk.green(` ā
TypeScript stubs updated for ${updatedCount} instance(s).`));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.log(chalk.gray(' ā¹ No existing instance directories found to update.'));
|
|
141
|
+
}
|
|
142
|
+
console.log(chalk.green('\n⨠AI Context Updated Successfully!'));
|
|
143
|
+
console.log(chalk.gray(' ā AGENTS.md: Complete AI agent guidelines'));
|
|
144
|
+
console.log(chalk.gray(' ā n8n-workflows.d.ts: TypeScript stubs (per instance)'));
|
|
145
|
+
console.log(chalk.gray(' ā Source of truth: n8n-nodes-technical.json (via @n8n-as-code/skills)\n'));
|
|
87
146
|
}
|
|
88
|
-
else {
|
|
89
|
-
|
|
147
|
+
else if (updatedCount > 0 || existsSync(join(projectRoot, 'AGENTS.md'))) {
|
|
148
|
+
// Single dim notice so the user knows a refresh happened ā written to stderr
|
|
149
|
+
// to avoid corrupting machine-readable stdout output (e.g. `n8nac list --raw`)
|
|
150
|
+
console.error(chalk.dim(`ā¹ n8nac: AGENTS.md refreshed (${getCliVersion() ?? 'updated'})`));
|
|
90
151
|
}
|
|
91
|
-
console.log(chalk.green('\n⨠AI Context Updated Successfully!'));
|
|
92
|
-
console.log(chalk.gray(' ā AGENTS.md: Complete AI agent guidelines'));
|
|
93
|
-
console.log(chalk.gray(' ā n8n-workflows.d.ts: TypeScript stubs (per instance)'));
|
|
94
|
-
console.log(chalk.gray(' ā Source of truth: n8n-nodes-technical.json (via @n8n-as-code/skills)\n'));
|
|
95
152
|
}
|
|
96
153
|
catch (error) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
154
|
+
if (!silent) {
|
|
155
|
+
console.error(chalk.red(`ā Error during update-ai: ${error.message}`));
|
|
156
|
+
if (error.stack) {
|
|
157
|
+
console.error(chalk.gray(error.stack));
|
|
158
|
+
}
|
|
159
|
+
process.exit(1);
|
|
100
160
|
}
|
|
101
|
-
|
|
161
|
+
// In silent mode, swallow errors ā the refresh is best-effort
|
|
102
162
|
}
|
|
103
163
|
}
|
|
104
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-ai.js","sourceRoot":"","sources":["../../src/commands/init-ai.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-ai.js","sourceRoot":"","sources":["../../src/commands/init-ai.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8nac",
|
|
3
|
-
"version": "1.5.0
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Unified CLI for n8n-as-code ā manage workflows and access AI tools",
|
|
5
5
|
"main": "./dist/lib.js",
|
|
6
6
|
"types": "./dist/lib.d.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test:coverage": "vitest run --coverage"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@n8n-as-code/skills": "1.5.0
|
|
25
|
+
"@n8n-as-code/skills": "1.5.0",
|
|
26
26
|
"@n8n-as-code/transformer": "1.0.2",
|
|
27
27
|
"@types/json-stable-stringify": "^1.1.0",
|
|
28
28
|
"axios": "^1.6.0",
|