chore: add pre-built dist folder for npx usage

This commit is contained in:
thesved
2025-12-04 20:22:02 +02:00
committed by Romuald Członkowski
parent a70d96a373
commit 5057481e70
716 changed files with 48021 additions and 0 deletions

41
dist/types/index.d.ts vendored Normal file
View File

@@ -0,0 +1,41 @@
export * from './node-types';
export * from './type-structures';
export * from './instance-context';
export * from './session-state';
export interface MCPServerConfig {
port: number;
host: string;
authToken?: string;
}
export interface ToolDefinition {
name: string;
description: string;
inputSchema: {
type: string;
properties: Record<string, any>;
required?: string[];
additionalProperties?: boolean | Record<string, any>;
};
outputSchema?: {
type: string;
properties: Record<string, any>;
required?: string[];
additionalProperties?: boolean | Record<string, any>;
};
}
export interface ResourceDefinition {
uri: string;
name: string;
description?: string;
mimeType?: string;
}
export interface PromptDefinition {
name: string;
description?: string;
arguments?: Array<{
name: string;
description?: string;
required?: boolean;
}>;
}
//# sourceMappingURL=index.d.ts.map

1
dist/types/index.d.ts.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtD,CAAC;IACF,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtD,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ"}

21
dist/types/index.js vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./node-types"), exports);
__exportStar(require("./type-structures"), exports);
__exportStar(require("./instance-context"), exports);
__exportStar(require("./session-state"), exports);
//# sourceMappingURL=index.js.map

1
dist/types/index.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAC7B,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC"}

15
dist/types/instance-context.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
export interface InstanceContext {
n8nApiUrl?: string;
n8nApiKey?: string;
n8nApiTimeout?: number;
n8nApiMaxRetries?: number;
instanceId?: string;
sessionId?: string;
metadata?: Record<string, any>;
}
export declare function isInstanceContext(obj: any): obj is InstanceContext;
export declare function validateInstanceContext(context: InstanceContext): {
valid: boolean;
errors?: string[];
};
//# sourceMappingURL=instance-context.d.ts.map

1
dist/types/instance-context.d.ts.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"instance-context.d.ts","sourceRoot":"","sources":["../../src/types/instance-context.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAK9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAM1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAsED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,eAAe,CAuBlE;AAMD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG;IACjE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAgEA"}

127
dist/types/instance-context.js vendored Normal file
View File

