@symerian/symi 3.5.25 → 3.5.27

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.
Files changed (161) hide show
  1. package/dist/{agent-DgVWcnlD.js → agent-CB5yb-7V.js} +1 -1
  2. package/dist/{agent-CBfp75J4.js → agent-DxRVDqSg.js} +1 -1
  3. package/dist/{agents-Dlcpc1K3.js → agents-DtRd3yEb.js} +3 -3
  4. package/dist/{audit-Ce-u6aaR.js → audit-C_3fAFeS.js} +2 -2
  5. package/dist/{audit-CPloCzEZ.js → audit-DyncRBKq.js} +2 -2
  6. package/dist/{auth-choice--DymOp5O.js → auth-choice-5SLfZiQ7.js} +2 -2
  7. package/dist/{auth-choice-CUvx59kv.js → auth-choice-DQplW60s.js} +2 -2
  8. package/dist/{banner-CY_9VW7E.js → banner-B_P_FrmA.js} +1 -1
  9. package/dist/{browser-cli-C5VVk6C9.js → browser-cli-CcCYZtag.js} +3 -3
  10. package/dist/{browser-cli-Ibgld3mA.js → browser-cli-D6xFqw9w.js} +3 -3
  11. package/dist/build-info.json +3 -3
  12. package/dist/bundled/boot-md/handler.js +2 -2
  13. package/dist/bundled/session-memory/handler.js +2 -2
  14. package/dist/{call-xdEE97oU.js → call-AZ9vNhST.js} +1 -1
  15. package/dist/{call-C2urR5Fj.js → call-DTshgdlW.js} +1 -1
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-options-rFgJaKzJ.js → channel-options-8NGYZjfd.js} +1 -1
  18. package/dist/{channel-options-DCmWOAc0.js → channel-options-DnWkDAWi.js} +1 -1
  19. package/dist/{channels-cli-QMHCRAb5.js → channels-cli-Bx90nSmB.js} +9 -9
  20. package/dist/{channels-cli-Cs1Z0dn8.js → channels-cli-CGCyzahW.js} +9 -9
  21. package/dist/{cli-BafqEuaj.js → cli-DHG9iZJi.js} +6 -6
  22. package/dist/{cli-CadU09SC.js → cli-DZAtyHzb.js} +6 -6
  23. package/dist/{client-yVTJ5jx5.js → client-BOd5o3Kp.js} +9 -1
  24. package/dist/{client-Cs9Bh-G0.js → client-DH75FlQF.js} +9 -1
  25. package/dist/{command-registry-CLm8TAH3.js → command-registry-DBbzZvh6.js} +11 -11
  26. package/dist/{completion-cli-Dd56ibFZ.js → completion-cli-Cbf0-8ob.js} +1 -1
  27. package/dist/{completion-cli-DOBXkVwG.js → completion-cli-DoQrkCAd.js} +2 -2
  28. package/dist/{config-cli-BgHYqFH1.js → config-cli-9a5qBcdo.js} +1 -1
  29. package/dist/{config-cli-GwUJEapt.js → config-cli-D4RmoOxe.js} +1 -1
  30. package/dist/{configure-5md67tCP.js → configure-kaf3aurx.js} +6 -6
  31. package/dist/{configure-DmzM0S7L.js → configure-ryB8EvyP.js} +6 -6
  32. package/dist/control-ui/css/style.css +311 -0
  33. package/dist/control-ui/index.html +42 -0
  34. package/dist/control-ui/js/symframe-modes.js +65 -0
  35. package/dist/control-ui/js/symframe.js +139 -0
  36. package/dist/{cron-cli-BNBs3zue.js → cron-cli-DsGkkt1s.js} +3 -3
  37. package/dist/{cron-cli-CE9bV9Et.js → cron-cli-VH_t2D1o.js} +3 -3
  38. package/dist/{daemon-cli-BYiG4GOU.js → daemon-cli-3PFXkheJ.js} +2 -2
  39. package/dist/{daemon-cli-DDqeG2nd.js → daemon-cli-dbAPTgGm.js} +2 -2
  40. package/dist/daemon-cli.js +9 -1
  41. package/dist/{devices-cli-Bhr6jGtH.js → devices-cli-Bhi1rWnT.js} +2 -2
  42. package/dist/{devices-cli-BJ3rVWOw.js → devices-cli-CIAuYH4P.js} +2 -2
  43. package/dist/{doctor-completion-BpUGRguQ.js → doctor-completion--j-3qqz6.js} +1 -1
  44. package/dist/{doctor-completion-k0HiL05o.js → doctor-completion-Bk55g4MP.js} +1 -1
  45. package/dist/entry.js +1 -1
  46. package/dist/{exec-approvals-cli-Cau1vPQI.js → exec-approvals-cli-BiXeyPPz.js} +4 -4
  47. package/dist/{exec-approvals-cli-CzvIqBUd.js → exec-approvals-cli-xTOKcyZh.js} +4 -4
  48. package/dist/extensionAPI.js +2 -2
  49. package/dist/{gateway-cli-D1d5YAt0.js → gateway-cli-B3FuQctH.js} +16 -16
  50. package/dist/{gateway-cli-DgmGygc6.js → gateway-cli-BGMVOW2G.js} +16 -16
  51. package/dist/{gateway-rpc-BTGT1SuZ.js → gateway-rpc-C6lKFbor.js} +1 -1
  52. package/dist/{gateway-rpc-Kv0-8W2E.js → gateway-rpc-DpRnrv_i.js} +1 -1
  53. package/dist/{glass-ui-ws-BH9WH_VN.js → glass-ui-ws-BJcI_IdV.js} +13 -13
  54. package/dist/{glass-ui-ws-Dl45d7eU.js → glass-ui-ws-Z-W33_mF.js} +13 -13
  55. package/dist/{health-DpE9GWGn.js → health-7UqIGG8U.js} +1 -1
  56. package/dist/{health-znS85U-F.js → health-Dkwuq8ta.js} +1 -1
  57. package/dist/{hooks-cli-Cb9BzCOY.js → hooks-cli-Bn6x6Jnj.js} +7 -7
  58. package/dist/{hooks-cli-D7xxbEwI.js → hooks-cli-D43GEG-W.js} +7 -7
  59. package/dist/index.js +10 -10
  60. package/dist/llm-slug-generator.js +2 -2
  61. package/dist/{logs-cli-DvIVuW0d.js → logs-cli-BTU7zrkU.js} +3 -3
  62. package/dist/{logs-cli-LiAjkog2.js → logs-cli-CJLJ745C.js} +3 -3
  63. package/dist/{manager-V4UCf0Av.js → manager-BHddoe4T.js} +1 -1
  64. package/dist/{manager-CoCX7L5u.js → manager-Cw7IJGbB.js} +1 -1
  65. package/dist/{manager-CceVgXHV.js → manager-DH00nlW8.js} +1 -1
  66. package/dist/{manager-Cv4xI8sP.js → manager-DbVMwpDc.js} +1 -1
  67. package/dist/{memory-B067LTL9.js → memory-BZ24UkLW.js} +2 -2
  68. package/dist/{memory-A2D5e8dL.js → memory-C02Znuee.js} +2 -2
  69. package/dist/{memory-cli-1zjVJITN.js → memory-cli-083UJtVJ.js} +2 -2
  70. package/dist/{memory-cli-D8Z_5-Nz.js → memory-cli-0HHYm-B8.js} +2 -2
  71. package/dist/{models-BYev6YAG.js → models-Bh_frCup.js} +3 -3
  72. package/dist/{models-cli-Fa5r1QYP.js → models-cli-BhBu4Dwm.js} +9 -9
  73. package/dist/{models-cli-C979SN3Z.js → models-cli-C2EXmrYH.js} +8 -8
  74. package/dist/{node-cli-Cv7x1gGu.js → node-cli-CBW_ECu_.js} +1 -1
  75. package/dist/{node-cli-DGybtex_.js → node-cli-CWbA6YCw.js} +1 -1
  76. package/dist/{nodes-cli-C-mEw2av.js → nodes-cli-BfHcv62i.js} +3 -3
  77. package/dist/{nodes-cli-DaHOBbd4.js → nodes-cli-CJ0gxF5n.js} +3 -3
  78. package/dist/{onboard-D-m6WTZl.js → onboard-BSxqEQfo.js} +3 -3
  79. package/dist/{onboard-CotuAZi6.js → onboard-DnwWawQO.js} +3 -3
  80. package/dist/{onboard-channels-Z-Jkrk5-.js → onboard-channels-BkR3MKMp.js} +1 -1
  81. package/dist/{onboard-channels-DSyynpou.js → onboard-channels-qDThNkyj.js} +1 -1
  82. package/dist/{onboard-helpers-CLXJ8zp0.js → onboard-helpers-7IGQ8nAM.js} +1 -1
  83. package/dist/{onboard-helpers-Dhr98nj8.js → onboard-helpers-t7tI9KSA.js} +1 -1
  84. package/dist/{onboard-remote-DZdMxd1Q.js → onboard-remote-DH3bPYbE.js} +1 -1
  85. package/dist/{onboard-remote-BYBai0w3.js → onboard-remote-Dr75eqOQ.js} +1 -1
  86. package/dist/{onboard-skills-2SUv-W7i.js → onboard-skills-Bjf7kWvg.js} +1 -1
  87. package/dist/{onboard-skills-BxJlS1Bk.js → onboard-skills-uO7HZwjc.js} +1 -1
  88. package/dist/{onboarding-BckHLQMV.js → onboarding-CrCGoZ4H.js} +7 -7
  89. package/dist/{onboarding-BnoGiOh3.js → onboarding-DxZAGVkD.js} +7 -7
  90. package/dist/{onboarding.finalize-CbH_ShIW.js → onboarding.finalize-BYzduVFA.js} +9 -9
  91. package/dist/{onboarding.finalize-g86Q4433.js → onboarding.finalize-Dt-rcgpk.js} +8 -8
  92. package/dist/{onboarding.gateway-config-CEXjbEM0.js → onboarding.gateway-config-CkP7K4EN.js} +3 -3
  93. package/dist/{onboarding.gateway-config-sNSeEykB.js → onboarding.gateway-config-xWUSbtoY.js} +3 -3
  94. package/dist/{pi-embedded-B9rtlNMc.js → pi-embedded-DGnpyHm-.js} +50 -7
  95. package/dist/{plugin-registry-CS4WgHbu.js → plugin-registry-B74FBx4U.js} +1 -1
  96. package/dist/{plugin-registry-AsC9gydF.js → plugin-registry-D2_TLnOr.js} +1 -1
  97. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +1 -1
  98. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +5 -1
  99. package/dist/plugin-sdk/infra/symframe-broadcast.d.ts +7 -2
  100. package/dist/{plugins-cli-BY42hyHP.js → plugins-cli-Cmf3kRf5.js} +7 -7
  101. package/dist/{plugins-cli-CbByGz8z.js → plugins-cli-CqV1Q7ao.js} +7 -7
  102. package/dist/{program-P9F1DxBa.js → program-CGuYYumL.js} +12 -12
  103. package/dist/{program-context-CiyK6MfV.js → program-context-B0ovpbFU.js} +30 -30
  104. package/dist/{prompt-select-styled-DaNQ_GgB.js → prompt-select-styled-B5GrNfqR.js} +7 -7
  105. package/dist/{prompt-select-styled-B2ah467m.js → prompt-select-styled-b752FPLG.js} +7 -7
  106. package/dist/{provider-auth-helpers-Bgb_Bfp9.js → provider-auth-helpers-BKveYcEH.js} +1 -1
  107. package/dist/{provider-auth-helpers-D2FDvwT5.js → provider-auth-helpers-DU8RlQz7.js} +1 -1
  108. package/dist/{push-apns-va-DRu4U.js → push-apns-CyAPMMJC.js} +1 -1
  109. package/dist/{push-apns-DnSCjFu7.js → push-apns-HNg0rTkI.js} +1 -1
  110. package/dist/{register.agent-BqdQ0s30.js → register.agent-BKbQhrre.js} +11 -11
  111. package/dist/{register.agent-BuEcmVg0.js → register.agent-DbPYGG3u.js} +12 -12
  112. package/dist/{register.configure-YDKJ-KQg.js → register.configure-B0M15y31.js} +14 -14
  113. package/dist/{register.configure-Dhwi-4FG.js → register.configure-C4_ShaQV.js} +14 -14
  114. package/dist/{register.maintenance-iMjNw9uy.js → register.maintenance-BOYWTu9C.js} +12 -12
  115. package/dist/{register.maintenance-BiGvpEj-.js → register.maintenance-bzLNOqch.js} +13 -13
  116. package/dist/{register.message-BIuLbESM.js → register.message-Bfukmte_.js} +7 -7
  117. package/dist/{register.message-Ao_b9s2g.js → register.message-BtCthbpo.js} +7 -7
  118. package/dist/{register.onboard-C4vIASed.js → register.onboard-CDsSVoFI.js} +6 -6
  119. package/dist/{register.onboard-ymhSAezZ.js → register.onboard-D5GmuX8K.js} +6 -6
  120. package/dist/{register.setup-D-Jt2e1d.js → register.setup-Bp8rYeRx.js} +6 -6
  121. package/dist/{register.setup-CKs9mqtD.js → register.setup-DzospfSf.js} +6 -6
  122. package/dist/{register.status-health-sessions-BY9hMD1s.js → register.status-health-sessions-DE2db_Uo.js} +8 -8
  123. package/dist/{register.status-health-sessions-U-azRmpb.js → register.status-health-sessions-NVbWTQpZ.js} +8 -8
  124. package/dist/{register.subclis-Cibmeapc.js → register.subclis-QXO75pUm.js} +20 -20
  125. package/dist/{rpc-DjqFrbOc.js → rpc-B1czfnym.js} +1 -1
  126. package/dist/{rpc-BnAKPQDB.js → rpc-BBtNUyxN.js} +1 -1
  127. package/dist/{run-main-BhEQjKtM.js → run-main-MD8Z8ydF.js} +20 -20
  128. package/dist/{security-cli-CS-ZT1LE.js → security-cli-DZ-6QDRB.js} +3 -3
  129. package/dist/{security-cli-JKsf9SIu.js → security-cli-l59T6lAJ.js} +3 -3
  130. package/dist/{server-methods-B2tykucj.js → server-methods-Bl41VzMu.js} +18 -12
  131. package/dist/{server-methods-CWxr5b-w.js → server-methods-DTkVQH8Q.js} +18 -12
  132. package/dist/{server-node-events-ClDEcUTJ.js → server-node-events-C0smPxrR.js} +8 -8
  133. package/dist/{server-node-events-BKqszk_a.js → server-node-events-CxYKzrbU.js} +8 -8
  134. package/dist/{status-ojZB_Lrf.js → status-BEZotN01.js} +5 -5
  135. package/dist/{status-DHBVIMyL.js → status-D7QX7VDk.js} +5 -5
  136. package/dist/{status-DPGFZPpp.js → status-DrWy5OkC.js} +1 -1
  137. package/dist/{status-K1k4g3Ai.js → status-OTYFx93W.js} +1 -1
  138. package/dist/{subagent-registry-BOt7g9hn.js → subagent-registry-CVhLz4p3.js} +43 -8
  139. package/dist/{symframe-cli-CrUtJw_7.js → symframe-cli-BSAQ05fb.js} +22 -6
  140. package/dist/{symframe-cli-CX3dINPw.js → symframe-cli-BVmRLRid.js} +22 -6
  141. package/dist/{synthesis-Bc2QkGvt.js → synthesis-C1mZnGqD.js} +2 -2
  142. package/dist/{synthesis-yl24Ovw4.js → synthesis-CO5pr92g.js} +2 -2
  143. package/dist/{synthesis-BIQLrbys.js → synthesis-RhT991Ni.js} +6 -6
  144. package/dist/{synthesis-DmqicCsT.js → synthesis-ts2nG0tK.js} +6 -6
  145. package/dist/{system-cli-DUHzCGfK.js → system-cli-Du1GEeoO.js} +3 -3
  146. package/dist/{system-cli-CvN-Wq9U.js → system-cli-Dy6_0Qp7.js} +3 -3
  147. package/dist/{tui-DCqVZ6sC.js → tui-B2MY6Mj2.js} +2 -2
  148. package/dist/{tui-cli-DqvgN5ng.js → tui-cli-B-DKpOxE.js} +3 -3
  149. package/dist/{tui-cli-CI-P3sei.js → tui-cli-BMEnosW9.js} +3 -3
  150. package/dist/{tui-BxgdImL_.js → tui-h57L-YTX.js} +2 -2
  151. package/dist/{unified-runner-CznU7Ad0.js → unified-runner-4O0ifBsI.js} +43 -8
  152. package/dist/{unified-runner-BV5TdNFv.js → unified-runner-O3qR5Iie.js} +50 -7
  153. package/dist/{update-cli-DBoIBDNe.js → update-cli-BMURsYJU.js} +13 -13
  154. package/dist/{update-cli-Dn6QQZLd.js → update-cli-D9g9s187.js} +14 -14
  155. package/extensions/memory-core/package.json +1 -1
  156. package/extensions/msteams/CHANGELOG.md +12 -0
  157. package/extensions/msteams/package.json +1 -1
  158. package/extensions/open-prose/package.json +1 -1
  159. package/extensions/outlook/package.json +1 -1
  160. package/extensions/slack/package.json +1 -1
  161. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as formatCliCommand } from "./command-format-B3nkKRhC.js";
