Commit Graph

19621 Commits

Author SHA1 Message Date
Mutasem Aldmour
138006bfd6
Merge remote-tracking branch 'origin/master' into rename-node-message
# Conflicts:
#	packages/nodes-base/nodes/Google/Sheet/v2/actions/sheet/Sheet.resource.ts
2026-05-08 16:00:46 +02:00
Mutasem Aldmour
497f40018d
refactor(Google Sheet Node): Unwrap stale builderHint to propertyHint
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 15:59:58 +02:00
Danny Martini
9931c4d055
refactor(core): Skip redundant extend helpers in VM mode (no-changelog) (#30098)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 13:40:15 +00:00
Mutasem Aldmour
72eca2f398
refactor: Rename node-level builderHint.message to searchHint and propertyHint (#30062)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 13:32:50 +00:00
Jaakko Husso
7e6bca1f13
feat(core): Make instance AI enabled by default for users on the test group, drop opt-in modal (no-changelog) (#30097) 2026-05-08 13:19:49 +00:00
Mutasem Aldmour
6493682097
test(McpTrigger Node): Update authentication builderHint test to use propertyHint
The previous rename pass missed this assertion because the {message:...}
literal sits inside `expect(...).toEqual({ ... })` rather than under a
direct `builderHint:` key.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 15:12:20 +02:00
Mike Repeć
e15c091c75
fix(editor): Refactor archive workflow spec to use API helpers for stability (no-changelog) (#30089) 2026-05-08 12:40:59 +00:00
Bernhard Wittmann
ecf96ad30c
fix: Add warning to Computer Use install modal (#30094) 2026-05-08 12:25:54 +00:00
Benjamin Schroth
8116e0a485
feat(core): Add multi-config evaluations backend (#29784) 2026-05-08 12:24:17 +00:00
Mutasem Aldmour
2ece58eee5
chore: Assign workflow-sdk and instance-ai to instance-ai team (#30087)
Co-authored-by: Claude <noreply@anthropic.com>
2026-05-08 12:19:55 +00:00
Dawid Myslak
0cc163b7dc
fix(EditImage Node): Fix composite operation failing with stream empty buffer (#30088)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-08 12:14:25 +00:00
Mutasem Aldmour
8ba6646ada
refactor: Rename property-level builderHint.message to propertyHint
IBuilderHint (node-level) and IParameterBuilderHint (property-level) are
already separate types; this rename makes the naming reflect that. After
this change:

- Node-level only carries searchHint (renamed earlier).
- Property-level only carries propertyHint (this commit) and
  placeholderSupported.

The wire-format mirror in SearchableNodeDescription.builderHint.message is
intentionally unchanged — same blast-radius scope as the earlier
searchHint rename.

Touches 49 files: the type definition, the duplicate ParameterBuilderHint
in workflow-sdk's generate-types, the consumers in instance-ai adapter,
ai-workflow-builder code-builder-search.tool, generate-types JSDoc
emission, and every node that sets builderHint.message on a property,
option, or collection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 14:10:38 +02:00
Albert Alises
ceaebc6cbe
fix(core): Validate AI builder credential IDs before save (#30070)
Some checks are pending
Build: Benchmark Image / build (push) Waiting to run
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.x) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.14.1) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (25.x) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Util: Sync API Docs / sync-public-api (push) Waiting to run
2026-05-08 11:29:12 +00:00
Mutasem Aldmour
33dbf1c7e2
fix(core): Replace wire-format expression in shared LangChain text builderHint
descriptions.ts hosts the same text-prompt builderHint that ChainLLM has,
so it needs the same wire={{}} → expr() rewrite that 0d557bc / a08f67a
applied to the dedicated copy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 13:28:38 +02:00
Mutasem Aldmour
afe119be14
fix(core): Improve AI chat file upload handling and error states (#29701)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 11:26:58 +00:00
Marc Littlemore
cfec60de6a
chore: Clarify decorators ownership (#30085) 2026-05-08 10:59:26 +00:00
Mutasem Aldmour
f5115e83f7
fix(core): Address eslint plugin lint errors
- Restore alphabetical import order in rules/index.ts (n8n-object-validation
  comes before no-builder-hint-leakage).
- Add ajv descriptions to no-builder-hint-leakage schema options to satisfy
  eslint-plugin/require-meta-schema-description.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 12:32:04 +02:00
Charlie Kolb
2b2fa0aaa3
chore: Move stylelint-config codeowners to qa-dx (no-changelog) (#30084) 2026-05-08 10:28:49 +00:00
Charlie Kolb
4b89faa707
chore: Reassign i18n package codeownership to frontend team (no-changelog) (#30082) 2026-05-08 10:20:36 +00:00
Mutasem Aldmour
43d0ebfd05
chore: Apply biome formatting to workflow-sdk eslint config
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 12:09:00 +02:00
Mutasem Aldmour
0d557bc99e
chore(core): Remove unused node-tips prompts and re-exports
The structuredOutputParser and webhook NodeGuidance constants in
@n8n/workflow-sdk/prompts/node-guidance/node-tips were re-exported by
ai-workflow-builder.ee/src/prompts/shared/node-guidance/index.ts, but
nothing in the codebase imported either name. Drop the directory, the
re-export, the type-only mirror, and the package.json subpath export.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 12:03:27 +02:00
Dawid Myslak
910822fb09
feat(Figma Trigger Node): Add webhook request verification (#29262)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 09:34:11 +00:00
Mutasem Aldmour
a08f67aca6
fix(core): Apply no-builder-hint-leakage rule to nodes and SDK prompts
Enable the rule in nodes-base, nodes-langchain, and workflow-sdk, and
fix the violations it surfaces:

- IfV2 conditions builderHint: rewrite the example from JSON wire-form
  (\`"={{ \$json.field }}"\`) to SDK-form (\`expr('{{ \$json.field }}')\`).
- ChainLLM text builderHint: same wire → SDK-form rewrite.
- workflow-sdk SDK-facing prompts (sdk-reference, node-selection,
  best-practices, node-tips): replace ={{...}} with expr('{{...}}') and
  wire-format connection names (ai_tool, ai_memory, etc.) with their
  SDK helpers (tool(), memory(), etc.).

The legacy multi-agent parameter-guides directory still documents
wire-format parameters because that's what its consumer
(parameter-updater chain) generates; it is exempted in the workflow-sdk
eslint config.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 11:07:04 +02:00
Mutasem Aldmour
06cee7046b
feat(core): Add no-builder-hint-leakage ESLint rule
Disallow wire-format expression syntax (={{...}}) and NodeConnectionType
string literals in builderHint texts and AI-builder prompt strings. The
AI workflow builder generates SDK code (expr(), languageModel(), tool(),
etc.); leaking the wire format into the documentation it consumes
teaches it to write parameters in the wrong shape.

The rule has two scopes:
- builderHint (default): only checks string values inside builderHint
  property values. Used for nodes-base and nodes-langchain.
- all: checks every string literal/template in the file. Used for
  workflow-sdk prompt files that are surfaced verbatim to the agent.

Strings that are *exactly* a connection-type name (e.g. structured data
like \`connectionType: 'ai_languageModel'\`) are exempt — only prose
mentions of the wire-format names are flagged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 11:06:49 +02:00
Marc Littlemore
b3a806125b
chore: Improve CODEOWNERS file for automatic team review (#27883) 2026-05-08 09:06:37 +00:00
Suguru Inoue
149bdebf37
refactor(editor): Delete workflow ref from workflows.store.ts (#29531) 2026-05-08 08:54:35 +00:00
Declan Carroll
33c3598e66
ci: Remove unused bin fields to fix pnpm install warnings (no-changelog) (#29586)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-08 08:47:25 +00:00
Tomi Turtiainen
7c57843cf6
refactor(ai-builder): Replace hand-rolled sandbox client with @n8n/sandbox-client SDK (no-changelog) (#29879) 2026-05-08 08:32:02 +00:00
Eugene
6f4f0a0303
fix(core): Activate agent chat integrations on every main (#30029)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Michael Drury <michael.drury@n8n.io>
2026-05-08 08:11:57 +00:00
Declan Carroll
e7b353cabc
ci: Shard weekly E2E coverage run across cached docker image (no-changelog) (#29337)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 08:08:39 +00:00
Rob Hough
478d4998a8
fix(editor): Fix Agents styling issues from merge regression (#30032) 2026-05-08 08:06:40 +00:00
Mutasem Aldmour
14cb9f81ce
fix(core): Reject discriminator-level builderHint at node load time
Throw at startup when a node defines builderHint on its operation, mode,
or resource discriminator property. These hints are silently dropped by
the AI workflow builder renderers, which only read builderHint from each
option of those discriminators.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 09:53:51 +02:00
Mutasem Aldmour
4e81cdb32c
fix(Guardrails Node): Restore classify outputs hint to node-level searchHint
The hint was placed on the operation property in fbac8db, but builderHint
on operation/mode/resource discriminator properties is silently dropped:
the AI workflow builder renderers only walk each option, not the property
itself.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 09:53:45 +02:00
Csaba Tuncsik
5cbd2dd1e9
fix(editor): Polish encryption keys settings page (#30008) 2026-05-08 07:44:29 +00:00
Alexander Gekov
d318bc1e33
fix(Notion Node): Paginate Get Many operations beyond 100-item API cap (#29690)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
2026-05-08 07:03:37 +00:00
Declan Carroll
6b893b45a0
fix: Align undici override across major versions (#30028)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 05:51:34 +00:00
Declan Carroll
75ed71c001
fix(core): Add ESLint rule to prevent error instances in toThrow assertions (#29889)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-08 05:51:05 +00:00
Jaakko Husso
73dae68663
fix(core): Handle browser not being available on computer use gracefully, better pause-for-user tool (no-changelog) (#29995)
Some checks failed
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.x) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.14.1) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (25.x) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Release: Schedule Patch Release PRs / Create patch release PR (${{ matrix.track }}) (beta) (push) Has been cancelled
Release: Schedule Patch Release PRs / Create patch release PR (${{ matrix.track }}) (stable) (push) Has been cancelled
Release: Schedule Patch Release PRs / Create patch release PR (${{ matrix.track }}) (v1) (push) Has been cancelled
2026-05-07 22:09:29 +00:00
Michael Drury
820128196c
fix(core): Simplify Slack redirect URL verification process for agents (#30033)
Some checks are pending
Build: Benchmark Image / build (push) Waiting to run
CI: Master (Build, Test, Lint) / Build for Github Cache (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (22.x) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (24.14.1) (push) Waiting to run
CI: Master (Build, Test, Lint) / Unit tests (25.x) (push) Waiting to run
CI: Master (Build, Test, Lint) / Lint (push) Waiting to run
CI: Master (Build, Test, Lint) / Performance (push) Waiting to run
CI: Master (Build, Test, Lint) / Notify Slack on failure (push) Blocked by required conditions
Util: Sync API Docs / sync-public-api (push) Waiting to run
2026-05-07 18:38:32 +00:00
Jaakko Husso
8e0f37d100
fix(core): Support type filters on global credential lookups (#30002) 2026-05-07 17:50:58 +00:00
Guillaume Jacquart
75053fec93
feat(editor): Add envFeatureFlag and copyButton property options (#29733)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 16:44:17 +00:00
oleg
ffcf63691f
feat(agents): Add reusable workspace edit tools (no-changelog) (#30013) 2026-05-07 16:03:13 +00:00
Irénée
730c3e12a5
feat(core): Define community packages with environment variables (#29961) 2026-05-07 15:56:14 +00:00
Jaakko Husso
e6b37ef06d
fix(core): Make instance AI use the correct instance URL for OAuth callbacks (no-changelog) (#30024) 2026-05-07 15:37:09 +00:00
Jaakko Husso
43438f0361
fix(core): Tighten instance ai mutation and approval gates (no-changelog) (#29750) 2026-05-07 15:36:36 +00:00
Arvin A
9014baea7e
feat(editor): Redesign evaluation run detail page (#29592) 2026-05-07 15:02:59 +00:00
Charlie Kolb
ca33060e0b
fix(core): Advance Postgres IDENTITY sequences after entity import (#29762)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 15:00:04 +00:00
Mutasem Aldmour
922891f549
refactor: rename IBuilderHint.message to searchHint
Rename the node-level builder hint field for clearer intent. Property-level
IParameterBuilderHint.message and the SearchableNodeDescription wire format
are unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 16:39:34 +02:00
Mutasem Aldmour
fbac8db46b
chore: move parameter-specific builder hints onto their properties
Relocate builderHint.message from node-level to the relevant property for
If V2 (conditions), HighLevel V2 (contact create additionalFields), and
Guardrails V2 (operation). Guardrails keeps its node-level inputs hint.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 15:30:03 +02:00
Eugene
1a270f2f35
fix(editor): Make agent publish indicator dot use correct color (no-changelog) (#29979)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 13:05:07 +00:00