@@ -0,0 +1,127 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isInstanceContext = isInstanceContext;
exports.validateInstanceContext = validateInstanceContext;
function isValidUrl(url) {
try {
const parsed = new URL(url);
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
return false;
}
if (!parsed.hostname || parsed.hostname.length === 0) {
return false;
}
if (parsed.port && (isNaN(Number(parsed.port)) || Number(parsed.port) < 1 || Number(parsed.port) > 65535)) {
return false;
}
const hostname = parsed.hostname.toLowerCase();
if (hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1') {
return true;
}
const ipv4Pattern = /^(\d{1,3}\.){3}\d{1,3}$/;
if (ipv4Pattern.test(hostname)) {
const parts = hostname.split('.');
return parts.every(part => {
const num = parseInt(part, 10);
return num >= 0 && num <= 255;
});
}
if (hostname.includes(':') || hostname.startsWith('[') && hostname.endsWith(']')) {
return true;
}
const domainPattern = /^([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.)*[a-zA-Z]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
return domainPattern.test(hostname);
}
catch {
return false;
}
}
function isValidApiKey(key) {
return key.length > 0 &&
!key.toLowerCase().includes('your_api_key') &&
!key.toLowerCase().includes('placeholder') &&
!key.toLowerCase().includes('example');
}
function isInstanceContext(obj) {
if (!obj || typeof obj !== 'object')
return false;
const hasValidUrl = obj.n8nApiUrl === undefined ||
(typeof obj.n8nApiUrl === 'string' && isValidUrl(obj.n8nApiUrl));
const hasValidKey = obj.n8nApiKey === undefined ||
(typeof obj.n8nApiKey === 'string' && isValidApiKey(obj.n8nApiKey));
const hasValidTimeout = obj.n8nApiTimeout === undefined ||
(typeof obj.n8nApiTimeout === 'number' && obj.n8nApiTimeout > 0);
const hasValidRetries = obj.n8nApiMaxRetries === undefined ||
(typeof obj.n8nApiMaxRetries === 'number' && obj.n8nApiMaxRetries >= 0);
const hasValidInstanceId = obj.instanceId === undefined || typeof obj.instanceId === 'string';
const hasValidSessionId = obj.sessionId === undefined || typeof obj.sessionId === 'string';
const hasValidMetadata = obj.metadata === undefined ||
(typeof obj.metadata === 'object' && obj.metadata !== null);
return hasValidUrl && hasValidKey && hasValidTimeout && hasValidRetries &&
hasValidInstanceId && hasValidSessionId && hasValidMetadata;
}
function validateInstanceContext(context) {
const errors = [];
if (context.n8nApiUrl !== undefined) {
if (context.n8nApiUrl === '') {
errors.push(`Invalid n8nApiUrl: empty string - URL is required when field is provided`);
}
else if (!isValidUrl(context.n8nApiUrl)) {
try {
const parsed = new URL(context.n8nApiUrl);
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
errors.push(`Invalid n8nApiUrl: URL must use HTTP or HTTPS protocol, got ${parsed.protocol}`);
}
}
catch {
errors.push(`Invalid n8nApiUrl: URL format is malformed or incomplete`);
}
}
}
if (context.n8nApiKey !== undefined) {
if (context.n8nApiKey === '') {
errors.push(`Invalid n8nApiKey: empty string - API key is required when field is provided`);
}
else if (!isValidApiKey(context.n8nApiKey)) {
if (context.n8nApiKey.toLowerCase().includes('your_api_key')) {
errors.push(`Invalid n8nApiKey: contains placeholder 'your_api_key' - Please provide actual API key`);
}
else if (context.n8nApiKey.toLowerCase().includes('placeholder')) {
errors.push(`Invalid n8nApiKey: contains placeholder text - Please provide actual API key`);
}
else if (context.n8nApiKey.toLowerCase().includes('example')) {
errors.push(`Invalid n8nApiKey: contains example text - Please provide actual API key`);
}
else {
errors.push(`Invalid n8nApiKey: format validation failed - Ensure key is valid`);
}
}
}
if (context.n8nApiTimeout !== undefined) {
if (typeof context.n8nApiTimeout !== 'number') {
errors.push(`Invalid n8nApiTimeout: ${context.n8nApiTimeout} - Must be a number, got ${typeof context.n8nApiTimeout}`);
}
else if (context.n8nApiTimeout <= 0) {
errors.push(`Invalid n8nApiTimeout: ${context.n8nApiTimeout} - Must be positive (greater than 0)`);
}
else if (!isFinite(context.n8nApiTimeout)) {
errors.push(`Invalid n8nApiTimeout: ${context.n8nApiTimeout} - Must be a finite number (not Infinity or NaN)`);
}
}
if (context.n8nApiMaxRetries !== undefined) {
if (typeof context.n8nApiMaxRetries !== 'number') {
errors.push(`Invalid n8nApiMaxRetries: ${context.n8nApiMaxRetries} - Must be a number, got ${typeof context.n8nApiMaxRetries}`);
}
else if (context.n8nApiMaxRetries < 0) {
errors.push(`Invalid n8nApiMaxRetries: ${context.n8nApiMaxRetries} - Must be non-negative (0 or greater)`);
}
else if (!isFinite(context.n8nApiMaxRetries)) {
errors.push(`Invalid n8nApiMaxRetries: ${context.n8nApiMaxRetries} - Must be a finite number (not Infinity or NaN)`);
}
}
return {
valid: errors.length === 0,
errors: errors.length > 0 ? errors : undefined
};
}
//# sourceMappingURL=instance-context.js.map

1
dist/types/instance-context.js.map vendored Normal file

File diff suppressed because one or more lines are too long

336
dist/types/n8n-api.d.ts vendored Normal file
View File