3
3
  import { n as normalizeSecretInput } from "./normalize-secret-input-8lcBtVEy.js";
4
4
  import { t as buildWorkspaceSkillStatus } from "./skills-status-g3ssrjuX.js";
5
- import { _ as resolveNodeManagerOptions, r as detectBinary } from "./onboard-helpers-Dhr98nj8.js";
5
+ import { _ as resolveNodeManagerOptions, r as detectBinary } from "./onboard-helpers-t7tI9KSA.js";
6
6
  import { t as installSkill } from "./skills-install-CZE8W7lV.js";
7
7
 
8
8
  //#region src/commands/onboard-skills.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
3
3
  import { n as normalizeSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
4
4
  import { t as buildWorkspaceSkillStatus } from "./skills-status-BKX1PjCc.js";
5
- import { _ as resolveNodeManagerOptions, r as detectBinary } from "./onboard-helpers-CLXJ8zp0.js";
5
+ import { _ as resolveNodeManagerOptions, r as detectBinary } from "./onboard-helpers-7IGQ8nAM.js";
6
6
  import { t as installSkill } from "./skills-install-Dwzsjoc8.js";
7
7
 
8
8
  //#region src/commands/onboard-skills.ts
@@ -34,7 +34,7 @@ async function requireRiskAcknowledgement(params) {
34
34
  })) throw new WizardCancelledError("risk not accepted");
