@octo-cyber/workflow 0.5.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/controllers/ai-workflow-session.controller.d.ts +19 -0
- package/dist/controllers/ai-workflow-session.controller.d.ts.map +1 -0
- package/dist/controllers/ai-workflow-session.controller.js +135 -0
- package/dist/controllers/ai-workflow-session.controller.js.map +1 -0
- package/dist/controllers/credential.controller.d.ts +68 -0
- package/dist/controllers/credential.controller.d.ts.map +1 -0
- package/dist/controllers/credential.controller.js +303 -0
- package/dist/controllers/credential.controller.js.map +1 -0
- package/dist/controllers/index.d.ts +3 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +8 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/workflow-ai.controller.d.ts +23 -0
- package/dist/controllers/workflow-ai.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-ai.controller.js +164 -0
- package/dist/controllers/workflow-ai.controller.js.map +1 -0
- package/dist/controllers/workflow.controller.d.ts +66 -0
- package/dist/controllers/workflow.controller.d.ts.map +1 -0
- package/dist/controllers/workflow.controller.js +239 -0
- package/dist/controllers/workflow.controller.js.map +1 -0
- package/dist/core/expression-resolver.d.ts +49 -0
- package/dist/core/expression-resolver.d.ts.map +1 -0
- package/dist/core/expression-resolver.js +113 -0
- package/dist/core/expression-resolver.js.map +1 -0
- package/dist/core/node-registry.d.ts +24 -0
- package/dist/core/node-registry.d.ts.map +1 -0
- package/dist/core/node-registry.js +62 -0
- package/dist/core/node-registry.js.map +1 -0
- package/dist/core/workflow-executor.d.ts +50 -0
- package/dist/core/workflow-executor.d.ts.map +1 -0
- package/dist/core/workflow-executor.js +458 -0
- package/dist/core/workflow-executor.js.map +1 -0
- package/dist/entities/ai-workflow-session.entity.d.ts +17 -0
- package/dist/entities/ai-workflow-session.entity.d.ts.map +1 -0
- package/dist/entities/ai-workflow-session.entity.js +70 -0
- package/dist/entities/ai-workflow-session.entity.js.map +1 -0
- package/dist/entities/ai-workflow-version.entity.d.ts +18 -0
- package/dist/entities/ai-workflow-version.entity.d.ts.map +1 -0
- package/dist/entities/ai-workflow-version.entity.js +71 -0
- package/dist/entities/ai-workflow-version.entity.js.map +1 -0
- package/dist/entities/credential-definition.entity.d.ts +17 -0
- package/dist/entities/credential-definition.entity.d.ts.map +1 -0
- package/dist/entities/credential-definition.entity.js +66 -0
- package/dist/entities/credential-definition.entity.js.map +1 -0
- package/dist/entities/index.d.ts +9 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +22 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/workflow-definition.entity.d.ts +20 -0
- package/dist/entities/workflow-definition.entity.d.ts.map +1 -0
- package/dist/entities/workflow-definition.entity.js +85 -0
- package/dist/entities/workflow-definition.entity.js.map +1 -0
- package/dist/entities/workflow-execution.entity.d.ts +26 -0
- package/dist/entities/workflow-execution.entity.d.ts.map +1 -0
- package/dist/entities/workflow-execution.entity.js +99 -0
- package/dist/entities/workflow-execution.entity.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +96 -0
- package/dist/index.js.map +1 -0
- package/dist/n8n/cipher/cipher.d.ts +11 -0
- package/dist/n8n/cipher/cipher.d.ts.map +1 -0
- package/dist/n8n/cipher/cipher.js +54 -0
- package/dist/n8n/cipher/cipher.js.map +1 -0
- package/dist/n8n/controllers/n8n-session.controller.d.ts +20 -0
- package/dist/n8n/controllers/n8n-session.controller.d.ts.map +1 -0
- package/dist/n8n/controllers/n8n-session.controller.js +84 -0
- package/dist/n8n/controllers/n8n-session.controller.js.map +1 -0
- package/dist/n8n/index.d.ts +8 -0
- package/dist/n8n/index.d.ts.map +1 -0
- package/dist/n8n/index.js +14 -0
- package/dist/n8n/index.js.map +1 -0
- package/dist/n8n/launcher/n8n-launcher.d.ts +41 -0
- package/dist/n8n/launcher/n8n-launcher.d.ts.map +1 -0
- package/dist/n8n/launcher/n8n-launcher.js +186 -0
- package/dist/n8n/launcher/n8n-launcher.js.map +1 -0
- package/dist/n8n/nodes/OctoClaudeCliTool.node.d.ts +13 -0
- package/dist/n8n/nodes/OctoClaudeCliTool.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoClaudeCliTool.node.js +103 -0
- package/dist/n8n/nodes/OctoClaudeCliTool.node.js.map +1 -0
- package/dist/n8n/nodes/OctoCliChatModel.node.d.ts +14 -0
- package/dist/n8n/nodes/OctoCliChatModel.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoCliChatModel.node.js +431 -0
- package/dist/n8n/nodes/OctoCliChatModel.node.js.map +1 -0
- package/dist/n8n/nodes/OctoCodexCliTool.node.d.ts +13 -0
- package/dist/n8n/nodes/OctoCodexCliTool.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoCodexCliTool.node.js +100 -0
- package/dist/n8n/nodes/OctoCodexCliTool.node.js.map +1 -0
- package/dist/n8n/nodes/OctoGeminiCliTool.node.d.ts +13 -0
- package/dist/n8n/nodes/OctoGeminiCliTool.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoGeminiCliTool.node.js +91 -0
- package/dist/n8n/nodes/OctoGeminiCliTool.node.js.map +1 -0
- package/dist/n8n/nodes/OctoKnowledge.node.d.ts +6 -0
- package/dist/n8n/nodes/OctoKnowledge.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoKnowledge.node.js +95 -0
- package/dist/n8n/nodes/OctoKnowledge.node.js.map +1 -0
- package/dist/n8n/nodes/OctoNotification.node.d.ts +6 -0
- package/dist/n8n/nodes/OctoNotification.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoNotification.node.js +72 -0
- package/dist/n8n/nodes/OctoNotification.node.js.map +1 -0
- package/dist/n8n/nodes/OctoSyncBridge.node.d.ts +6 -0
- package/dist/n8n/nodes/OctoSyncBridge.node.d.ts.map +1 -0
- package/dist/n8n/nodes/OctoSyncBridge.node.js +60 -0
- package/dist/n8n/nodes/OctoSyncBridge.node.js.map +1 -0
- package/dist/n8n/nodes/n8n-node-types.d.ts +111 -0
- package/dist/n8n/nodes/n8n-node-types.d.ts.map +1 -0
- package/dist/n8n/nodes/n8n-node-types.js +30 -0
- package/dist/n8n/nodes/n8n-node-types.js.map +1 -0
- package/dist/n8n/nodes/octo-cli-chat-model.svg +23 -0
- package/dist/n8n/nodes/package.json +16 -0
- package/dist/n8n/proxy/css-injector.d.ts +3 -0
- package/dist/n8n/proxy/css-injector.d.ts.map +1 -0
- package/dist/n8n/proxy/css-injector.js +62 -0
- package/dist/n8n/proxy/css-injector.js.map +1 -0
- package/dist/n8n/proxy/n8n-proxy.middleware.d.ts +12 -0
- package/dist/n8n/proxy/n8n-proxy.middleware.d.ts.map +1 -0
- package/dist/n8n/proxy/n8n-proxy.middleware.js +131 -0
- package/dist/n8n/proxy/n8n-proxy.middleware.js.map +1 -0
- package/dist/n8n/proxy/n8n-theme.css +45 -0
- package/dist/n8n/sync/n8n-user-sync.service.d.ts +75 -0
- package/dist/n8n/sync/n8n-user-sync.service.d.ts.map +1 -0
- package/dist/n8n/sync/n8n-user-sync.service.js +286 -0
- package/dist/n8n/sync/n8n-user-sync.service.js.map +1 -0
- package/dist/n8n/watcher/n8n-execution-watcher.d.ts +39 -0
- package/dist/n8n/watcher/n8n-execution-watcher.d.ts.map +1 -0
- package/dist/n8n/watcher/n8n-execution-watcher.js +110 -0
- package/dist/n8n/watcher/n8n-execution-watcher.js.map +1 -0
- package/dist/nodes/code.node.d.ts +24 -0
- package/dist/nodes/code.node.d.ts.map +1 -0
- package/dist/nodes/code.node.js +150 -0
- package/dist/nodes/code.node.js.map +1 -0
- package/dist/nodes/error-trigger.node.d.ts +15 -0
- package/dist/nodes/error-trigger.node.d.ts.map +1 -0
- package/dist/nodes/error-trigger.node.js +53 -0
- package/dist/nodes/error-trigger.node.js.map +1 -0
- package/dist/nodes/execute-command.node.d.ts +9 -0
- package/dist/nodes/execute-command.node.d.ts.map +1 -0
- package/dist/nodes/execute-command.node.js +81 -0
- package/dist/nodes/execute-command.node.js.map +1 -0
- package/dist/nodes/filter.node.d.ts +10 -0
- package/dist/nodes/filter.node.d.ts.map +1 -0
- package/dist/nodes/filter.node.js +95 -0
- package/dist/nodes/filter.node.js.map +1 -0
- package/dist/nodes/http-request.node.d.ts +11 -0
- package/dist/nodes/http-request.node.d.ts.map +1 -0
- package/dist/nodes/http-request.node.js +139 -0
- package/dist/nodes/http-request.node.js.map +1 -0
- package/dist/nodes/if.node.d.ts +13 -0
- package/dist/nodes/if.node.d.ts.map +1 -0
- package/dist/nodes/if.node.js +137 -0
- package/dist/nodes/if.node.js.map +1 -0
- package/dist/nodes/index.d.ts +12 -0
- package/dist/nodes/index.d.ts.map +1 -0
- package/dist/nodes/index.js +26 -0
- package/dist/nodes/index.js.map +1 -0
- package/dist/nodes/manual-trigger.node.d.ts +10 -0
- package/dist/nodes/manual-trigger.node.d.ts.map +1 -0
- package/dist/nodes/manual-trigger.node.js +36 -0
- package/dist/nodes/manual-trigger.node.js.map +1 -0
- package/dist/nodes/merge.node.d.ts +15 -0
- package/dist/nodes/merge.node.d.ts.map +1 -0
- package/dist/nodes/merge.node.js +99 -0
- package/dist/nodes/merge.node.js.map +1 -0
- package/dist/nodes/noop.node.d.ts +12 -0
- package/dist/nodes/noop.node.d.ts.map +1 -0
- package/dist/nodes/noop.node.js +32 -0
- package/dist/nodes/noop.node.js.map +1 -0
- package/dist/nodes/placeholder.node.d.ts +10 -0
- package/dist/nodes/placeholder.node.d.ts.map +1 -0
- package/dist/nodes/placeholder.node.js +50 -0
- package/dist/nodes/placeholder.node.js.map +1 -0
- package/dist/nodes/remove-duplicates.node.d.ts +9 -0
- package/dist/nodes/remove-duplicates.node.d.ts.map +1 -0
- package/dist/nodes/remove-duplicates.node.js +68 -0
- package/dist/nodes/remove-duplicates.node.js.map +1 -0
- package/dist/nodes/respond-to-webhook.node.d.ts +14 -0
- package/dist/nodes/respond-to-webhook.node.d.ts.map +1 -0
- package/dist/nodes/respond-to-webhook.node.js +116 -0
- package/dist/nodes/respond-to-webhook.node.js.map +1 -0
- package/dist/nodes/schedule-trigger.node.d.ts +9 -0
- package/dist/nodes/schedule-trigger.node.d.ts.map +1 -0
- package/dist/nodes/schedule-trigger.node.js +67 -0
- package/dist/nodes/schedule-trigger.node.js.map +1 -0
- package/dist/nodes/set.node.d.ts +12 -0
- package/dist/nodes/set.node.d.ts.map +1 -0
- package/dist/nodes/set.node.js +81 -0
- package/dist/nodes/set.node.js.map +1 -0
- package/dist/nodes/sort.node.d.ts +9 -0
- package/dist/nodes/sort.node.d.ts.map +1 -0
- package/dist/nodes/sort.node.js +61 -0
- package/dist/nodes/sort.node.js.map +1 -0
- package/dist/nodes/split-in-batches.node.d.ts +9 -0
- package/dist/nodes/split-in-batches.node.d.ts.map +1 -0
- package/dist/nodes/split-in-batches.node.js +53 -0
- package/dist/nodes/split-in-batches.node.js.map +1 -0
- package/dist/nodes/split-out.node.d.ts +9 -0
- package/dist/nodes/split-out.node.d.ts.map +1 -0
- package/dist/nodes/split-out.node.js +76 -0
- package/dist/nodes/split-out.node.js.map +1 -0
- package/dist/nodes/switch.node.d.ts +16 -0
- package/dist/nodes/switch.node.d.ts.map +1 -0
- package/dist/nodes/switch.node.js +156 -0
- package/dist/nodes/switch.node.js.map +1 -0
- package/dist/nodes/wait.node.d.ts +12 -0
- package/dist/nodes/wait.node.d.ts.map +1 -0
- package/dist/nodes/wait.node.js +81 -0
- package/dist/nodes/wait.node.js.map +1 -0
- package/dist/nodes/webhook.node.d.ts +9 -0
- package/dist/nodes/webhook.node.d.ts.map +1 -0
- package/dist/nodes/webhook.node.js +69 -0
- package/dist/nodes/webhook.node.js.map +1 -0
- package/dist/services/ai-workflow-session.service.d.ts +31 -0
- package/dist/services/ai-workflow-session.service.d.ts.map +1 -0
- package/dist/services/ai-workflow-session.service.js +118 -0
- package/dist/services/ai-workflow-session.service.js.map +1 -0
- package/dist/services/credential.service.d.ts +57 -0
- package/dist/services/credential.service.d.ts.map +1 -0
- package/dist/services/credential.service.js +155 -0
- package/dist/services/credential.service.js.map +1 -0
- package/dist/services/index.d.ts +10 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/push.service.d.ts +60 -0
- package/dist/services/push.service.d.ts.map +1 -0
- package/dist/services/push.service.js +121 -0
- package/dist/services/push.service.js.map +1 -0
- package/dist/services/workflow-ai.service.d.ts +61 -0
- package/dist/services/workflow-ai.service.d.ts.map +1 -0
- package/dist/services/workflow-ai.service.js +219 -0
- package/dist/services/workflow-ai.service.js.map +1 -0
- package/dist/services/workflow-context.service.d.ts +32 -0
- package/dist/services/workflow-context.service.d.ts.map +1 -0
- package/dist/services/workflow-context.service.js +155 -0
- package/dist/services/workflow-context.service.js.map +1 -0
- package/dist/services/workflow-engine.service.d.ts +90 -0
- package/dist/services/workflow-engine.service.d.ts.map +1 -0
- package/dist/services/workflow-engine.service.js +305 -0
- package/dist/services/workflow-engine.service.js.map +1 -0
- package/dist/services/workflow.service.d.ts +84 -0
- package/dist/services/workflow.service.d.ts.map +1 -0
- package/dist/services/workflow.service.js +241 -0
- package/dist/services/workflow.service.js.map +1 -0
- package/dist/triggers/cron-trigger.d.ts +39 -0
- package/dist/triggers/cron-trigger.d.ts.map +1 -0
- package/dist/triggers/cron-trigger.js +137 -0
- package/dist/triggers/cron-trigger.js.map +1 -0
- package/dist/triggers/index.d.ts +3 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +8 -0
- package/dist/triggers/index.js.map +1 -0
- package/dist/triggers/webhook-trigger.d.ts +51 -0
- package/dist/triggers/webhook-trigger.d.ts.map +1 -0
- package/dist/triggers/webhook-trigger.js +122 -0
- package/dist/triggers/webhook-trigger.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/node.types.d.ts +313 -0
- package/dist/types/node.types.d.ts.map +1 -0
- package/dist/types/node.types.js +23 -0
- package/dist/types/node.types.js.map +1 -0
- package/dist/types/workflow.types.d.ts +153 -0
- package/dist/types/workflow.types.d.ts.map +1 -0
- package/dist/types/workflow.types.js +44 -0
- package/dist/types/workflow.types.js.map +1 -0
- package/dist/utils/n8n-converter.d.ts +52 -0
- package/dist/utils/n8n-converter.d.ts.map +1 -0
- package/dist/utils/n8n-converter.js +107 -0
- package/dist/utils/n8n-converter.js.map +1 -0
- package/dist/utils/n8n-node-map.d.ts +6 -0
- package/dist/utils/n8n-node-map.d.ts.map +1 -0
- package/dist/utils/n8n-node-map.js +59 -0
- package/dist/utils/n8n-node-map.js.map +1 -0
- package/dist/workflow.module.d.ts +40 -0
- package/dist/workflow.module.d.ts.map +1 -0
- package/dist/workflow.module.js +240 -0
- package/dist/workflow.module.js.map +1 -0
- package/package.json +97 -0
- package/web/components/ChatPanel.tsx +344 -0
- package/web/components/N8nIframe.tsx +119 -0
- package/web/components/SessionPanel.tsx +301 -0
- package/web/components/ToolPanel.tsx +404 -0
- package/web/components/WorkflowDiff.tsx +161 -0
- package/web/components/WorkflowGraph.tsx +158 -0
- package/web/components/WorkflowPreviewPanel.tsx +186 -0
- package/web/hooks/use-n8n-session.ts +46 -0
- package/web/index.ts +29 -0
- package/web/manifest.ts +16 -0
- package/web/messages/en-US.json +94 -0
- package/web/messages/zh-CN.json +94 -0
- package/web/pages/AiDesignPage.tsx +215 -0
- package/web/pages/CredentialsPage.tsx +7 -0
- package/web/pages/ExecutionsPage.tsx +7 -0
- package/web/pages/WorkflowsPage.tsx +7 -0
- package/web/services/workflow-ai-service.ts +173 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n8n-launcher.js","sourceRoot":"","sources":["../../../src/n8n/launcher/n8n-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from './n8n-node-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Octo Claude CLI Tool — n8n AI Tool sub-node.
|
|
4
|
+
*
|
|
5
|
+
* Connects to the AI Agent node as a tool. When the AI Agent
|
|
6
|
+
* decides to use this tool, it calls the Octo Server API to
|
|
7
|
+
* execute Claude CLI with the given prompt.
|
|
8
|
+
*/
|
|
9
|
+
export declare class OctoClaudeCliTool implements INodeType {
|
|
10
|
+
description: INodeTypeDescription;
|
|
11
|
+
supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=OctoClaudeCliTool.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OctoClaudeCliTool.node.d.ts","sourceRoot":"","sources":["../../../src/n8n/nodes/OctoClaudeCliTool.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,qBAAqB,CAAC;AAG7B;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,WAAW,EAAE,oBAAoB,CAoD/B;IAEI,UAAU,CACd,IAAI,EAAE,oBAAoB,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC;CAkDvB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OctoClaudeCliTool = void 0;
|
|
4
|
+
const n8n_node_types_js_1 = require("./n8n-node-types.js");
|
|
5
|
+
/**
|
|
6
|
+
* Octo Claude CLI Tool — n8n AI Tool sub-node.
|
|
7
|
+
*
|
|
8
|
+
* Connects to the AI Agent node as a tool. When the AI Agent
|
|
9
|
+
* decides to use this tool, it calls the Octo Server API to
|
|
10
|
+
* execute Claude CLI with the given prompt.
|
|
11
|
+
*/
|
|
12
|
+
class OctoClaudeCliTool {
|
|
13
|
+
description = {
|
|
14
|
+
displayName: 'Octo Claude CLI',
|
|
15
|
+
name: 'octoClaudeCliTool',
|
|
16
|
+
icon: 'file:octo-claude.svg',
|
|
17
|
+
group: ['transform'],
|
|
18
|
+
version: 1,
|
|
19
|
+
description: 'Execute Claude CLI as an AI Agent tool via Octo',
|
|
20
|
+
defaults: { name: 'Claude CLI' },
|
|
21
|
+
codex: {
|
|
22
|
+
categories: ['AI'],
|
|
23
|
+
subcategories: {
|
|
24
|
+
AI: ['Tools'],
|
|
25
|
+
Tools: ['Other Tools'],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
inputs: [],
|
|
29
|
+
outputs: [n8n_node_types_js_1.NodeConnectionTypes.AiTool],
|
|
30
|
+
outputNames: ['Tool'],
|
|
31
|
+
properties: [
|
|
32
|
+
{
|
|
33
|
+
displayName: 'Tool Description',
|
|
34
|
+
name: 'toolDescription',
|
|
35
|
+
type: 'string',
|
|
36
|
+
default: 'Execute a prompt using Claude CLI. Use this for complex reasoning, code generation, analysis, and file operations.',
|
|
37
|
+
description: 'Description of what this tool does. The AI Agent uses this to decide when to call the tool.',
|
|
38
|
+
typeOptions: { rows: 3 },
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
displayName: 'Working Directory',
|
|
42
|
+
name: 'workingDir',
|
|
43
|
+
type: 'string',
|
|
44
|
+
default: '',
|
|
45
|
+
description: 'Working directory for CLI execution. Leave empty for auto-created temp workspace.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
displayName: 'Timeout (seconds)',
|
|
49
|
+
name: 'timeout',
|
|
50
|
+
type: 'number',
|
|
51
|
+
default: 300,
|
|
52
|
+
description: 'Maximum execution time in seconds (max 600)',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
displayName: 'JSON Output',
|
|
56
|
+
name: 'jsonOutput',
|
|
57
|
+
type: 'boolean',
|
|
58
|
+
default: false,
|
|
59
|
+
description: 'Request structured JSON output from Claude CLI',
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
};
|
|
63
|
+
async supplyData(itemIndex) {
|
|
64
|
+
const toolDescription = this.getNodeParameter('toolDescription', itemIndex);
|
|
65
|
+
const workingDir = this.getNodeParameter('workingDir', itemIndex);
|
|
66
|
+
const timeout = this.getNodeParameter('timeout', itemIndex);
|
|
67
|
+
const jsonOutput = this.getNodeParameter('jsonOutput', itemIndex);
|
|
68
|
+
const helpers = this.helpers;
|
|
69
|
+
// Return a tool-like object that n8n's AI Agent will invoke
|
|
70
|
+
const tool = {
|
|
71
|
+
name: 'claude_cli',
|
|
72
|
+
description: toolDescription,
|
|
73
|
+
async call(input) {
|
|
74
|
+
const response = (await helpers.httpRequest({
|
|
75
|
+
method: 'POST',
|
|
76
|
+
url: 'http://127.0.0.1:9988/api/v1/ai-cli/execute',
|
|
77
|
+
body: {
|
|
78
|
+
tool: 'claude',
|
|
79
|
+
prompt: input,
|
|
80
|
+
workingDir: workingDir || undefined,
|
|
81
|
+
timeoutMs: timeout * 1000,
|
|
82
|
+
jsonOutput,
|
|
83
|
+
},
|
|
84
|
+
json: true,
|
|
85
|
+
}));
|
|
86
|
+
const data = response?.data;
|
|
87
|
+
if (data?.error)
|
|
88
|
+
return `Error: ${data.error}`;
|
|
89
|
+
return data?.output ?? '';
|
|
90
|
+
},
|
|
91
|
+
// DynamicTool-compatible interface
|
|
92
|
+
async invoke(input) {
|
|
93
|
+
return tool.call(input);
|
|
94
|
+
},
|
|
95
|
+
// LangChain tool compatibility fields
|
|
96
|
+
returnDirect: false,
|
|
97
|
+
lc_namespace: ['langchain', 'tools'],
|
|
98
|
+
};
|
|
99
|
+
return { response: tool };
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.OctoClaudeCliTool = OctoClaudeCliTool;
|
|
103
|
+
//# sourceMappingURL=OctoClaudeCliTool.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OctoClaudeCliTool.node.js","sourceRoot":"","sources":["../../../src/n8n/nodes/OctoClaudeCliTool.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from './n8n-node-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Octo CLI Chat Model — n8n AI Language Model sub-node.
|
|
4
|
+
*
|
|
5
|
+
* Provides local CLI tools (Claude, Gemini, Codex, Antigravity)
|
|
6
|
+
* as a Chat Model for n8n's AI Agent node. Users select a CLI tool
|
|
7
|
+
* and model from dropdowns; the node wraps the Octo AI CLI execute
|
|
8
|
+
* API as a LangChain BaseChatModel-compatible object.
|
|
9
|
+
*/
|
|
10
|
+
export declare class OctoCliChatModel implements INodeType {
|
|
11
|
+
description: INodeTypeDescription;
|
|
12
|
+
supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=OctoCliChatModel.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OctoCliChatModel.node.d.ts","sourceRoot":"","sources":["../../../src/n8n/nodes/OctoCliChatModel.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,qBAAqB,CAAC;AAoS7B;;;;;;;GAOG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,WAAW,EAAE,oBAAoB,CAmJ/B;IAEI,UAAU,CACd,IAAI,EAAE,oBAAoB,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC;CA4DvB"}
|
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OctoCliChatModel = void 0;
|
|
4
|
+
const n8n_node_types_js_1 = require("./n8n-node-types.js");
|
|
5
|
+
/**
|
|
6
|
+
* Extract a ChatMessage array from various LangChain input formats.
|
|
7
|
+
*
|
|
8
|
+
* n8n / LangChain may pass messages as:
|
|
9
|
+
* - BaseMessage[] (array of messages)
|
|
10
|
+
* - ChatPromptValue ({ messages: BaseMessage[] })
|
|
11
|
+
* - object with toChatMessages() method
|
|
12
|
+
* - string (plain text)
|
|
13
|
+
*/
|
|
14
|
+
function toMessageArray(input) {
|
|
15
|
+
if (Array.isArray(input))
|
|
16
|
+
return input;
|
|
17
|
+
if (input && typeof input === 'object') {
|
|
18
|
+
const obj = input;
|
|
19
|
+
// ChatPromptValue: { messages: BaseMessage[] }
|
|
20
|
+
if (Array.isArray(obj.messages))
|
|
21
|
+
return obj.messages;
|
|
22
|
+
// Object with toChatMessages() method
|
|
23
|
+
if (typeof obj.toChatMessages === 'function') {
|
|
24
|
+
return obj.toChatMessages();
|
|
25
|
+
}
|
|
26
|
+
// Single message object with content property
|
|
27
|
+
if ('content' in obj)
|
|
28
|
+
return [obj];
|
|
29
|
+
}
|
|
30
|
+
if (typeof input === 'string') {
|
|
31
|
+
return [{ content: input }];
|
|
32
|
+
}
|
|
33
|
+
return [{ content: String(input ?? '') }];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Serialize LangChain messages into a single prompt string.
|
|
37
|
+
* Preserves role information so the CLI tool sees the full
|
|
38
|
+
* conversation context.
|
|
39
|
+
*/
|
|
40
|
+
function messagesToPrompt(input) {
|
|
41
|
+
const messages = toMessageArray(input);
|
|
42
|
+
const parts = [];
|
|
43
|
+
for (const msg of messages) {
|
|
44
|
+
const role = msg._getType?.() ?? 'human';
|
|
45
|
+
const content = typeof msg.content === 'string'
|
|
46
|
+
? msg.content
|
|
47
|
+
: JSON.stringify(msg.content);
|
|
48
|
+
if (role === 'system') {
|
|
49
|
+
parts.push(`[System]\n${content}`);
|
|
50
|
+
}
|
|
51
|
+
else if (role === 'ai' || role === 'assistant') {
|
|
52
|
+
parts.push(`[Assistant]\n${content}`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
parts.push(content);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return parts.join('\n\n');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create a LangChain AIMessage-compatible object.
|
|
62
|
+
* Must have lc_serializable + proper namespace so n8n can process it.
|
|
63
|
+
*/
|
|
64
|
+
function makeAIMessage(content) {
|
|
65
|
+
return {
|
|
66
|
+
lc_serializable: true,
|
|
67
|
+
lc_namespace: ['langchain_core', 'messages'],
|
|
68
|
+
lc_id: ['langchain_core', 'messages', 'AIMessage'],
|
|
69
|
+
content,
|
|
70
|
+
name: undefined,
|
|
71
|
+
additional_kwargs: {},
|
|
72
|
+
response_metadata: {},
|
|
73
|
+
tool_calls: [],
|
|
74
|
+
invalid_tool_calls: [],
|
|
75
|
+
usage_metadata: undefined,
|
|
76
|
+
_getType() {
|
|
77
|
+
return 'ai';
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build a LangChain Runnable + BaseChatModel compatible object.
|
|
83
|
+
*
|
|
84
|
+
* n8n's AI Agent node expects the chat model to satisfy the
|
|
85
|
+
* LangChain Runnable interface (checked via `lc_runnable: true`)
|
|
86
|
+
* AND the BaseChatModel contract (_generate, bindTools, etc.).
|
|
87
|
+
*
|
|
88
|
+
* Since we can't import LangChain classes directly (they're n8n
|
|
89
|
+
* runtime dependencies, not ours), we construct a duck-typed
|
|
90
|
+
* object that passes all runtime checks.
|
|
91
|
+
*/
|
|
92
|
+
function createRunnableChatModel(callCli, meta) {
|
|
93
|
+
const self = {
|
|
94
|
+
// ─── LangChain Runnable marker ─────────────────────────
|
|
95
|
+
lc_runnable: true,
|
|
96
|
+
lc_serializable: true,
|
|
97
|
+
lc_namespace: ['langchain', 'chat_models', 'octo'],
|
|
98
|
+
getName() {
|
|
99
|
+
return `OctoCli-${meta.tool}`;
|
|
100
|
+
},
|
|
101
|
+
_llmType() {
|
|
102
|
+
return `octo-${meta.tool}`;
|
|
103
|
+
},
|
|
104
|
+
_modelType() {
|
|
105
|
+
return 'base_chat_model';
|
|
106
|
+
},
|
|
107
|
+
_identifyingParams() {
|
|
108
|
+
return { tool: meta.tool, model: meta.model };
|
|
109
|
+
},
|
|
110
|
+
/**
|
|
111
|
+
* Primary invoke — n8n AI Agent calls this.
|
|
112
|
+
* Input can be BaseMessage[], string, or a complex prompt value.
|
|
113
|
+
*/
|
|
114
|
+
async invoke(input, _options) {
|
|
115
|
+
const prompt = typeof input === 'string'
|
|
116
|
+
? input
|
|
117
|
+
: messagesToPrompt(input);
|
|
118
|
+
const output = await callCli(prompt);
|
|
119
|
+
return makeAIMessage(output);
|
|
120
|
+
},
|
|
121
|
+
/**
|
|
122
|
+
* LangChain BaseChatModel._generate() — the core generation method.
|
|
123
|
+
* n8n's logWrapper and tracing system call this.
|
|
124
|
+
*/
|
|
125
|
+
async _generate(messages, _options, _runManager) {
|
|
126
|
+
const prompt = messagesToPrompt(messages);
|
|
127
|
+
const output = await callCli(prompt);
|
|
128
|
+
const aiMessage = makeAIMessage(output);
|
|
129
|
+
return {
|
|
130
|
+
generations: [{ text: output, message: aiMessage }],
|
|
131
|
+
llmOutput: { tool: meta.tool, model: meta.model },
|
|
132
|
+
};
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* LangChain BaseLLM._call() — some chains call this.
|
|
136
|
+
*/
|
|
137
|
+
async _call(prompt, _options, _runManager) {
|
|
138
|
+
return callCli(prompt);
|
|
139
|
+
},
|
|
140
|
+
/**
|
|
141
|
+
* predict() — legacy LangChain interface.
|
|
142
|
+
*/
|
|
143
|
+
async predict(text, _options) {
|
|
144
|
+
return callCli(text);
|
|
145
|
+
},
|
|
146
|
+
/**
|
|
147
|
+
* predictMessages() — legacy LangChain interface.
|
|
148
|
+
*/
|
|
149
|
+
async predictMessages(messages, _options) {
|
|
150
|
+
const prompt = messagesToPrompt(messages);
|
|
151
|
+
const output = await callCli(prompt);
|
|
152
|
+
return makeAIMessage(output);
|
|
153
|
+
},
|
|
154
|
+
// ─── Runnable protocol methods ─────────────────────────
|
|
155
|
+
/**
|
|
156
|
+
* bind() — returns a new Runnable with merged kwargs.
|
|
157
|
+
* Critical: must also have lc_runnable: true.
|
|
158
|
+
*/
|
|
159
|
+
bind(kwargs) {
|
|
160
|
+
return { ...self, ...kwargs, lc_runnable: true };
|
|
161
|
+
},
|
|
162
|
+
/**
|
|
163
|
+
* bindTools() — n8n AI Agent binds tools to the model.
|
|
164
|
+
* CLI models don't natively support tool calling, so we
|
|
165
|
+
* just return self (the AI Agent will handle tool routing).
|
|
166
|
+
*/
|
|
167
|
+
bindTools(_tools, _kwargs) {
|
|
168
|
+
return self;
|
|
169
|
+
},
|
|
170
|
+
/**
|
|
171
|
+
* withStructuredOutput() — some agent frameworks call this.
|
|
172
|
+
* Return self since CLI models output plain text.
|
|
173
|
+
*/
|
|
174
|
+
withStructuredOutput(_schema, _config) {
|
|
175
|
+
return self;
|
|
176
|
+
},
|
|
177
|
+
/**
|
|
178
|
+
* pipe() — RunnableSequence composition.
|
|
179
|
+
*/
|
|
180
|
+
pipe(next) {
|
|
181
|
+
const nextFn = typeof next === 'function'
|
|
182
|
+
? next
|
|
183
|
+
: next?.invoke?.bind(next);
|
|
184
|
+
if (!nextFn)
|
|
185
|
+
return self;
|
|
186
|
+
return {
|
|
187
|
+
lc_runnable: true,
|
|
188
|
+
async invoke(input, options) {
|
|
189
|
+
const result = await self.invoke(input, options);
|
|
190
|
+
return nextFn(result, options);
|
|
191
|
+
},
|
|
192
|
+
getName() {
|
|
193
|
+
return 'RunnableSequence';
|
|
194
|
+
},
|
|
195
|
+
bind(kwargs) {
|
|
196
|
+
return { ...this, ...kwargs, lc_runnable: true };
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
},
|
|
200
|
+
/**
|
|
201
|
+
* batch() — process multiple inputs.
|
|
202
|
+
*/
|
|
203
|
+
async batch(inputs, _options) {
|
|
204
|
+
const results = [];
|
|
205
|
+
for (const input of inputs) {
|
|
206
|
+
results.push(await self.invoke(input, _options));
|
|
207
|
+
}
|
|
208
|
+
return results;
|
|
209
|
+
},
|
|
210
|
+
/**
|
|
211
|
+
* stream() — returns async iterator (no true streaming for CLI).
|
|
212
|
+
*/
|
|
213
|
+
async *stream(input, _options) {
|
|
214
|
+
const result = await self.invoke(input, _options);
|
|
215
|
+
yield result;
|
|
216
|
+
},
|
|
217
|
+
/**
|
|
218
|
+
* getNumTokens() — some agents check token limits.
|
|
219
|
+
* Return a rough estimate.
|
|
220
|
+
*/
|
|
221
|
+
async getNumTokens(text) {
|
|
222
|
+
return Math.ceil(text.length / 4);
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
return self;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Octo CLI Chat Model — n8n AI Language Model sub-node.
|
|
229
|
+
*
|
|
230
|
+
* Provides local CLI tools (Claude, Gemini, Codex, Antigravity)
|
|
231
|
+
* as a Chat Model for n8n's AI Agent node. Users select a CLI tool
|
|
232
|
+
* and model from dropdowns; the node wraps the Octo AI CLI execute
|
|
233
|
+
* API as a LangChain BaseChatModel-compatible object.
|
|
234
|
+
*/
|
|
235
|
+
class OctoCliChatModel {
|
|
236
|
+
description = {
|
|
237
|
+
displayName: 'Octo CLI Chat Model',
|
|
238
|
+
name: 'octoCliChatModel',
|
|
239
|
+
icon: 'file:octo-cli-chat-model.svg',
|
|
240
|
+
iconColor: 'blue',
|
|
241
|
+
group: ['transform'],
|
|
242
|
+
version: 1,
|
|
243
|
+
description: 'Use local CLI tools (Claude, Gemini, Codex, Antigravity) as a Chat Model for AI Agent',
|
|
244
|
+
defaults: { name: 'Octo CLI Model' },
|
|
245
|
+
codex: {
|
|
246
|
+
categories: ['AI'],
|
|
247
|
+
subcategories: {
|
|
248
|
+
AI: ['Language Models', 'Root Nodes'],
|
|
249
|
+
'Language Models': ['Chat Models (Recommended)'],
|
|
250
|
+
},
|
|
251
|
+
alias: [
|
|
252
|
+
'LLM',
|
|
253
|
+
'Model',
|
|
254
|
+
'Octo',
|
|
255
|
+
'CLI',
|
|
256
|
+
'Claude',
|
|
257
|
+
'Gemini',
|
|
258
|
+
'Codex',
|
|
259
|
+
'Antigravity',
|
|
260
|
+
'Chat',
|
|
261
|
+
'Language Model',
|
|
262
|
+
],
|
|
263
|
+
},
|
|
264
|
+
inputs: [],
|
|
265
|
+
outputs: [n8n_node_types_js_1.NodeConnectionTypes.AiLanguageModel],
|
|
266
|
+
outputNames: ['Model'],
|
|
267
|
+
properties: [
|
|
268
|
+
{
|
|
269
|
+
displayName: '',
|
|
270
|
+
name: 'notice',
|
|
271
|
+
type: 'notice',
|
|
272
|
+
default: '',
|
|
273
|
+
description: 'Connect this node to the "Chat Model" connector of an AI Agent or Chain node',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
displayName: 'CLI Tool',
|
|
277
|
+
name: 'tool',
|
|
278
|
+
type: 'options',
|
|
279
|
+
options: [
|
|
280
|
+
{
|
|
281
|
+
name: 'Claude',
|
|
282
|
+
value: 'claude',
|
|
283
|
+
description: 'Anthropic Claude CLI',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: 'Gemini',
|
|
287
|
+
value: 'gemini',
|
|
288
|
+
description: 'Google Gemini CLI',
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: 'Codex',
|
|
292
|
+
value: 'codex',
|
|
293
|
+
description: 'OpenAI Codex CLI',
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
name: 'Antigravity',
|
|
297
|
+
value: 'antigravity',
|
|
298
|
+
description: 'Antigravity Tools (HTTP)',
|
|
299
|
+
},
|
|
300
|
+
],
|
|
301
|
+
default: 'claude',
|
|
302
|
+
description: 'Which CLI tool to use as the language model',
|
|
303
|
+
},
|
|
304
|
+
// ─── Claude models ────────────────────────
|
|
305
|
+
{
|
|
306
|
+
displayName: 'Model',
|
|
307
|
+
name: 'claudeModel',
|
|
308
|
+
type: 'options',
|
|
309
|
+
options: [
|
|
310
|
+
{ name: 'Sonnet', value: 'sonnet' },
|
|
311
|
+
{ name: 'Opus', value: 'opus' },
|
|
312
|
+
{ name: 'Haiku', value: 'haiku' },
|
|
313
|
+
],
|
|
314
|
+
default: 'sonnet',
|
|
315
|
+
description: 'Claude model variant',
|
|
316
|
+
displayOptions: { show: { tool: ['claude'] } },
|
|
317
|
+
},
|
|
318
|
+
// ─── Gemini models ────────────────────────
|
|
319
|
+
{
|
|
320
|
+
displayName: 'Model',
|
|
321
|
+
name: 'geminiModel',
|
|
322
|
+
type: 'options',
|
|
323
|
+
options: [
|
|
324
|
+
{ name: 'Gemini 2.5 Flash', value: 'gemini-2.5-flash' },
|
|
325
|
+
{ name: 'Gemini 2.5 Pro', value: 'gemini-2.5-pro' },
|
|
326
|
+
],
|
|
327
|
+
default: 'gemini-2.5-flash',
|
|
328
|
+
description: 'Gemini model variant',
|
|
329
|
+
displayOptions: { show: { tool: ['gemini'] } },
|
|
330
|
+
},
|
|
331
|
+
// ─── Codex models ─────────────────────────
|
|
332
|
+
{
|
|
333
|
+
displayName: 'Model',
|
|
334
|
+
name: 'codexModel',
|
|
335
|
+
type: 'options',
|
|
336
|
+
options: [
|
|
337
|
+
{ name: 'o4-mini', value: 'o4-mini' },
|
|
338
|
+
{ name: 'o3', value: 'o3' },
|
|
339
|
+
{ name: 'GPT-4.1', value: 'gpt-4.1' },
|
|
340
|
+
],
|
|
341
|
+
default: 'o4-mini',
|
|
342
|
+
description: 'Codex model variant',
|
|
343
|
+
displayOptions: { show: { tool: ['codex'] } },
|
|
344
|
+
},
|
|
345
|
+
// ─── Antigravity model (free text) ────────
|
|
346
|
+
{
|
|
347
|
+
displayName: 'Model',
|
|
348
|
+
name: 'antigravityModel',
|
|
349
|
+
type: 'string',
|
|
350
|
+
default: 'gemini-2.5-flash',
|
|
351
|
+
description: 'Antigravity model name (depends on provider configuration)',
|
|
352
|
+
displayOptions: { show: { tool: ['antigravity'] } },
|
|
353
|
+
},
|
|
354
|
+
// ─── Options collection (matches standard chat model layout) ───
|
|
355
|
+
{
|
|
356
|
+
displayName: 'Options',
|
|
357
|
+
name: 'options',
|
|
358
|
+
type: 'collection',
|
|
359
|
+
default: {},
|
|
360
|
+
placeholder: 'Add Option',
|
|
361
|
+
options: [
|
|
362
|
+
{
|
|
363
|
+
displayName: 'Working Directory',
|
|
364
|
+
name: 'workingDir',
|
|
365
|
+
type: 'string',
|
|
366
|
+
default: '',
|
|
367
|
+
description: 'Working directory for CLI execution. Leave empty for system temp directory.',
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
displayName: 'Timeout (seconds)',
|
|
371
|
+
name: 'timeout',
|
|
372
|
+
type: 'number',
|
|
373
|
+
default: 300,
|
|
374
|
+
description: 'Maximum execution time in seconds (max 600)',
|
|
375
|
+
},
|
|
376
|
+
],
|
|
377
|
+
},
|
|
378
|
+
],
|
|
379
|
+
};
|
|
380
|
+
async supplyData(itemIndex) {
|
|
381
|
+
const tool = this.getNodeParameter('tool', itemIndex);
|
|
382
|
+
const options = this.getNodeParameter('options', itemIndex);
|
|
383
|
+
const workingDir = options?.workingDir ?? '';
|
|
384
|
+
const timeout = options?.timeout ?? 300;
|
|
385
|
+
// Resolve model based on selected tool
|
|
386
|
+
let model;
|
|
387
|
+
switch (tool) {
|
|
388
|
+
case 'claude':
|
|
389
|
+
model = this.getNodeParameter('claudeModel', itemIndex);
|
|
390
|
+
break;
|
|
391
|
+
case 'gemini':
|
|
392
|
+
model = this.getNodeParameter('geminiModel', itemIndex);
|
|
393
|
+
break;
|
|
394
|
+
case 'codex':
|
|
395
|
+
model = this.getNodeParameter('codexModel', itemIndex);
|
|
396
|
+
break;
|
|
397
|
+
case 'antigravity':
|
|
398
|
+
model = this.getNodeParameter('antigravityModel', itemIndex);
|
|
399
|
+
break;
|
|
400
|
+
default:
|
|
401
|
+
model = '';
|
|
402
|
+
}
|
|
403
|
+
const helpers = this.helpers;
|
|
404
|
+
/**
|
|
405
|
+
* Call the Octo AI CLI execute endpoint and return the text output.
|
|
406
|
+
*/
|
|
407
|
+
async function callCli(prompt) {
|
|
408
|
+
const response = (await helpers.httpRequest({
|
|
409
|
+
method: 'POST',
|
|
410
|
+
url: 'http://127.0.0.1:9988/api/v1/ai-cli/execute',
|
|
411
|
+
body: {
|
|
412
|
+
tool,
|
|
413
|
+
prompt,
|
|
414
|
+
model: model || undefined,
|
|
415
|
+
workingDir: workingDir || undefined,
|
|
416
|
+
timeoutMs: timeout * 1000,
|
|
417
|
+
},
|
|
418
|
+
json: true,
|
|
419
|
+
}));
|
|
420
|
+
const data = response?.data;
|
|
421
|
+
if (data?.error) {
|
|
422
|
+
throw new Error(`CLI error (${tool}): ${data.error}`);
|
|
423
|
+
}
|
|
424
|
+
return data?.output ?? '';
|
|
425
|
+
}
|
|
426
|
+
const chatModel = createRunnableChatModel(callCli, { tool, model });
|
|
427
|
+
return { response: chatModel };
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
exports.OctoCliChatModel = OctoCliChatModel;
|
|
431
|
+
//# sourceMappingURL=OctoCliChatModel.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OctoCliChatModel.node.js","sourceRoot":"","sources":["../../../src/n8n/nodes/OctoCliChatModel.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from './n8n-node-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Octo Codex CLI Tool — n8n AI Tool sub-node.
|
|
4
|
+
*
|
|
5
|
+
* Connects to the AI Agent node as a tool. When the AI Agent
|
|
6
|
+
* decides to use this tool, it calls the Octo Server API to
|
|
7
|
+
* execute Codex CLI with the given prompt.
|
|
8
|
+
*/
|
|
9
|
+
export declare class OctoCodexCliTool implements INodeType {
|
|
10
|
+
description: INodeTypeDescription;
|
|
11
|
+
supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=OctoCodexCliTool.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OctoCodexCliTool.node.d.ts","sourceRoot":"","sources":["../../../src/n8n/nodes/OctoCodexCliTool.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACX,MAAM,qBAAqB,CAAC;AAG7B;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,WAAW,EAAE,oBAAoB,CAoD/B;IAEI,UAAU,CACd,IAAI,EAAE,oBAAoB,EAC1B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC;CA+CvB"}
|