@@ -0,0 +1,336 @@
export interface ResourceLocatorValue {
__rl: true;
value: string;
mode: 'id' | 'url' | 'expression' | string;
}
export type ExpressionValue = string | ResourceLocatorValue;
export interface WorkflowNode {
id: string;
name: string;
type: string;
typeVersion: number;
position: [number, number];
parameters: Record<string, unknown>;
credentials?: Record<string, unknown>;
disabled?: boolean;
notes?: string;
notesInFlow?: boolean;
continueOnFail?: boolean;
onError?: 'continueRegularOutput' | 'continueErrorOutput' | 'stopWorkflow';
retryOnFail?: boolean;
maxTries?: number;
waitBetweenTries?: number;
alwaysOutputData?: boolean;
executeOnce?: boolean;
webhookId?: string;
}
export interface WorkflowConnection {
[sourceNodeId: string]: {
[outputType: string]: Array<Array<{
node: string;
type: string;
index: number;
}>>;
};
}
export interface WorkflowSettings {
executionOrder?: 'v0' | 'v1';
timezone?: string;
saveDataErrorExecution?: 'all' | 'none';
saveDataSuccessExecution?: 'all' | 'none';
saveManualExecutions?: boolean;
saveExecutionProgress?: boolean;
executionTimeout?: number;
errorWorkflow?: string;
}
export interface Workflow {
id?: string;
name: string;
description?: string;
nodes: WorkflowNode[];
connections: WorkflowConnection;
active?: boolean;
isArchived?: boolean;
settings?: WorkflowSettings;
staticData?: Record<string, unknown>;
tags?: string[];
updatedAt?: string;
createdAt?: string;
versionId?: string;
versionCounter?: number;
meta?: {
instanceId?: string;
};
}
export declare enum ExecutionStatus {
SUCCESS = "success",
ERROR = "error",
WAITING = "waiting"
}
export interface ExecutionSummary {
id: string;
finished: boolean;
mode: string;
retryOf?: string;
retrySuccessId?: string;
status: ExecutionStatus;
startedAt: string;
stoppedAt?: string;
workflowId: string;
workflowName?: string;
waitTill?: string;
}
export interface ExecutionData {
startData?: Record<string, unknown>;
resultData: {
runData: Record<string, unknown>;
lastNodeExecuted?: string;
error?: Record<string, unknown>;
};
executionData?: Record<string, unknown>;
}
export interface Execution extends ExecutionSummary {
data?: ExecutionData;
}
export interface Credential {
id?: string;
name: string;
type: string;
data?: Record<string, unknown>;
nodesAccess?: Array<{
nodeType: string;
date?: string;
}>;
createdAt?: string;
updatedAt?: string;
}
export interface Tag {
id?: string;
name: string;
workflowIds?: string[];
createdAt?: string;
updatedAt?: string;
}
export interface Variable {
id?: string;
key: string;
value: string;
type?: 'string';
}
export interface WorkflowExport {
id: string;
name: string;
active: boolean;
createdAt: string;
updatedAt: string;
nodes: WorkflowNode[];
connections: WorkflowConnection;
settings?: WorkflowSettings;
staticData?: Record<string, unknown>;
tags?: string[];
pinData?: Record<string, unknown>;
versionId?: string;
versionCounter?: number;
meta?: Record<string, unknown>;
}
export interface WorkflowImport {
name: string;
nodes: WorkflowNode[];
connections: WorkflowConnection;
settings?: WorkflowSettings;
staticData?: Record<string, unknown>;
tags?: string[];
pinData?: Record<string, unknown>;
}
export interface SourceControlStatus {
ahead: number;
behind: number;
conflicted: string[];
created: string[];
current: string;
deleted: string[];
detached: boolean;
files: Array<{
path: string;
status: string;
}>;
modified: string[];
notAdded: string[];
renamed: Array<{
from: string;
to: string;
}>;
staged: string[];
tracking: string;
}
export interface SourceControlPullResult {
conflicts: string[];
files: Array<{
path: string;
status: string;
}>;
mergeConflicts: boolean;
pullResult: 'success' | 'conflict' | 'error';
}
export interface SourceControlPushResult {
ahead: number;
conflicts: string[];
files: Array<{
path: string;
status: string;
}>;
pushResult: 'success' | 'conflict' | 'error';
}
export interface HealthCheckResponse {
status: 'ok' | 'error';
instanceId?: string;
n8nVersion?: string;
features?: {
sourceControl?: boolean;
externalHooks?: boolean;
workers?: boolean;
[key: string]: boolean | undefined;
};
}
export interface N8nVersionInfo {
version: string;
major: number;
minor: number;
patch: number;
}
export interface N8nSettingsData {
n8nVersion?: string;
versionCli?: string;
instanceId?: string;
[key: string]: unknown;
}
export interface N8nSettingsResponse {
data?: N8nSettingsData;
}
export interface WorkflowListParams {
limit?: number;
cursor?: string;
active?: boolean;
tags?: string | null;
projectId?: string;
excludePinnedData?: boolean;
instance?: string;
}
export interface WorkflowListResponse {
data: Workflow[];
nextCursor?: string | null;
}
export interface ExecutionListParams {
limit?: number;
cursor?: string;
workflowId?: string;
projectId?: string;
status?: ExecutionStatus;
includeData?: boolean;
}
export interface ExecutionListResponse {
data: Execution[];
nextCursor?: string | null;
}
export interface CredentialListParams {
limit?: number;
cursor?: string;
filter?: Record<string, unknown>;
}
export interface CredentialListResponse {
data: Credential[];
nextCursor?: string | null;
}
export interface TagListParams {
limit?: number;
cursor?: string;
withUsageCount?: boolean;
}
export interface TagListResponse {
data: Tag[];
nextCursor?: string | null;
}
export interface WebhookRequest {
webhookUrl: string;
httpMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';
data?: Record<string, unknown>;
headers?: Record<string, string>;
waitForResponse?: boolean;
}
export interface McpToolResponse {
success: boolean;
data?: unknown;
error?: string;
message?: string;
code?: string;
details?: Record<string, unknown>;
executionId?: string;
workflowId?: string;
}
export type ExecutionMode = 'preview' | 'summary' | 'filtered' | 'full';
export interface ExecutionPreview {
totalNodes: number;
executedNodes: number;
estimatedSizeKB: number;
nodes: Record<string, NodePreview>;
}
export interface NodePreview {
status: 'success' | 'error';
itemCounts: {
input: number;
output: number;
};
dataStructure: Record<string, any>;
estimatedSizeKB: number;
error?: string;
}
export interface ExecutionRecommendation {
canFetchFull: boolean;
suggestedMode: ExecutionMode;
suggestedItemsLimit?: number;
reason: string;
}
export interface ExecutionFilterOptions {
mode?: ExecutionMode;
nodeNames?: string[];
itemsLimit?: number;
includeInputData?: boolean;
fieldsToInclude?: string[];
}
export interface FilteredExecutionResponse {
id: string;
workflowId: string;
status: ExecutionStatus;
mode: ExecutionMode;
startedAt: string;
stoppedAt?: string;
duration?: number;
finished: boolean;
preview?: ExecutionPreview;
recommendation?: ExecutionRecommendation;
summary?: {
totalNodes: number;
executedNodes: number;
totalItems: number;
hasMoreData: boolean;
};
nodes?: Record<string, FilteredNodeData>;
error?: Record<string, unknown>;
}
export interface FilteredNodeData {
executionTime?: number;
itemsInput: number;
itemsOutput: number;
status: 'success' | 'error';
error?: string;
data?: {
input?: any[][];
output?: any[][];
metadata: {
totalItems: number;
itemsShown: number;
truncated: boolean;
};
};
}
//# sourceMappingURL=n8n-api.d.ts.map

