@n8n-as-code/n8nac 2.2.1 → 2.3.0-rc.1
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/index.ts +1 -1
- package/package.json +3 -3
- package/skills/n8n-architect/SKILL.md +5 -2
- package/src/cli.ts +1 -1
package/index.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { accessSync, constants, mkdirSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { N8N_FACADE_SETUP_MODES } from "@n8n-as-code/workflow-core";
|
|
4
4
|
import { createTelemetryClient } from "@n8n-as-code/telemetry";
|
|
5
|
-
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
|
|
5
|
+
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core";
|
|
6
6
|
import { registerN8nAcCli } from "./src/cli.js";
|
|
7
7
|
import { getWorkspaceDir, isWorkspaceInitialized, readWorkspaceBinding } from "./src/workspace.js";
|
|
8
8
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n-as-code/n8nac",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0-rc.1",
|
|
4
4
|
"description": "OpenClaw plugin for n8n-as-code — create and manage n8n workflows from OpenClaw",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@n8n-as-code/telemetry": "2.0.1",
|
|
28
|
-
"@n8n-as-code/workflow-core": "2.0.
|
|
28
|
+
"@n8n-as-code/workflow-core": "2.0.1-rc.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^22.0.0",
|
|
32
|
-
"openclaw": "
|
|
32
|
+
"openclaw": "2026.8.2",
|
|
33
33
|
"typescript": "^5.8.0",
|
|
34
34
|
"vitest": "^1.6.1"
|
|
35
35
|
},
|
|
@@ -168,6 +168,7 @@ npx --yes n8nac push <path-to-workflow.workflow.ts> --verify
|
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
- `push` requires the full workflow file path, either absolute or context-root-relative. Do not pass a bare filename.
|
|
171
|
+
- On n8n 2.x, pushing to a **published** workflow also releases it to production — the API re-publishes on update. Treat every push to a published workflow as a deploy. Use `push --draft` when the user wants to check the change in n8n first: it re-pins the previously published version so production keeps running what it already ran.
|
|
171
172
|
- For a new workflow, create the file inside the `workflowsPath` returned by `env status --json`, then confirm it with `npx --yes n8nac list --local`.
|
|
172
173
|
- If push/pull reports a conflict, use explicit resolution commands. Do not overwrite remote changes blindly.
|
|
173
174
|
- `pull` and conflict resolution operate on a single workflow ID.
|
|
@@ -265,6 +266,7 @@ npx --yes n8nac skills examples download <id>
|
|
|
265
266
|
- AI sub-nodes connect with `.uses()`, never `.out().to()`.
|
|
266
267
|
- `ai_tool` and `ai_document` connections are arrays: `ai_tool: [this.Tool.output]`.
|
|
267
268
|
- Other AI connection types are single refs, such as `ai_languageModel: this.Model.output`.
|
|
269
|
+
- They also accept an array when a node exposes several inputs of the same type, where the position is the input index: `ai_languageModel: [this.Model.output, this.FallbackModel.output]` (fallback model, Model Selector).
|
|
268
270
|
- Check `node-info` for connection-dependent boolean flags before declaring `.uses()` connections.
|
|
269
271
|
|
|
270
272
|
Every `.workflow.ts` file starts with a `<workflow-map>` block. Read that map first, locate the property name you need, then read only the relevant class section.
|
|
@@ -371,8 +373,9 @@ defineRouting() {
|
|
|
371
373
|
|
|
372
374
|
- Use `.uses()` for language models, memory, tools, parsers, embeddings, vector stores, retrievers, and other AI sub-nodes.
|
|
373
375
|
- Never connect AI sub-nodes with `.out().to()`.
|
|
374
|
-
- `ai_tool` and `ai_document` must be arrays.
|
|
375
|
-
- Most other AI connection types are single refs.
|
|
376
|
+
- `ai_tool` and `ai_document` must be arrays; every entry lands on input index 0.
|
|
377
|
+
- Most other AI connection types are single refs, or an array when the node exposes several inputs of the same type — position = input index.
|
|
378
|
+
- `needsFallback: true` (Agent, Basic LLM Chain) needs a second model on input 1: `ai_languageModel: [this.Model.output, this.FallbackModel.output]`. Same for the Model Selector node.
|
|
376
379
|
- Some nodes require boolean flags to expose AI ports or gated parameters. Check `node-info` before declaring `.uses()`.
|
|
377
380
|
|
|
378
381
|
## Common Mistakes To Avoid
|
package/src/cli.ts
CHANGED