35
35
  }
36
36
  async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
37
- const onboardHelpers = await import("./onboard-helpers-Dhr98nj8.js").then((n) => n.d);
37
+ const onboardHelpers = await import("./onboard-helpers-t7tI9KSA.js").then((n) => n.d);
38
38
  onboardHelpers.printWizardHeader(runtime);
39
39
  await prompter.intro("Symi onboarding");
40
40
  await requireRiskAcknowledgement({
@@ -202,7 +202,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
202
202
  }]
203
203
  }));
204
204
  if (mode === "remote") {
205
- const { promptRemoteGatewayConfig } = await import("./onboard-remote-DZdMxd1Q.js").then((n) => n.t);
205
+ const { promptRemoteGatewayConfig } = await import("./onboard-remote-DH3bPYbE.js").then((n) => n.t);
206
206
  const { logConfigUpdated } = await import("./logging-Ev3fNJEG.js").then((n) => n.r);
207
207
  let nextConfig = await promptRemoteGatewayConfig(baseConfig, prompter);
208
208
  nextConfig = onboardHelpers.applyWizardMetadata(nextConfig, {
@@ -223,7 +223,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
223
223
  const { ensureAuthProfileStore } = await import("./auth-profiles-D11Xw15i.js").then((n) => n.t);
224
224
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-D6A5uuj3.js").then((n) => n.t);
225
225
  const { promptCustomApiConfig } = await import("./onboard-custom-CfKvdcJ5.js").then((n) => n.r);
226
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice--DymOp5O.js").then((n) => n.t);
226
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-5SLfZiQ7.js").then((n) => n.t);
227
227
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-DvP8ViSf.js").then((n) => n.i);
228
228
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
229
229
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -261,7 +261,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
261
261
  if (modelSelection.model) nextConfig = applyPrimaryModel(nextConfig, modelSelection.model);
262
262
  }
263
263
  await warnIfModelConfigLooksOff(nextConfig, prompter);
264
- const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-sNSeEykB.js");
264
+ const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-xWUSbtoY.js");
265
265
  const gateway = await configureGatewayForOnboarding({
266
266
  flow,
267
267
  baseConfig,
@@ -276,7 +276,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
276
276
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
277
277
  else {
278
278
  const { listChannelPlugins } = await import("./plugins-BsEhWvLn.js").then((n) => n.i);
279
- const { setupChannels } = await import("./onboard-channels-Z-Jkrk5-.js").then((n) => n.n);
279
+ const { setupChannels } = await import("./onboard-channels-BkR3MKMp.js").then((n) => n.n);
280
280
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
281
281
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
282
282
  allowSignalInstall: true,
@@ -292,7 +292,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
292
292
  await onboardHelpers.ensureWorkspaceAndSessions(workspaceDir, runtime, { skipBootstrap: Boolean(nextConfig.agents?.defaults?.skipBootstrap) });
293
293
  if (opts.skipSkills) await prompter.note("Skipping skills setup.", "Skills");
294
294
  else {
295
- const { setupSkills } = await import("./onboard-skills-2SUv-W7i.js").then((n) => n.t);
295
+ const { setupSkills } = await import("./onboard-skills-Bjf7kWvg.js").then((n) => n.t);
296
296
  nextConfig = await setupSkills(nextConfig, workspaceDir, runtime, prompter);
297
297
  }
298
298
  const { setupInternalHooks } = await import("./onboard-hooks-BpyxMXOj.js");
@@ -302,7 +302,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
302
302
  mode
303
303
  });
304
304
  await writeConfigFile(nextConfig);
305
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-CbH_ShIW.js");
305
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-BYzduVFA.js");
306
306
  const { launchedTui } = await finalizeOnboardingWizard({
307
307
  flow,
308
308
  opts,
@@ -36,7 +36,7 @@ async function requireRiskAcknowledgement(params) {
36
36
  })) throw new WizardCancelledError("risk not accepted");
37
37
  }
38
38
  async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
39
- const onboardHelpers = await import("./onboard-helpers-CLXJ8zp0.js").then((n) => n.d);
39
+ const onboardHelpers = await import("./onboard-helpers-7IGQ8nAM.js").then((n) => n.d);
40
40
  onboardHelpers.printWizardHeader(runtime);
41
41
  await prompter.intro("Symi onboarding");
42
42
  await requireRiskAcknowledgement({
@@ -204,7 +204,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
204
204
  }]
205
205
  }));
