@kafca/agentdock 0.1.46 → 0.1.48
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-BIesaDYG.js → Badge-C92lMj9Q.js} +1 -1
- package/dist/renderer/assets/{Chat-CpataoDh.js → Chat-DqoKCPwz.js} +1 -1
- package/dist/renderer/assets/{ChatMarkdown-_Mdmltgv.js → ChatMarkdown-C4psQvmt.js} +1 -1
- package/dist/renderer/assets/{Config-Pe5-zKZk.js → Config-1uk8FQL7.js} +2 -2
- package/dist/renderer/assets/{CronList-BnaOSPT8.js → CronList-DnKCiYWC.js} +1 -1
- package/dist/renderer/assets/{Dashboard-D05l8GKE.js → Dashboard-rOAQcJA0.js} +2 -2
- package/dist/renderer/assets/{EmptyState-BDBavDll.js → EmptyState-bF6Sc61O.js} +1 -1
- package/dist/renderer/assets/{KnowledgeDetail-DvR798l_.js → KnowledgeDetail-C5-Dp95R.js} +2 -2
- package/dist/renderer/assets/{KnowledgeHome-r2ZuvU8-.js → KnowledgeHome-DGa1EWXD.js} +2 -2
- package/dist/renderer/assets/{Logs-BaljtmAV.js → Logs-CKKVW2k8.js} +1 -1
- package/dist/renderer/assets/{Modal-CXhD_OWR.js → Modal-DIc9HxD5.js} +3 -3
- package/dist/renderer/assets/{MonitorList-D7tyipbx.js → MonitorList-D2YOJRIX.js} +1 -1
- package/dist/renderer/assets/{Page-KUuFYgjg.js → Page-vZ-_l6Kn.js} +1 -1
- package/dist/renderer/assets/ProjectDetail-CqTa6kAh.js +11 -0
- package/dist/renderer/assets/{ProjectList-CbdHd5Ev.js → ProjectList-LgDQVVyZ.js} +1 -1
- package/dist/renderer/assets/{Select-Djc8BXMC.js → Select-BN2HMOmY.js} +1 -1
- package/dist/renderer/assets/SessionChat-Beco1N1T.js +1 -0
- package/dist/renderer/assets/{SessionList-DHgl1s1D.js → SessionList-3NkskCJJ.js} +1 -1
- package/dist/renderer/assets/ThreadChat-Ji8pOm5p.js +28 -0
- package/dist/renderer/assets/{Workspace-DTocqY-F.js → Workspace-yarrGItB.js} +1 -1
- package/dist/renderer/assets/{arrow-left-CXyya3hP.js → arrow-left-DNovvfPp.js} +1 -1
- package/dist/renderer/assets/{book-open-9n4Kxc7E.js → book-open-CarZFsXv.js} +1 -1
- package/dist/renderer/assets/{bot-C9HBk5XH.js → bot-g16rGMp6.js} +1 -1
- package/dist/renderer/assets/{check-CutSg9a5.js → check-DjFX73Zi.js} +1 -1
- package/dist/renderer/assets/{chevron-down-DrydR4i3.js → chevron-down-B02YlQS_.js} +1 -1
- package/dist/renderer/assets/{circle-BEjtahw6.js → circle-DPfWdG1F.js} +1 -1
- package/dist/renderer/assets/{desktop-DATgk_ka.js → desktop-DMkue1T6.js} +1 -1
- package/dist/renderer/assets/{funnel-BhqZpS4f.js → funnel-Dy1VL-D9.js} +1 -1
- package/dist/renderer/assets/{heart-Dp8Vs-7_.js → heart-YjvGwq5-.js} +1 -1
- package/dist/renderer/assets/{index-BKpv0P0s.js → index-CZN1STMc.js} +2 -2
- package/dist/renderer/assets/index-CjCuR6DI.css +11 -0
- package/dist/renderer/assets/{index-cI3pWBnN.js → index-mvjDN9uV.js} +9 -9
- package/dist/renderer/assets/{pencil-ywcJzeOo.js → pencil-qpMjLIFd.js} +1 -1
- package/dist/renderer/assets/{play-AtN492Cx.js → play-CPCcNQcH.js} +1 -1
- package/dist/renderer/assets/{plus-BEj14BBV.js → plus-B76JWGKd.js} +1 -1
- package/dist/renderer/assets/projects-C1nFINjh.js +1 -0
- package/dist/renderer/assets/{save-D6ov4CNv.js → save-DtvrD3W1.js} +1 -1
- package/dist/renderer/assets/{search-C3bvw7AR.js → search-Ddth-YHH.js} +1 -1
- package/dist/renderer/assets/{server-C1Uyedyx.js → server-D0zmghb3.js} +1 -1
- package/dist/renderer/assets/{session-utils-DpRwJ6Nh.js → session-utils-C9oe-21F.js} +1 -1
- package/dist/renderer/assets/{sessions-BWmAppwK.js → sessions-BXOnLLah.js} +1 -1
- package/dist/renderer/assets/{shield-check-CVx1mEs2.js → shield-check-Cv5d_blH.js} +1 -1
- package/dist/renderer/assets/{trash-2-o-heXOgs.js → trash-2-C2mimX2b.js} +1 -1
- package/dist/renderer/assets/{user-dPOzUqIc.js → user-BrLJ4elW.js} +1 -1
- package/dist/renderer/assets/{wifi-off-Fz5c3_x_.js → wifi-off-DvRJYLbG.js} +1 -1
- package/dist/renderer/index.html +2 -2
- package/dist-electron/packages/core-sdk/src/index.js +4 -0
- package/dist-electron/services/local-ai-core/src/acp/local-core-acp-session-coordinator.js +53 -7
- package/dist-electron/services/local-ai-core/src/acp/store/local-core-acp-store.js +3 -0
- package/dist-electron/services/local-ai-core/src/acp/store/platform-store.js +13 -5
- package/dist-electron/services/local-ai-core/src/acp/store/schema.js +1 -0
- package/dist-electron/services/local-ai-core/src/acp/store/thread-store.js +3 -0
- 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/local-core-lark-gateway.js +132 -348
- package/dist-electron/services/local-ai-core/src/channel/shared/base-channel-gateway.js +306 -0
- package/dist-electron/services/local-ai-core/src/channel/shared/session-command-runtime.js +14 -3
- 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/router/workspace-router.js +8 -1
- 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 +46 -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-routes.js +3 -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/services/local-ai-core/src/thread/thread-command-service.js +23 -2
- package/dist-electron/services/local-ai-core/src/thread/thread-slash-command-dispatcher.js +1 -0
- package/dist-electron/src/pages/Projects/project-provider-config.js +75 -0
- package/dist-electron/src/pages/Threads/thread-chat-model.js +2 -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 +40 -11
- package/dist-electron/tests/integration/local-core-cors.test.js +22 -0
- package/dist-electron/tests/integration/local-core-refactor.test.js +177 -0
- package/dist-electron/tests/integration/local-core-routes.test.js +45 -0
- package/package.json +2 -2
- package/dist/renderer/assets/ProjectDetail-Ddq94-yu.js +0 -11
- package/dist/renderer/assets/SessionChat-DOy0iKQR.js +0 -1
- package/dist/renderer/assets/ThreadChat-I7dYibDc.js +0 -23
- package/dist/renderer/assets/index-CO4fGqmv.css +0 -11
- package/dist/renderer/assets/projects-Clar8lgb.js +0 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerSecurityHandlers = registerSecurityHandlers;
|
|
4
|
+
const server_helpers_js_1 = require("../server-helpers.js");
|
|
5
|
+
function registerSecurityHandlers(map, workspaceRouter) {
|
|
6
|
+
map.set('workspace-security.get', async (route, _req, res) => {
|
|
7
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.getWorkspaceSecuritySettings(route.workspaceId));
|
|
8
|
+
});
|
|
9
|
+
map.set('workspace-security.update', async (route, req, res) => {
|
|
10
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
11
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.updateWorkspaceSecuritySettings(route.workspaceId, body));
|
|
12
|
+
});
|
|
13
|
+
map.set('security.command-risk.classify', async (_route, req, res) => {
|
|
14
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
15
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.classifyCommand(String(body.command || ''), String(body.workspaceId || '') || undefined));
|
|
16
|
+
});
|
|
17
|
+
map.set('approvals.list', async (_route, _req, res, url) => {
|
|
18
|
+
const statusParam = url.searchParams.get('status') || '';
|
|
19
|
+
const status = statusParam ? statusParam.split(',').map((item) => item.trim()).filter(Boolean) : undefined;
|
|
20
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.listApprovalRequests({
|
|
21
|
+
workspaceId: url.searchParams.get('workspace_id') || undefined,
|
|
22
|
+
taskId: url.searchParams.get('task_id') || undefined,
|
|
23
|
+
status,
|
|
24
|
+
limit: Number(url.searchParams.get('limit') || '50'),
|
|
25
|
+
}));
|
|
26
|
+
});
|
|
27
|
+
map.set('approvals.create', async (_route, req, res) => {
|
|
28
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
29
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.createApprovalRequest(body));
|
|
30
|
+
});
|
|
31
|
+
map.set('approval.get', async (route, _req, res) => {
|
|
32
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.getApprovalRequest(route.approvalId));
|
|
33
|
+
});
|
|
34
|
+
map.set('approval.resolve', async (route, req, res) => {
|
|
35
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
36
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.resolveApprovalRequest(route.approvalId, body));
|
|
37
|
+
});
|
|
38
|
+
map.set('audit-events.list', async (_route, _req, res, url) => {
|
|
39
|
+
const typeParam = url.searchParams.get('type') || '';
|
|
40
|
+
const type = typeParam ? typeParam.split(',').map((item) => item.trim()).filter(Boolean) : undefined;
|
|
41
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.listAuditEvents({
|
|
42
|
+
workspaceId: url.searchParams.get('workspace_id') || undefined,
|
|
43
|
+
taskId: url.searchParams.get('task_id') || undefined,
|
|
44
|
+
approvalId: url.searchParams.get('approval_id') || undefined,
|
|
45
|
+
type,
|
|
46
|
+
limit: Number(url.searchParams.get('limit') || '50'),
|
|
47
|
+
}));
|
|
48
|
+
});
|
|
49
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerTaskHandlers = registerTaskHandlers;
|
|
4
|
+
const server_helpers_js_1 = require("../server-helpers.js");
|
|
5
|
+
function registerTaskHandlers(map, workspaceRouter) {
|
|
6
|
+
map.set('tasks.list', async (_route, _req, res, url) => {
|
|
7
|
+
const statusParam = url.searchParams.get('status') || '';
|
|
8
|
+
const status = statusParam ? statusParam.split(',').map((item) => item.trim()).filter(Boolean) : undefined;
|
|
9
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.listAgentTasks({
|
|
10
|
+
workspaceId: url.searchParams.get('workspace_id') || undefined,
|
|
11
|
+
runtimeId: url.searchParams.get('runtime_id') || undefined,
|
|
12
|
+
status,
|
|
13
|
+
limit: Number(url.searchParams.get('limit') || '50'),
|
|
14
|
+
}));
|
|
15
|
+
});
|
|
16
|
+
map.set('tasks.create', async (_route, req, res) => {
|
|
17
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
18
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.createAgentTask(body));
|
|
19
|
+
});
|
|
20
|
+
map.set('task.get', async (route, _req, res) => {
|
|
21
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.getAgentTask(route.taskId));
|
|
22
|
+
});
|
|
23
|
+
map.set('task.update', async (route, req, res) => {
|
|
24
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
25
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.updateAgentTask(route.taskId, body));
|
|
26
|
+
});
|
|
27
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerThreadHandlers = registerThreadHandlers;
|
|
4
|
+
const server_helpers_js_1 = require("../server-helpers.js");
|
|
5
|
+
function registerThreadHandlers(map, workspaceRouter) {
|
|
6
|
+
map.set('threads.list', async (_route, _req, res, url) => {
|
|
7
|
+
const workspaceId = String(url.searchParams.get('workspace_id') || '');
|
|
8
|
+
(0, server_helpers_js_1.json)(res, 200, { threads: workspaceId ? await workspaceRouter.listThreads(workspaceId) : [] });
|
|
9
|
+
});
|
|
10
|
+
map.set('threads.create', async (_route, req, res) => {
|
|
11
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
12
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.createThread(String(body.workspaceId || ''), String(body.title || '') || undefined));
|
|
13
|
+
});
|
|
14
|
+
map.set('thread.get', async (route, _req, res) => {
|
|
15
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.getThread(route.threadId));
|
|
16
|
+
});
|
|
17
|
+
map.set('thread.update-knowledge-bases', async (route, req, res) => {
|
|
18
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
19
|
+
const knowledgeBaseIds = Array.isArray(body.knowledgeBaseIds)
|
|
20
|
+
? body.knowledgeBaseIds.map((value) => String(value || ''))
|
|
21
|
+
: [];
|
|
22
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.updateThreadKnowledgeBases(route.threadId, knowledgeBaseIds));
|
|
23
|
+
});
|
|
24
|
+
map.set('thread.update-mode', async (route, req, res) => {
|
|
25
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
26
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.setThreadMode(route.threadId, String(body.mode || '')));
|
|
27
|
+
});
|
|
28
|
+
map.set('thread.rename', async (route, req, res) => {
|
|
29
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
30
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.renameThread(route.threadId, String(body.title || '')));
|
|
31
|
+
});
|
|
32
|
+
map.set('thread.delete', async (route, _req, res) => {
|
|
33
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.deleteThread(route.threadId));
|
|
34
|
+
});
|
|
35
|
+
map.set('thread.messages.send', async (route, req, res) => {
|
|
36
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
37
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.sendThreadMessage(route.threadId, String(body.content || '')));
|
|
38
|
+
});
|
|
39
|
+
map.set('thread.actions.send', async (route, req, res) => {
|
|
40
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
41
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.sendThreadAction(route.threadId, String(body.content || '')));
|
|
42
|
+
});
|
|
43
|
+
map.set('run.interrupt', async (route, _req, res) => {
|
|
44
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.interruptRun(route.runId));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerWorkspaceHandlers = registerWorkspaceHandlers;
|
|
4
|
+
const server_helpers_js_1 = require("../server-helpers.js");
|
|
5
|
+
function registerWorkspaceHandlers(map, workspaceRouter) {
|
|
6
|
+
map.set('workspaces.list', async (_route, _req, res) => {
|
|
7
|
+
(0, server_helpers_js_1.json)(res, 200, { workspaces: await workspaceRouter.listWorkspaces() });
|
|
8
|
+
});
|
|
9
|
+
map.set('workspace.streaming-probe', async (route, _req, res) => {
|
|
10
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.probeWorkspaceStreaming(route.workspaceId));
|
|
11
|
+
});
|
|
12
|
+
map.set('workspace-registry.list', async (_route, _req, res) => {
|
|
13
|
+
(0, server_helpers_js_1.json)(res, 200, { workspaces: await workspaceRouter.listWorkspaceRegistry() });
|
|
14
|
+
});
|
|
15
|
+
map.set('workspace-registry.create', async (_route, req, res) => {
|
|
16
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
17
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.createWorkspaceRegistryEntry(body));
|
|
18
|
+
});
|
|
19
|
+
map.set('workspace-registry.get', async (route, _req, res) => {
|
|
20
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.getWorkspaceRegistryEntry(route.workspaceId));
|
|
21
|
+
});
|
|
22
|
+
map.set('workspace-registry.update', async (route, req, res) => {
|
|
23
|
+
const body = await (0, server_helpers_js_1.readJsonBody)(req);
|
|
24
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.updateWorkspaceRegistryEntry(route.workspaceId, body));
|
|
25
|
+
});
|
|
26
|
+
map.set('workspace-registry.delete', async (route, _req, res) => {
|
|
27
|
+
(0, server_helpers_js_1.json)(res, 200, await workspaceRouter.deleteWorkspaceRegistryEntry(route.workspaceId));
|
|
28
|
+
});
|
|
29
|
+
}
|