orbitx 0.0.3 → 0.0.4
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/{src/core/ai-provider.ts → dist/core/ai-provider.d.ts} +19 -25
- package/dist/core/ai-provider.d.ts.map +1 -0
- package/dist/core/ai-provider.js +4 -0
- package/dist/core/ai-provider.js.map +1 -0
- package/dist/core/base-agent.d.ts +53 -0
- package/dist/core/base-agent.d.ts.map +1 -0
- package/{src/core/base-agent.ts → dist/core/base-agent.js} +197 -269
- package/dist/core/base-agent.js.map +1 -0
- package/dist/core/deepseek-provider.d.ts +9 -0
- package/dist/core/deepseek-provider.d.ts.map +1 -0
- package/{src/core/deepseek-provider.ts → dist/core/deepseek-provider.js} +60 -71
- package/dist/core/deepseek-provider.js.map +1 -0
- package/dist/core/mcp-client.d.ts +21 -0
- package/dist/core/mcp-client.d.ts.map +1 -0
- package/{src/core/mcp-client.ts → dist/core/mcp-client.js} +90 -113
- package/dist/core/mcp-client.js.map +1 -0
- package/dist/core/mcp-computer.d.ts +4 -0
- package/dist/core/mcp-computer.d.ts.map +1 -0
- package/{src/core/mcp-computer.ts → dist/core/mcp-computer.js} +5 -5
- package/dist/core/mcp-computer.js.map +1 -0
- package/dist/core/mcp-connection.d.ts +6 -0
- package/dist/core/mcp-connection.d.ts.map +1 -0
- package/dist/core/mcp-connection.js +10 -0
- package/dist/core/mcp-connection.js.map +1 -0
- package/dist/core/mcp-ipc-connection.d.ts +20 -0
- package/dist/core/mcp-ipc-connection.d.ts.map +1 -0
- package/{src/core/mcp-ipc-connection.ts → dist/core/mcp-ipc-connection.js} +126 -153
- package/dist/core/mcp-ipc-connection.js.map +1 -0
- package/dist/core/mcp-server.d.ts +9 -0
- package/dist/core/mcp-server.d.ts.map +1 -0
- package/{src/core/mcp-server.ts → dist/core/mcp-server.js} +45 -49
- package/dist/core/mcp-server.js.map +1 -0
- package/dist/core/mcp.d.ts +29 -0
- package/dist/core/mcp.d.ts.map +1 -0
- package/dist/core/mcp.js +11 -0
- package/dist/core/mcp.js.map +1 -0
- package/dist/core/ollama-provider.d.ts +9 -0
- package/dist/core/ollama-provider.d.ts.map +1 -0
- package/{src/core/ollama-provider.ts → dist/core/ollama-provider.js} +59 -70
- package/dist/core/ollama-provider.js.map +1 -0
- package/dist/core/skill.d.ts +15 -0
- package/dist/core/skill.d.ts.map +1 -0
- package/dist/core/skill.js +11 -0
- package/dist/core/skill.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +16 -17
- package/dist/index.js.map +1 -0
- package/dist/templates/researcher.d.ts +27 -0
- package/dist/templates/researcher.d.ts.map +1 -0
- package/dist/templates/researcher.js +70 -0
- package/dist/templates/researcher.js.map +1 -0
- package/dist/templates/simple.d.ts +27 -0
- package/dist/templates/simple.d.ts.map +1 -0
- package/dist/templates/simple.js +35 -0
- package/dist/templates/simple.js.map +1 -0
- package/dist/tests/mcp.test.d.ts +2 -0
- package/dist/tests/mcp.test.d.ts.map +1 -0
- package/{src/tests/mcp.test.ts → dist/tests/mcp.test.js} +55 -73
- package/dist/tests/mcp.test.js.map +1 -0
- package/dist/tools/fs/index.d.ts +3 -0
- package/dist/tools/fs/index.d.ts.map +1 -0
- package/dist/tools/fs/index.js +3 -0
- package/dist/tools/fs/index.js.map +1 -0
- package/dist/tools/fs/read-file.d.ts +4 -0
- package/dist/tools/fs/read-file.d.ts.map +1 -0
- package/{src/tools/fs/read-file.ts → dist/tools/fs/read-file.js} +49 -54
- package/dist/tools/fs/read-file.js.map +1 -0
- package/dist/tools/fs/write-file.d.ts +4 -0
- package/dist/tools/fs/write-file.d.ts.map +1 -0
- package/{src/tools/fs/write-file.ts → dist/tools/fs/write-file.js} +68 -73
- package/dist/tools/fs/write-file.js.map +1 -0
- package/dist/tools/utils/get-current-time.d.ts +4 -0
- package/dist/tools/utils/get-current-time.d.ts.map +1 -0
- package/{src/tools/utils/get-current-time.ts → dist/tools/utils/get-current-time.js} +40 -45
- package/dist/tools/utils/get-current-time.js.map +1 -0
- package/dist/tools/utils/index.d.ts +2 -0
- package/dist/tools/utils/index.d.ts.map +1 -0
- package/dist/tools/utils/index.js +2 -0
- package/dist/tools/utils/index.js.map +1 -0
- package/dist/tools/www/fetch.d.ts +4 -0
- package/dist/tools/www/fetch.d.ts.map +1 -0
- package/{src/tools/www/fetch.ts → dist/tools/www/fetch.js} +147 -161
- package/dist/tools/www/fetch.js.map +1 -0
- package/dist/tools/www/index.d.ts +4 -0
- package/dist/tools/www/index.d.ts.map +1 -0
- package/dist/tools/www/index.js +4 -0
- package/dist/tools/www/index.js.map +1 -0
- package/dist/tools/www/read-web-page.d.ts +4 -0
- package/dist/tools/www/read-web-page.d.ts.map +1 -0
- package/{src/tools/www/read-web-page.ts → dist/tools/www/read-web-page.js} +330 -350
- package/dist/tools/www/read-web-page.js.map +1 -0
- package/dist/tools/www/web-search.d.ts +4 -0
- package/dist/tools/www/web-search.d.ts.map +1 -0
- package/{src/tools/www/web-search.ts → dist/tools/www/web-search.js} +82 -102
- package/dist/tools/www/web-search.js.map +1 -0
- package/package.json +19 -5
- package/.env.example +0 -1
- package/orbitx.png +0 -0
- package/public/index.html +0 -397
- package/src/core/mcp-connection.ts +0 -12
- package/src/core/mcp.ts +0 -23
- package/src/core/skill.ts +0 -16
- package/src/templates/researcher.ts +0 -73
- package/src/templates/simple.ts +0 -64
- package/src/tools/fs/index.ts +0 -2
- package/src/tools/utils/index.ts +0 -1
- package/src/tools/www/index.ts +0 -3
- package/tsconfig.json +0 -34
|
@@ -1,153 +1,126 @@
|
|
|
1
|
-
import * as net from "net";
|
|
2
|
-
import * as fs from "fs";
|
|
3
|
-
import MCPConnection from "./mcp-connection";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this.
|
|
69
|
-
this.
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
this.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
try {
|
|
129
|
-
const parsed = JSON.parse(trimmed);
|
|
130
|
-
this.emit("read", parsed);
|
|
131
|
-
} catch {
|
|
132
|
-
this.emit("error", new Error(`MCPIPCConnection: malformed JSON – ${trimmed}`));
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
private _cleanSocketFile(): void {
|
|
138
|
-
try {
|
|
139
|
-
fs.unlinkSync(this.socketPath);
|
|
140
|
-
} catch { }
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
private _maybeReconnect(): void {
|
|
144
|
-
if (this.role === "client") {
|
|
145
|
-
setTimeout(() => {
|
|
146
|
-
this.role = "pending";
|
|
147
|
-
this._tryConnect();
|
|
148
|
-
}, 500);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
export default MCPIPCConnection;
|
|
1
|
+
import * as net from "net";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import MCPConnection from "./mcp-connection";
|
|
4
|
+
export class MCPIPCConnection extends MCPConnection {
|
|
5
|
+
socketPath;
|
|
6
|
+
socket = null;
|
|
7
|
+
server = null;
|
|
8
|
+
role = "pending";
|
|
9
|
+
writeBuffer = [];
|
|
10
|
+
readBuffer = "";
|
|
11
|
+
constructor(socketPath) {
|
|
12
|
+
super(true);
|
|
13
|
+
this.socketPath = socketPath;
|
|
14
|
+
this.on("write", (data) => {
|
|
15
|
+
this._sendJSON(data);
|
|
16
|
+
});
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
this._tryConnect();
|
|
19
|
+
}, Math.random() * 200); // Pervent Race Condtion
|
|
20
|
+
}
|
|
21
|
+
close() {
|
|
22
|
+
this.socket?.destroy();
|
|
23
|
+
this.server?.close();
|
|
24
|
+
this._cleanSocketFile();
|
|
25
|
+
}
|
|
26
|
+
_tryConnect() {
|
|
27
|
+
const sock = net.createConnection({ path: this.socketPath });
|
|
28
|
+
sock.once("connect", () => {
|
|
29
|
+
this.role = "client";
|
|
30
|
+
this.emit("role", "client");
|
|
31
|
+
this._attachSocket(sock);
|
|
32
|
+
});
|
|
33
|
+
sock.once("error", (err) => {
|
|
34
|
+
if (err.code === "ENOENT" || err.code === "ECONNREFUSED") {
|
|
35
|
+
sock.destroy();
|
|
36
|
+
this._becomeServer();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.emit("error", err);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
_becomeServer() {
|
|
44
|
+
this._cleanSocketFile();
|
|
45
|
+
const srv = net.createServer((peer) => {
|
|
46
|
+
this.role = "server";
|
|
47
|
+
this.emit("role", "server");
|
|
48
|
+
srv.close();
|
|
49
|
+
this._attachSocket(peer);
|
|
50
|
+
});
|
|
51
|
+
srv.on("error", (err) => this.emit("error", err));
|
|
52
|
+
srv.listen({ path: this.socketPath }, () => {
|
|
53
|
+
this.server = srv;
|
|
54
|
+
this.emit("listening", this.socketPath);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
_attachSocket(sock) {
|
|
58
|
+
this.socket = sock;
|
|
59
|
+
for (const chunk of this.writeBuffer) {
|
|
60
|
+
sock.write(chunk);
|
|
61
|
+
}
|
|
62
|
+
this.writeBuffer = [];
|
|
63
|
+
sock.setEncoding("utf8");
|
|
64
|
+
sock.on("data", (chunk) => {
|
|
65
|
+
this._handleIncoming(chunk);
|
|
66
|
+
});
|
|
67
|
+
sock.on("end", () => {
|
|
68
|
+
this.emit("disconnected");
|
|
69
|
+
this._maybeReconnect();
|
|
70
|
+
});
|
|
71
|
+
sock.on("error", (err) => {
|
|
72
|
+
this.emit("error", err);
|
|
73
|
+
});
|
|
74
|
+
this.emit("connected", this.role);
|
|
75
|
+
}
|
|
76
|
+
_sendJSON(data) {
|
|
77
|
+
let line;
|
|
78
|
+
try {
|
|
79
|
+
line = JSON.stringify(data) + "\n";
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
this.emit("error", new Error(`MCPIPCConnection: cannot serialise data – ${err}`));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const chunk = Buffer.from(line, "utf8");
|
|
86
|
+
if (this.socket && !this.socket.destroyed) {
|
|
87
|
+
this.socket.write(chunk);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.writeBuffer.push(chunk);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
_handleIncoming(chunk) {
|
|
94
|
+
this.readBuffer += chunk;
|
|
95
|
+
const lines = this.readBuffer.split("\n");
|
|
96
|
+
this.readBuffer = lines.pop() ?? "";
|
|
97
|
+
for (const line of lines) {
|
|
98
|
+
const trimmed = line.trim();
|
|
99
|
+
if (!trimmed)
|
|
100
|
+
continue;
|
|
101
|
+
try {
|
|
102
|
+
const parsed = JSON.parse(trimmed);
|
|
103
|
+
this.emit("read", parsed);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
this.emit("error", new Error(`MCPIPCConnection: malformed JSON – ${trimmed}`));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
_cleanSocketFile() {
|
|
111
|
+
try {
|
|
112
|
+
fs.unlinkSync(this.socketPath);
|
|
113
|
+
}
|
|
114
|
+
catch { }
|
|
115
|
+
}
|
|
116
|
+
_maybeReconnect() {
|
|
117
|
+
if (this.role === "client") {
|
|
118
|
+
setTimeout(() => {
|
|
119
|
+
this.role = "pending";
|
|
120
|
+
this._tryConnect();
|
|
121
|
+
}, 500);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export default MCPIPCConnection;
|
|
126
|
+
//# sourceMappingURL=mcp-ipc-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-ipc-connection.js","sourceRoot":"","sources":["../../src/core/mcp-ipc-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type MCPTool from "./mcp";
|
|
2
|
+
import type MCPConnection from "./mcp-connection";
|
|
3
|
+
export declare class MCPServer {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(connection: MCPConnection);
|
|
6
|
+
registerTool(tool: MCPTool): void;
|
|
7
|
+
}
|
|
8
|
+
export default MCPServer;
|
|
9
|
+
//# sourceMappingURL=mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD,qBAAa,SAAS;;gBAGN,UAAU,EAAE,aAAa;IAqCrC,YAAY,CAAC,IAAI,EAAE,OAAO;CAG7B;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -1,49 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export default MCPServer;
|
|
1
|
+
export class MCPServer {
|
|
2
|
+
#connection;
|
|
3
|
+
#tools = [];
|
|
4
|
+
constructor(connection) {
|
|
5
|
+
this.#connection = connection;
|
|
6
|
+
this.#connection.on("read", (data) => {
|
|
7
|
+
const topic = data.topic;
|
|
8
|
+
const pid = data.pid;
|
|
9
|
+
if (topic == "getTools") {
|
|
10
|
+
this.#connection.emit("write", {
|
|
11
|
+
pid,
|
|
12
|
+
topic: "getToolsCallback",
|
|
13
|
+
tools: this.#tools.map(tool => ({
|
|
14
|
+
name: tool.getOptions().name,
|
|
15
|
+
description: tool.getOptions().description,
|
|
16
|
+
inputs: tool.getOptions().inputs
|
|
17
|
+
}))
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (topic == "toolCall") {
|
|
21
|
+
const tool = this.#tools.find(t => t.getOptions().name == data.tool);
|
|
22
|
+
if (tool) {
|
|
23
|
+
tool.getOptions().execute(data.envID, data.inputs).then((response) => {
|
|
24
|
+
this.#connection.emit("write", {
|
|
25
|
+
pid,
|
|
26
|
+
topic: "toolCallCallback",
|
|
27
|
+
output: response
|
|
28
|
+
});
|
|
29
|
+
}).catch(error => {
|
|
30
|
+
this.#connection.emit("write", {
|
|
31
|
+
pid,
|
|
32
|
+
topic: "toolCallCallback",
|
|
33
|
+
output: { error: error.message }
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
registerTool(tool) {
|
|
41
|
+
this.#tools.push(tool);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export default MCPServer;
|
|
45
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAClB,WAAW,CAAC;IACZ,MAAM,GAAc,EAAE,CAAC;IACvB,YAAY,UAAyB;QACjC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC3B,GAAG;oBACH,KAAK,EAAE,kBAAkB;oBACzB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC5B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI;wBAC5B,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW;wBAC1C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM;qBACnC,CAAC,CAAC;iBACN,CAAC,CAAC;YACP,CAAC;YACD,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACjE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;4BAC3B,GAAG;4BACH,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,QAAQ;yBACnB,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACb,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;4BAC3B,GAAG;4BACH,KAAK,EAAE,kBAAkB;4BACzB,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;yBACnC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAa;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACJ;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare class MCPTool {
|
|
2
|
+
#private;
|
|
3
|
+
constructor(options: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
inputs: {
|
|
7
|
+
name: string;
|
|
8
|
+
type: "number" | "string" | "boolean" | "object" | "array";
|
|
9
|
+
description: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
default?: any;
|
|
12
|
+
}[];
|
|
13
|
+
execute: (envID: string, inputs: Record<string, any>) => Promise<any>;
|
|
14
|
+
});
|
|
15
|
+
getOptions(): {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
inputs: {
|
|
19
|
+
name: string;
|
|
20
|
+
type: "number" | "string" | "boolean" | "object" | "array";
|
|
21
|
+
description: string;
|
|
22
|
+
required?: boolean;
|
|
23
|
+
default?: any;
|
|
24
|
+
}[];
|
|
25
|
+
execute: (envID: string, inputs: Record<string, any>) => Promise<any>;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export default MCPTool;
|
|
29
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AAAA,qBAAa,OAAO;;gBAEJ,OAAO,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE,CAAC;QACJ,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KACzE;IAID,UAAU;cAdA,MAAM;qBACC,MAAM;gBACX;YACJ,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;YAC3D,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;SACjB,EAAE;iBACM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;;CAQ5E;AAED,eAAe,OAAO,CAAC"}
|
package/dist/core/mcp.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/core/mcp.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAChB,QAAQ,CAAC;IACT,YAAY,OAWX;QACG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import AIProvider, { type Message, type ChatResponse, type StreamCallback } from "./ai-provider";
|
|
2
|
+
export declare class OllamaProvider extends AIProvider {
|
|
3
|
+
private client;
|
|
4
|
+
private model;
|
|
5
|
+
constructor(model: string, host?: string);
|
|
6
|
+
chat(messages: Message[], streamCallback?: StreamCallback): Promise<ChatResponse>;
|
|
7
|
+
}
|
|
8
|
+
export default OllamaProvider;
|
|
9
|
+
//# sourceMappingURL=ollama-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama-provider.d.ts","sourceRoot":"","sources":["../../src/core/ollama-provider.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEjG,qBAAa,cAAe,SAAQ,UAAU;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAiC;IAM5D,IAAI,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,CAAC,EAAE,cAAc,GAChC,OAAO,CAAC,YAAY,CAAC;CAmD3B;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1,70 +1,59 @@
|
|
|
1
|
-
import { Ollama } from "ollama";
|
|
2
|
-
import AIProvider, {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
streamCallback
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
content:
|
|
52
|
-
inputTokens:
|
|
53
|
-
outputTokens:
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return {
|
|
62
|
-
content: response.message?.content || "",
|
|
63
|
-
inputTokens: response.prompt_eval_count || 0,
|
|
64
|
-
outputTokens: response.eval_count || 0
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export default OllamaProvider;
|
|
1
|
+
import { Ollama } from "ollama";
|
|
2
|
+
import AIProvider, {} from "./ai-provider";
|
|
3
|
+
export class OllamaProvider extends AIProvider {
|
|
4
|
+
client;
|
|
5
|
+
model;
|
|
6
|
+
constructor(model, host = "http://localhost:11434") {
|
|
7
|
+
super();
|
|
8
|
+
this.client = new Ollama({ host });
|
|
9
|
+
this.model = model;
|
|
10
|
+
}
|
|
11
|
+
async chat(messages, streamCallback) {
|
|
12
|
+
const formattedMessages = messages.map(msg => ({
|
|
13
|
+
role: msg.role,
|
|
14
|
+
content: msg.content || ""
|
|
15
|
+
}));
|
|
16
|
+
if (streamCallback) {
|
|
17
|
+
const stream = await this.client.chat({
|
|
18
|
+
model: this.model,
|
|
19
|
+
messages: formattedMessages,
|
|
20
|
+
stream: true
|
|
21
|
+
});
|
|
22
|
+
let fullContent = "";
|
|
23
|
+
let promptEvalCount = 0;
|
|
24
|
+
let evalCount = 0;
|
|
25
|
+
for await (const chunk of stream) {
|
|
26
|
+
const content = chunk.message?.content || "";
|
|
27
|
+
if (content) {
|
|
28
|
+
fullContent += content;
|
|
29
|
+
streamCallback({ role: "assistant", content, done: false });
|
|
30
|
+
}
|
|
31
|
+
if (chunk.prompt_eval_count !== undefined) {
|
|
32
|
+
promptEvalCount = chunk.prompt_eval_count;
|
|
33
|
+
}
|
|
34
|
+
if (chunk.eval_count !== undefined) {
|
|
35
|
+
evalCount = chunk.eval_count;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
streamCallback({ role: "assistant", content: "", done: true });
|
|
39
|
+
return {
|
|
40
|
+
content: fullContent,
|
|
41
|
+
inputTokens: promptEvalCount,
|
|
42
|
+
outputTokens: evalCount
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const response = await this.client.chat({
|
|
47
|
+
model: this.model,
|
|
48
|
+
messages: formattedMessages
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
content: response.message?.content || "",
|
|
52
|
+
inputTokens: response.prompt_eval_count || 0,
|
|
53
|
+
outputTokens: response.eval_count || 0
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export default OllamaProvider;
|
|
59
|
+
//# sourceMappingURL=ollama-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama-provider.js","sourceRoot":"","sources":["../../src/core/ollama-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,UAAU,EAAE,EAAwD,MAAM,eAAe,CAAC;AAEjG,MAAM,OAAO,cAAe,SAAQ,UAAU;IAClC,MAAM,CAAS;IACf,KAAK,CAAS;IAEtB,YAAY,KAAa,EAAE,OAAe,wBAAwB;QAC9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CACN,QAAmB,EACnB,cAA+B;QAE/B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;SAC7B,CAAC,CAAC,CAAC;QAEJ,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,iBAAwB;gBAClC,MAAM,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC7C,IAAI,OAAO,EAAE,CAAC;oBACV,WAAW,IAAI,OAAO,CAAC;oBACvB,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,CAAC;gBAED,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACxC,eAAe,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBAC9C,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;gBACjC,CAAC;YACL,CAAC;YAED,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,OAAO;gBACH,OAAO,EAAE,WAAW;gBACpB,WAAW,EAAE,eAAe;gBAC5B,YAAY,EAAE,SAAS;aAC1B,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,iBAAwB;aACrC,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;gBACxC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,IAAI,CAAC;gBAC5C,YAAY,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC;aACzC,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class Skill {
|
|
2
|
+
#private;
|
|
3
|
+
constructor(skill: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
instructions: string;
|
|
7
|
+
});
|
|
8
|
+
getSkill(): {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
instructions: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export default Skill;
|
|
15
|
+
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/core/skill.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK;;gBAEF,KAAK,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACxB;IAID,QAAQ;cAPE,MAAM;qBACC,MAAM;sBACL,MAAM;;CAQ3B;AAED,eAAe,KAAK,CAAC"}
|