botmux 2.98.4-canary.2 → 2.100.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/README.en.md +2 -2
- package/README.md +2 -2
- package/dist/adapters/cli/genius.d.ts +4 -0
- package/dist/adapters/cli/genius.d.ts.map +1 -0
- package/dist/adapters/cli/genius.js +216 -0
- package/dist/adapters/cli/genius.js.map +1 -0
- package/dist/adapters/cli/opencode.d.ts.map +1 -1
- package/dist/adapters/cli/opencode.js +241 -13
- package/dist/adapters/cli/opencode.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +2 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +3 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/traex.d.ts.map +1 -1
- package/dist/adapters/cli/traex.js +8 -6
- package/dist/adapters/cli/traex.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +11 -4
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/core/dashboard-rows.d.ts +1 -1
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +2 -1
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/dashboard/session-card-model.d.ts +2 -2
- package/dist/dashboard/session-card-model.d.ts.map +1 -1
- package/dist/dashboard/session-card-model.js +5 -2
- package/dist/dashboard/session-card-model.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +28 -63
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +3 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -0
- package/dist/dashboard/web/bot-defaults-page.js +23 -0
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -0
- package/dist/dashboard/web/bot-defaults.d.ts +2 -1
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js +30 -30
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/connectors-page.d.ts +14 -0
- package/dist/dashboard/web/connectors-page.d.ts.map +1 -0
- package/dist/dashboard/web/connectors-page.js +303 -0
- package/dist/dashboard/web/connectors-page.js.map +1 -0
- package/dist/dashboard/web/connectors.d.ts +1 -12
- package/dist/dashboard/web/connectors.d.ts.map +1 -1
- package/dist/dashboard/web/connectors.js +1 -325
- package/dist/dashboard/web/connectors.js.map +1 -1
- package/dist/dashboard/web/dashboard-routes.d.ts +14 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -0
- package/dist/dashboard/web/dashboard-routes.js +176 -0
- package/dist/dashboard/web/dashboard-routes.js.map +1 -0
- package/dist/dashboard/web/groups-page.d.ts +3 -0
- package/dist/dashboard/web/groups-page.d.ts.map +1 -0
- package/dist/dashboard/web/groups-page.js +26 -0
- package/dist/dashboard/web/groups-page.js.map +1 -0
- package/dist/dashboard/web/groups.d.ts +1 -1
- package/dist/dashboard/web/groups.d.ts.map +1 -1
- package/dist/dashboard/web/groups.js +113 -52
- package/dist/dashboard/web/groups.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +18 -0
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/insights-page.d.ts +3 -0
- package/dist/dashboard/web/insights-page.d.ts.map +1 -0
- package/dist/dashboard/web/insights-page.js +26 -0
- package/dist/dashboard/web/insights-page.js.map +1 -0
- package/dist/dashboard/web/insights.d.ts +18 -1
- package/dist/dashboard/web/insights.d.ts.map +1 -1
- package/dist/dashboard/web/insights.js +25 -61
- package/dist/dashboard/web/insights.js.map +1 -1
- package/dist/dashboard/web/office-page.d.ts +3 -0
- package/dist/dashboard/web/office-page.d.ts.map +1 -0
- package/dist/dashboard/web/office-page.js +149 -0
- package/dist/dashboard/web/office-page.js.map +1 -0
- package/dist/dashboard/web/office.d.ts +1 -1
- package/dist/dashboard/web/office.d.ts.map +1 -1
- package/dist/dashboard/web/office.js +1 -139
- package/dist/dashboard/web/office.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts +3 -0
- package/dist/dashboard/web/overview-page.d.ts.map +1 -0
- package/dist/dashboard/web/overview-page.js +149 -0
- package/dist/dashboard/web/overview-page.js.map +1 -0
- package/dist/dashboard/web/overview.d.ts +2 -2
- package/dist/dashboard/web/overview.d.ts.map +1 -1
- package/dist/dashboard/web/overview.js +14 -3
- package/dist/dashboard/web/overview.js.map +1 -1
- package/dist/dashboard/web/react-hooks.d.ts +8 -0
- package/dist/dashboard/web/react-hooks.d.ts.map +1 -0
- package/dist/dashboard/web/react-hooks.js +43 -0
- package/dist/dashboard/web/react-hooks.js.map +1 -0
- package/dist/dashboard/web/react-mount.d.ts +4 -0
- package/dist/dashboard/web/react-mount.d.ts.map +1 -0
- package/dist/dashboard/web/react-mount.js +7 -0
- package/dist/dashboard/web/react-mount.js.map +1 -0
- package/dist/dashboard/web/roles-page.d.ts +4 -0
- package/dist/dashboard/web/roles-page.d.ts.map +1 -0
- package/dist/dashboard/web/roles-page.js +26 -0
- package/dist/dashboard/web/roles-page.js.map +1 -0
- package/dist/dashboard/web/roles.d.ts +1 -2
- package/dist/dashboard/web/roles.d.ts.map +1 -1
- package/dist/dashboard/web/roles.js +189 -135
- package/dist/dashboard/web/roles.js.map +1 -1
- package/dist/dashboard/web/route-lifecycle.d.ts +14 -0
- package/dist/dashboard/web/route-lifecycle.d.ts.map +1 -0
- package/dist/dashboard/web/route-lifecycle.js +29 -0
- package/dist/dashboard/web/route-lifecycle.js.map +1 -0
- package/dist/dashboard/web/schedules-page.d.ts +14 -0
- package/dist/dashboard/web/schedules-page.d.ts.map +1 -0
- package/dist/dashboard/web/schedules-page.js +84 -0
- package/dist/dashboard/web/schedules-page.js.map +1 -0
- package/dist/dashboard/web/schedules.d.ts +1 -1
- package/dist/dashboard/web/schedules.d.ts.map +1 -1
- package/dist/dashboard/web/schedules.js +1 -115
- package/dist/dashboard/web/schedules.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts +3 -0
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -0
- package/dist/dashboard/web/sessions-page.js +28 -0
- package/dist/dashboard/web/sessions-page.js.map +1 -0
- package/dist/dashboard/web/sessions.d.ts +4 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +43 -10
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +3 -0
- package/dist/dashboard/web/settings-page.d.ts.map +1 -0
- package/dist/dashboard/web/settings-page.js +387 -0
- package/dist/dashboard/web/settings-page.js.map +1 -0
- package/dist/dashboard/web/settings.d.ts +1 -1
- package/dist/dashboard/web/settings.d.ts.map +1 -1
- package/dist/dashboard/web/settings.js +1 -534
- package/dist/dashboard/web/settings.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts +33 -0
- package/dist/dashboard/web/skills-page.d.ts.map +1 -0
- package/dist/dashboard/web/skills-page.js +515 -0
- package/dist/dashboard/web/skills-page.js.map +1 -0
- package/dist/dashboard/web/skills.d.ts +1 -1
- package/dist/dashboard/web/skills.d.ts.map +1 -1
- package/dist/dashboard/web/skills.js +1 -711
- package/dist/dashboard/web/skills.js.map +1 -1
- package/dist/dashboard/web/store.d.ts +9 -0
- package/dist/dashboard/web/store.d.ts.map +1 -1
- package/dist/dashboard/web/store.js +19 -2
- package/dist/dashboard/web/store.js.map +1 -1
- package/dist/dashboard/web/team-federation-page.d.ts +4 -0
- package/dist/dashboard/web/team-federation-page.d.ts.map +1 -0
- package/dist/dashboard/web/team-federation-page.js +47 -0
- package/dist/dashboard/web/team-federation-page.js.map +1 -0
- package/dist/dashboard/web/team-federation.d.ts +2 -2
- package/dist/dashboard/web/team-federation.d.ts.map +1 -1
- package/dist/dashboard/web/team-federation.js +104 -97
- package/dist/dashboard/web/team-federation.js.map +1 -1
- package/dist/dashboard/web/v3-page.d.ts +3 -0
- package/dist/dashboard/web/v3-page.d.ts.map +1 -0
- package/dist/dashboard/web/v3-page.js +27 -0
- package/dist/dashboard/web/v3-page.js.map +1 -0
- package/dist/dashboard/web/v3.d.ts +2 -1
- package/dist/dashboard/web/v3.d.ts.map +1 -1
- package/dist/dashboard/web/v3.js +18 -43
- package/dist/dashboard/web/v3.js.map +1 -1
- package/dist/dashboard/web/whiteboards-page.d.ts +3 -0
- package/dist/dashboard/web/whiteboards-page.d.ts.map +1 -0
- package/dist/dashboard/web/whiteboards-page.js +203 -0
- package/dist/dashboard/web/whiteboards-page.js.map +1 -0
- package/dist/dashboard/web/whiteboards.d.ts +1 -1
- package/dist/dashboard/web/whiteboards.d.ts.map +1 -1
- package/dist/dashboard/web/whiteboards.js +1 -275
- package/dist/dashboard/web/whiteboards.js.map +1 -1
- package/dist/dashboard-web/app.js +36 -2550
- package/dist/dashboard-web/chunks/bot-defaults-page-3EV7K6LJ.js +358 -0
- package/dist/dashboard-web/chunks/chunk-5E3MJJL4.js +1 -0
- package/dist/dashboard-web/chunks/chunk-76J7PNZI.js +1 -0
- package/dist/dashboard-web/chunks/chunk-7SZRL6FY.js +1 -0
- package/dist/dashboard-web/chunks/chunk-JTSE5VP6.js +54 -0
- package/dist/dashboard-web/chunks/chunk-JXLHRRJD.js +31 -0
- package/dist/dashboard-web/chunks/chunk-NASYW5FD.js +1 -0
- package/dist/dashboard-web/chunks/connectors-XPZKEHF6.js +1 -0
- package/dist/dashboard-web/chunks/groups-page-C54PVKYP.js +207 -0
- package/dist/dashboard-web/chunks/insights-page-BBQYR7WY.js +309 -0
- package/dist/dashboard-web/chunks/office-page-6DXYOG55.js +1 -0
- package/dist/dashboard-web/chunks/overview-page-5PJCAMID.js +1 -0
- package/dist/dashboard-web/chunks/roles-page-APUDLPVM.js +98 -0
- package/dist/dashboard-web/chunks/schedules-WG2UKHSO.js +1 -0
- package/dist/dashboard-web/chunks/sessions-page-F3U5NFPD.js +238 -0
- package/dist/dashboard-web/chunks/settings-page-OSBZNCXL.js +2 -0
- package/dist/dashboard-web/chunks/skills-page-Y3VUAOYG.js +2 -0
- package/dist/dashboard-web/chunks/team-federation-page-CRH3WZPH.js +10 -0
- package/dist/dashboard-web/chunks/v3-page-FVPUL665.js +149 -0
- package/dist/dashboard-web/chunks/whiteboards-page-HLCTYSSV.js +1 -0
- package/dist/dashboard-web/chunks/workflows-UB7OPYGI.js +184 -0
- package/dist/dashboard-web/index.html +1 -1
- package/dist/dashboard-web/style.css +82 -1
- package/dist/dashboard.js +5 -6
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +1 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +1 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +2 -2
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +3 -2
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +18 -0
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/sessions-card.d.ts.map +1 -1
- package/dist/im/lark/sessions-card.js +4 -1
- package/dist/im/lark/sessions-card.js.map +1 -1
- package/dist/services/opencode-paths.d.ts +7 -0
- package/dist/services/opencode-paths.d.ts.map +1 -0
- package/dist/services/opencode-paths.js +18 -0
- package/dist/services/opencode-paths.js.map +1 -0
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +16 -14
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/worker.js +11 -3
- package/dist/worker.js.map +1 -1
- package/dist/workflows/attempt-resume.d.ts.map +1 -1
- package/dist/workflows/attempt-resume.js +4 -1
- package/dist/workflows/attempt-resume.js.map +1 -1
- package/package.json +8 -2
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { mountReactPage } from './react-mount.js';
|
|
4
|
+
import { useT } from './react-hooks.js';
|
|
5
|
+
const emptyForm = {
|
|
6
|
+
name: '',
|
|
7
|
+
botId: '',
|
|
8
|
+
kind: 'turn',
|
|
9
|
+
workflowId: '',
|
|
10
|
+
mode: 'dynamic',
|
|
11
|
+
chatId: '',
|
|
12
|
+
manualChat: false,
|
|
13
|
+
manualChatId: '',
|
|
14
|
+
allowChats: [],
|
|
15
|
+
dedup: '',
|
|
16
|
+
instruction: '',
|
|
17
|
+
verify: 'token',
|
|
18
|
+
secret: '',
|
|
19
|
+
};
|
|
20
|
+
async function jget(u) {
|
|
21
|
+
const r = await fetch(u);
|
|
22
|
+
return { status: r.status, body: await r.json().catch(() => ({})) };
|
|
23
|
+
}
|
|
24
|
+
async function jsend(method, u, b) {
|
|
25
|
+
const r = await fetch(u, {
|
|
26
|
+
method,
|
|
27
|
+
headers: { 'content-type': 'application/json' },
|
|
28
|
+
body: b ? JSON.stringify(b) : undefined,
|
|
29
|
+
});
|
|
30
|
+
return { status: r.status, body: await r.json().catch(() => ({})) };
|
|
31
|
+
}
|
|
32
|
+
export function buildConnectorInstructionUpdateBody(connector, instruction) {
|
|
33
|
+
return {
|
|
34
|
+
promptEnvelope: {
|
|
35
|
+
sourceName: connector.promptEnvelope?.sourceName || connector.name,
|
|
36
|
+
instruction,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function webhookUrl(id) {
|
|
41
|
+
return `${location.origin}/webhook/${encodeURIComponent(id)}`;
|
|
42
|
+
}
|
|
43
|
+
function botGroups(groups, botId) {
|
|
44
|
+
return groups.filter(g => g.bots.includes(botId));
|
|
45
|
+
}
|
|
46
|
+
function ConnectorsPage() {
|
|
47
|
+
const tr = useT();
|
|
48
|
+
const mountedRef = useRef(false);
|
|
49
|
+
const copyTimerRef = useRef(null);
|
|
50
|
+
const [bots, setBots] = useState([]);
|
|
51
|
+
const [groups, setGroups] = useState([]);
|
|
52
|
+
const [connectors, setConnectors] = useState([]);
|
|
53
|
+
const [loading, setLoading] = useState(true);
|
|
54
|
+
const [form, setForm] = useState(emptyForm);
|
|
55
|
+
const [createMsg, setCreateMsg] = useState(null);
|
|
56
|
+
const [created, setCreated] = useState(null);
|
|
57
|
+
const [creating, setCreating] = useState(false);
|
|
58
|
+
const [editingId, setEditingId] = useState(null);
|
|
59
|
+
const [editInstruction, setEditInstruction] = useState('');
|
|
60
|
+
const [editMsg, setEditMsg] = useState(null);
|
|
61
|
+
const [copiedId, setCopiedId] = useState(null);
|
|
62
|
+
const groupsForBot = useMemo(() => botGroups(groups, form.botId), [groups, form.botId]);
|
|
63
|
+
const groupName = useCallback((chatId) => {
|
|
64
|
+
const g = groups.find(x => x.chatId === chatId);
|
|
65
|
+
return g?.name || chatId;
|
|
66
|
+
}, [groups]);
|
|
67
|
+
const normalizeFormForLoadedData = useCallback((nextBots, nextGroups) => {
|
|
68
|
+
setForm(cur => {
|
|
69
|
+
const botId = cur.botId && nextBots.some(b => b.larkAppId === cur.botId)
|
|
70
|
+
? cur.botId
|
|
71
|
+
: (nextBots[0]?.larkAppId ?? '');
|
|
72
|
+
const availableGroups = botGroups(nextGroups, botId);
|
|
73
|
+
const chatId = cur.chatId && availableGroups.some(g => g.chatId === cur.chatId)
|
|
74
|
+
? cur.chatId
|
|
75
|
+
: (availableGroups[0]?.chatId ?? '');
|
|
76
|
+
const allowSet = new Set(availableGroups.map(g => g.chatId));
|
|
77
|
+
return {
|
|
78
|
+
...cur,
|
|
79
|
+
botId,
|
|
80
|
+
chatId,
|
|
81
|
+
allowChats: cur.allowChats.filter(id => allowSet.has(id)),
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
}, []);
|
|
85
|
+
const load = useCallback(async () => {
|
|
86
|
+
setLoading(true);
|
|
87
|
+
try {
|
|
88
|
+
const [bl, cl, gl] = await Promise.all([jget('/api/bots'), jget('/api/connectors'), jget('/api/groups')]);
|
|
89
|
+
if (!mountedRef.current)
|
|
90
|
+
return;
|
|
91
|
+
const nextBots = (bl.body?.bots || []).map((b) => ({
|
|
92
|
+
larkAppId: b.larkAppId,
|
|
93
|
+
botName: b.botName || b.larkAppId,
|
|
94
|
+
}));
|
|
95
|
+
const nextGroups = (gl.body?.chats || []).map((c) => ({
|
|
96
|
+
chatId: c.chatId,
|
|
97
|
+
name: c.name || '',
|
|
98
|
+
bots: (c.memberBots || []).filter((mb) => mb.inChat).map((mb) => mb.larkAppId),
|
|
99
|
+
}));
|
|
100
|
+
setBots(nextBots);
|
|
101
|
+
setGroups(nextGroups);
|
|
102
|
+
setConnectors(Array.isArray(cl.body?.connectors) ? cl.body.connectors : []);
|
|
103
|
+
normalizeFormForLoadedData(nextBots, nextGroups);
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
if (mountedRef.current)
|
|
107
|
+
setLoading(false);
|
|
108
|
+
}
|
|
109
|
+
}, [normalizeFormForLoadedData]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
mountedRef.current = true;
|
|
112
|
+
void load();
|
|
113
|
+
return () => {
|
|
114
|
+
mountedRef.current = false;
|
|
115
|
+
if (copyTimerRef.current)
|
|
116
|
+
clearTimeout(copyTimerRef.current);
|
|
117
|
+
};
|
|
118
|
+
}, [load]);
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
const valid = new Set(groupsForBot.map(g => g.chatId));
|
|
121
|
+
setForm(cur => ({
|
|
122
|
+
...cur,
|
|
123
|
+
chatId: cur.chatId && valid.has(cur.chatId) ? cur.chatId : (groupsForBot[0]?.chatId ?? ''),
|
|
124
|
+
allowChats: cur.allowChats.filter(id => valid.has(id)),
|
|
125
|
+
}));
|
|
126
|
+
}, [groupsForBot]);
|
|
127
|
+
function modeLabel(m) {
|
|
128
|
+
return m === 'fixed'
|
|
129
|
+
? tr('connectors.modeLabelFixed')
|
|
130
|
+
: m === 'new-group'
|
|
131
|
+
? tr('connectors.modeLabelNewGroup')
|
|
132
|
+
: tr('connectors.modeLabelDynamic');
|
|
133
|
+
}
|
|
134
|
+
function kindLabel(k) {
|
|
135
|
+
return k === 'workflow' ? tr('connectors.kindLabelWorkflow') : tr('connectors.kindLabelTurn');
|
|
136
|
+
}
|
|
137
|
+
function patchForm(patch) {
|
|
138
|
+
setForm(cur => ({ ...cur, ...patch }));
|
|
139
|
+
}
|
|
140
|
+
function selectAllowChats(select) {
|
|
141
|
+
patchForm({ allowChats: Array.from(select.selectedOptions).map(o => o.value).filter(Boolean) });
|
|
142
|
+
}
|
|
143
|
+
async function createConnector() {
|
|
144
|
+
setCreateMsg(null);
|
|
145
|
+
setCreated(null);
|
|
146
|
+
const name = form.name.trim();
|
|
147
|
+
const botId = form.botId;
|
|
148
|
+
if (!name) {
|
|
149
|
+
setCreateMsg({ text: tr('connectors.errName'), error: true });
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (!botId) {
|
|
153
|
+
setCreateMsg({ text: tr('connectors.errBot'), error: true });
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const body = {
|
|
157
|
+
name,
|
|
158
|
+
enabled: true,
|
|
159
|
+
target: { kind: form.kind, mode: form.mode, botId },
|
|
160
|
+
promptEnvelope: { sourceName: name },
|
|
161
|
+
verify: { type: form.verify },
|
|
162
|
+
};
|
|
163
|
+
const instruction = form.instruction.trim();
|
|
164
|
+
if (instruction)
|
|
165
|
+
body.promptEnvelope.instruction = instruction;
|
|
166
|
+
if (form.kind === 'workflow') {
|
|
167
|
+
if (!form.workflowId.trim()) {
|
|
168
|
+
setCreateMsg({ text: tr('connectors.errWf'), error: true });
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
body.target.workflowId = form.workflowId.trim();
|
|
172
|
+
}
|
|
173
|
+
if (form.mode === 'fixed') {
|
|
174
|
+
const chatId = form.manualChat ? form.manualChatId.trim() : form.chatId;
|
|
175
|
+
if (!chatId) {
|
|
176
|
+
setCreateMsg({ text: tr('connectors.errChat'), error: true });
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
body.target.chatId = chatId;
|
|
180
|
+
}
|
|
181
|
+
else if (form.allowChats.length) {
|
|
182
|
+
body.target.allowChats = form.allowChats;
|
|
183
|
+
}
|
|
184
|
+
if (form.mode === 'new-group') {
|
|
185
|
+
const dedup = form.dedup.trim();
|
|
186
|
+
body.lifecycleExtractors = dedup ? { dedupKey: dedup } : null;
|
|
187
|
+
}
|
|
188
|
+
if (form.secret.trim())
|
|
189
|
+
body.secret = form.secret.trim();
|
|
190
|
+
setCreating(true);
|
|
191
|
+
setCreateMsg({ text: tr('connectors.creating') });
|
|
192
|
+
try {
|
|
193
|
+
const r = await jsend('POST', '/api/connectors', body);
|
|
194
|
+
if (!mountedRef.current)
|
|
195
|
+
return;
|
|
196
|
+
if (r.status === 201 && r.body?.ok) {
|
|
197
|
+
const url = r.body.webhookUrl || webhookUrl(r.body.connector.id);
|
|
198
|
+
const isToken = (r.body.connector?.verify?.type ?? 'token') === 'token';
|
|
199
|
+
const isDynamic = form.mode === 'dynamic';
|
|
200
|
+
const exampleChat = isDynamic ? (body.target.allowChats?.[0] || '<chatId>') : '';
|
|
201
|
+
setCreateMsg(null);
|
|
202
|
+
setCreated({
|
|
203
|
+
name,
|
|
204
|
+
mode: form.mode,
|
|
205
|
+
chatId: body.target.chatId,
|
|
206
|
+
url,
|
|
207
|
+
secret: r.body.secret,
|
|
208
|
+
isToken,
|
|
209
|
+
isDynamic,
|
|
210
|
+
exampleChat,
|
|
211
|
+
});
|
|
212
|
+
setForm(cur => ({
|
|
213
|
+
...cur,
|
|
214
|
+
name: '',
|
|
215
|
+
workflowId: '',
|
|
216
|
+
manualChatId: '',
|
|
217
|
+
dedup: '',
|
|
218
|
+
secret: '',
|
|
219
|
+
instruction: '',
|
|
220
|
+
allowChats: [],
|
|
221
|
+
}));
|
|
222
|
+
await load();
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
const e = r.body?.error || r.status;
|
|
226
|
+
setCreateMsg({ text: tr('connectors.createFailed', { error: String(e) }), error: true });
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
finally {
|
|
230
|
+
if (mountedRef.current)
|
|
231
|
+
setCreating(false);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async function saveInstruction(connector) {
|
|
235
|
+
setEditMsg({ id: connector.id, text: tr('connectors.saving') });
|
|
236
|
+
const r = await jsend('PUT', `/api/connectors/${encodeURIComponent(connector.id)}`, buildConnectorInstructionUpdateBody(connector, editInstruction));
|
|
237
|
+
if (!mountedRef.current)
|
|
238
|
+
return;
|
|
239
|
+
if (r.status === 200 && r.body?.ok) {
|
|
240
|
+
setEditingId(null);
|
|
241
|
+
setEditInstruction('');
|
|
242
|
+
setEditMsg(null);
|
|
243
|
+
await load();
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
const e = r.body?.error || r.status;
|
|
247
|
+
setEditMsg({ id: connector.id, text: tr('connectors.saveFailed', { error: String(e) }), error: true });
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
async function toggleConnector(connector) {
|
|
251
|
+
await jsend('PATCH', `/api/connectors/${encodeURIComponent(connector.id)}`, { enabled: !connector.enabled });
|
|
252
|
+
if (!mountedRef.current)
|
|
253
|
+
return;
|
|
254
|
+
await load();
|
|
255
|
+
}
|
|
256
|
+
async function deleteConnector(connector) {
|
|
257
|
+
if (!confirm(tr('connectors.delConfirm')))
|
|
258
|
+
return;
|
|
259
|
+
await jsend('DELETE', `/api/connectors/${encodeURIComponent(connector.id)}`);
|
|
260
|
+
if (!mountedRef.current)
|
|
261
|
+
return;
|
|
262
|
+
await load();
|
|
263
|
+
}
|
|
264
|
+
function copyConnectorUrl(connector) {
|
|
265
|
+
void navigator.clipboard?.writeText(webhookUrl(connector.id));
|
|
266
|
+
setCopiedId(connector.id);
|
|
267
|
+
if (copyTimerRef.current)
|
|
268
|
+
clearTimeout(copyTimerRef.current);
|
|
269
|
+
copyTimerRef.current = setTimeout(() => {
|
|
270
|
+
if (mountedRef.current)
|
|
271
|
+
setCopiedId(null);
|
|
272
|
+
}, 1200);
|
|
273
|
+
}
|
|
274
|
+
return (_jsxs("section", { className: "page", children: [_jsx("div", { className: "page-heading", children: _jsxs("div", { children: [_jsx("p", { className: "eyebrow", children: "Webhook" }), _jsx("h1", { children: "Webhook" }), _jsx("p", { children: tr('connectors.lede') })] }) }), _jsxs("div", { className: "card", style: { marginBottom: 16 }, children: [_jsx("h2", { style: { marginTop: 0 }, children: tr('connectors.createTitle') }), _jsxs("div", { className: "cn-form", style: { display: 'grid', gridTemplateColumns: '140px 1fr', gap: '10px 14px', alignItems: 'center', maxWidth: 680 }, children: [_jsx("label", { htmlFor: "cn-name", children: tr('connectors.fName') }), _jsx("input", { id: "cn-name", value: form.name, onChange: e => patchForm({ name: e.currentTarget.value }), placeholder: tr('connectors.fNamePh') }), _jsx("label", { htmlFor: "cn-bot", children: tr('connectors.fBot') }), _jsx("select", { id: "cn-bot", value: form.botId, onChange: e => patchForm({ botId: e.currentTarget.value }), children: bots.length ? bots.map(b => _jsx("option", { value: b.larkAppId, children: b.botName }, b.larkAppId)) : _jsx("option", { value: "", children: tr('connectors.noOnlineBots') }) }), _jsx("label", { htmlFor: "cn-kind", children: tr('connectors.fKind') }), _jsxs("select", { id: "cn-kind", value: form.kind, onChange: e => patchForm({ kind: e.currentTarget.value }), children: [_jsx("option", { value: "turn", children: tr('connectors.kindTurn') }), _jsx("option", { value: "workflow", children: tr('connectors.kindWorkflow') })] }), form.kind === 'workflow' ? (_jsxs(_Fragment, { children: [_jsx("label", { htmlFor: "cn-wf", children: tr('connectors.fWf') }), _jsx("input", { id: "cn-wf", value: form.workflowId, onChange: e => patchForm({ workflowId: e.currentTarget.value }), placeholder: "workflowId" })] })) : null, _jsx("label", { htmlFor: "cn-mode", children: tr('connectors.fMode') }), _jsxs("select", { id: "cn-mode", value: form.mode, onChange: e => patchForm({ mode: e.currentTarget.value }), children: [_jsx("option", { value: "dynamic", children: tr('connectors.modeDynamic') }), _jsx("option", { value: "fixed", children: tr('connectors.modeFixed') }), _jsx("option", { value: "new-group", children: tr('connectors.modeNewGroup') })] }), form.mode === 'fixed' ? (_jsxs(_Fragment, { children: [_jsx("label", { children: tr('connectors.fFixedChat') }), _jsxs("div", { children: [form.manualChat ? (_jsx("input", { id: "cn-chat", value: form.manualChatId, onChange: e => patchForm({ manualChatId: e.currentTarget.value }), placeholder: tr('connectors.fChatManualPh'), style: { width: '100%', boxSizing: 'border-box', marginTop: 6 } })) : (_jsx("select", { id: "cn-chat-sel", value: form.chatId, onChange: e => patchForm({ chatId: e.currentTarget.value }), style: { width: '100%', boxSizing: 'border-box' }, children: groupsForBot.length ? groupsForBot.map(g => _jsx("option", { value: g.chatId, children: g.name || g.chatId }, g.chatId)) : _jsx("option", { value: "", children: tr('connectors.noBotGroups') }) })), _jsx("a", { href: "#", onClick: e => { e.preventDefault(); patchForm({ manualChat: !form.manualChat }); }, style: { fontSize: 12, display: 'inline-block', marginTop: 4 }, children: form.manualChat ? tr('connectors.chatListLink') : tr('connectors.chatManualLink') })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("label", { children: [tr('connectors.fAllow'), _jsx("span", { className: "muted", style: { fontWeight: 400 }, children: tr('connectors.optional') })] }), _jsxs("div", { children: [_jsx("select", { multiple: true, size: 4, value: form.allowChats, onChange: e => selectAllowChats(e.currentTarget), style: { width: '100%', boxSizing: 'border-box' }, children: groupsForBot.map(g => _jsx("option", { value: g.chatId, children: g.name || g.chatId }, g.chatId)) }), _jsx("div", { className: "muted", style: { fontSize: 12, marginTop: 4 }, children: tr('connectors.allowHint') })] })] })), form.mode === 'dynamic' ? (_jsx("div", { style: { gridColumn: '1 / -1' }, children: _jsx("div", { className: "muted", style: { fontSize: 12, lineHeight: 1.7, background: 'var(--bg-soft,#f6f7f9)', padding: '8px 10px', borderRadius: 6 }, dangerouslySetInnerHTML: { __html: tr('connectors.dynamicHint') } }) })) : null, form.mode === 'new-group' ? (_jsxs(_Fragment, { children: [_jsxs("label", { htmlFor: "cn-dedup", children: [tr('connectors.fDedup'), _jsx("span", { className: "muted", style: { fontWeight: 400 }, children: tr('connectors.optional') })] }), _jsxs("div", { children: [_jsx("input", { id: "cn-dedup", value: form.dedup, onChange: e => patchForm({ dedup: e.currentTarget.value }), placeholder: tr('connectors.fDedupPh'), style: { width: '100%', boxSizing: 'border-box' } }), _jsx("div", { className: "muted", style: { fontSize: 12, marginTop: 4 }, dangerouslySetInnerHTML: { __html: tr('connectors.dedupHint') } })] })] })) : null, _jsxs("label", { htmlFor: "cn-instruction", style: { alignSelf: 'start' }, children: [tr('connectors.fInstruction'), _jsx("span", { className: "muted", style: { fontWeight: 400 }, children: tr('connectors.optional') })] }), _jsx("textarea", { id: "cn-instruction", rows: 3, value: form.instruction, onChange: e => patchForm({ instruction: e.currentTarget.value }), placeholder: tr('connectors.fInstructionPh'), style: { width: '100%', boxSizing: 'border-box', fontFamily: 'inherit', fontSize: 13 } }), _jsx("label", { htmlFor: "cn-verify", children: tr('connectors.fVerify') }), _jsxs("select", { id: "cn-verify", value: form.verify, onChange: e => patchForm({ verify: e.currentTarget.value }), children: [_jsx("option", { value: "token", children: tr('connectors.verifyToken') }), _jsx("option", { value: "hmac-sha256", children: tr('connectors.verifyHmac') })] }), _jsx("label", { htmlFor: "cn-secret", children: tr('connectors.fSecret') }), _jsx("input", { id: "cn-secret", value: form.secret, onChange: e => patchForm({ secret: e.currentTarget.value }), placeholder: tr('connectors.fSecretPh') })] }), _jsxs("div", { style: { marginTop: 14 }, children: [_jsx("button", { id: "cn-create", type: "button", className: "primary", disabled: creating, onClick: () => void createConnector(), children: tr('connectors.btnCreate') }), createMsg ? _jsx("span", { className: createMsg.error ? 'err' : 'muted', style: { marginLeft: 10, fontSize: 13 }, children: createMsg.text }) : null] }), created ? _jsx(CreatedPanel, { created: created, groupName: groupName }) : null] }), _jsxs("div", { className: "card", children: [_jsxs("h2", { style: { marginTop: 0 }, children: [tr('connectors.listTitle'), " ", _jsx("span", { className: "muted", style: { fontSize: 13 }, children: connectors.length ? tr('connectors.count', { count: connectors.length }) : '' })] }), loading ? _jsx("div", { children: tr('connectors.loading') }) : (_jsx(ConnectorList, { connectors: connectors, bots: bots, copiedId: copiedId, editingId: editingId, editInstruction: editInstruction, editMsg: editMsg, groupName: groupName, modeLabel: modeLabel, kindLabel: kindLabel, onCopy: copyConnectorUrl, onEdit: connector => { setEditingId(connector.id); setEditInstruction(connector.promptEnvelope?.instruction || ''); setEditMsg(null); }, onCancelEdit: () => { setEditingId(null); setEditInstruction(''); setEditMsg(null); }, onEditInstruction: setEditInstruction, onSaveInstruction: connector => void saveInstruction(connector), onToggle: connector => void toggleConnector(connector), onDelete: connector => void deleteConnector(connector) }))] })] }));
|
|
275
|
+
}
|
|
276
|
+
function CreatedPanel(props) {
|
|
277
|
+
const tr = useT();
|
|
278
|
+
const c = props.created;
|
|
279
|
+
const callUrl = c.isDynamic ? `${c.url}?chatId=${c.exampleChat}` : c.url;
|
|
280
|
+
const dynamicGroupName = c.exampleChat !== '<chatId>' ? `(${props.groupName(c.exampleChat)})` : '';
|
|
281
|
+
return (_jsx("div", { style: { marginTop: 12 }, children: _jsxs("div", { className: "card", style: { padding: '12px 14px', background: 'var(--bg-soft,#f6f7f9)' }, children: [_jsxs("p", { className: "ok", style: { margin: '0 0 6px' }, children: [tr('connectors.createdPrefix', { name: c.name }), c.mode === 'fixed' && c.chatId ? (_jsxs("span", { className: "muted", style: { fontWeight: 400, fontSize: 13 }, children: [" \u00B7 ", tr('connectors.createdDest', { name: props.groupName(c.chatId) })] })) : null] }), _jsxs("p", { style: { margin: '4px 0', fontSize: 13 }, children: [_jsx("span", { className: "muted", children: tr('connectors.webhookUrl') }), _jsx("code", { style: { wordBreak: 'break-all' }, children: c.url })] }), c.secret ? (_jsxs("p", { style: { margin: '4px 0', fontSize: 13 }, children: [_jsxs("span", { className: "muted", children: [c.isToken ? tr('connectors.tokenLabel') : tr('connectors.signLabel'), tr('connectors.secretOnce')] }), _jsx("code", { children: c.secret })] })) : null, c.isToken && c.isDynamic ? (_jsxs(_Fragment, { children: [_jsx("p", { className: "muted", style: { fontSize: 12, margin: '6px 0 0' }, children: tr('connectors.usageDynamicLede', { gn: dynamicGroupName }) }), _jsx("pre", { style: { margin: '6px 0 0', fontSize: 12, whiteSpace: 'pre-wrap', wordBreak: 'break-all' }, children: _jsx("code", { children: `curl -X POST '${callUrl}' -H 'content-type: application/json' -d '{}'` }) }), _jsx("p", { className: "muted", style: { fontSize: 12, margin: '6px 0 0' }, dangerouslySetInnerHTML: { __html: tr('connectors.usageDynamicNote') } })] })) : c.isToken ? (_jsxs(_Fragment, { children: [_jsx("p", { className: "muted", style: { fontSize: 12, margin: '6px 0 0' }, children: tr('connectors.usageTokenLede') }), _jsx("pre", { style: { margin: '6px 0 0', fontSize: 12, whiteSpace: 'pre-wrap', wordBreak: 'break-all' }, children: _jsx("code", { children: `curl -X POST '${callUrl}' -H 'content-type: application/json' -d '{}'` }) }), _jsx("p", { className: "muted", style: { fontSize: 12, margin: '6px 0 0' }, dangerouslySetInnerHTML: { __html: tr('connectors.usageTokenNote') } })] })) : (_jsx("p", { className: "muted", style: { fontSize: 12, margin: '6px 0 0' }, dangerouslySetInnerHTML: { __html: tr('connectors.usageHmac') + (c.isDynamic ? tr('connectors.usageHmacDynamic') : '') } }))] }) }));
|
|
282
|
+
}
|
|
283
|
+
function ConnectorList(props) {
|
|
284
|
+
const tr = useT();
|
|
285
|
+
if (!props.connectors.length)
|
|
286
|
+
return _jsx("p", { className: "muted", children: tr('connectors.empty') });
|
|
287
|
+
return (_jsx(_Fragment, { children: props.connectors.map(c => {
|
|
288
|
+
const bot = props.bots.find(b => b.larkAppId === c.target.botId);
|
|
289
|
+
const url = webhookUrl(c.id);
|
|
290
|
+
const isToken = (c.verify?.type ?? 'token') === 'token';
|
|
291
|
+
const verifyBadge = isToken ? tr('connectors.badgeToken') : tr('connectors.badgeSign');
|
|
292
|
+
const destLabel = c.target.mode === 'fixed' && c.target.chatId
|
|
293
|
+
? ` · ${tr('connectors.dest', { name: props.groupName(c.target.chatId) })}`
|
|
294
|
+
: '';
|
|
295
|
+
const editing = props.editingId === c.id;
|
|
296
|
+
const editMsg = props.editMsg?.id === c.id ? props.editMsg : null;
|
|
297
|
+
return (_jsxs("div", { className: "card", style: { margin: '0 0 10px', padding: '12px 14px', background: 'var(--bg-soft,#f6f7f9)' }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap' }, children: [_jsx("b", { style: { fontSize: 15 }, children: c.name }), _jsx("span", { className: c.enabled ? 'ok' : 'muted', style: { fontSize: 12 }, children: c.enabled ? tr('connectors.enabled') : tr('connectors.disabled') }), _jsxs("span", { className: "muted", style: { fontSize: 12 }, children: ["\u00B7 ", bot?.botName || c.target.botId, " \u00B7 ", props.kindLabel(c.target.kind), " \u00B7 ", props.modeLabel(c.target.mode), destLabel, " \u00B7 ", verifyBadge] }), _jsxs("span", { style: { marginLeft: 'auto', display: 'flex', gap: 6 }, children: [_jsx("button", { className: "ghost", type: "button", style: { fontSize: 12 }, onClick: () => props.onEdit(c), children: tr('connectors.btnEdit') }), _jsx("button", { className: "ghost", type: "button", style: { fontSize: 12 }, onClick: () => props.onToggle(c), children: c.enabled ? tr('connectors.btnDisable') : tr('connectors.btnEnable') }), _jsx("button", { className: "ghost", type: "button", style: { fontSize: 12 }, onClick: () => props.onDelete(c), children: tr('connectors.btnDel') })] })] }), _jsxs("div", { style: { marginTop: 6, fontSize: 13, display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap' }, children: [_jsx("span", { className: "muted", children: tr('connectors.webhookUrl') }), _jsxs("code", { style: { fontSize: 12, wordBreak: 'break-all' }, children: [url, isToken ? '/<token>' : ''] }), _jsx("button", { className: "ghost", type: "button", style: { fontSize: 12 }, onClick: () => props.onCopy(c), children: props.copiedId === c.id ? tr('connectors.copied') : tr('connectors.copy') })] }), isToken ? _jsx("div", { className: "muted", style: { fontSize: 12, marginTop: 4 }, dangerouslySetInnerHTML: { __html: tr('connectors.tokenHint') } }) : null, c.target.mode === 'dynamic' ? _jsx("div", { className: "muted", style: { fontSize: 12, marginTop: 4 }, dangerouslySetInnerHTML: { __html: tr('connectors.dynamicReqHint') } }) : null, c.promptEnvelope?.instruction ? _jsxs("div", { className: "muted", style: { fontSize: 12, marginTop: 4 }, children: [tr('connectors.instructionPrefix'), c.promptEnvelope.instruction] }) : null, editing ? (_jsxs("div", { className: "cn-edit-box", style: { marginTop: 8 }, children: [_jsx("textarea", { className: "cn-edit-instruction", rows: 3, value: props.editInstruction, onChange: e => props.onEditInstruction(e.currentTarget.value), style: { width: '100%', boxSizing: 'border-box', fontFamily: 'inherit', fontSize: 13 }, placeholder: tr('connectors.fInstructionPh') }), _jsxs("div", { style: { marginTop: 8, display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap' }, children: [_jsx("button", { className: "primary", type: "button", style: { fontSize: 12 }, onClick: () => props.onSaveInstruction(c), children: tr('connectors.btnSave') }), _jsx("button", { className: "ghost", type: "button", style: { fontSize: 12 }, onClick: props.onCancelEdit, children: tr('connectors.btnCancel') }), editMsg ? _jsx("span", { className: editMsg.error ? 'err' : 'muted', style: { fontSize: 12 }, children: editMsg.text }) : null] })] })) : null] }, c.id));
|
|
298
|
+
}) }));
|
|
299
|
+
}
|
|
300
|
+
export function renderConnectorsPage(root) {
|
|
301
|
+
return mountReactPage(root, _jsx(ConnectorsPage, {}));
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=connectors-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors-page.js","sourceRoot":"","sources":["../../../src/dashboard/web/connectors-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
name: string;
|
|
3
|
-
promptEnvelope?: {
|
|
4
|
-
sourceName?: string;
|
|
5
|
-
};
|
|
6
|
-
}, instruction: string): {
|
|
7
|
-
promptEnvelope: {
|
|
8
|
-
sourceName: string;
|
|
9
|
-
instruction: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
export declare function renderConnectorsPage(root: HTMLElement): void;
|
|
1
|
+
export { buildConnectorInstructionUpdateBody, renderConnectorsPage } from './connectors-page.js';
|
|
13
2
|
//# sourceMappingURL=connectors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/connectors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|