@n8n/ai-workflow-builder 0.23.1 → 0.24.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/dist/ai-workflow-builder-agent.service.d.ts +12 -13
- package/dist/ai-workflow-builder-agent.service.js +94 -57
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/parameter-updater.js +2 -0
- package/dist/chains/parameter-updater.js.map +1 -1
- package/dist/session-manager.service.d.ts +15 -0
- package/dist/session-manager.service.js +74 -0
- package/dist/session-manager.service.js.map +1 -0
- package/dist/tools/add-node.tool.d.ts +3 -38
- package/dist/tools/add-node.tool.js +12 -5
- package/dist/tools/add-node.tool.js.map +1 -1
- package/dist/tools/builder-tools.d.ts +13 -0
- package/dist/tools/builder-tools.js +34 -0
- package/dist/tools/builder-tools.js.map +1 -0
- package/dist/tools/connect-nodes.tool.d.ts +3 -29
- package/dist/tools/connect-nodes.tool.js +8 -5
- package/dist/tools/connect-nodes.tool.js.map +1 -1
- package/dist/tools/get-node-parameter.tool.d.ts +3 -17
- package/dist/tools/get-node-parameter.tool.js +10 -5
- package/dist/tools/get-node-parameter.tool.js.map +1 -1
- package/dist/tools/node-details.tool.d.ts +5 -1
- package/dist/tools/node-details.tool.js +9 -5
- package/dist/tools/node-details.tool.js.map +1 -1
- package/dist/tools/node-search.tool.d.ts +5 -1
- package/dist/tools/node-search.tool.js +9 -5
- package/dist/tools/node-search.tool.js.map +1 -1
- package/dist/tools/prompts/main-agent.prompt.js +31 -13
- package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
- package/dist/tools/remove-node.tool.d.ts +3 -15
- package/dist/tools/remove-node.tool.js +9 -5
- package/dist/tools/remove-node.tool.js.map +1 -1
- package/dist/tools/update-node-parameters.tool.d.ts +3 -20
- package/dist/tools/update-node-parameters.tool.js +11 -7
- package/dist/tools/update-node-parameters.tool.js.map +1 -1
- package/dist/types/sessions.d.ts +8 -0
- package/dist/types/sessions.js +34 -0
- package/dist/types/sessions.js.map +1 -0
- package/dist/utils/stream-processor.d.ts +6 -3
- package/dist/utils/stream-processor.js +1 -1
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/workflow-builder-agent.d.ts +5 -10
- package/dist/workflow-builder-agent.js +17 -49
- package/dist/workflow-builder-agent.js.map +1 -1
- package/package.json +7 -7
|
@@ -64,6 +64,7 @@ const createParameterUpdaterChain = (llm, options, logger) => {
|
|
|
64
64
|
{
|
|
65
65
|
type: 'text',
|
|
66
66
|
text: systemPromptContent,
|
|
67
|
+
cache_control: { type: 'ephemeral' },
|
|
67
68
|
},
|
|
68
69
|
],
|
|
69
70
|
});
|
|
@@ -74,6 +75,7 @@ const createParameterUpdaterChain = (llm, options, logger) => {
|
|
|
74
75
|
{
|
|
75
76
|
type: 'text',
|
|
76
77
|
text: nodeDefinitionPrompt,
|
|
78
|
+
cache_control: { type: 'ephemeral' },
|
|
77
79
|
},
|
|
78
80
|
{
|
|
79
81
|
type: 'text',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-updater.js","sourceRoot":"","sources":["../../src/chains/parameter-updater.ts"],"names":[],"mappings":";;;AACA,uDAAyD;AACzD,qDAAyF;AAEzF,6BAAwB;AAExB,sCAA4C;AAE5C,yDAA2D;AAC3D,6DAAwE;AAE3D,QAAA,gBAAgB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACP,UAAU,EAAE,OAAC;SACX,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,CACR,4LAA4L,CAC5L;CACF,CAAC;KACD,QAAQ,CACR,+UAA+U,CAC/U,CAAC;AAEH,MAAM,oBAAoB,GAAG;;;;8BAIC,CAAC;AAE/B,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;mHAwBqF,CAAC;AAK7G,MAAM,2BAA2B,GAAG,CAC1C,GAAkB,EAClB,OAAgC,EAChC,MAAe,EACd,EAAE;IACH,IAAI,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,wBAAe,CAAC,0CAA0C,EAAE;YACrE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;IAGD,MAAM,mBAAmB,GAAG,6CAA4B,CAAC,iBAAiB,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,wBAAwB,EAAE,6CAA4B,CAAC,4BAA4B,CAClF,OAAO,CAAC,cAAc,CACtB;KACD,CAAC,CAAC;IAGH,MAAM,aAAa,GAAG,6CAA4B,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvF,MAAM,EAAE,KAAK,CAAC,mCAAmC,aAAa,SAAS,CAAC,CAAC;IAGzE,MAAM,YAAY,GAAG,IAAI,wBAAa,CAAC;QACtC,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"parameter-updater.js","sourceRoot":"","sources":["../../src/chains/parameter-updater.ts"],"names":[],"mappings":";;;AACA,uDAAyD;AACzD,qDAAyF;AAEzF,6BAAwB;AAExB,sCAA4C;AAE5C,yDAA2D;AAC3D,6DAAwE;AAE3D,QAAA,gBAAgB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACP,UAAU,EAAE,OAAC;SACX,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,CACR,4LAA4L,CAC5L;CACF,CAAC;KACD,QAAQ,CACR,+UAA+U,CAC/U,CAAC;AAEH,MAAM,oBAAoB,GAAG;;;;8BAIC,CAAC;AAE/B,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;mHAwBqF,CAAC;AAK7G,MAAM,2BAA2B,GAAG,CAC1C,GAAkB,EAClB,OAAgC,EAChC,MAAe,EACd,EAAE;IACH,IAAI,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,wBAAe,CAAC,0CAA0C,EAAE;YACrE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;IAGD,MAAM,mBAAmB,GAAG,6CAA4B,CAAC,iBAAiB,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,wBAAwB,EAAE,6CAA4B,CAAC,4BAA4B,CAClF,OAAO,CAAC,cAAc,CACtB;KACD,CAAC,CAAC;IAGH,MAAM,aAAa,GAAG,6CAA4B,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvF,MAAM,EAAE,KAAK,CAAC,mCAAmC,aAAa,SAAS,CAAC,CAAC;IAGzE,MAAM,YAAY,GAAG,IAAI,wBAAa,CAAC;QACtC,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;SACD;KACD,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,4BAAkB,CAAC,YAAY,CAAC;QAC7D;YACC,OAAO;YACP;gBACC;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB;oBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;iBACpC;gBACD;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gCAAiB;iBACvB;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,oCAA0B,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,4BAAkB,CAAC,YAAY,CAAC;QAC9C,YAAY;QACZ,qBAAqB;QACrB,sBAAsB;KACtB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,GAAG,CAAC,oBAAoB,CAAC,wBAAgB,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO,kBAAkB,CAAC;AAC3B,CAAC,CAAC;AA/DW,QAAA,2BAA2B,+BA+DtC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MemorySaver } from '@langchain/langgraph';
|
|
2
|
+
import { Logger } from '@n8n/backend-common';
|
|
3
|
+
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
4
|
+
import { Session } from './types/sessions';
|
|
5
|
+
export declare class SessionManagerService {
|
|
6
|
+
private readonly parsedNodeTypes;
|
|
7
|
+
private readonly logger?;
|
|
8
|
+
private checkpointer;
|
|
9
|
+
constructor(parsedNodeTypes: INodeTypeDescription[], logger?: Logger | undefined);
|
|
10
|
+
static generateThreadId(workflowId?: string, userId?: string): string;
|
|
11
|
+
getCheckpointer(): MemorySaver;
|
|
12
|
+
getSessions(workflowId: string | undefined, userId: string | undefined): Promise<{
|
|
13
|
+
sessions: Session[];
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var SessionManagerService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.SessionManagerService = void 0;
|
|
14
|
+
const langgraph_1 = require("@langchain/langgraph");
|
|
15
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
16
|
+
const di_1 = require("@n8n/di");
|
|
17
|
+
const stream_processor_1 = require("./utils/stream-processor");
|
|
18
|
+
const builder_tools_1 = require("./tools/builder-tools");
|
|
19
|
+
const sessions_1 = require("./types/sessions");
|
|
20
|
+
let SessionManagerService = SessionManagerService_1 = class SessionManagerService {
|
|
21
|
+
parsedNodeTypes;
|
|
22
|
+
logger;
|
|
23
|
+
checkpointer;
|
|
24
|
+
constructor(parsedNodeTypes, logger) {
|
|
25
|
+
this.parsedNodeTypes = parsedNodeTypes;
|
|
26
|
+
this.logger = logger;
|
|
27
|
+
this.checkpointer = new langgraph_1.MemorySaver();
|
|
28
|
+
}
|
|
29
|
+
static generateThreadId(workflowId, userId) {
|
|
30
|
+
return workflowId
|
|
31
|
+
? `workflow-${workflowId}-user-${userId ?? new Date().getTime()}`
|
|
32
|
+
: crypto.randomUUID();
|
|
33
|
+
}
|
|
34
|
+
getCheckpointer() {
|
|
35
|
+
return this.checkpointer;
|
|
36
|
+
}
|
|
37
|
+
async getSessions(workflowId, userId) {
|
|
38
|
+
const sessions = [];
|
|
39
|
+
if (workflowId) {
|
|
40
|
+
const threadId = SessionManagerService_1.generateThreadId(workflowId, userId);
|
|
41
|
+
const threadConfig = {
|
|
42
|
+
configurable: {
|
|
43
|
+
thread_id: threadId,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
try {
|
|
47
|
+
const checkpoint = await this.checkpointer.getTuple(threadConfig);
|
|
48
|
+
if (checkpoint?.checkpoint) {
|
|
49
|
+
const rawMessages = checkpoint.checkpoint.channel_values?.messages;
|
|
50
|
+
const messages = (0, sessions_1.isLangchainMessagesArray)(rawMessages)
|
|
51
|
+
? rawMessages
|
|
52
|
+
: [];
|
|
53
|
+
sessions.push({
|
|
54
|
+
sessionId: threadId,
|
|
55
|
+
messages: (0, stream_processor_1.formatMessages)(messages, (0, builder_tools_1.getBuilderToolsForDisplay)({
|
|
56
|
+
nodeTypes: this.parsedNodeTypes,
|
|
57
|
+
})),
|
|
58
|
+
lastUpdated: checkpoint.checkpoint.ts,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
this.logger?.debug('No session found for workflow:', { workflowId, error });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return { sessions };
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.SessionManagerService = SessionManagerService;
|
|
70
|
+
exports.SessionManagerService = SessionManagerService = SessionManagerService_1 = __decorate([
|
|
71
|
+
(0, di_1.Service)(),
|
|
72
|
+
__metadata("design:paramtypes", [Array, backend_common_1.Logger])
|
|
73
|
+
], SessionManagerService);
|
|
74
|
+
//# sourceMappingURL=session-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../src/session-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,oDAAmD;AACnD,wDAA6C;AAC7C,gCAAkC;AAGlC,+DAA0D;AAE1D,yDAAkE;AAClE,+CAAuF;AAGhF,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAIf;IACA;IAJV,YAAY,CAAc;IAElC,YACkB,eAAuC,EACvC,MAAe;QADf,oBAAe,GAAf,eAAe,CAAwB;QACvC,WAAM,GAAN,MAAM,CAAS;QAEhC,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAW,EAAE,CAAC;IACvC,CAAC;IAKD,MAAM,CAAC,gBAAgB,CAAC,UAAmB,EAAE,MAAe;QAC3D,OAAO,UAAU;YAChB,CAAC,CAAC,YAAY,UAAU,SAAS,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YACjE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACxB,CAAC;IAKD,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAKD,KAAK,CAAC,WAAW,CAChB,UAA8B,EAC9B,MAA0B;QAK1B,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,uBAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAmB;gBACpC,YAAY,EAAE;oBACb,SAAS,EAAE,QAAQ;iBACnB;aACD,CAAC;YAEF,IAAI,CAAC;gBAEJ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAElE,IAAI,UAAU,EAAE,UAAU,EAAE,CAAC;oBAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;oBACnE,MAAM,QAAQ,GAAuB,IAAA,mCAAwB,EAAC,WAAW,CAAC;wBACzE,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,EAAE,CAAC;oBAEN,QAAQ,CAAC,IAAI,CAAC;wBACb,SAAS,EAAE,QAAQ;wBACnB,QAAQ,EAAE,IAAA,iCAAc,EACvB,QAAQ,EACR,IAAA,yCAAyB,EAAC;4BACzB,SAAS,EAAE,IAAI,CAAC,eAAe;yBAC/B,CAAC,CACF;wBACD,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE;qBACrC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEhB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gCAAgC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrB,CAAC;CACD,CAAA;AA3EY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,YAAO,GAAE;4CAMkB,uBAAM;GALrB,qBAAqB,CA2EjC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import type { BuilderTool, BuilderToolBase } from '../utils/stream-processor';
|
|
3
4
|
export declare const nodeCreationSchema: z.ZodObject<{
|
|
4
5
|
nodeType: z.ZodString;
|
|
5
6
|
name: z.ZodString;
|
|
@@ -20,41 +21,5 @@ export declare const nodeCreationSchema: z.ZodObject<{
|
|
|
20
21
|
[k: string]: unknown;
|
|
21
22
|
};
|
|
22
23
|
}>;
|
|
23
|
-
export declare function
|
|
24
|
-
|
|
25
|
-
nodeType: z.ZodString;
|
|
26
|
-
name: z.ZodString;
|
|
27
|
-
connectionParametersReasoning: z.ZodString;
|
|
28
|
-
connectionParameters: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
|
|
29
|
-
}, "strip", z.ZodTypeAny, {
|
|
30
|
-
nodeType: string;
|
|
31
|
-
name: string;
|
|
32
|
-
connectionParametersReasoning: string;
|
|
33
|
-
connectionParameters: {} & {
|
|
34
|
-
[k: string]: unknown;
|
|
35
|
-
};
|
|
36
|
-
}, {
|
|
37
|
-
nodeType: string;
|
|
38
|
-
name: string;
|
|
39
|
-
connectionParametersReasoning: string;
|
|
40
|
-
connectionParameters: {} & {
|
|
41
|
-
[k: string]: unknown;
|
|
42
|
-
};
|
|
43
|
-
}>, {
|
|
44
|
-
nodeType: string;
|
|
45
|
-
name: string;
|
|
46
|
-
connectionParametersReasoning: string;
|
|
47
|
-
connectionParameters: {} & {
|
|
48
|
-
[k: string]: unknown;
|
|
49
|
-
};
|
|
50
|
-
}, {
|
|
51
|
-
nodeType: string;
|
|
52
|
-
name: string;
|
|
53
|
-
connectionParametersReasoning: string;
|
|
54
|
-
connectionParameters: {} & {
|
|
55
|
-
[k: string]: unknown;
|
|
56
|
-
};
|
|
57
|
-
}, import("@langchain/langgraph").Command<unknown>>;
|
|
58
|
-
displayTitle: string;
|
|
59
|
-
getCustomDisplayTitle: (input: Record<string, unknown>) => string;
|
|
60
|
-
};
|
|
24
|
+
export declare function getAddNodeToolBase(nodeTypes: INodeTypeDescription[]): BuilderToolBase;
|
|
25
|
+
export declare function createAddNodeTool(nodeTypes: INodeTypeDescription[]): BuilderTool;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.nodeCreationSchema = void 0;
|
|
4
|
+
exports.getAddNodeToolBase = getAddNodeToolBase;
|
|
4
5
|
exports.createAddNodeTool = createAddNodeTool;
|
|
5
6
|
const tools_1 = require("@langchain/core/tools");
|
|
6
7
|
const zod_1 = require("zod");
|
|
@@ -12,7 +13,6 @@ const progress_1 = require("./helpers/progress");
|
|
|
12
13
|
const response_1 = require("./helpers/response");
|
|
13
14
|
const state_1 = require("./helpers/state");
|
|
14
15
|
const validation_1 = require("./helpers/validation");
|
|
15
|
-
const DISPLAY_TITLE = 'Adding nodes';
|
|
16
16
|
exports.nodeCreationSchema = zod_1.z.object({
|
|
17
17
|
nodeType: zod_1.z.string().describe('The type of node to add (e.g., n8n-nodes-base.httpRequest)'),
|
|
18
18
|
name: zod_1.z
|
|
@@ -46,9 +46,17 @@ function getCustomNodeTitle(input, nodeTypes) {
|
|
|
46
46
|
}
|
|
47
47
|
return 'Adding node';
|
|
48
48
|
}
|
|
49
|
+
function getAddNodeToolBase(nodeTypes) {
|
|
50
|
+
return {
|
|
51
|
+
toolName: 'add_nodes',
|
|
52
|
+
displayTitle: 'Adding nodes',
|
|
53
|
+
getCustomDisplayTitle: (input) => getCustomNodeTitle(input, nodeTypes),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
49
56
|
function createAddNodeTool(nodeTypes) {
|
|
57
|
+
const builderToolBase = getAddNodeToolBase(nodeTypes);
|
|
50
58
|
const dynamicTool = (0, tools_1.tool)(async (input, config) => {
|
|
51
|
-
const reporter = (0, progress_1.createProgressReporter)(config,
|
|
59
|
+
const reporter = (0, progress_1.createProgressReporter)(config, builderToolBase.toolName, builderToolBase.displayTitle, getCustomNodeTitle(input, nodeTypes));
|
|
52
60
|
try {
|
|
53
61
|
const validatedInput = exports.nodeCreationSchema.parse(input);
|
|
54
62
|
const { nodeType, name, connectionParametersReasoning, connectionParameters } = validatedInput;
|
|
@@ -108,7 +116,7 @@ function createAddNodeTool(nodeTypes) {
|
|
|
108
116
|
return (0, response_1.createErrorResponse)(config, toolError);
|
|
109
117
|
}
|
|
110
118
|
}, {
|
|
111
|
-
name:
|
|
119
|
+
name: builderToolBase.toolName,
|
|
112
120
|
description: `Add a node to the workflow canvas. Each node represents a specific action or operation (e.g., HTTP request, data transformation, database query). Always provide descriptive names that explain what the node does (e.g., "Get Customer Data", "Filter Active Users", "Send Email Notification"). The tool handles automatic positioning. Use this tool after searching for available node types to ensure they exist.
|
|
113
121
|
|
|
114
122
|
To add multiple nodes, call this tool multiple times in parallel.
|
|
@@ -144,8 +152,7 @@ Think through the connectionParametersReasoning FIRST, then set connectionParame
|
|
|
144
152
|
});
|
|
145
153
|
return {
|
|
146
154
|
tool: dynamicTool,
|
|
147
|
-
|
|
148
|
-
getCustomDisplayTitle: (input) => getCustomNodeTitle(input, nodeTypes),
|
|
155
|
+
...builderToolBase,
|
|
149
156
|
};
|
|
150
157
|
}
|
|
151
158
|
//# sourceMappingURL=add-node.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-node.tool.js","sourceRoot":"","sources":["../../src/tools/add-node.tool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"add-node.tool.js","sourceRoot":"","sources":["../../src/tools/add-node.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
2
|
+
import type { Logger } from '@n8n/backend-common';
|
|
3
|
+
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
4
|
+
import type { BuilderTool, BuilderToolBase } from '../utils/stream-processor';
|
|
5
|
+
export declare function getBuilderTools({ parsedNodeTypes, logger, llmComplexTask, instanceUrl, }: {
|
|
6
|
+
parsedNodeTypes: INodeTypeDescription[];
|
|
7
|
+
llmComplexTask: BaseChatModel;
|
|
8
|
+
logger?: Logger;
|
|
9
|
+
instanceUrl?: string;
|
|
10
|
+
}): BuilderTool[];
|
|
11
|
+
export declare function getBuilderToolsForDisplay({ nodeTypes, }: {
|
|
12
|
+
nodeTypes: INodeTypeDescription[];
|
|
13
|
+
}): BuilderToolBase[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBuilderTools = getBuilderTools;
|
|
4
|
+
exports.getBuilderToolsForDisplay = getBuilderToolsForDisplay;
|
|
5
|
+
const add_node_tool_1 = require("./add-node.tool");
|
|
6
|
+
const connect_nodes_tool_1 = require("./connect-nodes.tool");
|
|
7
|
+
const get_node_parameter_tool_1 = require("./get-node-parameter.tool");
|
|
8
|
+
const node_details_tool_1 = require("./node-details.tool");
|
|
9
|
+
const node_search_tool_1 = require("./node-search.tool");
|
|
10
|
+
const remove_node_tool_1 = require("./remove-node.tool");
|
|
11
|
+
const update_node_parameters_tool_1 = require("./update-node-parameters.tool");
|
|
12
|
+
function getBuilderTools({ parsedNodeTypes, logger, llmComplexTask, instanceUrl, }) {
|
|
13
|
+
return [
|
|
14
|
+
(0, node_search_tool_1.createNodeSearchTool)(parsedNodeTypes),
|
|
15
|
+
(0, node_details_tool_1.createNodeDetailsTool)(parsedNodeTypes),
|
|
16
|
+
(0, add_node_tool_1.createAddNodeTool)(parsedNodeTypes),
|
|
17
|
+
(0, connect_nodes_tool_1.createConnectNodesTool)(parsedNodeTypes, logger),
|
|
18
|
+
(0, remove_node_tool_1.createRemoveNodeTool)(logger),
|
|
19
|
+
(0, update_node_parameters_tool_1.createUpdateNodeParametersTool)(parsedNodeTypes, llmComplexTask, logger, instanceUrl),
|
|
20
|
+
(0, get_node_parameter_tool_1.createGetNodeParameterTool)(),
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
function getBuilderToolsForDisplay({ nodeTypes, }) {
|
|
24
|
+
return [
|
|
25
|
+
node_search_tool_1.NODE_SEARCH_TOOL,
|
|
26
|
+
node_details_tool_1.NODE_DETAILS_TOOL,
|
|
27
|
+
(0, add_node_tool_1.getAddNodeToolBase)(nodeTypes),
|
|
28
|
+
connect_nodes_tool_1.CONNECT_NODES_TOOL,
|
|
29
|
+
remove_node_tool_1.REMOVE_NODE_TOOL,
|
|
30
|
+
update_node_parameters_tool_1.UPDATING_NODE_PARAMETER_TOOL,
|
|
31
|
+
get_node_parameter_tool_1.GET_NODE_PARAMETER_TOOL,
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=builder-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder-tools.js","sourceRoot":"","sources":["../../src/tools/builder-tools.ts"],"names":[],"mappings":";;AAiBA,0CAoBC;AAOD,8DAYC;AAlDD,mDAAwE;AACxE,6DAAkF;AAClF,uEAAgG;AAChG,2DAA+E;AAC/E,yDAA4E;AAC5E,yDAA4E;AAC5E,+EAGuC;AAEvC,SAAgB,eAAe,CAAC,EAC/B,eAAe,EACf,MAAM,EACN,cAAc,EACd,WAAW,GAMX;IACA,OAAO;QACN,IAAA,uCAAoB,EAAC,eAAe,CAAC;QACrC,IAAA,yCAAqB,EAAC,eAAe,CAAC;QACtC,IAAA,iCAAiB,EAAC,eAAe,CAAC;QAClC,IAAA,2CAAsB,EAAC,eAAe,EAAE,MAAM,CAAC;QAC/C,IAAA,uCAAoB,EAAC,MAAM,CAAC;QAC5B,IAAA,4DAA8B,EAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC;QACpF,IAAA,oDAA0B,GAAE;KAC5B,CAAC;AACH,CAAC;AAOD,SAAgB,yBAAyB,CAAC,EACzC,SAAS,GAC8B;IACvC,OAAO;QACN,mCAAgB;QAChB,qCAAiB;QACjB,IAAA,kCAAkB,EAAC,SAAS,CAAC;QAC7B,uCAAkB;QAClB,mCAAgB;QAChB,0DAA4B;QAC5B,iDAAuB;KACvB,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Logger } from '@n8n/backend-common';
|
|
2
2
|
import { type INodeTypeDescription } from 'n8n-workflow';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
+
import type { BuilderTool, BuilderToolBase } from '../utils/stream-processor';
|
|
4
5
|
export declare const nodeConnectionSchema: z.ZodObject<{
|
|
5
6
|
sourceNodeId: z.ZodString;
|
|
6
7
|
targetNodeId: z.ZodString;
|
|
@@ -17,32 +18,5 @@ export declare const nodeConnectionSchema: z.ZodObject<{
|
|
|
17
18
|
sourceOutputIndex?: number | undefined;
|
|
18
19
|
targetInputIndex?: number | undefined;
|
|
19
20
|
}>;
|
|
20
|
-
export declare
|
|
21
|
-
|
|
22
|
-
sourceNodeId: z.ZodString;
|
|
23
|
-
targetNodeId: z.ZodString;
|
|
24
|
-
sourceOutputIndex: z.ZodOptional<z.ZodNumber>;
|
|
25
|
-
targetInputIndex: z.ZodOptional<z.ZodNumber>;
|
|
26
|
-
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
sourceNodeId: string;
|
|
28
|
-
targetNodeId: string;
|
|
29
|
-
sourceOutputIndex?: number | undefined;
|
|
30
|
-
targetInputIndex?: number | undefined;
|
|
31
|
-
}, {
|
|
32
|
-
sourceNodeId: string;
|
|
33
|
-
targetNodeId: string;
|
|
34
|
-
sourceOutputIndex?: number | undefined;
|
|
35
|
-
targetInputIndex?: number | undefined;
|
|
36
|
-
}>, {
|
|
37
|
-
sourceNodeId: string;
|
|
38
|
-
targetNodeId: string;
|
|
39
|
-
sourceOutputIndex?: number | undefined;
|
|
40
|
-
targetInputIndex?: number | undefined;
|
|
41
|
-
}, {
|
|
42
|
-
sourceNodeId: string;
|
|
43
|
-
targetNodeId: string;
|
|
44
|
-
sourceOutputIndex?: number | undefined;
|
|
45
|
-
targetInputIndex?: number | undefined;
|
|
46
|
-
}, import("@langchain/langgraph").Command<unknown>>;
|
|
47
|
-
displayTitle: string;
|
|
48
|
-
};
|
|
21
|
+
export declare const CONNECT_NODES_TOOL: BuilderToolBase;
|
|
22
|
+
export declare function createConnectNodesTool(nodeTypes: INodeTypeDescription[], logger?: Logger): BuilderTool;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nodeConnectionSchema = void 0;
|
|
3
|
+
exports.CONNECT_NODES_TOOL = exports.nodeConnectionSchema = void 0;
|
|
4
4
|
exports.createConnectNodesTool = createConnectNodesTool;
|
|
5
5
|
const tools_1 = require("@langchain/core/tools");
|
|
6
6
|
const zod_1 = require("zod");
|
|
@@ -26,10 +26,13 @@ exports.nodeConnectionSchema = zod_1.z.object({
|
|
|
26
26
|
.optional()
|
|
27
27
|
.describe('The index of the input to connect to (default: 0)'),
|
|
28
28
|
});
|
|
29
|
+
exports.CONNECT_NODES_TOOL = {
|
|
30
|
+
toolName: 'connect_nodes',
|
|
31
|
+
displayTitle: 'Connecting nodes',
|
|
32
|
+
};
|
|
29
33
|
function createConnectNodesTool(nodeTypes, logger) {
|
|
30
|
-
const DISPLAY_TITLE = 'Connecting nodes';
|
|
31
34
|
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
32
|
-
const reporter = (0, progress_1.createProgressReporter)(config,
|
|
35
|
+
const reporter = (0, progress_1.createProgressReporter)(config, exports.CONNECT_NODES_TOOL.toolName, exports.CONNECT_NODES_TOOL.displayTitle);
|
|
33
36
|
try {
|
|
34
37
|
const validatedInput = exports.nodeConnectionSchema.parse(input);
|
|
35
38
|
reporter.start(validatedInput);
|
|
@@ -193,7 +196,7 @@ function createConnectNodesTool(nodeTypes, logger) {
|
|
|
193
196
|
return (0, response_1.createErrorResponse)(config, toolError);
|
|
194
197
|
}
|
|
195
198
|
}, {
|
|
196
|
-
name:
|
|
199
|
+
name: exports.CONNECT_NODES_TOOL.toolName,
|
|
197
200
|
description: `Connect two nodes in the workflow. The tool automatically determines the connection type based on node capabilities and ensures correct connection direction.
|
|
198
201
|
|
|
199
202
|
UNDERSTANDING CONNECTIONS:
|
|
@@ -222,7 +225,7 @@ CONNECTION EXAMPLES:
|
|
|
222
225
|
});
|
|
223
226
|
return {
|
|
224
227
|
tool: dynamicTool,
|
|
225
|
-
|
|
228
|
+
...exports.CONNECT_NODES_TOOL,
|
|
226
229
|
};
|
|
227
230
|
}
|
|
228
231
|
//# sourceMappingURL=connect-nodes.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-nodes.tool.js","sourceRoot":"","sources":["../../src/tools/connect-nodes.tool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"connect-nodes.tool.js","sourceRoot":"","sources":["../../src/tools/connect-nodes.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
import type { Logger } from '@n8n/backend-common';
|
|
2
|
-
import {
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
nodeId: z.ZodString;
|
|
6
|
-
path: z.ZodString;
|
|
7
|
-
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
nodeId: string;
|
|
9
|
-
path: string;
|
|
10
|
-
}, {
|
|
11
|
-
nodeId: string;
|
|
12
|
-
path: string;
|
|
13
|
-
}>, unknown, {
|
|
14
|
-
nodeId: string;
|
|
15
|
-
path: string;
|
|
16
|
-
}, import("@langchain/langgraph").Command<unknown>>;
|
|
17
|
-
displayTitle: string;
|
|
18
|
-
};
|
|
2
|
+
import type { BuilderTool, BuilderToolBase } from '../utils/stream-processor';
|
|
3
|
+
export declare const GET_NODE_PARAMETER_TOOL: BuilderToolBase;
|
|
4
|
+
export declare function createGetNodeParameterTool(logger?: Logger): BuilderTool;
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GET_NODE_PARAMETER_TOOL = void 0;
|
|
6
7
|
exports.createGetNodeParameterTool = createGetNodeParameterTool;
|
|
7
8
|
const tools_1 = require("@langchain/core/tools");
|
|
8
9
|
const get_1 = __importDefault(require("lodash/get"));
|
|
@@ -13,6 +14,7 @@ const errors_1 = require("../errors");
|
|
|
13
14
|
const progress_1 = require("./helpers/progress");
|
|
14
15
|
const response_1 = require("./helpers/response");
|
|
15
16
|
const validation_1 = require("./helpers/validation");
|
|
17
|
+
const DISPLAY_TITLE = 'Getting node parameter';
|
|
16
18
|
const getNodeParameterSchema = zod_1.z.object({
|
|
17
19
|
nodeId: zod_1.z.string().describe('The ID of the node to extract parameter value'),
|
|
18
20
|
path: zod_1.z
|
|
@@ -40,10 +42,13 @@ function formatNodeParameter(path, value) {
|
|
|
40
42
|
parts.push('</node_parameter>');
|
|
41
43
|
return parts.join('\n');
|
|
42
44
|
}
|
|
45
|
+
exports.GET_NODE_PARAMETER_TOOL = {
|
|
46
|
+
toolName: 'get_node_parameter',
|
|
47
|
+
displayTitle: DISPLAY_TITLE,
|
|
48
|
+
};
|
|
43
49
|
function createGetNodeParameterTool(logger) {
|
|
44
|
-
const DISPLAY_TITLE = 'Getting node parameter';
|
|
45
50
|
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
46
|
-
const reporter = (0, progress_1.createProgressReporter)(config,
|
|
51
|
+
const reporter = (0, progress_1.createProgressReporter)(config, exports.GET_NODE_PARAMETER_TOOL.toolName, DISPLAY_TITLE);
|
|
47
52
|
try {
|
|
48
53
|
const validatedInput = getNodeParameterSchema.parse(input);
|
|
49
54
|
const { nodeId, path } = validatedInput;
|
|
@@ -90,20 +95,20 @@ function createGetNodeParameterTool(logger) {
|
|
|
90
95
|
return (0, response_1.createErrorResponse)(config, validationError);
|
|
91
96
|
}
|
|
92
97
|
const toolError = new errors_1.ToolExecutionError(error instanceof Error ? error.message : 'Unknown error occurred', {
|
|
93
|
-
toolName:
|
|
98
|
+
toolName: exports.GET_NODE_PARAMETER_TOOL.toolName,
|
|
94
99
|
cause: error instanceof Error ? error : undefined,
|
|
95
100
|
});
|
|
96
101
|
reporter.error(toolError);
|
|
97
102
|
return (0, response_1.createErrorResponse)(config, toolError);
|
|
98
103
|
}
|
|
99
104
|
}, {
|
|
100
|
-
name:
|
|
105
|
+
name: exports.GET_NODE_PARAMETER_TOOL.toolName,
|
|
101
106
|
description: 'Get the value of a specific parameter of a specific node. Use this ONLY to retrieve parameters omitted in the workflow JSON context because of the size.',
|
|
102
107
|
schema: getNodeParameterSchema,
|
|
103
108
|
});
|
|
104
109
|
return {
|
|
105
110
|
tool: dynamicTool,
|
|
106
|
-
|
|
111
|
+
...exports.GET_NODE_PARAMETER_TOOL,
|
|
107
112
|
};
|
|
108
113
|
}
|
|
109
114
|
//# sourceMappingURL=get-node-parameter.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-node-parameter.tool.js","sourceRoot":"","sources":["../../src/tools/get-node-parameter.tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-node-parameter.tool.js","sourceRoot":"","sources":["../../src/tools/get-node-parameter.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
+
import type { BuilderToolBase } from '../utils/stream-processor';
|
|
4
|
+
export declare const NODE_DETAILS_TOOL: BuilderToolBase;
|
|
3
5
|
export declare function createNodeDetailsTool(nodeTypes: INodeTypeDescription[]): {
|
|
6
|
+
toolName: string;
|
|
7
|
+
displayTitle: string;
|
|
8
|
+
getCustomDisplayTitle?: (values: Record<string, unknown>) => string;
|
|
4
9
|
tool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
5
10
|
nodeName: z.ZodString;
|
|
6
11
|
withParameters: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -18,5 +23,4 @@ export declare function createNodeDetailsTool(nodeTypes: INodeTypeDescription[])
|
|
|
18
23
|
withParameters?: boolean | undefined;
|
|
19
24
|
withConnections?: boolean | undefined;
|
|
20
25
|
}, import("@langchain/langgraph").Command<unknown>>;
|
|
21
|
-
displayTitle: string;
|
|
22
26
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NODE_DETAILS_TOOL = void 0;
|
|
3
4
|
exports.createNodeDetailsTool = createNodeDetailsTool;
|
|
4
5
|
const tools_1 = require("@langchain/core/tools");
|
|
5
6
|
const zod_1 = require("zod");
|
|
@@ -85,10 +86,13 @@ function extractNodeDetails(nodeType) {
|
|
|
85
86
|
outputs: nodeType.outputs,
|
|
86
87
|
};
|
|
87
88
|
}
|
|
89
|
+
exports.NODE_DETAILS_TOOL = {
|
|
90
|
+
toolName: 'get_node_details',
|
|
91
|
+
displayTitle: 'Getting node details',
|
|
92
|
+
};
|
|
88
93
|
function createNodeDetailsTool(nodeTypes) {
|
|
89
|
-
const DISPLAY_TITLE = 'Getting node details';
|
|
90
94
|
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
91
|
-
const reporter = (0, progress_1.createProgressReporter)(config,
|
|
95
|
+
const reporter = (0, progress_1.createProgressReporter)(config, exports.NODE_DETAILS_TOOL.toolName, exports.NODE_DETAILS_TOOL.displayTitle);
|
|
92
96
|
try {
|
|
93
97
|
const validatedInput = nodeDetailsSchema.parse(input);
|
|
94
98
|
const { nodeName, withParameters, withConnections } = validatedInput;
|
|
@@ -119,20 +123,20 @@ function createNodeDetailsTool(nodeTypes) {
|
|
|
119
123
|
return (0, response_1.createErrorResponse)(config, validationError);
|
|
120
124
|
}
|
|
121
125
|
const toolError = new errors_1.ToolExecutionError(error instanceof Error ? error.message : 'Unknown error occurred', {
|
|
122
|
-
toolName:
|
|
126
|
+
toolName: exports.NODE_DETAILS_TOOL.toolName,
|
|
123
127
|
cause: error instanceof Error ? error : undefined,
|
|
124
128
|
});
|
|
125
129
|
reporter.error(toolError);
|
|
126
130
|
return (0, response_1.createErrorResponse)(config, toolError);
|
|
127
131
|
}
|
|
128
132
|
}, {
|
|
129
|
-
name:
|
|
133
|
+
name: exports.NODE_DETAILS_TOOL.toolName,
|
|
130
134
|
description: 'Get detailed information about a specific n8n node type including properties and available connections. Use this before adding nodes to understand their input/output structure.',
|
|
131
135
|
schema: nodeDetailsSchema,
|
|
132
136
|
});
|
|
133
137
|
return {
|
|
134
138
|
tool: dynamicTool,
|
|
135
|
-
|
|
139
|
+
...exports.NODE_DETAILS_TOOL,
|
|
136
140
|
};
|
|
137
141
|
}
|
|
138
142
|
//# sourceMappingURL=node-details.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-details.tool.js","sourceRoot":"","sources":["../../src/tools/node-details.tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-details.tool.js","sourceRoot":"","sources":["../../src/tools/node-details.tool.ts"],"names":[],"mappings":";;;AAsIA,sDA8EC;AApND,iDAA6C;AAE7C,6BAAwB;AAIxB,sCAAgE;AAChE,iDAA4E;AAC5E,iDAAgF;AAChF,qDAAiF;AAOjF,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IAC5F,cAAc,EAAE,OAAC;SACf,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,kDAAkD,CAAC;IAC9D,eAAe,EAAE,OAAC;SAChB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6DAA6D,CAAC;CACzE,CAAC,CAAC;AAKH,SAAS,YAAY,CAAC,MAAsC;IAC3D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,uBAAuB,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,UAAU,MAAM,UAAU,CAAC;IACnC,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,UAAU,KAAK,UAAU,CAAC;QAClC,CAAC;QAED,OAAO,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAKD,SAAS,aAAa,CAAC,OAAwC;IAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,yBAAyB,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,WAAW,OAAO,WAAW,CAAC;IACtC,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,WAAW,MAAM,WAAW,CAAC;QACrC,CAAC;QAED,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAKD,SAAS,iBAAiB,CACzB,OAAoB,EACpB,iBAA0B,KAAK,EAC/B,kBAA2B,IAAI;IAE/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAG3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,WAAW,iBAAiB,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,WAAW,gBAAgB,CAAC,CAAC;IAEhE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,aAAa,CAAC,CAAC;IACxD,CAAC;IAGD,IAAI,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC;KACR,qBAAqB,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC,qBAAqB;iBACzH,CAAC,CAAC;IAClB,CAAC;IAGD,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAKD,SAAS,kBAAkB,CAAC,QAA8B;IACzD,OAAO;QACN,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;KACzB,CAAC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAoB;IACjD,QAAQ,EAAE,kBAAkB;IAC5B,YAAY,EAAE,sBAAsB;CACpC,CAAC;AAKF,SAAgB,qBAAqB,CAAC,SAAiC;IACtE,MAAM,WAAW,GAAG,IAAA,YAAI,EACvB,CAAC,KAAc,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EACtC,MAAM,EACN,yBAAiB,CAAC,QAAQ,EAC1B,yBAAiB,CAAC,YAAY,CAC9B,CAAC;QAEF,IAAI,CAAC;YAEJ,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;YAGrE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAG/B,IAAA,yBAAc,EAAC,QAAQ,EAAE,0BAA0B,QAAQ,KAAK,CAAC,CAAC;YAGlE,MAAM,QAAQ,GAAG,IAAA,yBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,IAAA,wCAA2B,EAAC,QAAQ,CAAC,CAAC;gBACpD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YAGD,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAG7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;YAG5E,MAAM,MAAM,GAAsB;gBACjC,OAAO;gBACP,KAAK,EAAE,IAAI;gBACX,OAAO;aACP,CAAC;YACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAG1B,OAAO,IAAA,gCAAqB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,IAAI,wBAAe,CAAC,0BAA0B,EAAE;oBACvE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;iBAC/B,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAChC,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,2BAAkB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EACjE;gBACC,QAAQ,EAAE,yBAAiB,CAAC,QAAQ;gBACpC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjD,CACD,CAAC;YACF,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC,EACD;QACC,IAAI,EAAE,yBAAiB,CAAC,QAAQ;QAChC,WAAW,EACV,kLAAkL;QACnL,MAAM,EAAE,iBAAiB;KACzB,CACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,GAAG,yBAAiB;KACpB,CAAC;AACH,CAAC"}
|