@openapi-flow/n8n 0.3.0 → 0.3.2

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/README.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Zod `^4.6.5` is a required host peer for the public configuration schemas. It is not an independently pinned runtime dependency. The n8n SDK's internal Zod 3 remains separately owned; this does not pass a Zod 4 instance into an API requiring Zod 3.
4
4
 
5
- Version **0.3.0**, with matching `@openapi-flow/core@0.3.0`. Known limitation: Ajv 8.20.0 ignores a declared `properties.__proto__`. Generated validation can reject valid data or omit that property's constraints; do not rely on it for contracts using that key. The owner accepted this limitation for release while the original failing regression stays enabled. No field substitution or schema compatibility transform is included. See the [release record](https://github.com/carefreelife98/openapi-flow/blob/main/docs/releases/0.3.0.md).
5
+ Version **0.3.2**, with matching `@openapi-flow/core@0.3.2`. Known limitation: Ajv 8.20.0 ignores a declared `properties.__proto__`. Generated validation can reject valid data or omit that property's constraints; do not rely on it for contracts using that key. The previously accepted limitation and original failing regression remain unchanged. No field substitution or schema compatibility transform is included. See the [release record](https://github.com/carefreelife98/openapi-flow/blob/main/docs/releases/0.3.2.md).
6
+
7
+ `describeN8nManualTrigger()` describes the Manual Trigger already supplied by this compiler. Pass that descriptor as `entrypoint` to native and connection planning so a model sees the actual compiler contract without selecting an extra trigger. The descriptor is not a data producer or a substitute for graph validation.
6
8
 
7
9
  `compileN8nWorkflowTemplate` supports canonical `gapNodes`. It preserves
8
10
  internal control edges, reuses Korean warning regions and stop-on-execution
@@ -28,7 +30,7 @@ Standalone strict, reviewable and finite-batch compilation also accepts explicit
28
30
 
29
31
  `resolveN8nNativeFeatures` and `N8nNativeFeature` expose one registry for eleven existing feature families. Omission inventories every family with explicit `ready`/`requires-context` status; an explicit enum list is strict and `[]` selects none. Ready capabilities retain the existing schemas, source declarations and SDK compilers. Material-dependent families require actual OAS/native contracts, not invented placeholders. The published four-feature factory keeps its original selection. See the [registration and extension contract](../../docs/native-feature-registry.md).
30
32
 
31
- Deterministic OpenAPI request-node creation and explicit n8n DAG assembly with the official workflow SDK. Version `0.3.0` depends on matching core `0.3.0`.
33
+ Deterministic OpenAPI request-node creation and explicit n8n DAG assembly with the official workflow SDK. Version `0.3.2` depends on matching core `0.3.2`.
32
34
 
33
35
  ## Installed declaration dependencies
34
36
 
@@ -7,7 +7,13 @@ import { buildN8nWorkflow } from './build-n8n-workflow.js';
7
7
  import { validateCompiledBindingSources } from './validate-compiled-binding-sources.js';
8
8
  import { prepareNativeRuntimeInputs, assembleNativeRuntimeInputs, } from './inputs/compile-native-runtime-inputs.js';
9
9
  export function compileReviewableN8nWorkflow(input) {
10
- validateReviewableWorkflowGraphPlan(input);
10
+ // This legacy executable-fragment path does not own deferred API input slots.
11
+ // Only the canonical template compiler may install their preflight/materialization nodes.
12
+ validateReviewableWorkflowGraphPlan({
13
+ materials: input.materials,
14
+ capabilities: input.capabilities,
15
+ plan: input.plan,
16
+ });
11
17
  const blocked = new Set(input.plan.blockedCalls.map((item) => item.callId));
12
18
  const ready = input.materials.filter((item) => item.status === 'ready' && !blocked.has(item.arguments.callId));
13
19
  const expected = ready.map((item) => item.arguments.callId).sort();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-flow/n8n",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "Deterministic OpenAPI request nodes and n8n workflow assembly",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@n8n/config": "2.41.2",
32
32
  "@n8n/workflow-sdk": "0.36.4",
33
- "@openapi-flow/core": "0.3.0",
33
+ "@openapi-flow/core": "0.3.2",
34
34
  "@sentry/node": "10.70.0",
35
35
  "@types/estree": "1.0.8",
36
36
  "@types/express": "5.0.1",