@symerian/symi 2.6.41 → 2.6.42
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/{agents-B4RNdKQ3.js → agents-DDRDszOI.js} +4 -4
- package/dist/{agents.config-CG2klYOg.js → agents.config-BEVb1Pyx.js} +1 -1
- package/dist/{agents.config-CA31c0kN.js → agents.config-BKCY6F2A.js} +1 -1
- package/dist/{audio-preflight-K-s65jbB.js → audio-preflight-COaFw917.js} +4 -4
- package/dist/{auth-choice-CCGIgXvF.js → auth-choice-BbzReh6k.js} +1 -1
- package/dist/{auth-choice-CiMf3Pjp.js → auth-choice-D2xXwBeN.js} +1 -1
- package/dist/{banner-BNsB_A87.js → banner-DqqRwplt.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-BMQlkUDX.js → channel-options-DQcpDVCx.js} +1 -1
- package/dist/{channel-options-pAH4A-xX.js → channel-options-DcazVJQf.js} +1 -1
- package/dist/{channel-web-Dwuj48T5.js → channel-web-u5yMYO4j.js} +1 -1
- package/dist/{channels-cli-rmDzxb0W.js → channels-cli-Bog4Kn3X.js} +4 -4
- package/dist/{channels-cli-CuExxB0U.js → channels-cli-C3iJE8eg.js} +4 -4
- package/dist/{chrome-BYOhnxTr.js → chrome-CbA-qnhp.js} +7 -7
- package/dist/{cli-BPGZalMg.js → cli-QybdZdE7.js} +1 -1
- package/dist/{cli-Mcq2pPI0.js → cli-eBtEEHLK.js} +1 -1
- package/dist/{command-registry-BoEw2RzH.js → command-registry-BWnZSpbL.js} +9 -9
- package/dist/{completion-cli-CE9Xqlyx.js → completion-cli-BhJFXaVU.js} +1 -1
- package/dist/{completion-cli-CQVZGJPg.js → completion-cli-CUKm7Hb6.js} +2 -2
- package/dist/{config-cli-BucNvr-c.js → config-cli-B796xZBe.js} +1 -1
- package/dist/{config-cli-mU_ckD4l.js → config-cli-CjnQyv45.js} +1 -1
- package/dist/{configure-CDOF87Fk.js → configure-D3wIQ0yI.js} +3 -3
- package/dist/{configure-CxnBcN95.js → configure-DUqT7Dyn.js} +3 -3
- package/dist/{deliver-C1HRkzPJ.js → deliver-C7NePF9Z.js} +1 -1
- package/dist/{doctor-completion-CoftKlUX.js → doctor-completion-D3oUNFQM.js} +1 -1
- package/dist/{doctor-completion-CHF_TwGQ.js → doctor-completion-DBE1IVKj.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-SNaqDM7f.js → gateway-cli-BguO9yV4.js} +11 -10
- package/dist/{gateway-cli-G7fiXsQ6.js → gateway-cli-Dc1RT_b9.js} +11 -10
- package/dist/{glass-ui-ws-CF0__vuO.js → glass-ui-ws-D0UYleBF.js} +7 -7
- package/dist/{glass-ui-ws-he25wGFt.js → glass-ui-ws-DoIZyE9O.js} +7 -7
- package/dist/{health-en2N_Kqc.js → health-D3w4YMlC.js} +1 -1
- package/dist/{health-q7706M36.js → health-cVvZdeDu.js} +1 -1
- package/dist/{hooks-cli-ChQbBpyb.js → hooks-cli-DZIbjfOA.js} +2 -2
- package/dist/{hooks-cli-C4rVaLzZ.js → hooks-cli-te5hzOAB.js} +2 -2
- package/dist/{image-CbyTdMd5.js → image-C3ugMkb5.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-DOTpfa7b.js → models-BCfPhQ4m.js} +2 -2
- package/dist/{models-cli-CBl45f7R.js → models-cli-BFAtjNIF.js} +2 -2
- package/dist/{models-cli-MJAY_Wg4.js → models-cli-Cj2CwbPw.js} +3 -3
- package/dist/{onboard-Bx02XPb1.js → onboard-BMq8qc1m.js} +2 -2
- package/dist/{onboard-DQdGJ1lE.js → onboard-VcdBF5TB.js} +2 -2
- package/dist/{onboard-channels-Ct2eNYUC.js → onboard-channels-B5wgcffj.js} +1 -1
- package/dist/{onboard-channels-Bp89ZT6Q.js → onboard-channels-CiOun4k1.js} +1 -1
- package/dist/{onboarding-DxUcsrKV.js → onboarding-CGNpTyg2.js} +3 -3
- package/dist/{onboarding-Dnn_0VTy.js → onboarding-Dp7p6zKa.js} +3 -3
- package/dist/{onboarding.finalize-Dwr-jEtL.js → onboarding.finalize-B6DOu8vp.js} +5 -5
- package/dist/{onboarding.finalize-1kzzMLFM.js → onboarding.finalize-CrsE5P43.js} +6 -6
- package/dist/{pi-embedded-BfEg6Wwb.js → pi-embedded-DQe8vBwU.js} +40 -3
- package/dist/{pi-embedded-helpers-GaCyI2oH.js → pi-embedded-helpers-BgRcgoC9.js} +4 -4
- package/dist/{plugin-registry-BMFEJ4FA.js → plugin-registry-BzIbwU3K.js} +1 -1
- package/dist/{plugin-registry-wAQeBSeD.js → plugin-registry-D3TUplW8.js} +1 -1
- package/dist/plugin-sdk/agents/pi-embedded-runner/long-task-prompt.d.ts +5 -0
- package/dist/plugin-sdk/{channel-web-Ba27v-Om.js → channel-web-B6m8UOCl.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-Bok_WQGW.js → reply-CGoJQT_s.js} +40 -3
- package/dist/plugin-sdk/{web-BoOAa0Xn.js → web-CJjSOTnI.js} +2 -2
- package/dist/{plugins-cli-DoJbbST7.js → plugins-cli-BD1Jb2Ml.js} +2 -2
- package/dist/{plugins-cli-B36YKKla.js → plugins-cli-DFyRjAtJ.js} +2 -2
- package/dist/{program-context-Y4KnAKNT.js → program-context-45vPEw2G.js} +17 -17
- package/dist/{program-4f7W2RMs.js → program-qGm2M9PG.js} +7 -7
- package/dist/{prompt-select-styled-D0sLJ4TD.js → prompt-select-styled-DRIS9jSv.js} +4 -4
- package/dist/{prompt-select-styled-Dql_0SI0.js → prompt-select-styled-DRraJGwA.js} +4 -4
- package/dist/{provider-auth-helpers-GSv3namf.js → provider-auth-helpers-BNOWsjW5.js} +1 -1
- package/dist/{provider-auth-helpers-CJbHC_mv.js → provider-auth-helpers-BREVjR7R.js} +1 -1
- package/dist/{push-apns-sxB8QxSj.js → push-apns-CObVeJLC.js} +1 -1
- package/dist/{push-apns-giplY7u-.js → push-apns-CYC70eKy.js} +1 -1
- package/dist/{pw-ai-pQoxTh-a.js → pw-ai--LDjnyuN.js} +1 -1
- package/dist/{register.agent-vd2BSsyE.js → register.agent-DRrHvYcz.js} +5 -5
- package/dist/{register.agent-_2tVQLMK.js → register.agent-DzzY8jON.js} +6 -6
- package/dist/{register.configure-D-XV6_Nb.js → register.configure-BxtTIFTa.js} +6 -6
- package/dist/{register.configure-BVKwTrz8.js → register.configure-DlXkwkNR.js} +6 -6
- package/dist/{register.maintenance-XySU31jf.js → register.maintenance-CXLXouZV.js} +7 -7
- package/dist/{register.maintenance-BqYR2fop.js → register.maintenance-LEf8Q_5p.js} +8 -8
- package/dist/{register.message-CCfWNWs3.js → register.message-C4ifV9vG.js} +2 -2
- package/dist/{register.message-DOyREWdG.js → register.message-DsPa-xHV.js} +2 -2
- package/dist/{register.onboard-zmF-euog.js → register.onboard-CrY4PxLP.js} +4 -4
- package/dist/{register.onboard-Dy_D_uMj.js → register.onboard-DLRPa_4B.js} +4 -4
- package/dist/{register.setup-cE7gPp2m.js → register.setup-By37g1vN.js} +4 -4
- package/dist/{register.setup-DiGPa1Fw.js → register.setup-fBG_dJfi.js} +4 -4
- package/dist/{register.status-health-sessions-DWKL1rkz.js → register.status-health-sessions-Ckw86-gn.js} +3 -3
- package/dist/{register.status-health-sessions-ksv1WnIs.js → register.status-health-sessions-DG7KGnD0.js} +3 -3
- package/dist/{register.subclis-Crt_IYK0.js → register.subclis-C_xKLugM.js} +9 -9
- package/dist/{reply-CjYJHt_H.js → reply-DyjXROKp.js} +40 -3
- package/dist/{run-main-bOlPbL7t.js → run-main-Cg3ecTbO.js} +14 -14
- package/dist/{runner-B0AbN8wV.js → runner-cJ3m-bxK.js} +1 -1
- package/dist/{server-methods-CiwWwj6K.js → server-methods-CW8eFTGD.js} +7 -7
- package/dist/{server-methods-VimYvcpY.js → server-methods-CWcLut3F.js} +7 -7
- package/dist/{server-node-events-CHmLiFNV.js → server-node-events-C2h9OPo7.js} +2 -2
- package/dist/{server-node-events-DYC45lKC.js → server-node-events-CDB0u8PP.js} +2 -2
- package/dist/{status-CA5wJHMj.js → status-B2Qt-5kL.js} +1 -1
- package/dist/{status-Dt_MXoNa.js → status-CMx3GAax.js} +1 -1
- package/dist/{status-DxhtJtzE.js → status-DfPfMVNZ.js} +2 -2
- package/dist/{status-DEpM69Pd.js → status-ZPW5EACm.js} +2 -2
- package/dist/{subagent-registry-BPwn3Qm7.js → subagent-registry-DQHg3jUV.js} +40 -3
- package/dist/{unified-runner-CVkyzT1I.js → unified-runner-DvOFqcrw.js} +54 -17
- package/dist/{update-cli-Dh_dfprI.js → update-cli-DBasZeVl.js} +8 -8
- package/dist/{update-cli-Dv4c5Gup.js → update-cli-Df9rh_aN.js} +7 -7
- package/dist/{update-runner-MMFI1UZ0.js → update-runner-BRKFzAwV.js} +1 -1
- package/dist/{update-runner-CG_kbbGR.js → update-runner-DVa6cMqp.js} +1 -1
- package/dist/{web-CJk-lv93.js → web-CGh5tw__.js} +1 -1
- package/dist/{web-BUc-ts5b.js → web-Cw3bFAiP.js} +6 -6
- package/dist/{web-DCBOD-Vj.js → web-Dd05xbUr.js} +1 -1
- package/dist/{web-CfVd3Mhp.js → web-KiuDkd0x.js} +2 -2
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/learning-loop/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/pipeline/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/skills/long-task/SKILL.md +57 -0
- package/skills/long-task/scripts/detach-task.sh +58 -0
|
@@ -14,7 +14,7 @@ import "./client-T3qcxXru.js";
|
|
|
14
14
|
import "./call-DKi-hnaF.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import "./subagent-registry-
|
|
17
|
+
import "./subagent-registry-DQHg3jUV.js";
|
|
18
18
|
import "./sessions-Cfa6JEB3.js";
|
|
19
19
|
import "./tokens-Csntmwwn.js";
|
|
20
20
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -102,9 +102,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
|
|
|
102
102
|
import "./catalog-DLQFKucJ.js";
|
|
103
103
|
import "./note-DDecZomM.js";
|
|
104
104
|
import "./plugin-auto-enable-D6ENR3Xg.js";
|
|
105
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
105
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BzIbwU3K.js";
|
|
106
106
|
import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
|
|
107
|
-
import { t as emitCliBanner } from "./banner-
|
|
107
|
+
import { t as emitCliBanner } from "./banner-DqqRwplt.js";
|
|
108
108
|
import "./doctor-config-flow-DhAYwhNB.js";
|
|
109
109
|
import { n as ensureConfigReady } from "./config-guard-B1skCv1C.js";
|
|
110
110
|
import process$1 from "node:process";
|
|
@@ -119,7 +119,7 @@ const routeHealth = {
|
|
|
119
119
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
120
120
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
121
121
|
if (timeoutMs === null) return false;
|
|
122
|
-
const { healthCommand } = await import("./health-
|
|
122
|
+
const { healthCommand } = await import("./health-cVvZdeDu.js").then((n) => n.i);
|
|
123
123
|
await healthCommand({
|
|
124
124
|
json,
|
|
125
125
|
timeoutMs,
|
|
@@ -139,7 +139,7 @@ const routeStatus = {
|
|
|
139
139
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
140
140
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
141
141
|
if (timeoutMs === null) return false;
|
|
142
|
-
const { statusCommand } = await import("./status-
|
|
142
|
+
const { statusCommand } = await import("./status-DfPfMVNZ.js").then((n) => n.t);
|
|
143
143
|
await statusCommand({
|
|
144
144
|
json,
|
|
145
145
|
deep,
|
|
@@ -173,7 +173,7 @@ const routeAgentsList = {
|
|
|
173
173
|
run: async (argv) => {
|
|
174
174
|
const json = hasFlag(argv, "--json");
|
|
175
175
|
const bindings = hasFlag(argv, "--bindings");
|
|
176
|
-
const { agentsListCommand } = await import("./agents-
|
|
176
|
+
const { agentsListCommand } = await import("./agents-DDRDszOI.js").then((n) => n.t);
|
|
177
177
|
await agentsListCommand({
|
|
178
178
|
json,
|
|
179
179
|
bindings
|
|
@@ -244,7 +244,7 @@ const routes = [
|
|
|
244
244
|
const pathArg = getCommandPositionals(argv)[2];
|
|
245
245
|
if (!pathArg) return false;
|
|
246
246
|
const json = hasFlag(argv, "--json");
|
|
247
|
-
const { runConfigGet } = await import("./config-cli-
|
|
247
|
+
const { runConfigGet } = await import("./config-cli-B796xZBe.js");
|
|
248
248
|
await runConfigGet({
|
|
249
249
|
path: pathArg,
|
|
250
250
|
json
|
|
@@ -257,7 +257,7 @@ const routes = [
|
|
|
257
257
|
run: async (argv) => {
|
|
258
258
|
const pathArg = getCommandPositionals(argv)[2];
|
|
259
259
|
if (!pathArg) return false;
|
|
260
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
260
|
+
const { runConfigUnset } = await import("./config-cli-B796xZBe.js");
|
|
261
261
|
await runConfigUnset({ path: pathArg });
|
|
262
262
|
return true;
|
|
263
263
|
}
|
|
@@ -271,7 +271,7 @@ const routes = [
|
|
|
271
271
|
const local = hasFlag(argv, "--local");
|
|
272
272
|
const json = hasFlag(argv, "--json");
|
|
273
273
|
const plain = hasFlag(argv, "--plain");
|
|
274
|
-
const { modelsListCommand } = await import("./models-
|
|
274
|
+
const { modelsListCommand } = await import("./models-BCfPhQ4m.js").then((n) => n.t);
|
|
275
275
|
await modelsListCommand({
|
|
276
276
|
all,
|
|
277
277
|
local,
|
|
@@ -302,7 +302,7 @@ const routes = [
|
|
|
302
302
|
const plain = hasFlag(argv, "--plain");
|
|
303
303
|
const check = hasFlag(argv, "--check");
|
|
304
304
|
const probe = hasFlag(argv, "--probe");
|
|
305
|
-
const { modelsStatusCommand } = await import("./models-
|
|
305
|
+
const { modelsStatusCommand } = await import("./models-BCfPhQ4m.js").then((n) => n.t);
|
|
306
306
|
await modelsStatusCommand({
|
|
307
307
|
json,
|
|
308
308
|
plain,
|
|
@@ -380,7 +380,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
380
380
|
assertSupportedRuntime();
|
|
381
381
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
382
382
|
enableConsoleCapture();
|
|
383
|
-
const { buildProgram } = await import("./program-
|
|
383
|
+
const { buildProgram } = await import("./program-qGm2M9PG.js");
|
|
384
384
|
const program = buildProgram();
|
|
385
385
|
installUnhandledRejectionHandler();
|
|
386
386
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -412,10 +412,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
412
412
|
const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
|
|
413
413
|
const ctx = getProgramContext(program);
|
|
414
414
|
if (ctx) {
|
|
415
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
415
|
+
const { registerCoreCliByName } = await import("./command-registry-BWnZSpbL.js").then((n) => n.t);
|
|
416
416
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
417
417
|
}
|
|
418
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
418
|
+
const { registerSubCliByName } = await import("./register.subclis-C_xKLugM.js").then((n) => n.a);
|
|
419
419
|
await registerSubCliByName(program, primary);
|
|
420
420
|
}
|
|
421
421
|
const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
|
|
@@ -424,7 +424,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
424
424
|
primary,
|
|
425
425
|
hasBuiltinPrimary
|
|
426
426
|
})) {
|
|
427
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
427
|
+
const { registerPluginCliCommands } = await import("./cli-eBtEEHLK.js");
|
|
428
428
|
const { loadConfig } = await import("./config-BNTB6qj8.js").then((n) => n.t);
|
|
429
429
|
registerPluginCliCommands(program, loadConfig());
|
|
430
430
|
}
|
|
@@ -4,7 +4,7 @@ import { A as normalizeGoogleModelId, B as resolveApiKeyForProvider, C as normal
|
|
|
4
4
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-B6OxYMgn.js";
|
|
5
5
|
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-C3ugMkb5.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BkLFtndu.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-Cj6kcyGt.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-Se92wAN5.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
|
|
4
|
-
import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-
|
|
4
|
+
import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-DyjXROKp.js";
|
|
5
5
|
import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
7
7
|
import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
|
|
@@ -39,14 +39,14 @@ import { t as WizardCancelledError } from "./prompts-CfOu9uZi.js";
|
|
|
39
39
|
import { t as resolveChannelDefaultAccountId } from "./helpers-DnjQ73f_.js";
|
|
40
40
|
import { t as buildChannelAccountSnapshot } from "./status-klsFDD3M.js";
|
|
41
41
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-DB9YkTVX.js";
|
|
42
|
-
import { n as getStatusSummary } from "./status-
|
|
43
|
-
import { s as setHeartbeatsEnabled } from "./health-
|
|
42
|
+
import { n as getStatusSummary } from "./status-ZPW5EACm.js";
|
|
43
|
+
import { s as setHeartbeatsEnabled } from "./health-D3w4YMlC.js";
|
|
44
44
|
import { m as normalizeUpdateChannel } from "./update-check-7EzEjSzb.js";
|
|
45
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
46
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
45
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CObVeJLC.js";
|
|
46
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BEVb1Pyx.js";
|
|
47
47
|
import { t as resolveSystemRunCommand } from "./system-run-command-B_qw8CXP.js";
|
|
48
48
|
import { t as installSkill } from "./skills-install-CWVdJkLn.js";
|
|
49
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
49
|
+
import { t as runGatewayUpdate } from "./update-runner-BRKFzAwV.js";
|
|
50
50
|
import * as fs$2 from "node:fs";
|
|
51
51
|
import fs from "node:fs";
|
|
52
52
|
import * as os$1 from "node:os";
|
|
@@ -6944,7 +6944,7 @@ const nodeHandlers = {
|
|
|
6944
6944
|
const p = params;
|
|
6945
6945
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6946
6946
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6947
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
6947
|
+
const { handleNodeEvent } = await import("./server-node-events-CDB0u8PP.js");
|
|
6948
6948
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6949
6949
|
await handleNodeEvent({
|
|
6950
6950
|
deps: context.deps,
|
|
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
|
|
|
12
12
|
import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
|
|
13
13
|
import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
|
|
14
14
|
import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
|
|
15
|
-
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-
|
|
15
|
+
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-DQHg3jUV.js";
|
|
16
16
|
import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-Cfa6JEB3.js";
|
|
17
17
|
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
18
18
|
import { n as createBrowserRouteDispatcher } from "./with-timeout-Cgi3TwWN.js";
|
|
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
|
|
|
37
37
|
import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
|
|
38
38
|
import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
|
|
39
39
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-BjI_Yyr5.js";
|
|
40
|
-
import { r as getStatusSummary } from "./status-
|
|
41
|
-
import { c as setHeartbeatsEnabled } from "./health-
|
|
40
|
+
import { r as getStatusSummary } from "./status-DfPfMVNZ.js";
|
|
41
|
+
import { c as setHeartbeatsEnabled } from "./health-cVvZdeDu.js";
|
|
42
42
|
import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
|
|
43
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
44
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
43
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CYC70eKy.js";
|
|
44
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BKCY6F2A.js";
|
|
45
45
|
import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
|
|
46
46
|
import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
|
|
47
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
47
|
+
import { t as runGatewayUpdate } from "./update-runner-DVa6cMqp.js";
|
|
48
48
|
import { spawnSync } from "node:child_process";
|
|
49
49
|
import * as os$1 from "node:os";
|
|
50
50
|
import os from "node:os";
|
|
@@ -6942,7 +6942,7 @@ const nodeHandlers = {
|
|
|
6942
6942
|
const p = params;
|
|
6943
6943
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6944
6944
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6945
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
6945
|
+
const { handleNodeEvent } = await import("./server-node-events-C2h9OPo7.js");
|
|
6946
6946
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6947
6947
|
await handleNodeEvent({
|
|
6948
6948
|
deps: context.deps,
|
|
@@ -15,7 +15,7 @@ import "./client-T3qcxXru.js";
|
|
|
15
15
|
import "./call-DKi-hnaF.js";
|
|
16
16
|
import "./message-channel-C9dERklz.js";
|
|
17
17
|
import "./pairing-token-Byh6drgn.js";
|
|
18
|
-
import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-
|
|
18
|
+
import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-DQHg3jUV.js";
|
|
19
19
|
import { d as updateSessionStore } from "./sessions-Cfa6JEB3.js";
|
|
20
20
|
import "./tokens-Csntmwwn.js";
|
|
21
21
|
import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
|
|
@@ -99,7 +99,7 @@ import "./onboard-helpers-BBtPmJEe.js";
|
|
|
99
99
|
import "./prompt-style-DwCXob2h.js";
|
|
100
100
|
import "./pairing-labels-D1HDboV2.js";
|
|
101
101
|
import "./pi-tools.policy-DxNwL7Dl.js";
|
|
102
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
102
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CYC70eKy.js";
|
|
103
103
|
import { randomUUID } from "node:crypto";
|
|
104
104
|
|
|
105
105
|
//#region src/gateway/server-node-events.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-
|
|
4
|
+
import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-DyjXROKp.js";
|
|
5
5
|
import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -103,7 +103,7 @@ import "./pi-tools.policy-DRWb_Cax.js";
|
|
|
103
103
|
import "./control-service-BYKXzY4f.js";
|
|
104
104
|
import "./stagger-CvFURHzt.js";
|
|
105
105
|
import "./channel-selection-V2xDgw16.js";
|
|
106
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
106
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CObVeJLC.js";
|
|
107
107
|
import { randomUUID } from "node:crypto";
|
|
108
108
|
|
|
109
109
|
//#region src/gateway/server-node-events.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-
|
|
1
|
+
import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-DyjXROKp.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
3
3
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
|
|
4
4
|
import { i as loadConfig } from "./config-Dz95lSBW.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as createSubsystemLogger } from "./entry.js";
|
|
2
2
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
|
|
3
3
|
import { i as loadConfig } from "./config-BNTB6qj8.js";
|
|
4
|
-
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-
|
|
4
|
+
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DQHg3jUV.js";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/status.ts
|
|
7
7
|
const log = createSubsystemLogger("plugins");
|
|
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
|
|
|
9
9
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
|
|
10
10
|
import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
|
|
11
11
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
|
|
12
|
-
import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-
|
|
12
|
+
import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-DQHg3jUV.js";
|
|
13
13
|
import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-Cfa6JEB3.js";
|
|
14
14
|
import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
|
|
15
15
|
import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
|
|
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.j
|
|
|
29
29
|
import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
|
|
30
30
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
31
31
|
import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BjI_Yyr5.js";
|
|
32
|
-
import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-
|
|
32
|
+
import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-cVvZdeDu.js";
|
|
33
33
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
|
|
34
34
|
import { t as resolveNodeService } from "./node-service-fcZExd22.js";
|
|
35
35
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-
|
|
3
|
+
import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-DyjXROKp.js";
|
|
4
4
|
import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
|
|
5
5
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
6
6
|
import { n as runExec } from "./exec-CWkblSrI.js";
|
|
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.j
|
|
|
28
28
|
import { t as readLastGatewayErrorLine } from "./diagnostics-BRwihzJG.js";
|
|
29
29
|
import { t as renderTable } from "./table-BKlH0YlA.js";
|
|
30
30
|
import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-DB9YkTVX.js";
|
|
31
|
-
import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-
|
|
31
|
+
import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-D3w4YMlC.js";
|
|
32
32
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-7EzEjSzb.js";
|
|
33
33
|
import { t as resolveNodeService } from "./node-service-CD47Qpf1.js";
|
|
34
34
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-B0yJsjEo.js";
|
|
@@ -38847,6 +38847,38 @@ function getHistoryLimitFromSessionKey(sessionKey, config) {
|
|
|
38847
38847
|
*/
|
|
38848
38848
|
const getDmHistoryLimitFromSessionKey = getHistoryLimitFromSessionKey;
|
|
38849
38849
|
|
|
38850
|
+
//#endregion
|
|
38851
|
+
//#region src/agents/pi-embedded-runner/long-task-prompt.ts
|
|
38852
|
+
const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
|
|
38853
|
+
let cachedScriptPath;
|
|
38854
|
+
async function resolveDetachScriptPath(params) {
|
|
38855
|
+
if (cachedScriptPath !== void 0) return cachedScriptPath;
|
|
38856
|
+
const packageRoot = await resolveSymiPackageRoot({
|
|
38857
|
+
cwd: params.cwd,
|
|
38858
|
+
argv1: params.argv1,
|
|
38859
|
+
moduleUrl: params.moduleUrl
|
|
38860
|
+
});
|
|
38861
|
+
if (!packageRoot) {
|
|
38862
|
+
cachedScriptPath = null;
|
|
38863
|
+
return null;
|
|
38864
|
+
}
|
|
38865
|
+
const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
|
|
38866
|
+
cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
|
|
38867
|
+
return cachedScriptPath;
|
|
38868
|
+
}
|
|
38869
|
+
async function buildLongTaskPromptSuffix(params) {
|
|
38870
|
+
const scriptPath = await resolveDetachScriptPath(params);
|
|
38871
|
+
if (!scriptPath) return "";
|
|
38872
|
+
return "\n\n" + [
|
|
38873
|
+
"LONG-RUNNING TASK PATTERN:",
|
|
38874
|
+
"- For any task that may exceed 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration): detach from the agent turn. Do NOT foreground-block the exec tool for the full duration; the agent turn will hit its timeout and SIGTERM the process mid-run.",
|
|
38875
|
+
`- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`. The script spawns under setsid+nohup, writes PID / cmd / started / status / log files in the workdir. Use the agent workspace as the workdir.`,
|
|
38876
|
+
"- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
|
|
38877
|
+
"- Register a cron monitor using the `cron` tool with action=add. Schedule every 2-3 minutes. Job prompt must include the task-id, PID, log path, and status path so the future turn has enough context. Example job prompt: \"Check if PID <pid> is alive (kill -0). If alive: tail -n 20 <log>, post one-sentence progress update. If not alive: read <status> and tail <log>, post a final summary, then call cron tool with action=remove id=<this-cron-id>.\"",
|
|
38878
|
+
"- When the monitor turn observes status=complete, it MUST call the cron tool with action=remove to clean up its own job. Do not leave stale monitors running."
|
|
38879
|
+
].join("\n");
|
|
38880
|
+
}
|
|
38881
|
+
|
|
38850
38882
|
//#endregion
|
|
38851
38883
|
//#region src/agents/pi-embedded-runner/runs.ts
|
|
38852
38884
|
const ACTIVE_EMBEDDED_RUNS = /* @__PURE__ */ new Map();
|
|
@@ -39900,7 +39932,12 @@ async function runEmbeddedAttempt(params) {
|
|
|
39900
39932
|
const profileModelKey = params.modelId ?? "";
|
|
39901
39933
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
39902
39934
|
log$5.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
39903
|
-
const
|
|
39935
|
+
const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
|
|
39936
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
|
|
39937
|
+
argv1: process.argv[1],
|
|
39938
|
+
cwd: process.cwd(),
|
|
39939
|
+
moduleUrl: import.meta.url
|
|
39940
|
+
}) + profilePromptSuffix)();
|
|
39904
39941
|
const sessionLock = await acquireSessionWriteLock({
|
|
39905
39942
|
sessionFile: params.sessionFile,
|
|
39906
39943
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -53331,7 +53368,7 @@ function isVoiceChannelType(type) {
|
|
|
53331
53368
|
function createDefaultDeps() {
|
|
53332
53369
|
return {
|
|
53333
53370
|
sendMessageWhatsApp: async (...args) => {
|
|
53334
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
53371
|
+
const { sendMessageWhatsApp } = await import("./web-Dd05xbUr.js");
|
|
53335
53372
|
return await sendMessageWhatsApp(...args);
|
|
53336
53373
|
},
|
|
53337
53374
|
sendMessageTelegram: async (...args) => {
|
|
@@ -68645,7 +68682,7 @@ function loadWebLoginQr() {
|
|
|
68645
68682
|
return webLoginQrPromise;
|
|
68646
68683
|
}
|
|
68647
68684
|
function loadWebChannel() {
|
|
68648
|
-
webChannelPromise ??= import("./web-
|
|
68685
|
+
webChannelPromise ??= import("./web-Dd05xbUr.js");
|
|
68649
68686
|
return webChannelPromise;
|
|
68650
68687
|
}
|
|
68651
68688
|
function loadWhatsAppActions() {
|
|
@@ -10,10 +10,10 @@ import { $ as resolveAuthProfileDisplayLabel, B as resolveApiKeyForProvider, C a
|
|
|
10
10
|
import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
|
|
11
11
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
|
|
12
12
|
import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
|
|
13
|
-
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
13
|
+
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BgRcgoC9.js";
|
|
14
14
|
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-B6OxYMgn.js";
|
|
15
15
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-yb7sAlu4.js";
|
|
16
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
16
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CbA-qnhp.js";
|
|
17
17
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-Bs0AW1g3.js";
|
|
18
18
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
|
|
19
19
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
|
|
@@ -31,10 +31,10 @@ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i
|
|
|
31
31
|
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BNnv8GtF.js";
|
|
32
32
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
|
|
33
33
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
|
|
34
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
34
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C7NePF9Z.js";
|
|
35
35
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-CQiU0O8b.js";
|
|
36
36
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
|
|
37
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
37
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-C3ugMkb5.js";
|
|
38
38
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CCaxCywz.js";
|
|
39
39
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-W0JzCJJM.js";
|
|
40
40
|
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DaBsat3L.js";
|
|
@@ -50,7 +50,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Cj6k
|
|
|
50
50
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-Se92wAN5.js";
|
|
51
51
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-JAy_3A3B.js";
|
|
52
52
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BSvi46KZ.js";
|
|
53
|
-
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-
|
|
53
|
+
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-cJ3m-bxK.js";
|
|
54
54
|
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BiPrghRt.js";
|
|
55
55
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-Dvqh1Tgb.js";
|
|
56
56
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Dnti0cFs.js";
|
|
@@ -81,7 +81,7 @@ import AjvPkg from "ajv";
|
|
|
81
81
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
82
82
|
import { createServer } from "node:http";
|
|
83
83
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
84
|
-
import WebSocket
|
|
84
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
85
85
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
86
86
|
import { EdgeTTS } from "node-edge-tts";
|
|
87
87
|
import { createJiti } from "jiti";
|
|
@@ -8782,7 +8782,7 @@ var GatewayClient = class {
|
|
|
8782
8782
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8783
8783
|
});
|
|
8784
8784
|
}
|
|
8785
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
8785
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
8786
8786
|
this.ws.on("open", () => {
|
|
8787
8787
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8788
8788
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -9001,7 +9001,7 @@ var GatewayClient = class {
|
|
|
9001
9001
|
return null;
|
|
9002
9002
|
}
|
|
9003
9003
|
async request(method, params, opts) {
|
|
9004
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
9004
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
9005
9005
|
const id = randomUUID();
|
|
9006
9006
|
const frame = {
|
|
9007
9007
|
type: "req",
|
|
@@ -10267,7 +10267,7 @@ async function routeReply(params) {
|
|
|
10267
10267
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10268
10268
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10269
10269
|
try {
|
|
10270
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10270
|
+
const { deliverOutboundPayloads } = await import("./deliver-C7NePF9Z.js").then((n) => n.n);
|
|
10271
10271
|
return {
|
|
10272
10272
|
ok: true,
|
|
10273
10273
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -43708,7 +43708,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
43708
43708
|
return;
|
|
43709
43709
|
}
|
|
43710
43710
|
try {
|
|
43711
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
43711
|
+
const { deliverOutboundPayloads } = await import("./deliver-C7NePF9Z.js").then((n) => n.n);
|
|
43712
43712
|
await deliverOutboundPayloads({
|
|
43713
43713
|
cfg: params.cfg,
|
|
43714
43714
|
channel,
|
|
@@ -47154,7 +47154,7 @@ async function describeStickerImage(params) {
|
|
|
47154
47154
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
47155
47155
|
try {
|
|
47156
47156
|
const buffer = await fs$1.readFile(imagePath);
|
|
47157
|
-
const { describeImageWithModel } = await import("./image-
|
|
47157
|
+
const { describeImageWithModel } = await import("./image-C3ugMkb5.js").then((n) => n.n);
|
|
47158
47158
|
return (await describeImageWithModel({
|
|
47159
47159
|
buffer,
|
|
47160
47160
|
fileName: "sticker.webp",
|
|
@@ -49816,7 +49816,7 @@ async function preflightDiscordMessage(params) {
|
|
|
49816
49816
|
let preflightTranscript;
|
|
49817
49817
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
49818
49818
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
49819
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
49819
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-COaFw917.js");
|
|
49820
49820
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
49821
49821
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
49822
49822
|
ctx: {
|
|
@@ -53822,7 +53822,7 @@ function isVoiceChannelType(type) {
|
|
|
53822
53822
|
function createDefaultDeps() {
|
|
53823
53823
|
return {
|
|
53824
53824
|
sendMessageWhatsApp: async (...args) => {
|
|
53825
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
53825
|
+
const { sendMessageWhatsApp } = await import("./web-Cw3bFAiP.js");
|
|
53826
53826
|
return await sendMessageWhatsApp(...args);
|
|
53827
53827
|
},
|
|
53828
53828
|
sendMessageTelegram: async (...args) => {
|
|
@@ -56727,7 +56727,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
56727
56727
|
super(options);
|
|
56728
56728
|
}
|
|
56729
56729
|
createWebSocket(url) {
|
|
56730
|
-
return new WebSocket
|
|
56730
|
+
return new WebSocket(url, { agent });
|
|
56731
56731
|
}
|
|
56732
56732
|
}
|
|
56733
56733
|
return new ProxyGatewayPlugin();
|
|
@@ -66945,7 +66945,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
66945
66945
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
66946
66946
|
let preflightTranscript;
|
|
66947
66947
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
66948
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
66948
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-COaFw917.js");
|
|
66949
66949
|
preflightTranscript = await transcribeFirstAudio({
|
|
66950
66950
|
ctx: {
|
|
66951
66951
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -69102,7 +69102,7 @@ function loadWebLoginQr() {
|
|
|
69102
69102
|
return webLoginQrPromise;
|
|
69103
69103
|
}
|
|
69104
69104
|
function loadWebChannel() {
|
|
69105
|
-
webChannelPromise ??= import("./web-
|
|
69105
|
+
webChannelPromise ??= import("./web-Cw3bFAiP.js");
|
|
69106
69106
|
return webChannelPromise;
|
|
69107
69107
|
}
|
|
69108
69108
|
function loadWhatsAppActions() {
|
|
@@ -76301,6 +76301,38 @@ function isRunnerAbortError(err) {
|
|
|
76301
76301
|
return ("message" in err && typeof err.message === "string" ? err.message.toLowerCase() : "").includes("aborted");
|
|
76302
76302
|
}
|
|
76303
76303
|
|
|
76304
|
+
//#endregion
|
|
76305
|
+
//#region src/agents/pi-embedded-runner/long-task-prompt.ts
|
|
76306
|
+
const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
|
|
76307
|
+
let cachedScriptPath;
|
|
76308
|
+
async function resolveDetachScriptPath(params) {
|
|
76309
|
+
if (cachedScriptPath !== void 0) return cachedScriptPath;
|
|
76310
|
+
const packageRoot = await resolveSymiPackageRoot({
|
|
76311
|
+
cwd: params.cwd,
|
|
76312
|
+
argv1: params.argv1,
|
|
76313
|
+
moduleUrl: params.moduleUrl
|
|
76314
|
+
});
|
|
76315
|
+
if (!packageRoot) {
|
|
76316
|
+
cachedScriptPath = null;
|
|
76317
|
+
return null;
|
|
76318
|
+
}
|
|
76319
|
+
const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
|
|
76320
|
+
cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
|
|
76321
|
+
return cachedScriptPath;
|
|
76322
|
+
}
|
|
76323
|
+
async function buildLongTaskPromptSuffix(params) {
|
|
76324
|
+
const scriptPath = await resolveDetachScriptPath(params);
|
|
76325
|
+
if (!scriptPath) return "";
|
|
76326
|
+
return "\n\n" + [
|
|
76327
|
+
"LONG-RUNNING TASK PATTERN:",
|
|
76328
|
+
"- For any task that may exceed 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration): detach from the agent turn. Do NOT foreground-block the exec tool for the full duration; the agent turn will hit its timeout and SIGTERM the process mid-run.",
|
|
76329
|
+
`- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`. The script spawns under setsid+nohup, writes PID / cmd / started / status / log files in the workdir. Use the agent workspace as the workdir.`,
|
|
76330
|
+
"- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
|
|
76331
|
+
"- Register a cron monitor using the `cron` tool with action=add. Schedule every 2-3 minutes. Job prompt must include the task-id, PID, log path, and status path so the future turn has enough context. Example job prompt: \"Check if PID <pid> is alive (kill -0). If alive: tail -n 20 <log>, post one-sentence progress update. If not alive: read <status> and tail <log>, post a final summary, then call cron tool with action=remove id=<this-cron-id>.\"",
|
|
76332
|
+
"- When the monitor turn observes status=complete, it MUST call the cron tool with action=remove to clean up its own job. Do not leave stale monitors running."
|
|
76333
|
+
].join("\n");
|
|
76334
|
+
}
|
|
76335
|
+
|
|
76304
76336
|
//#endregion
|
|
76305
76337
|
//#region src/agents/pi-embedded-runner/session-manager-init.ts
|
|
76306
76338
|
/**
|
|
@@ -77107,7 +77139,12 @@ async function runEmbeddedAttempt(params) {
|
|
|
77107
77139
|
const profileModelKey = params.modelId ?? "";
|
|
77108
77140
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
77109
77141
|
log$9.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
77110
|
-
const
|
|
77142
|
+
const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
|
|
77143
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
|
|
77144
|
+
argv1: process.argv[1],
|
|
77145
|
+
cwd: process.cwd(),
|
|
77146
|
+
moduleUrl: import.meta.url
|
|
77147
|
+
}) + profilePromptSuffix)();
|
|
77111
77148
|
const sessionLock = await acquireSessionWriteLock({
|
|
77112
77149
|
sessionFile: params.sessionFile,
|
|
77113
77150
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|