@n8n/fs-proxy 0.1.0-rc1
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/LICENSE.md +88 -0
- package/README.md +267 -0
- package/dist/build.tsbuildinfo +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +189 -0
- package/dist/cli.js.map +1 -0
- package/dist/config-templates.d.ts +10 -0
- package/dist/config-templates.js +39 -0
- package/dist/config-templates.js.map +1 -0
- package/dist/config.d.ts +67 -0
- package/dist/config.js +285 -0
- package/dist/config.js.map +1 -0
- package/dist/confirm-resource-cli.d.ts +4 -0
- package/dist/confirm-resource-cli.js +28 -0
- package/dist/confirm-resource-cli.js.map +1 -0
- package/dist/daemon.d.ts +11 -0
- package/dist/daemon.js +249 -0
- package/dist/daemon.js.map +1 -0
- package/dist/gateway-client.d.ts +38 -0
- package/dist/gateway-client.js +401 -0
- package/dist/gateway-client.js.map +1 -0
- package/dist/logger.d.ts +26 -0
- package/dist/logger.js +350 -0
- package/dist/logger.js.map +1 -0
- package/dist/settings-store.d.ts +29 -0
- package/dist/settings-store.js +224 -0
- package/dist/settings-store.js.map +1 -0
- package/dist/startup-config-cli.d.ts +5 -0
- package/dist/startup-config-cli.js +185 -0
- package/dist/startup-config-cli.js.map +1 -0
- package/dist/tools/browser/index.d.ts +14 -0
- package/dist/tools/browser/index.js +72 -0
- package/dist/tools/browser/index.js.map +1 -0
- package/dist/tools/filesystem/constants.d.ts +1 -0
- package/dist/tools/filesystem/constants.js +5 -0
- package/dist/tools/filesystem/constants.js.map +1 -0
- package/dist/tools/filesystem/copy-file.d.ts +14 -0
- package/dist/tools/filesystem/copy-file.js +65 -0
- package/dist/tools/filesystem/copy-file.js.map +1 -0
- package/dist/tools/filesystem/create-directory.d.ts +11 -0
- package/dist/tools/filesystem/create-directory.js +60 -0
- package/dist/tools/filesystem/create-directory.js.map +1 -0
- package/dist/tools/filesystem/delete.d.ts +11 -0
- package/dist/tools/filesystem/delete.js +64 -0
- package/dist/tools/filesystem/delete.js.map +1 -0
- package/dist/tools/filesystem/edit-file.d.ts +17 -0
- package/dist/tools/filesystem/edit-file.js +71 -0
- package/dist/tools/filesystem/edit-file.js.map +1 -0
- package/dist/tools/filesystem/fs-utils.d.ts +15 -0
- package/dist/tools/filesystem/fs-utils.js +178 -0
- package/dist/tools/filesystem/fs-utils.js.map +1 -0
- package/dist/tools/filesystem/get-file-tree.d.ts +14 -0
- package/dist/tools/filesystem/get-file-tree.js +38 -0
- package/dist/tools/filesystem/get-file-tree.js.map +1 -0
- package/dist/tools/filesystem/index.d.ts +3 -0
- package/dist/tools/filesystem/index.js +28 -0
- package/dist/tools/filesystem/index.js.map +1 -0
- package/dist/tools/filesystem/list-files.d.ts +17 -0
- package/dist/tools/filesystem/list-files.js +76 -0
- package/dist/tools/filesystem/list-files.js.map +1 -0
- package/dist/tools/filesystem/move.d.ts +14 -0
- package/dist/tools/filesystem/move.js +65 -0
- package/dist/tools/filesystem/move.js.map +1 -0
- package/dist/tools/filesystem/read-file.d.ts +17 -0
- package/dist/tools/filesystem/read-file.js +86 -0
- package/dist/tools/filesystem/read-file.js.map +1 -0
- package/dist/tools/filesystem/search-files.d.ts +23 -0
- package/dist/tools/filesystem/search-files.js +128 -0
- package/dist/tools/filesystem/search-files.js.map +1 -0
- package/dist/tools/filesystem/write-file.d.ts +14 -0
- package/dist/tools/filesystem/write-file.js +68 -0
- package/dist/tools/filesystem/write-file.js.map +1 -0
- package/dist/tools/monitor-utils.d.ts +2 -0
- package/dist/tools/monitor-utils.js +11 -0
- package/dist/tools/monitor-utils.js.map +1 -0
- package/dist/tools/mouse-keyboard/index.d.ts +2 -0
- package/dist/tools/mouse-keyboard/index.js +70 -0
- package/dist/tools/mouse-keyboard/index.js.map +1 -0
- package/dist/tools/mouse-keyboard/mouse-keyboard.d.ts +130 -0
- package/dist/tools/mouse-keyboard/mouse-keyboard.js +249 -0
- package/dist/tools/mouse-keyboard/mouse-keyboard.js.map +1 -0
- package/dist/tools/screenshot/index.d.ts +2 -0
- package/dist/tools/screenshot/index.js +26 -0
- package/dist/tools/screenshot/index.js.map +1 -0
- package/dist/tools/screenshot/screenshot.d.ts +22 -0
- package/dist/tools/screenshot/screenshot.js +91 -0
- package/dist/tools/screenshot/screenshot.js.map +1 -0
- package/dist/tools/shell/build-shell-resource.d.ts +1 -0
- package/dist/tools/shell/build-shell-resource.js +70 -0
- package/dist/tools/shell/build-shell-resource.js.map +1 -0
- package/dist/tools/shell/index.d.ts +2 -0
- package/dist/tools/shell/index.js +11 -0
- package/dist/tools/shell/index.js.map +1 -0
- package/dist/tools/shell/shell-execute.d.ts +17 -0
- package/dist/tools/shell/shell-execute.js +88 -0
- package/dist/tools/shell/shell-execute.js.map +1 -0
- package/dist/tools/test-utils.d.ts +3 -0
- package/dist/tools/test-utils.js +16 -0
- package/dist/tools/test-utils.js.map +1 -0
- package/dist/tools/types.d.ts +43 -0
- package/dist/tools/types.js +3 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/utils.d.ts +3 -0
- package/dist/tools/utils.js +19 -0
- package/dist/tools/utils.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.textOf = textOf;
|
|
4
|
+
exports.structuredOf = structuredOf;
|
|
5
|
+
function textOf(result) {
|
|
6
|
+
const item = result.content[0];
|
|
7
|
+
if (item.type !== 'text')
|
|
8
|
+
throw new Error(`Expected text content, got ${item.type}`);
|
|
9
|
+
return item.text;
|
|
10
|
+
}
|
|
11
|
+
function structuredOf(result) {
|
|
12
|
+
if (!result.structuredContent)
|
|
13
|
+
throw new Error('Expected structuredContent');
|
|
14
|
+
return result.structuredContent;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/tools/test-utils.ts"],"names":[],"mappings":";;AAGA,wBAIC;AAGD,oCAGC;AAVD,SAAgB,MAAM,CAAC,MAAsB;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,CAAC;AAGD,SAAgB,YAAY,CAAC,MAAsB;IAClD,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,iBAA4C,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
import type { ToolGroup } from '../config';
|
|
4
|
+
export type { CallToolResult };
|
|
5
|
+
export interface McpTool {
|
|
6
|
+
name: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object';
|
|
10
|
+
properties?: Record<string, unknown>;
|
|
11
|
+
required?: string[];
|
|
12
|
+
};
|
|
13
|
+
annotations?: ToolAnnotations;
|
|
14
|
+
}
|
|
15
|
+
export interface ToolContext {
|
|
16
|
+
dir: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ToolAnnotations {
|
|
19
|
+
category?: string;
|
|
20
|
+
readOnlyHint?: boolean;
|
|
21
|
+
destructiveHint?: boolean;
|
|
22
|
+
idempotentHint?: boolean;
|
|
23
|
+
openWorldHint?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface AffectedResource {
|
|
26
|
+
toolGroup: ToolGroup;
|
|
27
|
+
resource: string;
|
|
28
|
+
description: string;
|
|
29
|
+
}
|
|
30
|
+
export type ResourceDecision = 'allowOnce' | 'allowForSession' | 'alwaysAllow' | 'denyOnce' | 'alwaysDeny';
|
|
31
|
+
export type ConfirmResourceAccess = (resource: AffectedResource) => ResourceDecision | Promise<ResourceDecision>;
|
|
32
|
+
export interface ToolDefinition<TSchema extends z.ZodType = z.ZodType> {
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
inputSchema: TSchema;
|
|
36
|
+
annotations?: ToolAnnotations;
|
|
37
|
+
execute(args: z.infer<TSchema>, context: ToolContext): CallToolResult | Promise<CallToolResult>;
|
|
38
|
+
getAffectedResources(args: z.infer<TSchema>, context: ToolContext): AffectedResource[] | Promise<AffectedResource[]>;
|
|
39
|
+
}
|
|
40
|
+
export interface ToolModule {
|
|
41
|
+
isSupported(): boolean | Promise<boolean>;
|
|
42
|
+
definitions: ToolDefinition[];
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatCallToolResult = formatCallToolResult;
|
|
4
|
+
exports.formatErrorResult = formatErrorResult;
|
|
5
|
+
function formatCallToolResult(data) {
|
|
6
|
+
return {
|
|
7
|
+
content: [{ type: 'text', text: JSON.stringify(data) }],
|
|
8
|
+
structuredContent: data,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function formatErrorResult(message) {
|
|
12
|
+
const data = { error: message };
|
|
13
|
+
return {
|
|
14
|
+
content: [{ type: 'text', text: JSON.stringify(data) }],
|
|
15
|
+
structuredContent: data,
|
|
16
|
+
isError: true,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":";;AAGA,oDAKC;AAGD,8CAOC;AAfD,SAAgB,oBAAoB,CAAC,IAA6B;IACjE,OAAO;QACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,iBAAiB,EAAE,IAAI;KACvB,CAAC;AACH,CAAC;AAGD,SAAgB,iBAAiB,CAAC,OAAe;IAChD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAChC,OAAO;QACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,IAAI;KACb,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@n8n/fs-proxy",
|
|
3
|
+
"version": "0.1.0-rc1",
|
|
4
|
+
"description": "Local AI gateway for n8n Instance AI — filesystem, shell, screenshots, mouse/keyboard, and browser automation",
|
|
5
|
+
"bin": {
|
|
6
|
+
"n8n-fs-proxy": "dist/cli.js"
|
|
7
|
+
},
|
|
8
|
+
"main": "dist/cli.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/cli.js",
|
|
11
|
+
"./daemon": "./dist/daemon.js",
|
|
12
|
+
"./config": "./dist/config.js",
|
|
13
|
+
"./logger": "./dist/logger.js"
|
|
14
|
+
},
|
|
15
|
+
"module": "src/cli.ts",
|
|
16
|
+
"types": "dist/cli.d.ts",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist/**/*"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@anthropic-ai/sandbox-runtime": "^0.0.42",
|
|
22
|
+
"@inquirer/prompts": "^8.3.2",
|
|
23
|
+
"@jitsi/robotjs": "^0.6.21",
|
|
24
|
+
"@modelcontextprotocol/sdk": "1.26.0",
|
|
25
|
+
"@vscode/ripgrep": "^1.17.1",
|
|
26
|
+
"eventsource": "^3.0.6",
|
|
27
|
+
"node-screenshots": "^0.2.8",
|
|
28
|
+
"picocolors": "1.0.1",
|
|
29
|
+
"sharp": "^0.34.5",
|
|
30
|
+
"yargs-parser": "21.1.1",
|
|
31
|
+
"zod": "3.25.67",
|
|
32
|
+
"zod-to-json-schema": "3.23.3",
|
|
33
|
+
"@n8n/mcp-browser": "0.1.0-rc1"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "24.10.1",
|
|
37
|
+
"@types/yargs-parser": "21.0.0",
|
|
38
|
+
"@n8n/typescript-config": "1.3.0"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"clean": "rimraf dist .turbo",
|
|
42
|
+
"start": "node dist/cli.js serve",
|
|
43
|
+
"dev": "pnpm watch",
|
|
44
|
+
"typecheck": "tsc --noEmit",
|
|
45
|
+
"build": "tsc -p tsconfig.build.json",
|
|
46
|
+
"format": "biome format --write src",
|
|
47
|
+
"format:check": "biome ci src",
|
|
48
|
+
"lint": "eslint . --quiet",
|
|
49
|
+
"lint:fix": "eslint . --fix",
|
|
50
|
+
"watch": "tsc -p tsconfig.build.json --watch",
|
|
51
|
+
"test": "jest",
|
|
52
|
+
"test:unit": "jest",
|
|
53
|
+
"test:dev": "jest --watch"
|
|
54
|
+
}
|
|
55
|
+
}
|