@symerian/symi 2.0.25 → 2.1.1
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-2Slv_WIp.js → agents-BNF3OUDd.js} +4 -4
- package/dist/{agents.config-aKHTUjVK.js → agents.config-B_qhQi0f.js} +1 -1
- package/dist/{agents.config-3GYBGFRy.js → agents.config-t7FdJujr.js} +1 -1
- package/dist/{auth-choice-CkEtpUvW.js → auth-choice-DZTkXFl-.js} +1 -1
- package/dist/{auth-choice-BzuGX2ET.js → auth-choice-iZB4sGvl.js} +1 -1
- package/dist/{banner-Cetc-uA0.js → banner-BsCs2JGc.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-ayY8htYG.js → channel-options-BYCPesaD.js} +1 -1
- package/dist/{channel-options-BvRRt5lE.js → channel-options-CHF9c6FY.js} +1 -1
- package/dist/{channel-web-CA7NCnAU.js → channel-web-Kt_j1QOj.js} +1 -1
- package/dist/{channels-cli-B8_Hn_JG.js → channels-cli-ClwM5weH.js} +6 -6
- package/dist/{channels-cli-Cr2ND5Ck.js → channels-cli-DT1qfmcb.js} +6 -6
- package/dist/{cli-C9H2cgZa.js → cli-CUPKVz7g.js} +3 -3
- package/dist/{cli-BONgNtI6.js → cli-D_td9hk-.js} +3 -3
- package/dist/{command-registry-CYkmIRSj.js → command-registry-S9Fhf4c1.js} +10 -10
- package/dist/{completion-cli-Bqdcg5hp.js → completion-cli-CDN_tdvo.js} +1 -1
- package/dist/{completion-cli-Qv8_Vnw3.js → completion-cli-CnLexFdC.js} +2 -2
- package/dist/{config-cli-dO3O4PE6.js → config-cli-B9MuT7ra.js} +1 -1
- package/dist/{config-cli--iVUJOKB.js → config-cli-C-Hf7pJY.js} +1 -1
- package/dist/{configure-CJXXqp0t.js → configure-BVJX5jHt.js} +3 -3
- package/dist/{configure-7GGtnxAx.js → configure-mQsIxCGj.js} +3 -3
- package/dist/control-ui/js/app.js +2 -2
- package/dist/control-ui/js/render.js +1 -1
- package/dist/{doctor-completion-2pOgfi5X.js → doctor-completion-AOqgLS4U.js} +1 -1
- package/dist/{doctor-completion-BXZ8aBWN.js → doctor-completion-BG8Cg9mp.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-DdfE-Qud.js → gateway-cli-3xIbQUvB.js} +11 -11
- package/dist/{gateway-cli-BzScglLB.js → gateway-cli-Bpze8UCK.js} +11 -11
- package/dist/{glass-ui-ws-CMkw5YM1.js → glass-ui-ws-BlIbIFja.js} +9 -9
- package/dist/{glass-ui-ws-r9Xzs77h.js → glass-ui-ws-kaPdOFQ1.js} +9 -9
- package/dist/{health-DQ3XEpzi.js → health-DBwSpMeO.js} +1 -1
- package/dist/{health-5ZtemgeO.js → health-Dp4Q9nXE.js} +1 -1
- package/dist/{hooks-cli-DZwzWt2B.js → hooks-cli-BaGV9nsK.js} +4 -4
- package/dist/{hooks-cli-D-FNhrKU.js → hooks-cli-CRn_j55j.js} +4 -4
- package/dist/index.js +8 -8
- package/dist/llm-slug-generator.js +2 -2
- package/dist/{manager-DVVFabIj.js → manager-CL7MzOkQ.js} +76 -11
- package/dist/{manager-Dv2cMdMo.js → manager-DrSOlqpk.js} +76 -11
- package/dist/{manager-Ctbgi2K4.js → manager-M83fJMDC.js} +76 -11
- package/dist/{manager-DeLmBZ39.js → manager-RThEiATX.js} +76 -11
- package/dist/{memory-cli-lgXFdWSf.js → memory-cli-Bt9d248V.js} +3 -3
- package/dist/{memory-cli-CskGK36B.js → memory-cli-Cfckrobf.js} +3 -3
- package/dist/{models-Duhwal5Q.js → models-DOEuOTkj.js} +2 -2
- package/dist/{models-cli-DSYSRqhX.js → models-cli-DJzcRyPn.js} +4 -4
- package/dist/{models-cli-Fruesavk.js → models-cli-Da_ycT4E.js} +5 -5
- package/dist/{onboard-Deo_T2AR.js → onboard-Cj-BNQ8q.js} +2 -2
- package/dist/{onboard-kwm7Bshh.js → onboard-D62AfYak.js} +2 -2
- package/dist/{onboard-channels-BbhoZWuh.js → onboard-channels-BJY5FrhC.js} +1 -1
- package/dist/{onboard-channels-CCiFhk1N.js → onboard-channels-DqvkgA44.js} +1 -1
- package/dist/{onboarding-CIEiNfre.js → onboarding-BVBk-a0N.js} +3 -3
- package/dist/{onboarding-_YqH1Wmc.js → onboarding-DZr7frCp.js} +3 -3
- package/dist/{onboarding.finalize-DHa8QCea.js → onboarding.finalize-ClGudWHI.js} +7 -7
- package/dist/{onboarding.finalize-CQ-uVQ6r.js → onboarding.finalize-DjWsLgGj.js} +8 -8
- package/dist/{pi-embedded-DyCO1o5V.js → pi-embedded-6aosCkCE.js} +5 -5
- package/dist/{pi-embedded-BFWNnHTw.js → pi-embedded-CoAgAxKK.js} +5 -5
- package/dist/{plugin-registry-DmxC3a3G.js → plugin-registry-B9o0EnWk.js} +1 -1
- package/dist/{plugin-registry-7OViua2f.js → plugin-registry-DqfOHgSY.js} +1 -1
- package/dist/plugin-sdk/{channel-web-D3JZoBCW.js → channel-web-CN-Fomvm.js} +1 -1
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{manager-Co0ZGhG7.js → manager-PXN_BUWT.js} +76 -11
- package/dist/plugin-sdk/memory/hybrid.d.ts +2 -0
- package/dist/plugin-sdk/memory/manager-embedding-ops.d.ts +1 -0
- package/dist/plugin-sdk/memory/manager-search.d.ts +1 -0
- package/dist/plugin-sdk/memory/manager-sync-ops.d.ts +1 -0
- package/dist/plugin-sdk/memory/manager.d.ts +1 -0
- package/dist/plugin-sdk/memory/types.d.ts +8 -0
- package/dist/plugin-sdk/{reply-BHdxuPym.js → reply-BSUqmOjQ.js} +5 -5
- package/dist/plugin-sdk/{web-DB8ZqlXs.js → web-Bnuebc-N.js} +3 -3
- package/dist/{plugins-cli-CDY9bX9F.js → plugins-cli-B8xVmAuR.js} +4 -4
- package/dist/{plugins-cli-Ca-2s0mB.js → plugins-cli-DREF5Y06.js} +4 -4
- package/dist/{program-context-DkHjT7p8.js → program-context-Qr4P_3lt.js} +18 -18
- package/dist/{program-BnymHVbq.js → program-q-ZGnun7.js} +9 -9
- package/dist/{prompt-select-styled-gd8Q7kTk.js → prompt-select-styled-BGN9e74V.js} +6 -6
- package/dist/{prompt-select-styled-C40kayHq.js → prompt-select-styled-BO2fAMkR.js} +6 -6
- package/dist/{provider-auth-helpers-BQZmtboq.js → provider-auth-helpers-B3J64Jh2.js} +1 -1
- package/dist/{provider-auth-helpers-2ZFybTSC.js → provider-auth-helpers-DsbN2XiG.js} +1 -1
- package/dist/{push-apns-BTOgWzu3.js → push-apns-Ba9C9T6a.js} +1 -1
- package/dist/{push-apns-DcwJLjj4.js → push-apns-CeICANgd.js} +1 -1
- package/dist/{register.agent-DRlHunj4.js → register.agent-BZBDrxwe.js} +8 -8
- package/dist/{register.agent-CUzSAFLR.js → register.agent-DDqJWohA.js} +7 -7
- package/dist/{register.configure-C8AOCj2z.js → register.configure-B27lkird.js} +8 -8
- package/dist/{register.configure-DxmZflTV.js → register.configure-xDJRQslK.js} +8 -8
- package/dist/{register.maintenance-C2yYpGsB.js → register.maintenance-C7KqQS56.js} +10 -10
- package/dist/{register.maintenance-BOHzvNEv.js → register.maintenance-CCo66MmS.js} +9 -9
- package/dist/{register.message-BwHXPTdE.js → register.message-CTb856sp.js} +4 -4
- package/dist/{register.message-BjVTvD18.js → register.message-mqY_8nFj.js} +4 -4
- package/dist/{register.onboard-1J-md52-.js → register.onboard-B_62CoFF.js} +6 -6
- package/dist/{register.onboard-pa2gAtlr.js → register.onboard-DCadPRqN.js} +6 -6
- package/dist/{register.setup-08AvEje_.js → register.setup-CetgUu6b.js} +6 -6
- package/dist/{register.setup-Cw8AS2ct.js → register.setup-D4vceMjW.js} +6 -6
- package/dist/{register.status-health-sessions-D11MHrrN.js → register.status-health-sessions-DFVOAFGc.js} +5 -5
- package/dist/{register.status-health-sessions-Blye9Exm.js → register.status-health-sessions-oREONKrQ.js} +5 -5
- package/dist/{register.subclis-b7zkQpHC.js → register.subclis-Ch7CsZP4.js} +9 -9
- package/dist/{reply-IIs7TFkU.js → reply-BZn2Smlt.js} +4 -4
- package/dist/{run-main-B_IHY4_P.js → run-main-L9-PmGcv.js} +17 -17
- package/dist/{server-methods-ly9rxYy9.js → server-methods-Cr4xi0KV.js} +7 -7
- package/dist/{server-methods-f8mvUGBY.js → server-methods-UzcnQvxB.js} +7 -7
- package/dist/{server-node-events-Dn29YyKb.js → server-node-events-B8gQNWfX.js} +4 -4
- package/dist/{server-node-events-Ci6Vl3GE.js → server-node-events-Cj5CSKH2.js} +4 -4
- package/dist/{status-DAosaOZ9.js → status-3kOYUAe6.js} +3 -3
- package/dist/{status-CL_BV-5C.js → status-Bpz3T9tk.js} +1 -1
- package/dist/{status-DBfu3QLG.js → status-C3zEYCNx.js} +3 -3
- package/dist/{status-DJuKDk_J.js → status-JZ1tEKrI.js} +1 -1
- package/dist/{subagent-registry-C-4sylAS.js → subagent-registry-BmqDNBQA.js} +4 -4
- package/dist/{update-cli-Ds-rcfCm.js → update-cli-CcMqLG-F.js} +10 -10
- package/dist/{update-cli-eFRvF4NY.js → update-cli-YIILU6BZ.js} +9 -9
- package/dist/{update-runner-Z_RJvKCC.js → update-runner-BZ8CU4YI.js} +1 -1
- package/dist/{update-runner-DP-qIkLO.js → update-runner-DeRhiJkE.js} +1 -1
- package/dist/{web-CYKQL396.js → web-B11B-dFh.js} +2 -2
- package/dist/{web-AqZCRhcz.js → web-BD8iPNff.js} +4 -4
- package/dist/{web-Dd-yg3ar.js → web-DbjazvT5.js} +2 -2
- package/dist/{web-DoQWiQnO.js → web-Dx7mFsKF.js} +3 -3
- package/package.json +1 -1
|
@@ -21,7 +21,7 @@ import "./pairing-token-Byh6drgn.js";
|
|
|
21
21
|
import { t as safeEqualSecret } from "./secret-equal-CbntzRkh.js";
|
|
22
22
|
import { a as isValidIPv4, c as resolveClientIp, d as resolveHostName, f as rawDataToString, i as isTrustedProxyAddress, l as resolveGatewayBindHost, n as isLoopbackHost, o as normalizeHostHeader, t as isLoopbackAddress, u as resolveGatewayListenHosts } from "./net-DZ5Ayk-W.js";
|
|
23
23
|
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-Cmumpn76.js";
|
|
24
|
-
import { $ as runCliAgent, An as extractImageContentFromSource, At as normalizePayloadToSystemText, Bt as getHookType, C as sleepWithAbort, Ct as normalizeHttpWebhookUrl, Dn as DEFAULT_INPUT_MAX_REDIRECTS, Dt as normalizeOptionalAgentId, En as DEFAULT_INPUT_IMAGE_MIMES, Et as inferLegacyName, Ft as stripLegacyDeliveryFields, G as getTotalPendingReplies, Gt as deferGatewayRestartUntilIdle, Jt as markGatewaySigusr1RestartHandled, Kt as emitGatewayRestart, Mn as resolveInputFileLimits, Mt as migrateLegacyCronPayload, Nt as buildDeliveryFromLegacyPayload, O as createOutboundSendDeps, On as DEFAULT_INPUT_TIMEOUT_MS, Ot as normalizeOptionalSessionKey, Pn as resolveAgentTimeoutMs, Pt as hasLegacyDeliveryHints, Q as setCliSessionId, R as buildHistoryContextFromEntries, Rt as buildSafeExternalPrompt, S as computeBackoff, Sr as registerAgentRunContext, Tn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Vt as isExternalHookSession, Wt as consumeGatewaySigusr1RestartAuthorization, X as resolveCronStyleNow, Xt as setGatewaySigusr1RestartPolicy, Z as getCliSessionId, Zt as setPreRestartDeferralCheck, _ as loadSymiPlugins, _r as stripHeartbeatToken, b as readJsonBodyWithLimit, br as getAgentRunContext, bt as summarizeRestartSentinel, c as runEmbeddedPiAgent, cr as getTotalQueueSize, dr as waitForActiveTasks, f as applyToolPolicyPipeline, fr as CommandLane, ft as resetDirectoryCache, gt as consumeRestartSentinel, h as getPluginToolMeta, j as resolveAgentAvatar, jn as normalizeMimeList, jt as normalizeRequiredName, k as createDefaultDeps, kn as extractFileContentFromSource, kt as normalizeOptionalText, ln as requestHeartbeatNow, lr as resetAllLanes, lt as resolveOutboundTarget, mt as runWithModelFallback, n as initSubagentRegistry, nt as readLatestAssistantReply, o as runSubagentAnnounceFlow, or as getActiveTaskCount, ot as resolveOutboundSessionRoute, p as buildDefaultToolPolicyPipelineSteps, pr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, qt as isGatewaySigusr1RestartExternallyAllowed, r as listDescendantRunsForRequester, rt as resolveAnnounceTargetFromKey, t as countActiveDescendantRuns, tt as createSymiTools, u as getActiveEmbeddedRunCount, ur as setCommandLaneConcurrency, ut as resolveSessionDeliveryTarget, vr as clearAgentRunContext, vt as formatRestartSentinelMessage, w as agentCommand, x as requestBodyErrorToText, xn as enqueueSystemEvent, xr as onAgentEvent, y as handleSlackHttpRequest, yr as emitAgentEvent, zt as detectSuspiciousPatterns } from "./subagent-registry-
|
|
24
|
+
import { $ as runCliAgent, An as extractImageContentFromSource, At as normalizePayloadToSystemText, Bt as getHookType, C as sleepWithAbort, Ct as normalizeHttpWebhookUrl, Dn as DEFAULT_INPUT_MAX_REDIRECTS, Dt as normalizeOptionalAgentId, En as DEFAULT_INPUT_IMAGE_MIMES, Et as inferLegacyName, Ft as stripLegacyDeliveryFields, G as getTotalPendingReplies, Gt as deferGatewayRestartUntilIdle, Jt as markGatewaySigusr1RestartHandled, Kt as emitGatewayRestart, Mn as resolveInputFileLimits, Mt as migrateLegacyCronPayload, Nt as buildDeliveryFromLegacyPayload, O as createOutboundSendDeps, On as DEFAULT_INPUT_TIMEOUT_MS, Ot as normalizeOptionalSessionKey, Pn as resolveAgentTimeoutMs, Pt as hasLegacyDeliveryHints, Q as setCliSessionId, R as buildHistoryContextFromEntries, Rt as buildSafeExternalPrompt, S as computeBackoff, Sr as registerAgentRunContext, Tn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Vt as isExternalHookSession, Wt as consumeGatewaySigusr1RestartAuthorization, X as resolveCronStyleNow, Xt as setGatewaySigusr1RestartPolicy, Z as getCliSessionId, Zt as setPreRestartDeferralCheck, _ as loadSymiPlugins, _r as stripHeartbeatToken, b as readJsonBodyWithLimit, br as getAgentRunContext, bt as summarizeRestartSentinel, c as runEmbeddedPiAgent, cr as getTotalQueueSize, dr as waitForActiveTasks, f as applyToolPolicyPipeline, fr as CommandLane, ft as resetDirectoryCache, gt as consumeRestartSentinel, h as getPluginToolMeta, j as resolveAgentAvatar, jn as normalizeMimeList, jt as normalizeRequiredName, k as createDefaultDeps, kn as extractFileContentFromSource, kt as normalizeOptionalText, ln as requestHeartbeatNow, lr as resetAllLanes, lt as resolveOutboundTarget, mt as runWithModelFallback, n as initSubagentRegistry, nt as readLatestAssistantReply, o as runSubagentAnnounceFlow, or as getActiveTaskCount, ot as resolveOutboundSessionRoute, p as buildDefaultToolPolicyPipelineSteps, pr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, qt as isGatewaySigusr1RestartExternallyAllowed, r as listDescendantRunsForRequester, rt as resolveAnnounceTargetFromKey, t as countActiveDescendantRuns, tt as createSymiTools, u as getActiveEmbeddedRunCount, ur as setCommandLaneConcurrency, ut as resolveSessionDeliveryTarget, vr as clearAgentRunContext, vt as formatRestartSentinelMessage, w as agentCommand, x as requestBodyErrorToText, xn as enqueueSystemEvent, xr as onAgentEvent, y as handleSlackHttpRequest, yr as emitAgentEvent, zt as detectSuspiciousPatterns } from "./subagent-registry-BmqDNBQA.js";
|
|
25
25
|
import { D as resolveSessionResetPolicy, F as resolveMainSessionKey, H as cleanStaleLockFiles, I as resolveMainSessionKeyFromConfig, K as mergeDeliveryContext, M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, T as evaluateSessionFreshness, W as deliveryContextFromSession, d as updateSessionStore, n as parseSessionThreadInfo, o as loadSessionStore } from "./sessions-CgUqqsE6.js";
|
|
26
26
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Csntmwwn.js";
|
|
27
27
|
import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
@@ -59,8 +59,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
59
59
|
import { d as supportsXHighThinking, l as normalizeVerboseLevel, s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
|
|
60
60
|
import "./models-config-CBWUmrZr.js";
|
|
61
61
|
import { a as resolveAgentIdentity } from "./reply-prefix-BUN71nd5.js";
|
|
62
|
-
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-
|
|
63
|
-
import { i as resolveMemorySearchConfig } from "./manager-
|
|
62
|
+
import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-Bt9d248V.js";
|
|
63
|
+
import { i as resolveMemorySearchConfig } from "./manager-RThEiATX.js";
|
|
64
64
|
import "./gemini-auth-CuXaRAsc.js";
|
|
65
65
|
import "./sqlite-CQGamAhm.js";
|
|
66
66
|
import "./retry-C4Q_VPOo.js";
|
|
@@ -130,20 +130,20 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
|
|
|
130
130
|
import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-BtG9rny3.js";
|
|
131
131
|
import { c as probeGateway, s as resolveNodeCommandAllowlist } from "./audit-CxXMV90N.js";
|
|
132
132
|
import { t as discoverGatewayBeacons } from "./bonjour-discovery-CA_XIzr_.js";
|
|
133
|
-
import { i as pickGatewaySelfPresence } from "./status-
|
|
134
|
-
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-
|
|
133
|
+
import { i as pickGatewaySelfPresence } from "./status-3kOYUAe6.js";
|
|
134
|
+
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-Dp4Q9nXE.js";
|
|
135
135
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
|
|
136
136
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
|
|
137
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
138
|
-
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-
|
|
139
|
-
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-
|
|
137
|
+
import { t as runOnboardingWizard } from "./onboarding-BVBk-a0N.js";
|
|
138
|
+
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-UzcnQvxB.js";
|
|
139
|
+
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CeICANgd.js";
|
|
140
140
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
|
|
141
|
-
import "./agents.config-
|
|
141
|
+
import "./agents.config-t7FdJujr.js";
|
|
142
142
|
import "./dm-policy-shared-DJIcmUfz.js";
|
|
143
143
|
import "./node-service-fcZExd22.js";
|
|
144
144
|
import "./status.update-HJxsOWAX.js";
|
|
145
145
|
import "./skills-install-1ZdwGTnh.js";
|
|
146
|
-
import "./update-runner-
|
|
146
|
+
import "./update-runner-DeRhiJkE.js";
|
|
147
147
|
import { t as resolveAgentSessionDirs } from "./session-dirs-DWgIYmAt.js";
|
|
148
148
|
import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
|
|
149
149
|
import { n as forceFreePortAndWait } from "./ports-Dn122MUd.js";
|
|
@@ -11630,7 +11630,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11630
11630
|
});
|
|
11631
11631
|
let glassUiBridgeCleanup = null;
|
|
11632
11632
|
if (!minimalTestGateway) {
|
|
11633
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
11633
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-kaPdOFQ1.js");
|
|
11634
11634
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11635
11635
|
wss: glassUiWss,
|
|
11636
11636
|
context: gatewayRequestContext,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-BZn2Smlt.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -61,8 +61,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
61
61
|
import "./send-CLbuByS_.js";
|
|
62
62
|
import "./model-DLrVgGDx.js";
|
|
63
63
|
import "./reply-prefix-CE2YmmsD.js";
|
|
64
|
-
import "./memory-cli-
|
|
65
|
-
import "./manager-
|
|
64
|
+
import "./memory-cli-Cfckrobf.js";
|
|
65
|
+
import "./manager-DrSOlqpk.js";
|
|
66
66
|
import "./retry-BoS4e4X_.js";
|
|
67
67
|
import "./target-errors-7AvoVa10.js";
|
|
68
68
|
import "./chunk-1dhPX1NK.js";
|
|
@@ -113,18 +113,18 @@ import "./service-Cl74hx8J.js";
|
|
|
113
113
|
import "./diagnostics-BAMlsVVX.js";
|
|
114
114
|
import "./table-BTgkRafz.js";
|
|
115
115
|
import "./audit-A23wZIIT.js";
|
|
116
|
-
import "./status-
|
|
117
|
-
import "./health-
|
|
116
|
+
import "./status-C3zEYCNx.js";
|
|
117
|
+
import "./health-DBwSpMeO.js";
|
|
118
118
|
import "./control-ui-assets-Z947tKLt.js";
|
|
119
119
|
import "./update-check-CtckACbb.js";
|
|
120
|
-
import { n as handleGatewayRequest } from "./server-methods-
|
|
121
|
-
import "./push-apns-
|
|
122
|
-
import "./agents.config-
|
|
120
|
+
import { n as handleGatewayRequest } from "./server-methods-Cr4xi0KV.js";
|
|
121
|
+
import "./push-apns-Ba9C9T6a.js";
|
|
122
|
+
import "./agents.config-B_qhQi0f.js";
|
|
123
123
|
import "./dm-policy-shared-Ddfj0fRf.js";
|
|
124
124
|
import "./node-service-Cxz4e-Qd.js";
|
|
125
125
|
import "./status.update-ChC1anne.js";
|
|
126
126
|
import "./skills-install-D67isO1L.js";
|
|
127
|
-
import "./update-runner-
|
|
127
|
+
import "./update-runner-BZ8CU4YI.js";
|
|
128
128
|
|
|
129
129
|
//#region src/gateway/glass-ui-ws.ts
|
|
130
130
|
const SESSION_KEY = "agent:main:main";
|
|
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
|
|
|
13
13
|
import "./call-CG3pk7H3.js";
|
|
14
14
|
import "./message-channel-C9dERklz.js";
|
|
15
15
|
import "./pairing-token-Byh6drgn.js";
|
|
16
|
-
import "./subagent-registry-
|
|
16
|
+
import "./subagent-registry-BmqDNBQA.js";
|
|
17
17
|
import "./sessions-CgUqqsE6.js";
|
|
18
18
|
import "./tokens-Csntmwwn.js";
|
|
19
19
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -51,8 +51,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
51
51
|
import "./thinking-8sKPnzpp.js";
|
|
52
52
|
import "./models-config-CBWUmrZr.js";
|
|
53
53
|
import "./reply-prefix-BUN71nd5.js";
|
|
54
|
-
import "./memory-cli-
|
|
55
|
-
import "./manager-
|
|
54
|
+
import "./memory-cli-Bt9d248V.js";
|
|
55
|
+
import "./manager-RThEiATX.js";
|
|
56
56
|
import "./gemini-auth-CuXaRAsc.js";
|
|
57
57
|
import "./sqlite-CQGamAhm.js";
|
|
58
58
|
import "./retry-C4Q_VPOo.js";
|
|
@@ -108,18 +108,18 @@ import "./service-Cm9j9WzQ.js";
|
|
|
108
108
|
import "./diagnostics-CS1ov_hH.js";
|
|
109
109
|
import "./table-D01d2GuY.js";
|
|
110
110
|
import "./audit-CxXMV90N.js";
|
|
111
|
-
import "./status-
|
|
112
|
-
import "./health-
|
|
111
|
+
import "./status-3kOYUAe6.js";
|
|
112
|
+
import "./health-Dp4Q9nXE.js";
|
|
113
113
|
import "./control-ui-assets-BseSWee1.js";
|
|
114
114
|
import "./update-check-ZdimP1aU.js";
|
|
115
|
-
import { n as handleGatewayRequest } from "./server-methods-
|
|
116
|
-
import "./push-apns-
|
|
117
|
-
import "./agents.config-
|
|
115
|
+
import { n as handleGatewayRequest } from "./server-methods-UzcnQvxB.js";
|
|
116
|
+
import "./push-apns-CeICANgd.js";
|
|
117
|
+
import "./agents.config-t7FdJujr.js";
|
|
118
118
|
import "./dm-policy-shared-DJIcmUfz.js";
|
|
119
119
|
import "./node-service-fcZExd22.js";
|
|
120
120
|
import "./status.update-HJxsOWAX.js";
|
|
121
121
|
import "./skills-install-1ZdwGTnh.js";
|
|
122
|
-
import "./update-runner-
|
|
122
|
+
import "./update-runner-DeRhiJkE.js";
|
|
123
123
|
|
|
124
124
|
//#region src/gateway/glass-ui-ws.ts
|
|
125
125
|
const SESSION_KEY = "agent:main:main";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-B-0b9bGM.js";
|
|
2
|
-
import { Ft as resolveHeartbeatSenderContext, Pt as resolveHeartbeatDeliveryTarget, ar as CommandLane, cr as isHeartbeatContentEffectivelyEmpty, dt as requestHeartbeatNow, er as getQueueSize, ft as setHeartbeatWakeHandler, lr as resolveHeartbeatPrompt$1, or as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, pt as resolveHeartbeatReasonKind, r as appendCronStyleCurrentTimeLine, sr as DEFAULT_HEARTBEAT_EVERY, t as getReplyFromConfig, ur as stripHeartbeatToken, xr as peekSystemEventEntries, zn as resolveUserTimezone } from "./reply-
|
|
2
|
+
import { Ft as resolveHeartbeatSenderContext, Pt as resolveHeartbeatDeliveryTarget, ar as CommandLane, cr as isHeartbeatContentEffectivelyEmpty, dt as requestHeartbeatNow, er as getQueueSize, ft as setHeartbeatWakeHandler, lr as resolveHeartbeatPrompt$1, or as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, pt as resolveHeartbeatReasonKind, r as appendCronStyleCurrentTimeLine, sr as DEFAULT_HEARTBEAT_EVERY, t as getReplyFromConfig, ur as stripHeartbeatToken, xr as peekSystemEventEntries, zn as resolveUserTimezone } from "./reply-BZn2Smlt.js";
|
|
3
3
|
import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-DCt45XZa.js";
|
|
4
4
|
import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
5
5
|
import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
|
|
@@ -4,7 +4,7 @@ import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as no
|
|
|
4
4
|
import { b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId, r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
|
|
5
5
|
import { C as parseDurationMs, i as loadConfig } from "./config-FEczy74G.js";
|
|
6
6
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CG3pk7H3.js";
|
|
7
|
-
import { Cn as peekSystemEventEntries, Kn as resolveUserTimezone, Y as appendCronStyleCurrentTimeLine, _r as stripHeartbeatToken, ct as resolveHeartbeatSenderContext, dn as resolveHeartbeatReasonKind, fr as CommandLane, gr as resolveHeartbeatPrompt$1, hr as isHeartbeatContentEffectivelyEmpty, ln as requestHeartbeatNow, mr as DEFAULT_HEARTBEAT_EVERY, pr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, q as getReplyFromConfig, sr as getQueueSize, st as resolveHeartbeatDeliveryTarget, un as setHeartbeatWakeHandler } from "./subagent-registry-
|
|
7
|
+
import { Cn as peekSystemEventEntries, Kn as resolveUserTimezone, Y as appendCronStyleCurrentTimeLine, _r as stripHeartbeatToken, ct as resolveHeartbeatSenderContext, dn as resolveHeartbeatReasonKind, fr as CommandLane, gr as resolveHeartbeatPrompt$1, hr as isHeartbeatContentEffectivelyEmpty, ln as requestHeartbeatNow, mr as DEFAULT_HEARTBEAT_EVERY, pr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, q as getReplyFromConfig, sr as getQueueSize, st as resolveHeartbeatDeliveryTarget, un as setHeartbeatWakeHandler } from "./subagent-registry-BmqDNBQA.js";
|
|
8
8
|
import { M as canonicalizeMainSessionAlias, N as resolveAgentMainSessionKey, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-CgUqqsE6.js";
|
|
9
9
|
import { r as SYMIPULSE_TOKEN } from "./tokens-Csntmwwn.js";
|
|
10
10
|
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
@@ -15,7 +15,7 @@ import "./client-DMBZpU6X.js";
|
|
|
15
15
|
import "./call-CG3pk7H3.js";
|
|
16
16
|
import "./message-channel-C9dERklz.js";
|
|
17
17
|
import "./pairing-token-Byh6drgn.js";
|
|
18
|
-
import "./subagent-registry-
|
|
18
|
+
import "./subagent-registry-BmqDNBQA.js";
|
|
19
19
|
import "./sessions-CgUqqsE6.js";
|
|
20
20
|
import "./tokens-Csntmwwn.js";
|
|
21
21
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -53,8 +53,8 @@ import "./tool-images-CVLISeRT.js";
|
|
|
53
53
|
import "./thinking-8sKPnzpp.js";
|
|
54
54
|
import "./models-config-CBWUmrZr.js";
|
|
55
55
|
import "./reply-prefix-BUN71nd5.js";
|
|
56
|
-
import "./memory-cli-
|
|
57
|
-
import "./manager-
|
|
56
|
+
import "./memory-cli-Bt9d248V.js";
|
|
57
|
+
import "./manager-RThEiATX.js";
|
|
58
58
|
import "./gemini-auth-CuXaRAsc.js";
|
|
59
59
|
import "./sqlite-CQGamAhm.js";
|
|
60
60
|
import "./retry-C4Q_VPOo.js";
|
|
@@ -104,7 +104,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
|
|
|
104
104
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
105
105
|
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-B51TF6q3.js";
|
|
106
106
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-CEoLdlyb.js";
|
|
107
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
107
|
+
import { t as buildPluginStatusReport } from "./status-JZ1tEKrI.js";
|
|
108
108
|
import path from "node:path";
|
|
109
109
|
import fs from "node:fs";
|
|
110
110
|
import fs$1 from "node:fs/promises";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import "./reply-
|
|
4
|
+
import "./reply-BZn2Smlt.js";
|
|
5
5
|
import "./registry-Cja8eT7G.js";
|
|
6
6
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
7
7
|
import "./exec-CWkblSrI.js";
|
|
@@ -63,8 +63,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
63
63
|
import "./send-CLbuByS_.js";
|
|
64
64
|
import "./model-DLrVgGDx.js";
|
|
65
65
|
import "./reply-prefix-CE2YmmsD.js";
|
|
66
|
-
import "./memory-cli-
|
|
67
|
-
import "./manager-
|
|
66
|
+
import "./memory-cli-Cfckrobf.js";
|
|
67
|
+
import "./manager-DrSOlqpk.js";
|
|
68
68
|
import "./retry-BoS4e4X_.js";
|
|
69
69
|
import "./target-errors-7AvoVa10.js";
|
|
70
70
|
import "./chunk-1dhPX1NK.js";
|
|
@@ -108,7 +108,7 @@ import { a as installPackageDir, i as withTempDir, n as installFromNpmSpecArchiv
|
|
|
108
108
|
import { t as renderTable } from "./table-BTgkRafz.js";
|
|
109
109
|
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-CYxdoAlY.js";
|
|
110
110
|
import { t as buildWorkspaceHookStatus } from "./hooks-status-BqLZtMLa.js";
|
|
111
|
-
import { t as buildPluginStatusReport } from "./status-
|
|
111
|
+
import { t as buildPluginStatusReport } from "./status-Bpz3T9tk.js";
|
|
112
112
|
import fs from "node:fs";
|
|
113
113
|
import path from "node:path";
|
|
114
114
|
import fs$1 from "node:fs/promises";
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import "./paths-Cqn-zk3M.js";
|
|
3
3
|
import { B as theme, P as setVerbose, T as toWhatsappJid, l as escapeRegExp, m as normalizeE164, n as assertWebChannel, z as isRich } from "./utils-B-0b9bGM.js";
|
|
4
4
|
import "./thinking-EAliFiVK.js";
|
|
5
|
-
import { Vt as createDefaultDeps, t as getReplyFromConfig, wt as resolveCommitHash } from "./reply-
|
|
5
|
+
import { Vt as createDefaultDeps, t as getReplyFromConfig, wt as resolveCommitHash } from "./reply-BZn2Smlt.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime, r as enableConsoleCapture, u as visibleWidth } from "./subsystem-D9vIQve0.js";
|
|
8
8
|
import { n as runExec, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
@@ -63,8 +63,8 @@ import "./diagnostic-session-state-CUslJyKP.js";
|
|
|
63
63
|
import "./send-CLbuByS_.js";
|
|
64
64
|
import "./model-DLrVgGDx.js";
|
|
65
65
|
import "./reply-prefix-CE2YmmsD.js";
|
|
66
|
-
import "./memory-cli-
|
|
67
|
-
import "./manager-
|
|
66
|
+
import "./memory-cli-Cfckrobf.js";
|
|
67
|
+
import "./manager-DrSOlqpk.js";
|
|
68
68
|
import "./retry-BoS4e4X_.js";
|
|
69
69
|
import "./target-errors-7AvoVa10.js";
|
|
70
70
|
import "./chunk-1dhPX1NK.js";
|
|
@@ -103,7 +103,7 @@ import "./pi-tools.policy-CZQkqEES.js";
|
|
|
103
103
|
import "./control-service-BpzL2RWM.js";
|
|
104
104
|
import "./stagger-BUClb97_.js";
|
|
105
105
|
import "./channel-selection-DuWs0Aak.js";
|
|
106
|
-
import { r as waitForever, t as monitorWebChannel } from "./channel-web-
|
|
106
|
+
import { r as waitForever, t as monitorWebChannel } from "./channel-web-Kt_j1QOj.js";
|
|
107
107
|
import "./outbound-uFufAt6n.js";
|
|
108
108
|
import "./session-CZX62Fum.js";
|
|
109
109
|
import "./login-DO5Yh0Y4.js";
|
|
@@ -112,10 +112,10 @@ import { t as ensureSymiCliOnPath } from "./path-env-MnzRq6nD.js";
|
|
|
112
112
|
import { t as assertSupportedRuntime } from "./runtime-guard-B37eizu-.js";
|
|
113
113
|
import "./ports-BX0kKI0g.js";
|
|
114
114
|
import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-C6ovOie2.js";
|
|
115
|
-
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-
|
|
115
|
+
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-Qr4P_3lt.js";
|
|
116
116
|
import "./catalog-RiADx7MA.js";
|
|
117
|
-
import "./plugin-registry-
|
|
118
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
117
|
+
import "./plugin-registry-B9o0EnWk.js";
|
|
118
|
+
import { n as resolveCliChannelOptions } from "./channel-options-BYCPesaD.js";
|
|
119
119
|
import process$1 from "node:process";
|
|
120
120
|
import { fileURLToPath } from "node:url";
|
|
121
121
|
import { Command } from "commander";
|
|
@@ -515,7 +515,7 @@ function registerPreActionHooks(program, programVersion) {
|
|
|
515
515
|
commandPath
|
|
516
516
|
});
|
|
517
517
|
if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
|
|
518
|
-
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-
|
|
518
|
+
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-B9o0EnWk.js").then((n) => n.n);
|
|
519
519
|
ensurePluginRegistryLoaded();
|
|
520
520
|
}
|
|
521
521
|
});
|
|
@@ -4,7 +4,7 @@ import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWork
|
|
|
4
4
|
import "./subsystem-Bs9YvKLa.js";
|
|
5
5
|
import "./workspace-wAaHI8-5.js";
|
|
6
6
|
import "./tokens-H1H1LiSQ.js";
|
|
7
|
-
import { t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
7
|
+
import { t as runEmbeddedPiAgent } from "./pi-embedded-6aosCkCE.js";
|
|
8
8
|
import "./plugins-DQYI3Fr-.js";
|
|
9
9
|
import "./accounts-tNElYrCH.js";
|
|
10
10
|
import "./boolean-B8-BqKGQ.js";
|
|
@@ -38,7 +38,7 @@ import "./paths-DLyHUt31.js";
|
|
|
38
38
|
import "./tool-images-DXB7tqWi.js";
|
|
39
39
|
import "./image-DzKo5TvV.js";
|
|
40
40
|
import "./reply-prefix-XlyuyChD.js";
|
|
41
|
-
import "./manager-
|
|
41
|
+
import "./manager-M83fJMDC.js";
|
|
42
42
|
import "./gemini-auth-DzFcFvHV.js";
|
|
43
43
|
import "./sqlite-DRbx2dhW.js";
|
|
44
44
|
import "./retry-Cly39XZB.js";
|
|
@@ -999,12 +999,14 @@ async function mergeHybridResults(params) {
|
|
|
999
999
|
source: r.source,
|
|
1000
1000
|
snippet: r.snippet,
|
|
1001
1001
|
vectorScore: r.vectorScore,
|
|
1002
|
-
textScore: 0
|
|
1002
|
+
textScore: 0,
|
|
1003
|
+
weight: r.weight ?? 1
|
|
1003
1004
|
});
|
|
1004
1005
|
for (const r of params.keyword) {
|
|
1005
1006
|
const existing = byId.get(r.id);
|
|
1006
1007
|
if (existing) {
|
|
1007
1008
|
existing.textScore = r.textScore;
|
|
1009
|
+
if (r.weight != null && r.weight > existing.weight) existing.weight = r.weight;
|
|
1008
1010
|
if (r.snippet && r.snippet.length > 0) existing.snippet = r.snippet;
|
|
1009
1011
|
} else byId.set(r.id, {
|
|
1010
1012
|
id: r.id,
|
|
@@ -1014,12 +1016,13 @@ async function mergeHybridResults(params) {
|
|
|
1014
1016
|
source: r.source,
|
|
1015
1017
|
snippet: r.snippet,
|
|
1016
1018
|
vectorScore: 0,
|
|
1017
|
-
textScore: r.textScore
|
|
1019
|
+
textScore: r.textScore,
|
|
1020
|
+
weight: r.weight ?? 1
|
|
1018
1021
|
});
|
|
1019
1022
|
}
|
|
1020
1023
|
const sorted = (await applyTemporalDecayToHybridResults({
|
|
1021
1024
|
results: Array.from(byId.values()).map((entry) => {
|
|
1022
|
-
const score = params.vectorWeight * entry.vectorScore + params.textWeight * entry.textScore;
|
|
1025
|
+
const score = (params.vectorWeight * entry.vectorScore + params.textWeight * entry.textScore) * entry.weight;
|
|
1023
1026
|
return {
|
|
1024
1027
|
path: entry.path,
|
|
1025
1028
|
startLine: entry.startLine,
|
|
@@ -1799,10 +1802,23 @@ function ensureMemoryIndexSchema(params) {
|
|
|
1799
1802
|
model TEXT NOT NULL,
|
|
1800
1803
|
text TEXT NOT NULL,
|
|
1801
1804
|
embedding TEXT NOT NULL,
|
|
1802
|
-
updated_at INTEGER NOT NULL
|
|
1805
|
+
updated_at INTEGER NOT NULL,
|
|
1806
|
+
weight REAL NOT NULL DEFAULT 1.0
|
|
1803
1807
|
);
|
|
1804
1808
|
`);
|
|
1805
1809
|
params.db.exec(`
|
|
1810
|
+
CREATE TABLE IF NOT EXISTS edges (
|
|
1811
|
+
source_chunk_id TEXT NOT NULL,
|
|
1812
|
+
target_chunk_id TEXT NOT NULL,
|
|
1813
|
+
relation TEXT NOT NULL DEFAULT 'co_occurrence',
|
|
1814
|
+
weight REAL NOT NULL DEFAULT 1.0,
|
|
1815
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
1816
|
+
PRIMARY KEY (source_chunk_id, target_chunk_id, relation)
|
|
1817
|
+
);
|
|
1818
|
+
`);
|
|
1819
|
+
params.db.exec(`CREATE INDEX IF NOT EXISTS idx_edges_source ON edges(source_chunk_id);`);
|
|
1820
|
+
params.db.exec(`CREATE INDEX IF NOT EXISTS idx_edges_target ON edges(target_chunk_id);`);
|
|
1821
|
+
params.db.exec(`
|
|
1806
1822
|
CREATE TABLE IF NOT EXISTS ${params.embeddingCacheTable} (
|
|
1807
1823
|
provider TEXT NOT NULL,
|
|
1808
1824
|
model TEXT NOT NULL,
|
|
@@ -1827,6 +1843,7 @@ function ensureMemoryIndexSchema(params) {
|
|
|
1827
1843
|
}
|
|
1828
1844
|
ensureColumn(params.db, "files", "source", "TEXT NOT NULL DEFAULT 'memory'");
|
|
1829
1845
|
ensureColumn(params.db, "chunks", "source", "TEXT NOT NULL DEFAULT 'memory'");
|
|
1846
|
+
ensureColumn(params.db, "chunks", "weight", "REAL NOT NULL DEFAULT 1.0");
|
|
1830
1847
|
params.db.exec(`CREATE INDEX IF NOT EXISTS idx_chunks_path ON chunks(path);`);
|
|
1831
1848
|
params.db.exec(`CREATE INDEX IF NOT EXISTS idx_chunks_source ON chunks(source);`);
|
|
1832
1849
|
return {
|
|
@@ -2430,6 +2447,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2430
2447
|
this.sessionsDirtyFiles.clear();
|
|
2431
2448
|
} else if (this.sessionsDirtyFiles.size > 0) this.sessionsDirty = true;
|
|
2432
2449
|
else this.sessionsDirty = false;
|
|
2450
|
+
this.normalizeChunkWeights();
|
|
2433
2451
|
} catch (err) {
|
|
2434
2452
|
const reason = err instanceof Error ? err.message : String(err);
|
|
2435
2453
|
if (this.shouldFallbackOnError(reason) && await this.activateFallbackProvider(reason)) {
|
|
@@ -2443,6 +2461,21 @@ var MemoryManagerSyncOps = class {
|
|
|
2443
2461
|
throw err;
|
|
2444
2462
|
}
|
|
2445
2463
|
}
|
|
2464
|
+
normalizeChunkWeights() {
|
|
2465
|
+
try {
|
|
2466
|
+
const rows = this.db.prepare(`SELECT id, weight FROM chunks`).all();
|
|
2467
|
+
if (rows.length < 2) return;
|
|
2468
|
+
const weights = rows.map((r) => r.weight);
|
|
2469
|
+
const maxW = Math.max(...weights);
|
|
2470
|
+
const exps = weights.map((w) => Math.exp(w - maxW));
|
|
2471
|
+
const sumExp = exps.reduce((a, b) => a + b, 0);
|
|
2472
|
+
const normalized = exps.map((e) => e / sumExp * rows.length);
|
|
2473
|
+
const stmt = this.db.prepare(`UPDATE chunks SET weight = ? WHERE id = ?`);
|
|
2474
|
+
this.db.exec("BEGIN");
|
|
2475
|
+
for (let i = 0; i < rows.length; i++) stmt.run(normalized[i], rows[i].id);
|
|
2476
|
+
this.db.exec("COMMIT");
|
|
2477
|
+
} catch {}
|
|
2478
|
+
}
|
|
2446
2479
|
shouldFallbackOnError(message) {
|
|
2447
2480
|
return /embedding|embeddings|batch/i.test(message);
|
|
2448
2481
|
}
|
|
@@ -3098,6 +3131,10 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
|
|
|
3098
3131
|
if (this.fts.enabled && this.fts.available) try {
|
|
3099
3132
|
this.db.prepare(`DELETE FROM ${FTS_TABLE$1} WHERE path = ? AND source = ? AND model = ?`).run(entry.path, options.source, this.provider.model);
|
|
3100
3133
|
} catch {}
|
|
3134
|
+
try {
|
|
3135
|
+
this.db.prepare(`DELETE FROM edges WHERE source_chunk_id IN (SELECT id FROM chunks WHERE path = ? AND source = ?)
|
|
3136
|
+
OR target_chunk_id IN (SELECT id FROM chunks WHERE path = ? AND source = ?)`).run(entry.path, options.source, entry.path, options.source);
|
|
3137
|
+
} catch {}
|
|
3101
3138
|
this.db.prepare(`DELETE FROM chunks WHERE path = ? AND source = ?`).run(entry.path, options.source);
|
|
3102
3139
|
for (let i = 0; i < chunks.length; i++) {
|
|
3103
3140
|
const chunk = chunks[i];
|
|
@@ -3119,6 +3156,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
|
|
|
3119
3156
|
}
|
|
3120
3157
|
if (this.fts.enabled && this.fts.available) this.db.prepare(`INSERT INTO ${FTS_TABLE$1} (text, id, path, source, model, start_line, end_line)\n VALUES (?, ?, ?, ?, ?, ?, ?)`).run(chunk.text, id, entry.path, options.source, this.provider.model, chunk.startLine, chunk.endLine);
|
|
3121
3158
|
}
|
|
3159
|
+
this.buildCoOccurrenceEdges(chunks, entry, options.source);
|
|
3122
3160
|
this.db.prepare(`INSERT INTO files (path, source, hash, mtime, size) VALUES (?, ?, ?, ?, ?)
|
|
3123
3161
|
ON CONFLICT(path) DO UPDATE SET
|
|
3124
3162
|
source=excluded.source,
|
|
@@ -3126,6 +3164,18 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
|
|
|
3126
3164
|
mtime=excluded.mtime,
|
|
3127
3165
|
size=excluded.size`).run(entry.path, options.source, entry.hash, entry.mtimeMs, entry.size);
|
|
3128
3166
|
}
|
|
3167
|
+
buildCoOccurrenceEdges(chunks, entry, source) {
|
|
3168
|
+
if (chunks.length < 2 || !this.provider) return;
|
|
3169
|
+
try {
|
|
3170
|
+
const ids = chunks.map((chunk) => hashText(`${source}:${entry.path}:${chunk.startLine}:${chunk.endLine}:${chunk.hash}:${this.provider.model}`));
|
|
3171
|
+
const stmt = this.db.prepare(`INSERT OR REPLACE INTO edges (source_chunk_id, target_chunk_id, relation, weight, created_at)
|
|
3172
|
+
VALUES (?, ?, 'co_occurrence', 1.0, datetime('now'))`);
|
|
3173
|
+
for (let i = 0; i < ids.length; i++) {
|
|
3174
|
+
if (i + 1 < ids.length) stmt.run(ids[i], ids[i + 1]);
|
|
3175
|
+
if (i + 2 < ids.length) stmt.run(ids[i], ids[i + 2]);
|
|
3176
|
+
}
|
|
3177
|
+
} catch {}
|
|
3178
|
+
}
|
|
3129
3179
|
};
|
|
3130
3180
|
|
|
3131
3181
|
//#endregion
|
|
@@ -3134,7 +3184,7 @@ const vectorToBlob = (embedding) => Buffer.from(new Float32Array(embedding).buff
|
|
|
3134
3184
|
async function searchVector(params) {
|
|
3135
3185
|
if (params.queryVec.length === 0 || params.limit <= 0) return [];
|
|
3136
3186
|
if (await params.ensureVectorReady(params.queryVec.length)) return params.db.prepare(`SELECT c.id, c.path, c.start_line, c.end_line, c.text,
|
|
3137
|
-
c.source,
|
|
3187
|
+
c.source, c.weight,
|
|
3138
3188
|
vec_distance_cosine(v.embedding, ?) AS dist
|
|
3139
3189
|
FROM ${params.vectorTable} v\n JOIN chunks c ON c.id = v.id\n WHERE c.model = ?${params.sourceFilterVec.sql}\n ORDER BY dist ASC\n LIMIT ?`).all(vectorToBlob(params.queryVec), params.providerModel, ...params.sourceFilterVec.params, params.limit).map((row) => ({
|
|
3140
3190
|
id: row.id,
|
|
@@ -3143,7 +3193,8 @@ async function searchVector(params) {
|
|
|
3143
3193
|
endLine: row.end_line,
|
|
3144
3194
|
score: 1 - row.dist,
|
|
3145
3195
|
snippet: truncateUtf16Safe(row.text, params.snippetMaxChars),
|
|
3146
|
-
source: row.source
|
|
3196
|
+
source: row.source,
|
|
3197
|
+
weight: row.weight
|
|
3147
3198
|
}));
|
|
3148
3199
|
return listChunks({
|
|
3149
3200
|
db: params.db,
|
|
@@ -3163,7 +3214,7 @@ async function searchVector(params) {
|
|
|
3163
3214
|
}));
|
|
3164
3215
|
}
|
|
3165
3216
|
function listChunks(params) {
|
|
3166
|
-
return params.db.prepare(`SELECT id, path, start_line, end_line, text, embedding, source
|
|
3217
|
+
return params.db.prepare(`SELECT id, path, start_line, end_line, text, embedding, source, weight
|
|
3167
3218
|
FROM chunks
|
|
3168
3219
|
WHERE model = ?${params.sourceFilter.sql}`).all(params.providerModel, ...params.sourceFilter.params).map((row) => ({
|
|
3169
3220
|
id: row.id,
|
|
@@ -3172,7 +3223,8 @@ function listChunks(params) {
|
|
|
3172
3223
|
endLine: row.end_line,
|
|
3173
3224
|
text: row.text,
|
|
3174
3225
|
embedding: parseEmbedding(row.embedding),
|
|
3175
|
-
source: row.source
|
|
3226
|
+
source: row.source,
|
|
3227
|
+
weight: row.weight
|
|
3176
3228
|
}));
|
|
3177
3229
|
}
|
|
3178
3230
|
async function searchKeyword(params) {
|
|
@@ -3181,7 +3233,7 @@ async function searchKeyword(params) {
|
|
|
3181
3233
|
if (!ftsQuery) return [];
|
|
3182
3234
|
const modelClause = params.providerModel ? " AND model = ?" : "";
|
|
3183
3235
|
const modelParams = params.providerModel ? [params.providerModel] : [];
|
|
3184
|
-
return params.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${params.ftsTable}) AS rank\n FROM ${params.ftsTable}\n WHERE ${params.ftsTable} MATCH ?${modelClause}${params.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(ftsQuery, ...modelParams, ...params.sourceFilter.params, params.limit).map((row) => {
|
|
3236
|
+
return params.db.prepare(`SELECT f.id, f.path, f.source, f.start_line, f.end_line, f.text,\n bm25(${params.ftsTable}) AS rank,\n c.weight\n FROM ${params.ftsTable} f\n JOIN chunks c ON c.id = f.id\n WHERE ${params.ftsTable} MATCH ?${modelClause}${params.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(ftsQuery, ...modelParams, ...params.sourceFilter.params, params.limit).map((row) => {
|
|
3185
3237
|
const textScore = params.bm25RankToScore(row.rank);
|
|
3186
3238
|
return {
|
|
3187
3239
|
id: row.id,
|
|
@@ -3191,7 +3243,8 @@ async function searchKeyword(params) {
|
|
|
3191
3243
|
score: textScore,
|
|
3192
3244
|
textScore,
|
|
3193
3245
|
snippet: truncateUtf16Safe(row.text, params.snippetMaxChars),
|
|
3194
|
-
source: row.source
|
|
3246
|
+
source: row.source,
|
|
3247
|
+
weight: row.weight
|
|
3195
3248
|
};
|
|
3196
3249
|
});
|
|
3197
3250
|
}
|
|
@@ -3580,7 +3633,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3580
3633
|
const queryVec = await this.embedQueryWithTimeout(cleaned);
|
|
3581
3634
|
const vectorResults = queryVec.some((v) => v !== 0) ? await this.searchVector(queryVec, candidates).catch(() => []) : [];
|
|
3582
3635
|
if (!hybrid.enabled) return vectorResults.filter((entry) => entry.score >= minScore).slice(0, maxResults);
|
|
3583
|
-
|
|
3636
|
+
const results = (await this.mergeHybridResults({
|
|
3584
3637
|
vector: vectorResults,
|
|
3585
3638
|
keyword: keywordResults,
|
|
3586
3639
|
vectorWeight: hybrid.vectorWeight,
|
|
@@ -3588,6 +3641,18 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3588
3641
|
mmr: hybrid.mmr,
|
|
3589
3642
|
temporalDecay: hybrid.temporalDecay
|
|
3590
3643
|
})).filter((entry) => entry.score >= minScore).slice(0, maxResults);
|
|
3644
|
+
this.incrementChunkWeights(results);
|
|
3645
|
+
return results;
|
|
3646
|
+
}
|
|
3647
|
+
incrementChunkWeights(results) {
|
|
3648
|
+
if (results.length === 0) return;
|
|
3649
|
+
try {
|
|
3650
|
+
const stmt = this.db.prepare(`UPDATE chunks SET weight = weight + ? WHERE path = ? AND start_line = ? AND end_line = ?`);
|
|
3651
|
+
for (const r of results) {
|
|
3652
|
+
const boost = Math.min(r.score * .1, .2);
|
|
3653
|
+
stmt.run(boost, r.path, r.startLine, r.endLine);
|
|
3654
|
+
}
|
|
3655
|
+
} catch {}
|
|
3591
3656
|
}
|
|
3592
3657
|
async searchVector(queryVec, limit) {
|
|
3593
3658
|
if (!this.provider) return [];
|