1
dist/types/n8n-api.d.ts.map vendored Normal file

File diff suppressed because one or more lines are too long

10
dist/types/n8n-api.js vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExecutionStatus = void 0;
var ExecutionStatus;
(function (ExecutionStatus) {
ExecutionStatus["SUCCESS"] = "success";
ExecutionStatus["ERROR"] = "error";
ExecutionStatus["WAITING"] = "waiting";
})(ExecutionStatus || (exports.ExecutionStatus = ExecutionStatus = {}));
//# sourceMappingURL=n8n-api.js.map

1
dist/types/n8n-api.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"n8n-api.js","sourceRoot":"","sources":["../../src/types/n8n-api.ts"],"names":[],"mappings":";;;AA6EA,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,kCAAe,CAAA;IACf,sCAAmB,CAAA;AAErB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B"}

19
dist/types/node-types.d.ts vendored Normal file
View File

@@ -0,0 +1,19 @@
import type { IVersionedNodeType, INodeType, INodeTypeBaseDescription, INodeTypeDescription } from 'n8n-workflow';
export type NodeClass = (new () => INodeType) | (new () => IVersionedNodeType) | INodeType | IVersionedNodeType;
export interface VersionedNodeInstance extends IVersionedNodeType {
currentVersion: number;
description: INodeTypeBaseDescription;
nodeVersions: {
[version: number]: INodeType;
};
}
export interface RegularNodeInstance extends INodeType {
description: INodeTypeDescription;
}
export type NodeInstance = VersionedNodeInstance | RegularNodeInstance;
export declare function isVersionedNodeInstance(node: any): node is VersionedNodeInstance;
export declare function isVersionedNodeClass(nodeClass: any): boolean;
export declare function instantiateNode(nodeClass: NodeClass): NodeInstance | null;
export declare function getNodeInstance(nodeClass: NodeClass): NodeInstance | undefined;
export declare function getNodeDescription(nodeClass: NodeClass): INodeTypeBaseDescription | INodeTypeDescription;
//# sourceMappingURL=node-types.d.ts.map

