@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
|
@@ -45582,6 +45582,38 @@ function getHistoryLimitFromSessionKey(sessionKey, config) {
|
|
|
45582
45582
|
*/
|
|
45583
45583
|
const getDmHistoryLimitFromSessionKey = getHistoryLimitFromSessionKey;
|
|
45584
45584
|
|
|
45585
|
+
//#endregion
|
|
45586
|
+
//#region src/agents/pi-embedded-runner/long-task-prompt.ts
|
|
45587
|
+
const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
|
|
45588
|
+
let cachedScriptPath;
|
|
45589
|
+
async function resolveDetachScriptPath(params) {
|
|
45590
|
+
if (cachedScriptPath !== void 0) return cachedScriptPath;
|
|
45591
|
+
const packageRoot = await resolveSymiPackageRoot({
|
|
45592
|
+
cwd: params.cwd,
|
|
45593
|
+
argv1: params.argv1,
|
|
45594
|
+
moduleUrl: params.moduleUrl
|
|
45595
|
+
});
|
|
45596
|
+
if (!packageRoot) {
|
|
45597
|
+
cachedScriptPath = null;
|
|
45598
|
+
return null;
|
|
45599
|
+
}
|
|
45600
|
+
const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
|
|
45601
|
+
cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
|
|
45602
|
+
return cachedScriptPath;
|
|
45603
|
+
}
|
|
45604
|
+
async function buildLongTaskPromptSuffix(params) {
|
|
45605
|
+
const scriptPath = await resolveDetachScriptPath(params);
|
|
45606
|
+
if (!scriptPath) return "";
|
|
45607
|
+
return "\n\n" + [
|
|
45608
|
+
"LONG-RUNNING TASK PATTERN:",
|
|
45609
|
+
"- 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.",
|
|
45610
|
+
`- 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.`,
|
|
45611
|
+
"- 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.",
|
|
45612
|
+
"- 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>.\"",
|
|
45613
|
+
"- 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."
|
|
45614
|
+
].join("\n");
|
|
45615
|
+
}
|
|
45616
|
+
|
|
45585
45617
|
//#endregion
|
|
45586
45618
|
//#region src/agents/pi-embedded-runner/runs.ts
|
|
45587
45619
|
const ACTIVE_EMBEDDED_RUNS = /* @__PURE__ */ new Map();
|
|
@@ -46632,7 +46664,12 @@ async function runEmbeddedAttempt(params) {
|
|
|
46632
46664
|
const profileModelKey = params.modelId ?? "";
|
|
46633
46665
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
46634
46666
|
log$5.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
46635
|
-
const
|
|
46667
|
+
const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
|
|
46668
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
|
|
46669
|
+
argv1: process.argv[1],
|
|
46670
|
+
cwd: process.cwd(),
|
|
46671
|
+
moduleUrl: import.meta.url
|
|
46672
|
+
}) + profilePromptSuffix)();
|
|
46636
46673
|
const sessionLock = await acquireSessionWriteLock({
|
|
46637
46674
|
sessionFile: params.sessionFile,
|
|
46638
46675
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -60912,7 +60949,7 @@ function isVoiceChannelType(type) {
|
|
|
60912
60949
|
function createDefaultDeps() {
|
|
60913
60950
|
return {
|
|
60914
60951
|
sendMessageWhatsApp: async (...args) => {
|
|
60915
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60952
|
+
const { sendMessageWhatsApp } = await import("./web-CGh5tw__.js");
|
|
60916
60953
|
return await sendMessageWhatsApp(...args);
|
|
60917
60954
|
},
|
|
60918
60955
|
sendMessageTelegram: async (...args) => {
|
|
@@ -76192,7 +76229,7 @@ function loadWebLoginQr() {
|
|
|
76192
76229
|
return webLoginQrPromise;
|
|
76193
76230
|
}
|
|
76194
76231
|
function loadWebChannel() {
|
|
76195
|
-
webChannelPromise ??= import("./web-
|
|
76232
|
+
webChannelPromise ??= import("./web-CGh5tw__.js");
|
|
76196
76233
|
return webChannelPromise;
|
|
76197
76234
|
}
|
|
76198
76235
|
function loadWhatsAppActions() {
|
|
@@ -9,7 +9,7 @@ import { h as isPidAlive, m as resolveProcessScopedMap } from "./auth-profiles-q
|
|
|
9
9
|
import { n as formatCliCommand } from "./env-BDXYbTKj.js";
|
|
10
10
|
import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
|
|
11
11
|
import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-B6OxYMgn.js";
|
|
12
|
-
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
12
|
+
import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CbA-qnhp.js";
|
|
13
13
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-Bs0AW1g3.js";
|
|
14
14
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-XIsvXeC-.js";
|
|
15
15
|
import { b as openFileWithinRoot, i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
|
|
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
|
|
|
933
933
|
}
|
|
934
934
|
async function loadPwAiModule(mode) {
|
|
935
935
|
try {
|
|
936
|
-
return await import("./pw-ai
|
|
936
|
+
return await import("./pw-ai--LDjnyuN.js");
|
|
937
937
|
} catch (err) {
|
|
938
938
|
if (mode === "soft") return null;
|
|
939
939
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
|
|
|
3473
3473
|
const userDataDir = resolveSymiUserDataDir(profile.name);
|
|
3474
3474
|
const profileState = getProfileState();
|
|
3475
3475
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
3476
|
-
await (await import("./pw-ai
|
|
3476
|
+
await (await import("./pw-ai--LDjnyuN.js")).closePlaywrightBrowserConnection();
|
|
3477
3477
|
} catch {}
|
|
3478
3478
|
if (profileState.running) await stopRunningBrowser();
|
|
3479
3479
|
try {
|
|
3480
|
-
await (await import("./pw-ai
|
|
3480
|
+
await (await import("./pw-ai--LDjnyuN.js")).closePlaywrightBrowserConnection();
|
|
3481
3481
|
} catch {}
|
|
3482
3482
|
if (!fs.existsSync(userDataDir)) return {
|
|
3483
3483
|
moved: false,
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
|
|
3
3
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
|
|
4
4
|
import { i as loadConfig } from "./config-BNTB6qj8.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-DQHg3jUV.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { ft as loadSymiPlugins } from "./reply-
|
|
2
|
+
import { ft as loadSymiPlugins } from "./reply-DyjXROKp.js";
|
|
3
3
|
import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
|
|
2
2
|
import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
|
|
3
|
-
import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-
|
|
3
|
+
import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-CGoJQT_s.js";
|
|
4
4
|
import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
|
|
5
5
|
import { n as loadConfig } from "./config-DdA6JiyD.js";
|
|
6
6
|
import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
|
package/dist/plugin-sdk/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
|
|
2
2
|
import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
|
|
3
|
-
import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-
|
|
3
|
+
import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-CGoJQT_s.js";
|
|
4
4
|
import "./paths-DR2yt_mP.js";
|
|
5
5
|
import "./github-copilot-token-D9X2phUj.js";
|
|
6
6
|
import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
|
|
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
|
|
|
47
47
|
import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-EyuCSUXO.js";
|
|
48
48
|
import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
|
|
49
49
|
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
|
|
50
|
-
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-
|
|
50
|
+
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-B6m8UOCl.js";
|
|
51
51
|
import "./image-aq-JAobP.js";
|
|
52
52
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
53
53
|
import "./api-key-rotation-LTEeykrm.js";
|
|
@@ -33636,6 +33636,38 @@ function getHistoryLimitFromSessionKey(sessionKey, config) {
|
|
|
33636
33636
|
*/
|
|
33637
33637
|
const getDmHistoryLimitFromSessionKey = getHistoryLimitFromSessionKey;
|
|
33638
33638
|
|
|
33639
|
+
//#endregion
|
|
33640
|
+
//#region src/agents/pi-embedded-runner/long-task-prompt.ts
|
|
33641
|
+
const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
|
|
33642
|
+
let cachedScriptPath;
|
|
33643
|
+
async function resolveDetachScriptPath(params) {
|
|
33644
|
+
if (cachedScriptPath !== void 0) return cachedScriptPath;
|
|
33645
|
+
const packageRoot = await resolveSymiPackageRoot({
|
|
33646
|
+
cwd: params.cwd,
|
|
33647
|
+
argv1: params.argv1,
|
|
33648
|
+
moduleUrl: params.moduleUrl
|
|
33649
|
+
});
|
|
33650
|
+
if (!packageRoot) {
|
|
33651
|
+
cachedScriptPath = null;
|
|
33652
|
+
return null;
|
|
33653
|
+
}
|
|
33654
|
+
const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
|
|
33655
|
+
cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
|
|
33656
|
+
return cachedScriptPath;
|
|
33657
|
+
}
|
|
33658
|
+
async function buildLongTaskPromptSuffix(params) {
|
|
33659
|
+
const scriptPath = await resolveDetachScriptPath(params);
|
|
33660
|
+
if (!scriptPath) return "";
|
|
33661
|
+
return "\n\n" + [
|
|
33662
|
+
"LONG-RUNNING TASK PATTERN:",
|
|
33663
|
+
"- 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.",
|
|
33664
|
+
`- 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.`,
|
|
33665
|
+
"- 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.",
|
|
33666
|
+
"- 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>.\"",
|
|
33667
|
+
"- 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."
|
|
33668
|
+
].join("\n");
|
|
33669
|
+
}
|
|
33670
|
+
|
|
33639
33671
|
//#endregion
|
|
33640
33672
|
//#region src/agents/pi-embedded-runner/runs.ts
|
|
33641
33673
|
const ACTIVE_EMBEDDED_RUNS = /* @__PURE__ */ new Map();
|
|
@@ -34698,7 +34730,12 @@ async function runEmbeddedAttempt(params) {
|
|
|
34698
34730
|
const profileModelKey = params.modelId ?? "";
|
|
34699
34731
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
34700
34732
|
log$7.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
34701
|
-
const
|
|
34733
|
+
const profilePromptSuffix = modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : "";
|
|
34734
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + await buildLongTaskPromptSuffix({
|
|
34735
|
+
argv1: process.argv[1],
|
|
34736
|
+
cwd: process.cwd(),
|
|
34737
|
+
moduleUrl: import.meta.url
|
|
34738
|
+
}) + profilePromptSuffix)();
|
|
34702
34739
|
const sessionLock = await acquireSessionWriteLock({
|
|
34703
34740
|
sessionFile: params.sessionFile,
|
|
34704
34741
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -36507,7 +36544,7 @@ async function runAgentTurn(params) {
|
|
|
36507
36544
|
function createDefaultDeps() {
|
|
36508
36545
|
return {
|
|
36509
36546
|
sendMessageWhatsApp: async (...args) => {
|
|
36510
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
36547
|
+
const { sendMessageWhatsApp } = await import("./web-CJjSOTnI.js");
|
|
36511
36548
|
return await sendMessageWhatsApp(...args);
|
|
36512
36549
|
},
|
|
36513
36550
|
sendMessageTelegram: async (...args) => {
|
|
@@ -53945,7 +53982,7 @@ function loadWebLoginQr() {
|
|
|
53945
53982
|
return webLoginQrPromise;
|
|
53946
53983
|
}
|
|
53947
53984
|
function loadWebChannel() {
|
|
53948
|
-
webChannelPromise ??= import("./web-
|
|
53985
|
+
webChannelPromise ??= import("./web-CJjSOTnI.js");
|
|
53949
53986
|
return webChannelPromise;
|
|
53950
53987
|
}
|
|
53951
53988
|
function loadWhatsAppActions() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
|
|
2
|
-
import "./reply-
|
|
2
|
+
import "./reply-CGoJQT_s.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BbAvhC25.js";
|
|
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-BPvzgLtj.js";
|
|
|
45
45
|
import "./paths-A0xdf3yk.js";
|
|
46
46
|
import "./diagnostic-EyuCSUXO.js";
|
|
47
47
|
import "./store-Do3t33-c.js";
|
|
48
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
48
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-B6m8UOCl.js";
|
|
49
49
|
import "./image-aq-JAobP.js";
|
|
50
50
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
51
51
|
import "./api-key-rotation-LTEeykrm.js";
|
|
@@ -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";
|
|
@@ -103,7 +103,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
|
|
|
103
103
|
import "./skill-scanner-BGWOBqLY.js";
|
|
104
104
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgQpVncj.js";
|
|
105
105
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
106
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
106
|
+
import { t as buildPluginStatusReport } from "./status-CMx3GAax.js";
|
|
107
107
|
import { n as updateNpmInstalledPlugins } from "./update-DEMKx4eC.js";
|
|
108
108
|
import os from "node:os";
|
|
109
109
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-DyjXROKp.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -107,7 +107,7 @@ import "./npm-registry-spec-C0CPT3vr.js";
|
|
|
107
107
|
import "./skill-scanner-hMtQbWPV.js";
|
|
108
108
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-DQcRVF1U.js";
|
|
109
109
|
import { t as renderTable } from "./table-BKlH0YlA.js";
|
|
110
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
110
|
+
import { t as buildPluginStatusReport } from "./status-B2Qt-5kL.js";
|
|
111
111
|
import { n as updateNpmInstalledPlugins } from "./update-Ya0e-JnM.js";
|
|
112
112
|
import fs from "node:fs";
|
|
113
113
|
import os from "node:os";
|
|
@@ -43,7 +43,7 @@ const entries = [
|
|
|
43
43
|
description: "Run, inspect, and query the WebSocket Gateway",
|
|
44
44
|
hasSubcommands: true,
|
|
45
45
|
register: async (program) => {
|
|
46
|
-
(await import("./gateway-cli-
|
|
46
|
+
(await import("./gateway-cli-BguO9yV4.js")).registerGatewayCli(program);
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
{
|
|
@@ -75,7 +75,7 @@ const entries = [
|
|
|
75
75
|
description: "Discover, scan, and configure models",
|
|
76
76
|
hasSubcommands: true,
|
|
77
77
|
register: async (program) => {
|
|
78
|
-
(await import("./models-cli-
|
|
78
|
+
(await import("./models-cli-BFAtjNIF.js")).registerModelsCli(program);
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
{
|
|
@@ -155,7 +155,7 @@ const entries = [
|
|
|
155
155
|
description: "Manage internal agent hooks",
|
|
156
156
|
hasSubcommands: true,
|
|
157
157
|
register: async (program) => {
|
|
158
|
-
(await import("./hooks-cli-
|
|
158
|
+
(await import("./hooks-cli-te5hzOAB.js")).registerHooksCli(program);
|
|
159
159
|
}
|
|
160
160
|
},
|
|
161
161
|
{
|
|
@@ -179,7 +179,7 @@ const entries = [
|
|
|
179
179
|
description: "Secure DM pairing (approve inbound requests)",
|
|
180
180
|
hasSubcommands: true,
|
|
181
181
|
register: async (program) => {
|
|
182
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
182
|
+
const { registerPluginCliCommands } = await import("./cli-QybdZdE7.js");
|
|
183
183
|
registerPluginCliCommands(program, await loadConfig());
|
|
184
184
|
(await import("./pairing-cli-DSM82gJG.js")).registerPairingCli(program);
|
|
185
185
|
}
|
|
@@ -189,8 +189,8 @@ const entries = [
|
|
|
189
189
|
description: "Manage Symi plugins and extensions",
|
|
190
190
|
hasSubcommands: true,
|
|
191
191
|
register: async (program) => {
|
|
192
|
-
(await import("./plugins-cli-
|
|
193
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
192
|
+
(await import("./plugins-cli-DFyRjAtJ.js")).registerPluginsCli(program);
|
|
193
|
+
const { registerPluginCliCommands } = await import("./cli-QybdZdE7.js");
|
|
194
194
|
registerPluginCliCommands(program, await loadConfig());
|
|
195
195
|
}
|
|
196
196
|
},
|
|
@@ -199,7 +199,7 @@ const entries = [
|
|
|
199
199
|
description: "Manage connected chat channels (Telegram, Discord, etc.)",
|
|
200
200
|
hasSubcommands: true,
|
|
201
201
|
register: async (program) => {
|
|
202
|
-
(await import("./channels-cli-
|
|
202
|
+
(await import("./channels-cli-Bog4Kn3X.js")).registerChannelsCli(program);
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
205
|
{
|
|
@@ -231,7 +231,7 @@ const entries = [
|
|
|
231
231
|
description: "Update Symi and inspect update channel status",
|
|
232
232
|
hasSubcommands: true,
|
|
233
233
|
register: async (program) => {
|
|
234
|
-
(await import("./update-cli-
|
|
234
|
+
(await import("./update-cli-Df9rh_aN.js")).registerUpdateCli(program);
|
|
235
235
|
}
|
|
236
236
|
},
|
|
237
237
|
{
|
|
@@ -239,7 +239,7 @@ const entries = [
|
|
|
239
239
|
description: "Generate shell completion script",
|
|
240
240
|
hasSubcommands: false,
|
|
241
241
|
register: async (program) => {
|
|
242
|
-
(await import("./completion-cli-
|
|
242
|
+
(await import("./completion-cli-BhJFXaVU.js").then((n) => n.n)).registerCompletionCli(program);
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
];
|
|
@@ -302,7 +302,7 @@ const coreEntries = [
|
|
|
302
302
|
hasSubcommands: false
|
|
303
303
|
}],
|
|
304
304
|
register: async ({ program }) => {
|
|
305
|
-
(await import("./register.setup-
|
|
305
|
+
(await import("./register.setup-fBG_dJfi.js")).registerSetupCommand(program);
|
|
306
306
|
}
|
|
307
307
|
},
|
|
308
308
|
{
|
|
@@ -312,7 +312,7 @@ const coreEntries = [
|
|
|
312
312
|
hasSubcommands: false
|
|
313
313
|
}],
|
|
314
314
|
register: async ({ program }) => {
|
|
315
|
-
(await import("./register.onboard-
|
|
315
|
+
(await import("./register.onboard-CrY4PxLP.js")).registerOnboardCommand(program);
|
|
316
316
|
}
|
|
317
317
|
},
|
|
318
318
|
{
|
|
@@ -322,7 +322,7 @@ const coreEntries = [
|
|
|
322
322
|
hasSubcommands: false
|
|
323
323
|
}],
|
|
324
324
|
register: async ({ program }) => {
|
|
325
|
-
(await import("./register.configure-
|
|
325
|
+
(await import("./register.configure-BxtTIFTa.js")).registerConfigureCommand(program);
|
|
326
326
|
}
|
|
327
327
|
},
|
|
328
328
|
{
|
|
@@ -332,7 +332,7 @@ const coreEntries = [
|
|
|
332
332
|
hasSubcommands: true
|
|
333
333
|
}],
|
|
334
334
|
register: async ({ program }) => {
|
|
335
|
-
(await import("./config-cli-
|
|
335
|
+
(await import("./config-cli-CjnQyv45.js")).registerConfigCli(program);
|
|
336
336
|
}
|
|
337
337
|
},
|
|
338
338
|
{
|
|
@@ -359,7 +359,7 @@ const coreEntries = [
|
|
|
359
359
|
}
|
|
360
360
|
],
|
|
361
361
|
register: async ({ program }) => {
|
|
362
|
-
(await import("./register.maintenance-
|
|
362
|
+
(await import("./register.maintenance-CXLXouZV.js")).registerMaintenanceCommands(program);
|
|
363
363
|
}
|
|
364
364
|
},
|
|
365
365
|
{
|
|
@@ -369,7 +369,7 @@ const coreEntries = [
|
|
|
369
369
|
hasSubcommands: true
|
|
370
370
|
}],
|
|
371
371
|
register: async ({ program, ctx }) => {
|
|
372
|
-
(await import("./register.message-
|
|
372
|
+
(await import("./register.message-C4ifV9vG.js")).registerMessageCommands(program, ctx);
|
|
373
373
|
}
|
|
374
374
|
},
|
|
375
375
|
{
|
|
@@ -393,7 +393,7 @@ const coreEntries = [
|
|
|
393
393
|
hasSubcommands: true
|
|
394
394
|
}],
|
|
395
395
|
register: async ({ program, ctx }) => {
|
|
396
|
-
(await import("./register.agent-
|
|
396
|
+
(await import("./register.agent-DRrHvYcz.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
|
|
397
397
|
}
|
|
398
398
|
},
|
|
399
399
|
{
|
|
@@ -415,7 +415,7 @@ const coreEntries = [
|
|
|
415
415
|
}
|
|
416
416
|
],
|
|
417
417
|
register: async ({ program }) => {
|
|
418
|
-
(await import("./register.status-health-sessions-
|
|
418
|
+
(await import("./register.status-health-sessions-Ckw86-gn.js")).registerStatusHealthSessionsCommands(program);
|
|
419
419
|
}
|
|
420
420
|
},
|
|
421
421
|
{
|
|
@@ -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 "./subagent-registry-
|
|
18
|
+
import "./subagent-registry-DQHg3jUV.js";
|
|
19
19
|
import "./sessions-Cfa6JEB3.js";
|
|
20
20
|
import "./tokens-Csntmwwn.js";
|
|
21
21
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -100,13 +100,13 @@ import "./prompt-style-DwCXob2h.js";
|
|
|
100
100
|
import "./pairing-labels-D1HDboV2.js";
|
|
101
101
|
import "./pi-tools.policy-DxNwL7Dl.js";
|
|
102
102
|
import "./catalog-DLQFKucJ.js";
|
|
103
|
-
import "./plugin-registry-
|
|
104
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
105
|
-
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-
|
|
106
|
-
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-
|
|
103
|
+
import "./plugin-registry-BzIbwU3K.js";
|
|
104
|
+
import { n as resolveCliChannelOptions } from "./channel-options-DQcpDVCx.js";
|
|
105
|
+
import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-C_xKLugM.js";
|
|
106
|
+
import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-BWnZSpbL.js";
|
|
107
107
|
import { r as setProgramContext } from "./program-context-CqzR_m-7.js";
|
|
108
108
|
import { t as forceFreePort } from "./ports-Dn122MUd.js";
|
|
109
|
-
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-
|
|
109
|
+
import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DqqRwplt.js";
|
|
110
110
|
import { Command } from "commander";
|
|
111
111
|
|
|
112
112
|
//#region src/cli/program/context.ts
|
|
@@ -214,7 +214,7 @@ function registerPreActionHooks(program, programVersion) {
|
|
|
214
214
|
commandPath
|
|
215
215
|
});
|
|
216
216
|
if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
|
|
217
|
-
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-
|
|
217
|
+
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BzIbwU3K.js").then((n) => n.n);
|
|
218
218
|
ensurePluginRegistryLoaded();
|
|
219
219
|
}
|
|
220
220
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { d as resolveIsNixMode, g as resolveStateDir, m as resolveOAuthDir, t as CONFIG_PATH, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { C as sleep, S as shortenHomePath, U as getResolvedLoggerSettings, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { _r as formatRemainingShort, ft as loadSymiPlugins, gr as buildAuthHealthSummary, hr as DEFAULT_OAUTH_WARN_MS } from "./reply-
|
|
3
|
+
import { _r as formatRemainingShort, ft as loadSymiPlugins, gr as buildAuthHealthSummary, hr as DEFAULT_OAUTH_WARN_MS } from "./reply-DyjXROKp.js";
|
|
4
4
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
5
5
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
6
6
|
import { n as runExec, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
@@ -34,16 +34,16 @@ import { a as launchAgentPlistExists, i as isLaunchAgentLoaded, o as repairLaunc
|
|
|
34
34
|
import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, o as needsNodeRuntimeMigration, r as SERVICE_AUDIT_CODES, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-xYZbFny_.js";
|
|
35
35
|
import { t as readLastGatewayErrorLine } from "./diagnostics-BRwihzJG.js";
|
|
36
36
|
import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-CvbbCuoa.js";
|
|
37
|
-
import { r as healthCommand } from "./health-
|
|
37
|
+
import { r as healthCommand } from "./health-D3w4YMlC.js";
|
|
38
38
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B7moDVHX.js";
|
|
39
39
|
import { t as resolveDmAllowState } from "./dm-policy-shared-DlDAGtZL.js";
|
|
40
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
40
|
+
import { t as runGatewayUpdate } from "./update-runner-BRKFzAwV.js";
|
|
41
41
|
import { t as resolveAgentSessionDirs } from "./session-dirs-Dgz7kkUM.js";
|
|
42
42
|
import { n as logConfigUpdated } from "./logging-KpicI3yD.js";
|
|
43
43
|
import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-iIzSEQxb.js";
|
|
44
44
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DCskIKcx.js";
|
|
45
45
|
import { t as formatHealthCheckFailure } from "./health-format-DRCaak6L.js";
|
|
46
|
-
import { n as doctorShellCompletion } from "./doctor-completion-
|
|
46
|
+
import { n as doctorShellCompletion } from "./doctor-completion-D3oUNFQM.js";
|
|
47
47
|
import fs from "node:fs";
|
|
48
48
|
import os from "node:os";
|
|
49
49
|
import path from "node:path";
|
|
@@ -8,7 +8,7 @@ import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
|
|
|
8
8
|
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
|
|
9
9
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
|
|
10
10
|
import { l as resolveGatewayBindHost, n as isLoopbackHost } from "./net-DZ5Ayk-W.js";
|
|
11
|
-
import { _n as DEFAULT_OAUTH_WARN_MS, m as loadSymiPlugins, vn as buildAuthHealthSummary, yn as formatRemainingShort } from "./subagent-registry-
|
|
11
|
+
import { _n as DEFAULT_OAUTH_WARN_MS, m as loadSymiPlugins, vn as buildAuthHealthSummary, yn as formatRemainingShort } from "./subagent-registry-DQHg3jUV.js";
|
|
12
12
|
import { F as resolveMainSessionKey, H as cleanStaleLockFiles, o as loadSessionStore } from "./sessions-Cfa6JEB3.js";
|
|
13
13
|
import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
|
|
14
14
|
import { D as DEFAULT_SANDBOX_COMMON_IMAGE, E as DEFAULT_SANDBOX_BROWSER_IMAGE, O as DEFAULT_SANDBOX_IMAGE, p as resolveSandboxScope } from "./sandbox-DY75ZyJD.js";
|
|
@@ -31,16 +31,16 @@ import { a as launchAgentPlistExists, i as isLaunchAgentLoaded, o as repairLaunc
|
|
|
31
31
|
import { i as auditGatewayServiceConfig, n as renderSystemdUnavailableHints, o as needsNodeRuntimeMigration, r as SERVICE_AUDIT_CODES, s as formatRuntimeStatus, t as isSystemdUnavailableDetail } from "./systemd-hints-DT6cDIM2.js";
|
|
32
32
|
import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
|
|
33
33
|
import { n as renderGatewayServiceCleanupHints, t as findExtraGatewayServices } from "./inspect-t04OgGMk.js";
|
|
34
|
-
import { r as healthCommand } from "./health-
|
|
34
|
+
import { r as healthCommand } from "./health-cVvZdeDu.js";
|
|
35
35
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BseSWee1.js";
|
|
36
36
|
import { t as resolveDmAllowState } from "./dm-policy-shared-DJ-61hCT.js";
|
|
37
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
37
|
+
import { t as runGatewayUpdate } from "./update-runner-DVa6cMqp.js";
|
|
38
38
|
import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
|
|
39
39
|
import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
|
|
40
40
|
import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-DhAYwhNB.js";
|
|
41
41
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-DA_LW52P.js";
|
|
42
42
|
import { t as formatHealthCheckFailure } from "./health-format-CzgUHmmX.js";
|
|
43
|
-
import { n as doctorShellCompletion } from "./doctor-completion-
|
|
43
|
+
import { n as doctorShellCompletion } from "./doctor-completion-DBE1IVKj.js";
|
|
44
44
|
import { execFile } from "node:child_process";
|
|
45
45
|
import os from "node:os";
|
|
46
46
|
import path from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as createSubsystemLogger } from "./entry.js";
|
|
2
2
|
import { L as normalizeProviderId, b as ensureAuthProfileStore, v as upsertAuthProfile } from "./auth-profiles-Q1xTr5SX.js";
|
|
3
|
-
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-
|
|
3
|
+
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DQHg3jUV.js";
|
|
4
4
|
import { n as isWSLEnv } from "./wsl-jdLWdiKy.js";
|
|
5
5
|
import { r as stylePromptTitle } from "./prompt-style-DwCXob2h.js";
|
|
6
6
|
import { f as updateConfig } from "./shared-DdxPzyOH.js";
|
|
@@ -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 { At as ensureAuthProfileStore, Ot as upsertAuthProfile, l as normalizeProviderId } from "./model-selection-CyFvYcRt.js";
|
|
4
4
|
import { n as isWSLEnv } from "./wsl-q8spwrME.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { A as isVerbose } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { Nr as estimateBase64DecodedBytes, ot as sniffMimeFromBase64 } from "./reply-
|
|
3
|
+
import { Nr as estimateBase64DecodedBytes, ot as sniffMimeFromBase64 } from "./reply-DyjXROKp.js";
|
|
4
4
|
import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
|
|
5
5
|
import { s as shouldLogSubsystemToConsole, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
6
6
|
import { n as redactSensitiveText, t as getDefaultRedactPatterns } from "./redact-f-Q-hFt_.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Yt as resolveStateDir, _t as isVerbose, f as shouldLogSubsystemToConsole, o as createSubsystemLogger } from "./entry.js";
|
|
2
2
|
import { S as parseAgentSessionKey } from "./session-key-DjZ7Z1hW.js";
|
|
3
3
|
import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
|
|
4
|
-
import { Fn as estimateBase64DecodedBytes, d as sniffMimeFromBase64 } from "./subagent-registry-
|
|
4
|
+
import { Fn as estimateBase64DecodedBytes, d as sniffMimeFromBase64 } from "./subagent-registry-DQHg3jUV.js";
|
|
5
5
|
import { n as redactSensitiveText, t as getDefaultRedactPatterns } from "./redact-B40lik2B.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import chalk from "chalk";
|
|
@@ -9,7 +9,7 @@ import "./github-copilot-token-cCYzSU9h.js";
|
|
|
9
9
|
import "./boolean-CE7i9tBR.js";
|
|
10
10
|
import "./config-B6OxYMgn.js";
|
|
11
11
|
import "./manifest-registry-yb7sAlu4.js";
|
|
12
|
-
import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-
|
|
12
|
+
import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CbA-qnhp.js";
|
|
13
13
|
import "./redact-BDMXB06K.js";
|
|
14
14
|
import { n as formatErrorMessage } from "./errors-XIsvXeC-.js";
|
|
15
15
|
import "./ssrf-DpUUUgkK.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, P as setVerbose, S as shortenHomePath, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { $t as parseIdentityMarkdown, Dt as resolveSessionKeyForRequest, Et as agentCommand, Lt as createDefaultDeps, Zt as identityHasValues } from "./reply-
|
|
4
|
+
import { $t as parseIdentityMarkdown, Dt as resolveSessionKeyForRequest, Et as agentCommand, Lt as createDefaultDeps, Zt as identityHasValues } from "./reply-DyjXROKp.js";
|
|
5
5
|
import { m as DEFAULT_ACCOUNT_ID, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import { r as DEFAULT_CHAT_CHANNEL } from "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -116,15 +116,15 @@ import "./install-safe-path-D3Uz77u7.js";
|
|
|
116
116
|
import "./npm-registry-spec-C0CPT3vr.js";
|
|
117
117
|
import "./skill-scanner-hMtQbWPV.js";
|
|
118
118
|
import "./installs-DQcRVF1U.js";
|
|
119
|
-
import { r as setupChannels } from "./onboard-channels-
|
|
119
|
+
import { r as setupChannels } from "./onboard-channels-CiOun4k1.js";
|
|
120
120
|
import { t as requireValidConfigSnapshot } from "./config-validation-HDVDlMSV.js";
|
|
121
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
121
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BEVb1Pyx.js";
|
|
122
122
|
import "./shared-73T9fyuK.js";
|
|
123
123
|
import "./auth-token-Cay2jwzn.js";
|
|
124
124
|
import { n as logConfigUpdated } from "./logging-KpicI3yD.js";
|
|
125
|
-
import "./provider-auth-helpers-
|
|
125
|
+
import "./provider-auth-helpers-BREVjR7R.js";
|
|
126
126
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-Cn6U3t8O.js";
|
|
127
|
-
import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-
|
|
127
|
+
import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-D2xXwBeN.js";
|
|
128
128
|
import "./openai-model-default-WqcGxyFM.js";
|
|
129
129
|
import "./model-picker-CAm2Bftd.js";
|
|
130
130
|
import path from "node:path";
|