@openclaw/discord 2026.9.6 → 2026.9.8
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/assets/icon.png +0 -0
- package/dist/.setup/{account-inspect-BwQj24ht.mjs → account-inspect-De8hOUxG.mjs} +1 -1
- package/dist/.setup/{accounts-CwJQoLjM.mjs → accounts-ChaMcixG.mjs} +1 -4
- package/dist/.setup/{activities-api-COU4-0nR.mjs → activities-api-tvbsU2e3.mjs} +38 -66
- package/dist/.setup/{api-CBK9zcq5.mjs → api-DVbJwZVt.mjs} +10 -2
- package/dist/.setup/{approval-handler.runtime-CbBktBb4.mjs → approval-handler.runtime-DxCK2Rux.mjs} +49 -125
- package/dist/.setup/{approval-message-updates-jf9zMaIC.mjs → approval-message-updates-BKFqavHZ.mjs} +2 -2
- package/dist/.setup/{audit-vKbh-LFR.mjs → audit-CLg9I71N.mjs} +5 -5
- package/dist/.setup/{channel-Dv4e3Jpc.mjs → channel-DxlUVU9t.mjs} +121 -227
- package/dist/.setup/{channel-type-DKnjV1XW.mjs → channel-type-DRCrEMss.mjs} +22 -22
- package/dist/.setup/{channel.setup-0NX6FFwi.mjs → channel.setup-CRo1GjV7.mjs} +6 -9
- package/dist/.setup/{components-yBEb75bB.mjs → components-Cq1PvIpN.mjs} +41 -69
- package/dist/.setup/{config-schema-CiZz-mtA.mjs → config-schema-oxELUSDx.mjs} +19 -44
- package/dist/.setup/{conversation-binding-route-B7qImK_b.mjs → conversation-binding-route-Caz_XuFH.mjs} +10 -5
- package/dist/.setup/{directory-config-BytTftz-.mjs → directory-config-esqNn0Eo.mjs} +6 -9
- package/dist/.setup/{directory-live--EGTH0DC.mjs → directory-live-DtKRHuGV.mjs} +6 -12
- package/dist/.setup/{discord-BXpHW-cu.mjs → discord-0xJYfdDD.mjs} +82 -386
- package/dist/.setup/{doctor-D1R-uFIu.mjs → doctor-BCl1H5tl.mjs} +21 -36
- package/dist/.setup/{doctor-contract-Co5vRCZ6.mjs → doctor-contract-CvvgwrrG.mjs} +41 -50
- package/dist/.setup/{channel-actions.runtime-leZuw01r.mjs → handle-action-CUvQWnE7.mjs} +67 -104
- package/dist/.setup/{handle-action.guild-admin-DcFa8NwA.mjs → handle-action.guild-admin-Df-8gVle.mjs} +62 -120
- package/dist/.setup/{live-policy-config-eKQ-PLdy.mjs → live-policy-config-8Pv20CHc.mjs} +2 -3
- package/dist/.setup/{message-handler-X6ejmbtY.mjs → message-handler-B-Jk4oDk.mjs} +18 -94
- package/dist/.setup/{message-handler.preflight-pluralkit-8Xji34AF.mjs → message-handler.preflight-pluralkit-CWLUBVcx.mjs} +8 -10
- package/dist/.setup/{message-handler.preflight-DE_POxFc.mjs → message-handler.preflight-v-__NSDq.mjs} +69 -180
- package/dist/.setup/{message-handler.process-CCmIVnxy.mjs → message-handler.process-BNFFuChn.mjs} +65 -86
- package/dist/.setup/{outbound-adapter-ClIgmu4F.mjs → outbound-adapter-BobT-kse.mjs} +105 -19
- package/dist/.setup/{outbound-session-route-VulUE0yV.mjs → outbound-session-route-zVGxxceg.mjs} +140 -108
- package/dist/.setup/{pluralkit-CdAt1G0P.mjs → pluralkit-a6_NLfH9.mjs} +1 -1
- package/dist/.setup/{presence-cache-dYSHPWMx.mjs → presence-cache-Di3H3DIU.mjs} +0 -4
- package/dist/.setup/{probe-CupW4we4.mjs → probe-LYrIHlBF.mjs} +13 -4
- package/dist/.setup/{provider-iOf73HW-.mjs → provider-B_G5hASF.mjs} +721 -1416
- package/dist/.setup/provider-session.runtime-BYlTBFD2.mjs +6 -0
- package/dist/.setup/provider.runtime-CUE3UxER.mjs +2 -0
- package/dist/.setup/{realtime-session.runtime-Dz8uVutq.mjs → realtime-session.runtime-oUd9DOcz.mjs} +41 -55
- package/dist/.setup/{receive-recovery-DHst8WRx.mjs → receive-recovery-CHPOsnLc.mjs} +1 -4
- package/dist/.setup/{resolve-allowlist-common-CwMBzbx9.mjs → resolve-allowlist-common-DPdRggu5.mjs} +4 -7
- package/dist/.setup/{resolve-channels-BbvsLQOZ.mjs → resolve-channels-BFPNRmVv.mjs} +21 -40
- package/dist/.setup/{resolve-users-ByFlR7LQ.mjs → resolve-users-0-aBuCy3.mjs} +4 -4
- package/dist/.setup/{retry-BEYkDy0P.mjs → retry-pz_cSha2.mjs} +3 -3
- package/dist/.setup/rolldown-runtime-B4FMCO8f.mjs +28 -0
- package/dist/.setup/{runtime-B8lJfyrA.mjs → runtime-FN000lxA.mjs} +60 -162
- package/dist/.setup/runtime-doctor-migrations-CshUGl36.mjs +159 -0
- package/dist/.setup/{runtime-DisDbixd.mjs → runtime-sUksZ--Q.mjs} +2 -5
- package/dist/.setup/{secret-config-contract-DFu9hfU8.mjs → secret-config-contract-uOE2J7yM.mjs} +15 -85
- package/dist/.setup/{security-audit-s5w50-Ly.mjs → security-audit-Cdaegq7C.mjs} +3 -1
- package/dist/.setup/{send-CIBzvXjS.mjs → send-CrfEI6Bs.mjs} +53 -108
- package/dist/.setup/{send.components-ChY21qr-.mjs → send.components-DxQAMfES.mjs} +62 -107
- package/dist/.setup/{send.outbound-QTyuFupn.mjs → send.outbound-BISKnb-a.mjs} +66 -140
- package/dist/.setup/{send.shared-VNvWfX2T.mjs → send.shared-DGFkbkQR.mjs} +10 -25
- package/dist/.setup/{sender-identity-0Ymgvmaj.mjs → sender-identity-B9X5Vb9R.mjs} +2 -3
- package/dist/.setup/setup-plugin-api-BQUBxbhe.mjs +3 -0
- package/dist/.setup/{shared-DHPDaMSx.mjs → shared-B3wZ4hN-.mjs} +25 -32
- package/dist/.setup/{subagent-hooks-CjW7r8Pe.mjs → subagent-hooks-nlUE9ow7.mjs} +5 -6
- package/dist/.setup/system-events-CdeZnvPV.mjs +33 -0
- package/dist/.setup/{target-resolver-BXpy6VT8.mjs → target-resolver-BuLapkhy.mjs} +9 -12
- package/dist/.setup/targets-0KUcEIYx.mjs +3 -0
- package/dist/.setup/{thread-bindings-CEh2dhqP.mjs → thread-bindings-D7TfgjR_.mjs} +33 -35
- package/dist/.setup/{thread-bindings.manager-ve-i6oqt.mjs → thread-bindings.manager-DN-NissX.mjs} +325 -233
- package/dist/.setup/thread-bindings.session-updates-CshfKghV.mjs +359 -0
- package/dist/.setup/{thread-bindings.state-BThFQEga.mjs → thread-bindings.state-g6v9zAym.mjs} +21 -62
- package/dist/.setup/{transcripts-source-DVegW0WI.mjs → transcripts-source-p8EV179h.mjs} +76 -235
- package/dist/.setup/{typing-BKZL5fGj.mjs → typing-BiHCzBRu.mjs} +2 -1
- package/dist/.setup/{voice-runtime-elTtjEIG.mjs → voice-runtime-B46rcwrG.mjs} +140 -244
- package/dist/account-inspect-api.js +1 -1
- package/dist/action-runtime-api.js +1 -1
- package/dist/activities-api.js +1 -1
- package/dist/api.js +18 -18
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/directory-contract-api.js +1 -1
- package/dist/doctor-contract-api.js +4 -4
- package/dist/index.js +1 -1
- package/dist/runtime-api.js +20 -20
- package/dist/secret-contract-api.js +1 -1
- package/dist/security-audit-contract-api.js +1 -1
- package/dist/setup-entry.js +1 -1
- package/dist/setup-plugin-api.js +1 -1
- package/dist/src/voice/audio-worker.runtime.js +15 -24
- package/dist/subagent-hooks-api.js +3 -4
- package/dist/transcripts-source-api.js +1 -1
- package/node_modules/@types/node/README.md +2 -2
- package/node_modules/@types/node/child_process.d.ts +1 -1
- package/node_modules/@types/node/crypto.d.ts +20 -8
- package/node_modules/@types/node/ffi.d.ts +14 -0
- package/node_modules/@types/node/http2.d.ts +3 -2
- package/node_modules/@types/node/net.d.ts +16 -4
- package/node_modules/@types/node/package.json +2 -17
- package/node_modules/@types/node/process.d.ts +1 -0
- package/node_modules/@types/node/quic.d.ts +39 -1
- package/node_modules/@types/node/stream/iter.d.ts +9 -12
- package/node_modules/@types/node/test/reporters.d.ts +1 -0
- package/node_modules/@types/node/test.d.ts +72 -0
- package/node_modules/@types/node/tls.d.ts +14 -10
- package/node_modules/@types/node/vm.d.ts +2 -1
- package/node_modules/@types/node/worker_threads.d.ts +4 -1
- package/node_modules/typebox/build/compile/code.mjs +1 -2
- package/node_modules/typebox/build/compile/validator.mjs +5 -1
- package/node_modules/typebox/build/format/iri.mjs +16 -9
- package/node_modules/typebox/build/guard/emit.mjs +2 -2
- package/node_modules/typebox/build/guard/guard.d.mts +7 -5
- package/node_modules/typebox/build/guard/guard.mjs +14 -9
- package/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
- package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
- package/node_modules/typebox/build/schema/build.mjs +2 -3
- package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
- package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
- package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
- package/node_modules/typebox/build/schema/parse.mjs +3 -0
- package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
- package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
- package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
- package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
- package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
- package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
- package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
- package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
- package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
- package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +3 -1
- package/openclaw.plugin.json +21 -1
- package/package.json +5 -5
- package/dist/.setup/agent-components.runtime-CEPrf2SY.mjs +0 -4
- package/dist/.setup/probe.runtime-DBQ_AGPe.mjs +0 -2
- package/dist/.setup/provider-session.runtime-DrGAYnZv.mjs +0 -6
- package/dist/.setup/provider.runtime-BmjW_pIw.mjs +0 -2
- package/dist/.setup/security-audit.runtime-DHtYenx9.mjs +0 -2
- package/dist/.setup/setup-plugin-api-Dvr41dyx.mjs +0 -3
- package/dist/.setup/system-events-B2YEEMbS.mjs +0 -34
- package/dist/.setup/targets-CvemhN3i.mjs +0 -3
- package/dist/.setup/thread-bindings.session-updates-DCQq1WZ5.mjs +0 -55
- /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { i as createNoopThreadBindingManager, t as createThreadBindingManager } from "./thread-bindings.manager-DN-NissX.mjs";
|
|
2
|
+
import { c as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings-D7TfgjR_.mjs";
|
|
3
|
+
import { t as createDiscordMessageHandler } from "./message-handler-B-Jk4oDk.mjs";
|
|
4
|
+
import { resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled } from "openclaw/plugin-sdk/conversation-runtime";
|
|
5
|
+
import { getAcpSessionManager, isAcpRuntimeError } from "openclaw/plugin-sdk/acp-runtime";
|
|
6
|
+
export { createDiscordMessageHandler, createNoopThreadBindingManager, createThreadBindingManager, getAcpSessionManager, isAcpRuntimeError, reconcileAcpThreadBindingsOnStartup, resolveThreadBindingIdleTimeoutMs, resolveThreadBindingMaxAgeMs, resolveThreadBindingsEnabled };
|
package/dist/.setup/{realtime-session.runtime-Dz8uVutq.mjs → realtime-session.runtime-oUd9DOcz.mjs}
RENAMED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
1
|
+
import { _ as releaseDiscordAudioInput, g as getDiscordAudioOutputStatus, h as admitDiscordAudioInput, m as DiscordAudioOutputStatus, u as createDiscordPcmToRealtimeConverter, v as restoreDiscordAudioError, x as setDiscordAudioOutputStatus } from "./receive-recovery-CHPOsnLc.mjs";
|
|
2
|
+
import { n as discordRealtimeVoiceSecretOwnerId } from "./secret-config-contract-uOE2J7yM.mjs";
|
|
3
|
+
import { g as logVoiceVerbose } from "./provider-B_G5hASF.mjs";
|
|
4
|
+
import { a as logDiscordVoiceAgentControlResult, c as formatRealtimeLifecycleLog, i as handleDiscordVoiceAgentControlToolCall, l as formatVoiceLogPreview, n as DiscordRealtimeRecording, o as maybeControlDiscordVoiceAgentRun, r as formatVoiceIngressPrompt, s as formatRealtimeInterruptionLog, u as shouldLogRealtimeVerboseEvent } from "./voice-runtime-B46rcwrG.mjs";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
|
|
7
7
|
import { formatErrorMessage } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
8
8
|
import { formatErrorMessage as formatErrorMessage$1, readErrorName, toErrorObject } from "openclaw/plugin-sdk/error-runtime";
|
|
9
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
10
|
import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
|
|
10
11
|
import { sliceUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
11
12
|
import { MessageChannel } from "node:worker_threads";
|
|
@@ -384,16 +385,16 @@ var DiscordRealtimeConsults = class {
|
|
|
384
385
|
const outcome = classifyRealtimeVoiceConsultToolCall(event.args, { retainedExactSpeechTexts: this.params.playback.retainedExactSpeechTexts() });
|
|
385
386
|
switch (outcome.kind) {
|
|
386
387
|
case "exact-speech-echo":
|
|
387
|
-
logger$3.info(`discord voice: realtime exact speech consult bypassed call=${callId
|
|
388
|
+
logger$3.info(`discord voice: realtime exact speech consult bypassed call=${callId} answerChars=${outcome.text.length}`);
|
|
388
389
|
await session.submitToolResult(callId, { text: outcome.text });
|
|
389
390
|
return;
|
|
390
391
|
case "malformed":
|
|
391
|
-
logger$3.warn(`discord voice: realtime consult rejected malformed args call=${callId
|
|
392
|
+
logger$3.warn(`discord voice: realtime consult rejected malformed args call=${callId}: ${outcome.error}`);
|
|
392
393
|
await session.submitToolResult(callId, { error: outcome.error });
|
|
393
394
|
return;
|
|
394
395
|
}
|
|
395
396
|
const consultMessage = outcome.message;
|
|
396
|
-
logger$3.info(`discord voice: realtime consult requested call=${callId
|
|
397
|
+
logger$3.info(`discord voice: realtime consult requested call=${callId} voiceSession=${this.params.entry.voiceSessionKey} supervisorSession=${this.params.entry.route.sessionKey} agent=${this.params.entry.route.agentId} question=${formatVoiceLogPreview(consultMessage)}`);
|
|
397
398
|
const nativeConsult = this.params.harness.forcedConsults.recordNativeConsult(event.args, callId);
|
|
398
399
|
if (nativeConsult.kind === "already_delivered" && this.params.harness.forcedConsults.isCancelled(nativeConsult.handle)) {
|
|
399
400
|
await this.submitTerminalRealtimeToolResult(callId, session, CANCELLED_CONSULT_RESULT);
|
|
@@ -417,14 +418,22 @@ var DiscordRealtimeConsults = class {
|
|
|
417
418
|
}
|
|
418
419
|
if (!context) {
|
|
419
420
|
context = this.params.turns.consumePendingSpeakerContext();
|
|
420
|
-
if (context)
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
421
|
+
if (context) {
|
|
422
|
+
recent = this.params.harness.forcedConsults.prepare(consultMessage, {
|
|
423
|
+
context: {
|
|
424
|
+
speaker: context,
|
|
425
|
+
providerEpoch: this.params.providerEpoch(),
|
|
426
|
+
delivery: "provider"
|
|
427
|
+
},
|
|
428
|
+
...callId === "unknown" ? {} : { id: `native-consult:${callId}` }
|
|
429
|
+
});
|
|
430
|
+
if (!recent) throw new Error("Discord realtime consult context requires a non-empty question");
|
|
431
|
+
this.params.harness.forcedConsults.markStarted(recent);
|
|
432
|
+
}
|
|
424
433
|
}
|
|
425
434
|
const state = recent?.context;
|
|
426
435
|
if (!context || !state) {
|
|
427
|
-
logger$3.warn(`discord voice: realtime consult has no speaker context call=${callId
|
|
436
|
+
logger$3.warn(`discord voice: realtime consult has no speaker context call=${callId}`);
|
|
428
437
|
await session.submitToolResult(callId, { error: "No Discord speaker context available" });
|
|
429
438
|
return;
|
|
430
439
|
}
|
|
@@ -475,7 +484,7 @@ var DiscordRealtimeConsults = class {
|
|
|
475
484
|
}
|
|
476
485
|
if (!this.params.isAgentProxy()) return;
|
|
477
486
|
if (usesRealtimeAgentHandoff) {
|
|
478
|
-
if (pendingForcedConsult) this.
|
|
487
|
+
if (pendingForcedConsult) this.params.harness.forcedConsults.schedule(pendingForcedConsult, DISCORD_REALTIME_FORCED_CONSULT_FALLBACK_DELAY_MS, (handle) => void this.runForcedAgentProxyConsult(handle));
|
|
479
488
|
return;
|
|
480
489
|
}
|
|
481
490
|
this.talkback.enqueue(acceptedText, fallbackSpeakerContext);
|
|
@@ -553,9 +562,6 @@ var DiscordRealtimeConsults = class {
|
|
|
553
562
|
delivery: "provider"
|
|
554
563
|
} });
|
|
555
564
|
}
|
|
556
|
-
schedulePreparedForcedAgentProxyConsult(pending) {
|
|
557
|
-
this.params.harness.forcedConsults.schedule(pending, DISCORD_REALTIME_FORCED_CONSULT_FALLBACK_DELAY_MS, (handle) => void this.runForcedAgentProxyConsult(handle));
|
|
558
|
-
}
|
|
559
565
|
async runForcedAgentProxyConsult(pending) {
|
|
560
566
|
this.params.harness.forcedConsults.markStarted(pending);
|
|
561
567
|
const state = pending.context;
|
|
@@ -590,19 +596,6 @@ var DiscordRealtimeConsults = class {
|
|
|
590
596
|
this.params.playback.enqueueExactSpeechMessage(text);
|
|
591
597
|
}
|
|
592
598
|
}
|
|
593
|
-
rememberRecentAgentProxyConsultContext(question, context, options = {}) {
|
|
594
|
-
const handle = this.params.harness.forcedConsults.prepare(question, {
|
|
595
|
-
context: {
|
|
596
|
-
speaker: context,
|
|
597
|
-
providerEpoch: this.params.providerEpoch(),
|
|
598
|
-
delivery: "provider"
|
|
599
|
-
},
|
|
600
|
-
...options.id ? { id: options.id } : {}
|
|
601
|
-
});
|
|
602
|
-
if (!handle) throw new Error("Discord realtime consult context requires a non-empty question");
|
|
603
|
-
if (options.started) this.params.harness.forcedConsults.markStarted(handle);
|
|
604
|
-
return handle;
|
|
605
|
-
}
|
|
606
599
|
trackAgentProxyConsult(recent, promise) {
|
|
607
600
|
const state = recent?.context;
|
|
608
601
|
if (recent) this.params.harness.forcedConsults.markStarted(recent);
|
|
@@ -1099,8 +1092,9 @@ var DiscordRealtimePlayback = class {
|
|
|
1099
1092
|
/** Accept completed consult ownership without starting provider work during transport cleanup. */
|
|
1100
1093
|
retainExactSpeechMessage(text) {
|
|
1101
1094
|
if (!text.trim()) return false;
|
|
1102
|
-
const
|
|
1103
|
-
const
|
|
1095
|
+
const retained = this.retainedExactSpeechTexts();
|
|
1096
|
+
const retainedMessages = retained.length;
|
|
1097
|
+
const retainedBytes = retained.reduce((total, message) => total + Buffer.byteLength(message, "utf8"), 0);
|
|
1104
1098
|
const incomingBytes = Buffer.byteLength(text, "utf8");
|
|
1105
1099
|
if (retainedMessages >= DISCORD_REALTIME_MAX_RETAINED_RESPONSES || retainedBytes + incomingBytes > DISCORD_REALTIME_MAX_RETAINED_EXACT_SPEECH_BYTES) {
|
|
1106
1100
|
this.stopAfterPlaybackFailure("exact-speech-overflow", /* @__PURE__ */ new Error(`Discord realtime exact speech overflow: retained=${retainedMessages} retainedBytes=${retainedBytes} incomingBytes=${incomingBytes}`));
|
|
@@ -1209,7 +1203,6 @@ var DiscordRealtimePlayback = class {
|
|
|
1209
1203
|
const logContext = `guild=${this.params.entry.guildId} channel=${this.params.entry.channelId}`;
|
|
1210
1204
|
const output = new DiscordRealtimeOutput({
|
|
1211
1205
|
player: this.params.player,
|
|
1212
|
-
logContext,
|
|
1213
1206
|
continuous: this.isContinuousOutput(),
|
|
1214
1207
|
onStart: () => {
|
|
1215
1208
|
this.params.harness.outputActivity.markPlaybackStarted();
|
|
@@ -1264,10 +1257,6 @@ var DiscordRealtimePlayback = class {
|
|
|
1264
1257
|
};
|
|
1265
1258
|
//#endregion
|
|
1266
1259
|
//#region extensions/discord/src/voice/realtime-speaker-config.ts
|
|
1267
|
-
function readProviderConfigString(config, key) {
|
|
1268
|
-
const value = config[key];
|
|
1269
|
-
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
1270
|
-
}
|
|
1271
1260
|
/** Resolve the same provider, voice catalog, and policies for initial and replacement connections. */
|
|
1272
1261
|
function resolveDiscordRealtimeSpeakerConfig(params) {
|
|
1273
1262
|
const { realtimeConfig, isAgentProxy } = params;
|
|
@@ -1278,11 +1267,14 @@ function resolveDiscordRealtimeSpeakerConfig(params) {
|
|
|
1278
1267
|
if (canonicalProviderId) ownerProviderIds.add(canonicalProviderId);
|
|
1279
1268
|
for (const providerId of ownerProviderIds) assertSecretOwnerAvailable("capability", discordRealtimeVoiceSecretOwnerId(params.accountId, providerId));
|
|
1280
1269
|
}
|
|
1270
|
+
const configuredVoice = realtimeConfig?.speakerVoice || realtimeConfig?.speakerVoiceId;
|
|
1281
1271
|
const resolved = resolveConfiguredRealtimeVoiceProvider({
|
|
1282
1272
|
configuredProviderId: realtimeConfig?.provider,
|
|
1283
|
-
providerConfigs:
|
|
1273
|
+
providerConfigs: { ...realtimeConfig?.providers },
|
|
1284
1274
|
providerConfigOverrides: {
|
|
1285
|
-
...
|
|
1275
|
+
...realtimeConfig?.model ? { model: realtimeConfig.model } : {},
|
|
1276
|
+
...configuredVoice ? { voice: configuredVoice } : {},
|
|
1277
|
+
...typeof realtimeConfig?.minBargeInAudioEndMs === "number" ? { minBargeInAudioEndMs: realtimeConfig.minBargeInAudioEndMs } : {},
|
|
1286
1278
|
...params.voiceOverride ? {
|
|
1287
1279
|
voice: params.voiceOverride,
|
|
1288
1280
|
speakerVoice: params.voiceOverride
|
|
@@ -1300,14 +1292,14 @@ function resolveDiscordRealtimeSpeakerConfig(params) {
|
|
|
1300
1292
|
});
|
|
1301
1293
|
assertSecretOwnerAvailable("capability", discordRealtimeVoiceSecretOwnerId(params.accountId, resolved.provider.id));
|
|
1302
1294
|
const capabilities = resolved.capabilities;
|
|
1303
|
-
const model =
|
|
1295
|
+
const model = normalizeOptionalString(resolved.providerConfig.model) ?? resolved.provider.defaultModel;
|
|
1304
1296
|
const voices = [...capabilities?.voices ?? (model ? capabilities?.voicesByModel?.[model] : void 0) ?? resolved.provider.voices ?? []];
|
|
1305
1297
|
const publicConfig = projectInternalRealtimeVoicePublicConfig({
|
|
1306
1298
|
provider: resolved.provider,
|
|
1307
1299
|
providerConfig: resolved.providerConfig,
|
|
1308
1300
|
config: {
|
|
1309
1301
|
model,
|
|
1310
|
-
voice:
|
|
1302
|
+
voice: normalizeOptionalString(resolved.providerConfig.speakerVoice) ?? normalizeOptionalString(resolved.providerConfig.voice)
|
|
1311
1303
|
}
|
|
1312
1304
|
});
|
|
1313
1305
|
const selection = {
|
|
@@ -1358,7 +1350,7 @@ function resolveDiscordRealtimeSpeakerConfig(params) {
|
|
|
1358
1350
|
bargeIn,
|
|
1359
1351
|
minBargeInAudioEndMs,
|
|
1360
1352
|
resolvedModel: model,
|
|
1361
|
-
resolvedVoice:
|
|
1353
|
+
resolvedVoice: normalizeOptionalString(resolved.providerConfig.voice)
|
|
1362
1354
|
};
|
|
1363
1355
|
}
|
|
1364
1356
|
//#endregion
|
|
@@ -1366,9 +1358,6 @@ function resolveDiscordRealtimeSpeakerConfig(params) {
|
|
|
1366
1358
|
const logger$1 = createSubsystemLogger("discord/voice");
|
|
1367
1359
|
const DISCORD_REALTIME_DUPLICATE_ERROR_SUPPRESS_MS = 6e4;
|
|
1368
1360
|
const discordRealtimeTalkPayload = () => ({});
|
|
1369
|
-
function isDiscordAgentProxyVoiceMode(mode) {
|
|
1370
|
-
return mode === "agent-proxy";
|
|
1371
|
-
}
|
|
1372
1361
|
var DiscordRealtimeSpeakerSession = class {
|
|
1373
1362
|
constructor(params) {
|
|
1374
1363
|
this.params = params;
|
|
@@ -1391,7 +1380,12 @@ var DiscordRealtimeSpeakerSession = class {
|
|
|
1391
1380
|
this.inputIdleListeners = /* @__PURE__ */ new Set();
|
|
1392
1381
|
this.lastActivityAt = Date.now();
|
|
1393
1382
|
this.outputEnabled = !params.standby;
|
|
1394
|
-
|
|
1383
|
+
const recordingEpoch = this.providerContinuityEpoch;
|
|
1384
|
+
this.recording = new DiscordRealtimeRecording({
|
|
1385
|
+
entry: this.params.entry,
|
|
1386
|
+
isCurrent: () => this.lifecycle.status !== "stopped" && this.providerContinuityEpoch === recordingEpoch,
|
|
1387
|
+
warn: (message) => logger$1.warn(message)
|
|
1388
|
+
});
|
|
1395
1389
|
this.harness = createRealtimeVoiceSessionHarness({
|
|
1396
1390
|
talk: {
|
|
1397
1391
|
sessionId: this.params.sessionId,
|
|
@@ -1462,7 +1456,7 @@ var DiscordRealtimeSpeakerSession = class {
|
|
|
1462
1456
|
debounceMs: () => this.realtimeConfig?.debounceMs,
|
|
1463
1457
|
entry: this.params.entry,
|
|
1464
1458
|
harness: this.harness,
|
|
1465
|
-
isAgentProxy: () =>
|
|
1459
|
+
isAgentProxy: () => this.params.mode === "agent-proxy" && !this.handlesAgentConsult,
|
|
1466
1460
|
isWakeNameRequired: () => this.isWakeNameRequired(),
|
|
1467
1461
|
playback: this.playback,
|
|
1468
1462
|
providerEpoch: () => this.providerContinuityEpoch,
|
|
@@ -1485,7 +1479,7 @@ var DiscordRealtimeSpeakerSession = class {
|
|
|
1485
1479
|
agentId: this.params.entry.route.agentId,
|
|
1486
1480
|
cfg: this.params.cfg,
|
|
1487
1481
|
realtimeConfig: this.realtimeConfig,
|
|
1488
|
-
isAgentProxy:
|
|
1482
|
+
isAgentProxy: this.params.mode === "agent-proxy",
|
|
1489
1483
|
bootstrapContextInstructions: this.params.bootstrapContextInstructions,
|
|
1490
1484
|
voiceOverride: this.params.voiceOverride,
|
|
1491
1485
|
conversationHistory: this.params.conversationHistory
|
|
@@ -1791,14 +1785,6 @@ var DiscordRealtimeSpeakerSession = class {
|
|
|
1791
1785
|
this.turns.resetProviderContinuity();
|
|
1792
1786
|
this.playback.resetProviderContinuity(reason);
|
|
1793
1787
|
}
|
|
1794
|
-
createRecording() {
|
|
1795
|
-
const epoch = this.providerContinuityEpoch;
|
|
1796
|
-
return new DiscordRealtimeRecording({
|
|
1797
|
-
entry: this.params.entry,
|
|
1798
|
-
isCurrent: () => this.lifecycle.status !== "stopped" && this.providerContinuityEpoch === epoch,
|
|
1799
|
-
warn: (message) => logger$1.warn(message)
|
|
1800
|
-
});
|
|
1801
|
-
}
|
|
1802
1788
|
logRealtimeError(message) {
|
|
1803
1789
|
const now = Date.now();
|
|
1804
1790
|
if (this.lastRealtimeError?.message === message && now - this.lastRealtimeError.lastLoggedAt < DISCORD_REALTIME_DUPLICATE_ERROR_SUPPRESS_MS) {
|
|
@@ -479,9 +479,6 @@ function resetVoiceReceiveRecoveryState(state) {
|
|
|
479
479
|
state.decryptFailureCount = 0;
|
|
480
480
|
state.lastDecryptFailureAt = 0;
|
|
481
481
|
}
|
|
482
|
-
function finishVoiceDecryptRecovery(state) {
|
|
483
|
-
state.decryptRecoveryInFlight = false;
|
|
484
|
-
}
|
|
485
482
|
function isDaveReinitializing(session) {
|
|
486
483
|
return session.reinitializing === true;
|
|
487
484
|
}
|
|
@@ -514,4 +511,4 @@ function enableDaveReceivePassthrough(params) {
|
|
|
514
511
|
}
|
|
515
512
|
}
|
|
516
513
|
//#endregion
|
|
517
|
-
export {
|
|
514
|
+
export { releaseDiscordAudioInput as _, noteVoiceDecryptFailure as a, serializeDiscordAudioError as b, createDiscordOpusEncodeStream as c, createRealtimePcmToDiscordConverter as d, decodeOpusStreamChunks as f, getDiscordAudioOutputStatus as g, admitDiscordAudioInput as h, enableDaveReceivePassthrough as i, createDiscordOpusPlaybackStream as l, DiscordAudioOutputStatus as m, analyzeVoiceReceiveError as n, recoverDaveZeroTransition as o, writeVoiceWavFile as p, createVoiceReceiveRecoveryState as r, resetVoiceReceiveRecoveryState as s, DECRYPT_FAILURE_WINDOW_MS as t, createDiscordPcmToRealtimeConverter as u, restoreDiscordAudioError as v, setDiscordAudioOutputStatus as x, retireDiscordAudioOutput as y };
|
package/dist/.setup/{resolve-allowlist-common-CwMBzbx9.mjs → resolve-allowlist-common-DPdRggu5.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { o as normalizeDiscordSlug } from "./channel-type-
|
|
2
|
-
import { m as normalizeDiscordToken } from "./accounts-
|
|
3
|
-
import { r as fetchDiscord } from "./api-
|
|
1
|
+
import { o as normalizeDiscordSlug } from "./channel-type-DRCrEMss.mjs";
|
|
2
|
+
import { m as normalizeDiscordToken } from "./accounts-ChaMcixG.mjs";
|
|
3
|
+
import { r as fetchDiscord } from "./api-DVbJwZVt.mjs";
|
|
4
4
|
//#region extensions/discord/src/guilds.ts
|
|
5
5
|
async function listGuilds(token, fetcher, options) {
|
|
6
6
|
return (await fetchDiscord("/users/@me/guilds", token, fetcher, options)).filter((guild) => typeof guild.id === "string" && typeof guild.name === "string").map((guild) => ({
|
|
@@ -14,9 +14,6 @@ async function listGuilds(token, fetcher, options) {
|
|
|
14
14
|
function resolveDiscordAllowlistToken(token) {
|
|
15
15
|
return normalizeDiscordToken(token, "channels.discord.token");
|
|
16
16
|
}
|
|
17
|
-
function buildDiscordUnresolvedResults(entries, buildResult) {
|
|
18
|
-
return entries.map(buildResult);
|
|
19
|
-
}
|
|
20
17
|
function findDiscordGuildByName(guilds, input) {
|
|
21
18
|
const slug = normalizeDiscordSlug(input);
|
|
22
19
|
if (!slug) return;
|
|
@@ -31,4 +28,4 @@ function filterDiscordGuilds(guilds, params) {
|
|
|
31
28
|
return guilds;
|
|
32
29
|
}
|
|
33
30
|
//#endregion
|
|
34
|
-
export {
|
|
31
|
+
export { resolveDiscordAllowlistToken as n, listGuilds as r, filterDiscordGuilds as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { o as normalizeDiscordSlug, t as isDiscordThreadChannelType } from "./channel-type-
|
|
3
|
-
import { n as DiscordApiError, r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-
|
|
4
|
-
import {
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { o as normalizeDiscordSlug, t as isDiscordThreadChannelType } from "./channel-type-DRCrEMss.mjs";
|
|
3
|
+
import { n as DiscordApiError, r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-DVbJwZVt.mjs";
|
|
4
|
+
import { n as resolveDiscordAllowlistToken, r as listGuilds, t as filterDiscordGuilds } from "./resolve-allowlist-common-DPdRggu5.mjs";
|
|
5
5
|
//#region extensions/discord/src/resolve-channels.ts
|
|
6
6
|
var resolve_channels_exports = /* @__PURE__ */ __exportAll({ resolveDiscordChannelAllowlist: () => resolveDiscordChannelAllowlist });
|
|
7
7
|
function parseDiscordChannelInput(raw) {
|
|
@@ -12,7 +12,7 @@ function parseDiscordChannelInput(raw) {
|
|
|
12
12
|
const channelPrefix = trimmed.match(/^(?:channel:|discord:)?(\d+)$/i);
|
|
13
13
|
if (channelPrefix) return { channelId: channelPrefix[1] };
|
|
14
14
|
const guildPrefix = trimmed.match(/^(?:guild:|server:)?(\d+)$/i);
|
|
15
|
-
if (guildPrefix
|
|
15
|
+
if (guildPrefix) return {
|
|
16
16
|
guildId: guildPrefix[1],
|
|
17
17
|
guildOnly: true
|
|
18
18
|
};
|
|
@@ -88,9 +88,20 @@ function preferActiveMatch(candidates) {
|
|
|
88
88
|
scored.sort((a, b) => b.score - a.score);
|
|
89
89
|
return scored[0]?.channel ?? candidates[0];
|
|
90
90
|
}
|
|
91
|
+
function resolvedChannelResult(input, channel, guildName) {
|
|
92
|
+
return {
|
|
93
|
+
input,
|
|
94
|
+
resolved: true,
|
|
95
|
+
guildId: channel.guildId,
|
|
96
|
+
guildName,
|
|
97
|
+
channelId: channel.id,
|
|
98
|
+
channelName: channel.name,
|
|
99
|
+
archived: channel.archived
|
|
100
|
+
};
|
|
101
|
+
}
|
|
91
102
|
async function resolveDiscordChannelAllowlist(params) {
|
|
92
103
|
const token = resolveDiscordAllowlistToken(params.token);
|
|
93
|
-
if (!token) return
|
|
104
|
+
if (!token) return params.entries.map((input) => ({
|
|
94
105
|
input,
|
|
95
106
|
resolved: false
|
|
96
107
|
}));
|
|
@@ -146,15 +157,7 @@ async function resolveDiscordChannelAllowlist(params) {
|
|
|
146
157
|
continue;
|
|
147
158
|
}
|
|
148
159
|
const guild = guilds.find((entry) => entry.id === channel.guildId);
|
|
149
|
-
results.push(
|
|
150
|
-
input,
|
|
151
|
-
resolved: true,
|
|
152
|
-
guildId: channel.guildId,
|
|
153
|
-
guildName: guild?.name,
|
|
154
|
-
channelId: channel.id,
|
|
155
|
-
channelName: channel.name,
|
|
156
|
-
archived: channel.archived
|
|
157
|
-
});
|
|
160
|
+
results.push(resolvedChannelResult(input, channel, guild?.name));
|
|
158
161
|
continue;
|
|
159
162
|
}
|
|
160
163
|
if (result.status === "not-found" && parsed.guildId) {
|
|
@@ -162,15 +165,7 @@ async function resolveDiscordChannelAllowlist(params) {
|
|
|
162
165
|
if (guild) {
|
|
163
166
|
const match = preferActiveMatch((await getChannels(guild.id)).filter((channel) => normalizeDiscordSlug(channel.name) === normalizeDiscordSlug(channelId)));
|
|
164
167
|
if (match) {
|
|
165
|
-
results.push(
|
|
166
|
-
input,
|
|
167
|
-
resolved: true,
|
|
168
|
-
guildId: guild.id,
|
|
169
|
-
guildName: guild.name,
|
|
170
|
-
channelId: match.id,
|
|
171
|
-
channelName: match.name,
|
|
172
|
-
archived: match.archived
|
|
173
|
-
});
|
|
168
|
+
results.push(resolvedChannelResult(input, match, guild.name));
|
|
174
169
|
continue;
|
|
175
170
|
}
|
|
176
171
|
}
|
|
@@ -205,15 +200,7 @@ async function resolveDiscordChannelAllowlist(params) {
|
|
|
205
200
|
let matches = channels.filter((channel) => isNumericId ? channel.id === channelQuery : normalizeDiscordSlug(channel.name) === normalizedChannelQuery);
|
|
206
201
|
if (isNumericId && matches.length === 0) matches = channels.filter((channel) => normalizeDiscordSlug(channel.name) === normalizedChannelQuery);
|
|
207
202
|
const match = preferActiveMatch(matches);
|
|
208
|
-
if (match) results.push(
|
|
209
|
-
input,
|
|
210
|
-
resolved: true,
|
|
211
|
-
guildId: guild.id,
|
|
212
|
-
guildName: guild.name,
|
|
213
|
-
channelId: match.id,
|
|
214
|
-
channelName: match.name,
|
|
215
|
-
archived: match.archived
|
|
216
|
-
});
|
|
203
|
+
if (match) results.push(resolvedChannelResult(input, match, guild.name));
|
|
217
204
|
else results.push({
|
|
218
205
|
input,
|
|
219
206
|
resolved: false,
|
|
@@ -242,13 +229,7 @@ async function resolveDiscordChannelAllowlist(params) {
|
|
|
242
229
|
if (match) {
|
|
243
230
|
const guild = guilds.find((entry) => entry.id === match.guildId);
|
|
244
231
|
results.push({
|
|
245
|
-
input,
|
|
246
|
-
resolved: true,
|
|
247
|
-
guildId: match.guildId,
|
|
248
|
-
guildName: guild?.name,
|
|
249
|
-
channelId: match.id,
|
|
250
|
-
channelName: match.name,
|
|
251
|
-
archived: match.archived,
|
|
232
|
+
...resolvedChannelResult(input, match, guild?.name),
|
|
252
233
|
note: candidates.length > 1 && guild?.name ? `matched multiple; chose ${guild.name}` : void 0
|
|
253
234
|
});
|
|
254
235
|
continue;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-
|
|
3
|
-
import {
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.mjs";
|
|
2
|
+
import { r as fetchDiscord, t as DISCORD_DIRECTORY_LOOKUP_TIMEOUT_MS } from "./api-DVbJwZVt.mjs";
|
|
3
|
+
import { n as resolveDiscordAllowlistToken, r as listGuilds, t as filterDiscordGuilds } from "./resolve-allowlist-common-DPdRggu5.mjs";
|
|
4
4
|
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
//#region extensions/discord/src/resolve-users.ts
|
|
6
6
|
var resolve_users_exports = /* @__PURE__ */ __exportAll({ resolveDiscordUserAllowlist: () => resolveDiscordUserAllowlist });
|
|
@@ -45,7 +45,7 @@ function scoreDiscordMember(member, query) {
|
|
|
45
45
|
}
|
|
46
46
|
async function resolveDiscordUserAllowlist(params) {
|
|
47
47
|
const token = resolveDiscordAllowlistToken(params.token);
|
|
48
|
-
if (!token) return
|
|
48
|
+
if (!token) return params.entries.map((input) => ({
|
|
49
49
|
input,
|
|
50
50
|
resolved: false
|
|
51
51
|
}));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { v as RateLimitError } from "./discord-
|
|
2
|
-
import { parseStrictNonNegativeInteger, resolveIntegerOption } from "openclaw/plugin-sdk/number-runtime";
|
|
1
|
+
import { v as RateLimitError } from "./discord-0xJYfdDD.mjs";
|
|
3
2
|
import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
|
|
3
|
+
import { parseStrictNonNegativeInteger, resolveIntegerOption } from "openclaw/plugin-sdk/number-runtime";
|
|
4
4
|
import { collectErrorGraphCandidates, extractErrorCode, formatErrorMessage, readErrorName } from "openclaw/plugin-sdk/error-runtime";
|
|
5
5
|
import { classifyTransientNetworkErrorCode, createChannelApiRetryRunner, resolveRetryConfig, retryAsync } from "openclaw/plugin-sdk/retry-runtime";
|
|
6
6
|
import { buildMessagingTarget, parseMentionPrefixOrAtUserTarget, requireTargetKind } from "openclaw/plugin-sdk/channel-targets";
|
|
@@ -692,4 +692,4 @@ function createDiscordRetryRunner(params) {
|
|
|
692
692
|
};
|
|
693
693
|
}
|
|
694
694
|
//#endregion
|
|
695
|
-
export {
|
|
695
|
+
export { matchesDiscordToolContextTarget as _, recordDiscordMessageCreateAmbiguity as a, parseDiscordTarget as b, createDiscordSendReceipt as c, toDiscordOutboundDeliveryResult as d, createReusableDiscordReplyReference as f, looksLikeDiscordTargetId as g, allowFromContainsDiscordUserId as h, hasDiscordMessageCreateAmbiguity as i, createDiscordSendReceiptFromResults as l, resolveDiscordReplyReference as m, classifyDiscordDeliveryFailure as n, chunkDiscordTextWithMode as o, resolveDiscordReplyMessageId as p, createDiscordRetryRunner as r, findGraphemeChunkEnd as s, canFallbackDiscordWebhookSend as t, createDiscordSendResult as u, normalizeDiscordMessagingTarget as v, resolveDiscordChannelId as x, normalizeDiscordOutboundTarget as y };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import "node:module";
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __exportAll = (all, no_symbols) => {
|
|
8
|
+
let target = {};
|
|
9
|
+
for (var name in all) __defProp(target, name, {
|
|
10
|
+
get: all[name],
|
|
11
|
+
enumerable: true
|
|
12
|
+
});
|
|
13
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
18
|
+
key = keys[i];
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
20
|
+
get: ((k) => from[k]).bind(null, key),
|
|
21
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
27
|
+
//#endregion
|
|
28
|
+
export { __reExport as n, __exportAll as t };
|