@kafca/agentdock 0.1.45 → 0.1.47
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/README.md +11 -0
- package/dist/renderer/assets/{Badge-BIojwD6s.js → Badge-BYREM3t3.js} +1 -1
- package/dist/renderer/assets/Chat-Dtb5X7sB.js +2 -0
- package/dist/renderer/assets/{ChatMarkdown-DqszsPB_.js → ChatMarkdown-_slLloCh.js} +1 -1
- package/dist/renderer/assets/Config-pHichs7H.js +21 -0
- package/dist/renderer/assets/CronList-CJQMeCjz.js +1 -0
- package/dist/renderer/assets/Dashboard-CY77Imde.js +26 -0
- package/dist/renderer/assets/{EmptyState-BqCx1oWr.js → EmptyState-DCqmct2y.js} +1 -1
- package/dist/renderer/assets/{KnowledgeDetail-BwK8Gpfa.js → KnowledgeDetail-DFrxa-pv.js} +1 -1
- package/dist/renderer/assets/KnowledgeHome-DL-vAfrH.js +11 -0
- package/dist/renderer/assets/Logs-jw9Uv590.js +1 -0
- package/dist/renderer/assets/{Modal-D2U4r2V0.js → Modal-ChSm7tk6.js} +1 -1
- package/dist/renderer/assets/MonitorList-DrEwyS71.js +1 -0
- package/dist/renderer/assets/{Page-urf5GcT_.js → Page-DhD-zgMU.js} +1 -1
- package/dist/renderer/assets/ProjectDetail-BVSjpfpL.js +11 -0
- package/dist/renderer/assets/ProjectList-CHGbTJjk.js +1 -0
- package/dist/renderer/assets/{Select-CAscWpy5.js → Select-rHs9CSam.js} +1 -1
- package/dist/renderer/assets/SessionChat-CDc2FNMA.js +1 -0
- package/dist/renderer/assets/SessionList-Mr1uAnRW.js +1 -0
- package/dist/renderer/assets/ThreadChat-Detu5UfN.js +23 -0
- package/dist/renderer/assets/Workspace-MRRg8ndJ.js +19 -0
- package/dist/renderer/assets/{arrow-left-7HrNuS-V.js → arrow-left-BU2NB2LA.js} +1 -1
- package/dist/renderer/assets/{book-open-BDoAu82s.js → book-open-D-TGvWwa.js} +1 -1
- package/dist/renderer/assets/bot-IYNh8tH5.js +6 -0
- package/dist/renderer/assets/{check-DGlyq4xX.js → check-CCZ0JO_S.js} +1 -1
- package/dist/renderer/assets/{chevron-down-Bb_3EHq9.js → chevron-down-00bRZi15.js} +1 -1
- package/dist/renderer/assets/{circle-DIpqZnYw.js → circle-CpQ8x4k_.js} +1 -1
- package/dist/renderer/assets/{desktop-Ci1fnRDR.js → desktop-D0k2aGSj.js} +1 -1
- package/dist/renderer/assets/{desktop-Do_UrC-o.js → desktop-JQkhNOF4.js} +1 -1
- package/dist/renderer/assets/{funnel-Bbf0ERLP.js → funnel-UbcrCBCp.js} +1 -1
- package/dist/renderer/assets/{heart-CGqU-qfw.js → heart-DvLsV7tL.js} +1 -1
- package/dist/renderer/assets/{index-Df-Trovt.js → index-B2L4G-b_.js} +1 -1
- package/dist/renderer/assets/index-CO4fGqmv.css +11 -0
- package/dist/renderer/assets/{index-DwhTjLA1.js → index-dy-g2Bh4.js} +3 -3
- package/dist/renderer/assets/{pencil-CHiy1MvK.js → pencil-qBYOgW5M.js} +1 -1
- package/dist/renderer/assets/{play-CGYnmC4Q.js → play-Dn6b4AGj.js} +1 -1
- package/dist/renderer/assets/{plus-B_Q5-Oj7.js → plus-CaApUwEm.js} +1 -1
- package/dist/renderer/assets/projects-BwF5RlNV.js +1 -0
- package/dist/renderer/assets/save-CN6yvTfD.js +11 -0
- package/dist/renderer/assets/{search-D8Dkhsyq.js → search-Dn2MxYiO.js} +1 -1
- package/dist/renderer/assets/{server-Cd96R7WL.js → server-DpcVLHeh.js} +1 -1
- package/dist/renderer/assets/{session-utils-BNUbQBfF.js → session-utils-DnD2Q_y1.js} +1 -1
- package/dist/renderer/assets/{sessions-BACfV8s1.js → sessions-eK5D4FLt.js} +1 -1
- package/dist/renderer/assets/{shield-check-Cnn-yQUA.js → shield-check-DSSJkacw.js} +1 -1
- package/dist/renderer/assets/{trash-2-oWCxwQ9D.js → trash-2-DmYJlEvO.js} +1 -1
- package/dist/renderer/assets/user-Cvf_uiyQ.js +6 -0
- package/dist/renderer/assets/{wifi-off-DHxnNkdY.js → wifi-off-CCTloj-V.js} +1 -1
- package/dist/renderer/index.html +2 -2
- package/dist-electron/services/local-ai-core/src/acp/local-core-acp-session-coordinator.js +2 -1
- package/dist-electron/services/local-ai-core/src/agents/pi/launch.js +1 -1
- package/dist-electron/services/local-ai-core/src/agents/shared/launch-utils.js +22 -0
- package/dist-electron/services/local-ai-core/src/channel/lark/inbound.js +55 -1
- package/dist-electron/services/local-ai-core/src/channel/lark/local-core-lark-gateway.js +132 -348
- package/dist-electron/services/local-ai-core/src/channel/shared/base-channel-gateway.js +303 -0
- package/dist-electron/services/local-ai-core/src/channel/weixin/local-core-weixin-gateway.js +131 -382
- package/dist-electron/services/local-ai-core/src/runtime/agent-runtime-detector.js +2 -1
- package/dist-electron/services/local-ai-core/src/runtime/channel-service.js +150 -0
- package/dist-electron/services/local-ai-core/src/runtime/env-utils.js +12 -0
- package/dist-electron/services/local-ai-core/src/runtime/external-service.js +234 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/automation-handler.js +34 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/capabilities-handler.js +12 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/channel-handler.js +65 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/external-handler.js +17 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/knowledge-handler.js +65 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/openai-handler.js +496 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/provider-handler.js +24 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/runtime-handler.js +68 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/runtimes-handler.js +37 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/scheduler-handler.js +34 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/security-handler.js +49 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/task-handler.js +27 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/thread-handler.js +42 -0
- package/dist-electron/services/local-ai-core/src/runtime/handlers/workspace-handler.js +29 -0
- package/dist-electron/services/local-ai-core/src/runtime/local-core-controller.js +40 -592
- package/dist-electron/services/local-ai-core/src/runtime/server-helpers.js +96 -0
- package/dist-electron/services/local-ai-core/src/runtime/server.js +107 -1084
- package/dist-electron/services/local-ai-core/src/runtime/standalone.js +13 -1
- package/dist-electron/src/pages/Projects/project-provider-config.js +75 -0
- package/dist-electron/tests/contracts/architecture-docs.test.js +1 -0
- package/dist-electron/tests/electron/agent-runtime-detector.test.js +18 -0
- package/dist-electron/tests/electron/knowledge-skill-script.test.js +15 -5
- package/dist-electron/tests/electron/lac-cli.test.js +591 -688
- package/dist-electron/tests/electron/plugin-kernel.test.js +47 -31
- package/dist-electron/tests/electron/project-provider-config.test.js +71 -0
- package/dist-electron/tests/electron/workspace-task-store.test.js +19 -9
- package/dist-electron/tests/integration/lark-gateway.test.js +80 -0
- package/dist-electron/tests/integration/local-core-cors.test.js +22 -0
- package/package.json +1 -1
- package/dist/renderer/assets/Chat-wjBR3XEX.js +0 -2
- package/dist/renderer/assets/Config-BDCHs5A2.js +0 -21
- package/dist/renderer/assets/CronList-CEWQYTov.js +0 -1
- package/dist/renderer/assets/Dashboard-DrWftfk3.js +0 -26
- package/dist/renderer/assets/KnowledgeHome-hhDTZMDO.js +0 -11
- package/dist/renderer/assets/Logs-C9xPEhFT.js +0 -1
- package/dist/renderer/assets/MonitorList-CayKbfwJ.js +0 -1
- package/dist/renderer/assets/ProjectDetail-B1GyAr7a.js +0 -11
- package/dist/renderer/assets/ProjectList-BoipQypE.js +0 -1
- package/dist/renderer/assets/SessionChat-BAVy5221.js +0 -1
- package/dist/renderer/assets/SessionList-BZpuMvh0.js +0 -1
- package/dist/renderer/assets/ThreadChat-JX7m9biG.js +0 -23
- package/dist/renderer/assets/Workspace-CFW8otjU.js +0 -14
- package/dist/renderer/assets/index-RaTga2BC.css +0 -11
- package/dist/renderer/assets/plug-Mexu4gyV.js +0 -6
- package/dist/renderer/assets/projects-C6bbkC-O.js +0 -1
- package/dist/renderer/assets/save-CJ_QFPw0.js +0 -6
- package/dist/renderer/assets/user-BzE9BwsY.js +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as t}from"./index-dy-g2Bh4.js";const e=()=>t.get("/projects"),r=o=>t.get(`/projects/${o}`);export{r as g,e as l};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{c as a}from"./index-dy-g2Bh4.js";/**
|
|
2
|
+
* @license lucide-react v0.487.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const t=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]],c=a("plug",t);/**
|
|
7
|
+
* @license lucide-react v0.487.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const e=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],d=a("save",e);export{c as P,d as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as o}from"./index-
|
|
1
|
+
import{A as o}from"./index-dy-g2Bh4.js";const i=s=>o.get(`/projects/${s}/sessions`),c=(s,e,t)=>o.get(`/projects/${s}/sessions/${e}`,{history_limit:String(t)}),r=(s,e,t)=>o.patch(`/projects/${s}/sessions/${e}`,t),a=(s,e)=>o.delete(`/projects/${s}/sessions/${e}`),p=(s,e)=>o.post(`/projects/${s}/sessions/switch`,e),$=(s,e)=>o.post(`/projects/${s}/send`,e);export{$ as a,a as d,c as g,i as l,r,p as s};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c}from"./index-dy-g2Bh4.js";/**
|
|
2
|
+
* @license lucide-react v0.487.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const e=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],r=c("user",e);export{r as U};
|
package/dist/renderer/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>AgentDock</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-dy-g2Bh4.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="./assets/index-CO4fGqmv.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body class="bg-[#f5f5f7] dark:bg-[#151516]">
|
|
12
12
|
<div id="root"></div>
|
|
@@ -5,6 +5,7 @@ exports.buildAgentPath = buildAgentPath;
|
|
|
5
5
|
const node_path_1 = require("node:path");
|
|
6
6
|
const node_os_1 = require("node:os");
|
|
7
7
|
const scheduled_job_route_js_1 = require("../scheduler/scheduled-job-route.js");
|
|
8
|
+
const env_utils_js_1 = require("../runtime/env-utils.js");
|
|
8
9
|
class LocalCoreAcpSessionCoordinator {
|
|
9
10
|
options;
|
|
10
11
|
sessions = new Map();
|
|
@@ -69,7 +70,7 @@ class LocalCoreAcpSessionCoordinator {
|
|
|
69
70
|
threadId,
|
|
70
71
|
bridgeSessionKey,
|
|
71
72
|
config,
|
|
72
|
-
runtimeEnv: this.buildAgentRuntimeEnv(threadId,
|
|
73
|
+
runtimeEnv: this.buildAgentRuntimeEnv(threadId, (0, env_utils_js_1.getPathEnv)(baseEnv), options.runtimeEnv, options.runId),
|
|
73
74
|
});
|
|
74
75
|
session.launchPermissionMode = permissionMode;
|
|
75
76
|
session.launchConfigKey = configKey;
|
|
@@ -10,7 +10,7 @@ function resolvePiModel(input) {
|
|
|
10
10
|
}
|
|
11
11
|
function buildPiLaunchConfig(input) {
|
|
12
12
|
const bundledPiAcp = (0, launch_utils_js_1.resolveBundledAcpCommand)(desktop_js_1.DESKTOP_PI_ACP_PACKAGE, 'pi-acp');
|
|
13
|
-
const bundledPiCommand = (0, launch_utils_js_1.
|
|
13
|
+
const bundledPiCommand = (0, launch_utils_js_1.resolveBundledBinCommand)(desktop_js_1.DESKTOP_PI_CODING_AGENT_PACKAGE, 'pi');
|
|
14
14
|
return {
|
|
15
15
|
command: bundledPiAcp.command,
|
|
16
16
|
args: [...bundledPiAcp.args],
|
|
@@ -9,6 +9,7 @@ exports.ensurePrivateDir = ensurePrivateDir;
|
|
|
9
9
|
exports.writeJsonFile = writeJsonFile;
|
|
10
10
|
exports.projectLocalStateDir = projectLocalStateDir;
|
|
11
11
|
exports.resolveBundledAcpCommand = resolveBundledAcpCommand;
|
|
12
|
+
exports.resolveBundledBinCommand = resolveBundledBinCommand;
|
|
12
13
|
exports.resolveBundledPackageJsonPath = resolveBundledPackageJsonPath;
|
|
13
14
|
const node_module_1 = require("node:module");
|
|
14
15
|
const node_fs_1 = require("node:fs");
|
|
@@ -94,6 +95,27 @@ function resolveBundledAcpCommand(packageName, binName) {
|
|
|
94
95
|
args: [(0, node_path_1.resolve)((0, node_path_1.dirname)(packageJsonPath), relativeBinPath)],
|
|
95
96
|
};
|
|
96
97
|
}
|
|
98
|
+
function resolveBundledBinCommand(packageName, binName) {
|
|
99
|
+
if (process.platform === 'win32') {
|
|
100
|
+
const shim = resolveBundledWindowsBinShim(packageName, binName);
|
|
101
|
+
if (shim) {
|
|
102
|
+
return shim;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return resolveBundledAcpCommand(packageName, binName).args[0];
|
|
106
|
+
}
|
|
107
|
+
function resolveBundledWindowsBinShim(packageName, binName) {
|
|
108
|
+
const require = (0, node_module_1.createRequire)(__filename);
|
|
109
|
+
for (const basePath of require.resolve.paths(packageName) || []) {
|
|
110
|
+
for (const extension of ['.CMD', '.cmd', '.BAT', '.bat']) {
|
|
111
|
+
const candidate = (0, node_path_1.resolve)(basePath, '.bin', `${binName}${extension}`);
|
|
112
|
+
if ((0, node_fs_1.existsSync)(candidate)) {
|
|
113
|
+
return candidate;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return '';
|
|
118
|
+
}
|
|
97
119
|
function resolveBundledPackageJsonPath(packageName) {
|
|
98
120
|
const require = (0, node_module_1.createRequire)(__filename);
|
|
99
121
|
try {
|
|
@@ -32,7 +32,10 @@ function normalizeLarkInboundMessageEvent(data, options = {}) {
|
|
|
32
32
|
detail: `chat=${String(message.chat_id || '')} message=${String(message.message_id || '')}`,
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
const
|
|
35
|
+
const rawText = messageType === 'post'
|
|
36
|
+
? extractLarkPostText(parsedContent, botOpenId)
|
|
37
|
+
: String(parsedContent.text || '').trim();
|
|
38
|
+
const text = stripLarkMentions(rawText, mentions, botOpenId);
|
|
36
39
|
const platformUserId = String(sender.sender_id?.user_id || sender.sender_id?.open_id || '').trim();
|
|
37
40
|
const chatId = String(message.chat_id || platformUserId).trim();
|
|
38
41
|
if (!platformUserId || !chatId) {
|
|
@@ -112,3 +115,54 @@ function getMentionOpenId(item) {
|
|
|
112
115
|
const id = item.id || item.user_id || item.userId || {};
|
|
113
116
|
return String(id.open_id || id.openId || item.open_id || item.openId || '').trim();
|
|
114
117
|
}
|
|
118
|
+
function extractLarkPostText(content, botOpenId) {
|
|
119
|
+
const title = String(content.title || '').trim();
|
|
120
|
+
const lines = readLarkPostLines(content)
|
|
121
|
+
.map((line) => readLarkPostLineText(line, botOpenId).trim())
|
|
122
|
+
.filter(Boolean);
|
|
123
|
+
return [
|
|
124
|
+
...(title ? [title] : []),
|
|
125
|
+
...lines,
|
|
126
|
+
].join('\n').trim();
|
|
127
|
+
}
|
|
128
|
+
function readLarkPostLines(content) {
|
|
129
|
+
const directContent = content.content;
|
|
130
|
+
if (Array.isArray(directContent)) {
|
|
131
|
+
return directContent;
|
|
132
|
+
}
|
|
133
|
+
const localizedContent = content.zh_cn?.content || content.en_us?.content;
|
|
134
|
+
return Array.isArray(localizedContent) ? localizedContent : [];
|
|
135
|
+
}
|
|
136
|
+
function readLarkPostLineText(line, botOpenId) {
|
|
137
|
+
if (Array.isArray(line)) {
|
|
138
|
+
return line.map((item) => readLarkPostInlineText(item, botOpenId)).join('');
|
|
139
|
+
}
|
|
140
|
+
return readLarkPostInlineText(line, botOpenId);
|
|
141
|
+
}
|
|
142
|
+
function readLarkPostInlineText(item, botOpenId) {
|
|
143
|
+
if (!item || typeof item !== 'object') {
|
|
144
|
+
return '';
|
|
145
|
+
}
|
|
146
|
+
const node = item;
|
|
147
|
+
const tag = String(node.tag || '').trim().toLowerCase();
|
|
148
|
+
if (tag === 'at') {
|
|
149
|
+
if (botOpenId && getMentionOpenId(node) === botOpenId) {
|
|
150
|
+
return '';
|
|
151
|
+
}
|
|
152
|
+
const name = String(node.user_name || node.name || node.display_name || node.text || '').trim();
|
|
153
|
+
return name ? `@${name}` : '';
|
|
154
|
+
}
|
|
155
|
+
if (tag === 'a') {
|
|
156
|
+
return String(node.text || node.href || '').trim();
|
|
157
|
+
}
|
|
158
|
+
if (typeof node.text === 'string') {
|
|
159
|
+
return node.text;
|
|
160
|
+
}
|
|
161
|
+
if (Array.isArray(node.children)) {
|
|
162
|
+
return node.children.map((child) => readLarkPostInlineText(child, botOpenId)).join('');
|
|
163
|
+
}
|
|
164
|
+
if (Array.isArray(node.content)) {
|
|
165
|
+
return node.content.map((child) => readLarkPostInlineText(child, botOpenId)).join('');
|
|
166
|
+
}
|
|
167
|
+
return '';
|
|
168
|
+
}
|