206
206
  if (mode === "remote") {
207
- const { promptRemoteGatewayConfig } = await import("./onboard-remote-BYBai0w3.js").then((n) => n.t);
207
+ const { promptRemoteGatewayConfig } = await import("./onboard-remote-Dr75eqOQ.js").then((n) => n.t);
208
208
  const { logConfigUpdated } = await import("./logging-DDnP1BTp.js").then((n) => n.r);
209
209
  let nextConfig = await promptRemoteGatewayConfig(baseConfig, prompter);
210
210
  nextConfig = onboardHelpers.applyWizardMetadata(nextConfig, {
@@ -225,7 +225,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
225
225
  const { ensureAuthProfileStore } = await import("./auth-profiles-Ce7R_25e.js").then((n) => n.t);
226
226
  const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-BAFfYZeR.js").then((n) => n.t);
227
227
  const { promptCustomApiConfig } = await import("./onboard-custom-BcRYreNG.js").then((n) => n.r);
228
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CUvx59kv.js").then((n) => n.t);
228
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-DQplW60s.js").then((n) => n.t);
229
229
  const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-Cf6UgQEh.js").then((n) => n.i);
230
230
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
231
231
  const authChoiceFromPrompt = opts.authChoice === void 0;
@@ -263,7 +263,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
263
263
  if (modelSelection.model) nextConfig = applyPrimaryModel(nextConfig, modelSelection.model);
264
264
  }
265
265
  await warnIfModelConfigLooksOff(nextConfig, prompter);
266
- const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-CEXjbEM0.js");
266
+ const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-CkP7K4EN.js");
267
267
  const gateway = await configureGatewayForOnboarding({
268
268
  flow,
269
269
  baseConfig,
@@ -278,7 +278,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
278
278
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
279
279
  else {
280
280
  const { listChannelPlugins } = await import("./plugins-CF5skkHh.js").then((n) => n.i);
281
- const { setupChannels } = await import("./onboard-channels-DSyynpou.js").then((n) => n.n);
281
+ const { setupChannels } = await import("./onboard-channels-qDThNkyj.js").then((n) => n.n);
282
282
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
283
283
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
284
284
  allowSignalInstall: true,
@@ -294,7 +294,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
294
294
  await onboardHelpers.ensureWorkspaceAndSessions(workspaceDir, runtime, { skipBootstrap: Boolean(nextConfig.agents?.defaults?.skipBootstrap) });
295
295
  if (opts.skipSkills) await prompter.note("Skipping skills setup.", "Skills");
296
296
  else {
297
- const { setupSkills } = await import("./onboard-skills-BxJlS1Bk.js").then((n) => n.t);
297
+ const { setupSkills } = await import("./onboard-skills-uO7HZwjc.js").then((n) => n.t);
298
298
  nextConfig = await setupSkills(nextConfig, workspaceDir, runtime, prompter);
299
299
  }
300
300
  const { setupInternalHooks } = await import("./onboard-hooks-2SCajRKc.js");
@@ -304,7 +304,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
304
304
  mode
305
305
  });
306
306
  await writeConfigFile(nextConfig);
307
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-g86Q4433.js");
307
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-Dt-rcgpk.js");
308
308
  const { launchedTui } = await finalizeOnboardingWizard({
309
309
  flow,
310
310
  opts,
@@ -9,8 +9,8 @@ import "./skills-cLBEdkqu.js";
9
9
  import "./manifest-registry-CVLmi8rz.js";
10
10
  import "./config-D7TcU4qN.js";
11
11
  import "./shell-env-CTYaxUs_.js";
12
- import "./client-yVTJ5jx5.js";
13
- import "./call-C2urR5Fj.js";
12
+ import "./client-BOd5o3Kp.js";
13
+ import "./call-DTshgdlW.js";
14
14
  import "./message-channel-DXToSaWK.js";
15
15
  import "./pairing-token-B-OTYROz.js";
16
16
  import "./sessions-Dn6VXn4p.js";
@@ -40,20 +40,20 @@ import "./bindings-BRZBH7eX.js";
40
40
  import "./progress-CI19Xh3z.js";
41
41
  import "./prompt-style-CZGg35Py.js";
42
42
  import "./note-BIAQpZxi.js";
43
- import "./register.subclis-Cibmeapc.js";
44
- import "./command-registry-CLm8TAH3.js";
43
+ import "./register.subclis-QXO75pUm.js";
44
+ import "./command-registry-DBbzZvh6.js";
45
45
  import "./program-context-B_0V80zV.js";
46
- import { r as installCompletion } from "./completion-cli-DOBXkVwG.js";
46
+ import { r as installCompletion } from "./completion-cli-DoQrkCAd.js";
47
47
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-AkgOtHR6.js";
48
48
  import "./runtime-guard-LRRZ73eX.js";
49
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-Dhr98nj8.js";
49
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-t7tI9KSA.js";
50
50
  import { r as isSystemdUserServiceAvailable } from "./systemd-CNnW7Chw.js";
51
51
  import { t as resolveGatewayService } from "./service-DYpU1ajf.js";
52
- import { r as healthCommand } from "./health-znS85U-F.js";
52
+ import { r as healthCommand } from "./health-Dkwuq8ta.js";
53
53
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Dnz69KRU.js";
54
54
  import { t as formatHealthCheckFailure } from "./health-format-6tfMqkNX.js";
55
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-k0HiL05o.js";
56
- import { t as runTui } from "./tui-BxgdImL_.js";
55
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Bk55g4MP.js";
56
+ import { t as runTui } from "./tui-h57L-YTX.js";
57
57
  import os from "node:os";
58
58
  import path from "node:path";
59
59
  import fs from "node:fs/promises";
@@ -37,26 +37,26 @@ import "./paths-BtvQ7JvU.js";
37
37
  import "./thinking-COroyVA5.js";
38
38
  import "./commands-DUzLGgEZ.js";
39
39
  import "./commands-registry-Ca5hh7nh.js";
40
- import "./client-Cs9Bh-G0.js";
41
- import "./call-xdEE97oU.js";
40
+ import "./client-DH75FlQF.js";
41
+ import "./call-AZ9vNhST.js";
42
42
  import "./pairing-token-Dcy37-4s.js";
43
43
  import "./tool-display-DFOL6UQ9.js";
44
44
  import "./bindings-DIhsYGa_.js";
45
45
  import "./progress-swt2y17x.js";
46
46
  import "./runtime-guard-CWA00ZXa.js";
47
- import "./program-context-CiyK6MfV.js";
47
+ import "./program-context-B0ovpbFU.js";
48
48
  import "./prompt-style-olk5zI5k.js";
49
49
  import "./note-D9FXI2qW.js";
50
- import { r as installCompletion } from "./completion-cli-Dd56ibFZ.js";
50
+ import { r as installCompletion } from "./completion-cli-Cbf0-8ob.js";
51
51
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DlQla_dA.js";
52
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-CLXJ8zp0.js";
52
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-7IGQ8nAM.js";
53
53
  import { r as isSystemdUserServiceAvailable } from "./systemd-CUIM0n5P.js";
54
54
  import { t as resolveGatewayService } from "./service-e6MzlLCd.js";
55
- import { r as healthCommand } from "./health-DpE9GWGn.js";
55
+ import { r as healthCommand } from "./health-7UqIGG8U.js";
56
56
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CJQ97d4u.js";
57
57
  import { t as formatHealthCheckFailure } from "./health-format-Bxg84_f4.js";
58
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BpUGRguQ.js";
59
- import { t as runTui } from "./tui-DCqVZ6sC.js";
58
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion--j-3qqz6.js";
59
+ import { t as runTui } from "./tui-B2MY6Mj2.js";
60
60
  import path from "node:path";
61
61
  import os from "node:os";
62
62
  import fs from "node:fs/promises";
@@ -16,11 +16,11 @@ import "./dock-hF45sewN.js";
16
16
  import "./message-channel-DgjXWzf-.js";
17
17
  import "./plugins-CF5skkHh.js";
18
18
  import "./paths-BtvQ7JvU.js";
19
- import "./client-Cs9Bh-G0.js";
20
- import "./call-xdEE97oU.js";
19
+ import "./client-DH75FlQF.js";
20
+ import "./call-AZ9vNhST.js";
21
21
  import "./pairing-token-Dcy37-4s.js";
22
22
  import "./prompt-style-olk5zI5k.js";
23
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-CLXJ8zp0.js";
23
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-7IGQ8nAM.js";
24
24
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-C_NtZ3JP.js";
25
25
 
26
26
  //#region src/wizard/onboarding.gateway-config.ts
@@ -4,8 +4,8 @@ import "./model-selection-CMx1evaF.js";
4
4
  import "./manifest-registry-CVLmi8rz.js";
5
5
  import "./config-D7TcU4qN.js";
6
6
  import "./shell-env-CTYaxUs_.js";
7
- import "./client-yVTJ5jx5.js";
8
- import "./call-C2urR5Fj.js";
7
+ import "./client-BOd5o3Kp.js";
8
+ import "./call-DTshgdlW.js";
9
9
  import "./message-channel-DXToSaWK.js";
10
10
  import "./pairing-token-B-OTYROz.js";
11
11
  import "./sessions-Dn6VXn4p.js";
@@ -14,7 +14,7 @@ import { a as findTailscaleBinary } from "./tailscale-FeJ1M0mP.js";
14
14
  import "./dock-DZ6SgvTh.js";
15
15
  import "./paths-DtiEyjsC.js";
16
16
  import "./prompt-style-CZGg35Py.js";
17
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-Dhr98nj8.js";
17
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-t7tI9KSA.js";
18
18
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-qGjACkoi.js";
19
19
 
20
20
  //#region src/wizard/onboarding.gateway-config.ts
@@ -29,7 +29,7 @@ import { n as resolveConversationLabel } from "./conversation-label-DTTqF8gH.js"
29
29
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BsT3BvfH.js";
30
30
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.js";
31
31
  import { n as saveJsonFile, t as loadJsonFile } from "./json-file-B7D44OOV.js";
32
- 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-V4UCf0Av.js";
32
+ 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-BHddoe4T.js";
33
33
  import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-dYUr1mDQ.js";
34
34
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Ce-sg7EN.js";
35
35
  import { n as resolveMarkdownTableMode } from "./markdown-tables-jQzXAsf3.js";
@@ -3390,7 +3390,7 @@ async function getMemorySearchManager(params) {
3390
3390
  const wrapper = new FallbackMemoryManager({
3391
3391
  primary,
3392
3392
  fallbackFactory: async () => {
3393
- const { MemoryIndexManager } = await import("./manager-V4UCf0Av.js").then((n) => n.t);
3393
+ const { MemoryIndexManager } = await import("./manager-BHddoe4T.js").then((n) => n.t);
3394
3394
  return await MemoryIndexManager.get(params);
3395
3395
  }
3396
3396
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3403,7 +3403,7 @@ async function getMemorySearchManager(params) {
3403
3403
  }
3404
3404
  }
3405
3405
  try {
3406
- const { MemoryIndexManager } = await import("./manager-V4UCf0Av.js").then((n) => n.t);
3406
+ const { MemoryIndexManager } = await import("./manager-BHddoe4T.js").then((n) => n.t);
3407
3407
  return { manager: await MemoryIndexManager.get(params) };
3408
3408
  } catch (err) {
3409
3409
  return {
@@ -5455,9 +5455,17 @@ const ChatSymframePushParamsSchema = Type.Object({
5455
5455
  Type.Literal("release"),
5456
5456
  Type.Literal("recall"),
5457
5457
  Type.Literal("pin"),
5458
- Type.Literal("unpin")
5458
+ Type.Literal("unpin"),
5459
+ Type.Literal("setMode")
5459
5460
  ]),
5460
5461
  id: Type.Optional(NonEmptyString),
5462
+ mode: Type.Optional(Type.Union([
5463
+ Type.Literal("ambient"),
5464
+ Type.Literal("focus"),
5465
+ Type.Literal("awaiting"),
5466
+ Type.Literal("quiet")
5467
+ ])),
5468
+ focusedId: Type.Optional(NonEmptyString),
5461
5469
  force: Type.Optional(Type.Boolean()),
5462
5470
  card: Type.Optional(Type.Object({
5463
5471
  id: Type.Optional(NonEmptyString),
@@ -26514,6 +26522,12 @@ function buildAgentSystemPrompt(params) {
26514
26522
  " - `recall` — re-summon a recently-released card (id optional → most-recent).",
26515
26523
  " - `pin` — persist a card across reload + /new (user-curated; the user can also pin from the UI).",
26516
26524
  " - `unpin` — remove the pin; does NOT drop the card.",
26525
+ "Panel modes (Stage D — `action: \"setMode\"` with `mode` and optional `focusedId`):",
26526
+ " - `ambient` (default) — substrate + cards + AWAITING all visible. Normal multi-task posture.",
26527
+ " - `focus` — one card centered, substrate dim, AWAITING hidden. Use when actively iterating on a single artifact (e.g. drafting an email). Pass `focusedId` to halo a specific card.",
26528
+ " - `awaiting` — footer prominent, cards collapsed to titles. Use when you've kicked off long-running work (subagents, scheduled tasks) and the user is waiting for results.",
26529
+ " - `quiet` — substrate only, cards + AWAITING hidden. Use when you're thinking and have nothing actionable to surface yet.",
26530
+ "Modes are sticky until you `setMode` again or the user overrides via the header chips. Default to `ambient`; pick `focus` only when you genuinely want a single card to dominate; pick `awaiting` only when waiting is the user's primary experience.",
26517
26531
  "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.",
26518
26532
  "",
26519
26533
  ...compactMode ? [] : [
@@ -33955,7 +33969,14 @@ const ARTIFACT_ACTIONS = [
33955
33969
  "release",
33956
33970
  "recall",
33957
33971
  "pin",
33958
- "unpin"
33972
+ "unpin",
33973
+ "setMode"
33974
+ ];
33975
+ const PANEL_MODES = [
33976
+ "ambient",
33977
+ "focus",
33978
+ "awaiting",
33979
+ "quiet"
33959
33980
  ];
33960
33981
  /**
33961
33982
  * Stage A: intent vocabulary added as orthogonal metadata to renderer type.
@@ -34003,7 +34024,9 @@ const DisplayArtifactSchema = Type.Object({
34003
34024
  email: Type.Optional(EmailFieldsSchema),
34004
34025
  actions: Type.Optional(Type.Array(ActionSchema)),
34005
34026
  sticky: Type.Optional(Type.Boolean()),
34006
- force: Type.Optional(Type.Boolean())
34027
+ force: Type.Optional(Type.Boolean()),
34028
+ mode: Type.Optional(stringEnum(PANEL_MODES)),
34029
+ focusedId: Type.Optional(Type.String())
34007
34030
  });
34008
34031
  function genCardId() {
34009
34032
  return `sf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
@@ -34012,12 +34035,32 @@ function createDisplayArtifactTool() {
34012
34035
  return {
34013
34036
  label: "Display Artifact",
34014
34037
  name: "display_artifact",
34015
- 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), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin.",
34038
+ 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), action=remove to dismiss. Stage-C attention verbs (id-only, no card body): action=dwell pulls a card to the top with a brief highlight, action=release softly fades a card out (recoverable via recall), action=recall re-summons a recently-released card (id optional → most recent), action=pin persists across reload, action=unpin removes the pin. Stage-D mode verb: action=setMode with mode=ambient|focus|awaiting|quiet (optional focusedId for focus) switches the panel's posture for the current task.",
34016
34039
  parameters: DisplayArtifactSchema,
34017
34040
  execute: async (_toolCallId, args) => {
34018
34041
  const params = args;
34019
34042
  const actionRaw = readStringParam(params, "action");
34020
34043
  const action = ARTIFACT_ACTIONS.includes(actionRaw ?? "") ? actionRaw : "add";
34044
+ if (action === "setMode") {
34045
+ const modeRaw = readStringParam(params, "mode");
34046
+ if (!modeRaw || !PANEL_MODES.includes(modeRaw)) return jsonResult({
34047
+ ok: false,
34048
+ error: `setMode requires \`mode\` ∈ {${PANEL_MODES.join(" | ")}}`
34049
+ });
34050
+ const mode = modeRaw;
34051
+ const focusedId = readStringParam(params, "focusedId");
34052
+ emitSymframePush({
34053
+ action: "setMode",
34054
+ mode,
34055
+ focusedId: focusedId || void 0
34056
+ });
34057
+ return jsonResult({
34058
+ ok: true,
34059
+ action,
34060
+ mode,
34061
+ focusedId
34062
+ });
34063
+ }
34021
34064
  const id = readStringParam(params, "id") || (action === "add" ? genCardId() : void 0);
34022
34065
  if (action !== "add" && action !== "recall" && !id) return jsonResult({
34023
34066
  ok: false,
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-C-Jte08L.js";
4
4
  import { i as loadConfig } from "./config-D7TcU4qN.js";
5
- import { m as loadSymiPlugins } from "./subagent-registry-BOt7g9hn.js";
5
+ import { m as loadSymiPlugins } from "./subagent-registry-CVhLz4p3.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as loadSymiPlugins } from "./unified-runner-CznU7Ad0.js";
2
+ import { s as loadSymiPlugins } from "./unified-runner-4O0ifBsI.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Sbac4a4z.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
@@ -1,5 +1,5 @@
1
1
  export declare const BrowserToolSchema: import("@sinclair/typebox").TObject<{
2
- action: import("@sinclair/typebox").TUnsafe<"open" | "console" | "close" | "start" | "status" | "stop" | "navigate" | "profiles" | "snapshot" | "dialog" | "pdf" | "screenshot" | "tabs" | "focus" | "upload" | "act">;
2
+ action: import("@sinclair/typebox").TUnsafe<"open" | "console" | "close" | "start" | "status" | "stop" | "navigate" | "profiles" | "snapshot" | "focus" | "dialog" | "pdf" | "screenshot" | "tabs" | "upload" | "act">;
3
3
  target: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"sandbox" | "node" | "host">>;
4
4
  node: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
5
  profile: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -32,8 +32,12 @@ export declare const ChatSkillsListParamsSchema: import("@sinclair/typebox").TOb
32
32
  * a schema bump.
33
33
  */
34
34
  export declare const ChatSymframePushParamsSchema: import("@sinclair/typebox").TObject<{
35
- action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"add">, import("@sinclair/typebox").TLiteral<"update">, import("@sinclair/typebox").TLiteral<"remove">, import("@sinclair/typebox").TLiteral<"dwell">, import("@sinclair/typebox").TLiteral<"release">, import("@sinclair/typebox").TLiteral<"recall">, import("@sinclair/typebox").TLiteral<"pin">, import("@sinclair/typebox").TLiteral<"unpin">]>;
35
+ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"add">, import("@sinclair/typebox").TLiteral<"update">, import("@sinclair/typebox").TLiteral<"remove">, import("@sinclair/typebox").TLiteral<"dwell">, import("@sinclair/typebox").TLiteral<"release">, import("@sinclair/typebox").TLiteral<"recall">, import("@sinclair/typebox").TLiteral<"pin">, import("@sinclair/typebox").TLiteral<"unpin">, import("@sinclair/typebox").TLiteral<"setMode">]>;
36
36
  id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
37
+ /** Stage D (setMode only): which panel posture to switch to. */
38
+ mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"ambient">, import("@sinclair/typebox").TLiteral<"focus">, import("@sinclair/typebox").TLiteral<"awaiting">, import("@sinclair/typebox").TLiteral<"quiet">]>>;
39
+ /** Stage D (setMode + focus only): which card to halo. */
40
+ focusedId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
37
41
  /**
38
42
  * Stage A: required to update or remove a sticky card. Sticky cards
39
43
  * are the registry-managed wrappers around native panels and any card
@@ -9,9 +9,10 @@
9
9
  * - recall re-summon a released card (id optional → most recent)
10
10
  * - pin persist across reload/reset via localStorage
11
11
  * - unpin remove the pin (does NOT drop the card)
12
- * Stage D (planned): setMode for the layout posture.
12
+ * Stage D (3.5.26): setMode switch panel posture.
13
+ * - setMode ambient | focus | awaiting | quiet (plus optional focusedId)
13
14
  */
14
- export type SymframePushAction = "add" | "update" | "remove" | "dwell" | "release" | "recall" | "pin" | "unpin";
15
+ export type SymframePushAction = "add" | "update" | "remove" | "dwell" | "release" | "recall" | "pin" | "unpin" | "setMode";
15
16
  export type SymframePushPayload = {
16
17
  action: SymframePushAction;
17
18
  id?: string;
@@ -22,6 +23,10 @@ export type SymframePushPayload = {
22
23
  * sticky:true; without force the registry refuses the operation.
23
24
  */
24
25
  force?: boolean;
26
+ /** Stage D (setMode only): which mode to switch to. */
27
+ mode?: "ambient" | "focus" | "awaiting" | "quiet";
28
+ /** Stage D (setMode + mode=focus): which card to halo. */
29
+ focusedId?: string;
25
30
  };
26
31
  export declare function emitSymframePush(payload: SymframePushPayload): void;
27
32
  export declare function onSymframePush(listener: (payload: SymframePushPayload) => void): () => void;
@@ -13,11 +13,11 @@ import "./skills-cLBEdkqu.js";
13
13
  import { m as defaultSlotIdForKey, p as applyExclusiveSlotSelection, s as resolveBundledPluginsDir, t as clearPluginManifestRegistryCache } from "./manifest-registry-CVLmi8rz.js";
14
14
  import { i as loadConfig, l as writeConfigFile } from "./config-D7TcU4qN.js";
15
15
  import "./shell-env-CTYaxUs_.js";
16
- import "./client-yVTJ5jx5.js";
17
- import "./call-C2urR5Fj.js";
16
+ import "./client-BOd5o3Kp.js";
17
+ import "./call-DTshgdlW.js";
18
18
  import "./message-channel-DXToSaWK.js";
19
19
  import "./pairing-token-B-OTYROz.js";
20
- import "./subagent-registry-BOt7g9hn.js";
20
+ import "./subagent-registry-CVhLz4p3.js";
21
21
  import "./sessions-Dn6VXn4p.js";
22
22
  import "./plugins-BsEhWvLn.js";
23
23
  import "./send-Dq252-bi.js";
@@ -47,8 +47,8 @@ import "./model-auth-Byr7Gic_.js";
47
47
  import "./github-copilot-token-B5y4__YM.js";
48
48
  import "./models-config-CiR_RUxw.js";
49
49
  import "./reply-prefix-DV3KhOhL.js";
50
- import "./memory-A2D5e8dL.js";
51
- import "./manager-CceVgXHV.js";
50
+ import "./memory-C02Znuee.js";
51
+ import "./manager-DH00nlW8.js";
52
52
  import "./sqlite-9jF_eajd.js";
53
53
  import "./chunk-B2lBXhR0.js";
54
54
  import "./markdown-tables-BEdkErjm.js";
@@ -79,7 +79,7 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
79
79
  import "./cli-utils-DXfA5936.js";
80
80
  import "./help-format-Dbp8yEhl.js";
81
81
  import "./progress-CI19Xh3z.js";
82
- import "./memory-cli-1zjVJITN.js";
82
+ import "./memory-cli-083UJtVJ.js";
83
83
  import "./logging-UO6tk8Em.js";
84
84
  import "./replies-CLREUzzB.js";
85
85
  import "./pi-tools.policy-06k__URR.js";
@@ -88,7 +88,7 @@ import "./npm-registry-spec-BPgK9EL7.js";
88
88
  import "./skill-scanner-BC3PyNso.js";
89
89
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-Dunp9UFl.js";
90
90
  import { t as renderTable } from "./table-D0JXlEhQ.js";
91
- import { t as buildPluginStatusReport } from "./status-K1k4g3Ai.js";
91
+ import { t as buildPluginStatusReport } from "./status-OTYFx93W.js";
92
92
  import { n as updateNpmInstalledPlugins } from "./update-B7qKOIqP.js";
93
93
  import os from "node:os";
94
94
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import "./unified-runner-CznU7Ad0.js";
1
+ import "./unified-runner-4O0ifBsI.js";
2
2
  import { j as theme } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir } from "./paths-By0XjHBk.js";
4
4
  import { _ as shortenHomeInString, h as resolveUserPath, p as resolveConfigDir, v as shortenHomePath } from "./utils-CTPsqyE_.js";
@@ -50,8 +50,8 @@ import "./session-cost-usage-D3mgssM_.js";
50
50
  import "./session-utils-Cs1jlD-q.js";
51
51
  import "./with-timeout-DPR4A2dx.js";
52
52
  import "./reply-prefix-BFNeXT65.js";
53
- import "./memory-B067LTL9.js";
54
- import "./manager-CoCX7L5u.js";
53
+ import "./memory-BZ24UkLW.js";
54
+ import "./manager-Cw7IJGbB.js";
55
55
  import "./sqlite-Cod7C5ba.js";
56
56
  import "./chunk-BxfKjCUx.js";
57
57
  import "./markdown-tables-CS1Tvb3z.js";
@@ -59,8 +59,8 @@ import "./fetch-guard-JHxT9355.js";
59
59
  import "./local-roots-CgDCgCuM.js";
60
60
  import "./commands-DUzLGgEZ.js";
61
61
  import "./commands-registry-Ca5hh7nh.js";
62
- import "./client-Cs9Bh-G0.js";
63
- import "./call-xdEE97oU.js";
62
+ import "./client-DH75FlQF.js";
63
+ import "./call-AZ9vNhST.js";
64
64
  import "./pairing-token-Dcy37-4s.js";
65
65
  import "./tool-display-DFOL6UQ9.js";
66
66
  import "./skills-remote-bz71Bstn.js";
@@ -82,7 +82,7 @@ import { t as formatDocsLink } from "./links-Bqr0FxXx.js";
82
82
  import "./cli-utils-CuyGL3rq.js";
83
83
  import "./help-format-7hFcsqss.js";
84
84
  import "./progress-swt2y17x.js";
85
- import "./memory-cli-D8Z_5-Nz.js";
85
+ import "./memory-cli-0HHYm-B8.js";
86
86
  import "./logging-BWknayJl.js";
87
87
  import "./replies-CbXXjn9X.js";
88
88
  import "./pi-tools.policy-H2t-Xkfc.js";
@@ -92,7 +92,7 @@ import "./npm-registry-spec-DTqn-NXZ.js";
92
92
  import "./skill-scanner-BCgVcIwi.js";
93
93
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-D890uIIW.js";
94
94
  import { t as renderTable } from "./table-0A3xKJVC.js";
95
- import { t as buildPluginStatusReport } from "./status-DPGFZPpp.js";
95
+ import { t as buildPluginStatusReport } from "./status-DrWy5OkC.js";
96
96
  import { n as updateNpmInstalledPlugins } from "./update-yYduAjKd.js";
97
97
  import path from "node:path";
98
98
  import fs from "node:fs";
@@ -14,11 +14,11 @@ import "./skills-cLBEdkqu.js";
14
14
  import "./manifest-registry-CVLmi8rz.js";
15
15
  import { N as VERSION } from "./config-D7TcU4qN.js";
16
16
  import "./shell-env-CTYaxUs_.js";
17
- import "./client-yVTJ5jx5.js";
18
- import "./call-C2urR5Fj.js";
17
+ import "./client-BOd5o3Kp.js";
18
+ import "./call-DTshgdlW.js";
19
19
  import "./message-channel-DXToSaWK.js";
20
20
  import "./pairing-token-B-OTYROz.js";
21
- import "./subagent-registry-BOt7g9hn.js";
21
+ import "./subagent-registry-CVhLz4p3.js";
22
22
  import "./sessions-Dn6VXn4p.js";
23
23
  import "./plugins-BsEhWvLn.js";
24
24
  import "./send-Dq252-bi.js";
@@ -48,8 +48,8 @@ import "./model-auth-Byr7Gic_.js";
48
48
  import "./github-copilot-token-B5y4__YM.js";
49
49
  import "./models-config-CiR_RUxw.js";
50
50
  import "./reply-prefix-DV3KhOhL.js";
51
- import "./memory-A2D5e8dL.js";
52
- import "./manager-CceVgXHV.js";
51
+ import "./memory-C02Znuee.js";
52
+ import "./manager-DH00nlW8.js";
53
53
  import "./sqlite-9jF_eajd.js";
54
54
  import "./chunk-B2lBXhR0.js";
55
55
  import "./markdown-tables-BEdkErjm.js";
@@ -80,18 +80,18 @@ import { t as formatDocsLink } from "./links-Dnmd-RS-.js";
80
80
  import "./cli-utils-DXfA5936.js";
81
81
  import "./help-format-Dbp8yEhl.js";
82
82
  import "./progress-CI19Xh3z.js";
83
- import "./memory-cli-1zjVJITN.js";
83
+ import "./memory-cli-083UJtVJ.js";
84
84
  import "./logging-UO6tk8Em.js";
85
85
  import "./replies-CLREUzzB.js";
86
86
  import "./pi-tools.policy-06k__URR.js";
87
87
  import "./catalog-BQgWCFTH.js";
88
- import "./plugin-registry-CS4WgHbu.js";
89
- import { n as resolveCliChannelOptions } from "./channel-options-rFgJaKzJ.js";
90
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-Cibmeapc.js";
91
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-CLm8TAH3.js";
88
+ import "./plugin-registry-B74FBx4U.js";
89
+ import { n as resolveCliChannelOptions } from "./channel-options-8NGYZjfd.js";
90
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-QXO75pUm.js";
91
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DBbzZvh6.js";
92
92
  import { r as setProgramContext } from "./program-context-B_0V80zV.js";
93
93
  import { t as forceFreePort } from "./ports-gFlaMWtN.js";
94
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-CY_9VW7E.js";
94
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-B_P_FrmA.js";
95
95
  import { Command } from "commander";
96
96
 
97
97
  //#region src/cli/program/context.ts
@@ -199,7 +199,7 @@ function registerPreActionHooks(program, programVersion) {
199
199
  commandPath
200
200
  });
201
201
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
202
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-CS4WgHbu.js").then((n) => n.n);
202
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-B74FBx4U.js").then((n) => n.n);
203
203
  ensurePluginRegistryLoaded();
204
204
  }
205
205
  });