cli-jaw 2.17.9 → 2.17.10
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/dist/src/core/config.js +34 -3
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/settings-merge.js +40 -0
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/discord/bot.js +140 -26
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/reactions.js +92 -0
- package/dist/src/discord/reactions.js.map +1 -0
- package/dist/src/messaging/ack-reaction.js +192 -0
- package/dist/src/messaging/ack-reaction.js.map +1 -0
- package/dist/src/messaging/channel-capabilities.js +9 -3
- package/dist/src/messaging/channel-capabilities.js.map +1 -1
- package/dist/src/messaging/channel-validate.js +12 -0
- package/dist/src/messaging/channel-validate.js.map +1 -1
- package/dist/src/messaging/queue-notice.js +164 -0
- package/dist/src/messaging/queue-notice.js.map +1 -0
- package/dist/src/slack/api.js +93 -0
- package/dist/src/slack/api.js.map +1 -1
- package/dist/src/slack/auto-join.js +330 -0
- package/dist/src/slack/auto-join.js.map +1 -0
- package/dist/src/slack/bot.js +237 -21
- package/dist/src/slack/bot.js.map +1 -1
- package/dist/src/slack/manifest.js +12 -0
- package/dist/src/slack/manifest.js.map +1 -1
- package/dist/src/slack/send-only-client.js +14 -2
- package/dist/src/slack/send-only-client.js.map +1 -1
- package/dist/src/telegram/bot.js +146 -64
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/ipv4-fetch.js +74 -0
- package/dist/src/telegram/ipv4-fetch.js.map +1 -0
- package/dist/src/telegram/reactions.js +126 -0
- package/dist/src/telegram/reactions.js.map +1 -0
- package/package.json +1 -1
- package/public/locales/en.json +1 -0
- package/public/locales/ja.json +1 -0
- package/public/locales/ko.json +1 -0
- package/public/locales/zh.json +1 -0
- package/scripts/check-redaction-sinks.mjs +5 -0
package/dist/src/core/config.js
CHANGED
|
@@ -7,6 +7,8 @@ import { DEFAULT_CLI, CLI_KEYS, buildDefaultPerCli } from '../cli/registry.js';
|
|
|
7
7
|
import { pickFirstReadyCli } from '../cli/readiness.js';
|
|
8
8
|
import { migrateLegacyClaudeValue } from '../cli/claude-models.js';
|
|
9
9
|
import { resolveHomePath } from './path-expand.js';
|
|
10
|
+
import { cloneAckDefaults, mergeAckSettings, DISCORD_ACK_DEFAULTS, SLACK_ACK_DEFAULTS, TELEGRAM_ACK_DEFAULTS, } from '../messaging/ack-reaction.js';
|
|
11
|
+
import { SLACK_AUTO_JOIN_DEFAULTS, mergeSlackAutoJoin } from '../slack/auto-join.js';
|
|
10
12
|
import { SETUP_STATE_FILE } from './install-integrity.js';
|
|
11
13
|
import { sanitizeSettingsInput, } from './settings-merge.js';
|
|
12
14
|
export { detectAllCli, detectCli, getClaudeExecHelperCandidates, getClaudeIHelperCandidates } from './cli-detection.js';
|
|
@@ -230,6 +232,10 @@ function createDefaultSettings() {
|
|
|
230
232
|
forwardAll: true,
|
|
231
233
|
allowBots: false,
|
|
232
234
|
mentionOnly: true,
|
|
235
|
+
// Acknowledge an inbound command by reacting to it rather than
|
|
236
|
+
// posting a message. Off by default: reactions need their own
|
|
237
|
+
// permission and an existing install has not granted it.
|
|
238
|
+
ack: cloneAckDefaults(TELEGRAM_ACK_DEFAULTS),
|
|
233
239
|
},
|
|
234
240
|
discord: {
|
|
235
241
|
enabled: false,
|
|
@@ -239,6 +245,7 @@ function createDefaultSettings() {
|
|
|
239
245
|
forwardAll: true,
|
|
240
246
|
allowBots: false,
|
|
241
247
|
mentionOnly: false,
|
|
248
|
+
ack: cloneAckDefaults(DISCORD_ACK_DEFAULTS),
|
|
242
249
|
},
|
|
243
250
|
slack: {
|
|
244
251
|
enabled: false,
|
|
@@ -268,6 +275,17 @@ function createDefaultSettings() {
|
|
|
268
275
|
// /api/slack/members still serves the full roster on demand.
|
|
269
276
|
channelRoster: false,
|
|
270
277
|
identityCacheTtlMs: 21600000,
|
|
278
|
+
// Slack takes emoji NAMES without colons (reactions.add docs), so
|
|
279
|
+
// these defaults are names, not unicode like the other two.
|
|
280
|
+
ack: cloneAckDefaults(SLACK_ACK_DEFAULTS),
|
|
281
|
+
// Public-channel auto-join. A bot token gets not_in_channel from
|
|
282
|
+
// conversations.history unless it is a member, so joining is the
|
|
283
|
+
// only supported way to reach a channel nobody invited it to.
|
|
284
|
+
// On by default, and deliberately visible: each join posts a
|
|
285
|
+
// “has joined the channel” line. maxJoinsPerRun and exclude bound
|
|
286
|
+
// the blast radius; the inbound mention gate is unchanged, so this
|
|
287
|
+
// widens on-demand lookup rather than making the bot answer chatter.
|
|
288
|
+
autoJoin: { ...SLACK_AUTO_JOIN_DEFAULTS, exclude: [] },
|
|
271
289
|
},
|
|
272
290
|
messaging: {
|
|
273
291
|
enabledChannels: [],
|
|
@@ -976,9 +994,22 @@ export function loadSettings() {
|
|
|
976
994
|
...(sourceVersion === 1 ? { cli: legacyCli } : {}),
|
|
977
995
|
perCli: mergedPerCli,
|
|
978
996
|
tui: { ...defaults.tui, ...(raw.tui || {}) },
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
997
|
+
// The channel spreads are one level deep, which is right for flat
|
|
998
|
+
// credential fields and wrong for the nested ack group: a stored file
|
|
999
|
+
// carrying only {ack:{enabled:true}} would drop the rest. Merged here
|
|
1000
|
+
// rather than repaired later so migrateSettings below sees a complete
|
|
1001
|
+
// ack object.
|
|
1002
|
+
telegram: { ...defaults.telegram, ...(raw.telegram || {}),
|
|
1003
|
+
ack: mergeAckSettings(defaults.telegram.ack, raw.telegram?.ack) },
|
|
1004
|
+
discord: { ...defaults.discord, ...(raw.discord || {}),
|
|
1005
|
+
ack: mergeAckSettings(defaults.discord.ack, raw.discord?.ack) },
|
|
1006
|
+
slack: { ...defaults.slack, ...(raw.slack || {}),
|
|
1007
|
+
ack: mergeAckSettings(defaults.slack.ack, raw.slack?.ack),
|
|
1008
|
+
// Same one-level-deep problem as ack: a stored
|
|
1009
|
+
// {autoJoin:{enabled:false}} would erase maxJoinsPerRun and
|
|
1010
|
+
// exclude. Normalizes too — the budget reaches a loop that
|
|
1011
|
+
// mutates a live workspace, so NaN must not survive here.
|
|
1012
|
+
autoJoin: mergeSlackAutoJoin(defaults.slack.autoJoin, raw.slack?.autoJoin) },
|
|
982
1013
|
dispatchApproval: {
|
|
983
1014
|
...defaults.dispatchApproval,
|
|
984
1015
|
...(raw.dispatchApproval || {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// ─── Settings Merge Logic ────────────────────────────
|
|
2
2
|
// Phase 9.4 — server.js의 applySettingsPatch에서 추출한 deep merge 로직
|
|
3
|
+
import { mergeAckSettings } from '../messaging/ack-reaction.js';
|
|
4
|
+
import { mergeSlackAutoJoin } from '../slack/auto-join.js';
|
|
3
5
|
function isPlainRecord(value) {
|
|
4
6
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
5
7
|
}
|
|
@@ -117,6 +119,44 @@ export function mergeSettingsPatch(current, patch) {
|
|
|
117
119
|
delete remaining[key];
|
|
118
120
|
}
|
|
119
121
|
}
|
|
122
|
+
// The loop above merges channel objects one level deep, so a patch carrying
|
|
123
|
+
// only {ack:{enabled:true}} would drop scope, emoji and removeAfterReply.
|
|
124
|
+
// Reads `patch` rather than `remaining` because the loop already deleted the
|
|
125
|
+
// key. Shares mergeAckSettings with the boot merge in config.ts so the three
|
|
126
|
+
// ingresses (boot/api/watch) cannot diverge.
|
|
127
|
+
for (const key of ['telegram', 'discord', 'slack']) {
|
|
128
|
+
const patchChannel = patch[key];
|
|
129
|
+
if (!patchChannel || typeof patchChannel !== 'object')
|
|
130
|
+
continue;
|
|
131
|
+
const patchAck = patchChannel["ack"];
|
|
132
|
+
const currentChannel = current[key];
|
|
133
|
+
if (patchAck && typeof patchAck === 'object' && !Array.isArray(patchAck)) {
|
|
134
|
+
result[key] = {
|
|
135
|
+
...result[key],
|
|
136
|
+
ack: mergeAckSettings(currentChannel?.["ack"], patchAck),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// slack.autoJoin is the same nested-group case, and its budget reaches
|
|
140
|
+
// a loop that joins real channels — so this path normalizes as well as
|
|
141
|
+
// merges. A PUT carrying {autoJoin:{enabled:false}} must not erase
|
|
142
|
+
// maxJoinsPerRun, and {maxJoinsPerRun:-1} must not reach the runner.
|
|
143
|
+
if (key === 'slack') {
|
|
144
|
+
const slackPatch = patchChannel;
|
|
145
|
+
const patchAutoJoin = slackPatch["autoJoin"];
|
|
146
|
+
// Any mention of the key is repaired, including a malformed one.
|
|
147
|
+
// Testing for a well-formed object would let {autoJoin:null} and
|
|
148
|
+
// {autoJoin:'yes'} through the one-level spread above and survive
|
|
149
|
+
// to disk, where the next boot reads them as "absent" and quietly
|
|
150
|
+
// restores default-on. A patch that names the key gets a valid
|
|
151
|
+
// block or nothing.
|
|
152
|
+
if ('autoJoin' in slackPatch) {
|
|
153
|
+
result[key] = {
|
|
154
|
+
...result[key],
|
|
155
|
+
autoJoin: mergeSlackAutoJoin(currentChannel?.["autoJoin"], patchAutoJoin),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
120
160
|
// Deep merge nested network.remoteAccess
|
|
121
161
|
if (remaining["network"]?.remoteAccess && typeof remaining["network"].remoteAccess === 'object') {
|
|
122
162
|
result["network"] = result["network"] || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-merge.js","sourceRoot":"","sources":["../../../src/core/settings-merge.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,gEAAgE;
|
|
1
|
+
{"version":3,"file":"settings-merge.js","sourceRoot":"","sources":["../../../src/core/settings-merge.ts"],"names":[],"mappings":"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"}
|
package/dist/src/discord/bot.js
CHANGED
|
@@ -23,6 +23,9 @@ import { sendDiscordFile } from './discord-file.js';
|
|
|
23
23
|
import { getDiscordSendClient, sendDiscordFileRest, sendDiscordTextRest } from './send-only-client.js';
|
|
24
24
|
import { asSendable, asThreadLike, asTypingChannel } from './channel-types.js';
|
|
25
25
|
import { log } from '../core/logger.js';
|
|
26
|
+
import { createAckHandle, resolveAckConfig, shouldAck, DISCORD_ACK_DEFAULTS, } from '../messaging/ack-reaction.js';
|
|
27
|
+
import { createQueueNotice, QueueNoticeRegistry } from '../messaging/queue-notice.js';
|
|
28
|
+
import { createDiscordAckTransport, createDiscordNoticeTransport, DISCORD_REACTION_TIMEOUT_MS, } from './reactions.js';
|
|
26
29
|
import { redactOutboundText, logErrorText, userErrorText } from '../messaging/redact.js';
|
|
27
30
|
import { createSeenSet, DELIVERY_DEDUPE_TTL_MS } from '../messaging/dedupe.js';
|
|
28
31
|
import { DiscordGatewaySupervisor, } from './gateway-supervisor.js';
|
|
@@ -86,13 +89,6 @@ function markChannelActive(channelId) {
|
|
|
86
89
|
* most recently, and skipped when a live waiter would post the same result.
|
|
87
90
|
*/
|
|
88
91
|
const pendingQueueRequestIds = new Set();
|
|
89
|
-
/**
|
|
90
|
-
* Disposers for listeners waiting on a queued result. Tracked so shutdown can
|
|
91
|
-
* drop them at once instead of leaving them armed for their five-minute
|
|
92
|
-
* timeout, which would let a post-shutdown result fire against a dead channel
|
|
93
|
-
* and would keep a stale id blocking the standing forwarder.
|
|
94
|
-
*/
|
|
95
|
-
const pendingQueueWaiters = new Set();
|
|
96
92
|
let targetReplyForwarderInstalled = false;
|
|
97
93
|
function installDiscordTargetReplyForwarder() {
|
|
98
94
|
if (targetReplyForwarderInstalled)
|
|
@@ -166,56 +162,157 @@ function currentLocale() {
|
|
|
166
162
|
return normalizeLocale(settings["locale"], 'ko');
|
|
167
163
|
}
|
|
168
164
|
// ─── Discord Orchestrate (full reply path) ──────────
|
|
165
|
+
/**
|
|
166
|
+
* Queue-notice teardowns, drained on shutdown so a turn that never answered gets
|
|
167
|
+
* its notice rewritten rather than left claiming the agent is still working.
|
|
168
|
+
*/
|
|
169
|
+
const discordNoticeRegistry = new QueueNoticeRegistry();
|
|
170
|
+
/** Covers a notice edit plus a remove-then-add reaction chain. */
|
|
171
|
+
const DISCORD_NOTICE_DRAIN_MS = DISCORD_REACTION_TIMEOUT_MS * 2 + 3000;
|
|
169
172
|
async function dcOrchestrate(msg, prompt, displayMsg) {
|
|
170
173
|
const target = buildDiscordTarget(msg);
|
|
171
174
|
const chatId = msg.channelId;
|
|
172
175
|
const result = submitMessage(prompt, {
|
|
173
176
|
origin: 'discord', displayText: displayMsg, skipOrchestrate: true, target, chatId,
|
|
174
177
|
});
|
|
178
|
+
// Built before the queued/started split: a queued turn is exactly the case
|
|
179
|
+
// this acknowledgement exists for, so the handle cannot live inside the
|
|
180
|
+
// normal-path branch.
|
|
181
|
+
const ackConfig = resolveAckConfig(settings["discord"]?.ack, DISCORD_ACK_DEFAULTS);
|
|
182
|
+
const selfId = msg.client.user?.id;
|
|
183
|
+
const ack = shouldAck(ackConfig, {
|
|
184
|
+
isDirect: !msg.guildId,
|
|
185
|
+
isMention: !!selfId && msg.mentions.has(selfId),
|
|
186
|
+
})
|
|
187
|
+
? createAckHandle(ackConfig, createDiscordAckTransport(msg), (e) => log.info('[discord:ack]', logErrorText(e)))
|
|
188
|
+
: null;
|
|
175
189
|
if (result.action === 'queued') {
|
|
176
190
|
log.info(`[discord:queue] agent busy, queued (${result.pending} pending)`);
|
|
177
|
-
await msg.reply(t('tg.queued', { count: result.pending }, currentLocale()));
|
|
178
|
-
// Listen for queued result — correlate by requestId (request-level isolation)
|
|
179
191
|
const requestId = result.requestId;
|
|
180
192
|
let queueTimeout;
|
|
181
193
|
let disposed = false;
|
|
182
|
-
const
|
|
194
|
+
const notice = createQueueNotice({
|
|
195
|
+
expiredText: t('tg.queueExpired', {}, currentLocale()),
|
|
196
|
+
onError: (e) => log.info('[discord:queue-notice]', logErrorText(e)),
|
|
197
|
+
});
|
|
198
|
+
const disposeListener = () => {
|
|
183
199
|
if (disposed)
|
|
184
200
|
return;
|
|
185
201
|
disposed = true;
|
|
186
202
|
clearTimeout(queueTimeout);
|
|
187
203
|
removeBroadcastListener(queueHandler);
|
|
188
|
-
pendingQueueWaiters.delete(dispose);
|
|
189
204
|
if (requestId)
|
|
190
205
|
pendingQueueRequestIds.delete(requestId);
|
|
191
206
|
};
|
|
207
|
+
// One terminal outcome per turn, shared by whoever reaches it first.
|
|
208
|
+
//
|
|
209
|
+
// A boolean would pick a winner and let the loser return immediately —
|
|
210
|
+
// and the loser here is the shutdown drain, which would then destroy the
|
|
211
|
+
// client while the winner is still sending. The broadcast bus never
|
|
212
|
+
// awaits listener promises, so nothing else would hold it.
|
|
213
|
+
let terminal = null;
|
|
214
|
+
const claimTerminal = (run) => {
|
|
215
|
+
if (!terminal) {
|
|
216
|
+
terminal = run().catch(e => log.info('[discord:queue]', logErrorText(e)));
|
|
217
|
+
}
|
|
218
|
+
return terminal;
|
|
219
|
+
};
|
|
220
|
+
// Registered before the closures that use it so the terminal winner can
|
|
221
|
+
// always unregister, whichever path wins.
|
|
222
|
+
let unregister = () => { };
|
|
223
|
+
const finishExpired = (signal) => claimTerminal(async () => {
|
|
224
|
+
disposeListener();
|
|
225
|
+
try {
|
|
226
|
+
// Started together, not in sequence: awaiting the notice first can
|
|
227
|
+
// eat the whole drain deadline before the reaction is attempted.
|
|
228
|
+
await Promise.allSettled([
|
|
229
|
+
notice.close('expired', signal),
|
|
230
|
+
ack?.settle('failure') ?? Promise.resolve(),
|
|
231
|
+
]);
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
// Centralized here: every terminal path routes through a claim, so
|
|
235
|
+
// unregistering in one place is what makes "exactly once" true.
|
|
236
|
+
unregister();
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
unregister = discordNoticeRegistry.add((signal) => finishExpired(signal));
|
|
192
240
|
const queueHandler = async (type, data) => {
|
|
193
|
-
if (type
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
241
|
+
if (type !== 'orchestrate_done' || !data["text"] || data["origin"] !== 'discord'
|
|
242
|
+
|| data["requestId"] !== requestId)
|
|
243
|
+
return;
|
|
244
|
+
if (disposed)
|
|
245
|
+
return;
|
|
246
|
+
// Dispose FIRST so a duplicate broadcast cannot double-post, but the
|
|
247
|
+
// notice deliberately outlives it: removing it before the answer is
|
|
248
|
+
// out would leave a failed send with neither answer nor notice.
|
|
249
|
+
disposeListener();
|
|
250
|
+
await claimTerminal(async () => {
|
|
251
|
+
try {
|
|
252
|
+
await deliverQueued(data);
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
unregister();
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
const deliverQueued = async (data) => {
|
|
260
|
+
{
|
|
261
|
+
const body = String(data["text"]);
|
|
201
262
|
const channel = asSendable(msg.channel);
|
|
202
263
|
if (!channel) {
|
|
203
264
|
log.warn('[discord:queue-send] channel not sendable, dropping queued reply', { channelId: msg.channelId });
|
|
265
|
+
await Promise.allSettled([
|
|
266
|
+
notice.close('expired'),
|
|
267
|
+
ack?.settle('failure') ?? Promise.resolve(),
|
|
268
|
+
]);
|
|
204
269
|
return;
|
|
205
270
|
}
|
|
206
|
-
|
|
271
|
+
let delivered = true;
|
|
272
|
+
for (const chunk of chunkDiscordMessage(body)) {
|
|
207
273
|
await channel.send(chunk).catch((e) => {
|
|
274
|
+
delivered = false;
|
|
208
275
|
log.error('[discord:queue-send]', logErrorText(e));
|
|
209
276
|
});
|
|
210
277
|
}
|
|
211
|
-
|
|
278
|
+
// Settled before the relay for the same reason as the normal
|
|
279
|
+
// path: an uncancellable upload must not hold the reaction.
|
|
280
|
+
await Promise.allSettled([
|
|
281
|
+
notice.close(delivered ? 'answered' : 'expired'),
|
|
282
|
+
ack?.settle(delivered ? 'success' : 'failure') ?? Promise.resolve(),
|
|
283
|
+
]);
|
|
284
|
+
await relayDiscordImages(msg.client, target, body).catch(e => log.error('[discord:queue-relay]', logErrorText(e)));
|
|
212
285
|
}
|
|
213
286
|
};
|
|
287
|
+
// Everything is armed SYNCHRONOUSLY, before any reaction or notice post.
|
|
288
|
+
// A reaction call that takes a moment must not outlive the completion it
|
|
289
|
+
// acknowledges: without the listener and the request-id claim in place, a
|
|
290
|
+
// fast queued job would be missed here or answered by the fallback.
|
|
214
291
|
addBroadcastListener(queueHandler);
|
|
215
292
|
if (requestId)
|
|
216
293
|
pendingQueueRequestIds.add(requestId);
|
|
217
|
-
|
|
218
|
-
|
|
294
|
+
// The registry is the single shutdown path for the notice lifecycle: a
|
|
295
|
+
// signal-less trigger would pin QueueNotice's first close and make the
|
|
296
|
+
// drain's own cancellation unreachable.
|
|
297
|
+
queueTimeout = setTimeout(() => { void finishExpired(); }, 300000);
|
|
298
|
+
// Not awaited: the notice is what the user needs to see.
|
|
299
|
+
void ack?.to('running', { wasQueued: true });
|
|
300
|
+
const posted = await msg.reply(t('tg.queued', { count: result.pending }, currentLocale())).catch((e) => {
|
|
301
|
+
log.info('[discord:queue-notice] post failed', logErrorText(e));
|
|
302
|
+
return undefined;
|
|
303
|
+
});
|
|
304
|
+
if (posted) {
|
|
305
|
+
notice.bind(createDiscordNoticeTransport(posted));
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
// No handle will ever arrive, so a deferred close would wait for a
|
|
309
|
+
// bind that cannot happen and the drain would burn its deadline.
|
|
310
|
+
notice.abandon();
|
|
311
|
+
// Then close the turn out properly: abandoning the notice alone would
|
|
312
|
+
// leave the listener, the request-id claim, the timer and the running
|
|
313
|
+
// reaction alive until the 5-minute timeout or shutdown.
|
|
314
|
+
await finishExpired();
|
|
315
|
+
}
|
|
219
316
|
return;
|
|
220
317
|
}
|
|
221
318
|
if (result.action === 'rejected') {
|
|
@@ -234,6 +331,12 @@ async function dcOrchestrate(msg, prompt, displayMsg) {
|
|
|
234
331
|
?.then(() => log.info('[discord:typing] ✅ refresh'))
|
|
235
332
|
?.catch((e) => log.info('[discord:typing] ❌ refresh', logErrorText(e)));
|
|
236
333
|
}, 8000);
|
|
334
|
+
// Recorded through the body, settled once in the finally below: the image
|
|
335
|
+
// relay can throw after the text is already out, and the user did get their
|
|
336
|
+
// answer in that case.
|
|
337
|
+
let ackOutcome = 'failure';
|
|
338
|
+
let ackSettled = false;
|
|
339
|
+
void ack?.to('running');
|
|
237
340
|
try {
|
|
238
341
|
const text = String(await orchestrateAndCollect(prompt, stripUndefined({
|
|
239
342
|
origin: 'discord', target, chatId, requestId: result.requestId, _skipInsert: true,
|
|
@@ -248,6 +351,12 @@ async function dcOrchestrate(msg, prompt, displayMsg) {
|
|
|
248
351
|
for (const chunk of chunks) {
|
|
249
352
|
await channel.send(chunk);
|
|
250
353
|
}
|
|
354
|
+
ackOutcome = 'success';
|
|
355
|
+
// Settled BEFORE the relay: image upload is uncancellable (#417), so
|
|
356
|
+
// awaiting it first can strand the reaction on `running` while the
|
|
357
|
+
// answer is already visible.
|
|
358
|
+
await ack?.settle(ackOutcome);
|
|
359
|
+
ackSettled = true;
|
|
251
360
|
await relayDiscordImages(msg.client, target, text);
|
|
252
361
|
log.info(`[discord:out] ${msg.channelId}: ${redactOutboundText(text).slice(0, 80)}`);
|
|
253
362
|
}
|
|
@@ -257,6 +366,10 @@ async function dcOrchestrate(msg, prompt, displayMsg) {
|
|
|
257
366
|
}
|
|
258
367
|
finally {
|
|
259
368
|
clearInterval(typingInterval);
|
|
369
|
+
// Exactly one settle per turn, whichever way the body exited.
|
|
370
|
+
// The happy path already settled before the image relay.
|
|
371
|
+
if (!ackSettled)
|
|
372
|
+
await ack?.settle(ackOutcome);
|
|
260
373
|
}
|
|
261
374
|
}
|
|
262
375
|
// ─── Init / Shutdown ────────────────────────────────
|
|
@@ -531,10 +644,11 @@ export async function shutdownDiscord() {
|
|
|
531
644
|
// Drop queued-result waiters immediately. Left armed, they would fire
|
|
532
645
|
// against a destroyed channel for the next five minutes, and their claimed
|
|
533
646
|
// request ids would keep the standing forwarder silent too.
|
|
534
|
-
for (const dispose of [...pendingQueueWaiters])
|
|
535
|
-
dispose();
|
|
536
|
-
pendingQueueWaiters.clear();
|
|
537
647
|
pendingQueueRequestIds.clear();
|
|
648
|
+
// Before the client goes away: a rewrite issued after destruction has no
|
|
649
|
+
// transport to travel on. Bounded, because a stuck cleanup must not hold
|
|
650
|
+
// shutdown open — the drain's signal cancels whatever is still in flight.
|
|
651
|
+
await discordNoticeRegistry.drain(DISCORD_NOTICE_DRAIN_MS);
|
|
538
652
|
const supervisor = gatewaySupervisor;
|
|
539
653
|
gatewaySupervisor = null;
|
|
540
654
|
if (supervisor) {
|