@n8n/workflow-sdk 0.7.1 → 0.8.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/build.tsbuildinfo +1 -1
- package/dist/generate-types/index.d.ts +1 -0
- package/dist/generate-types/index.js +3 -1
- package/dist/generate-types/index.js.map +1 -1
- package/dist/generate-types/json-schema-from-data.d.ts +2 -0
- package/dist/generate-types/json-schema-from-data.js +35 -0
- package/dist/generate-types/json-schema-from-data.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/pin-data-utils.d.ts +10 -0
- package/dist/pin-data-utils.js +66 -0
- package/dist/pin-data-utils.js.map +1 -0
- package/package.json +4 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { type NodeProperty, type NodeTypeDescription, type DiscriminatorCombination, type DiscriminatorTree, type VersionGroup, type OutputSchema, type JsonSchema, type ConfigTypeInfo, type DiscriminatedUnionResult, mapPropertyType, extractDiscriminatorCombinations, getPropertiesForCombination, propertyAppliesToVersion, filterPropertiesForVersion, generateDiscriminatedUnion, buildDiscriminatorTree, generatePropertyJSDoc, generateNodeJSDoc, generatePropertyLine, groupVersionsByProperties, getHighestVersion, versionToTypeName, nodeNameToFileName, getPackageName, versionToFileName, generateSingleVersionTypeFile, generateVersionIndexFile, generateNodeTypeFile, generateIndexFile, hasDiscriminatorPattern, planSplitVersionFiles, extractOutputTypes, groupNodesByOutputType, generateSubnodeUnionTypes, generateSubnodesFile, getSubnodeOutputType, discoverSchemasForNode, jsonSchemaToTypeScript, findSchemaForOperation, loadNodeTypes, generateTypes, orchestrateGeneration, type GenerationOptions, type GenerationResult, } from './generate-types';
|
|
2
2
|
export { type SchemaGenerationResult, type SchemaInfo, mapPropertyToZodSchema, generateSchemaPropertyLine, generateSingleVersionSchemaFile, generateSchemaIndexFile, generateDiscriminatorSchemaFile, generateResourceIndexSchemaFile, generateSplitVersionIndexSchemaFile, planSplitVersionSchemaFiles, } from './generate-zod-schemas';
|
|
3
|
+
export { generateJsonSchemaFromData } from './json-schema-from-data';
|
|
3
4
|
export * from './zod-helpers';
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.planSplitVersionSchemaFiles = exports.generateSplitVersionIndexSchemaFile = exports.generateResourceIndexSchemaFile = exports.generateDiscriminatorSchemaFile = exports.generateSchemaIndexFile = exports.generateSingleVersionSchemaFile = exports.generateSchemaPropertyLine = exports.mapPropertyToZodSchema = exports.orchestrateGeneration = exports.generateTypes = exports.loadNodeTypes = exports.findSchemaForOperation = exports.jsonSchemaToTypeScript = exports.discoverSchemasForNode = exports.getSubnodeOutputType = exports.generateSubnodesFile = exports.generateSubnodeUnionTypes = exports.groupNodesByOutputType = exports.extractOutputTypes = exports.planSplitVersionFiles = exports.hasDiscriminatorPattern = exports.generateIndexFile = exports.generateNodeTypeFile = exports.generateVersionIndexFile = exports.generateSingleVersionTypeFile = exports.versionToFileName = exports.getPackageName = exports.nodeNameToFileName = exports.versionToTypeName = exports.getHighestVersion = exports.groupVersionsByProperties = exports.generatePropertyLine = exports.generateNodeJSDoc = exports.generatePropertyJSDoc = exports.buildDiscriminatorTree = exports.generateDiscriminatedUnion = exports.filterPropertiesForVersion = exports.propertyAppliesToVersion = exports.getPropertiesForCombination = exports.extractDiscriminatorCombinations = exports.mapPropertyType = void 0;
|
|
17
|
+
exports.generateJsonSchemaFromData = exports.planSplitVersionSchemaFiles = exports.generateSplitVersionIndexSchemaFile = exports.generateResourceIndexSchemaFile = exports.generateDiscriminatorSchemaFile = exports.generateSchemaIndexFile = exports.generateSingleVersionSchemaFile = exports.generateSchemaPropertyLine = exports.mapPropertyToZodSchema = exports.orchestrateGeneration = exports.generateTypes = exports.loadNodeTypes = exports.findSchemaForOperation = exports.jsonSchemaToTypeScript = exports.discoverSchemasForNode = exports.getSubnodeOutputType = exports.generateSubnodesFile = exports.generateSubnodeUnionTypes = exports.groupNodesByOutputType = exports.extractOutputTypes = exports.planSplitVersionFiles = exports.hasDiscriminatorPattern = exports.generateIndexFile = exports.generateNodeTypeFile = exports.generateVersionIndexFile = exports.generateSingleVersionTypeFile = exports.versionToFileName = exports.getPackageName = exports.nodeNameToFileName = exports.versionToTypeName = exports.getHighestVersion = exports.groupVersionsByProperties = exports.generatePropertyLine = exports.generateNodeJSDoc = exports.generatePropertyJSDoc = exports.buildDiscriminatorTree = exports.generateDiscriminatedUnion = exports.filterPropertiesForVersion = exports.propertyAppliesToVersion = exports.getPropertiesForCombination = exports.extractDiscriminatorCombinations = exports.mapPropertyType = void 0;
|
|
18
18
|
var generate_types_1 = require("./generate-types");
|
|
19
19
|
Object.defineProperty(exports, "mapPropertyType", { enumerable: true, get: function () { return generate_types_1.mapPropertyType; } });
|
|
20
20
|
Object.defineProperty(exports, "extractDiscriminatorCombinations", { enumerable: true, get: function () { return generate_types_1.extractDiscriminatorCombinations; } });
|
|
@@ -58,5 +58,7 @@ Object.defineProperty(exports, "generateDiscriminatorSchemaFile", { enumerable:
|
|
|
58
58
|
Object.defineProperty(exports, "generateResourceIndexSchemaFile", { enumerable: true, get: function () { return generate_zod_schemas_1.generateResourceIndexSchemaFile; } });
|
|
59
59
|
Object.defineProperty(exports, "generateSplitVersionIndexSchemaFile", { enumerable: true, get: function () { return generate_zod_schemas_1.generateSplitVersionIndexSchemaFile; } });
|
|
60
60
|
Object.defineProperty(exports, "planSplitVersionSchemaFiles", { enumerable: true, get: function () { return generate_zod_schemas_1.planSplitVersionSchemaFiles; } });
|
|
61
|
+
var json_schema_from_data_1 = require("./json-schema-from-data");
|
|
62
|
+
Object.defineProperty(exports, "generateJsonSchemaFromData", { enumerable: true, get: function () { return json_schema_from_data_1.generateJsonSchemaFromData; } });
|
|
61
63
|
__exportStar(require("./zod-helpers"), exports);
|
|
62
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generate-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOA,mDAqD0B;AAzCzB,iHAAA,eAAe,OAAA;AACf,kIAAA,gCAAgC,OAAA;AAChC,6HAAA,2BAA2B,OAAA;AAC3B,0HAAA,wBAAwB,OAAA;AACxB,4HAAA,0BAA0B,OAAA;AAC1B,4HAAA,0BAA0B,OAAA;AAC1B,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AACrB,mHAAA,iBAAiB,OAAA;AACjB,sHAAA,oBAAoB,OAAA;AACpB,2HAAA,yBAAyB,OAAA;AACzB,mHAAA,iBAAiB,OAAA;AACjB,mHAAA,iBAAiB,OAAA;AACjB,oHAAA,kBAAkB,OAAA;AAClB,gHAAA,cAAc,OAAA;AACd,mHAAA,iBAAiB,OAAA;AAEjB,+HAAA,6BAA6B,OAAA;AAC7B,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,mHAAA,iBAAiB,OAAA;AAEjB,yHAAA,uBAAuB,OAAA;AACvB,uHAAA,qBAAqB,OAAA;AAErB,oHAAA,kBAAkB,OAAA;AAClB,wHAAA,sBAAsB,OAAA;AACtB,2HAAA,yBAAyB,OAAA;AACzB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAEpB,wHAAA,sBAAsB,OAAA;AACtB,wHAAA,sBAAsB,OAAA;AACtB,wHAAA,sBAAsB,OAAA;AAEtB,+GAAA,aAAa,OAAA;AACb,+GAAA,aAAa,OAAA;AAEb,uHAAA,qBAAqB,OAAA;AAMtB,+DAegC;AAV/B,8HAAA,sBAAsB,OAAA;AACtB,kIAAA,0BAA0B,OAAA;AAE1B,uIAAA,+BAA+B,OAAA;AAC/B,+HAAA,uBAAuB,OAAA;AAEvB,uIAAA,+BAA+B,OAAA;AAC/B,uIAAA,+BAA+B,OAAA;AAC/B,2IAAA,mCAAmC,OAAA;AACnC,mIAAA,2BAA2B,OAAA;AAI5B,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generate-types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAOA,mDAqD0B;AAzCzB,iHAAA,eAAe,OAAA;AACf,kIAAA,gCAAgC,OAAA;AAChC,6HAAA,2BAA2B,OAAA;AAC3B,0HAAA,wBAAwB,OAAA;AACxB,4HAAA,0BAA0B,OAAA;AAC1B,4HAAA,0BAA0B,OAAA;AAC1B,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AACrB,mHAAA,iBAAiB,OAAA;AACjB,sHAAA,oBAAoB,OAAA;AACpB,2HAAA,yBAAyB,OAAA;AACzB,mHAAA,iBAAiB,OAAA;AACjB,mHAAA,iBAAiB,OAAA;AACjB,oHAAA,kBAAkB,OAAA;AAClB,gHAAA,cAAc,OAAA;AACd,mHAAA,iBAAiB,OAAA;AAEjB,+HAAA,6BAA6B,OAAA;AAC7B,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AACpB,mHAAA,iBAAiB,OAAA;AAEjB,yHAAA,uBAAuB,OAAA;AACvB,uHAAA,qBAAqB,OAAA;AAErB,oHAAA,kBAAkB,OAAA;AAClB,wHAAA,sBAAsB,OAAA;AACtB,2HAAA,yBAAyB,OAAA;AACzB,sHAAA,oBAAoB,OAAA;AACpB,sHAAA,oBAAoB,OAAA;AAEpB,wHAAA,sBAAsB,OAAA;AACtB,wHAAA,sBAAsB,OAAA;AACtB,wHAAA,sBAAsB,OAAA;AAEtB,+GAAA,aAAa,OAAA;AACb,+GAAA,aAAa,OAAA;AAEb,uHAAA,qBAAqB,OAAA;AAMtB,+DAegC;AAV/B,8HAAA,sBAAsB,OAAA;AACtB,kIAAA,0BAA0B,OAAA;AAE1B,uIAAA,+BAA+B,OAAA;AAC/B,+HAAA,uBAAuB,OAAA;AAEvB,uIAAA,+BAA+B,OAAA;AAC/B,uIAAA,+BAA+B,OAAA;AAC/B,2IAAA,mCAAmC,OAAA;AACnC,mIAAA,2BAA2B,OAAA;AAI5B,iEAAqE;AAA5D,mIAAA,0BAA0B,OAAA;AAGnC,gDAA8B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateJsonSchemaFromData = generateJsonSchemaFromData;
|
|
4
|
+
function generateJsonSchemaFromData(value) {
|
|
5
|
+
if (value === null || value === undefined) {
|
|
6
|
+
return { type: 'null' };
|
|
7
|
+
}
|
|
8
|
+
const type = typeof value;
|
|
9
|
+
if (type === 'string')
|
|
10
|
+
return { type: 'string' };
|
|
11
|
+
if (type === 'number')
|
|
12
|
+
return { type: 'number' };
|
|
13
|
+
if (type === 'boolean')
|
|
14
|
+
return { type: 'boolean' };
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
return {
|
|
17
|
+
type: 'array',
|
|
18
|
+
items: value.length > 0 ? generateJsonSchemaFromData(value[0]) : {},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (type === 'object') {
|
|
22
|
+
const properties = {};
|
|
23
|
+
for (const [key, propValue] of Object.entries(value)) {
|
|
24
|
+
properties[key] = generateJsonSchemaFromData(propValue);
|
|
25
|
+
}
|
|
26
|
+
const keys = Object.keys(properties);
|
|
27
|
+
return {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties,
|
|
30
|
+
...(keys.length > 0 && { required: keys }),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return { type: 'string' };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=json-schema-from-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-from-data.js","sourceRoot":"","sources":["../../src/generate-types/json-schema-from-data.ts"],"names":[],"mappings":";;AAiBA,gEAgCC;AAhCD,SAAgB,0BAA0B,CAAC,KAAc;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC;IAE1B,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACnE,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,UAAU,GAA+B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACjF,UAAU,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,OAAO;YACN,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC1C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,4 +17,5 @@ export { generateWorkflowCode } from './codegen/index';
|
|
|
17
17
|
export { parseWorkflowCode, parseWorkflowCodeToBuilder } from './codegen/parse-workflow-code';
|
|
18
18
|
export * from './generate-types';
|
|
19
19
|
export { PluginRegistry, pluginRegistry, registerDefaultPlugins, type ValidationIssue, type PluginContext, type MutablePluginContext, type ValidatorPlugin, type CompositeHandlerPlugin, type SerializerPlugin, } from './workflow-builder/plugins';
|
|
20
|
+
export { needsPinData, discoverOutputSchemaForNode, inferSchemasFromRunData, normalizePinData, type IsTriggerNodeFn, } from './pin-data-utils';
|
|
20
21
|
export { NODE_TYPES, type NodeTypeValue, isIfNodeType, isSwitchNodeType, isMergeNodeType, isStickyNoteType, isSplitInBatchesType, isHttpRequestType, isWebhookType, isDataTableType, } from './constants';
|
package/dist/index.js
CHANGED
|
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.isDataTableType = exports.isWebhookType = void 0;
|
|
17
|
+
exports.isSwitchNodeType = exports.isIfNodeType = exports.NODE_TYPES = exports.normalizePinData = exports.inferSchemasFromRunData = exports.discoverOutputSchemaForNode = exports.needsPinData = exports.registerDefaultPlugins = exports.pluginRegistry = exports.PluginRegistry = exports.parseWorkflowCodeToBuilder = exports.parseWorkflowCode = exports.generateWorkflowCode = exports.setSchemaBaseDirs = exports.ValidationWarning = exports.ValidationError = exports.validateWorkflow = exports.hasProperty = exports.getProperty = exports.isPlainObject = exports.runOnceForEachItem = exports.runOnceForAllItems = exports.createFromAIExpression = exports.expr = exports.isExpression = exports.parseExpression = exports.nextBatch = exports.splitInBatches = exports.fromAi = exports.textSplitter = exports.documentLoader = exports.retriever = exports.vectorStore = exports.embeddings = exports.embedding = exports.outputParser = exports.tool = exports.memory = exports.languageModel = exports.merge = exports.switchCase = exports.ifElse = exports.newCredential = exports.placeholder = exports.sticky = exports.trigger = exports.node = exports.workflow = exports.isNodeInstance = exports.isNodeChain = void 0;
|
|
18
|
+
exports.isDataTableType = exports.isWebhookType = exports.isHttpRequestType = exports.isSplitInBatchesType = exports.isStickyNoteType = exports.isMergeNodeType = void 0;
|
|
19
19
|
var base_1 = require("./types/base");
|
|
20
20
|
Object.defineProperty(exports, "isNodeChain", { enumerable: true, get: function () { return base_1.isNodeChain; } });
|
|
21
21
|
Object.defineProperty(exports, "isNodeInstance", { enumerable: true, get: function () { return base_1.isNodeInstance; } });
|
|
@@ -73,6 +73,11 @@ var plugins_1 = require("./workflow-builder/plugins");
|
|
|
73
73
|
Object.defineProperty(exports, "PluginRegistry", { enumerable: true, get: function () { return plugins_1.PluginRegistry; } });
|
|
74
74
|
Object.defineProperty(exports, "pluginRegistry", { enumerable: true, get: function () { return plugins_1.pluginRegistry; } });
|
|
75
75
|
Object.defineProperty(exports, "registerDefaultPlugins", { enumerable: true, get: function () { return plugins_1.registerDefaultPlugins; } });
|
|
76
|
+
var pin_data_utils_1 = require("./pin-data-utils");
|
|
77
|
+
Object.defineProperty(exports, "needsPinData", { enumerable: true, get: function () { return pin_data_utils_1.needsPinData; } });
|
|
78
|
+
Object.defineProperty(exports, "discoverOutputSchemaForNode", { enumerable: true, get: function () { return pin_data_utils_1.discoverOutputSchemaForNode; } });
|
|
79
|
+
Object.defineProperty(exports, "inferSchemasFromRunData", { enumerable: true, get: function () { return pin_data_utils_1.inferSchemasFromRunData; } });
|
|
80
|
+
Object.defineProperty(exports, "normalizePinData", { enumerable: true, get: function () { return pin_data_utils_1.normalizePinData; } });
|
|
76
81
|
var constants_1 = require("./constants");
|
|
77
82
|
Object.defineProperty(exports, "NODE_TYPES", { enumerable: true, get: function () { return constants_1.NODE_TYPES; } });
|
|
78
83
|
Object.defineProperty(exports, "isIfNodeType", { enumerable: true, get: function () { return constants_1.isIfNodeType; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA6EA,qCAA2D;AAAlD,mGAAA,WAAW,OAAA;AAAE,sGAAA,cAAc,OAAA;AAMpC,uDAA8C;AAArC,4GAAA,QAAQ,OAAA;AAGjB,8EASuD;AARtD,oGAAA,IAAI,OAAA;AACJ,uGAAA,OAAO,OAAA;AACP,sGAAA,MAAM,OAAA;AACN,2GAAA,WAAW,OAAA;AACX,6GAAA,aAAa,OAAA;AACb,sGAAA,MAAM,OAAA;AACN,0GAAA,UAAU,OAAA;AACV,qGAAA,KAAK,OAAA;AAON,sFAY2D;AAX1D,iHAAA,aAAa,OAAA;AACb,0GAAA,MAAM,OAAA;AACN,wGAAA,IAAI,OAAA;AACJ,gHAAA,YAAY,OAAA;AACZ,6GAAA,SAAS,OAAA;AACT,8GAAA,UAAU,OAAA;AACV,+GAAA,WAAW,OAAA;AACX,6GAAA,SAAS,OAAA;AACT,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,0GAAA,MAAM,OAAA;AAaP,8FAA2F;AAAlF,kHAAA,cAAc,OAAA;AAMvB,kFAAgF;AAAvE,uGAAA,SAAS,OAAA;AAGlB,2CAKsB;AAJrB,6GAAA,eAAe,OAAA;AACf,0GAAA,YAAY,OAAA;AACZ,kGAAA,IAAI,OAAA;AACJ,oHAAA,sBAAsB,OAAA;AAIvB,qDAA8E;AAArE,kHAAA,kBAAkB,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAG/C,mDAA8E;AAArE,4GAAA,aAAa,OAAA;AAAE,0GAAA,WAAW,OAAA;AAAE,0GAAA,WAAW,OAAA;AAGhD,2CAQsB;AAPrB,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AACf,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AAOlB,yCAAuD;AAA9C,6GAAA,oBAAoB,OAAA;AAC7B,qEAA8F;AAArF,wHAAA,iBAAiB,OAAA;AAAE,iIAAA,0BAA0B,OAAA;AAGtD,mDAAiC;AAGjC,sDAaoC;AAXnC,yGAAA,cAAc,OAAA;AACd,yGAAA,cAAc,OAAA;AAEd,iHAAA,sBAAsB,OAAA;AAWvB,yCAWqB;AAVpB,uGAAA,UAAU,OAAA;AAEV,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AACpB,8GAAA,iBAAiB,OAAA;AACjB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA6EA,qCAA2D;AAAlD,mGAAA,WAAW,OAAA;AAAE,sGAAA,cAAc,OAAA;AAMpC,uDAA8C;AAArC,4GAAA,QAAQ,OAAA;AAGjB,8EASuD;AARtD,oGAAA,IAAI,OAAA;AACJ,uGAAA,OAAO,OAAA;AACP,sGAAA,MAAM,OAAA;AACN,2GAAA,WAAW,OAAA;AACX,6GAAA,aAAa,OAAA;AACb,sGAAA,MAAM,OAAA;AACN,0GAAA,UAAU,OAAA;AACV,qGAAA,KAAK,OAAA;AAON,sFAY2D;AAX1D,iHAAA,aAAa,OAAA;AACb,0GAAA,MAAM,OAAA;AACN,wGAAA,IAAI,OAAA;AACJ,gHAAA,YAAY,OAAA;AACZ,6GAAA,SAAS,OAAA;AACT,8GAAA,UAAU,OAAA;AACV,+GAAA,WAAW,OAAA;AACX,6GAAA,SAAS,OAAA;AACT,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,0GAAA,MAAM,OAAA;AAaP,8FAA2F;AAAlF,kHAAA,cAAc,OAAA;AAMvB,kFAAgF;AAAvE,uGAAA,SAAS,OAAA;AAGlB,2CAKsB;AAJrB,6GAAA,eAAe,OAAA;AACf,0GAAA,YAAY,OAAA;AACZ,kGAAA,IAAI,OAAA;AACJ,oHAAA,sBAAsB,OAAA;AAIvB,qDAA8E;AAArE,kHAAA,kBAAkB,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAG/C,mDAA8E;AAArE,4GAAA,aAAa,OAAA;AAAE,0GAAA,WAAW,OAAA;AAAE,0GAAA,WAAW,OAAA;AAGhD,2CAQsB;AAPrB,8GAAA,gBAAgB,OAAA;AAChB,6GAAA,eAAe,OAAA;AACf,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AAOlB,yCAAuD;AAA9C,6GAAA,oBAAoB,OAAA;AAC7B,qEAA8F;AAArF,wHAAA,iBAAiB,OAAA;AAAE,iIAAA,0BAA0B,OAAA;AAGtD,mDAAiC;AAGjC,sDAaoC;AAXnC,yGAAA,cAAc,OAAA;AACd,yGAAA,cAAc,OAAA;AAEd,iHAAA,sBAAsB,OAAA;AAWvB,mDAM0B;AALzB,8GAAA,YAAY,OAAA;AACZ,6HAAA,2BAA2B,OAAA;AAC3B,yHAAA,uBAAuB,OAAA;AACvB,kHAAA,gBAAgB,OAAA;AAKjB,yCAWqB;AAVpB,uGAAA,UAAU,OAAA;AAEV,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AACpB,8GAAA,iBAAiB,OAAA;AACjB,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { INode, INodeExecutionData, IPinData } from 'n8n-workflow';
|
|
2
|
+
import { type JsonSchema } from './generate-types';
|
|
3
|
+
export type IsTriggerNodeFn = (node: INode) => boolean;
|
|
4
|
+
export declare function needsPinData(node: INode, isTriggerNode?: IsTriggerNodeFn): boolean;
|
|
5
|
+
export declare function discoverOutputSchemaForNode(nodeType: string, typeVersion: number, parameters?: {
|
|
6
|
+
resource?: string;
|
|
7
|
+
operation?: string;
|
|
8
|
+
}): JsonSchema | undefined;
|
|
9
|
+
export declare function inferSchemasFromRunData(runData: Record<string, INodeExecutionData[]>): Record<string, JsonSchema>;
|
|
10
|
+
export declare function normalizePinData(pinData: IPinData): IPinData;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.needsPinData = needsPinData;
|
|
4
|
+
exports.discoverOutputSchemaForNode = discoverOutputSchemaForNode;
|
|
5
|
+
exports.inferSchemasFromRunData = inferSchemasFromRunData;
|
|
6
|
+
exports.normalizePinData = normalizePinData;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
const generate_types_1 = require("./generate-types");
|
|
9
|
+
function needsPinData(node, isTriggerNode) {
|
|
10
|
+
if (isTriggerNode?.(node)) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
if (node.credentials && Object.keys(node.credentials).length > 0) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
if (node.type === n8n_workflow_1.HTTP_REQUEST_NODE_TYPE) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
function discoverOutputSchemaForNode(nodeType, typeVersion, parameters) {
|
|
22
|
+
if (!nodeType)
|
|
23
|
+
return undefined;
|
|
24
|
+
const version = typeof typeVersion === 'number' ? typeVersion : Number(typeVersion);
|
|
25
|
+
const schemas = (0, generate_types_1.discoverSchemasForNode)(nodeType, version);
|
|
26
|
+
if (schemas.length === 0)
|
|
27
|
+
return undefined;
|
|
28
|
+
const resource = parameters?.resource ?? '';
|
|
29
|
+
const operation = parameters?.operation ?? '';
|
|
30
|
+
if (resource || operation) {
|
|
31
|
+
const match = (0, generate_types_1.findSchemaForOperation)(schemas, resource, operation);
|
|
32
|
+
return match?.schema;
|
|
33
|
+
}
|
|
34
|
+
if (schemas.length === 1) {
|
|
35
|
+
return schemas[0].schema;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
function inferSchemasFromRunData(runData) {
|
|
40
|
+
const schemas = {};
|
|
41
|
+
for (const [nodeName, nodeData] of Object.entries(runData)) {
|
|
42
|
+
if (!nodeData?.[0])
|
|
43
|
+
continue;
|
|
44
|
+
const firstItem = nodeData[0].json;
|
|
45
|
+
if (!firstItem || Object.keys(firstItem).length === 0)
|
|
46
|
+
continue;
|
|
47
|
+
const schema = (0, generate_types_1.generateJsonSchemaFromData)(firstItem);
|
|
48
|
+
if (schema) {
|
|
49
|
+
schemas[nodeName] = schema;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return schemas;
|
|
53
|
+
}
|
|
54
|
+
function normalizePinData(pinData) {
|
|
55
|
+
const normalized = {};
|
|
56
|
+
for (const [nodeName, items] of Object.entries(pinData)) {
|
|
57
|
+
normalized[nodeName] = items.map((item) => {
|
|
58
|
+
if ('json' in item && typeof item.json === 'object' && item.json !== null) {
|
|
59
|
+
return item;
|
|
60
|
+
}
|
|
61
|
+
return { json: item };
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return normalized;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=pin-data-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin-data-utils.js","sourceRoot":"","sources":["../src/pin-data-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/workflow-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "TypeScript SDK for programmatically creating n8n workflows",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"types": "dist/index.d.ts",
|
|
25
25
|
"files": [
|
|
26
26
|
"dist/**/*",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
27
|
+
"LICENSE_EE.md",
|
|
28
|
+
"LICENSE.md"
|
|
29
29
|
],
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/adm-zip": "^0.5.7",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"acorn": "8.14.0",
|
|
38
38
|
"uuid": "10.0.0",
|
|
39
39
|
"zod": "3.25.67",
|
|
40
|
-
"n8n-workflow": "2.
|
|
40
|
+
"n8n-workflow": "2.15.0"
|
|
41
41
|
},
|
|
42
42
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
43
43
|
"homepage": "https://n8n.io",
|