@symerian/symi 3.5.18 → 3.5.19
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/{agent-C5i1IOSH.js → agent-D0Z4r5fr.js} +1 -1
- package/dist/{agent-DAgNFk7s.js → agent-DCDT-MPE.js} +1 -1
- package/dist/{agents-D6vcHu1f.js → agents-CdkBeP0d.js} +3 -3
- package/dist/{audit-BkXjUIB4.js → audit-B7deV4Lp.js} +3 -3
- package/dist/{audit-KLVrIL2o.js → audit-BCStg-Hv.js} +3 -3
- package/dist/{auth-choice-BAWjJhdA.js → auth-choice-B3DU-aBr.js} +2 -2
- package/dist/{auth-choice-CYIdNu5I.js → auth-choice-BIGcxSzP.js} +2 -2
- package/dist/{banner-fe7EgXbN.js → banner-ChNdzPjD.js} +1 -1
- package/dist/{browser-cli-T0M4dRjm.js → browser-cli-BTg8SVs-.js} +3 -3
- package/dist/{browser-cli-djgni0MZ.js → browser-cli-C9xaKW8l.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +4 -4
- package/dist/bundled/session-memory/handler.js +4 -4
- package/dist/{call-PpGwcPn-.js → call-BccaLPi8.js} +1 -1
- package/dist/{call-A18kwyah.js → call-DZg43vv8.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-EXtSsJf6.js → channel-options-CUptVX8c.js} +1 -1
- package/dist/{channel-options-D6G_F3eF.js → channel-options-LLmAnD_L.js} +1 -1
- package/dist/{channels-cli-Cqq_mzfB.js → channels-cli-B0OQvVUL.js} +10 -10
- package/dist/{channels-cli-JOUMlq_F.js → channels-cli-xoromnio.js} +10 -10
- package/dist/{chrome-OTJg3QKn.js → chrome-CmQwGAuL.js} +7 -7
- package/dist/{cli-mps-KWqp.js → cli-C7v-sID8.js} +7 -7
- package/dist/{cli-B8UZj63C.js → cli-CMNR7ULk.js} +7 -7
- package/dist/{client-CdiymIXS.js → client-DCxeV1bw.js} +2 -0
- package/dist/{client-DDqXo-cF.js → client-k0MT6NBw.js} +2 -0
- package/dist/{command-registry-BamL-8ni.js → command-registry-CXcvXjUR.js} +11 -11
- package/dist/{completion-cli-CcPYX9ML.js → completion-cli-B1Fg6Lmg.js} +2 -2
- package/dist/{completion-cli-BE3hVsai.js → completion-cli-DJ1YCeSg.js} +1 -1
- package/dist/{config-cli-BQtaSYis.js → config-cli-CQ1FAvY_.js} +1 -1
- package/dist/{config-cli-thmRhEXK.js → config-cli-D5DlWt6T.js} +1 -1
- package/dist/{configure-CldmyPrd.js → configure-DG1lf0Ld.js} +6 -6
- package/dist/{configure-BYjDOt22.js → configure-bhJB2Dti.js} +6 -6
- package/dist/control-ui/js/scheduling.js +0 -1
- package/dist/control-ui/js/subagents.js +0 -1
- package/dist/control-ui/js/symframe.js +35 -5
- package/dist/{cron-cli-CULf3dmR.js → cron-cli-8RaBr1CM.js} +3 -3
- package/dist/{cron-cli-DKsbgF-x.js → cron-cli-fW3wtftG.js} +3 -3
- package/dist/{daemon-cli-C5WZasB0.js → daemon-cli-0EiZTQ2A.js} +2 -2
- package/dist/{daemon-cli-BNjzVjLA.js → daemon-cli-Y6clFgva.js} +2 -2
- package/dist/daemon-cli.js +2 -0
- package/dist/{deliver-BiWlR84Y.js → deliver-B04yNX82.js} +4 -4
- package/dist/{devices-cli-rR11xT7v.js → devices-cli-C2gQTsB0.js} +2 -2
- package/dist/{devices-cli-CZKVVOJl.js → devices-cli-DfiSkZ7k.js} +2 -2
- package/dist/{doctor-completion-BNg17v6i.js → doctor-completion-CfF0J8fs.js} +1 -1
- package/dist/{doctor-completion-XdRobzWG.js → doctor-completion-ScxFfN93.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-DS6ZEPKH.js → exec-approvals-cli-BaKWIf56.js} +4 -4
- package/dist/{exec-approvals-cli-C4HEY0eG.js → exec-approvals-cli-Cl-vWA1q.js} +4 -4
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-CAc-uivv.js → gateway-cli-CK-5nguV.js} +17 -17
- package/dist/{gateway-cli-CGXvamVN.js → gateway-cli-kq5EWlnF.js} +17 -17
- package/dist/{gateway-rpc-BmYtSmmM.js → gateway-rpc-Bzg_TTKP.js} +1 -1
- package/dist/{gateway-rpc-DJ2ZjQmX.js → gateway-rpc-D12UaJS5.js} +1 -1
- package/dist/{glass-ui-ws-Bha2cLkY.js → glass-ui-ws-B6p0iPsO.js} +14 -14
- package/dist/{glass-ui-ws-DCCEkdBr.js → glass-ui-ws-CVr0_1gT.js} +14 -14
- package/dist/{health-Ba5X7a38.js → health-CJb2CYtg.js} +1 -1
- package/dist/{health-Ct-lDCmK.js → health-CPU9rQGj.js} +1 -1
- package/dist/{hooks-cli-DUL_PDOH.js → hooks-cli-13HCu5Xs.js} +8 -8
- package/dist/{hooks-cli-D2iAnwfW.js → hooks-cli-DbgVZaP4.js} +8 -8
- package/dist/index.js +11 -11
- package/dist/llm-slug-generator.js +4 -4
- package/dist/{logs-cli-N1bMTcij.js → logs-cli-CQeK5fn7.js} +3 -3
- package/dist/{logs-cli-CgMlVSvI.js → logs-cli-R16VTptK.js} +3 -3
- package/dist/{manager-BAcrpGcR.js → manager-B2SWSuad.js} +1 -1
- package/dist/{manager-B8q57Pg2.js → manager-BhEbaYDa.js} +1 -1
- package/dist/{manager-BcWElKHq.js → manager-CHLdCC6u.js} +1 -1
- package/dist/{manager-BUyQ1gFU.js → manager-CxFs8Z_F.js} +1 -1
- package/dist/{memory-By9GyX8z.js → memory-DFpqcIst.js} +2 -2
- package/dist/{memory-CHSa0jVf.js → memory-DavRjdTi.js} +2 -2
- package/dist/{memory-cli-JTWldzg5.js → memory-cli-B-Cp1Sb1.js} +2 -2
- package/dist/{memory-cli-e5KEX6Ql.js → memory-cli-DZnq3S6s.js} +2 -2
- package/dist/{models-dVS6tcNK.js → models-Cht7Mzvs.js} +3 -3
- package/dist/{models-cli-B-u1KOUo.js → models-cli-B_motPDX.js} +9 -9
- package/dist/{models-cli-DJnRAEsb.js → models-cli-DXswzgUR.js} +10 -10
- package/dist/{node-cli-BqvgYrlJ.js → node-cli-D-gsjRXY.js} +1 -1
- package/dist/{node-cli-CKuOdw5j.js → node-cli-VmKhIXuP.js} +1 -1
- package/dist/{nodes-cli-C6kDpXS_.js → nodes-cli-BMvxQGCp.js} +3 -3
- package/dist/{nodes-cli-BrV7Xpf_.js → nodes-cli-D199d74o.js} +3 -3
- package/dist/{onboard-BoKwKol7.js → onboard-CdRA8BRG.js} +3 -3
- package/dist/{onboard-CHOoD7jN.js → onboard-DFJcbABp.js} +3 -3
- package/dist/{onboard-channels-CfzUCh7p.js → onboard-channels-Ca7ZFQ2Y.js} +1 -1
- package/dist/{onboard-channels-C4_2V9uU.js → onboard-channels-fadyQGBK.js} +1 -1
- package/dist/{onboard-helpers-Dpb3-BZm.js → onboard-helpers-BcLPSb5N.js} +1 -1
- package/dist/{onboard-helpers-DI-HmD7F.js → onboard-helpers-CQBpac8h.js} +1 -1
- package/dist/{onboard-remote-Bs5NP5sK.js → onboard-remote-BWK5Ths4.js} +1 -1
- package/dist/{onboard-remote-B8wiom2Y.js → onboard-remote-Bo3tpC9N.js} +1 -1
- package/dist/{onboard-skills-BaprraLV.js → onboard-skills-BLl8HPJO.js} +1 -1
- package/dist/{onboard-skills-B6CZay_w.js → onboard-skills-DvacccqZ.js} +1 -1
- package/dist/{onboarding-B2BOb2RZ.js → onboarding-BywueA1d.js} +7 -7
- package/dist/{onboarding-DsxU2nSf.js → onboarding-ojb2rFkA.js} +7 -7
- package/dist/{onboarding.finalize-C-kW49Ut.js → onboarding.finalize-DHvlZi9G.js} +9 -9
- package/dist/{onboarding.finalize-BE7BU0jr.js → onboarding.finalize-DdxBQpUU.js} +8 -8
- package/dist/{onboarding.gateway-config-Bs46b6Gz.js → onboarding.gateway-config-DPBNWNV6.js} +3 -3
- package/dist/{onboarding.gateway-config-DqFBlQ06.js → onboarding.gateway-config-ZK9517uR.js} +3 -3
- package/dist/{pi-embedded-DEoacZlB.js → pi-embedded-DJE9TMwq.js} +46 -13
- package/dist/{pi-tools.policy-BeD_scvO.js → pi-tools.policy-06k__URR.js} +2 -1
- package/dist/{pi-tools.policy-CIw6PZ9e.js → pi-tools.policy-H2t-Xkfc.js} +2 -1
- package/dist/{plugin-registry-DeslTmEa.js → plugin-registry-Tlmjr-LX.js} +1 -1
- package/dist/{plugin-registry-D1BIaht5.js → plugin-registry-tG7NXc3Y.js} +1 -1
- package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +17 -0
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +8 -0
- package/dist/{plugins-cli-tWL29ean.js → plugins-cli-CRKD8aho.js} +8 -8
- package/dist/{plugins-cli-DJIjgG5p.js → plugins-cli-Cm0G_-Y5.js} +8 -8
- package/dist/{program-C_ecACg4.js → program-DEmAlwmD.js} +13 -13
- package/dist/{program-context-DhXsfGWA.js → program-context-DRCRbDpu.js} +30 -30
- package/dist/{prompt-select-styled-5mNa_JDe.js → prompt-select-styled-B41Tx9aC.js} +7 -7
- package/dist/{prompt-select-styled-B0UbChI2.js → prompt-select-styled-pomsR-zf.js} +7 -7
- package/dist/{provider-auth-helpers-c3gQEsiU.js → provider-auth-helpers-CdQwOam7.js} +1 -1
- package/dist/{provider-auth-helpers-BikwPxIZ.js → provider-auth-helpers-rKWs_r7a.js} +1 -1
- package/dist/{push-apns-DAYwWXpM.js → push-apns-CZPUHftn.js} +1 -1
- package/dist/{push-apns-COFa30nz.js → push-apns-eCM0qmrY.js} +1 -1
- package/dist/{pw-ai-DY_6l11g.js → pw-ai-DLsdzdgc.js} +1 -1
- package/dist/{register.agent-B6pZEY8i.js → register.agent-BQPvYYdn.js} +13 -13
- package/dist/{register.agent-D_zWbLp4.js → register.agent-N1hoqMFR.js} +12 -12
- package/dist/{register.configure-z9G70eYJ.js → register.configure-BAc3P4Z-.js} +15 -15
- package/dist/{register.configure-qpAPaUf1.js → register.configure-BHHZ44xB.js} +15 -15
- package/dist/{register.maintenance-Ds0ujl3V.js → register.maintenance-DDgy5Iyy.js} +13 -13
- package/dist/{register.maintenance-DLaTTsm9.js → register.maintenance-lX0a3Hzl.js} +14 -14
- package/dist/{register.message-0N5-oUQ2.js → register.message-B4lDhHpE.js} +8 -8
- package/dist/{register.message-ChR97uym.js → register.message-Br-IH_0z.js} +8 -8
- package/dist/{register.onboard-D5S1tP0K.js → register.onboard-B-GoYJIc.js} +6 -6
- package/dist/{register.onboard-B7mbI-9F.js → register.onboard-Bv0s2_KV.js} +6 -6
- package/dist/{register.setup-CaA-JN2n.js → register.setup-4lNdC98i.js} +6 -6
- package/dist/{register.setup-CJ9hldNi.js → register.setup-DQ6KLkAI.js} +6 -6
- package/dist/{register.status-health-sessions-BUgIBm_S.js → register.status-health-sessions-ByGn71_M.js} +9 -9
- package/dist/{register.status-health-sessions-CkZTuaL-.js → register.status-health-sessions-Cg7bK5K2.js} +9 -9
- package/dist/{register.subclis-Ca8FmJFy.js → register.subclis-FMlcLBX0.js} +20 -20
- package/dist/{rpc-D4d4nLSU.js → rpc-Dk1Az_d8.js} +1 -1
- package/dist/{rpc-BWgqz86j.js → rpc-JAmDaTYt.js} +1 -1
- package/dist/{run-main-DMrkCeK2.js → run-main-DSyeVDsT.js} +21 -21
- package/dist/{security-cli-C_KMIhS2.js → security-cli-D47LQbpf.js} +4 -4
- package/dist/{security-cli-McZcuPWz.js → security-cli-DmgGLP83.js} +4 -4
- package/dist/{server-methods-BygKI0kw.js → server-methods-BkHB2MOW.js} +13 -12
- package/dist/{server-methods-szCGOyyf.js → server-methods-DGBBt49x.js} +13 -12
- package/dist/{server-node-events-y9KRPn6N.js → server-node-events-C186LRm0.js} +9 -9
- package/dist/{server-node-events-CbR5rq2-.js → server-node-events-D-Akk3uq.js} +9 -9
- package/dist/{status-lqzeb_Td.js → status-Bahhq7OQ.js} +1 -1
- package/dist/{status-Cthysi1v.js → status-CFgCSaDq.js} +5 -5
- package/dist/{status-uRIajsvi.js → status-D9LC5P_Y.js} +5 -5
- package/dist/{status-BZ9FL5l4.js → status-poPDyC8O.js} +1 -1
- package/dist/{subagent-registry-DwvGle7T.js → subagent-registry-V2o45tIn.js} +45 -15
- package/dist/{symframe-cli-D00zI8yK.js → symframe-cli-bxdpivve.js} +6 -4
- package/dist/{symframe-cli-0tRARGnc.js → symframe-cli-ppdMo15M.js} +6 -4
- package/dist/{synthesis-BKLx13A_.js → synthesis-B2EyHFXy.js} +7 -7
- package/dist/{synthesis-P09ozKOL.js → synthesis-BlJyO1E_.js} +2 -2
- package/dist/{synthesis-CzKaWpzb.js → synthesis-C2WbvLOI.js} +4 -4
- package/dist/{synthesis-DwAlX75N.js → synthesis-CPSq83PP.js} +7 -7
- package/dist/{system-cli-OzNqTgb2.js → system-cli-BroqLjZ6.js} +3 -3
- package/dist/{system-cli-D18NNk54.js → system-cli-nPyjUPBH.js} +3 -3
- package/dist/{tui-CDovUd2Z.js → tui-Bp9k5skv.js} +2 -2
- package/dist/{tui-mmN0hLk6.js → tui-DzROrE20.js} +2 -2
- package/dist/{tui-cli-COLpBx2w.js → tui-cli-BHBF8O-3.js} +3 -3
- package/dist/{tui-cli--wAWyd-U.js → tui-cli-Dv4hBFdc.js} +3 -3
- package/dist/{unified-runner-CuhQvmLZ.js → unified-runner-CIQIkbvi.js} +53 -20
- package/dist/{unified-runner-CSqDmSWt.js → unified-runner-CduaBH_0.js} +45 -15
- package/dist/{update-cli-BsfG48ZS.js → update-cli-BKnHBe8a.js} +15 -15
- package/dist/{update-cli-Df_HQi-p.js → update-cli-WcLxjBiY.js} +14 -14
- package/extensions/memory-core/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/outlook/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/package.json +1 -1
|
@@ -9,12 +9,12 @@ import { _ as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, c as
|
|
|
9
9
|
import { n as resolveCliName, t as formatCliCommand } from "./command-format-BrrHNE8r.js";
|
|
10
10
|
import { _ as DEFAULT_MODEL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, g as DEFAULT_CONTEXT_TOKENS, h as getProviderAdapter, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$1, t as buildAllowedModelSet, u as resolveConfiguredModelRef, v as DEFAULT_PROVIDER } from "./model-selection-BqshlIZc.js";
|
|
11
11
|
import { n as saveJsonFile, t as loadJsonFile } from "./json-file-CZ3ssFR9.js";
|
|
12
|
-
import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-
|
|
12
|
+
import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-B04yNX82.js";
|
|
13
13
|
import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, o as normalizeHostname, p as parseDurationMs, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-DNhyFMRW.js";
|
|
14
14
|
import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell, s as isTruthyEnvValue } from "./shell-env-B1lDWz4t.js";
|
|
16
16
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-BGJu2aC-.js";
|
|
17
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
17
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CmQwGAuL.js";
|
|
18
18
|
import { l as parseFrontmatterBlock } from "./frontmatter-CJEX1BrH.js";
|
|
19
19
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-Dm4gX4Tl.js";
|
|
20
20
|
import { n as redactToolDetail } from "./redact-CSGZUFxa.js";
|
|
@@ -31,7 +31,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.j
|
|
|
31
31
|
import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-D_vCJSzF.js";
|
|
32
32
|
import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BALvP9wI.js";
|
|
33
33
|
import { n as getDiagnosticSessionState } from "./diagnostic-session-state-BDfanaOY.js";
|
|
34
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-
|
|
34
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-B2SWSuad.js";
|
|
35
35
|
import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-uhEBNQfj.js";
|
|
36
36
|
import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-DCGR3yfh.js";
|
|
37
37
|
import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-D0NzzC4I.js";
|
|
@@ -58,7 +58,7 @@ import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUI
|
|
|
58
58
|
import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
|
|
59
59
|
import AjvPkg from "ajv";
|
|
60
60
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
61
|
-
import { WebSocket } from "ws";
|
|
61
|
+
import { WebSocket as WebSocket$1 } from "ws";
|
|
62
62
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
63
63
|
import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
|
|
64
64
|
import { createJiti } from "jiti";
|
|
@@ -4460,7 +4460,7 @@ async function getMemorySearchManager(params) {
|
|
|
4460
4460
|
const wrapper = new FallbackMemoryManager({
|
|
4461
4461
|
primary,
|
|
4462
4462
|
fallbackFactory: async () => {
|
|
4463
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4463
|
+
const { MemoryIndexManager } = await import("./manager-B2SWSuad.js").then((n) => n.t);
|
|
4464
4464
|
return await MemoryIndexManager.get(params);
|
|
4465
4465
|
}
|
|
4466
4466
|
}, () => QMD_MANAGER_CACHE.delete(cacheKey));
|
|
@@ -4473,7 +4473,7 @@ async function getMemorySearchManager(params) {
|
|
|
4473
4473
|
}
|
|
4474
4474
|
}
|
|
4475
4475
|
try {
|
|
4476
|
-
const { MemoryIndexManager } = await import("./manager-
|
|
4476
|
+
const { MemoryIndexManager } = await import("./manager-B2SWSuad.js").then((n) => n.t);
|
|
4477
4477
|
return { manager: await MemoryIndexManager.get(params) };
|
|
4478
4478
|
} catch (err) {
|
|
4479
4479
|
return {
|
|
@@ -7447,11 +7447,18 @@ function buildAgentSystemPrompt(params) {
|
|
|
7447
7447
|
" Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
|
|
7448
7448
|
" Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
|
|
7449
7449
|
"",
|
|
7450
|
-
"## Symframe (
|
|
7451
|
-
"
|
|
7452
|
-
"
|
|
7453
|
-
"
|
|
7454
|
-
"
|
|
7450
|
+
"## Symframe (window into your mind)",
|
|
7451
|
+
"The right-column panel shows what you're thinking about, holding, considering, or producing. Push cards that represent your current mental state — not just content too big for chat. Even small fragments belong here if they reflect what you're working with.",
|
|
7452
|
+
"Call `display_artifact` whenever you have an artifact (draft, snippet, reference, option) worth surfacing alongside the conversation. Always set `intent`:",
|
|
7453
|
+
" - `holding` — keep this in working memory across turns (URLs, file paths, snippets)",
|
|
7454
|
+
" - `weighing` — one option among siblings under consideration",
|
|
7455
|
+
" - `producing` — actively drafting; you intend to update this card again",
|
|
7456
|
+
" - `drafted` — finished artifact ready for the user to review (email, doc, code)",
|
|
7457
|
+
" - `reference` — read-only context you surfaced for the user (file excerpt, search hit)",
|
|
7458
|
+
" - `awaiting` — deferred/scheduled/in-flight work (sub-agent output, scheduled task)",
|
|
7459
|
+
"Renderer `type`: `text` · `markdown` · `code` (with `language` hljs hint) · `email-draft` (with `email: { from?, to, cc?, bcc?, subject, body }`) · `pdf` · `audio` · `video` (`url` + optional `mimeType`).",
|
|
7460
|
+
"Use `action: \"update\"` with the same `id` to revise a card you pushed earlier (e.g. iterate a draft across turns). `action: \"remove\"` to dismiss. Set `force: true` only when overriding a sticky card — sticky cards represent the user's pinned context and shouldn't be clobbered by routine pushes.",
|
|
7461
|
+
"After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel.\"). Don't repeat the full content in chat.",
|
|
7455
7462
|
"",
|
|
7456
7463
|
...compactMode ? [] : [
|
|
7457
7464
|
"## Tool Call Style",
|
|
@@ -9160,9 +9167,11 @@ const ChatSymframePushParamsSchema = Type.Object({
|
|
|
9160
9167
|
Type.Literal("remove")
|
|
9161
9168
|
]),
|
|
9162
9169
|
id: Type.Optional(NonEmptyString),
|
|
9170
|
+
force: Type.Optional(Type.Boolean()),
|
|
9163
9171
|
card: Type.Optional(Type.Object({
|
|
9164
9172
|
id: Type.Optional(NonEmptyString),
|
|
9165
9173
|
type: Type.Optional(Type.String()),
|
|
9174
|
+
intent: Type.Optional(Type.String()),
|
|
9166
9175
|
title: Type.Optional(Type.String()),
|
|
9167
9176
|
body: Type.Optional(Type.String()),
|
|
9168
9177
|
bodyHtml: Type.Optional(Type.String()),
|
|
@@ -9660,7 +9669,7 @@ var GatewayClient = class {
|
|
|
9660
9669
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
9661
9670
|
});
|
|
9662
9671
|
}
|
|
9663
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
9672
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
9664
9673
|
this.ws.on("open", () => {
|
|
9665
9674
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
9666
9675
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -9879,7 +9888,7 @@ var GatewayClient = class {
|
|
|
9879
9888
|
return null;
|
|
9880
9889
|
}
|
|
9881
9890
|
async request(method, params, opts) {
|
|
9882
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
9891
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
9883
9892
|
const id = randomUUID();
|
|
9884
9893
|
const frame = {
|
|
9885
9894
|
type: "req",
|
|
@@ -10842,7 +10851,7 @@ async function routeReply(params) {
|
|
|
10842
10851
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10843
10852
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10844
10853
|
try {
|
|
10845
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10854
|
+
const { deliverOutboundPayloads } = await import("./deliver-B04yNX82.js").then((n) => n.n);
|
|
10846
10855
|
return {
|
|
10847
10856
|
ok: true,
|
|
10848
10857
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -37032,6 +37041,23 @@ const ARTIFACT_ACTIONS = [
|
|
|
37032
37041
|
"update",
|
|
37033
37042
|
"remove"
|
|
37034
37043
|
];
|
|
37044
|
+
/**
|
|
37045
|
+
* Stage A: intent vocabulary added as orthogonal metadata to renderer type.
|
|
37046
|
+
* Intent answers "why is this card in the panel"; type answers "how to draw
|
|
37047
|
+
* it". Renderers ignore intent for now — it's stored on the registry entry
|
|
37048
|
+
* and surfaced as a data-intent attribute on the card root, ready for the
|
|
37049
|
+
* Stage B+ visual treatment (substrate prominence for drafted, clustering
|
|
37050
|
+
* for weighing, decay overrides, etc.). See
|
|
37051
|
+
* ~/Documents/dynamic-glass-panel.md §4.
|
|
37052
|
+
*/
|
|
37053
|
+
const ARTIFACT_INTENTS = [
|
|
37054
|
+
"holding",
|
|
37055
|
+
"weighing",
|
|
37056
|
+
"producing",
|
|
37057
|
+
"awaiting",
|
|
37058
|
+
"drafted",
|
|
37059
|
+
"reference"
|
|
37060
|
+
];
|
|
37035
37061
|
const ActionSchema = Type.Object({
|
|
37036
37062
|
label: Type.String(),
|
|
37037
37063
|
kind: Type.Optional(stringEnum(["primary", "secondary"])),
|
|
@@ -37050,6 +37076,7 @@ const DisplayArtifactSchema = Type.Object({
|
|
|
37050
37076
|
action: Type.Optional(stringEnum(ARTIFACT_ACTIONS)),
|
|
37051
37077
|
id: Type.Optional(Type.String()),
|
|
37052
37078
|
type: Type.Optional(stringEnum(ARTIFACT_TYPES)),
|
|
37079
|
+
intent: Type.Optional(stringEnum(ARTIFACT_INTENTS)),
|
|
37053
37080
|
title: Type.Optional(Type.String()),
|
|
37054
37081
|
body: Type.Optional(Type.String()),
|
|
37055
37082
|
language: Type.Optional(Type.String()),
|
|
@@ -37059,7 +37086,8 @@ const DisplayArtifactSchema = Type.Object({
|
|
|
37059
37086
|
poster: Type.Optional(Type.String()),
|
|
37060
37087
|
email: Type.Optional(EmailFieldsSchema),
|
|
37061
37088
|
actions: Type.Optional(Type.Array(ActionSchema)),
|
|
37062
|
-
sticky: Type.Optional(Type.Boolean())
|
|
37089
|
+
sticky: Type.Optional(Type.Boolean()),
|
|
37090
|
+
force: Type.Optional(Type.Boolean())
|
|
37063
37091
|
});
|
|
37064
37092
|
function genCardId() {
|
|
37065
37093
|
return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -37068,7 +37096,7 @@ function createDisplayArtifactTool() {
|
|
|
37068
37096
|
return {
|
|
37069
37097
|
label: "Display Artifact",
|
|
37070
37098
|
name: "display_artifact",
|
|
37071
|
-
description: "Push a card into the Glass UI symframe
|
|
37099
|
+
description: "Push a card into the Glass UI symframe — the right-column window into your mind. Use for content that represents what you're thinking about, holding, considering, or producing — drafts, references you're keeping in view, options being weighed, generated artifacts. Always set `intent` (holding | weighing | producing | drafted | reference | awaiting). Renderer `type`: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise (set force:true to update a sticky card), or action=remove to dismiss.",
|
|
37072
37100
|
parameters: DisplayArtifactSchema,
|
|
37073
37101
|
execute: async (_toolCallId, args) => {
|
|
37074
37102
|
const params = args;
|
|
@@ -37079,10 +37107,12 @@ function createDisplayArtifactTool() {
|
|
|
37079
37107
|
ok: false,
|
|
37080
37108
|
error: `${action} requires an id`
|
|
37081
37109
|
});
|
|
37110
|
+
const force = params.force === true;
|
|
37082
37111
|
if (action === "remove") {
|
|
37083
37112
|
emitSymframePush({
|
|
37084
37113
|
action,
|
|
37085
|
-
id
|
|
37114
|
+
id,
|
|
37115
|
+
force
|
|
37086
37116
|
});
|
|
37087
37117
|
return jsonResult({
|
|
37088
37118
|
ok: true,
|
|
@@ -37093,6 +37123,7 @@ function createDisplayArtifactTool() {
|
|
|
37093
37123
|
const card = { id };
|
|
37094
37124
|
for (const key of [
|
|
37095
37125
|
"type",
|
|
37126
|
+
"intent",
|
|
37096
37127
|
"title",
|
|
37097
37128
|
"body",
|
|
37098
37129
|
"language",
|
|
@@ -37120,7 +37151,8 @@ function createDisplayArtifactTool() {
|
|
|
37120
37151
|
emitSymframePush({
|
|
37121
37152
|
action,
|
|
37122
37153
|
id,
|
|
37123
|
-
card
|
|
37154
|
+
card,
|
|
37155
|
+
force
|
|
37124
37156
|
});
|
|
37125
37157
|
return jsonResult({
|
|
37126
37158
|
ok: true,
|
|
@@ -44735,7 +44767,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
44735
44767
|
return;
|
|
44736
44768
|
}
|
|
44737
44769
|
try {
|
|
44738
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
44770
|
+
const { deliverOutboundPayloads } = await import("./deliver-B04yNX82.js").then((n) => n.n);
|
|
44739
44771
|
await deliverOutboundPayloads({
|
|
44740
44772
|
cfg: params.cfg,
|
|
44741
44773
|
channel,
|
|
@@ -53470,7 +53502,8 @@ const SUBAGENT_TOOL_DENY_ALWAYS = [
|
|
|
53470
53502
|
"outlook_reply",
|
|
53471
53503
|
"outlook_search",
|
|
53472
53504
|
"outlook_folders",
|
|
53473
|
-
"outlook_move"
|
|
53505
|
+
"outlook_move",
|
|
53506
|
+
"display_artifact"
|
|
53474
53507
|
];
|
|
53475
53508
|
/**
|
|
53476
53509
|
* Additional tools denied for leaf sub-agents (depth >= maxSpawnDepth).
|
|
@@ -52,8 +52,8 @@ import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o
|
|
|
52
52
|
import { C as enqueueSystemEvent, E as buildChannelSummary, S as drainSystemEventEntries, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, b as resolveUsageProviderId, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, k as redactIdentifier, x as lookupContextTokens, y as formatUsageWindowSummary } from "./session-utils-Cs1jlD-q.js";
|
|
53
53
|
import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-DPR4A2dx.js";
|
|
54
54
|
import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
|
|
55
|
-
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-
|
|
56
|
-
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-
|
|
55
|
+
import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DavRjdTi.js";
|
|
56
|
+
import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CHLdCC6u.js";
|
|
57
57
|
import { f as runTasksWithConcurrency } from "./internal-DVCddhhN.js";
|
|
58
58
|
import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BxfKjCUx.js";
|
|
59
59
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
|
|
@@ -62,8 +62,8 @@ import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
|
|
|
62
62
|
import { n as getDefaultMediaLocalRoots } from "./local-roots-CgDCgCuM.js";
|
|
63
63
|
import { i as resolveNativeSkillsEnabled, n as isRestartEnabled, r as resolveNativeCommandsEnabled, t as isCommandFlagEnabled } from "./commands-DUzLGgEZ.js";
|
|
64
64
|
import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChatCommands, r as listChatCommandsForConfig } from "./commands-registry-Ca5hh7nh.js";
|
|
65
|
-
import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-
|
|
66
|
-
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-
|
|
65
|
+
import { Ht as SESSION_LABEL_MAX_LENGTH } from "./client-k0MT6NBw.js";
|
|
66
|
+
import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege } from "./call-BccaLPi8.js";
|
|
67
67
|
import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-DFOL6UQ9.js";
|
|
68
68
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
69
69
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B7Rvs8pK.js";
|
|
@@ -86,9 +86,9 @@ import { t as emitSymframePush } from "./symframe-broadcast-CXo2qoxy.js";
|
|
|
86
86
|
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-H1qOf0q-.js";
|
|
87
87
|
import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C1IIA6kH.js";
|
|
88
88
|
import { t as parseTimeoutMs } from "./parse-timeout-DmEcHIsV.js";
|
|
89
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
89
|
+
import { n as registerMemoryCli } from "./memory-cli-B-Cp1Sb1.js";
|
|
90
90
|
import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CbXXjn9X.js";
|
|
91
|
-
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-
|
|
91
|
+
import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-H2t-Xkfc.js";
|
|
92
92
|
import { a as buildModelAliasLines, n as resolveModel$2 } from "./model-MUMSB_7d.js";
|
|
93
93
|
import { createRequire } from "node:module";
|
|
94
94
|
import process$1 from "node:process";
|
|
@@ -4678,11 +4678,18 @@ function buildAgentSystemPrompt(params) {
|
|
|
4678
4678
|
" Correct: call exec with command=\"echo hi\", then summarise the actual stdout you received.",
|
|
4679
4679
|
" Wrong: emit \"hi\" as text without calling exec — that's fabrication.",
|
|
4680
4680
|
"",
|
|
4681
|
-
"## Symframe (
|
|
4682
|
-
"
|
|
4683
|
-
"
|
|
4684
|
-
"
|
|
4685
|
-
"
|
|
4681
|
+
"## Symframe (window into your mind)",
|
|
4682
|
+
"The right-column panel shows what you're thinking about, holding, considering, or producing. Push cards that represent your current mental state — not just content too big for chat. Even small fragments belong here if they reflect what you're working with.",
|
|
4683
|
+
"Call `display_artifact` whenever you have an artifact (draft, snippet, reference, option) worth surfacing alongside the conversation. Always set `intent`:",
|
|
4684
|
+
" - `holding` — keep this in working memory across turns (URLs, file paths, snippets)",
|
|
4685
|
+
" - `weighing` — one option among siblings under consideration",
|
|
4686
|
+
" - `producing` — actively drafting; you intend to update this card again",
|
|
4687
|
+
" - `drafted` — finished artifact ready for the user to review (email, doc, code)",
|
|
4688
|
+
" - `reference` — read-only context you surfaced for the user (file excerpt, search hit)",
|
|
4689
|
+
" - `awaiting` — deferred/scheduled/in-flight work (sub-agent output, scheduled task)",
|
|
4690
|
+
"Renderer `type`: `text` · `markdown` · `code` (with `language` hljs hint) · `email-draft` (with `email: { from?, to, cc?, bcc?, subject, body }`) · `pdf` · `audio` · `video` (`url` + optional `mimeType`).",
|
|
4691
|
+
"Use `action: \"update\"` with the same `id` to revise a card you pushed earlier (e.g. iterate a draft across turns). `action: \"remove\"` to dismiss. Set `force: true` only when overriding a sticky card — sticky cards represent the user's pinned context and shouldn't be clobbered by routine pushes.",
|
|
4692
|
+
"After pushing, briefly tell the user what's in the panel (e.g. \"Drafted the email — shown in your panel.\"). Don't repeat the full content in chat.",
|
|
4686
4693
|
"",
|
|
4687
4694
|
...compactMode ? [] : [
|
|
4688
4695
|
"## Tool Call Style",
|
|
@@ -25924,6 +25931,23 @@ const ARTIFACT_ACTIONS = [
|
|
|
25924
25931
|
"update",
|
|
25925
25932
|
"remove"
|
|
25926
25933
|
];
|
|
25934
|
+
/**
|
|
25935
|
+
* Stage A: intent vocabulary added as orthogonal metadata to renderer type.
|
|
25936
|
+
* Intent answers "why is this card in the panel"; type answers "how to draw
|
|
25937
|
+
* it". Renderers ignore intent for now — it's stored on the registry entry
|
|
25938
|
+
* and surfaced as a data-intent attribute on the card root, ready for the
|
|
25939
|
+
* Stage B+ visual treatment (substrate prominence for drafted, clustering
|
|
25940
|
+
* for weighing, decay overrides, etc.). See
|
|
25941
|
+
* ~/Documents/dynamic-glass-panel.md §4.
|
|
25942
|
+
*/
|
|
25943
|
+
const ARTIFACT_INTENTS = [
|
|
25944
|
+
"holding",
|
|
25945
|
+
"weighing",
|
|
25946
|
+
"producing",
|
|
25947
|
+
"awaiting",
|
|
25948
|
+
"drafted",
|
|
25949
|
+
"reference"
|
|
25950
|
+
];
|
|
25927
25951
|
const ActionSchema = Type.Object({
|
|
25928
25952
|
label: Type.String(),
|
|
25929
25953
|
kind: Type.Optional(stringEnum(["primary", "secondary"])),
|
|
@@ -25942,6 +25966,7 @@ const DisplayArtifactSchema = Type.Object({
|
|
|
25942
25966
|
action: Type.Optional(stringEnum(ARTIFACT_ACTIONS)),
|
|
25943
25967
|
id: Type.Optional(Type.String()),
|
|
25944
25968
|
type: Type.Optional(stringEnum(ARTIFACT_TYPES)),
|
|
25969
|
+
intent: Type.Optional(stringEnum(ARTIFACT_INTENTS)),
|
|
25945
25970
|
title: Type.Optional(Type.String()),
|
|
25946
25971
|
body: Type.Optional(Type.String()),
|
|
25947
25972
|
language: Type.Optional(Type.String()),
|
|
@@ -25951,7 +25976,8 @@ const DisplayArtifactSchema = Type.Object({
|
|
|
25951
25976
|
poster: Type.Optional(Type.String()),
|
|
25952
25977
|
email: Type.Optional(EmailFieldsSchema),
|
|
25953
25978
|
actions: Type.Optional(Type.Array(ActionSchema)),
|
|
25954
|
-
sticky: Type.Optional(Type.Boolean())
|
|
25979
|
+
sticky: Type.Optional(Type.Boolean()),
|
|
25980
|
+
force: Type.Optional(Type.Boolean())
|
|
25955
25981
|
});
|
|
25956
25982
|
function genCardId() {
|
|
25957
25983
|
return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -25960,7 +25986,7 @@ function createDisplayArtifactTool() {
|
|
|
25960
25986
|
return {
|
|
25961
25987
|
label: "Display Artifact",
|
|
25962
25988
|
name: "display_artifact",
|
|
25963
|
-
description: "Push a card into the Glass UI symframe
|
|
25989
|
+
description: "Push a card into the Glass UI symframe — the right-column window into your mind. Use for content that represents what you're thinking about, holding, considering, or producing — drafts, references you're keeping in view, options being weighed, generated artifacts. Always set `intent` (holding | weighing | producing | drafted | reference | awaiting). Renderer `type`: text | markdown | code | email-draft | pdf | audio | video. Returns the card id; pass action=update with the same id to revise (set force:true to update a sticky card), or action=remove to dismiss.",
|
|
25964
25990
|
parameters: DisplayArtifactSchema,
|
|
25965
25991
|
execute: async (_toolCallId, args) => {
|
|
25966
25992
|
const params = args;
|
|
@@ -25971,10 +25997,12 @@ function createDisplayArtifactTool() {
|
|
|
25971
25997
|
ok: false,
|
|
25972
25998
|
error: `${action} requires an id`
|
|
25973
25999
|
});
|
|
26000
|
+
const force = params.force === true;
|
|
25974
26001
|
if (action === "remove") {
|
|
25975
26002
|
emitSymframePush({
|
|
25976
26003
|
action,
|
|
25977
|
-
id
|
|
26004
|
+
id,
|
|
26005
|
+
force
|
|
25978
26006
|
});
|
|
25979
26007
|
return jsonResult({
|
|
25980
26008
|
ok: true,
|
|
@@ -25985,6 +26013,7 @@ function createDisplayArtifactTool() {
|
|
|
25985
26013
|
const card = { id };
|
|
25986
26014
|
for (const key of [
|
|
25987
26015
|
"type",
|
|
26016
|
+
"intent",
|
|
25988
26017
|
"title",
|
|
25989
26018
|
"body",
|
|
25990
26019
|
"language",
|
|
@@ -26012,7 +26041,8 @@ function createDisplayArtifactTool() {
|
|
|
26012
26041
|
emitSymframePush({
|
|
26013
26042
|
action,
|
|
26014
26043
|
id,
|
|
26015
|
-
card
|
|
26044
|
+
card,
|
|
26045
|
+
force
|
|
26016
26046
|
});
|
|
26017
26047
|
return jsonResult({
|
|
26018
26048
|
ok: true,
|
|
@@ -17,11 +17,11 @@ import "./manifest-registry-CVLmi8rz.js";
|
|
|
17
17
|
import "./skills-status-g3ssrjuX.js";
|
|
18
18
|
import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-D7TcU4qN.js";
|
|
19
19
|
import "./shell-env-CTYaxUs_.js";
|
|
20
|
-
import "./client-
|
|
21
|
-
import "./call-
|
|
20
|
+
import "./client-DCxeV1bw.js";
|
|
21
|
+
import "./call-DZg43vv8.js";
|
|
22
22
|
import "./message-channel-DXToSaWK.js";
|
|
23
23
|
import "./pairing-token-B-OTYROz.js";
|
|
24
|
-
import "./subagent-registry-
|
|
24
|
+
import "./subagent-registry-V2o45tIn.js";
|
|
25
25
|
import "./sessions-Dn6VXn4p.js";
|
|
26
26
|
import "./plugins-BsEhWvLn.js";
|
|
27
27
|
import "./send-Dq252-bi.js";
|
|
@@ -51,8 +51,8 @@ import "./model-auth-Byr7Gic_.js";
|
|
|
51
51
|
import "./github-copilot-token-B5y4__YM.js";
|
|
52
52
|
import "./models-config-CiR_RUxw.js";
|
|
53
53
|
import "./reply-prefix-DV3KhOhL.js";
|
|
54
|
-
import "./memory-
|
|
55
|
-
import "./manager-
|
|
54
|
+
import "./memory-DFpqcIst.js";
|
|
55
|
+
import "./manager-CxFs8Z_F.js";
|
|
56
56
|
import "./sqlite-9jF_eajd.js";
|
|
57
57
|
import "./chunk-B2lBXhR0.js";
|
|
58
58
|
import "./markdown-tables-BEdkErjm.js";
|
|
@@ -85,10 +85,10 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
|
|
|
85
85
|
import "./cli-utils-DXfA5936.js";
|
|
86
86
|
import { t as formatHelpExamples } from "./help-format-Dbp8yEhl.js";
|
|
87
87
|
import "./progress-CI19Xh3z.js";
|
|
88
|
-
import "./memory-cli-
|
|
88
|
+
import "./memory-cli-DZnq3S6s.js";
|
|
89
89
|
import "./logging-UO6tk8Em.js";
|
|
90
90
|
import "./replies-CLREUzzB.js";
|
|
91
|
-
import "./pi-tools.policy-
|
|
91
|
+
import "./pi-tools.policy-06k__URR.js";
|
|
92
92
|
import { n as inheritOptionFromParent } from "./command-options-BFvvecvU.js";
|
|
93
93
|
import "./catalog-BQgWCFTH.js";
|
|
94
94
|
import { n as stylePromptMessage } from "./prompt-style-CZGg35Py.js";
|
|
@@ -99,21 +99,21 @@ import "./npm-registry-spec-BPgK9EL7.js";
|
|
|
99
99
|
import "./skill-scanner-BC3PyNso.js";
|
|
100
100
|
import "./installs-Dunp9UFl.js";
|
|
101
101
|
import "./channels-status-issues-BTvrA4nx.js";
|
|
102
|
-
import "./register.subclis-
|
|
103
|
-
import "./command-registry-
|
|
102
|
+
import "./register.subclis-FMlcLBX0.js";
|
|
103
|
+
import "./command-registry-CXcvXjUR.js";
|
|
104
104
|
import "./program-context-B_0V80zV.js";
|
|
105
|
-
import { r as installCompletion } from "./completion-cli-
|
|
105
|
+
import { r as installCompletion } from "./completion-cli-B1Fg6Lmg.js";
|
|
106
106
|
import "./daemon-runtime-AkgOtHR6.js";
|
|
107
107
|
import { r as parseSemver } from "./runtime-guard-LRRZ73eX.js";
|
|
108
|
-
import "./onboard-helpers-
|
|
108
|
+
import "./onboard-helpers-BcLPSb5N.js";
|
|
109
109
|
import "./systemd-CNnW7Chw.js";
|
|
110
110
|
import { t as resolveGatewayService } from "./service-DYpU1ajf.js";
|
|
111
111
|
import "./lifecycle-core-YmWzkN43.js";
|
|
112
112
|
import "./systemd-hints-BoFy3-m1.js";
|
|
113
|
-
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-
|
|
113
|
+
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-Y6clFgva.js";
|
|
114
114
|
import "./diagnostics-D2oNwzue.js";
|
|
115
115
|
import { t as renderTable } from "./table-D0JXlEhQ.js";
|
|
116
|
-
import "./health-
|
|
116
|
+
import "./health-CJb2CYtg.js";
|
|
117
117
|
import "./control-ui-assets-Dnz69KRU.js";
|
|
118
118
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-DLOnLuop.js";
|
|
119
119
|
import "./dm-policy-shared-BtrdvOIT.js";
|
|
@@ -124,8 +124,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
|
|
|
124
124
|
import "./doctor-config-flow-BIBJeoRl.js";
|
|
125
125
|
import "./systemd-linger-CctFkWNE.js";
|
|
126
126
|
import "./health-format-6tfMqkNX.js";
|
|
127
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
128
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
127
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-pomsR-zf.js";
|
|
128
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-ScxFfN93.js";
|
|
129
129
|
import { spawn, spawnSync } from "node:child_process";
|
|
130
130
|
import os from "node:os";
|
|
131
131
|
import path from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./unified-runner-
|
|
1
|
+
import "./unified-runner-CduaBH_0.js";
|
|
2
2
|
import { j as theme } from "./registry-Sbac4a4z.js";
|
|
3
3
|
import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
|
|
4
4
|
import { f as pathExists } from "./utils-CTPsqyE_.js";
|
|
@@ -53,8 +53,8 @@ import "./session-cost-usage-D3mgssM_.js";
|
|
|
53
53
|
import { h as trimLogTail } from "./session-utils-Cs1jlD-q.js";
|
|
54
54
|
import "./with-timeout-DPR4A2dx.js";
|
|
55
55
|
import "./reply-prefix-BFNeXT65.js";
|
|
56
|
-
import "./memory-
|
|
57
|
-
import "./manager-
|
|
56
|
+
import "./memory-DavRjdTi.js";
|
|
57
|
+
import "./manager-CHLdCC6u.js";
|
|
58
58
|
import "./sqlite-Cod7C5ba.js";
|
|
59
59
|
import "./chunk-BxfKjCUx.js";
|
|
60
60
|
import "./markdown-tables-CS1Tvb3z.js";
|
|
@@ -62,8 +62,8 @@ import "./fetch-guard-JHxT9355.js";
|
|
|
62
62
|
import "./local-roots-CgDCgCuM.js";
|
|
63
63
|
import "./commands-DUzLGgEZ.js";
|
|
64
64
|
import "./commands-registry-Ca5hh7nh.js";
|
|
65
|
-
import "./client-
|
|
66
|
-
import "./call-
|
|
65
|
+
import "./client-k0MT6NBw.js";
|
|
66
|
+
import "./call-BccaLPi8.js";
|
|
67
67
|
import "./pairing-token-Dcy37-4s.js";
|
|
68
68
|
import "./tool-display-DFOL6UQ9.js";
|
|
69
69
|
import "./skills-remote-bz71Bstn.js";
|
|
@@ -87,13 +87,13 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
|
|
|
87
87
|
import "./cli-utils-CuyGL3rq.js";
|
|
88
88
|
import { t as formatHelpExamples } from "./help-format-7hFcsqss.js";
|
|
89
89
|
import "./progress-swt2y17x.js";
|
|
90
|
-
import "./memory-cli-
|
|
90
|
+
import "./memory-cli-B-Cp1Sb1.js";
|
|
91
91
|
import "./logging-BWknayJl.js";
|
|
92
92
|
import "./replies-CbXXjn9X.js";
|
|
93
|
-
import "./pi-tools.policy-
|
|
93
|
+
import "./pi-tools.policy-H2t-Xkfc.js";
|
|
94
94
|
import "./model-MUMSB_7d.js";
|
|
95
95
|
import { r as parseSemver } from "./runtime-guard-CWA00ZXa.js";
|
|
96
|
-
import "./program-context-
|
|
96
|
+
import "./program-context-DRCRbDpu.js";
|
|
97
97
|
import "./catalog-BptA-dUv.js";
|
|
98
98
|
import "./skills-status-BKX1PjCc.js";
|
|
99
99
|
import { n as inheritOptionFromParent } from "./command-options-DDDwkB9t.js";
|
|
@@ -105,17 +105,17 @@ import "./npm-registry-spec-DTqn-NXZ.js";
|
|
|
105
105
|
import "./skill-scanner-BCgVcIwi.js";
|
|
106
106
|
import "./installs-D890uIIW.js";
|
|
107
107
|
import "./channels-status-issues-DLIzUsjR.js";
|
|
108
|
-
import { r as installCompletion } from "./completion-cli-
|
|
108
|
+
import { r as installCompletion } from "./completion-cli-DJ1YCeSg.js";
|
|
109
109
|
import "./daemon-runtime-DlQla_dA.js";
|
|
110
|
-
import "./onboard-helpers-
|
|
110
|
+
import "./onboard-helpers-CQBpac8h.js";
|
|
111
111
|
import "./systemd-CUIM0n5P.js";
|
|
112
112
|
import { t as resolveGatewayService } from "./service-e6MzlLCd.js";
|
|
113
113
|
import "./lifecycle-core-wFwnK_mD.js";
|
|
114
114
|
import "./systemd-hints-CsrzMCTD.js";
|
|
115
|
-
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-
|
|
115
|
+
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-0EiZTQ2A.js";
|
|
116
116
|
import "./diagnostics-DlZODdRf.js";
|
|
117
117
|
import { t as renderTable } from "./table-0A3xKJVC.js";
|
|
118
|
-
import "./health-
|
|
118
|
+
import "./health-CPU9rQGj.js";
|
|
119
119
|
import "./control-ui-assets-CJQ97d4u.js";
|
|
120
120
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-BCL_K7kx.js";
|
|
121
121
|
import "./dm-policy-shared-CeFt0nch.js";
|
|
@@ -126,8 +126,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
|
|
|
126
126
|
import "./doctor-config-flow-C52W1uUK.js";
|
|
127
127
|
import "./systemd-linger-BzYk7A6M.js";
|
|
128
128
|
import "./health-format-Bxg84_f4.js";
|
|
129
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
130
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
129
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-B41Tx9aC.js";
|
|
130
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CfF0J8fs.js";
|
|
131
131
|
import path from "node:path";
|
|
132
132
|
import os from "node:os";
|
|
133
133
|
import fs from "node:fs/promises";
|