1
dist/types/node-types.d.ts.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"node-types.d.ts","sourceRoot":"","sources":["../../src/types/node-types.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,SAAS,GACjB,CAAC,UAAU,SAAS,CAAC,GACrB,CAAC,UAAU,kBAAkB,CAAC,GAC9B,SAAS,GACT,kBAAkB,CAAC;AAoBvB,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,wBAAwB,CAAC;IACtC,YAAY,EAAE;QACZ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;CACH;AAQD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,WAAW,EAAE,oBAAoB,CAAC;CACnC;AAOD,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAqBvE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,qBAAqB,CAShF;AAkBD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAK5D;AAsBD,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAWzE;AAUD,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAG9E;AAUD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,GACnB,wBAAwB,GAAG,oBAAoB,CAkCjD"}

62
dist/types/node-types.js vendored Normal file
View File

@@ -0,0 +1,62 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isVersionedNodeInstance = isVersionedNodeInstance;
exports.isVersionedNodeClass = isVersionedNodeClass;
exports.instantiateNode = instantiateNode;
exports.getNodeInstance = getNodeInstance;
exports.getNodeDescription = getNodeDescription;
function isVersionedNodeInstance(node) {
return (node !== null &&
typeof node === 'object' &&
'nodeVersions' in node &&
'currentVersion' in node &&
'description' in node &&
typeof node.currentVersion === 'number');
}
function isVersionedNodeClass(nodeClass) {
return (typeof nodeClass === 'function' &&
nodeClass.prototype?.constructor?.name === 'VersionedNodeType');
}
function instantiateNode(nodeClass) {
try {
if (typeof nodeClass === 'function') {
return new nodeClass();
}
return nodeClass;
}
catch (e) {
return null;
}
}
function getNodeInstance(nodeClass) {
const instance = instantiateNode(nodeClass);
return instance ?? undefined;
}
function getNodeDescription(nodeClass) {
try {
const instance = instantiateNode(nodeClass);
if (instance) {
if (isVersionedNodeInstance(instance)) {
return instance.description;
}
return instance.description;
}
}
catch (e) {
}
if (typeof nodeClass === 'object' && 'description' in nodeClass) {
return nodeClass.description;
}
return {
displayName: '',
name: '',
group: [],
description: '',
version: 1,
defaults: { name: '', color: '' },
inputs: [],
outputs: [],
properties: []
};
}
//# sourceMappingURL=node-types.js.map

1
dist/types/node-types.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"node-types.js","sourceRoot":"","sources":["../../src/types/node-types.ts"],"names":[],"mappings":";;AA+FA,0DASC;AAkBD,oDAKC;AAsBD,0CAWC;AAUD,0CAGC;AAUD,gDAoCC;AA5HD,SAAgB,uBAAuB,CAAC,IAAS;IAC/C,OAAO,CACL,IAAI,KAAK,IAAI;QACb,OAAO,IAAI,KAAK,QAAQ;QACxB,cAAc,IAAI,IAAI;QACtB,gBAAgB,IAAI,IAAI;QACxB,aAAa,IAAI,IAAI;QACrB,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAkBD,SAAgB,oBAAoB,CAAC,SAAc;IACjD,OAAO,CACL,OAAO,SAAS,KAAK,UAAU;QAC/B,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,KAAK,mBAAmB,CAC/D,CAAC;AACJ,CAAC;AAsBD,SAAgB,eAAe,CAAC,SAAoB;IAClD,IAAI,CAAC;QACH,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAEX,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAUD,SAAgB,eAAe,CAAC,SAAoB;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,QAAQ,IAAI,SAAS,CAAC;AAC/B,CAAC;AAUD,SAAgB,kBAAkB,CAChC,SAAoB;IAGpB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,QAAQ,EAAE,CAAC;YAEb,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,OAAO,QAAQ,CAAC,WAAW,CAAC;YAC9B,CAAC;YAED,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;IAEb,CAAC;IAGD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC,WAAW,CAAC;IAC/B,CAAC;IAGD,OAAO;QACL,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACjC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACR,CAAC;AACX,CAAC"}

