@symerian/symi 2.6.14 → 2.6.15
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-CrSpoNsS.js → agents-DbDrceM_.js} +4 -4
- package/dist/{agents.config-B3GILTs5.js → agents.config-AMrJVinF.js} +1 -1
- package/dist/{agents.config-Co1CO8fA.js → agents.config-phBy3nbc.js} +1 -1
- package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
- package/dist/{auth-choice-BHWxDJh7.js → auth-choice-CmbfbR4q.js} +1 -1
- package/dist/{auth-choice-BBmXnDnK.js → auth-choice-DsGuT4Dk.js} +1 -1
- package/dist/{banner-RLiOIu-3.js → banner-Ds_jDSsM.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-BCK41AON.js → channel-options-BV6WyWWq.js} +1 -1
- package/dist/{channel-options-PDf46S-K.js → channel-options-Del6IGRs.js} +1 -1
- package/dist/{channel-web-C3XZ7c2q.js → channel-web-Cuukem2c.js} +1 -1
- package/dist/{channels-cli-723vy6L6.js → channels-cli-C3LiJhRT.js} +4 -4
- package/dist/{channels-cli-CUWuD7qf.js → channels-cli-D-E-oHnC.js} +4 -4
- package/dist/{chrome-DYZwl5Gv.js → chrome-DkaXoP36.js} +7 -7
- package/dist/{cli-CAzmrOs0.js → cli-BavIfExj.js} +1 -1
- package/dist/{cli-DYdRSi_j.js → cli-C53UJpN3.js} +1 -1
- package/dist/{command-registry-B2aO0Q7_.js → command-registry-Dtn5iLgE.js} +9 -9
- package/dist/{completion-cli-BsKD_vBb.js → completion-cli-DEFzGiNX.js} +2 -2
- package/dist/{completion-cli-BKm12loU.js → completion-cli-DhhIPri-.js} +1 -1
- package/dist/{config-cli-D47lU7kU.js → config-cli-CIhqgzOH.js} +1 -1
- package/dist/{config-cli-Bynmd81Q.js → config-cli-DW40utS2.js} +1 -1
- package/dist/{configure-Df6GmKAR.js → configure-CkSODPmX.js} +3 -3
- package/dist/{configure-B3vS2Iz5.js → configure-SVzErXwX.js} +3 -3
- package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
- package/dist/{doctor-completion-DyiRkYT4.js → doctor-completion-B-w1_lQk.js} +1 -1
- package/dist/{doctor-completion-SEerte2S.js → doctor-completion-BBki2Ufk.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-k19iT2vJ.js → gateway-cli-BNYHujRR.js} +9 -9
- package/dist/{gateway-cli-PjmG0pFo.js → gateway-cli-BVbhSSqh.js} +9 -9
- package/dist/{glass-ui-ws-iCEtluQU.js → glass-ui-ws-B-MkTkAC.js} +7 -7
- package/dist/{glass-ui-ws-D0Yv090T.js → glass-ui-ws-DfJEU59m.js} +7 -7
- package/dist/{health-CXjAtn1-.js → health-BU6f7W6a.js} +1 -1
- package/dist/{health-B32Q-KYM.js → health-wZyomt2k.js} +1 -1
- package/dist/{hooks-cli-DA6zOGNz.js → hooks-cli-CdoOvoX9.js} +2 -2
- package/dist/{hooks-cli-DfRmFenH.js → hooks-cli-DX4nLKqn.js} +2 -2
- package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-cli-CbJUD_L1.js → models-cli-Bc2k_maK.js} +3 -3
- package/dist/{models-cli-BgCUViRO.js → models-cli-BeOo0gLs.js} +2 -2
- package/dist/{models-zowe4LXa.js → models-mS0NbL8c.js} +2 -2
- package/dist/{onboard-CYvIpUXQ.js → onboard-B6VpNEvT.js} +2 -2
- package/dist/{onboard-DsKgcThj.js → onboard-Cl0aQccB.js} +2 -2
- package/dist/{onboard-channels-DxCGWgB0.js → onboard-channels-BlmSvsPS.js} +1 -1
- package/dist/{onboard-channels-DLiV4Y0t.js → onboard-channels-BnvM0w8_.js} +1 -1
- package/dist/{onboarding-DioGtMFo.js → onboarding-BxBRG2z_.js} +3 -3
- package/dist/{onboarding-BA5v1JEG.js → onboarding-DwHp3u6V.js} +3 -3
- package/dist/{onboarding.finalize-DMXCA49f.js → onboarding.finalize-BrbMUUi5.js} +6 -6
- package/dist/{onboarding.finalize-CAbRXb0h.js → onboarding.finalize-J7oUfYcz.js} +5 -5
- package/dist/{pi-embedded-CFFnZEcA.js → pi-embedded-FraxHehk.js} +172 -2
- package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
- package/dist/{plugin-registry-HFOrv3KN.js → plugin-registry-CMCHyYWB.js} +1 -1
- package/dist/{plugin-registry-Bt5YCgFq.js → plugin-registry-thPK5K1z.js} +1 -1
- package/dist/plugin-sdk/{channel-web-E56yV1OA.js → channel-web-Cz5hAZTe.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-pPqvSkWb.js → reply-DM8-P0Qq.js} +172 -2
- package/dist/plugin-sdk/{web-Msnzya6B.js → web-BQYWq6xE.js} +2 -2
- package/dist/{plugins-cli-C7xTf9NV.js → plugins-cli-B87kp0ad.js} +2 -2
- package/dist/{plugins-cli-CXz_UApK.js → plugins-cli-DamE7XjD.js} +2 -2
- package/dist/{program-context-BBtSJunF.js → program-context-DFKRAsbt.js} +17 -17
- package/dist/{program-8hWr4qGZ.js → program-gbhreuEV.js} +7 -7
- package/dist/{prompt-select-styled-DUXeA9Zp.js → prompt-select-styled-B5bx2NEB.js} +4 -4
- package/dist/{prompt-select-styled-CwfroEHp.js → prompt-select-styled-BICt4IW2.js} +4 -4
- package/dist/{provider-auth-helpers-Dc7jBEOA.js → provider-auth-helpers-BEu0e6yr.js} +1 -1
- package/dist/{provider-auth-helpers-DhLHWjNU.js → provider-auth-helpers-DmEnyFX5.js} +1 -1
- package/dist/{push-apns-CflJh75N.js → push-apns-DVz2SkR5.js} +1 -1
- package/dist/{push-apns-CVZe5WVN.js → push-apns-tMnMeZX7.js} +1 -1
- package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
- package/dist/{register.agent-BnuJQ5lg.js → register.agent-BOvqehoy.js} +6 -6
- package/dist/{register.agent-DV7IR1rI.js → register.agent-KI2e7rY8.js} +5 -5
- package/dist/{register.configure-DaIrJXWo.js → register.configure-BpxsezsB.js} +6 -6
- package/dist/{register.configure-BhncI0ij.js → register.configure-D8DGPMv0.js} +6 -6
- package/dist/{register.maintenance-BO1XWhVb.js → register.maintenance-BcIwMibz.js} +7 -7
- package/dist/{register.maintenance-DK_p-7so.js → register.maintenance-WRAU5DSR.js} +8 -8
- package/dist/{register.message-B194ue2R.js → register.message-C0eMmAGL.js} +2 -2
- package/dist/{register.message-B4CGCAn_.js → register.message-CX_Dmuke.js} +2 -2
- package/dist/{register.onboard-DidMCka8.js → register.onboard-BE87LPDH.js} +4 -4
- package/dist/{register.onboard-Dt53qGB5.js → register.onboard-ByB6oGQ-.js} +4 -4
- package/dist/{register.setup-DgUxMRZR.js → register.setup-D8DgDNnC.js} +4 -4
- package/dist/{register.setup-CLV1kk2-.js → register.setup-DSY9eAV8.js} +4 -4
- package/dist/{register.status-health-sessions-TvGuwVoR.js → register.status-health-sessions-CW4DkAa1.js} +3 -3
- package/dist/{register.status-health-sessions-CB10JLY6.js → register.status-health-sessions-TMJPmooX.js} +3 -3
- package/dist/{register.subclis-elNdyQio.js → register.subclis-BS-WgVMV.js} +9 -9
- package/dist/{reply-DUZvOCsG.js → reply-B2Xur-75.js} +172 -2
- package/dist/{run-main-gBPGqO8r.js → run-main-jFBqLwBJ.js} +14 -14
- package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
- package/dist/{server-methods-dgW-8gC7.js → server-methods-BqQeaixw.js} +7 -7
- package/dist/{server-methods-BG0N79yY.js → server-methods-zgqyrRAq.js} +7 -7
- package/dist/{server-node-events-B_hsQw_N.js → server-node-events-8pINzbzg.js} +2 -2
- package/dist/{server-node-events-ZtQKBPo3.js → server-node-events-Doln-zR2.js} +2 -2
- package/dist/{status-D4Lr90yH.js → status-BDABGQ7Y.js} +1 -1
- package/dist/{status-Cd9-xWsZ.js → status-Bdqk3JgK.js} +2 -2
- package/dist/{status-BqhJ-HsW.js → status-Bwvq4SPL.js} +1 -1
- package/dist/{status-D-IvYfjk.js → status-DFml_pIs.js} +2 -2
- package/dist/{subagent-registry-J2pIBQF7.js → subagent-registry-CUXuFP-8.js} +172 -2
- package/dist/{unified-runner-C8c7J6BS.js → unified-runner-Bojz2_xD.js} +186 -16
- package/dist/{update-cli-D8nA6U7C.js → update-cli-C6thJhZU.js} +7 -7
- package/dist/{update-cli-B7TLu25J.js → update-cli-Pwrk83u-.js} +8 -8
- package/dist/{update-runner-DvZOsoQs.js → update-runner-Bssy0nSl.js} +1 -1
- package/dist/{update-runner-D8AFB8Oi.js → update-runner-DgqFpUFr.js} +1 -1
- package/dist/{web-DDiOPIdv.js → web-BFY2FcFr.js} +2 -2
- package/dist/{web-CAy-xQv2.js → web-BiK5cfMV.js} +1 -1
- package/dist/{web-mQInjWbW.js → web-DJgELzDq.js} +1 -1
- package/dist/{web--erunODY.js → web-DLkEjSYp.js} +6 -6
- package/package.json +1 -1
|
@@ -42309,6 +42309,175 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
|
|
|
42309
42309
|
* @module
|
|
42310
42310
|
*/
|
|
42311
42311
|
/**
|
|
42312
|
+
* Known shell commands for prefix deduplication.
|
|
42313
|
+
* When token boundary corruption doubles a command prefix (grep → grgrep,
|
|
42314
|
+
* ls → lsls), we check the first token against this set. If stripping
|
|
42315
|
+
* the repeated prefix yields a known command, use it.
|
|
42316
|
+
*
|
|
42317
|
+
* O(1) lookup. Zero false positives — no valid command is its own prefix doubled.
|
|
42318
|
+
*/
|
|
42319
|
+
const KNOWN_COMMANDS = new Set([
|
|
42320
|
+
"ls",
|
|
42321
|
+
"cat",
|
|
42322
|
+
"cp",
|
|
42323
|
+
"mv",
|
|
42324
|
+
"rm",
|
|
42325
|
+
"mkdir",
|
|
42326
|
+
"rmdir",
|
|
42327
|
+
"touch",
|
|
42328
|
+
"chmod",
|
|
42329
|
+
"chown",
|
|
42330
|
+
"chgrp",
|
|
42331
|
+
"ln",
|
|
42332
|
+
"pwd",
|
|
42333
|
+
"echo",
|
|
42334
|
+
"printf",
|
|
42335
|
+
"head",
|
|
42336
|
+
"tail",
|
|
42337
|
+
"wc",
|
|
42338
|
+
"sort",
|
|
42339
|
+
"uniq",
|
|
42340
|
+
"cut",
|
|
42341
|
+
"tr",
|
|
42342
|
+
"tee",
|
|
42343
|
+
"xargs",
|
|
42344
|
+
"env",
|
|
42345
|
+
"date",
|
|
42346
|
+
"sleep",
|
|
42347
|
+
"true",
|
|
42348
|
+
"false",
|
|
42349
|
+
"yes",
|
|
42350
|
+
"test",
|
|
42351
|
+
"expr",
|
|
42352
|
+
"basename",
|
|
42353
|
+
"dirname",
|
|
42354
|
+
"readlink",
|
|
42355
|
+
"realpath",
|
|
42356
|
+
"mktemp",
|
|
42357
|
+
"stat",
|
|
42358
|
+
"file",
|
|
42359
|
+
"dd",
|
|
42360
|
+
"df",
|
|
42361
|
+
"du",
|
|
42362
|
+
"id",
|
|
42363
|
+
"whoami",
|
|
42364
|
+
"hostname",
|
|
42365
|
+
"uname",
|
|
42366
|
+
"grep",
|
|
42367
|
+
"egrep",
|
|
42368
|
+
"fgrep",
|
|
42369
|
+
"find",
|
|
42370
|
+
"locate",
|
|
42371
|
+
"sed",
|
|
42372
|
+
"awk",
|
|
42373
|
+
"diff",
|
|
42374
|
+
"patch",
|
|
42375
|
+
"strings",
|
|
42376
|
+
"less",
|
|
42377
|
+
"more",
|
|
42378
|
+
"tar",
|
|
42379
|
+
"gzip",
|
|
42380
|
+
"gunzip",
|
|
42381
|
+
"zip",
|
|
42382
|
+
"unzip",
|
|
42383
|
+
"bzip2",
|
|
42384
|
+
"xz",
|
|
42385
|
+
"curl",
|
|
42386
|
+
"wget",
|
|
42387
|
+
"ssh",
|
|
42388
|
+
"scp",
|
|
42389
|
+
"rsync",
|
|
42390
|
+
"ping",
|
|
42391
|
+
"dig",
|
|
42392
|
+
"nslookup",
|
|
42393
|
+
"netstat",
|
|
42394
|
+
"lsof",
|
|
42395
|
+
"nc",
|
|
42396
|
+
"ifconfig",
|
|
42397
|
+
"ip",
|
|
42398
|
+
"ps",
|
|
42399
|
+
"top",
|
|
42400
|
+
"kill",
|
|
42401
|
+
"killall",
|
|
42402
|
+
"nohup",
|
|
42403
|
+
"nice",
|
|
42404
|
+
"which",
|
|
42405
|
+
"type",
|
|
42406
|
+
"where",
|
|
42407
|
+
"man",
|
|
42408
|
+
"sudo",
|
|
42409
|
+
"su",
|
|
42410
|
+
"mount",
|
|
42411
|
+
"umount",
|
|
42412
|
+
"systemctl",
|
|
42413
|
+
"journalctl",
|
|
42414
|
+
"launchctl",
|
|
42415
|
+
"dmesg",
|
|
42416
|
+
"sysctl",
|
|
42417
|
+
"git",
|
|
42418
|
+
"make",
|
|
42419
|
+
"gcc",
|
|
42420
|
+
"python",
|
|
42421
|
+
"python3",
|
|
42422
|
+
"pip",
|
|
42423
|
+
"pip3",
|
|
42424
|
+
"node",
|
|
42425
|
+
"npm",
|
|
42426
|
+
"npx",
|
|
42427
|
+
"pnpm",
|
|
42428
|
+
"yarn",
|
|
42429
|
+
"cargo",
|
|
42430
|
+
"go",
|
|
42431
|
+
"ruby",
|
|
42432
|
+
"gem",
|
|
42433
|
+
"java",
|
|
42434
|
+
"javac",
|
|
42435
|
+
"docker",
|
|
42436
|
+
"brew",
|
|
42437
|
+
"open",
|
|
42438
|
+
"pbcopy",
|
|
42439
|
+
"pbpaste",
|
|
42440
|
+
"defaults",
|
|
42441
|
+
"diskutil",
|
|
42442
|
+
"sw_vers",
|
|
42443
|
+
"system_profiler",
|
|
42444
|
+
"plutil",
|
|
42445
|
+
"mdfind",
|
|
42446
|
+
"mdls",
|
|
42447
|
+
"softwareupdate",
|
|
42448
|
+
"caffeinate",
|
|
42449
|
+
"say",
|
|
42450
|
+
"osascript",
|
|
42451
|
+
"security",
|
|
42452
|
+
"codesign",
|
|
42453
|
+
"hdiutil",
|
|
42454
|
+
"installer",
|
|
42455
|
+
"lipo",
|
|
42456
|
+
"otool",
|
|
42457
|
+
"dscl",
|
|
42458
|
+
"scutil"
|
|
42459
|
+
]);
|
|
42460
|
+
/**
|
|
42461
|
+
* Fix command prefix duplication from token boundary splits.
|
|
42462
|
+
* Token corruption can double a multi-char prefix: grep → grgrep, ls → lsls.
|
|
42463
|
+
* Check if the first token starts with a repeated prefix that, when removed,
|
|
42464
|
+
* yields a known command.
|
|
42465
|
+
*
|
|
42466
|
+
* Examples: grgrep → grep, lsls → ls, catcat → cat, curlcurl → curl
|
|
42467
|
+
*/
|
|
42468
|
+
function dedupCommandPrefix(command) {
|
|
42469
|
+
const match = command.match(/^([a-zA-Z0-9_-]+)/);
|
|
42470
|
+
if (!match) return command;
|
|
42471
|
+
const firstToken = match[1];
|
|
42472
|
+
if (KNOWN_COMMANDS.has(firstToken)) return command;
|
|
42473
|
+
for (let prefixLen = 2; prefixLen <= Math.min(10, Math.floor(firstToken.length / 2)); prefixLen++) {
|
|
42474
|
+
const prefix = firstToken.slice(0, prefixLen);
|
|
42475
|
+
const candidate = firstToken.slice(prefixLen);
|
|
42476
|
+
if (candidate.startsWith(prefix.slice(0, Math.min(prefix.length, candidate.length))) && KNOWN_COMMANDS.has(candidate)) return candidate + command.slice(firstToken.length);
|
|
42477
|
+
}
|
|
42478
|
+
return command;
|
|
42479
|
+
}
|
|
42480
|
+
/**
|
|
42312
42481
|
* Validate that a command string contains extractable valid shell syntax.
|
|
42313
42482
|
* Returns the cleaned command if valid, or an error reason if not.
|
|
42314
42483
|
*
|
|
@@ -42327,6 +42496,7 @@ function validateShellCommand(command) {
|
|
|
42327
42496
|
cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
|
|
42328
42497
|
cleaned = cleanResidualTokenFragments(cleaned);
|
|
42329
42498
|
}
|
|
42499
|
+
cleaned = dedupCommandPrefix(cleaned);
|
|
42330
42500
|
if (!cleaned || !cleaned.trim()) return {
|
|
42331
42501
|
valid: false,
|
|
42332
42502
|
cleaned: "",
|
|
@@ -60655,7 +60825,7 @@ function isVoiceChannelType(type) {
|
|
|
60655
60825
|
function createDefaultDeps() {
|
|
60656
60826
|
return {
|
|
60657
60827
|
sendMessageWhatsApp: async (...args) => {
|
|
60658
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
60828
|
+
const { sendMessageWhatsApp } = await import("./web-DJgELzDq.js");
|
|
60659
60829
|
return await sendMessageWhatsApp(...args);
|
|
60660
60830
|
},
|
|
60661
60831
|
sendMessageTelegram: async (...args) => {
|
|
@@ -75935,7 +76105,7 @@ function loadWebLoginQr() {
|
|
|
75935
76105
|
return webLoginQrPromise;
|
|
75936
76106
|
}
|
|
75937
76107
|
function loadWebChannel() {
|
|
75938
|
-
webChannelPromise ??= import("./web-
|
|
76108
|
+
webChannelPromise ??= import("./web-DJgELzDq.js");
|
|
75939
76109
|
return webChannelPromise;
|
|
75940
76110
|
}
|
|
75941
76111
|
function loadWhatsAppActions() {
|
|
@@ -9,7 +9,7 @@ import { h as isPidAlive, m as resolveProcessScopedMap } from "./auth-profiles-D
|
|
|
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-5SdHIcHU.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-DkaXoP36.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-m0mj2KWK.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-m0mj2KWK.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-m0mj2KWK.js")).closePlaywrightBrowserConnection();
|
|
3481
3481
|
} catch {}
|
|
3482
3482
|
if (!fs.existsSync(userDataDir)) return {
|
|
3483
3483
|
moved: false,
|
|
@@ -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-B2Xur-75.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";
|
|
@@ -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-DHBLS1Hl.js";
|
|
5
|
-
import { m as loadSymiPlugins } from "./subagent-registry-
|
|
5
|
+
import { m as loadSymiPlugins } from "./subagent-registry-CUXuFP-8.js";
|
|
6
6
|
|
|
7
7
|
//#region src/cli/plugin-registry.ts
|
|
8
8
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -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-Ddm33hQm.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-DM8-P0Qq.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-D0xTnUWt.js";
|
|
5
5
|
import { n as loadConfig } from "./config-KlTNfkFF.js";
|
|
6
6
|
import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-B2uDN3TV.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-Ddm33hQm.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-DM8-P0Qq.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-BNByVCIH.js";
|
|
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
|
|
|
47
47
|
import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-05pm5Rxi.js";
|
|
48
48
|
import { n as extractOriginalFilename } from "./store-BdrNabcU.js";
|
|
49
49
|
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BiyAyTWz.js";
|
|
50
|
-
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-
|
|
50
|
+
import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-Cz5hAZTe.js";
|
|
51
51
|
import "./image-CLOPx7yW.js";
|
|
52
52
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
53
53
|
import "./api-key-rotation-D_sMvI5W.js";
|
|
@@ -30245,6 +30245,175 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
|
|
|
30245
30245
|
* @module
|
|
30246
30246
|
*/
|
|
30247
30247
|
/**
|
|
30248
|
+
* Known shell commands for prefix deduplication.
|
|
30249
|
+
* When token boundary corruption doubles a command prefix (grep → grgrep,
|
|
30250
|
+
* ls → lsls), we check the first token against this set. If stripping
|
|
30251
|
+
* the repeated prefix yields a known command, use it.
|
|
30252
|
+
*
|
|
30253
|
+
* O(1) lookup. Zero false positives — no valid command is its own prefix doubled.
|
|
30254
|
+
*/
|
|
30255
|
+
const KNOWN_COMMANDS = new Set([
|
|
30256
|
+
"ls",
|
|
30257
|
+
"cat",
|
|
30258
|
+
"cp",
|
|
30259
|
+
"mv",
|
|
30260
|
+
"rm",
|
|
30261
|
+
"mkdir",
|
|
30262
|
+
"rmdir",
|
|
30263
|
+
"touch",
|
|
30264
|
+
"chmod",
|
|
30265
|
+
"chown",
|
|
30266
|
+
"chgrp",
|
|
30267
|
+
"ln",
|
|
30268
|
+
"pwd",
|
|
30269
|
+
"echo",
|
|
30270
|
+
"printf",
|
|
30271
|
+
"head",
|
|
30272
|
+
"tail",
|
|
30273
|
+
"wc",
|
|
30274
|
+
"sort",
|
|
30275
|
+
"uniq",
|
|
30276
|
+
"cut",
|
|
30277
|
+
"tr",
|
|
30278
|
+
"tee",
|
|
30279
|
+
"xargs",
|
|
30280
|
+
"env",
|
|
30281
|
+
"date",
|
|
30282
|
+
"sleep",
|
|
30283
|
+
"true",
|
|
30284
|
+
"false",
|
|
30285
|
+
"yes",
|
|
30286
|
+
"test",
|
|
30287
|
+
"expr",
|
|
30288
|
+
"basename",
|
|
30289
|
+
"dirname",
|
|
30290
|
+
"readlink",
|
|
30291
|
+
"realpath",
|
|
30292
|
+
"mktemp",
|
|
30293
|
+
"stat",
|
|
30294
|
+
"file",
|
|
30295
|
+
"dd",
|
|
30296
|
+
"df",
|
|
30297
|
+
"du",
|
|
30298
|
+
"id",
|
|
30299
|
+
"whoami",
|
|
30300
|
+
"hostname",
|
|
30301
|
+
"uname",
|
|
30302
|
+
"grep",
|
|
30303
|
+
"egrep",
|
|
30304
|
+
"fgrep",
|
|
30305
|
+
"find",
|
|
30306
|
+
"locate",
|
|
30307
|
+
"sed",
|
|
30308
|
+
"awk",
|
|
30309
|
+
"diff",
|
|
30310
|
+
"patch",
|
|
30311
|
+
"strings",
|
|
30312
|
+
"less",
|
|
30313
|
+
"more",
|
|
30314
|
+
"tar",
|
|
30315
|
+
"gzip",
|
|
30316
|
+
"gunzip",
|
|
30317
|
+
"zip",
|
|
30318
|
+
"unzip",
|
|
30319
|
+
"bzip2",
|
|
30320
|
+
"xz",
|
|
30321
|
+
"curl",
|
|
30322
|
+
"wget",
|
|
30323
|
+
"ssh",
|
|
30324
|
+
"scp",
|
|
30325
|
+
"rsync",
|
|
30326
|
+
"ping",
|
|
30327
|
+
"dig",
|
|
30328
|
+
"nslookup",
|
|
30329
|
+
"netstat",
|
|
30330
|
+
"lsof",
|
|
30331
|
+
"nc",
|
|
30332
|
+
"ifconfig",
|
|
30333
|
+
"ip",
|
|
30334
|
+
"ps",
|
|
30335
|
+
"top",
|
|
30336
|
+
"kill",
|
|
30337
|
+
"killall",
|
|
30338
|
+
"nohup",
|
|
30339
|
+
"nice",
|
|
30340
|
+
"which",
|
|
30341
|
+
"type",
|
|
30342
|
+
"where",
|
|
30343
|
+
"man",
|
|
30344
|
+
"sudo",
|
|
30345
|
+
"su",
|
|
30346
|
+
"mount",
|
|
30347
|
+
"umount",
|
|
30348
|
+
"systemctl",
|
|
30349
|
+
"journalctl",
|
|
30350
|
+
"launchctl",
|
|
30351
|
+
"dmesg",
|
|
30352
|
+
"sysctl",
|
|
30353
|
+
"git",
|
|
30354
|
+
"make",
|
|
30355
|
+
"gcc",
|
|
30356
|
+
"python",
|
|
30357
|
+
"python3",
|
|
30358
|
+
"pip",
|
|
30359
|
+
"pip3",
|
|
30360
|
+
"node",
|
|
30361
|
+
"npm",
|
|
30362
|
+
"npx",
|
|
30363
|
+
"pnpm",
|
|
30364
|
+
"yarn",
|
|
30365
|
+
"cargo",
|
|
30366
|
+
"go",
|
|
30367
|
+
"ruby",
|
|
30368
|
+
"gem",
|
|
30369
|
+
"java",
|
|
30370
|
+
"javac",
|
|
30371
|
+
"docker",
|
|
30372
|
+
"brew",
|
|
30373
|
+
"open",
|
|
30374
|
+
"pbcopy",
|
|
30375
|
+
"pbpaste",
|
|
30376
|
+
"defaults",
|
|
30377
|
+
"diskutil",
|
|
30378
|
+
"sw_vers",
|
|
30379
|
+
"system_profiler",
|
|
30380
|
+
"plutil",
|
|
30381
|
+
"mdfind",
|
|
30382
|
+
"mdls",
|
|
30383
|
+
"softwareupdate",
|
|
30384
|
+
"caffeinate",
|
|
30385
|
+
"say",
|
|
30386
|
+
"osascript",
|
|
30387
|
+
"security",
|
|
30388
|
+
"codesign",
|
|
30389
|
+
"hdiutil",
|
|
30390
|
+
"installer",
|
|
30391
|
+
"lipo",
|
|
30392
|
+
"otool",
|
|
30393
|
+
"dscl",
|
|
30394
|
+
"scutil"
|
|
30395
|
+
]);
|
|
30396
|
+
/**
|
|
30397
|
+
* Fix command prefix duplication from token boundary splits.
|
|
30398
|
+
* Token corruption can double a multi-char prefix: grep → grgrep, ls → lsls.
|
|
30399
|
+
* Check if the first token starts with a repeated prefix that, when removed,
|
|
30400
|
+
* yields a known command.
|
|
30401
|
+
*
|
|
30402
|
+
* Examples: grgrep → grep, lsls → ls, catcat → cat, curlcurl → curl
|
|
30403
|
+
*/
|
|
30404
|
+
function dedupCommandPrefix(command) {
|
|
30405
|
+
const match = command.match(/^([a-zA-Z0-9_-]+)/);
|
|
30406
|
+
if (!match) return command;
|
|
30407
|
+
const firstToken = match[1];
|
|
30408
|
+
if (KNOWN_COMMANDS.has(firstToken)) return command;
|
|
30409
|
+
for (let prefixLen = 2; prefixLen <= Math.min(10, Math.floor(firstToken.length / 2)); prefixLen++) {
|
|
30410
|
+
const prefix = firstToken.slice(0, prefixLen);
|
|
30411
|
+
const candidate = firstToken.slice(prefixLen);
|
|
30412
|
+
if (candidate.startsWith(prefix.slice(0, Math.min(prefix.length, candidate.length))) && KNOWN_COMMANDS.has(candidate)) return candidate + command.slice(firstToken.length);
|
|
30413
|
+
}
|
|
30414
|
+
return command;
|
|
30415
|
+
}
|
|
30416
|
+
/**
|
|
30248
30417
|
* Validate that a command string contains extractable valid shell syntax.
|
|
30249
30418
|
* Returns the cleaned command if valid, or an error reason if not.
|
|
30250
30419
|
*
|
|
@@ -30263,6 +30432,7 @@ function validateShellCommand(command) {
|
|
|
30263
30432
|
cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
|
|
30264
30433
|
cleaned = cleanResidualTokenFragments(cleaned);
|
|
30265
30434
|
}
|
|
30435
|
+
cleaned = dedupCommandPrefix(cleaned);
|
|
30266
30436
|
if (!cleaned || !cleaned.trim()) return {
|
|
30267
30437
|
valid: false,
|
|
30268
30438
|
cleaned: "",
|
|
@@ -36252,7 +36422,7 @@ async function runAgentTurn(params) {
|
|
|
36252
36422
|
function createDefaultDeps() {
|
|
36253
36423
|
return {
|
|
36254
36424
|
sendMessageWhatsApp: async (...args) => {
|
|
36255
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
36425
|
+
const { sendMessageWhatsApp } = await import("./web-BQYWq6xE.js");
|
|
36256
36426
|
return await sendMessageWhatsApp(...args);
|
|
36257
36427
|
},
|
|
36258
36428
|
sendMessageTelegram: async (...args) => {
|
|
@@ -53690,7 +53860,7 @@ function loadWebLoginQr() {
|
|
|
53690
53860
|
return webLoginQrPromise;
|
|
53691
53861
|
}
|
|
53692
53862
|
function loadWebChannel() {
|
|
53693
|
-
webChannelPromise ??= import("./web-
|
|
53863
|
+
webChannelPromise ??= import("./web-BQYWq6xE.js");
|
|
53694
53864
|
return webChannelPromise;
|
|
53695
53865
|
}
|
|
53696
53866
|
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-Ddm33hQm.js";
|
|
2
|
-
import "./reply-
|
|
2
|
+
import "./reply-DM8-P0Qq.js";
|
|
3
3
|
import "./paths-DR2yt_mP.js";
|
|
4
4
|
import "./github-copilot-token-D9X2phUj.js";
|
|
5
5
|
import "./plugins-BNByVCIH.js";
|
|
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-CW630epe.js";
|
|
|
45
45
|
import "./paths-A0xdf3yk.js";
|
|
46
46
|
import "./diagnostic-05pm5Rxi.js";
|
|
47
47
|
import "./store-BdrNabcU.js";
|
|
48
|
-
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-
|
|
48
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-Cz5hAZTe.js";
|
|
49
49
|
import "./image-CLOPx7yW.js";
|
|
50
50
|
import "./pi-model-discovery-LbcEa65a.js";
|
|
51
51
|
import "./api-key-rotation-D_sMvI5W.js";
|
|
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
|
|
|
13
13
|
import "./call-BcE47FtD.js";
|
|
14
14
|
import "./message-channel-C9dERklz.js";
|
|
15
15
|
import "./pairing-token-Byh6drgn.js";
|
|
16
|
-
import "./subagent-registry-
|
|
16
|
+
import "./subagent-registry-CUXuFP-8.js";
|
|
17
17
|
import "./sessions-CJXnZVjR.js";
|
|
18
18
|
import "./tokens-Csntmwwn.js";
|
|
19
19
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -102,7 +102,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
|
|
|
102
102
|
import "./skill-scanner-BGWOBqLY.js";
|
|
103
103
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgQpVncj.js";
|
|
104
104
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
105
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
105
|
+
import { t as buildPluginStatusReport } from "./status-BDABGQ7Y.js";
|
|
106
106
|
import { n as updateNpmInstalledPlugins } from "./update-DEMKx4eC.js";
|
|
107
107
|
import os from "node:os";
|
|
108
108
|
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-B2Xur-75.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -106,7 +106,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
|
|
|
106
106
|
import "./skill-scanner-CLs8u6vQ.js";
|
|
107
107
|
import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-C1Cebk97.js";
|
|
108
108
|
import { t as renderTable } from "./table-BTgkRafz.js";
|
|
109
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
109
|
+
import { t as buildPluginStatusReport } from "./status-Bwvq4SPL.js";
|
|
110
110
|
import { n as updateNpmInstalledPlugins } from "./update-rw7wJwHd.js";
|
|
111
111
|
import fs from "node:fs";
|
|
112
112
|
import os from "node:os";
|