botmux 2.44.0 → 2.45.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 +1 -2
- package/README.md +1 -2
- package/dist/cli/bots-list-output.d.ts +8 -0
- package/dist/cli/bots-list-output.d.ts.map +1 -1
- package/dist/cli/bots-list-output.js +9 -0
- package/dist/cli/bots-list-output.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +132 -50
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +2 -0
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +56 -0
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/role-resolver.d.ts +17 -1
- package/dist/core/role-resolver.d.ts.map +1 -1
- package/dist/core/role-resolver.js +64 -10
- package/dist/core/role-resolver.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +14 -9
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/trigger-session.d.ts +9 -0
- package/dist/core/trigger-session.d.ts.map +1 -0
- package/dist/core/trigger-session.js +158 -0
- package/dist/core/trigger-session.js.map +1 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +73 -44
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/connector-api.d.ts +3 -0
- package/dist/dashboard/connector-api.d.ts.map +1 -0
- package/dist/dashboard/connector-api.js +351 -0
- package/dist/dashboard/connector-api.js.map +1 -0
- package/dist/dashboard/federated-group-core.d.ts +54 -0
- package/dist/dashboard/federated-group-core.d.ts.map +1 -0
- package/dist/dashboard/federated-group-core.js +165 -0
- package/dist/dashboard/federated-group-core.js.map +1 -0
- package/dist/dashboard/federation-api.d.ts +42 -0
- package/dist/dashboard/federation-api.d.ts.map +1 -0
- package/dist/dashboard/federation-api.js +408 -0
- package/dist/dashboard/federation-api.js.map +1 -0
- package/dist/dashboard/federation-spoke-api.d.ts +76 -0
- package/dist/dashboard/federation-spoke-api.d.ts.map +1 -0
- package/dist/dashboard/federation-spoke-api.js +618 -0
- package/dist/dashboard/federation-spoke-api.js.map +1 -0
- package/dist/dashboard/team-group.d.ts +18 -0
- package/dist/dashboard/team-group.d.ts.map +1 -0
- package/dist/dashboard/team-group.js +7 -0
- package/dist/dashboard/team-group.js.map +1 -0
- package/dist/dashboard/trigger-api.d.ts +13 -0
- package/dist/dashboard/trigger-api.d.ts.map +1 -0
- package/dist/dashboard/trigger-api.js +77 -0
- package/dist/dashboard/trigger-api.js.map +1 -0
- package/dist/dashboard/web/app.js +8 -0
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/connectors.d.ts +2 -0
- package/dist/dashboard/web/connectors.d.ts.map +1 -0
- package/dist/dashboard/web/connectors.js +187 -0
- package/dist/dashboard/web/connectors.js.map +1 -0
- package/dist/dashboard/web/team-federation.d.ts +3 -0
- package/dist/dashboard/web/team-federation.d.ts.map +1 -0
- package/dist/dashboard/web/team-federation.js +472 -0
- package/dist/dashboard/web/team-federation.js.map +1 -0
- package/dist/dashboard/webhook-routes.d.ts +19 -0
- package/dist/dashboard/webhook-routes.d.ts.map +1 -0
- package/dist/dashboard/webhook-routes.js +321 -0
- package/dist/dashboard/webhook-routes.js.map +1 -0
- package/dist/dashboard-web/app.js +509 -386
- package/dist/dashboard-web/index.html +2 -0
- package/dist/dashboard.js +152 -1
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +24 -8
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +24 -8
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/client.d.ts +21 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +86 -18
- package/dist/im/lark/client.js.map +1 -1
- package/dist/services/bot-owner-store.d.ts +28 -0
- package/dist/services/bot-owner-store.d.ts.map +1 -0
- package/dist/services/bot-owner-store.js +82 -0
- package/dist/services/bot-owner-store.js.map +1 -0
- package/dist/services/bot-profile-store.d.ts +16 -0
- package/dist/services/bot-profile-store.d.ts.map +1 -0
- package/dist/services/bot-profile-store.js +98 -0
- package/dist/services/bot-profile-store.js.map +1 -0
- package/dist/services/connector-store.d.ts +58 -0
- package/dist/services/connector-store.d.ts.map +1 -0
- package/dist/services/connector-store.js +79 -0
- package/dist/services/connector-store.js.map +1 -0
- package/dist/services/deployment-identity.d.ts +22 -0
- package/dist/services/deployment-identity.d.ts.map +1 -0
- package/dist/services/deployment-identity.js +67 -0
- package/dist/services/deployment-identity.js.map +1 -0
- package/dist/services/federation-membership-store.d.ts +23 -0
- package/dist/services/federation-membership-store.d.ts.map +1 -0
- package/dist/services/federation-membership-store.js +66 -0
- package/dist/services/federation-membership-store.js.map +1 -0
- package/dist/services/federation-roster.d.ts +54 -0
- package/dist/services/federation-roster.d.ts.map +1 -0
- package/dist/services/federation-roster.js +51 -0
- package/dist/services/federation-roster.js.map +1 -0
- package/dist/services/federation-store.d.ts +76 -0
- package/dist/services/federation-store.d.ts.map +1 -0
- package/dist/services/federation-store.js +133 -0
- package/dist/services/federation-store.js.map +1 -0
- package/dist/services/group-creator.d.ts +6 -0
- package/dist/services/group-creator.d.ts.map +1 -1
- package/dist/services/group-creator.js +10 -1
- package/dist/services/group-creator.js.map +1 -1
- package/dist/services/groups-store.d.ts +11 -0
- package/dist/services/groups-store.d.ts.map +1 -1
- package/dist/services/groups-store.js +42 -0
- package/dist/services/groups-store.js.map +1 -1
- package/dist/services/invite-store.d.ts +28 -0
- package/dist/services/invite-store.d.ts.map +1 -0
- package/dist/services/invite-store.js +85 -0
- package/dist/services/invite-store.js.map +1 -0
- package/dist/services/pairing-store.d.ts +47 -0
- package/dist/services/pairing-store.d.ts.map +1 -0
- package/dist/services/pairing-store.js +132 -0
- package/dist/services/pairing-store.js.map +1 -0
- package/dist/services/team-roster.d.ts +38 -0
- package/dist/services/team-roster.d.ts.map +1 -0
- package/dist/services/team-roster.js +82 -0
- package/dist/services/team-roster.js.map +1 -0
- package/dist/services/team-store.d.ts +54 -0
- package/dist/services/team-store.d.ts.map +1 -0
- package/dist/services/team-store.js +156 -0
- package/dist/services/team-store.js.map +1 -0
- package/dist/services/trigger-log-store.d.ts +46 -0
- package/dist/services/trigger-log-store.d.ts.map +1 -0
- package/dist/services/trigger-log-store.js +132 -0
- package/dist/services/trigger-log-store.js.map +1 -0
- package/dist/services/trigger-types.d.ts +57 -0
- package/dist/services/trigger-types.d.ts.map +1 -0
- package/dist/services/trigger-types.js +28 -0
- package/dist/services/trigger-types.js.map +1 -0
- package/dist/services/webhook-key.d.ts +16 -0
- package/dist/services/webhook-key.d.ts.map +1 -0
- package/dist/services/webhook-key.js +123 -0
- package/dist/services/webhook-key.js.map +1 -0
- package/dist/services/webhook-lifecycle-extractors.d.ts +15 -0
- package/dist/services/webhook-lifecycle-extractors.d.ts.map +1 -0
- package/dist/services/webhook-lifecycle-extractors.js +59 -0
- package/dist/services/webhook-lifecycle-extractors.js.map +1 -0
- package/dist/services/webhook-lifecycle-store.d.ts +45 -0
- package/dist/services/webhook-lifecycle-store.d.ts.map +1 -0
- package/dist/services/webhook-lifecycle-store.js +159 -0
- package/dist/services/webhook-lifecycle-store.js.map +1 -0
- package/dist/setup/verify-permissions.d.ts.map +1 -1
- package/dist/setup/verify-permissions.js +4 -0
- package/dist/setup/verify-permissions.js.map +1 -1
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +64 -10
- package/dist/skills/definitions.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +2 -2
- package/dist/workflows/events/schema.d.ts +8 -8
- package/dist/workflows/trigger-from-envelope.d.ts +13 -0
- package/dist/workflows/trigger-from-envelope.d.ts.map +1 -0
- package/dist/workflows/trigger-from-envelope.js +67 -0
- package/dist/workflows/trigger-from-envelope.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAkD,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/G,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAKhD,eAAO,MAAM,eAAe,aAA6J,CAAC;AAE1L;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,aAO/B,CAAC;AAIH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0C9C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKpF;AAED;;;;mCAImC;AACnC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAqB1F;AA8DD,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,gCAAgC,EAAE,WAAW,EAAE,CAAC,CAAC;CACnF;AAoOD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAwtBf;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,kBAAkB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
|
@@ -12,7 +12,8 @@ import * as scheduler from './scheduler.js';
|
|
|
12
12
|
import { scanMultipleProjects, describeProjectDir } from '../services/project-scanner.js';
|
|
13
13
|
import { buildRepoSelectCard, buildAdoptSelectCard, buildSessionClosedCard, getCliDisplayName } from '../im/lark/card-builder.js';
|
|
14
14
|
import { createCliAdapterSync } from '../adapters/cli/registry.js';
|
|
15
|
-
import { deleteMessage, listChatBotMembers, getChatModeStrict } from '../im/lark/client.js';
|
|
15
|
+
import { deleteMessage, listChatBotMembers, resolveUserUnionId, getChatModeStrict } from '../im/lark/client.js';
|
|
16
|
+
import { claimPairing } from '../services/pairing-store.js';
|
|
16
17
|
import { logger } from '../utils/logger.js';
|
|
17
18
|
import { killWorker, forkWorker, forkAdoptWorker, getCurrentCliVersion, postFreshStreamingCard, postPrivateSnapshotCard, resolvePrivateCardAudience } from './worker-pool.js';
|
|
18
19
|
import { expandHome, getSessionWorkingDir, getProjectScanDirs, rememberLastCliInput } from './session-manager.js';
|
|
@@ -21,11 +22,12 @@ import { discoverAdoptableSessions, validateAdoptTarget } from './session-discov
|
|
|
21
22
|
import { generateAuthUrl, getTokenStatus } from '../utils/user-token.js';
|
|
22
23
|
import { bindOncall, unbindOncall, getOncallStatus } from '../services/oncall-store.js';
|
|
23
24
|
import { invalidWorkingDirs } from '../utils/working-dir.js';
|
|
24
|
-
import {
|
|
25
|
+
import { writeRoleFile, deleteRoleFile, resolveRole, resolveTeamRoleFile, writeTeamRoleFile, deleteTeamRoleFile } from './role-resolver.js';
|
|
26
|
+
import { getBotCapability, setBotCapability, clearBotCapability } from '../services/bot-profile-store.js';
|
|
25
27
|
import { sessionKey, sessionAnchorId } from './types.js';
|
|
26
28
|
import { t, localeForBot } from '../i18n/index.js';
|
|
27
29
|
// ─── Exported constants ──────────────────────────────────────────────────────
|
|
28
|
-
export const DAEMON_COMMANDS = new Set(['/close', '/restart', '/status', '/help', '/cd', '/repo', '/
|
|
30
|
+
export const DAEMON_COMMANDS = new Set(['/close', '/restart', '/status', '/help', '/cd', '/repo', '/schedule', '/role', '/pair', '/login', '/adopt', '/oncall', '/group', '/g', '/card']);
|
|
29
31
|
/**
|
|
30
32
|
* Slash commands that are forwarded verbatim to the underlying CLI (e.g.
|
|
31
33
|
* Claude Code's `/compact`, `/model`, `/usage`). The daemon does NOT handle
|
|
@@ -218,16 +220,69 @@ function invalidConfiguredWorkingDirs(ds, larkAppId) {
|
|
|
218
220
|
});
|
|
219
221
|
}
|
|
220
222
|
// ─── Schedule command ────────────────────────────────────────────────────────
|
|
221
|
-
async function handleRoleCommand(args, rootId, chatId, larkAppId, deps) {
|
|
223
|
+
async function handleRoleCommand(args, rootId, chatId, larkAppId, senderId, deps) {
|
|
222
224
|
const sessionReply = (rid, content, msgType) => deps.sessionReply(rid, content, msgType, larkAppId);
|
|
223
225
|
const trimmed = args.trim();
|
|
224
226
|
const loc = localeForBot(larkAppId);
|
|
225
|
-
|
|
227
|
+
const dataDir = config.session.dataDir;
|
|
228
|
+
// /role team [...] — manage the team-level (per-bot, cross-chat) role
|
|
229
|
+
const teamMatch = trimmed.match(/^team\b([\s\S]*)$/);
|
|
230
|
+
if (teamMatch) {
|
|
231
|
+
const teamArgs = teamMatch[1].trim();
|
|
232
|
+
const teamSet = teamArgs.match(/^set\s+([\s\S]+)/);
|
|
233
|
+
if (teamSet) {
|
|
234
|
+
const content = teamSet[1].trim();
|
|
235
|
+
if (!content) {
|
|
236
|
+
await sessionReply(rootId, t('role.set_empty', undefined, loc));
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
writeTeamRoleFile(larkAppId, content);
|
|
240
|
+
await sessionReply(rootId, t('role.team_saved', { bytes: Buffer.byteLength(content, 'utf-8'), max: 4096 }, loc));
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
if (teamArgs === 'delete' || teamArgs === '删除') {
|
|
244
|
+
await sessionReply(rootId, deleteTeamRoleFile(larkAppId) ? t('role.team_deleted', undefined, loc) : t('role.team_nothing', undefined, loc));
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const content = resolveTeamRoleFile(larkAppId);
|
|
248
|
+
if (content) {
|
|
249
|
+
await sessionReply(rootId, `${t('role.team_current', undefined, loc)}\n\`\`\`markdown\n${content}\n\`\`\`\n${t('role.byte_count', { bytes: Buffer.byteLength(content, 'utf-8'), max: 4096 }, loc)}`);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
await sessionReply(rootId, t('role.team_empty', undefined, loc));
|
|
253
|
+
}
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
// /role cap [...] — manage the short capability label shown in the roster
|
|
257
|
+
const capMatch = trimmed.match(/^cap\b([\s\S]*)$/);
|
|
258
|
+
if (capMatch) {
|
|
259
|
+
const capArgs = capMatch[1].trim();
|
|
260
|
+
const capSet = capArgs.match(/^set\s+([\s\S]+)/);
|
|
261
|
+
if (capSet) {
|
|
262
|
+
const label = capSet[1].trim();
|
|
263
|
+
if (!label) {
|
|
264
|
+
await sessionReply(rootId, t('role.cap_set_empty', undefined, loc));
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
setBotCapability(dataDir, larkAppId, label, senderId);
|
|
268
|
+
await sessionReply(rootId, t('role.cap_saved', { cap: getBotCapability(dataDir, larkAppId) ?? label }, loc));
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (capArgs === 'clear' || capArgs === '清除') {
|
|
272
|
+
await sessionReply(rootId, clearBotCapability(dataDir, larkAppId) ? t('role.cap_cleared', undefined, loc) : t('role.cap_empty', undefined, loc));
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
const cap = getBotCapability(dataDir, larkAppId);
|
|
276
|
+
await sessionReply(rootId, cap ? t('role.cap_current', { cap }, loc) : t('role.cap_empty', undefined, loc));
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
// /role → show the EFFECTIVE role + where it comes from (chat override > team > none)
|
|
226
280
|
if (!trimmed) {
|
|
227
|
-
const content =
|
|
281
|
+
const { content, source } = resolveRole(larkAppId, chatId);
|
|
228
282
|
if (content) {
|
|
229
283
|
const len = Buffer.byteLength(content, 'utf-8');
|
|
230
|
-
|
|
284
|
+
const srcLabel = source === 'chat' ? t('role.src_chat', undefined, loc) : t('role.src_team', undefined, loc);
|
|
285
|
+
await sessionReply(rootId, `${t('role.current', undefined, loc)} ${srcLabel}\n\`\`\`markdown\n${content}\n\`\`\`\n${t('role.byte_count', { bytes: len, max: 4096 }, loc)}`);
|
|
231
286
|
}
|
|
232
287
|
else {
|
|
233
288
|
await sessionReply(rootId, t('role.empty', undefined, loc));
|
|
@@ -458,6 +513,26 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
458
513
|
}
|
|
459
514
|
case '/repo': {
|
|
460
515
|
const repoArg = message.content.replace(/^\/repo\s*/, '').trim();
|
|
516
|
+
// First-spawn fork: consume the buffered prompt/attachments and start the
|
|
517
|
+
// CLI in whatever workingDir is currently set on the session. Shared by
|
|
518
|
+
// `commitRepoSelection` (a repo was named) and the bare-`/repo` launch
|
|
519
|
+
// (use the default workingDir) — both only run while `pendingRepo`.
|
|
520
|
+
const forkPendingCli = async (replyText) => {
|
|
521
|
+
const selfBot = getBot(ds.larkAppId);
|
|
522
|
+
const botCfg = selfBot.config;
|
|
523
|
+
ds.pendingRepo = false;
|
|
524
|
+
const { buildNewTopicPrompt, getAvailableBots } = await import('./session-manager.js');
|
|
525
|
+
const pendingPrompt = ds.pendingPrompt ?? '';
|
|
526
|
+
const prompt = buildNewTopicPrompt(pendingPrompt, ds.session.sessionId, botCfg.cliId, botCfg.cliPathOverride, ds.pendingAttachments, ds.pendingMentions, await getAvailableBots(ds.larkAppId, ds.chatId), ds.pendingFollowUps, { name: selfBot.botName, openId: selfBot.botOpenId }, loc, ds.pendingSender, { larkAppId, chatId: ds.chatId });
|
|
527
|
+
rememberLastCliInput(ds, pendingPrompt, prompt);
|
|
528
|
+
ds.pendingPrompt = undefined;
|
|
529
|
+
ds.pendingAttachments = undefined;
|
|
530
|
+
ds.pendingMentions = undefined;
|
|
531
|
+
ds.pendingSender = undefined;
|
|
532
|
+
ds.pendingFollowUps = undefined;
|
|
533
|
+
forkWorker(ds, prompt);
|
|
534
|
+
await sessionReply(rootId, replyText);
|
|
535
|
+
};
|
|
461
536
|
// Shared commit path for an already-resolved repo: update the session's
|
|
462
537
|
// working dir, then either fork into the pending CLI (first spawn) or
|
|
463
538
|
// close + recreate the session (mid-session switch). Used by both the
|
|
@@ -467,20 +542,7 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
467
542
|
ds.session.workingDir = selectedPath;
|
|
468
543
|
sessionStore.updateSession(ds.session);
|
|
469
544
|
if (ds.pendingRepo) {
|
|
470
|
-
|
|
471
|
-
const botCfg = selfBot.config;
|
|
472
|
-
ds.pendingRepo = false;
|
|
473
|
-
const { buildNewTopicPrompt, getAvailableBots } = await import('./session-manager.js');
|
|
474
|
-
const pendingPrompt = ds.pendingPrompt ?? '';
|
|
475
|
-
const prompt = buildNewTopicPrompt(pendingPrompt, ds.session.sessionId, botCfg.cliId, botCfg.cliPathOverride, ds.pendingAttachments, ds.pendingMentions, await getAvailableBots(ds.larkAppId, ds.chatId), ds.pendingFollowUps, { name: selfBot.botName, openId: selfBot.botOpenId }, loc, ds.pendingSender, { larkAppId, chatId: ds.chatId });
|
|
476
|
-
rememberLastCliInput(ds, pendingPrompt, prompt);
|
|
477
|
-
ds.pendingPrompt = undefined;
|
|
478
|
-
ds.pendingAttachments = undefined;
|
|
479
|
-
ds.pendingMentions = undefined;
|
|
480
|
-
ds.pendingSender = undefined;
|
|
481
|
-
ds.pendingFollowUps = undefined;
|
|
482
|
-
forkWorker(ds, prompt);
|
|
483
|
-
await sessionReply(rootId, t('cmd.repo.selected_in_pending', { name: displayName }, loc));
|
|
545
|
+
await forkPendingCli(t('cmd.repo.selected_in_pending', { name: displayName }, loc));
|
|
484
546
|
}
|
|
485
547
|
else {
|
|
486
548
|
killWorker(ds);
|
|
@@ -529,6 +591,29 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
529
591
|
await commitRepoSelection(resolved.path, resolved.displayName, `/repo ${repoArg}`);
|
|
530
592
|
break;
|
|
531
593
|
}
|
|
594
|
+
// Bare `/repo` while a repo card is pending → launch right away in the
|
|
595
|
+
// default workingDir. This is the text-command twin of the card's
|
|
596
|
+
// "start directly" button (and replaces the old `/skip` command).
|
|
597
|
+
// Mid-session bare `/repo` (no pending) still falls through to the card.
|
|
598
|
+
if (!repoArg && ds?.pendingRepo) {
|
|
599
|
+
// Validate the configured workingDir before spawning — `forkWorker`
|
|
600
|
+
// doesn't, so a dead cwd would otherwise spawn-and-fail silently. Same
|
|
601
|
+
// guard the card path runs below. On failure we keep the pending state
|
|
602
|
+
// so the user can recover with `/repo <valid-path>` (no card here).
|
|
603
|
+
const invalidDirs = invalidConfiguredWorkingDirs(ds, ds.larkAppId ?? larkAppId);
|
|
604
|
+
if (invalidDirs.length > 0) {
|
|
605
|
+
await sessionReply(rootId, t('cmd.repo.working_dir_not_exist', { dirs: invalidDirs.map(d => `\`${d}\``).join(', ') }, loc));
|
|
606
|
+
break;
|
|
607
|
+
}
|
|
608
|
+
const cwd = getSessionWorkingDir(ds);
|
|
609
|
+
await forkPendingCli(t('cmd.skip.opened', { cwd }, loc));
|
|
610
|
+
if (ds.repoCardMessageId) {
|
|
611
|
+
deleteMessage(ds.larkAppId, ds.repoCardMessageId);
|
|
612
|
+
ds.repoCardMessageId = undefined;
|
|
613
|
+
}
|
|
614
|
+
logger.info(`[${logTag}] Bare /repo while pending → launch in workingDir ${cwd}`);
|
|
615
|
+
break;
|
|
616
|
+
}
|
|
532
617
|
if (ds?.worker && !ds.worker.killed) {
|
|
533
618
|
await sessionReply(rootId, t('cmd.repo.warning_running', undefined, loc));
|
|
534
619
|
}
|
|
@@ -558,34 +643,6 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
558
643
|
logger.info(`[${logTag}] Sent repo card with ${projects.length} project(s)`);
|
|
559
644
|
break;
|
|
560
645
|
}
|
|
561
|
-
case '/skip': {
|
|
562
|
-
if (ds?.pendingRepo) {
|
|
563
|
-
const selfBot = getBot(ds.larkAppId);
|
|
564
|
-
const botCfg = selfBot.config;
|
|
565
|
-
ds.pendingRepo = false;
|
|
566
|
-
const { buildNewTopicPrompt, getAvailableBots } = await import('./session-manager.js');
|
|
567
|
-
const pendingPrompt = ds.pendingPrompt ?? '';
|
|
568
|
-
const prompt = buildNewTopicPrompt(pendingPrompt, ds.session.sessionId, botCfg.cliId, botCfg.cliPathOverride, ds.pendingAttachments, ds.pendingMentions, await getAvailableBots(ds.larkAppId, ds.chatId), ds.pendingFollowUps, { name: selfBot.botName, openId: selfBot.botOpenId }, loc, ds.pendingSender, { larkAppId, chatId: ds.chatId });
|
|
569
|
-
rememberLastCliInput(ds, pendingPrompt, prompt);
|
|
570
|
-
ds.pendingPrompt = undefined;
|
|
571
|
-
ds.pendingAttachments = undefined;
|
|
572
|
-
ds.pendingMentions = undefined;
|
|
573
|
-
ds.pendingSender = undefined;
|
|
574
|
-
ds.pendingFollowUps = undefined;
|
|
575
|
-
forkWorker(ds, prompt);
|
|
576
|
-
const cwd = getSessionWorkingDir(ds);
|
|
577
|
-
await sessionReply(rootId, t('cmd.skip.opened', { cwd }, loc));
|
|
578
|
-
if (ds.repoCardMessageId) {
|
|
579
|
-
deleteMessage(ds.larkAppId, ds.repoCardMessageId);
|
|
580
|
-
ds.repoCardMessageId = undefined;
|
|
581
|
-
}
|
|
582
|
-
logger.info(`[${logTag}] Skip repo via /skip, spawning CLI in ${cwd}`);
|
|
583
|
-
}
|
|
584
|
-
else {
|
|
585
|
-
await sessionReply(rootId, t('cmd.skip.no_pending', undefined, loc));
|
|
586
|
-
}
|
|
587
|
-
break;
|
|
588
|
-
}
|
|
589
646
|
case '/status': {
|
|
590
647
|
if (ds) {
|
|
591
648
|
const alive = ds.worker && !ds.worker.killed;
|
|
@@ -627,10 +684,35 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
|
|
|
627
684
|
break;
|
|
628
685
|
}
|
|
629
686
|
const roleArgs = message.content.replace(/^\/role\s*/, '');
|
|
630
|
-
await handleRoleCommand(roleArgs, rootId, chatId, larkAppId, deps);
|
|
687
|
+
await handleRoleCommand(roleArgs, rootId, chatId, larkAppId, message.senderId, deps);
|
|
631
688
|
logger.info(`[${logTag}] Role command handled`);
|
|
632
689
|
break;
|
|
633
690
|
}
|
|
691
|
+
case '/pair': {
|
|
692
|
+
const code = message.content.replace(/^\/pair\s*/, '').trim();
|
|
693
|
+
if (!larkAppId) {
|
|
694
|
+
await sessionReply(rootId, t('role.no_chat', undefined, loc));
|
|
695
|
+
break;
|
|
696
|
+
}
|
|
697
|
+
if (!code) {
|
|
698
|
+
await sessionReply(rootId, t('pair.usage', undefined, loc));
|
|
699
|
+
break;
|
|
700
|
+
}
|
|
701
|
+
// Resolve the sender's canonical union_id (best-effort) so the web
|
|
702
|
+
// session is keyed stably across apps; degrade to open_id-only.
|
|
703
|
+
const who = await resolveUserUnionId(larkAppId, message.senderId);
|
|
704
|
+
const result = claimPairing(config.session.dataDir, code, { openId: message.senderId, unionId: who.unionId, name: who.name, larkAppId });
|
|
705
|
+
if (result.ok)
|
|
706
|
+
await sessionReply(rootId, t('pair.ok', undefined, loc));
|
|
707
|
+
else if (result.reason === 'expired')
|
|
708
|
+
await sessionReply(rootId, t('pair.expired', undefined, loc));
|
|
709
|
+
else if (result.reason === 'already_claimed')
|
|
710
|
+
await sessionReply(rootId, t('pair.already', undefined, loc));
|
|
711
|
+
else
|
|
712
|
+
await sessionReply(rootId, t('pair.not_found', undefined, loc));
|
|
713
|
+
logger.info(`[${logTag}] Pair command handled: ${result.ok ? 'ok' : result.reason}`);
|
|
714
|
+
break;
|
|
715
|
+
}
|
|
634
716
|
case '/login': {
|
|
635
717
|
const subCmd = message.content.replace(/^\/login\s*/, '').trim();
|
|
636
718
|
if (subCmd === 'status' || subCmd === '状态') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type IncomingMessage, type ServerResponse } from 'node:http';
|
|
2
|
+
import type { TriggerInput, TriggerResult } from '../workflows/trigger-run.js';
|
|
3
|
+
export declare function setWorkflowRunner(fn: (input: TriggerInput) => Promise<TriggerResult>): void;
|
|
2
4
|
import { composeRowFromActive, composeRowFromClosed, type SessionRow } from './dashboard-rows.js';
|
|
3
5
|
import type { ParsedSchedule } from '../types.js';
|
|
4
6
|
export interface IpcServerHandle {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-ipc-server.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-ipc-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAe,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard-ipc-server.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-ipc-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAe,MAAM,WAAW,CAAC;AAqBjG,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAM/E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAE3F;AACD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EAIpB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG,CACpB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAW1B,0FAA0F;AAC1F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAM7E;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAGhF;AAED,wBAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAKhF;AAWD,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AAMtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAA0B;AAKxE,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAA0B;AAyIxE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,cAAc,EAAE,MAAM,CAAC;CACxB;AAuYD,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CA8B7F"}
|
|
@@ -18,6 +18,15 @@ import { locateLimiter } from './dashboard-locate.js';
|
|
|
18
18
|
import { dashboardEventBus } from './dashboard-events.js';
|
|
19
19
|
import { validateWorkingDir } from './working-dir.js';
|
|
20
20
|
import { resolveRoleFile, writeRoleFile, deleteRoleFile } from './role-resolver.js';
|
|
21
|
+
import { triggerSessionTurn } from './trigger-session.js';
|
|
22
|
+
import { triggerWorkflowFromEnvelope } from '../workflows/trigger-from-envelope.js';
|
|
23
|
+
import { validateTriggerRequest } from '../services/trigger-types.js';
|
|
24
|
+
// Workflow runner is wired by the daemon (it owns the heavy triggerWorkflowRun
|
|
25
|
+
// deps). Until set, workflow-targeted triggers report not-implemented.
|
|
26
|
+
let workflowRunner = null;
|
|
27
|
+
export function setWorkflowRunner(fn) {
|
|
28
|
+
workflowRunner = fn;
|
|
29
|
+
}
|
|
21
30
|
import { composeRowFromActive, composeRowFromClosed, feishuChatLink, setBotName as setRowsBotName, getBotName, } from './dashboard-rows.js';
|
|
22
31
|
const routes = [];
|
|
23
32
|
/** Register a handler. Path supports `:name` segments captured into the params object. */
|
|
@@ -206,6 +215,48 @@ ipcRoute('GET', '/api/schedules', (_req, res) => {
|
|
|
206
215
|
ipcRoute('POST', '/api/schedules/:id/run', (_req, res, p) => jsonRes(res, 200, scheduler.runNow(p.id)));
|
|
207
216
|
ipcRoute('POST', '/api/schedules/:id/pause', (_req, res, p) => jsonRes(res, 200, scheduler.setEnabled(p.id, false)));
|
|
208
217
|
ipcRoute('POST', '/api/schedules/:id/resume', (_req, res, p) => jsonRes(res, 200, scheduler.setEnabled(p.id, true)));
|
|
218
|
+
ipcRoute('POST', '/api/trigger', async (req, res) => {
|
|
219
|
+
if (!cachedLarkAppId)
|
|
220
|
+
return jsonRes(res, 503, { ok: false, errorCode: 'bot_not_found', error: 'larkAppId_not_set' });
|
|
221
|
+
const activeSessions = getActiveSessionsRegistry();
|
|
222
|
+
if (!activeSessions)
|
|
223
|
+
return jsonRes(res, 503, { ok: false, errorCode: 'trigger_failed', error: 'active session registry unavailable' });
|
|
224
|
+
let body;
|
|
225
|
+
try {
|
|
226
|
+
body = await readJsonBody(req);
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return jsonRes(res, 400, { ok: false, errorCode: 'bad_json', error: 'invalid JSON body' });
|
|
230
|
+
}
|
|
231
|
+
const valid = validateTriggerRequest(body);
|
|
232
|
+
if (!valid.ok)
|
|
233
|
+
return jsonRes(res, valid.status, valid.body);
|
|
234
|
+
try {
|
|
235
|
+
let result;
|
|
236
|
+
if (valid.request.target.kind === 'workflow') {
|
|
237
|
+
if (!workflowRunner) {
|
|
238
|
+
return jsonRes(res, 501, { ok: false, errorCode: 'workflow_trigger_not_implemented', error: 'workflow runner not wired on this daemon' });
|
|
239
|
+
}
|
|
240
|
+
result = await triggerWorkflowFromEnvelope(valid.request, { larkAppId: cachedLarkAppId, runWorkflow: workflowRunner });
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
result = await triggerSessionTurn(valid.request, { larkAppId: cachedLarkAppId, activeSessions });
|
|
244
|
+
}
|
|
245
|
+
const status = result.ok
|
|
246
|
+
? 200
|
|
247
|
+
: result.errorCode === 'bot_not_in_chat'
|
|
248
|
+
? 403
|
|
249
|
+
: result.errorCode === 'session_not_found'
|
|
250
|
+
? 404
|
|
251
|
+
: result.errorCode === 'target_required' || result.errorCode === 'bad_request'
|
|
252
|
+
? 400
|
|
253
|
+
: 500;
|
|
254
|
+
return jsonRes(res, status, result);
|
|
255
|
+
}
|
|
256
|
+
catch (e) {
|
|
257
|
+
return jsonRes(res, 500, { ok: false, errorCode: 'trigger_failed', error: e?.message ?? String(e) });
|
|
258
|
+
}
|
|
259
|
+
});
|
|
209
260
|
// ─── Groups (Phase B) ──────────────────────────────────────────────────────
|
|
210
261
|
ipcRoute('GET', '/api/groups', async (_req, res) => {
|
|
211
262
|
if (!cachedLarkAppId)
|
|
@@ -481,6 +532,10 @@ ipcRoute('POST', '/api/groups/create', async (req, res) => {
|
|
|
481
532
|
const userIds = Array.isArray(body.userOpenIds) && body.userOpenIds.every(x => typeof x === 'string')
|
|
482
533
|
? body.userOpenIds
|
|
483
534
|
: [];
|
|
535
|
+
// Owner union_ids (tenant-stable) to pull bot owners into a federated group.
|
|
536
|
+
const ownerUnionIds = Array.isArray(body.ownerUnionIds) && body.ownerUnionIds.every(x => typeof x === 'string')
|
|
537
|
+
? body.ownerUnionIds
|
|
538
|
+
: [];
|
|
484
539
|
const transferTo = typeof body.transferOwnerTo === 'string' && body.transferOwnerTo.trim()
|
|
485
540
|
? body.transferOwnerTo.trim()
|
|
486
541
|
: null;
|
|
@@ -501,6 +556,7 @@ ipcRoute('POST', '/api/groups/create', async (req, res) => {
|
|
|
501
556
|
larkAppIds: body.larkAppIds,
|
|
502
557
|
name,
|
|
503
558
|
userOpenIds: userIds,
|
|
559
|
+
ownerUnionIds,
|
|
504
560
|
transferOwnerTo: transferTo ?? undefined,
|
|
505
561
|
notifyOwnerOpenId: notifyTo ?? undefined,
|
|
506
562
|
bindWorkingDir: bindWorkingDir || undefined,
|