15
dist/types/session-state.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
export interface SessionState {
sessionId: string;
metadata: {
createdAt: string;
lastAccess: string;
};
context: {
n8nApiUrl: string;
n8nApiKey: string;
instanceId?: string;
sessionId?: string;
metadata?: Record<string, any>;
};
}
//# sourceMappingURL=session-state.d.ts.map

1
dist/types/session-state.d.ts.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/types/session-state.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,YAAY;IAK3B,SAAS,EAAE,MAAM,CAAC;IAKlB,QAAQ,EAAE;QAKR,SAAS,EAAE,MAAM,CAAC;QAMlB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAWF,OAAO,EAAE;QAKP,SAAS,EAAE,MAAM,CAAC;QAMlB,SAAS,EAAE,MAAM,CAAC;QAMlB,UAAU,CAAC,EAAE,MAAM,CAAC;QAMpB,SAAS,CAAC,EAAE,MAAM,CAAC;QAMnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC;CACH"}

3
dist/types/session-state.js vendored Normal file
View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=session-state.js.map

1
dist/types/session-state.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/types/session-state.ts"],"names":[],"mappings":""}

42
dist/types/type-structures.d.ts vendored Normal file
View File

@@ -0,0 +1,42 @@
import type { NodePropertyTypes } from 'n8n-workflow';
export interface TypeStructure {
type: 'primitive' | 'object' | 'array' | 'collection' | 'special';
jsType: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'any';
description: string;
structure?: {
properties?: Record<string, TypePropertyDefinition>;
items?: TypePropertyDefinition;
flexible?: boolean;
required?: string[];
};
example: any;
examples?: any[];
validation?: {
allowEmpty?: boolean;
allowExpressions?: boolean;
min?: number;
max?: number;
pattern?: string;
customValidator?: string;
};
introducedIn?: string;
deprecatedIn?: string;
replacedBy?: NodePropertyTypes;
notes?: string[];
}
export interface TypePropertyDefinition {
type: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'any';
description?: string;
required?: boolean;
properties?: Record<string, TypePropertyDefinition>;
items?: TypePropertyDefinition;
example?: any;
enum?: Array<string | number | boolean>;
flexible?: boolean;
}
export type ComplexPropertyType = 'collection' | 'fixedCollection' | 'resourceLocator' | 'resourceMapper' | 'filter' | 'assignmentCollection';
export type PrimitivePropertyType = 'string' | 'number' | 'boolean' | 'dateTime' | 'color' | 'json';
export declare function isComplexType(type: NodePropertyTypes): type is ComplexPropertyType;
export declare function isPrimitiveType(type: NodePropertyTypes): type is PrimitivePropertyType;
export declare function isTypeStructure(value: any): value is TypeStructure;
//# sourceMappingURL=type-structures.d.ts.map

1
dist/types/type-structures.d.ts.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"type-structures.d.ts","sourceRoot":"","sources":["../../src/types/type-structures.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAwBtD,MAAM,WAAW,aAAa;IAS7B,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IAKlE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IAKrE,WAAW,EAAE,MAAM,CAAC;IAMpB,SAAS,CAAC,EAAE;QAIX,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAKpD,KAAK,CAAC,EAAE,sBAAsB,CAAC;QAK/B,QAAQ,CAAC,EAAE,OAAO,CAAC;QAKnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAKF,OAAO,EAAE,GAAG,CAAC;IAKb,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IAKjB,UAAU,CAAC,EAAE;QAIZ,UAAU,CAAC,EAAE,OAAO,CAAC;QAKrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAK3B,GAAG,CAAC,EAAE,MAAM,CAAC;QAKb,GAAG,CAAC,EAAE,MAAM,CAAC;QAKb,OAAO,CAAC,EAAE,MAAM,CAAC;QAKjB,eAAe,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IAKF,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAK/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAKD,MAAM,WAAW,sBAAsB;IAItC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IAKnE,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAKpD,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAK/B,OAAO,CAAC,EAAE,GAAG,CAAC;IAKd,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAKxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,MAAM,MAAM,mBAAmB,GAC5B,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,QAAQ,GACR,sBAAsB,CAAC;AAQ1B,MAAM,MAAM,qBAAqB,GAC9B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,OAAO,GACP,MAAM,CAAC;AAkBV,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,IAAI,mBAAmB,CASlF;AAkBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,IAAI,qBAAqB,CAStF;AAgBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,aAAa,CAWlE"}

32
dist/types/type-structures.js vendored Normal file
View File

@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isComplexType = isComplexType;
exports.isPrimitiveType = isPrimitiveType;
exports.isTypeStructure = isTypeStructure;
function isComplexType(type) {
return (type === 'collection' ||
type === 'fixedCollection' ||
type === 'resourceLocator' ||
type === 'resourceMapper' ||
type === 'filter' ||
type === 'assignmentCollection');
}
function isPrimitiveType(type) {
return (type === 'string' ||
type === 'number' ||
type === 'boolean' ||
type === 'dateTime' ||
type === 'color' ||
type === 'json');
}
function isTypeStructure(value) {
return (value !== null &&
typeof value === 'object' &&
'type' in value &&
'jsType' in value &&
'description' in value &&
'example' in value &&
['primitive', 'object', 'array', 'collection', 'special'].includes(value.type) &&
['string', 'number', 'boolean', 'object', 'array', 'any'].includes(value.jsType));
}
//# sourceMappingURL=type-structures.js.map

1
dist/types/type-structures.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"type-structures.js","sourceRoot":"","sources":["../../src/types/type-structures.ts"],"names":[],"mappings":";;AA6OA,sCASC;AAkBD,0CASC;AAgBD,0CAWC;AA/DD,SAAgB,aAAa,CAAC,IAAuB;IACpD,OAAO,CACN,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,iBAAiB;QAC1B,IAAI,KAAK,iBAAiB;QAC1B,IAAI,KAAK,gBAAgB;QACzB,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,sBAAsB,CAC/B,CAAC;AACH,CAAC;AAkBD,SAAgB,eAAe,CAAC,IAAuB;IACtD,OAAO,CACN,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,MAAM,CACf,CAAC;AACH,CAAC;AAgBD,SAAgB,eAAe,CAAC,KAAU;IACzC,OAAO,CACN,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,QAAQ,IAAI,KAAK;QACjB,aAAa,IAAI,KAAK;QACtB,SAAS,IAAI,KAAK;QAClB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9E,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAChF,CAAC;AACH,CAAC"}

148
dist/types/workflow-diff.d.ts vendored Normal file
View File

@@ -0,0 +1,148 @@
import { WorkflowNode } from './n8n-api';
export interface DiffOperation {
type: string;
description?: string;
}
export interface AddNodeOperation extends DiffOperation {
type: 'addNode';
node: Partial<WorkflowNode> & {
name: string;
type: string;
position: [number, number];
};
}
export interface RemoveNodeOperation extends DiffOperation {
type: 'removeNode';
nodeId?: string;
nodeName?: string;
}
export interface UpdateNodeOperation extends DiffOperation {
type: 'updateNode';
nodeId?: string;
nodeName?: string;
updates: {
[path: string]: any;
};
}
export interface MoveNodeOperation extends DiffOperation {
type: 'moveNode';
nodeId?: string;
nodeName?: string;
position: [number, number];
}
export interface EnableNodeOperation extends DiffOperation {
type: 'enableNode';
nodeId?: string;
nodeName?: string;
}
export interface DisableNodeOperation extends DiffOperation {
type: 'disableNode';
nodeId?: string;
nodeName?: string;
}
export interface AddConnectionOperation extends DiffOperation {
type: 'addConnection';
source: string;
target: string;
sourceOutput?: string;
targetInput?: string;
sourceIndex?: number;
targetIndex?: number;
branch?: 'true' | 'false';
case?: number;
}
export interface RemoveConnectionOperation extends DiffOperation {
type: 'removeConnection';
source: string;
target: string;
sourceOutput?: string;
targetInput?: string;
ignoreErrors?: boolean;
}
export interface RewireConnectionOperation extends DiffOperation {
type: 'rewireConnection';
source: string;
from: string;
to: string;
sourceOutput?: string;
targetInput?: string;
sourceIndex?: number;
branch?: 'true' | 'false';
case?: number;
}
export interface UpdateSettingsOperation extends DiffOperation {
type: 'updateSettings';
settings: {
[key: string]: any;
};
}
export interface UpdateNameOperation extends DiffOperation {
type: 'updateName';
name: string;
}
export interface AddTagOperation extends DiffOperation {
type: 'addTag';
tag: string;
}
export interface RemoveTagOperation extends DiffOperation {
type: 'removeTag';
tag: string;
}
export interface ActivateWorkflowOperation extends DiffOperation {
type: 'activateWorkflow';
}
export interface DeactivateWorkflowOperation extends DiffOperation {
type: 'deactivateWorkflow';
}
export interface CleanStaleConnectionsOperation extends DiffOperation {
type: 'cleanStaleConnections';
dryRun?: boolean;
}
export interface ReplaceConnectionsOperation extends DiffOperation {
type: 'replaceConnections';
connections: {
[nodeName: string]: {
[outputName: string]: Array<Array<{
node: string;
type: string;
index: number;
}>>;
};
};
}
export type WorkflowDiffOperation = AddNodeOperation | RemoveNodeOperation | UpdateNodeOperation | MoveNodeOperation | EnableNodeOperation | DisableNodeOperation | AddConnectionOperation | RemoveConnectionOperation | RewireConnectionOperation | UpdateSettingsOperation | UpdateNameOperation | AddTagOperation | RemoveTagOperation | ActivateWorkflowOperation | DeactivateWorkflowOperation | CleanStaleConnectionsOperation | ReplaceConnectionsOperation;
export interface WorkflowDiffRequest {
id: string;
operations: WorkflowDiffOperation[];
validateOnly?: boolean;
continueOnError?: boolean;
}
export interface WorkflowDiffValidationError {
operation: number;
message: string;
details?: any;
}
export interface WorkflowDiffResult {
success: boolean;
workflow?: any;
errors?: WorkflowDiffValidationError[];
warnings?: WorkflowDiffValidationError[];
operationsApplied?: number;
message?: string;
applied?: number[];
failed?: number[];
staleConnectionsRemoved?: Array<{
from: string;
to: string;
}>;
shouldActivate?: boolean;
shouldDeactivate?: boolean;
}
export interface NodeReference {
id?: string;
name?: string;
}
export declare function isNodeOperation(op: WorkflowDiffOperation): op is AddNodeOperation | RemoveNodeOperation | UpdateNodeOperation | MoveNodeOperation | EnableNodeOperation | DisableNodeOperation;
export declare function isConnectionOperation(op: WorkflowDiffOperation): op is AddConnectionOperation | RemoveConnectionOperation | RewireConnectionOperation | CleanStaleConnectionsOperation | ReplaceConnectionsOperation;
export declare function isMetadataOperation(op: WorkflowDiffOperation): op is UpdateSettingsOperation | UpdateNameOperation | AddTagOperation | RemoveTagOperation;
//# sourceMappingURL=workflow-diff.d.ts.map

1
dist/types/workflow-diff.d.ts.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"workflow-diff.d.ts","sourceRoot":"","sources":["../../src/types/workflow-diff.ts"],"names":[],"mappings":"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"}

15
dist/types/workflow-diff.js vendored Normal file
View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNodeOperation = isNodeOperation;
exports.isConnectionOperation = isConnectionOperation;
exports.isMetadataOperation = isMetadataOperation;
function isNodeOperation(op) {
return ['addNode', 'removeNode', 'updateNode', 'moveNode', 'enableNode', 'disableNode'].includes(op.type);
}
function isConnectionOperation(op) {
return ['addConnection', 'removeConnection', 'rewireConnection', 'cleanStaleConnections', 'replaceConnections'].includes(op.type);
}
function isMetadataOperation(op) {
return ['updateSettings', 'updateName', 'addTag', 'removeTag'].includes(op.type);
}
//# sourceMappingURL=workflow-diff.js.map

1
dist/types/workflow-diff.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"workflow-diff.js","sourceRoot":"","sources":["../../src/types/workflow-diff.ts"],"names":[],"mappings":";;AAyMA,0CAIC;AAED,sDAGC;AAED,kDAGC;AAdD,SAAgB,eAAe,CAAC,EAAyB;IAGvD,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC5G,CAAC;AAED,SAAgB,qBAAqB,CAAC,EAAyB;IAE7D,OAAO,CAAC,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACpI,CAAC;AAED,SAAgB,mBAAmB,CAAC,EAAyB;IAE3D,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC"}