@xopcai/xopc 0.0.431 → 0.0.432

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 (524) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/adapters/cli-login.js +3 -3
  3. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  4. package/dist/extensions/telegram/src/inbound-processor.js +2 -2
  5. package/dist/extensions/telegram/src/outbound-sender.js +1 -1
  6. package/dist/extensions/telegram/src/plugin.js +2 -2
  7. package/dist/extensions/telegram/xopc.extension.json +1 -1
  8. package/dist/extensions/weixin/src/api/api.js +2 -2
  9. package/dist/extensions/weixin/src/auth/accounts.js +12 -12
  10. package/dist/extensions/weixin/src/messaging/debug-mode.js +5 -5
  11. package/dist/extensions/weixin/src/messaging/inbound.js +11 -11
  12. package/dist/gateway/static/root/assets/{activity-store-WqnVruhY.js → activity-store-iTw0JzOx.js} +1 -1
  13. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CSiO9c2F.js → agent-avatar-dicebear-CXuMwQ4y.js} +1 -1
  14. package/dist/gateway/static/root/assets/{agent-avatar-display-D-yds6wG.js → agent-avatar-display-hRyDKdPJ.js} +2 -2
  15. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-_UT9C7bg.js → agent-defaults-settings-panel-BBRKBHLB.js} +1 -1
  16. package/dist/gateway/static/root/assets/{agent-plugin-dialog-DVzYXsAy.js → agent-plugin-dialog-PoKk6j20.js} +1 -1
  17. package/dist/gateway/static/root/assets/{agents-Ds7K3D7T.js → agents--P5-QEHR.js} +3 -3
  18. package/dist/gateway/static/root/assets/{agents-admin-api-Bgv4lJ9Y.js → agents-admin-api-DuYzWKP8.js} +1 -1
  19. package/dist/gateway/static/root/assets/{api-Dv6Cn-Rs.js → api-BeNB3MkI.js} +1 -1
  20. package/dist/gateway/static/root/assets/{api-C-9J9ghT.js → api-DT_Aly4B.js} +1 -1
  21. package/dist/gateway/static/root/assets/{app-management-settings-panel-BXJrrjH5.js → app-management-settings-panel-C4JhA-Kz.js} +1 -1
  22. package/dist/gateway/static/root/assets/{appearance-settings-oYjAVulT.js → appearance-settings-YM311zxY.js} +1 -1
  23. package/dist/gateway/static/root/assets/{apps-page-D95yzj-f.js → apps-page-BrnAMjXr.js} +1 -1
  24. package/dist/gateway/static/root/assets/{archive-plugin-DBPu3xCJ.js → archive-plugin-DoYjGZv1.js} +1 -1
  25. package/dist/gateway/static/root/assets/{automation-api-DAou8Kji.js → automation-api-ZD1VY9jO.js} +1 -1
  26. package/dist/gateway/static/root/assets/{automation-result-state-CA7LV098.js → automation-result-state-BO5N3gMt.js} +1 -1
  27. package/dist/gateway/static/root/assets/{automation-task-card-DIjI_Y1X.js → automation-task-card--K7uiKHL.js} +1 -1
  28. package/dist/gateway/static/root/assets/{automations-page-BQwSCkmd.js → automations-page-Clcl5MI7.js} +1 -1
  29. package/dist/gateway/static/root/assets/{automations-workspace-BUFTTjBq.js → automations-workspace-DM67xMcR.js} +2 -2
  30. package/dist/gateway/static/root/assets/{binary-plugins-D25P9ZxQ.js → binary-plugins-B-dkI6-B.js} +1 -1
  31. package/dist/gateway/static/root/assets/{block-editor-BI105p1U.js → block-editor-CB6KruU-.js} +1 -1
  32. package/dist/gateway/static/root/assets/{browser-automation-inputs-DhDRvWQE.js → browser-automation-inputs-Bk_QFbzb.js} +1 -1
  33. package/dist/gateway/static/root/assets/{browser-automations-page-CCPi1Bvy.js → browser-automations-page-54eckhYq.js} +1 -1
  34. package/dist/gateway/static/root/assets/{browser-control-api-BN4F-bM1.js → browser-control-api-B4T1KPPz.js} +1 -1
  35. package/dist/gateway/static/root/assets/{browser-settings-page-BZXUZpjp.js → browser-settings-page-rOmS1-T8.js} +1 -1
  36. package/dist/gateway/static/root/assets/{capabilities-LC-yEQYo.js → capabilities-DBDeifNA.js} +1 -1
  37. package/dist/gateway/static/root/assets/{capabilities-u2z_KFRt.js → capabilities-D_Uqx5il.js} +1 -1
  38. package/dist/gateway/static/root/assets/{capabilities-page-B8UgQ4dD.js → capabilities-page-DOMoAom0.js} +2 -2
  39. package/dist/gateway/static/root/assets/{capabilities-settings-panel-Bxn8HtEO.js → capabilities-settings-panel-iQPbNO4A.js} +1 -1
  40. package/dist/gateway/static/root/assets/{channels-9Uaa-IN0.js → channels-DsEP_hFB.js} +1 -1
  41. package/dist/gateway/static/root/assets/{chat-agents-api-Cffxfzi1.js → chat-agents-api-D5-xZdAt.js} +1 -1
  42. package/dist/gateway/static/root/assets/{chat-chart-block-Bbk0b3TV.js → chat-chart-block-B-ri4wfk.js} +1 -1
  43. package/dist/gateway/static/root/assets/{chat-page-e-xCsrdS.js → chat-page-DQNLsOad.js} +16 -16
  44. package/dist/gateway/static/root/assets/{chat-terminal-dock-CQMuG-Bz.js → chat-terminal-dock-RcrdmYe8.js} +1 -1
  45. package/dist/gateway/static/root/assets/{command-palette-api-BRxfFgGA.js → command-palette-api-DFd-zOz_.js} +1 -1
  46. package/dist/gateway/static/root/assets/{composer-payload-handoff-_9L2A5AZ.js → composer-payload-handoff-hccuv1Lk.js} +1 -1
  47. package/dist/gateway/static/root/assets/{computer-settings-page-BIHbjBVt.js → computer-settings-page-C-7YLU9l.js} +1 -1
  48. package/dist/gateway/static/root/assets/{connected-providers-grid-B7ktDgqt.js → connected-providers-grid-DziNfbFz.js} +1 -1
  49. package/dist/gateway/static/root/assets/{connector-service-page-BVMEg8n-.js → connector-service-page-C3ZhlR8V.js} +1 -1
  50. package/dist/gateway/static/root/assets/{connectors-api-B07yoCzk.js → connectors-api-D6CPY0Nu.js} +1 -1
  51. package/dist/gateway/static/root/assets/{connectors-page-hPKaJUWY.js → connectors-page-CcG3V3OB.js} +1 -1
  52. package/dist/gateway/static/root/assets/{date-picker-BvEnSGZK.js → date-picker-D3bxeryy.js} +1 -1
  53. package/dist/gateway/static/root/assets/{desktop-pet-C1z9YDEg.js → desktop-pet-B7kSoCSo.js} +1 -1
  54. package/dist/gateway/static/root/assets/{desktop-pet-settings-CbbVb8GY.js → desktop-pet-settings-3dEeKSHA.js} +1 -1
  55. package/dist/gateway/static/root/assets/{dev-view-store-38EmUIEC.js → dev-view-store-Dk7ylv5S.js} +1 -1
  56. package/dist/gateway/static/root/assets/{device-pairing-wizard-Wb1EKiXA.js → device-pairing-wizard-CstPAnnj.js} +1 -1
  57. package/dist/gateway/static/root/assets/{directory-picker-path-field-BvKDrKc4.js → directory-picker-path-field-BUGqS-lm.js} +1 -1
  58. package/dist/gateway/static/root/assets/{discussion-annotation-sync-BfVzIwe2.js → discussion-annotation-sync-D9-wFJDS.js} +1 -1
  59. package/dist/gateway/static/root/assets/{extension-debug-page-CB9Lu3Sq.js → extension-debug-page-BDTA9XDE.js} +1 -1
  60. package/dist/gateway/static/root/assets/{extension-iframe-host-BzjrVAUR.js → extension-iframe-host-CPEaw2ZG.js} +1 -1
  61. package/dist/gateway/static/root/assets/{extension-marketplace-api-DigziAgd.js → extension-marketplace-api-edmEFM6F.js} +1 -1
  62. package/dist/gateway/static/root/assets/{extension-page-DUa9MeaZ.js → extension-page-Biz-65E8.js} +1 -1
  63. package/dist/gateway/static/root/assets/{extension-provider-301x0rh-.js → extension-provider-DCur0Xcb.js} +1 -1
  64. package/dist/gateway/static/root/assets/{extension-settings-page-CP9ciZUI.js → extension-settings-page-CvPK63oz.js} +1 -1
  65. package/dist/gateway/static/root/assets/{file-preview-surface-BaMGmCbw.js → file-preview-surface-BFs1sAID.js} +1 -1
  66. package/dist/gateway/static/root/assets/{gateway-config-swr-BD4Bf8uu.js → gateway-config-swr-C-fPl1hP.js} +1 -1
  67. package/dist/gateway/static/root/assets/gateway-realtime-store-eEZgUEdH.js +1 -0
  68. package/dist/gateway/static/root/assets/{gateway-realtime-CSd9VB7Z.js → gateway-realtime-xZpX_HCq.js} +1 -1
  69. package/dist/gateway/static/root/assets/{gateway-restart-CIUCTKYR.js → gateway-restart-BfozBI8f.js} +1 -1
  70. package/dist/gateway/static/root/assets/{gateway-settings-CCqF1uZv.js → gateway-settings-A8BUKcfx.js} +1 -1
  71. package/dist/gateway/static/root/assets/{gateway-startup-retry-BsU5k8oi.js → gateway-startup-retry-BRrkiv67.js} +1 -1
  72. package/dist/gateway/static/root/assets/{global-defaults-api-asOZQeM8.js → global-defaults-api-C9O_X0pj.js} +1 -1
  73. package/dist/gateway/static/root/assets/{home-page-Bb_RC1O9.js → home-page-CzS-ROXe.js} +2 -2
  74. package/dist/gateway/static/root/assets/{image-generation-api-CdwYgzhU.js → image-generation-api-ohquPPls.js} +1 -1
  75. package/dist/gateway/static/root/assets/{imports-page-CVnoGUyp.js → imports-page-DAebChWv.js} +1 -1
  76. package/dist/gateway/static/root/assets/{index-BmUSsdwn.js → index-BinHjymm.js} +5 -5
  77. package/dist/gateway/static/root/assets/{install-connector-dialog-DXVOHMhS.js → install-connector-dialog-xHNBuSj0.js} +1 -1
  78. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BCl90SrD.js → keyboard-shortcuts-settings-Bv4YJpTl.js} +1 -1
  79. package/dist/gateway/static/root/assets/{local-app-workbench-page-CcJc9xLJ.js → local-app-workbench-page-OhV8UnzK.js} +1 -1
  80. package/dist/gateway/static/root/assets/{local-apps-page-CdAKoWfg.js → local-apps-page-ADzWmh3T.js} +1 -1
  81. package/dist/gateway/static/root/assets/{local-session-drafts-nRGeybku.js → local-session-drafts-DgtYzPiy.js} +1 -1
  82. package/dist/gateway/static/root/assets/{locale-store-B7y-RVe8.js → locale-store-fGFrr4_4.js} +1 -1
  83. package/dist/gateway/static/root/assets/{logs-page-McbSQwJI.js → logs-page-i0eD_bSC.js} +1 -1
  84. package/dist/gateway/static/root/assets/{management-settings-BIR0BwNV.js → management-settings-C-JTxRjw.js} +1 -1
  85. package/dist/gateway/static/root/assets/{markdown-view-DFHa8rUg.js → markdown-view-Cnt8oxNg.js} +1 -1
  86. package/dist/gateway/static/root/assets/{mcp-conversation-setup-page-Dwx4TuIr.js → mcp-conversation-setup-page-BQ_US_jP.js} +1 -1
  87. package/dist/gateway/static/root/assets/{media-plugins-BzzLV7wW.js → media-plugins-cphVSfva.js} +1 -1
  88. package/dist/gateway/static/root/assets/{messages-DYDkJvXj.js → messages-9OwWjlww.js} +2 -2
  89. package/dist/gateway/static/root/assets/{model-selector-YsCHu1Gn.js → model-selector-Bv-anQ6O.js} +1 -1
  90. package/dist/gateway/static/root/assets/{models-hub-cache-BUapaPTN.js → models-hub-cache-BLYpN4bJ.js} +1 -1
  91. package/dist/gateway/static/root/assets/{note-detail-panel-CJ-dPovd.js → note-detail-panel-B-pk3LYN.js} +3 -3
  92. package/dist/gateway/static/root/assets/note-image-lightbox-DOG9mCzE.js +1 -0
  93. package/dist/gateway/static/root/assets/{notes-api-ulup1oFS.js → notes-api-IIQgxlMj.js} +1 -1
  94. package/dist/gateway/static/root/assets/{notes-page-BaFNplIr.js → notes-page-C6l9zI17.js} +1 -1
  95. package/dist/gateway/static/root/assets/{oauth-api-DINa08-z.js → oauth-api-BojfhqmL.js} +1 -1
  96. package/dist/gateway/static/root/assets/{oauth-provider-connect-C0PVEHC2.js → oauth-provider-connect-D_p1ez-o.js} +1 -1
  97. package/dist/gateway/static/root/assets/{page-context-capture-button-CGfR0dsc.js → page-context-capture-button-CiEaCz7v.js} +1 -1
  98. package/dist/gateway/static/root/assets/{page-context-draft-DhRNxc0v.js → page-context-draft-BbGvUKjF.js} +1 -1
  99. package/dist/gateway/static/root/assets/page-header-store-DBeD_mAA.js +1 -0
  100. package/dist/gateway/static/root/assets/{personal-avatar-DiVFO2Aw.js → personal-avatar-Cq0y6LEK.js} +1 -1
  101. package/dist/gateway/static/root/assets/{personal-page-Cvd-v9kT.js → personal-page-CDad-FDO.js} +1 -1
  102. package/dist/gateway/static/root/assets/{personal-settings-panel-Ds4ntiqu.js → personal-settings-panel-yVUzcKoo.js} +1 -1
  103. package/dist/gateway/static/root/assets/{phone-dependencies-card-B3R6L5Qu.js → phone-dependencies-card-CM2Mj4rH.js} +1 -1
  104. package/dist/gateway/static/root/assets/{phone-model-connection-BieYnAJ5.js → phone-model-connection-kJYAiCgI.js} +1 -1
  105. package/dist/gateway/static/root/assets/{phone-model-picker-Bkex4Sre.js → phone-model-picker-sXs8PpFk.js} +1 -1
  106. package/dist/gateway/static/root/assets/{phone-settings-page-D8PuvEuJ.js → phone-settings-page-ayCImqUb.js} +1 -1
  107. package/dist/gateway/static/root/assets/{phone-workspace-store-Cmes9gQ4.js → phone-workspace-store-DoTZvoDh.js} +1 -1
  108. package/dist/gateway/static/root/assets/{plugin-details-dialog-DblFhnuC.js → plugin-details-dialog-B4qZ0obG.js} +1 -1
  109. package/dist/gateway/static/root/assets/{preference-select-fields-D2-QfMN5.js → preference-select-fields-oZm_6PvN.js} +1 -1
  110. package/dist/gateway/static/root/assets/{product-automation-feedback-BzY3z8zu.js → product-automation-feedback-Ddj5cmmF.js} +1 -1
  111. package/dist/gateway/static/root/assets/{product-open-page-BKw6H0Mn.js → product-open-page-CTuqeUDh.js} +1 -1
  112. package/dist/gateway/static/root/assets/{product-preview-content-VcvxaO2S.js → product-preview-content-Ci8eDZ2h.js} +1 -1
  113. package/dist/gateway/static/root/assets/{product-preview-modal-Ym6bomTW.js → product-preview-modal-J-9O-eQ2.js} +2 -2
  114. package/dist/gateway/static/root/assets/{project-detail-page-CFbXWvcd.js → project-detail-page-D8QlmMQp.js} +1 -1
  115. package/dist/gateway/static/root/assets/{project-understanding-CrSkrJnM.js → project-understanding-8DBS77KV.js} +1 -1
  116. package/dist/gateway/static/root/assets/{projects-page-Cp91_KzA.js → projects-page-CEyyFqca.js} +1 -1
  117. package/dist/gateway/static/root/assets/{providers-api-CBSC3jdu.js → providers-api-DyX07mht.js} +1 -1
  118. package/dist/gateway/static/root/assets/{recording-upload-DBHAGKZj.js → recording-upload-DOhMs_aU.js} +1 -1
  119. package/dist/gateway/static/root/assets/{registry-api-QZEjziDq.js → registry-api-Bm7kut54.js} +1 -1
  120. package/dist/gateway/static/root/assets/{remote-access-hub-BdXxFQfH.js → remote-access-hub-DfCkv8XR.js} +1 -1
  121. package/dist/gateway/static/root/assets/{resource-unavailable-BTNhcOHF.js → resource-unavailable-jg8QV_tO.js} +1 -1
  122. package/dist/gateway/static/root/assets/{route-preload-C-VRKwB1.js → route-preload-Uhpfz1Jz.js} +2 -2
  123. package/dist/gateway/static/root/assets/{runtime-tools-api-BDTUD8Rj.js → runtime-tools-api-BpaZgv-a.js} +1 -1
  124. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CYEzIrDf.js → runtime-tools-settings-panel-CGnX0DY1.js} +1 -1
  125. package/dist/gateway/static/root/assets/{service-recommendation-list-CfeYH6lK.js → service-recommendation-list-NdwoBa_O.js} +1 -1
  126. package/dist/gateway/static/root/assets/{session-api-DVXLCZX2.js → session-api-BwcBcvzv.js} +1 -1
  127. package/dist/gateway/static/root/assets/session-manager-SASXxhrN.js +23 -0
  128. package/dist/gateway/static/root/assets/{sessions-page-C2CH-55n.js → sessions-page-CAutHonI.js} +1 -1
  129. package/dist/gateway/static/root/assets/settings-advanced-gate-iUlbBMZI.js +1 -0
  130. package/dist/gateway/static/root/assets/{settings-advanced-section-BmrbHgQa.js → settings-advanced-section-CICMnCwv.js} +1 -1
  131. package/dist/gateway/static/root/assets/{settings-mode-store-Bk_hzwPK.js → settings-mode-store-DCnYgG87.js} +1 -1
  132. package/dist/gateway/static/root/assets/{settings-page-B6vrcc6f.js → settings-page-CZXi8Jro.js} +1 -1
  133. package/dist/gateway/static/root/assets/{settings-page-header-BLKI3_9N.js → settings-page-header-DH1qb4vP.js} +1 -1
  134. package/dist/gateway/static/root/assets/{settings-page-layout-BqBVrkC9.js → settings-page-layout-B2G042F2.js} +1 -1
  135. package/dist/gateway/static/root/assets/{setup-interaction-page-BDPte58u.js → setup-interaction-page-B-tpfd3l.js} +1 -1
  136. package/dist/gateway/static/root/assets/{setup-status-panel-DEefuWo3.js → setup-status-panel-DtA2Lb-A.js} +1 -1
  137. package/dist/gateway/static/root/assets/{share-link-dialog-C2LyeNzj.js → share-link-dialog-BjjkGRWn.js} +1 -1
  138. package/dist/gateway/static/root/assets/{share-preview-page-BFwEr7Ws.js → share-preview-page-BBaJCO3w.js} +1 -1
  139. package/dist/gateway/static/root/assets/{shares-api-CTFkLQxq.js → shares-api-C1rliVTe.js} +1 -1
  140. package/dist/gateway/static/root/assets/{shares-settings-CpK3yhtc.js → shares-settings-BMctLz4y.js} +1 -1
  141. package/dist/gateway/static/root/assets/{skill-api-DpicfA6o.js → skill-api-fWp7oUet.js} +1 -1
  142. package/dist/gateway/static/root/assets/{skill-list-api-B8fegRLZ.js → skill-list-api-B-2Dod7G.js} +1 -1
  143. package/dist/gateway/static/root/assets/{skill-reload-api-VmC8ySUy.js → skill-reload-api-Cejk-tbD.js} +1 -1
  144. package/dist/gateway/static/root/assets/{skills-page-BIWXS6Ki.js → skills-page-D-dxO0Vc.js} +1 -1
  145. package/dist/gateway/static/root/assets/{system-settings-panel-BmoA92oX.js → system-settings-panel-D-gdBXlK.js} +1 -1
  146. package/dist/gateway/static/root/assets/{task-detail-page-CC3Rzqq9.js → task-detail-page-CIX4EckU.js} +1 -1
  147. package/dist/gateway/static/root/assets/{task-result-evidence-BV-6hBVU.js → task-result-evidence-Dp6gk3xn.js} +1 -1
  148. package/dist/gateway/static/root/assets/{terminal-panel-store-BGdKE9hU.js → terminal-panel-store-BDrza-7c.js} +1 -1
  149. package/dist/gateway/static/root/assets/{theme-store-Dvv79Wb2.js → theme-store-De43hGnm.js} +1 -1
  150. package/dist/gateway/static/root/assets/{tracing-settings-page-B4uA4Pnz.js → tracing-settings-page-DlQJAutq.js} +1 -1
  151. package/dist/gateway/static/root/assets/{tunnel-api-BurZtvqx.js → tunnel-api-BSeDyRBI.js} +1 -1
  152. package/dist/gateway/static/root/assets/{understanding-activity-store-C1cLL8zq.js → understanding-activity-store-CABSRtdN.js} +1 -1
  153. package/dist/gateway/static/root/assets/{understanding-refresh-store-C3Lr_pjY.js → understanding-refresh-store-C5pXQtC9.js} +1 -1
  154. package/dist/gateway/static/root/assets/{usage-page-C91ZzLm9.js → usage-page-Dd6gyHlm.js} +1 -1
  155. package/dist/gateway/static/root/assets/{use-autosave-zkzRuUtx.js → use-autosave-BhdMHxgz.js} +1 -1
  156. package/dist/gateway/static/root/assets/{use-composer-attachments-CoiQAgjo.js → use-composer-attachments-Baw8AHhn.js} +1 -1
  157. package/dist/gateway/static/root/assets/{use-file-preview-expanded-DFzy6iVy.js → use-file-preview-expanded-B_cRX1Ih.js} +2 -2
  158. package/dist/gateway/static/root/assets/{use-personal-profile-BB10h9ED.js → use-personal-profile-DL5rDvwX.js} +1 -1
  159. package/dist/gateway/static/root/assets/{use-workspace-tree-sF5DcONt.js → use-workspace-tree-DONQqfmT.js} +1 -1
  160. package/dist/gateway/static/root/assets/{user-model-page-WFnD5utO.js → user-model-page-u2vtyxcX.js} +1 -1
  161. package/dist/gateway/static/root/assets/{voice-api-key-field-Bqa4PeZx.js → voice-api-key-field-OChN73N1.js} +1 -1
  162. package/dist/gateway/static/root/assets/{voice-config-api-LNO2xXHk.js → voice-config-api-CziHHWRu.js} +1 -1
  163. package/dist/gateway/static/root/assets/{voice-input-shortcut-events-AzfhxBX7.js → voice-input-shortcut-events-CWSb-oJe.js} +1 -1
  164. package/dist/gateway/static/root/assets/{voice-transcribe-api-Cb8i6dLb.js → voice-transcribe-api-CqEwxj11.js} +1 -1
  165. package/dist/gateway/static/root/assets/{work-discovery-overlay-CdQUiV-a.js → work-discovery-overlay-BJT2mARb.js} +1 -1
  166. package/dist/gateway/static/root/assets/{work-discovery-page-HcUloXxf.js → work-discovery-page-CkHMAnBc.js} +1 -1
  167. package/dist/gateway/static/root/assets/{working-directory-picker-modal-Dv1HUipe.js → working-directory-picker-modal-CpZEiO2a.js} +1 -1
  168. package/dist/gateway/static/root/assets/{workspace-api-Am2ee4R6.js → workspace-api-Yi28Sl0C.js} +2 -2
  169. package/dist/gateway/static/root/assets/workspace-editor-agent-store-Bz_M_rk3.js +1 -0
  170. package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-z5Q00v92.js → workspace-file-preview-dialog-MLLldcHQ.js} +1 -1
  171. package/dist/gateway/static/root/assets/{workspace-open-location-menu-4ONYaGy0.js → workspace-open-location-menu-CjfDtW9T.js} +1 -1
  172. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-DimGN59n.js → xopc-cloud-account-card-FioKsLPf.js} +1 -1
  173. package/dist/gateway/static/root/index.html +78 -78
  174. package/dist/package.js +1 -1
  175. package/dist/src/agent/agent-manager.js +18 -18
  176. package/dist/src/agent/agent-scope.js +2 -2
  177. package/dist/src/agent/background-review/prompts.js +1 -1
  178. package/dist/src/agent/background-review/run-background-review.js +12 -12
  179. package/dist/src/agent/child-agent-factory.js +2 -2
  180. package/dist/src/agent/context/coordinator.js +2 -2
  181. package/dist/src/agent/context/execution-context.js +4 -4
  182. package/dist/src/agent/context/project-context.js +3 -3
  183. package/dist/src/agent/data-acquisition/service.js +1 -1
  184. package/dist/src/agent/embedded/codemode-extension.js +1 -1
  185. package/dist/src/agent/embedded/execution-tool-policy.js +1 -1
  186. package/dist/src/agent/embedded/external-tool-discovery.js +1 -1
  187. package/dist/src/agent/embedded/run-for-session.js +6 -6
  188. package/dist/src/agent/embedded/run-turn.js +19 -19
  189. package/dist/src/agent/embedded/session-runner.js +4 -4
  190. package/dist/src/agent/embedded/session-tool-result-guard.js +1 -1
  191. package/dist/src/agent/embedded/xopc-tools-bridge.js +1 -1
  192. package/dist/src/agent/external-tools/cliProvider.js +4 -4
  193. package/dist/src/agent/external-tools/composio-provider.js +4 -4
  194. package/dist/src/agent/external-tools/endpoint-provider.js +6 -6
  195. package/dist/src/agent/external-tools/extension-provider.js +1 -1
  196. package/dist/src/agent/external-tools/gateway-tools.js +3 -3
  197. package/dist/src/agent/external-tools/memory-provider.js +1 -1
  198. package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
  199. package/dist/src/agent/image/generation/runtime.js +1 -1
  200. package/dist/src/agent/image/index.js +1 -1
  201. package/dist/src/agent/inbound/attachment-pipeline.js +2 -2
  202. package/dist/src/agent/inbound/inbound-loop.js +2 -2
  203. package/dist/src/agent/independent-execution.js +2 -2
  204. package/dist/src/agent/index.js +3 -3
  205. package/dist/src/agent/mcp/connection-drafts.js +1 -1
  206. package/dist/src/agent/mcp/connection-setup.js +1 -1
  207. package/dist/src/agent/mcp/conversation-setup.js +1 -1
  208. package/dist/src/agent/mcp/discovery.js +2 -2
  209. package/dist/src/agent/mcp/transport.js +1 -1
  210. package/dist/src/agent/memory/index.js +1 -1
  211. package/dist/src/agent/orchestration/llm-turn-retry.js +1 -1
  212. package/dist/src/agent/prompt/response-language.js +1 -1
  213. package/dist/src/agent/prompt/service-prompt-builder.js +3 -3
  214. package/dist/src/agent/prompt/system-prompt-params.js +1 -1
  215. package/dist/src/agent/sandbox/exec-policy.js +1 -1
  216. package/dist/src/agent/service/direct-turn-helpers.js +6 -6
  217. package/dist/src/agent/service/process-direct-streaming.js +6 -6
  218. package/dist/src/agent/service/webchat-tts.js +2 -2
  219. package/dist/src/agent/service.js +22 -22
  220. package/dist/src/agent/session/session-config-service.js +2 -2
  221. package/dist/src/agent/session/session-hydrator.js +1 -1
  222. package/dist/src/agent/session/session-inspector.js +1 -1
  223. package/dist/src/agent/skills/filesystem-watcher.js +1 -1
  224. package/dist/src/agent/skills/hub-lock.js +1 -1
  225. package/dist/src/agent/skills/hub-pull.js +2 -2
  226. package/dist/src/agent/skills/index.js +1 -1
  227. package/dist/src/agent/skills/managed-store.js +1 -1
  228. package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +1 -1
  229. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +1 -1
  230. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  231. package/dist/src/agent/skills/skill-manager.js +1 -1
  232. package/dist/src/agent/skills/skill-sources.js +1 -1
  233. package/dist/src/agent/source-context/index.js +1 -1
  234. package/dist/src/agent/tasks/task-judge-service.js +8 -8
  235. package/dist/src/agent/tools/create-share-tool.js +2 -2
  236. package/dist/src/agent/tools/delegate-tool.js +3 -3
  237. package/dist/src/agent/tools/exec-command.js +1 -1
  238. package/dist/src/agent/tools/executor.js +1 -1
  239. package/dist/src/agent/tools/factory.js +19 -19
  240. package/dist/src/agent/tools/fetch-text.js +1 -1
  241. package/dist/src/agent/tools/image-generate-tool.js +2 -2
  242. package/dist/src/agent/tools/index.js +4 -4
  243. package/dist/src/agent/tools/list-dir.js +1 -1
  244. package/dist/src/agent/tools/personal-attention-tool.js +2 -2
  245. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  246. package/dist/src/agent/tools/personal-request-result-tool.js +1 -1
  247. package/dist/src/agent/tools/personal-request-tool.js +4 -4
  248. package/dist/src/agent/tools/personal-result-tool.js +1 -1
  249. package/dist/src/agent/tools/personal-task-tool.js +5 -5
  250. package/dist/src/agent/tools/phone-use-tool.js +1 -1
  251. package/dist/src/agent/tools/publish-artifacts.js +1 -1
  252. package/dist/src/agent/tools/read.js +1 -1
  253. package/dist/src/agent/tools/review-workspace.js +1 -1
  254. package/dist/src/agent/tools/send-media.js +1 -1
  255. package/dist/src/agent/tools/skill-manage-tool.js +1 -1
  256. package/dist/src/agent/tools/task-collaboration-tool.js +2 -2
  257. package/dist/src/agent/tools/tts-tool.js +1 -1
  258. package/dist/src/agent/tools/user-context-tool.js +2 -2
  259. package/dist/src/agent/tools/web.js +1 -1
  260. package/dist/src/agent/tools/write.js +1 -1
  261. package/dist/src/agent/tools/xopc-use-tool.js +12 -12
  262. package/dist/src/agent/transcript/index.js +2 -2
  263. package/dist/src/agent/transcript/transcript-hygiene.js +2 -2
  264. package/dist/src/agent-catalog/capabilities.js +2 -2
  265. package/dist/src/agent-catalog/repository.js +1 -1
  266. package/dist/src/agent-matching/delegation-service.js +1 -1
  267. package/dist/src/ai-assist/text-assist.js +1 -1
  268. package/dist/src/auth/credentials.js +1 -1
  269. package/dist/src/auth/oauth/openai.js +1 -1
  270. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  271. package/dist/src/auth/profiles/store.js +1 -1
  272. package/dist/src/automations/api/routes.js +2 -2
  273. package/dist/src/automations/capabilities/drafts.js +1 -1
  274. package/dist/src/automations/capabilities/write.js +1 -1
  275. package/dist/src/automations/configuration-conversation.js +1 -1
  276. package/dist/src/automations/delivery/delivery-router.js +1 -1
  277. package/dist/src/automations/domain/index.js +1 -1
  278. package/dist/src/automations/draft/automation-draft-service.js +1 -1
  279. package/dist/src/automations/index.js +2 -2
  280. package/dist/src/automations/service/action-executor.js +2 -2
  281. package/dist/src/automations/service/automation-service.js +2 -2
  282. package/dist/src/browser/native-messaging-host.js +1 -1
  283. package/dist/src/browser/providers/browser-ext-install.js +2 -2
  284. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  285. package/dist/src/capabilities/runtime/product.js +1 -1
  286. package/dist/src/capabilities/store-connector.js +2 -2
  287. package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
  288. package/dist/src/channels/index.js +1 -1
  289. package/dist/src/channels/outbound-sender.js +1 -1
  290. package/dist/src/channels/pairing/allow-from-file.js +9 -9
  291. package/dist/src/channels/pairing/pairing-store.js +6 -6
  292. package/dist/src/chat-commands/agent-edit.js +1 -1
  293. package/dist/src/chat-commands/builtins/config.js +2 -2
  294. package/dist/src/chat-commands/builtins/session.js +1 -1
  295. package/dist/src/chat-commands/builtins/thinking.js +1 -1
  296. package/dist/src/chat-commands/builtins/tts.js +1 -1
  297. package/dist/src/chat-commands/context.js +1 -1
  298. package/dist/src/chat-commands/index.js +3 -3
  299. package/dist/src/cli/commands/agent.js +7 -7
  300. package/dist/src/cli/commands/agents.js +1 -1
  301. package/dist/src/cli/commands/config.js +1 -1
  302. package/dist/src/cli/commands/connectors.js +1 -1
  303. package/dist/src/cli/commands/doctor/checks/channel-plugins.js +1 -1
  304. package/dist/src/cli/commands/doctor/checks/gateway-health.js +1 -1
  305. package/dist/src/cli/commands/extension-agent-plugin.js +1 -1
  306. package/dist/src/cli/commands/extension-dev.js +1 -1
  307. package/dist/src/cli/commands/extension.js +2 -2
  308. package/dist/src/cli/commands/image.js +1 -1
  309. package/dist/src/cli/commands/init.js +1 -1
  310. package/dist/src/cli/commands/models.js +3 -3
  311. package/dist/src/cli/commands/onboard/channels/registry.js +1 -1
  312. package/dist/src/cli/commands/onboard/model.js +1 -1
  313. package/dist/src/cli/commands/onboard.js +1 -1
  314. package/dist/src/cli/commands/project.js +1 -1
  315. package/dist/src/cli/commands/skills.js +2 -2
  316. package/dist/src/cli/commands/tunnel.js +4 -4
  317. package/dist/src/cli/extension-cli-register.js +5 -5
  318. package/dist/src/cli/utils/gateway-client.js +1 -1
  319. package/dist/src/cli/utils/init-workspace-core.js +3 -3
  320. package/dist/src/cli/utils/session.js +1 -1
  321. package/dist/src/computer/flows.js +1 -1
  322. package/dist/src/computer/model-adapter.js +1 -1
  323. package/dist/src/computer/runtime.js +4 -4
  324. package/dist/src/config/agent-profile.js +1 -1
  325. package/dist/src/config/index.js +3 -3
  326. package/dist/src/config/loader.js +1 -1
  327. package/dist/src/config/models-json.js +1 -1
  328. package/dist/src/connectors/cli/authorization.js +1 -1
  329. package/dist/src/connectors/composio-sessions.js +1 -1
  330. package/dist/src/connectors/composio.js +1 -1
  331. package/dist/src/connectors/connected-source-ingestion.js +2 -2
  332. package/dist/src/connectors/connected-source-understanding.js +5 -5
  333. package/dist/src/connectors/connection-recovery-service.js +4 -4
  334. package/dist/src/connectors/content-enrichment.js +1 -1
  335. package/dist/src/connectors/health.js +1 -1
  336. package/dist/src/connectors/instances.js +1 -1
  337. package/dist/src/connectors/runtime-adapter-registry.js +2 -2
  338. package/dist/src/discussions/live-worker.js +1 -1
  339. package/dist/src/discussions/sealer.js +1 -1
  340. package/dist/src/endpoint-tools/index.js +1 -1
  341. package/dist/src/endpoint-tools/runtime.js +2 -2
  342. package/dist/src/execution-environments/local-worktree-manager.js +1 -1
  343. package/dist/src/extensions/activation-context.js +3 -3
  344. package/dist/src/extensions/agent-plugins/auth.js +1 -1
  345. package/dist/src/extensions/agent-plugins/skill-catalog.js +3 -3
  346. package/dist/src/extensions/agent-plugins/source-http-fetch.js +1 -1
  347. package/dist/src/extensions/agent-plugins/validation.js +1 -1
  348. package/dist/src/extensions/api.js +3 -3
  349. package/dist/src/extensions/bundled-extension-activation.js +1 -1
  350. package/dist/src/extensions/index.js +3 -3
  351. package/dist/src/extensions/loader.js +2 -2
  352. package/dist/src/extensions/lockfile.js +1 -1
  353. package/dist/src/extensions/sdk/index.js +1 -1
  354. package/dist/src/extensions/sdk/media.js +1 -1
  355. package/dist/src/gateway/agents-admin.js +2 -2
  356. package/dist/src/gateway/device-routes.js +1 -1
  357. package/dist/src/gateway/file-path-classifier.js +1 -1
  358. package/dist/src/gateway/global-defaults-admin.js +2 -2
  359. package/dist/src/gateway/hono/app.js +2 -2
  360. package/dist/src/gateway/hono/lib/config-payload.js +2 -2
  361. package/dist/src/gateway/hono/oauth-async.js +1 -1
  362. package/dist/src/gateway/hono/routes/agent-plugins.js +1 -1
  363. package/dist/src/gateway/hono/routes/agents.js +1 -1
  364. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  365. package/dist/src/gateway/hono/routes/commands-skills.js +4 -4
  366. package/dist/src/gateway/hono/routes/config-patch/gateway.js +1 -1
  367. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  368. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  369. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  370. package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -1
  371. package/dist/src/gateway/hono/routes/home.js +1 -1
  372. package/dist/src/gateway/hono/routes/location-sharing.js +1 -1
  373. package/dist/src/gateway/hono/routes/mcp.js +1 -1
  374. package/dist/src/gateway/hono/routes/memory-learning.js +3 -3
  375. package/dist/src/gateway/hono/routes/models.js +4 -4
  376. package/dist/src/gateway/hono/routes/notes.js +3 -3
  377. package/dist/src/gateway/hono/routes/phone-dependencies.js +1 -1
  378. package/dist/src/gateway/hono/routes/phone-setup.js +2 -2
  379. package/dist/src/gateway/hono/routes/phone.js +2 -2
  380. package/dist/src/gateway/hono/routes/projects.js +5 -5
  381. package/dist/src/gateway/hono/routes/runtime-tools.js +1 -1
  382. package/dist/src/gateway/hono/routes/session-command-handler.js +2 -2
  383. package/dist/src/gateway/hono/routes/session-input-handler.js +5 -5
  384. package/dist/src/gateway/hono/routes/sessions.js +3 -3
  385. package/dist/src/gateway/hono/routes/shares.js +1 -1
  386. package/dist/src/gateway/hono/routes/side-chats.js +1 -1
  387. package/dist/src/gateway/hono/routes/tasks.js +2 -2
  388. package/dist/src/gateway/hono/routes/user-model.js +7 -7
  389. package/dist/src/gateway/hono/routes/voice.js +7 -7
  390. package/dist/src/gateway/image-generation-setup.js +1 -1
  391. package/dist/src/gateway/lock.js +11 -11
  392. package/dist/src/gateway/media-access.js +1 -1
  393. package/dist/src/gateway/mobile-privacy.js +2 -2
  394. package/dist/src/gateway/ports.js +6 -6
  395. package/dist/src/gateway/provider-model-setup.js +1 -1
  396. package/dist/src/gateway/server.js +1 -1
  397. package/dist/src/gateway/service/agent-runner.js +2 -2
  398. package/dist/src/gateway/service/config-coordinator.js +2 -2
  399. package/dist/src/gateway/service/marketplace-service.js +2 -2
  400. package/dist/src/gateway/service/run-gateway-agent.js +5 -5
  401. package/dist/src/gateway/service/session-command-service.js +2 -2
  402. package/dist/src/gateway/service/session-input-coordinator.js +1 -1
  403. package/dist/src/gateway/service.js +45 -45
  404. package/dist/src/gateway/session-context-summary.js +4 -4
  405. package/dist/src/gateway/session-reset-service.js +1 -1
  406. package/dist/src/gateway/workspace-editor-path.js +2 -2
  407. package/dist/src/gateway/xopc-cloud-capability-setup.js +2 -2
  408. package/dist/src/home-intelligence/generator.js +2 -2
  409. package/dist/src/home-intelligence/host.js +2 -2
  410. package/dist/src/imports/importService.js +1 -1
  411. package/dist/src/imports/inventory.js +2 -2
  412. package/dist/src/imports/productImport.js +1 -1
  413. package/dist/src/imports/runtime.js +1 -1
  414. package/dist/src/infra/gateway-processes.js +2 -2
  415. package/dist/src/infra/path-env.js +3 -3
  416. package/dist/src/infra/update-global.js +9 -9
  417. package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
  418. package/dist/src/knowledge/index.js +1 -1
  419. package/dist/src/knowledge-memory/repository.js +1 -1
  420. package/dist/src/knowledge-memory/usage-policy.js +1 -1
  421. package/dist/src/local-apps/service.js +3 -3
  422. package/dist/src/mcp/gateway-http-client.js +1 -1
  423. package/dist/src/media-understanding/openai-compatible-audio.js +1 -1
  424. package/dist/src/memory-learning/source-learning.js +5 -5
  425. package/dist/src/memory-learning/task-receipts.js +1 -1
  426. package/dist/src/notes/agent-context.js +4 -4
  427. package/dist/src/notes/index.js +1 -1
  428. package/dist/src/notes/service.js +3 -3
  429. package/dist/src/personal-agent/capability-service.js +2 -2
  430. package/dist/src/personal-agent/proactivity/routes.js +1 -1
  431. package/dist/src/personal-agent/proactivity/service.js +7 -7
  432. package/dist/src/personal-agent/prompt-context.js +7 -7
  433. package/dist/src/personal-agent/prompts.js +2 -2
  434. package/dist/src/personal-agent/reply-composer.js +9 -9
  435. package/dist/src/personal-agent/request-delivery.js +2 -2
  436. package/dist/src/personal-agent/request-service.js +7 -7
  437. package/dist/src/personal-agent/result-reader.js +1 -1
  438. package/dist/src/personal-agent/service.js +2 -2
  439. package/dist/src/phone/adb-driver.js +2 -2
  440. package/dist/src/phone/model-adapter.d.ts +2 -0
  441. package/dist/src/phone/model-adapter.js +11 -4
  442. package/dist/src/phone/reliability.js +24 -2
  443. package/dist/src/phone/repository.js +1 -1
  444. package/dist/src/phone/runtime.js +10 -5
  445. package/dist/src/phone/ui-dump-binary.d.ts +1 -1
  446. package/dist/src/phone/ui-dump-binary.js +1 -1
  447. package/dist/src/projects/index.js +2 -2
  448. package/dist/src/projects/project-agent-suggestion.js +1 -1
  449. package/dist/src/projects/project-service.js +2 -2
  450. package/dist/src/projects/project-skill-service.js +2 -2
  451. package/dist/src/projects/workspace.js +1 -1
  452. package/dist/src/providers/model-reference-auditor.js +1 -1
  453. package/dist/src/realtime/runtime.js +1 -1
  454. package/dist/src/remote-access/exposure-manager.js +1 -1
  455. package/dist/src/runtime-tools/archive.js +1 -1
  456. package/dist/src/runtime-tools/phone-dependencies.js +2 -2
  457. package/dist/src/session/index.js +2 -2
  458. package/dist/src/session/init-session-turn.js +1 -1
  459. package/dist/src/session/resolve-session.js +1 -1
  460. package/dist/src/session/store.js +5 -5
  461. package/dist/src/session/thinking-resolve.js +1 -1
  462. package/dist/src/share/hosted-session-share.js +2 -2
  463. package/dist/src/share/session-share-service.js +1 -1
  464. package/dist/src/share/share-store.js +1 -1
  465. package/dist/src/share/share-thumbnail.js +1 -1
  466. package/dist/src/share/site-proxy.js +1 -1
  467. package/dist/src/share/site-share-store.js +1 -1
  468. package/dist/src/storage/sqlite/connection.js +9 -9
  469. package/dist/src/tasks/capabilities/read.js +2 -2
  470. package/dist/src/tasks/capabilities/write.js +2 -2
  471. package/dist/src/tasks/home-query-service.js +1 -1
  472. package/dist/src/tasks/index.js +5 -5
  473. package/dist/src/tasks/task-allocation-service.js +5 -5
  474. package/dist/src/tasks/task-application-service.js +5 -5
  475. package/dist/src/tasks/task-collaboration-delivery.js +1 -1
  476. package/dist/src/tasks/task-context-assembler.js +2 -2
  477. package/dist/src/tasks/task-contract-planner.js +2 -2
  478. package/dist/src/tasks/task-handoff-service.js +1 -1
  479. package/dist/src/tasks/task-handoff.js +4 -4
  480. package/dist/src/tasks/task-main-update-decision-service.js +3 -3
  481. package/dist/src/tasks/task-model-call.js +1 -1
  482. package/dist/src/tasks/task-research-result.js +4 -4
  483. package/dist/src/tasks/task-result-delivery-repository.js +1 -1
  484. package/dist/src/tasks/task-result-delivery-service.js +2 -2
  485. package/dist/src/tasks/task-run-coordinator.js +3 -3
  486. package/dist/src/tasks/task-run-dispatcher.js +1 -1
  487. package/dist/src/tui/backends/embedded-backend.js +12 -12
  488. package/dist/src/tui/backends/gateway-realtime-backend.js +2 -2
  489. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  490. package/dist/src/tui/tui-commands.js +5 -5
  491. package/dist/src/tui/tui-picker-overlay.js +1 -1
  492. package/dist/src/tui/tui-skills-autocomplete.js +1 -1
  493. package/dist/src/tui/tui-startup-resources.js +3 -3
  494. package/dist/src/tui/tui.js +4 -4
  495. package/dist/src/tunnel/gateway-lifecycle.js +1 -1
  496. package/dist/src/user-context/access-policy.js +2 -2
  497. package/dist/src/user-model/bootstrap.js +1 -1
  498. package/dist/src/user-model/capture/executor.js +1 -1
  499. package/dist/src/user-model/index.js +2 -2
  500. package/dist/src/user-model/usage-policy.js +1 -1
  501. package/dist/src/voice/realtime/memory-context.js +5 -5
  502. package/dist/src/voice/realtime/omniRoute.js +1 -1
  503. package/dist/src/voice/realtime/persona-context.js +1 -1
  504. package/dist/src/voice/realtime/runtime.js +4 -4
  505. package/dist/src/voice/stt/index.js +2 -2
  506. package/dist/src/voice/stt/preflight.js +1 -1
  507. package/dist/src/voice/stt/providers/alibaba-transcription.js +1 -1
  508. package/dist/src/voice/stt/providers/bailian-plan-transcription.js +1 -1
  509. package/dist/src/voice/stt/providers/xopc-cloud-transcription.js +1 -1
  510. package/dist/src/voice/stt/transcribe-core.js +1 -1
  511. package/dist/src/voice/tts/index.js +3 -3
  512. package/dist/src/voice/tts/merge-config.js +1 -1
  513. package/dist/src/voice/tts/payload.js +1 -1
  514. package/dist/src/voice/tts/providers/bailian-plan-speech.js +1 -1
  515. package/dist/src/voice/tts/providers/xopc-cloud-speech.js +1 -1
  516. package/dist/src/voice/tts/speak-core.js +1 -1
  517. package/dist/src/work-discovery/service.js +7 -7
  518. package/package.json +1 -1
  519. package/dist/gateway/static/root/assets/gateway-realtime-store-Bxkv62qs.js +0 -1
  520. package/dist/gateway/static/root/assets/note-image-lightbox-ClPkeHe5.js +0 -1
  521. package/dist/gateway/static/root/assets/page-header-store-CoKMiYoi.js +0 -1
  522. package/dist/gateway/static/root/assets/session-manager-DjRWxXJG.js +0 -23
  523. package/dist/gateway/static/root/assets/settings-advanced-gate-BMHe9uwy.js +0 -1
  524. package/dist/gateway/static/root/assets/workspace-editor-agent-store-CqHcVFhS.js +0 -1
@@ -1,16 +1,16 @@
1
1
  import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
2
2
  import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
3
3
  import "../storage/sqlite/index.js";
4
- import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
5
- import { isKnowledgeCurrent, knowledgeItemAllowed, listKnowledgeItems } from "../knowledge-memory/repository.js";
6
- import "../knowledge-memory/index.js";
7
4
  import { getActiveAssertionForSlot } from "../user-model/repository.js";
8
- import { getProjectForSession } from "../projects/workspace.js";
9
- import { canUseAssertion } from "../user-model/usage-policy.js";
10
- import "../user-model/index.js";
11
5
  import { isPersonalConversation } from "./repository.js";
12
- import { TaskOriginRepository } from "../tasks/task-origin-repository.js";
13
6
  import { listPersonalResults } from "./result-reader.js";
7
+ import { TaskOriginRepository } from "../tasks/task-origin-repository.js";
8
+ import { canUseAssertion } from "../user-model/usage-policy.js";
9
+ import "../user-model/index.js";
10
+ import { getProjectForSession } from "../projects/workspace.js";
11
+ import { isKnowledgeCurrent, knowledgeItemAllowed, listKnowledgeItems } from "../knowledge-memory/repository.js";
12
+ import "../knowledge-memory/index.js";
13
+ import { resolveUserContextSessionAccess } from "../user-context/access-policy.js";
14
14
  //#region src/personal-agent/prompt-context.ts
15
15
  const clip = (value, limit) => value && (value.length > limit ? `${value.slice(0, limit - 1)}…` : value);
16
16
  /** Keep complete JSON records and identifiers, even when the snapshot is incomplete. */
@@ -1,7 +1,7 @@
1
- import { PERSONAL_EMOTIONAL_STYLE_RULE, PERSONAL_IDENTITY_CONTINUITY_RULE } from "./persona.js";
2
- import { PERSONAL_COMMUNICATION_RULES, PERSONAL_RELIABILITY_RULES } from "./communication.js";
3
1
  import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
4
2
  import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
3
+ import { PERSONAL_EMOTIONAL_STYLE_RULE, PERSONAL_IDENTITY_CONTINUITY_RULE } from "./persona.js";
4
+ import { PERSONAL_COMMUNICATION_RULES, PERSONAL_RELIABILITY_RULES } from "./communication.js";
5
5
  //#region src/personal-agent/prompts.ts
6
6
  const DELEGATION_RULES = [
7
7
  "Answer directly when your capabilities suffice. Otherwise call personal_task(command=\"submit\") with a short objective. For a self-contained current request send {command:\"submit\", objective:\"short outcome\", useOriginalRequest:true}; command is required. With this mode, the host copies its entire stored text, including exact constraints. Preserve sourceRefs and explicitly requested Agent/Skills. Use a concise complete description instead when earlier conversation must be synthesized. Submit before reading materials. The background Task Router selects and starts the executor. After the tool succeeds, reply only with a short confirmation such as \"Submitted; I will report the result here.\" in the conversation language, then finish. Do not restate any task details, files, requirements or acceptance criteria, and do not wait for the worker. Remain available for conversation.",
@@ -10,23 +10,23 @@ import { appendTranscriptEntry, loadLlmMessagesForSession } from "../storage/sql
10
10
  import { getSessionConfig } from "../storage/sqlite/config-repository.js";
11
11
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
12
12
  import { init_agent_scope, resolveAgentProfileDir } from "../agent/agent-scope.js";
13
- import { init_providers, resolveModel } from "../providers/index.js";
14
- import { completeWithResolvedCredentials } from "../providers/model-call.js";
15
- import { extractAssistantText, getAssistantMessageErrorReason } from "../providers/model-response.js";
16
- import { getPersonalAgentByConversation } from "./repository.js";
17
13
  import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
14
+ import { getPersonalAgentByConversation } from "./repository.js";
15
+ import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
18
16
  import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
19
- import { loadProfileBootstrapFiles } from "../agent/bootstrap/load-bootstrap-files.js";
20
17
  import { TaskCriterionReviewRepository } from "../tasks/task-criterion-review-repository.js";
21
- import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
22
18
  import { hasPersonalResultFileLinks, sanitizePersonalResultFileLinks } from "./result-file-links.js";
23
19
  import { taskInstructionSequence } from "../tasks/task-instruction-sequence.js";
24
- import { PERSONAL_PERSONA_GUIDANCE } from "./persona.js";
25
- import "../tasks/task-research-result.js";
26
- import { recordPersonalPerformance } from "./performance.js";
20
+ import { init_providers, resolveModel } from "../providers/index.js";
21
+ import { extractAssistantText, getAssistantMessageErrorReason } from "../providers/model-response.js";
22
+ import { completeWithResolvedCredentials } from "../providers/model-call.js";
27
23
  import { PERSONAL_DEFAULT_STYLE_RULES } from "./default-style.js";
24
+ import { recordPersonalPerformance } from "./performance.js";
25
+ import "../tasks/task-research-result.js";
28
26
  import { PERSONAL_REPLY_EXAMPLES, PERSONAL_REPLY_STYLE_RULES } from "./reply-style.js";
29
27
  import { personalConversationState } from "./conversation-state.js";
28
+ import { PERSONAL_PERSONA_GUIDANCE } from "./persona.js";
29
+ import { loadProfileBootstrapFiles } from "../agent/bootstrap/load-bootstrap-files.js";
30
30
  import { randomUUID } from "node:crypto";
31
31
  import { z } from "zod";
32
32
  //#region src/personal-agent/reply-composer.ts
@@ -7,11 +7,11 @@ import { init_session_instance_repository, readCurrentTranscriptId } from "../st
7
7
  import { TaskRunRepository, init_task_run_repository } from "../tasks/task-run-repository.js";
8
8
  import { getPersonalRequest, init_request_repository, updatePersonalRequest } from "./request-repository.js";
9
9
  import { appendTranscriptEntry, loadLlmMessagesForSession } from "../storage/sqlite/transcript-repository.js";
10
- import { getPersonalAgentByConversation } from "./repository.js";
11
10
  import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
11
+ import { getPersonalAgentByConversation } from "./repository.js";
12
12
  import { warmPersonalResult } from "./result-reader.js";
13
- import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
14
13
  import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
14
+ import { TaskConversationRepository } from "../tasks/task-conversation-repository.js";
15
15
  import { PersonalRequestResultSchema, renderPersonalRequestResult } from "./request-result.js";
16
16
  import { enqueuePersonalReply } from "./reply-composer.js";
17
17
  //#region src/personal-agent/request-delivery.ts
@@ -13,21 +13,21 @@ import { getConnectorAccount, init_connector_account_repository } from "../stora
13
13
  import { getConnectorConnection, getConnectorInstallation, init_connector_repository, listConnectorConnections } from "../storage/sqlite/connector-repository.js";
14
14
  import { cancelConnectionObjective, init_connection_wait_repository, publishConnectionWait, requireSessionConnection } from "../storage/sqlite/connection-wait-repository.js";
15
15
  import { getUserProfileSnapshot } from "../user-model/profile.js";
16
- import { isPersonalConversation } from "./repository.js";
17
16
  import { resolveTaskLocale } from "../tasks/task-language.js";
18
17
  import { canAccessConnectorAccount } from "../connectors/account-access.js";
19
18
  import { connectorPrincipalForSession } from "../connectors/principal.js";
20
- import { resolveConnectionCandidate } from "../connectors/connection-candidates.js";
19
+ import { isPersonalConversation } from "./repository.js";
21
20
  import { TaskCollaborationRepository } from "../tasks/task-collaboration-repository.js";
22
21
  import { TaskApplicationService } from "../tasks/task-application-service.js";
23
- import { resolveResponseLanguageForSession } from "../agent/prompt/response-language.js";
24
- import { defineTaskContract } from "../tasks/task-contract-definition.js";
25
- import "./communication.js";
22
+ import { AgentSelectionRepository, selectionRequestHash } from "../agent-matching/selection-repository.js";
26
23
  import { assessSpecialist } from "../agent-matching/service.js";
24
+ import { assertSpecialistEligible } from "../agent-matching/delegation-service.js";
25
+ import { resolveConnectionCandidate } from "../connectors/connection-candidates.js";
26
+ import { defineTaskContract } from "../tasks/task-contract-definition.js";
27
27
  import { personalCapabilities } from "./capability-service.js";
28
+ import "./communication.js";
29
+ import { resolveResponseLanguageForSession } from "../agent/prompt/response-language.js";
28
30
  import { abortEmbeddedRun } from "../agent/embedded/runs.js";
29
- import { AgentSelectionRepository, selectionRequestHash } from "../agent-matching/selection-repository.js";
30
- import { assertSpecialistEligible } from "../agent-matching/delegation-service.js";
31
31
  import { createHash, randomUUID } from "node:crypto";
32
32
  //#region src/personal-agent/request-service.ts
33
33
  init_src();
@@ -7,10 +7,10 @@ import { init_session_instance_repository, readCurrentTranscriptId } from "../st
7
7
  import { init_request_repository, personalRequestForTask } from "./request-repository.js";
8
8
  import { getConnectorAccount, init_connector_account_repository } from "../storage/sqlite/connector-account-repository.js";
9
9
  import { getConnectorConnection, getConnectorInstallation, init_connector_repository } from "../storage/sqlite/connector-repository.js";
10
- import { isPersonalConversation } from "./repository.js";
11
10
  import { canAccessConnectorAccount } from "../connectors/account-access.js";
12
11
  import { connectorPrincipalForSession } from "../connectors/principal.js";
13
12
  import { resolveMediaReference } from "../media/media-reference.js";
13
+ import { isPersonalConversation } from "./repository.js";
14
14
  import { createRequire } from "node:module";
15
15
  import { existsSync } from "node:fs";
16
16
  import { fileURLToPath } from "node:url";
@@ -2,11 +2,11 @@ import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js
2
2
  import { init_session_repository, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
3
3
  import { setSessionConfig } from "../storage/sqlite/config-repository.js";
4
4
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
5
+ import { AgentCatalogService } from "../agent-catalog/service.js";
5
6
  import { createConversation, init_conversation_repository } from "../storage/sqlite/conversation-repository.js";
6
- import { getAvailableModels, init_providers } from "../providers/index.js";
7
7
  import { getPersonalAgent, personalAgentId } from "./repository.js";
8
+ import { getAvailableModels, init_providers } from "../providers/index.js";
8
9
  import { PERSONAL_MAIN_TOOL_IDS, PERSONAL_READ_TOOL_ALIASES } from "./policy.js";
9
- import { AgentCatalogService } from "../agent-catalog/service.js";
10
10
  import { getModelThinking } from "../providers/model-thinking.js";
11
11
  import { personalInstructions } from "./prompts.js";
12
12
  import { completePersonalOnboarding } from "./onboarding.js";
@@ -58,7 +58,7 @@ function parsePhoneUi(xml) {
58
58
  clickable: attribute("clickable") === "true",
59
59
  focused: attribute("focused") === "true",
60
60
  password,
61
- editable: /(?:EditText|AutoCompleteTextView)$/.test(attribute("class") ?? ""),
61
+ editable: attribute("editable") === "true" || attribute("editable") === void 0 && /(?:EditText|AutoCompleteTextView)$/.test(attribute("class") ?? ""),
62
62
  bounds: bounds.slice(1).map(Number)
63
63
  }];
64
64
  });
@@ -463,7 +463,7 @@ var AdbPhoneDriver = class {
463
463
  const observer = action.mode === "replace" ? await this.observer(serial, signal) : void 0;
464
464
  if (observer) {
465
465
  const target = editors[0];
466
- if (!target.resourceId || target.resourceId === "android:active-editor" || target.text.length >= 500) throw new PhoneError("PHONE_TEXT_INPUT_UNAVAILABLE", "Replacing text requires an identifiable field with a complete current value", 409);
466
+ if (target.resourceId === "android:active-editor" || target.text.length >= 500) throw new PhoneError("PHONE_TEXT_INPUT_UNAVAILABLE", "Replacing text requires an identifiable field with a complete current value", 409);
467
467
  await observer.replace(observation.package, target, action.text, signal);
468
468
  break;
469
469
  }
@@ -24,6 +24,7 @@ export interface PhoneTrajectoryEntry {
24
24
  afterApp?: string;
25
25
  effect?: 'changed' | 'unchanged' | 'unknown';
26
26
  facts?: string[];
27
+ beforeFacts?: string[];
27
28
  }
28
29
  export interface PhonePrediction {
29
30
  task?: PhoneTaskContract;
@@ -165,6 +166,7 @@ export declare function buildPhoneModelContext(input: PhonePrediction): {
165
166
  afterApp: string;
166
167
  effect: "unknown" | "changed" | "unchanged";
167
168
  facts: string[];
169
+ beforeFacts: string[];
168
170
  }[];
169
171
  progressSummary: string;
170
172
  recoveryHint: string;
@@ -3,10 +3,10 @@ import { init_model_policy, phoneModelProfile } from "./model-policy.js";
3
3
  import { getApiKey, init_providers, resolveModel } from "../providers/index.js";
4
4
  import { cloudCreditBudgetHeaders, reportCloudCreditError } from "../providers/xopc-cloud-credit-budget.js";
5
5
  import { currentPhoneTrace, measurePhonePhase } from "./execution-trace.js";
6
- import { phoneAllowsApp } from "./app-access.js";
7
6
  import { predictPhoneToolDecision } from "./structured-model.js";
8
7
  import { readPhoneModelResponse } from "./model-response.js";
9
8
  import { AutoGlmHistory, autoGlmSystemPrompt, buildAutoGlmMessages } from "./autoglm-protocol.js";
9
+ import { phoneAllowsApp } from "./app-access.js";
10
10
  import { PHONE_PLANNING_RULES, PhonePlanSchema } from "./planning.js";
11
11
  import { phoneSemanticControls } from "./semantic-controls.js";
12
12
  import { guiPhonePrompt, parseDoubaoPhone, parseGuiOwlPhone } from "./gui-protocol.js";
@@ -285,7 +285,13 @@ function buildPhoneModelContext(input) {
285
285
  normalizeY(node.bounds[3])
286
286
  ]
287
287
  }));
288
- const trajectory = input.trajectory?.slice(-8).map((entry) => ({
288
+ let remainingFacts = 16e3;
289
+ const boundedFacts = (facts) => facts?.slice(0, 40).map((text) => {
290
+ const value = text.slice(0, Math.min(200, remainingFacts));
291
+ remainingFacts -= value.length;
292
+ return value;
293
+ }).filter(Boolean);
294
+ const trajectory = input.trajectory?.slice(-8).reverse().map((entry) => ({
289
295
  action: entry.action.type === "typeText" ? {
290
296
  ...entry.action,
291
297
  text: entry.action.text.slice(0, 500)
@@ -295,8 +301,9 @@ function buildPhoneModelContext(input) {
295
301
  beforeApp: entry.beforeApp,
296
302
  afterApp: entry.afterApp,
297
303
  effect: entry.effect,
298
- facts: entry.facts?.slice(0, 8).map((text) => text.slice(0, 160))
299
- }));
304
+ facts: boundedFacts(entry.facts),
305
+ beforeFacts: boundedFacts(entry.beforeFacts)
306
+ })).reverse();
300
307
  return {
301
308
  ...input.readingFields ? { readingFields: input.readingFields.map(({ key, description }) => ({
302
309
  key,
@@ -39,11 +39,33 @@ function observationSignature(observation) {
39
39
  function atPoint(elements, x, y) {
40
40
  return elements.filter((node) => node.bounds[0] <= x && x < node.bounds[2] && node.bounds[1] <= y && y < node.bounds[3]);
41
41
  }
42
+ /** Search-entry navigation can survive unrelated carousels; its hit stack stays identical except for the rotating placeholder. */
43
+ function stableSearchEntry(action, before, fresh) {
44
+ if (action.type !== "tap") return false;
45
+ const x = action.point[0] * before.width / 1e3;
46
+ const y = action.point[1] * before.height / 1e3;
47
+ const isSearchEntry = (node) => !node.password && !node.editable && /^(?:搜索栏|搜索框|search bar|search box)$/i.test(node.description || node.text) && node.bounds[0] >= 0 && node.bounds[1] >= 0 && node.bounds[2] <= before.width && node.bounds[3] <= before.height && (node.bounds[2] - node.bounds[0]) * (node.bounds[3] - node.bounds[1]) < before.width * before.height / 5;
48
+ const entries = before.elements.filter(isSearchEntry);
49
+ if (entries.length !== 1 || fresh.elements.filter(isSearchEntry).length !== 1) return false;
50
+ const entry = entries[0];
51
+ const hits = atPoint(before.elements, x, y);
52
+ const insideEntry = (node) => node.bounds[0] >= entry.bounds[0] && node.bounds[1] >= entry.bounds[1] && node.bounds[2] <= entry.bounds[2] && node.bounds[3] <= entry.bounds[3];
53
+ const placeholderWrappers = (screen) => screen.elements.filter((node) => insideEntry(node) && node.clickable && !node.editable && !node.password && !node.resourceId && !node.text && !node.description && node.bounds[2] - node.bounds[0] < (entry.bounds[2] - entry.bounds[0]) * .7 && screen.elements.some((child) => inert(child) && !child.resourceId && Boolean(child.text) && child.bounds[0] >= node.bounds[0] && child.bounds[1] >= node.bounds[1] && child.bounds[2] <= node.bounds[2] && child.bounds[3] <= node.bounds[3]));
54
+ const oldWrappers = placeholderWrappers(before);
55
+ const newWrappers = placeholderWrappers(fresh);
56
+ if (oldWrappers.length !== newWrappers.length || oldWrappers.length > 1) return false;
57
+ const hitStack = (screen) => atPoint(screen.elements, x, y).filter((node) => {
58
+ if ((screen === before ? oldWrappers : newWrappers).includes(node)) return false;
59
+ return !(inert(node) && !node.resourceId && node !== entry && node.bounds[0] >= entry.bounds[0] && node.bounds[1] >= entry.bounds[1] && node.bounds[2] <= entry.bounds[2] && node.bounds[3] <= entry.bounds[3] && !isSearchEntry(node));
60
+ });
61
+ return hits.includes(entry) && !hits.some((node) => node.password || node.editable) && hits.some((node) => node.clickable) && JSON.stringify(hitStack(before)) === JSON.stringify(hitStack(fresh));
62
+ }
42
63
  /** Preserve page semantics and geometry while ignoring recognized ambient counters. */
43
64
  function canDispatchPhoneAction(action, before, fresh) {
44
65
  if (!geometryMatches(before, fresh)) return false;
66
+ if (action.type === "wait") return true;
45
67
  if (JSON.stringify(before.elements) === JSON.stringify(fresh.elements)) return before.elements.length > 0 || fresh.frame.equals(before.frame);
46
- if (JSON.stringify(semanticElements(before)) !== JSON.stringify(semanticElements(fresh))) return false;
68
+ if (JSON.stringify(semanticElements(before)) !== JSON.stringify(semanticElements(fresh))) return stableSearchEntry(action, before, fresh);
47
69
  if (action.type === "tap" || action.type === "doubleTap" || action.type === "longPress") {
48
70
  const [x, y] = [action.point[0] * before.width / 1e3, action.point[1] * before.height / 1e3];
49
71
  const targets = atPoint(before.elements, x, y);
@@ -60,7 +82,7 @@ function canDispatchPhoneAction(action, before, fresh) {
60
82
  const current = focused(fresh);
61
83
  return previous.length === 1 && current.length === 1 && Boolean(previous[0].resourceId) && JSON.stringify(previous) === JSON.stringify(current);
62
84
  }
63
- return action.type === "back" || action.type === "swipe" || action.type === "wait";
85
+ return action.type === "back" || action.type === "swipe";
64
86
  }
65
87
  /** Evaluate all native nodes, separately from the truncated display facts. */
66
88
  function phoneCompletionSatisfied(condition, observation, changed) {
@@ -1,6 +1,6 @@
1
1
  import { PhoneDeviceSchema, PhoneError, init_contracts } from "./contracts.js";
2
- import { normalizePhoneAppAccess } from "./app-access.js";
3
2
  import { DurableState } from "../storage/sqlite/durable-state.js";
3
+ import { normalizePhoneAppAccess } from "./app-access.js";
4
4
  import { randomUUID } from "node:crypto";
5
5
  //#region src/phone/repository.ts
6
6
  init_contracts();
@@ -4,6 +4,10 @@ import { MOCK_PHONE_MODEL, PhoneError, PhoneInputSchema, init_contracts } from "
4
4
  import { resolveEffectiveAgentConfigForAgent } from "../config/agent-profile.js";
5
5
  import { PhoneExecutionTrace, currentPhoneTrace, measurePhonePhase } from "./execution-trace.js";
6
6
  import { phoneAllowsApp, phoneAppAccess } from "./app-access.js";
7
+ import { advancePhonePlan, buildPhonePlan, createPhonePlanState } from "./planning.js";
8
+ import { canDispatchPhoneAction, observationSignature, phoneCompletionSatisfied } from "./reliability.js";
9
+ import { groundPhoneCoordinateAction, resolvePhoneSemanticAction } from "./semantic-controls.js";
10
+ import { createPhoneModel, isAboutScreen } from "./model-adapter.js";
7
11
  import { nativePhoneOutput, updatePhoneFeedback } from "./task-feedback.js";
8
12
  import { PhoneFrameCache, PhoneOperationBudget } from "./live-state.js";
9
13
  import { PhoneInteractiveSession } from "./interactive-session.js";
@@ -13,10 +17,6 @@ import { AdbPhoneDriver, resolveAdbPath } from "./adb-driver.js";
13
17
  import { CloudPhones } from "./cloud-phones.js";
14
18
  import { PhoneLocationEnvironment } from "./location-environment.js";
15
19
  import { WirelessPhones } from "./wireless.js";
16
- import { advancePhonePlan, buildPhonePlan, createPhonePlanState } from "./planning.js";
17
- import { canDispatchPhoneAction, observationSignature, phoneCompletionSatisfied } from "./reliability.js";
18
- import { groundPhoneCoordinateAction, resolvePhoneSemanticAction } from "./semantic-controls.js";
19
- import { createPhoneModel, isAboutScreen } from "./model-adapter.js";
20
20
  import { PhoneRepository } from "./repository.js";
21
21
  import { phoneCompletionGuidance, phoneCompletionRecoveryHint } from "./completion-recovery.js";
22
22
  import { confirmPhoneFocusRecovery, phoneBackRecovery, phoneUnfocusedTypingHint, preparePhoneFocusRecovery } from "./recovery.js";
@@ -29,6 +29,10 @@ init_contracts();
29
29
  const VIEW_MODEL = "phone-view-only";
30
30
  const log = createLogger("PhoneRuntime");
31
31
  const terminal = new Set(["closed"]);
32
+ /** Keep visible list content across scrolling without retaining pixels or password fields. */
33
+ function phoneTrajectoryFacts(observation) {
34
+ return [...new Set(observation.elements.filter((node) => !node.password && node.bounds[0] >= 0 && node.bounds[1] >= 0 && node.bounds[2] <= observation.width && node.bounds[3] <= observation.height && node.bounds[2] > node.bounds[0] && node.bounds[3] > node.bounds[1]).flatMap((node) => [node.text, node.description]).filter(Boolean))].slice(0, 40).map((text) => text.slice(0, 200));
35
+ }
32
36
  var PhoneRuntime = class {
33
37
  reconnecting = /* @__PURE__ */ new Map();
34
38
  reconnectAfter = /* @__PURE__ */ new Map();
@@ -1383,7 +1387,7 @@ var PhoneRuntime = class {
1383
1387
  const unchanged = beforeSignature === observationSignature(observation);
1384
1388
  entry.afterApp = observation.package;
1385
1389
  entry.effect = unchanged ? "unchanged" : "changed";
1386
- entry.facts = observation.elements.filter((node) => !node.password).flatMap((node) => [node.text, node.description]).filter(Boolean).slice(0, 12).map((text) => text.slice(0, 160));
1390
+ entry.facts = phoneTrajectoryFacts(observation);
1387
1391
  if (unchanged) session.report.diagnostics.unchangedActions++;
1388
1392
  recoveryHint = unchanged ? "The last dispatched action produced no observable change. Wait if loading, otherwise try a different target or route; do not repeat an uncertain input." : void 0;
1389
1393
  }
@@ -1607,6 +1611,7 @@ var PhoneRuntime = class {
1607
1611
  dispatch: "unknown",
1608
1612
  actor: step.actor,
1609
1613
  beforeApp: observation.package,
1614
+ beforeFacts: phoneTrajectoryFacts(observation),
1610
1615
  effect: "unknown"
1611
1616
  };
1612
1617
  session.trajectory.push(entry);
@@ -1 +1 @@
1
- export declare const PHONE_UI_DEX = "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AQAAABwAAAABAAAAAAAAAAMAAAAEACQAJwAAAAEAAAAnAAAAAgAAABsAKQABAAAAKQAAAAEAAAAEAAAAAgAAABQAAAABAAAAGwAAAAEAAAAoAAAAAgAAABwAKAACAAAAHAAAAAIAAAAcABsAAgAAABwAJwACAAAAHAAcAAMAAAAcABwAHAAAAAEAAAABAAAAAQAAAAMAAAACAAAABAAkAAEAAAAFAAAAAgAAAA0AHAABAAAAEAAAAAEAAAASAAAAAgAAABwAEwACAAAAHAAUAAMAAAAlAAoAAAAAAAEAAAAqAAAAAgAAAAAABgAAAAEsAAotLXJlc2lkZW50AAY8aW5pdD4AJUFDVElPTl9BUkdVTUVOVF9TRVRfVEVYVF9DSEFSU0VRVUVOQ0UAAUkAA0lJSQACSUwAAUoAAUwAAkxJAANMSUkAAkxMAANMTEkAA0xMTAAETExMTAAETExMWgADTExaAAJMWgAbTGFpL3hvcGMvcGhvbmUvUGhvbmVVaUR1bXA7ADdMYW5kcm9pZC9hY2Nlc3NpYmlsaXR5c2VydmljZS9BY2Nlc3NpYmlsaXR5U2VydmljZUluZm87ABpMYW5kcm9pZC9hcHAvVWlBdXRvbWF0aW9uOwAXTGFuZHJvaWQvZ3JhcGhpY3MvUmVjdDsAE0xhbmRyb2lkL29zL0J1bmRsZTsAGkxhbmRyb2lkL29zL0hhbmRsZXJUaHJlYWQ7ABNMYW5kcm9pZC9vcy9Mb29wZXI7ABJMYW5kcm9pZC91dGlsL1htbDsAMkxhbmRyb2lkL3ZpZXcvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZUluZm87ABpMZGFsdmlrL2Fubm90YXRpb24vVGhyb3dzOwAYTGphdmEvaW8vQnVmZmVyZWRSZWFkZXI7ABVMamF2YS9pby9JbnB1dFN0cmVhbTsAG0xqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyOwAVTGphdmEvaW8vUHJpbnRTdHJlYW07ABBMamF2YS9pby9SZWFkZXI7ABZMamF2YS9pby9TdHJpbmdXcml0ZXI7ABBMamF2YS9pby9Xcml0ZXI7ABNMamF2YS9sYW5nL0Jvb2xlYW47ABhMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTsAEUxqYXZhL2xhbmcvQ2xhc3M7ABVMamF2YS9sYW5nL0V4Y2VwdGlvbjsAIUxqYXZhL2xhbmcvSWxsZWdhbFN0YXRlRXhjZXB0aW9uOwATTGphdmEvbGFuZy9JbnRlZ2VyOwAQTGphdmEvbGFuZy9NYXRoOwAhTGphdmEvbGFuZy9Ob1N1Y2hNZXRob2RFeGNlcHRpb247ABJMamF2YS9sYW5nL09iamVjdDsAEkxqYXZhL2xhbmcvU3RyaW5nOwAZTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwASTGphdmEvbGFuZy9TeXN0ZW07ABJMamF2YS9sYW5nL1RocmVhZDsAH0xqYXZhL2xhbmcvcmVmbGVjdC9Db25zdHJ1Y3RvcjsAGkxqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2Q7ABJMamF2YS91dGlsL0FycmF5czsAEExqYXZhL3V0aWwvTGlzdDsAFUxvcmcvanNvbi9KU09OT2JqZWN0OwAeTG9yZy94bWxwdWxsL3YxL1htbFNlcmlhbGl6ZXI7ABBQaG9uZVVpRHVtcC5qYXZhAARUWVBFAAVVVEYtOAABVgACVkoAAlZMAANWTEwABFZMTEkAAVoAA1pJTAACWkwAAVsAEltMamF2YS9sYW5nL0NsYXNzOwATW0xqYXZhL2xhbmcvT2JqZWN0OwATW0xqYXZhL2xhbmcvU3RyaW5nOwABXQACXVsAI2FuZHJvaWQuYXBwLklVaUF1dG9tYXRpb25Db25uZWN0aW9uACJhbmRyb2lkLmFwcC5VaUF1dG9tYXRpb25Db25uZWN0aW9uADlhbmRyb2lkLnZpZXcuYWNjZXNzaWJpbGl0eS5BY2Nlc3NpYmlsaXR5SW50ZXJhY3Rpb25DbGllbnQAA2FwcAAGYXBwZW5kAAZhc0xpc3QACWF0dHJpYnV0ZQAGYmVmb3JlAAZib3R0b20ABmJvdW5kcwAFY2xhc3MACmNsZWFyQ2FjaGUACWNsaWNrYWJsZQAFY2xvc2UADGNvbmZpcm1hdGlvbgAHY29ubmVjdAAIY29udGFpbnMADGNvbnRlbnQtZGVzYwAKZGlzY29ubmVjdAAEZHVtcAAGZWRpdG9yAAtlbmREb2N1bWVudAAGZW5kVGFnAAZlcXVhbHMABWVycm9yAAlmaW5kRm9jdXMABWZsYWdzAAVmbHVzaAAFZm9jdXMAB2ZvY3VzZWQAB2Zvck5hbWUAEWdldEJvdW5kc0luU2NyZWVuAAhnZXRDaGlsZAANZ2V0Q2hpbGRDb3VudAAMZ2V0Q2xhc3NOYW1lABVnZXRDb250ZW50RGVzY3JpcHRpb24AFmdldERlY2xhcmVkQ29uc3RydWN0b3IAC2dldEluc3RhbmNlAAZnZXRJbnQACWdldExvb3BlcgANZ2V0TWFpbkxvb3BlcgAKZ2V0TWVzc2FnZQAJZ2V0TWV0aG9kAA5nZXRQYWNrYWdlTmFtZQAVZ2V0Um9vdEluQWN0aXZlV2luZG93AA5nZXRTZXJ2aWNlSW5mbwAJZ2V0U3RyaW5nAAdnZXRUZXh0ABVnZXRWaWV3SWRSZXNvdXJjZU5hbWUACWhpZXJhcmNoeQACaWQACGlkZW50aXR5AAJpbgAGaW52b2tlAAtpc0NsaWNrYWJsZQAKaXNFZGl0YWJsZQAJaXNFbmFibGVkAAlpc0ZvY3VzZWQACmlzUGFzc3dvcmQAD2lzVmlzaWJsZVRvVXNlcgAEbGVmdAAGbGVuZ3RoAARtYWluAANtYXgAA21pbgALbmV3SW5zdGFuY2UADW5ld1NlcmlhbGl6ZXIAB25vLXJvb3QABG5vZGUABW5vZGVzAAJvawACb3AAA291dAAHcGFja2FnZQAIcGFzc3dvcmQADXBlcmZvcm1BY3Rpb24AEXByZXBhcmVNYWluTG9vcGVyAAdwcmludGxuAANwdXQAD3B1dENoYXJTZXF1ZW5jZQAKcXVpdFNhZmVseQAIcmVhZExpbmUAB3JlY3ljbGUAC3Jlc291cmNlLWlkAApyZXNvdXJjZUlkAAVyaWdodAAJc2V0T3V0cHV0AA5zZXRTZXJ2aWNlSW5mbwAHc2V0VGV4dAAFc2xlZXAACHNuYXBzaG90AA5zdGFibGVTbmFwc2hvdAAFc3RhcnQADXN0YXJ0RG9jdW1lbnQACHN0YXJ0VGFnAAlzdWJzdHJpbmcABnRhcmdldAAEdGV4dAAIdG9TdHJpbmcAA3RvcAALdW5jb25maXJtZWQAC3Vuc3VwcG9ydGVkAAV2YWx1ZQAHdmFsdWVPZgAFd3JpdGUAA3htbAAWeG9wYy1waG9uZS1vYnNlcnZhdGlvbgCdAX5+RDh7ImJhY2tlbmQiOiJkZXgiLCJjb21waWxhdGlvbi1tb2RlIjoiZGVidWciLCJoYXMtY2hlY2tzdW1zIjpmYWxzZSwibWluLWFwaSI6MjQsInNoYS0xIjoiYTdhZDE4YTcwNDYwYjc5OWQwNDgyZTQ5N2MxMDlhNzViZjdmOTFkZSIsInZlcnNpb24iOiI4LjEwLjktZGV2In0AAgsBrgEcARgWAQAJAAAKAIGABIQZAQqcGQEKoBoBCtASAQmAHwEKrCUBCsQWAQr4FwEKxBgAAAEAAAAZIAAAAAAAAAAAAAAHAAAAAAAAAAEAAABQIAAAAgAAAFAgAAADAAAAUCAAAAQAAABQIAAABQAAAFAgAAAGAAAAUCAAAAcAAABQIAAAEAAAAAAAAAABAAAAAAAAAAEAAAC0AAAAcAAAAAIAAAArAAAAQAMAAAMAAAAxAAAA7AMAAAQAAAAJAAAAOAYAAAUAAABWAAAAgAYAAAYAAAABAAAAMAkAAAEgAAAJAAAAUAkAAAMgAAAJAAAAGhQAAAEQAAAdAAAAEBUAAAIgAAC0AAAABBYAAAQgAAABAAAAGSAAAAAgAAABAAAAIiAAAAMQAAABAAAAUCAAAAYgAAABAAAAWCAAAAAQAAABAAAAoCAAAA==";
1
+ export declare const PHONE_UI_DEX = "ZGV4CjAzNwDe5XQAq3HCZ4AaSf9j6lE9MYmFeD7lOkuMIQAAcAAAAHhWNBIAAAAAAAAAAMggAAC1AAAAcAAAACsAAABEAwAAMQAAAPADAAAJAAAAPAYAAFYAAACEBgAAAQAAADQJAAA4GAAAVAkAACQWAAAmFgAAKRYAADUWAAA9FgAAZBYAAGcWAABsFgAAcBYAAHMWAAB2FgAAehYAAH8WAACDFgAAiBYAAI0WAACTFgAAmRYAAJ4WAACiFgAAvxYAAPgWAAAUFwAALRcAAEIXAABeFwAAcxcAAIcXAAC7FwAA1xcAAPEXAAAIGAAAJRgAADwYAABOGAAAZhgAAHgYAACNGAAApxgAALoYAADRGAAA9BgAAAkZAAAbGQAAPhkAAFIZAABmGQAAgRkAAJUZAACpGQAAyhkAAOYZAAD6GQAADBoAACMaAABDGgAAVRoAAFsaAABiGgAAZRoAAGkaAABtGgAAchoAAHgaAAB7GgAAgBoAAIQaAACHGgAAmxoAALAaAADFGgAAyBoAAMwaAADxGgAAFRsAAFAbAABVGwAAXRsAAGUbAABwGwAAeBsAAIAbAACIGwAAjxsAAJsbAACmGwAArRsAALsbAADEGwAAzhsAANwbAADoGwAA7hsAAPgbAAAAHAAADRwAABUcAAAdHAAAJBwAAC8cAAA2HAAAPRwAAEQcAABNHAAAVhwAAGkcAABzHAAAghwAAJAcAACnHAAAvxwAAMwcAADUHAAA3xwAAO4cAAD6HAAABR0AABUdAAAsHQAAPB0AAEcdAABQHQAAZx0AAHIdAAB2HQAAgB0AAIQdAACMHQAAmR0AAKUdAACwHQAAux0AAMcdAADYHQAA3h0AAOYdAADsHQAA8R0AAPYdAAADHgAAEh4AABseAAAhHgAAKB4AACweAAAwHgAANR4AAD4eAABIHgAAVx4AAGoeAABzHgAAeB4AAIkeAACVHgAAnx4AAKgeAAC1HgAAwR4AAMgeAADTHgAA4x4AAOweAADzHgAA/R4AAA0fAAAUHwAAIx8AAC0fAAA4HwAAQB8AAEYfAABQHwAAVR8AAGIfAABvHwAAdh8AAH8fAACGHwAAix8AAKMfAAAFAAAACAAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADoAAAA/AAAAQwAAAEQAAABFAAAABQAAAAAAAAAAAAAABgAAAAAAAAAwFQAABwAAAAAAAAA4FQAACQAAAAMAAAAAAAAACQAAAAgAAAAAAAAACQAAAAoAAAAAAAAACgAAAAoAAABAFQAAEAAAAAoAAABIFQAAEgAAABMAAABUFQAACQAAABQAAAAAAAAADAAAABUAAAA4FQAACgAAABgAAABAFQAADgAAABsAAABcFQAADAAAABsAAABkFQAACQAAABwAAAAAAAAACwAAABwAAAAwFQAADAAAABwAAABsFQAADQAAABwAAAB0FQAADAAAABwAAAB8FQAADAAAABwAAAA4FQAAEgAAABwAAABUFQAACgAAAB0AAABAFQAADAAAAB0AAAA4FQAADAAAACAAAACEFQAADgAAACEAAACMFQAADAAAACMAAABkFQAADQAAACQAAACUFQAADgAAACQAAACcFQAAEQAAACQAAACkFQAACQAAACUAAAAAAAAADgAAACUAAACsFQAADwAAACUAAAC0FQAAOgAAACYAAAAAAAAAOwAAACYAAADAFQAAPAAAACYAAADIFQAAPAAAACYAAABsFQAAPQAAACYAAADQFQAAPAAAACYAAADYFQAAPQAAACYAAADgFQAAPAAAACYAAADoFQAAPAAAACYAAADwFQAAPAAAACYAAAA4FQAAPQAAACYAAAD4FQAAPQAAACYAAAAAFgAAPgAAACYAAAAIFgAAPAAAACYAAAAUFgAAPwAAACcAAAAAAAAAQAAAACcAAAAcFgAAQQAAACcAAAB8FQAAAgAAAI4AAAADAAAAYwAAAAUAAABQAAAABQAAAIUAAAAFAAAAngAAAAUAAACsAAAAGAAVADgAAAAeAA0AfQAAAB4ADwCRAAAAAgAgAAMAAAACACMAUwAAAAIALABbAAAAAgAHAF0AAAACAC0AhwAAAAIAJAChAAAAAgAQAKMAAAACABAApAAAAAIAEQCqAAAABAAFAHUAAAAEAAMAdgAAAAQAIgCgAAAABQAgAAMAAAAGACAAAwAAAAYAKwCYAAAABwApAAMAAAAHAAQAcAAAAAcALgCZAAAABwAgAKUAAAAIAAQAcQAAAAgAIACVAAAACQAdAIsAAAAKADAAYAAAAAoABgBiAAAACgAlAGgAAAAKAAYAaQAAAAoAAABqAAAACgAJAGsAAAAKAAkAbAAAAAoACQB0AAAACgAJAHgAAAAKAA4AeQAAAAoALgB/AAAACgAuAIAAAAAKAC4AgQAAAAoALgCCAAAACgAuAIMAAAAKAC4AhAAAAAoALwCUAAAACgAgAJsAAAAMACcAAwAAAAwADgCaAAAADgAmAAMAAAAPACAAZAAAAA8AKQCWAAAAEQAgAAMAAAARAA4AqwAAABMACACwAAAAFAAOAKsAAAAVAAoAZwAAABUAFwBtAAAAFQAYAHMAAAAWAA4AcgAAABcAKQADAAAAGAALALAAAAAZAAEAiAAAABkAAQCJAAAAGwAgAAMAAAAcADAAYAAAABwAAACGAAAAHAAPAKgAAAAcABIAsAAAABwAFACwAAAAHQAgAAMAAAAdABUATAAAAB0AFgBMAAAAHQAOAKsAAAAfACEAogAAACAADQCKAAAAIQAMAH4AAAAiABkATQAAACMAMABYAAAAJAAgAAMAAAAkACkAAwAAACQAAgBvAAAAJAATAHcAAAAkABoAlwAAACQAGwCXAAAAJAAcAJcAAAAkAA4AqwAAACUAHwBOAAAAJQAgAF4AAAAlAB4AXwAAACUAKACfAAAAJQAqAKYAAAAlAB4ApwAAAAIAAAARAAAAGwAAAAAAAAA3AAAAgCAAAEwgAAAAAAAACQADAAIAAgA6FAAA5wAAABoAAQAaAUsAcRABAAYAAAASAhIDEwQUADVDEgA5AhAAbhAJAAYADAI5AgcAFgQyAHEgQwBUANgDAwEo7TgCwQBuIEsAFwAMBm4QHQACAAwDcRA9AAMADANuIDoANgAKBjgGpAASFm4gFwBiAAwGOAaVACIDBQBwEAwAAwBuIBgANgAiBB0AcBA/AAQAUjUDAG4gQABUAAwEbiBBAAQADARSNQUAbiBAAFQADARuIEEABAAMBFI1BABuIEAAVAAMBG4gQQAEAAwAUjMCAG4gQAAwAAwAbhBCAAAADABuECEABgAKAzgDTwBuECQABgAKAzkDSQBuECUABgAKAzgDQwBuECIABgAKAzgDPQBuIEsAFwAMAW4QHQAGAAwDcRA9AAMADANuIDoAMQAKATgBKwAaAZ0AbiBLABcADAFuEB8ABgAMAxME9AFxIAgAQwAMA24gOgAxAAoBOAEVADgIDgAaCFEAbiBLAIcADAduIDoABwAKBzgHBwAAAG4QJwACABEGbhAnAAYAIgYXABoHqQBwIDUAdgAnBiIGFwAaB2UAcCA1AHYAJwYiBhcAcCA1ABYAJwYNBm4QJwACACcGIgYXABoHjABwIDUAdgAnBgAAIAAAAJoAAQDBAAAAGQABAAEA2gEHAAEAAwAAAGgUAABRAAAAcRABAAYAAAASABIBBwMBEhMEFAA1QhIAOQMQAG4QCQAGAAwDOQMHABYEMgBxIEMAVADYAgIBKO04Ay0AZwEAACIGEQBwEC0ABgBxABUAAAAMAnIgUwBiABoEOQASFXEQLwAFAAwFcjBUAEIFGgR6AHIwVQACBHEwAgAyAXIwUgACBHIQUQACAG4QLgAGAAwGEQYiBhcAGgCMAHAgNQAGACcGAAAFAAEAAgAAAIAUAAAeAAAAcRAGAAQADAASARIyNSEXABYCMgBxIEMAMgBxEAYABAAMAm4gOgACAAoAOAADABECAADYAQEBByAo6REAAwACAAMAAACMFAAAFwAAADkBBQAaAQAAEQFyEDAAAQAMAW4QOwABAAoAcSA4ACAACgISAG4wPAABAgwBEQEAAAEAAQABAAAAlBQAAAQAAABwEDkAAAAOAAYAAQADAAEAmBQAADMAAAAaAFMAEgEcAgQAIxMoAG4wMwACAwwCIxMpAG4wRQBSAygiDQUaBUoAcRAxAAUADAUaAm4AIxMoAG4wMwAlAwwCEgMjFCkAbjBFADIEDAIjEygAbjAzAAUDDAUjECkAbjBFACUADgAAAAMAAAANAAEAAQEaEQwAAwAEAAIApRQAACsBAAAaAAEAGgGNADkKAwAOABMCMgA2Kx4BYAIAABMD9AE1MhgBbhAlAAoACgI5AgQAKQAQAWACAADYAgIBZwIAACICBQBwEAwAAgBuIBgAKgASBHIwVQBJARoFkgBuEB0ACgAMBhMHLAFxIAgAdgAMBnJAUABJZRoFUgBuEBsACgAMBnEgCAB2AAwGckBQAEllGgWcAG4QHwAKAAwGcSAIADYADAZyQFAASWUaBZMAbhAkAAoACgZxED4ABgAMBnJAUABJZRoFqgBuECQACgAKBhoIAAA4BgQAB4YoCW4QHgAKAAwGcSAIADYADAZyQFAASWUaBVkAbhAkAAoACgY4BgMAKAluEBwACgAMBnEgCAB2AAwIckBQAEmFGgVUAG4QIAAKAAoGcRA+AAYADAZyQFAASWUaBWYAbhAjAAoACgZxED4ABgAMBnJAUABJZRoFXABuECEACgAKBnEQPgAGAAwGckBQAEllGgVRACIGHQBwED8ABgAaB0IAbiBBAHYADAZSJwMAEghxIDcAeAAKB24gQAB2AAwGbiBBAAYADAZSJwUAcSA3AHgACgduIEAAdgAMBhoHRwBuIEEAdgAMBlInBABxIDcAeAAKB24gQAB2AAwGbiBBAAYADABSIgIAcSA3ACgACgJuIEAAIAAMABoCRgBuIEEAIAAMAG4QQgAAAAwAckBQAEkFAABuEBoACgAKADUIEgBgAAAANTAOAG4gGQCKAAwA2AILAXEwAgAJAtgICAEo63IwUgBJAW4QJwAKAA4ADQluECcACgAnCW4QJwAKAA4AAAALAAAAXAABAG0AAACxAAEAAQCiAhUAAQAIAAUAzRQAAHIBAAAIABQAGgGPABoCewAaA1oAGgSQAHEAEwAAAAwFOQUFAHEAFAAAACIFBwAaBrMAcCAPAGUAbhASAAUAAAAAABIGEgcaCEgAcRAxAAgADAgaCUkAcRAxAAkADAkjaigAbiAyAKkADAkjaikAbiBEAKkADAkcCgQAHAsIACQgKACLAAwIbiAyAIoADAhuEBAABQAMCiQgKQCaAAwJbiBEAJgADAgfCAQAHAcEABoJVwBiCgYAJBAoAAoADApuMDMAlwoMBxIZcRA2AAkADAokECkACgAMCm4wRQCHCgAAbhAKAAgADAdSegEA3goKEFl6AQBSegEA3QoK/Vl6AQBuIAsAeAAhBz0HuQBGAAAGGgcCAG4gOgBwAAoAOACvACIHDAAiAA4AYgoHABoLOQBwMCoAoAtwICgABwBuECkABwAMADgApABuEDsAAAAKChULAQA3ugQAKQCaACIKJABwIEkACgBuIEsASgAMABoLVQBuIDoAsAAKADgABAApAIcAIgAkAHAQSAAAAG4gSgAqAAoLbjBMACALDAtuIEsASgAMABoMowBuIDoAwAAKADgADAAaALIAcRAHAAgADApuME0ACwooEG4gSwBKAAwAGgyhAG4gOgDAAAoAOAAJAHEgBQCoAG4wTgAbCSg3IgAXABoKrgBwIDUAoAAnAA0AbhA0AAAADAAaDIwAGg1LABoOZQAaD6kAGhCvABoRsQAaEnwAGhNWACUIKgAMAAwKcRBGAAoADApyIEcACgAKCjkKBAAaAK0AbjBOABsGDAoaDGEAbjBNAMoAYgAIAG4QTwALAAwKbiAsAKAAYgAIAG4QKwAAACkAY/9iAAgAcRAGAAgADAFuICwAEAAAABwABAAjYSgAbjAzADABDAAjYSkAbjBFAIABbhARAAUAAAAOAA0AKAMNAAFpB4coAw0AAWk4CQ8AHAEEACNiKABuMDMAMQIMASNiKQBuMEUAcQJuEBEABQAnACEAAAAyAAEAUwAAABoABABuAAAAXgAHAMwAAAAxAAoA/gAAAEYABwAEAN0CANkCANcCfxb9AdcCCQACAAMABgALFQAAlAAAABIQcTADAIcADAAaAU8AbiBLABgADAEaAqoAbiBLACgADAJuEDsAAgAKAxMEoA82Q3AAbhAeAAAADAMTBKEPcSAIAEMADANuIDoAMQAKATgBYAAiAQYAcBANAAEAGgMEAG4wDgAxAhUDIABuMCYAMAEKATgBRgASAQETElU1UzkAFgUeAHEgQwBlAHEwAwCHAQwFbiAWAFAACgY4Bh0AbhAeAAUADAZxIAgARgAMBm4gOgBiAAoGOAYJAG4QJwAFAG4QJwAAAA4AbhAnAAUA2AMDASjUIgcXABoIfABwIDUAhwAnBw0HbhAnAAUAJwciBxcAGghWAHAgNQCHACcHIgcXABoIsQBwIDUAhwAnByIHFwAaCK8AcCA1AIcAJwcNB24QJwAAACcHEQAAADgAAQBJAAAAEgAEAF0AAAADAAEAZAAAAAMAAQBqAAAACAAEAHMAAAAcAAEAAgCPAQByXAMAAAAOeB6HS3U/LgESD1othwEtDwEYDwEUDwEYD6ceOhsCebOEAgxoAnJZADwBAA48HqVLdT8tLVpLPKVaPDw8AnZZAFABAA5MS1pLeBlQABYCAAAOWksAEgAOADMBAA4BEBMZHmnwtQAcAwAAAA55ARIPaVo8S/DS0tIBFw8BFA/S0tIBUQ8BFw88PBwCb4YAiwEBAA4BEw94PB4fhwESDwEaEAEaDx5LaWk80uJppVrh0wEWD/FBAnkdiB9LASAPl5ZaLabSPB4aARcPPAB0AgAADlppagEYD1paiFpaTGnhPjceAno7P4hbAnaGgwIOhgAAAgAAAAAAAAABAAAAHAAAAAEAAAAAAAAAAwAAAAQAJAAnAAAAAQAAACcAAAACAAAAGwApAAEAAAApAAAAAQAAAAQAAAACAAAAFAAAAAEAAAAbAAAAAQAAACgAAAACAAAAHAAoAAIAAAAcAAAAAgAAABwAGwACAAAAHAAnAAIAAAAcABwAAwAAABwAHAAcAAAAAQAAAAEAAAABAAAAAwAAAAIAAAAEACQAAQAAAAUAAAACAAAADQAcAAEAAAAQAAAAAQAAABIAAAACAAAAHAATAAIAAAAcABQAAwAAACUACgAAAAAAAQAAACoAAAACAAAAAAAGAAAAASwACi0tcmVzaWRlbnQABjxpbml0PgAlQUNUSU9OX0FSR1VNRU5UX1NFVF9URVhUX0NIQVJTRVFVRU5DRQABSQADSUlJAAJJTAABSgABTAACTEkAA0xJSQACTEwAA0xMSQADTExMAARMTExMAARMTExaAANMTFoAAkxaABtMYWkveG9wYy9waG9uZS9QaG9uZVVpRHVtcDsAN0xhbmRyb2lkL2FjY2Vzc2liaWxpdHlzZXJ2aWNlL0FjY2Vzc2liaWxpdHlTZXJ2aWNlSW5mbzsAGkxhbmRyb2lkL2FwcC9VaUF1dG9tYXRpb247ABdMYW5kcm9pZC9ncmFwaGljcy9SZWN0OwATTGFuZHJvaWQvb3MvQnVuZGxlOwAaTGFuZHJvaWQvb3MvSGFuZGxlclRocmVhZDsAE0xhbmRyb2lkL29zL0xvb3BlcjsAEkxhbmRyb2lkL3V0aWwvWG1sOwAyTGFuZHJvaWQvdmlldy9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlSW5mbzsAGkxkYWx2aWsvYW5ub3RhdGlvbi9UaHJvd3M7ABhMamF2YS9pby9CdWZmZXJlZFJlYWRlcjsAFUxqYXZhL2lvL0lucHV0U3RyZWFtOwAbTGphdmEvaW8vSW5wdXRTdHJlYW1SZWFkZXI7ABVMamF2YS9pby9QcmludFN0cmVhbTsAEExqYXZhL2lvL1JlYWRlcjsAFkxqYXZhL2lvL1N0cmluZ1dyaXRlcjsAEExqYXZhL2lvL1dyaXRlcjsAE0xqYXZhL2xhbmcvQm9vbGVhbjsAGExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOwARTGphdmEvbGFuZy9DbGFzczsAFUxqYXZhL2xhbmcvRXhjZXB0aW9uOwAhTGphdmEvbGFuZy9JbGxlZ2FsU3RhdGVFeGNlcHRpb247ABNMamF2YS9sYW5nL0ludGVnZXI7ABBMamF2YS9sYW5nL01hdGg7ACFMamF2YS9sYW5nL05vU3VjaE1ldGhvZEV4Y2VwdGlvbjsAEkxqYXZhL2xhbmcvT2JqZWN0OwASTGphdmEvbGFuZy9TdHJpbmc7ABlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7ABJMamF2YS9sYW5nL1N5c3RlbTsAEkxqYXZhL2xhbmcvVGhyZWFkOwAfTGphdmEvbGFuZy9yZWZsZWN0L0NvbnN0cnVjdG9yOwAaTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsAEkxqYXZhL3V0aWwvQXJyYXlzOwAQTGphdmEvdXRpbC9MaXN0OwAVTG9yZy9qc29uL0pTT05PYmplY3Q7AB5Mb3JnL3htbHB1bGwvdjEvWG1sU2VyaWFsaXplcjsAEFBob25lVWlEdW1wLmphdmEABFRZUEUABVVURi04AAFWAAJWSgACVkwAA1ZMTAAEVkxMSQABWgADWklMAAJaTAABWwASW0xqYXZhL2xhbmcvQ2xhc3M7ABNbTGphdmEvbGFuZy9PYmplY3Q7ABNbTGphdmEvbGFuZy9TdHJpbmc7AAFdAAJdWwAjYW5kcm9pZC5hcHAuSVVpQXV0b21hdGlvbkNvbm5lY3Rpb24AImFuZHJvaWQuYXBwLlVpQXV0b21hdGlvbkNvbm5lY3Rpb24AOWFuZHJvaWQudmlldy5hY2Nlc3NpYmlsaXR5LkFjY2Vzc2liaWxpdHlJbnRlcmFjdGlvbkNsaWVudAADYXBwAAZhcHBlbmQABmFzTGlzdAAJYXR0cmlidXRlAAZiZWZvcmUABmJvdHRvbQAGYm91bmRzAAVjbGFzcwAKY2xlYXJDYWNoZQAJY2xpY2thYmxlAAVjbG9zZQAMY29uZmlybWF0aW9uAAdjb25uZWN0AAhjb250YWlucwAMY29udGVudC1kZXNjAApkaXNjb25uZWN0AARkdW1wAAhlZGl0YWJsZQAGZWRpdG9yAAtlbmREb2N1bWVudAAGZW5kVGFnAAZlcXVhbHMABWVycm9yAAlmaW5kRm9jdXMABWZsYWdzAAVmbHVzaAAFZm9jdXMAB2ZvY3VzZWQAB2Zvck5hbWUAEWdldEJvdW5kc0luU2NyZWVuAAhnZXRDaGlsZAANZ2V0Q2hpbGRDb3VudAAMZ2V0Q2xhc3NOYW1lABVnZXRDb250ZW50RGVzY3JpcHRpb24AFmdldERlY2xhcmVkQ29uc3RydWN0b3IAC2dldEluc3RhbmNlAAZnZXRJbnQACWdldExvb3BlcgANZ2V0TWFpbkxvb3BlcgAKZ2V0TWVzc2FnZQAJZ2V0TWV0aG9kAA5nZXRQYWNrYWdlTmFtZQAVZ2V0Um9vdEluQWN0aXZlV2luZG93AA5nZXRTZXJ2aWNlSW5mbwAJZ2V0U3RyaW5nAAdnZXRUZXh0ABVnZXRWaWV3SWRSZXNvdXJjZU5hbWUACWhpZXJhcmNoeQACaWQACGlkZW50aXR5AAJpbgAGaW52b2tlAAtpc0NsaWNrYWJsZQAKaXNFZGl0YWJsZQAJaXNFbmFibGVkAAlpc0ZvY3VzZWQACmlzUGFzc3dvcmQAD2lzVmlzaWJsZVRvVXNlcgAEbGVmdAAGbGVuZ3RoAARtYWluAANtYXgAA21pbgALbmV3SW5zdGFuY2UADW5ld1NlcmlhbGl6ZXIAB25vLXJvb3QABG5vZGUABW5vZGVzAAJvawACb3AAA291dAAHcGFja2FnZQAIcGFzc3dvcmQADXBlcmZvcm1BY3Rpb24AEXByZXBhcmVNYWluTG9vcGVyAAdwcmludGxuAANwdXQAD3B1dENoYXJTZXF1ZW5jZQAKcXVpdFNhZmVseQAIcmVhZExpbmUAB3JlY3ljbGUAC3Jlc291cmNlLWlkAApyZXNvdXJjZUlkAAVyaWdodAAJc2V0T3V0cHV0AA5zZXRTZXJ2aWNlSW5mbwAHc2V0VGV4dAAFc2xlZXAACHNuYXBzaG90AA5zdGFibGVTbmFwc2hvdAAFc3RhcnQADXN0YXJ0RG9jdW1lbnQACHN0YXJ0VGFnAAlzdWJzdHJpbmcABnRhcmdldAAEdGV4dAAIdG9TdHJpbmcAA3RvcAALdW5jb25maXJtZWQAC3Vuc3VwcG9ydGVkAAV2YWx1ZQAHdmFsdWVPZgAFd3JpdGUAA3htbAAWeG9wYy1waG9uZS1vYnNlcnZhdGlvbgCdAX5+RDh7ImJhY2tlbmQiOiJkZXgiLCJjb21waWxhdGlvbi1tb2RlIjoiZGVidWciLCJoYXMtY2hlY2tzdW1zIjpmYWxzZSwibWluLWFwaSI6MjQsInNoYS0xIjoiYTdhZDE4YTcwNDYwYjc5OWQwNDgyZTQ5N2MxMDlhNzViZjdmOTFkZSIsInZlcnNpb24iOiI4LjEwLjktZGV2In0AAgsBrwEcARgWAQAJAAAKAIGABIgZAQqgGQEKpBoBCtQSAQmgHwEKzCUBCsgWAQr8FwEKyBgBAAAAQyAAAAAAAAAAAAAABwAAAAAAAAABAAAAeCAAAAIAAAB4IAAAAwAAAHggAAAEAAAAeCAAAAUAAAB4IAAABgAAAHggAAAHAAAAeCAAABAAAAAAAAAAAQAAAAAAAAABAAAAtQAAAHAAAAACAAAAKwAAAEQDAAADAAAAMQAAAPADAAAEAAAACQAAADwGAAAFAAAAVgAAAIQGAAAGAAAAAQAAADQJAAABIAAACQAAAFQJAAADIAAACQAAADoUAAABEAAAHQAAADAVAAACIAAAtQAAACQWAAAEIAAAAQAAAEMgAAAAIAAAAQAAAEwgAAADEAAAAQAAAHggAAAGIAAAAQAAAIAgAAAAEAAAAQAAAMggAAA=";
@@ -1,4 +1,4 @@
1
1
  //#region src/phone/ui-dump-binary.ts
2
- const PHONE_UI_DEX = "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AQAAABwAAAABAAAAAAAAAAMAAAAEACQAJwAAAAEAAAAnAAAAAgAAABsAKQABAAAAKQAAAAEAAAAEAAAAAgAAABQAAAABAAAAGwAAAAEAAAAoAAAAAgAAABwAKAACAAAAHAAAAAIAAAAcABsAAgAAABwAJwACAAAAHAAcAAMAAAAcABwAHAAAAAEAAAABAAAAAQAAAAMAAAACAAAABAAkAAEAAAAFAAAAAgAAAA0AHAABAAAAEAAAAAEAAAASAAAAAgAAABwAEwACAAAAHAAUAAMAAAAlAAoAAAAAAAEAAAAqAAAAAgAAAAAABgAAAAEsAAotLXJlc2lkZW50AAY8aW5pdD4AJUFDVElPTl9BUkdVTUVOVF9TRVRfVEVYVF9DSEFSU0VRVUVOQ0UAAUkAA0lJSQACSUwAAUoAAUwAAkxJAANMSUkAAkxMAANMTEkAA0xMTAAETExMTAAETExMWgADTExaAAJMWgAbTGFpL3hvcGMvcGhvbmUvUGhvbmVVaUR1bXA7ADdMYW5kcm9pZC9hY2Nlc3NpYmlsaXR5c2VydmljZS9BY2Nlc3NpYmlsaXR5U2VydmljZUluZm87ABpMYW5kcm9pZC9hcHAvVWlBdXRvbWF0aW9uOwAXTGFuZHJvaWQvZ3JhcGhpY3MvUmVjdDsAE0xhbmRyb2lkL29zL0J1bmRsZTsAGkxhbmRyb2lkL29zL0hhbmRsZXJUaHJlYWQ7ABNMYW5kcm9pZC9vcy9Mb29wZXI7ABJMYW5kcm9pZC91dGlsL1htbDsAMkxhbmRyb2lkL3ZpZXcvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZUluZm87ABpMZGFsdmlrL2Fubm90YXRpb24vVGhyb3dzOwAYTGphdmEvaW8vQnVmZmVyZWRSZWFkZXI7ABVMamF2YS9pby9JbnB1dFN0cmVhbTsAG0xqYXZhL2lvL0lucHV0U3RyZWFtUmVhZGVyOwAVTGphdmEvaW8vUHJpbnRTdHJlYW07ABBMamF2YS9pby9SZWFkZXI7ABZMamF2YS9pby9TdHJpbmdXcml0ZXI7ABBMamF2YS9pby9Xcml0ZXI7ABNMamF2YS9sYW5nL0Jvb2xlYW47ABhMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTsAEUxqYXZhL2xhbmcvQ2xhc3M7ABVMamF2YS9sYW5nL0V4Y2VwdGlvbjsAIUxqYXZhL2xhbmcvSWxsZWdhbFN0YXRlRXhjZXB0aW9uOwATTGphdmEvbGFuZy9JbnRlZ2VyOwAQTGphdmEvbGFuZy9NYXRoOwAhTGphdmEvbGFuZy9Ob1N1Y2hNZXRob2RFeGNlcHRpb247ABJMamF2YS9sYW5nL09iamVjdDsAEkxqYXZhL2xhbmcvU3RyaW5nOwAZTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwASTGphdmEvbGFuZy9TeXN0ZW07ABJMamF2YS9sYW5nL1RocmVhZDsAH0xqYXZhL2xhbmcvcmVmbGVjdC9Db25zdHJ1Y3RvcjsAGkxqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2Q7ABJMamF2YS91dGlsL0FycmF5czsAEExqYXZhL3V0aWwvTGlzdDsAFUxvcmcvanNvbi9KU09OT2JqZWN0OwAeTG9yZy94bWxwdWxsL3YxL1htbFNlcmlhbGl6ZXI7ABBQaG9uZVVpRHVtcC5qYXZhAARUWVBFAAVVVEYtOAABVgACVkoAAlZMAANWTEwABFZMTEkAAVoAA1pJTAACWkwAAVsAEltMamF2YS9sYW5nL0NsYXNzOwATW0xqYXZhL2xhbmcvT2JqZWN0OwATW0xqYXZhL2xhbmcvU3RyaW5nOwABXQACXVsAI2FuZHJvaWQuYXBwLklVaUF1dG9tYXRpb25Db25uZWN0aW9uACJhbmRyb2lkLmFwcC5VaUF1dG9tYXRpb25Db25uZWN0aW9uADlhbmRyb2lkLnZpZXcuYWNjZXNzaWJpbGl0eS5BY2Nlc3NpYmlsaXR5SW50ZXJhY3Rpb25DbGllbnQAA2FwcAAGYXBwZW5kAAZhc0xpc3QACWF0dHJpYnV0ZQAGYmVmb3JlAAZib3R0b20ABmJvdW5kcwAFY2xhc3MACmNsZWFyQ2FjaGUACWNsaWNrYWJsZQAFY2xvc2UADGNvbmZpcm1hdGlvbgAHY29ubmVjdAAIY29udGFpbnMADGNvbnRlbnQtZGVzYwAKZGlzY29ubmVjdAAEZHVtcAAGZWRpdG9yAAtlbmREb2N1bWVudAAGZW5kVGFnAAZlcXVhbHMABWVycm9yAAlmaW5kRm9jdXMABWZsYWdzAAVmbHVzaAAFZm9jdXMAB2ZvY3VzZWQAB2Zvck5hbWUAEWdldEJvdW5kc0luU2NyZWVuAAhnZXRDaGlsZAANZ2V0Q2hpbGRDb3VudAAMZ2V0Q2xhc3NOYW1lABVnZXRDb250ZW50RGVzY3JpcHRpb24AFmdldERlY2xhcmVkQ29uc3RydWN0b3IAC2dldEluc3RhbmNlAAZnZXRJbnQACWdldExvb3BlcgANZ2V0TWFpbkxvb3BlcgAKZ2V0TWVzc2FnZQAJZ2V0TWV0aG9kAA5nZXRQYWNrYWdlTmFtZQAVZ2V0Um9vdEluQWN0aXZlV2luZG93AA5nZXRTZXJ2aWNlSW5mbwAJZ2V0U3RyaW5nAAdnZXRUZXh0ABVnZXRWaWV3SWRSZXNvdXJjZU5hbWUACWhpZXJhcmNoeQACaWQACGlkZW50aXR5AAJpbgAGaW52b2tlAAtpc0NsaWNrYWJsZQAKaXNFZGl0YWJsZQAJaXNFbmFibGVkAAlpc0ZvY3VzZWQACmlzUGFzc3dvcmQAD2lzVmlzaWJsZVRvVXNlcgAEbGVmdAAGbGVuZ3RoAARtYWluAANtYXgAA21pbgALbmV3SW5zdGFuY2UADW5ld1NlcmlhbGl6ZXIAB25vLXJvb3QABG5vZGUABW5vZGVzAAJvawACb3AAA291dAAHcGFja2FnZQAIcGFzc3dvcmQADXBlcmZvcm1BY3Rpb24AEXByZXBhcmVNYWluTG9vcGVyAAdwcmludGxuAANwdXQAD3B1dENoYXJTZXF1ZW5jZQAKcXVpdFNhZmVseQAIcmVhZExpbmUAB3JlY3ljbGUAC3Jlc291cmNlLWlkAApyZXNvdXJjZUlkAAVyaWdodAAJc2V0T3V0cHV0AA5zZXRTZXJ2aWNlSW5mbwAHc2V0VGV4dAAFc2xlZXAACHNuYXBzaG90AA5zdGFibGVTbmFwc2hvdAAFc3RhcnQADXN0YXJ0RG9jdW1lbnQACHN0YXJ0VGFnAAlzdWJzdHJpbmcABnRhcmdldAAEdGV4dAAIdG9TdHJpbmcAA3RvcAALdW5jb25maXJtZWQAC3Vuc3VwcG9ydGVkAAV2YWx1ZQAHdmFsdWVPZgAFd3JpdGUAA3htbAAWeG9wYy1waG9uZS1vYnNlcnZhdGlvbgCdAX5+RDh7ImJhY2tlbmQiOiJkZXgiLCJjb21waWxhdGlvbi1tb2RlIjoiZGVidWciLCJoYXMtY2hlY2tzdW1zIjpmYWxzZSwibWluLWFwaSI6MjQsInNoYS0xIjoiYTdhZDE4YTcwNDYwYjc5OWQwNDgyZTQ5N2MxMDlhNzViZjdmOTFkZSIsInZlcnNpb24iOiI4LjEwLjktZGV2In0AAgsBrgEcARgWAQAJAAAKAIGABIQZAQqcGQEKoBoBCtASAQmAHwEKrCUBCsQWAQr4FwEKxBgAAAEAAAAZIAAAAAAAAAAAAAAHAAAAAAAAAAEAAABQIAAAAgAAAFAgAAADAAAAUCAAAAQAAABQIAAABQAAAFAgAAAGAAAAUCAAAAcAAABQIAAAEAAAAAAAAAABAAAAAAAAAAEAAAC0AAAAcAAAAAIAAAArAAAAQAMAAAMAAAAxAAAA7AMAAAQAAAAJAAAAOAYAAAUAAABWAAAAgAYAAAYAAAABAAAAMAkAAAEgAAAJAAAAUAkAAAMgAAAJAAAAGhQAAAEQAAAdAAAAEBUAAAIgAAC0AAAABBYAAAQgAAABAAAAGSAAAAAgAAABAAAAIiAAAAMQAAABAAAAUCAAAAYgAAABAAAAWCAAAAAQAAABAAAAoCAAAA==";
2
+ const PHONE_UI_DEX = "ZGV4CjAzNwDe5XQAq3HCZ4AaSf9j6lE9MYmFeD7lOkuMIQAAcAAAAHhWNBIAAAAAAAAAAMggAAC1AAAAcAAAACsAAABEAwAAMQAAAPADAAAJAAAAPAYAAFYAAACEBgAAAQAAADQJAAA4GAAAVAkAACQWAAAmFgAAKRYAADUWAAA9FgAAZBYAAGcWAABsFgAAcBYAAHMWAAB2FgAAehYAAH8WAACDFgAAiBYAAI0WAACTFgAAmRYAAJ4WAACiFgAAvxYAAPgWAAAUFwAALRcAAEIXAABeFwAAcxcAAIcXAAC7FwAA1xcAAPEXAAAIGAAAJRgAADwYAABOGAAAZhgAAHgYAACNGAAApxgAALoYAADRGAAA9BgAAAkZAAAbGQAAPhkAAFIZAABmGQAAgRkAAJUZAACpGQAAyhkAAOYZAAD6GQAADBoAACMaAABDGgAAVRoAAFsaAABiGgAAZRoAAGkaAABtGgAAchoAAHgaAAB7GgAAgBoAAIQaAACHGgAAmxoAALAaAADFGgAAyBoAAMwaAADxGgAAFRsAAFAbAABVGwAAXRsAAGUbAABwGwAAeBsAAIAbAACIGwAAjxsAAJsbAACmGwAArRsAALsbAADEGwAAzhsAANwbAADoGwAA7hsAAPgbAAAAHAAADRwAABUcAAAdHAAAJBwAAC8cAAA2HAAAPRwAAEQcAABNHAAAVhwAAGkcAABzHAAAghwAAJAcAACnHAAAvxwAAMwcAADUHAAA3xwAAO4cAAD6HAAABR0AABUdAAAsHQAAPB0AAEcdAABQHQAAZx0AAHIdAAB2HQAAgB0AAIQdAACMHQAAmR0AAKUdAACwHQAAux0AAMcdAADYHQAA3h0AAOYdAADsHQAA8R0AAPYdAAADHgAAEh4AABseAAAhHgAAKB4AACweAAAwHgAANR4AAD4eAABIHgAAVx4AAGoeAABzHgAAeB4AAIkeAACVHgAAnx4AAKgeAAC1HgAAwR4AAMgeAADTHgAA4x4AAOweAADzHgAA/R4AAA0fAAAUHwAAIx8AAC0fAAA4HwAAQB8AAEYfAABQHwAAVR8AAGIfAABvHwAAdh8AAH8fAACGHwAAix8AAKMfAAAFAAAACAAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADoAAAA/AAAAQwAAAEQAAABFAAAABQAAAAAAAAAAAAAABgAAAAAAAAAwFQAABwAAAAAAAAA4FQAACQAAAAMAAAAAAAAACQAAAAgAAAAAAAAACQAAAAoAAAAAAAAACgAAAAoAAABAFQAAEAAAAAoAAABIFQAAEgAAABMAAABUFQAACQAAABQAAAAAAAAADAAAABUAAAA4FQAACgAAABgAAABAFQAADgAAABsAAABcFQAADAAAABsAAABkFQAACQAAABwAAAAAAAAACwAAABwAAAAwFQAADAAAABwAAABsFQAADQAAABwAAAB0FQAADAAAABwAAAB8FQAADAAAABwAAAA4FQAAEgAAABwAAABUFQAACgAAAB0AAABAFQAADAAAAB0AAAA4FQAADAAAACAAAACEFQAADgAAACEAAACMFQAADAAAACMAAABkFQAADQAAACQAAACUFQAADgAAACQAAACcFQAAEQAAACQAAACkFQAACQAAACUAAAAAAAAADgAAACUAAACsFQAADwAAACUAAAC0FQAAOgAAACYAAAAAAAAAOwAAACYAAADAFQAAPAAAACYAAADIFQAAPAAAACYAAABsFQAAPQAAACYAAADQFQAAPAAAACYAAADYFQAAPQAAACYAAADgFQAAPAAAACYAAADoFQAAPAAAACYAAADwFQAAPAAAACYAAAA4FQAAPQAAACYAAAD4FQAAPQAAACYAAAAAFgAAPgAAACYAAAAIFgAAPAAAACYAAAAUFgAAPwAAACcAAAAAAAAAQAAAACcAAAAcFgAAQQAAACcAAAB8FQAAAgAAAI4AAAADAAAAYwAAAAUAAABQAAAABQAAAIUAAAAFAAAAngAAAAUAAACsAAAAGAAVADgAAAAeAA0AfQAAAB4ADwCRAAAAAgAgAAMAAAACACMAUwAAAAIALABbAAAAAgAHAF0AAAACAC0AhwAAAAIAJAChAAAAAgAQAKMAAAACABAApAAAAAIAEQCqAAAABAAFAHUAAAAEAAMAdgAAAAQAIgCgAAAABQAgAAMAAAAGACAAAwAAAAYAKwCYAAAABwApAAMAAAAHAAQA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iFpaTGnhPjceAno7P4hbAnaGgwIOhgAAAgAAAAAAAAABAAAAHAAAAAEAAAAAAAAAAwAAAAQAJAAnAAAAAQAAACcAAAACAAAAGwApAAEAAAApAAAAAQAAAAQAAAACAAAAFAAAAAEAAAAbAAAAAQAAACgAAAACAAAAHAAoAAIAAAAcAAAAAgAAABwAGwACAAAAHAAnAAIAAAAcABwAAwAAABwAHAAcAAAAAQAAAAEAAAABAAAAAwAAAAIAAAAEACQAAQAAAAUAAAACAAAADQAcAAEAAAAQAAAAAQAAABIAAAACAAAAHAATAAIAAAAcABQAAwAAACUACgAAAAAAAQAAACoAAAACAAAAAAAGAAAAASwACi0tcmVzaWRlbnQABjxpbml0PgAlQUNUSU9OX0FSR1VNRU5UX1NFVF9URVhUX0NIQVJTRVFVRU5DRQABSQADSUlJAAJJTAABSgABTAACTEkAA0xJSQACTEwAA0xMSQADTExMAARMTExMAARMTExaAANMTFoAAkxaABtMYWkveG9wYy9waG9uZS9QaG9uZVVpRHVtcDsAN0xhbmRyb2lkL2FjY2Vzc2liaWxpdHlzZXJ2aWNlL0FjY2Vzc2liaWxpdHlTZXJ2aWNlSW5mbzsAGkxhbmRyb2lkL2FwcC9VaUF1dG9tYXRpb247ABdMYW5kcm9pZC9ncmFwaGljcy9SZWN0OwATTGFuZHJvaWQvb3MvQnVuZGxlOwAaTGFuZHJvaWQvb3MvSGFuZGxlclRocmVhZDsAE0xhbmRyb2lkL29zL0xvb3BlcjsAEkxhbmRyb2lkL3V0aWwvWG1sOwAyTGFuZHJvaWQvdmlldy9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlSW5mbzsAGkxkYWx2aWsvYW5ub3RhdGlvbi9UaHJvd3M7ABhMamF2YS9pby9CdWZmZXJlZFJlYWRlcjsAFUxqYXZhL2lvL0lucHV0U3RyZWFtOwAbTGphdmEvaW8vSW5wdXRTdHJlYW1SZWFkZXI7ABVMamF2YS9pby9QcmludFN0cmVhbTsAEExqYXZhL2lvL1JlYWRlcjsAFkxqYXZhL2lvL1N0cmluZ1dyaXRlcjsAEExqYXZhL2lvL1dyaXRlcjsAE0xqYXZhL2xhbmcvQm9vbGVhbjsAGExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOwARTGphdmEvbGFuZy9DbGFzczsAFUxqYXZhL2xhbmcvRXhjZXB0aW9uOwAhTGphdmEvbGFuZy9JbGxlZ2FsU3RhdGVFeGNlcHRpb247ABNMamF2YS9sYW5nL0ludGVnZXI7ABBMamF2YS9sYW5nL01hdGg7ACFMamF2YS9sYW5nL05vU3VjaE1ldGhvZEV4Y2VwdGlvbjsAEkxqYXZhL2xhbmcvT2JqZWN0OwASTGphdmEvbGFuZy9TdHJpbmc7ABlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7ABJMamF2YS9sYW5nL1N5c3RlbTsAEkxqYXZhL2xhbmcvVGhyZWFkOwAfTGphdmEvbGFuZy9yZWZsZWN0L0NvbnN0cnVjdG9yOwAaTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsAEkxqYXZhL3V0aWwvQXJyYXlzOwAQTGphdmEvdXRpbC9MaXN0OwAVTG9yZy9qc29uL0pTT05PYmplY3Q7AB5Mb3JnL3htbHB1bGwvdjEvWG1sU2VyaWFsaXplcjsAEFBob25lVWlEdW1wLmphdmEABFRZUEUABVVURi04AAFWAAJWSgACVkwAA1ZMTAAEVkxMSQABWgADWklMAAJaTAABWwASW0xqYXZhL2xhbmcvQ2xhc3M7ABNbTGphdmEvbGFuZy9PYmplY3Q7ABNbTGphdmEvbGFuZy9TdHJpbmc7AAFdAAJdWwAjYW5kcm9pZC5hcHAuSVVpQXV0b21hdGlvbkNvbm5lY3Rpb24AImFuZHJvaWQuYXBwLlVpQXV0b21hdGlvbkNvbm5lY3Rpb24AOWFuZHJvaWQudmlldy5hY2Nlc3NpYmlsaXR5LkFjY2Vzc2liaWxpdHlJbnRlcmFjdGlvbkNsaWVudAADYXBwAAZhcHBlbmQABmFzTGlzdAAJYXR0cmlidXRlAAZiZWZvcmUABmJvdHRvbQAGYm91bmRzAAVjbGFzcwAKY2xlYXJDYWNoZQAJY2xpY2thYmxlAAVjbG9zZQAMY29uZmlybWF0aW9uAAdjb25uZWN0AAhjb250YWlucwAMY29udGVudC1kZXNjAApkaXNjb25uZWN0AARkdW1wAAhlZGl0YWJsZQAGZWRpdG9yAAtlbmREb2N1bWVudAAGZW5kVGFnAAZlcXVhbHMABWVycm9yAAlmaW5kRm9jdXMABWZsYWdzAAVmbHVzaAAFZm9jdXMAB2ZvY3VzZWQAB2Zvck5hbWUAEWdldEJvdW5kc0luU2NyZWVuAAhnZXRDaGlsZAANZ2V0Q2hpbGRDb3VudAAMZ2V0Q2xhc3NOYW1lABVnZXRDb250ZW50RGVzY3JpcHRpb24AFmdldERlY2xhcmVkQ29uc3RydWN0b3IAC2dldEluc3RhbmNlAAZnZXRJbnQACWdldExvb3BlcgANZ2V0TWFpbkxvb3BlcgAKZ2V0TWVzc2FnZQAJZ2V0TWV0aG9kAA5nZXRQYWNrYWdlTmFtZQAVZ2V0Um9vdEluQWN0aXZlV2luZG93AA5nZXRTZXJ2aWNlSW5mbwAJZ2V0U3RyaW5nAAdnZXRUZXh0ABVnZXRWaWV3SWRSZXNvdXJjZU5hbWUACWhpZXJhcmNoeQACaWQACGlkZW50aXR5AAJpbgAGaW52b2tlAAtpc0NsaWNrYWJsZQAKaXNFZGl0YWJsZQAJaXNFbmFibGVkAAlpc0ZvY3VzZWQACmlzUGFzc3dvcmQAD2lzVmlzaWJsZVRvVXNlcgAEbGVmdAAGbGVuZ3RoAARtYWluAANtYXgAA21pbgALbmV3SW5zdGFuY2UADW5ld1NlcmlhbGl6ZXIAB25vLXJvb3QABG5vZGUABW5vZGVzAAJvawACb3AAA291dAAHcGFja2FnZQAIcGFzc3dvcmQADXBlcmZvcm1BY3Rpb24AEXByZXBhcmVNYWluTG9vcGVyAAdwcmludGxuAANwdXQAD3B1dENoYXJTZXF1ZW5jZQAKcXVpdFNhZmVseQAIcmVhZExpbmUAB3JlY3ljbGUAC3Jlc291cmNlLWlkAApyZXNvdXJjZUlkAAVyaWdodAAJc2V0T3V0cHV0AA5zZXRTZXJ2aWNlSW5mbwAHc2V0VGV4dAAFc2xlZXAACHNuYXBzaG90AA5zdGFibGVTbmFwc2hvdAAFc3RhcnQADXN0YXJ0RG9jdW1lbnQACHN0YXJ0VGFnAAlzdWJzdHJpbmcABnRhcmdldAAEdGV4dAAIdG9TdHJpbmcAA3RvcAALdW5jb25maXJtZWQAC3Vuc3VwcG9ydGVkAAV2YWx1ZQAHdmFsdWVPZgAFd3JpdGUAA3htbAAWeG9wYy1waG9uZS1vYnNlcnZhdGlvbgCdAX5+RDh7ImJhY2tlbmQiOiJkZXgiLCJjb21waWxhdGlvbi1tb2RlIjoiZGVidWciLCJoYXMtY2hlY2tzdW1zIjpmYWxzZSwibWluLWFwaSI6MjQsInNoYS0xIjoiYTdhZDE4YTcwNDYwYjc5OWQwNDgyZTQ5N2MxMDlhNzViZjdmOTFkZSIsInZlcnNpb24iOiI4LjEwLjktZGV2In0AAgsBrwEcARgWAQAJAAAKAIGABIgZAQqgGQEKpBoBCtQSAQmgHwEKzCUBCsgWAQr8FwEKyBgBAAAAQyAAAAAAAAAAAAAABwAAAAAAAAABAAAAeCAAAAIAAAB4IAAAAwAAAHggAAAEAAAAeCAAAAUAAAB4IAAABgAAAHggAAAHAAAAeCAAABAAAAAAAAAAAQAAAAAAAAABAAAAtQAAAHAAAAACAAAAKwAAAEQDAAADAAAAMQAAAPADAAAEAAAACQAAADwGAAAFAAAAVgAAAIQGAAAGAAAAAQAAADQJAAABIAAACQAAAFQJAAADIAAACQAAADoUAAABEAAAHQAAADAVAAACIAAAtQAAACQWAAAEIAAAAQAAAEMgAAAAIAAAAQAAAEwgAAADEAAAAQAAAHggAAAGIAAAAQAAAIAgAAAAEAAAAQAAAMggAAA=";
3
3
  //#endregion
4
4
  export { PHONE_UI_DEX };
@@ -1,13 +1,13 @@
1
1
  import { ProjectStore, slugifyProjectName } from "./project-store.js";
2
- import { getProjectForSession, getProjectWorkspacePathForSession, resolveProjectWorkspacePath } from "./workspace.js";
3
2
  import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError, canonicalWorkspacePath, ensureWorkspaceDirectory, inferProjectNameFromWorkspaceRoot, isPathSameOrInsideWorkspace, isSafeAutoCreateWorkspaceRoot, resolveWorkspaceProjectRoot, workspaceDirectoryExists } from "./workspace-project.js";
4
3
  import { inferProjectExecutionMode, inferProjectKind } from "./project-kind.js";
5
4
  import { bindSessionToProject, bindSessionsToProject, listProjectConversationIds, moveSessionToProject, unbindSessionFromProject } from "./session-bind.js";
6
5
  import { ProjectDeletionBlockedError, ProjectService, ProjectWorkspaceInUseError, ProjectWorkspaceInvalidError } from "./project-service.js";
6
+ import { ProjectSkillError, ProjectSkillService } from "./project-skill-service.js";
7
7
  import { isValidProjectAgentId, normalizeProjectAgentId, resolveProjectAgentId } from "./project-agent.js";
8
8
  import { CODING_PROJECT_AGENT_ID, inferSuggestedProjectDefaultAgentId, suggestProjectDefaultAgentId } from "./project-agent-suggestion.js";
9
- import { ProjectSkillError, ProjectSkillService } from "./project-skill-service.js";
10
9
  import { buildProjectLoopOverview } from "./project-loop.js";
11
10
  import { bindAutomationToProject } from "./automation-bind.js";
12
11
  import { bindKnowledgeItemToProject } from "./knowledge-bind.js";
12
+ import { getProjectForSession, getProjectWorkspacePathForSession, resolveProjectWorkspacePath } from "./workspace.js";
13
13
  export { CODING_PROJECT_AGENT_ID, ProjectDeletionBlockedError, ProjectService, ProjectSkillError, ProjectSkillService, ProjectStore, ProjectWorkspaceConflictError, ProjectWorkspaceInUseError, ProjectWorkspaceInvalidError, ProjectWorkspaceMissingError, bindAutomationToProject, bindKnowledgeItemToProject, bindSessionToProject, bindSessionsToProject, buildProjectLoopOverview, canonicalWorkspacePath, ensureWorkspaceDirectory, getProjectForSession, getProjectWorkspacePathForSession, inferProjectExecutionMode, inferProjectKind, inferProjectNameFromWorkspaceRoot, inferSuggestedProjectDefaultAgentId, isPathSameOrInsideWorkspace, isSafeAutoCreateWorkspaceRoot, isValidProjectAgentId, listProjectConversationIds, moveSessionToProject, normalizeProjectAgentId, resolveProjectAgentId, resolveProjectWorkspacePath, resolveWorkspaceProjectRoot, slugifyProjectName, suggestProjectDefaultAgentId, unbindSessionFromProject, workspaceDirectoryExists };
@@ -1,5 +1,5 @@
1
- import { agentExists, init_resolve_route } from "../routing/resolve-route.js";
2
1
  import { inferProjectKind } from "./project-kind.js";
2
+ import { agentExists, init_resolve_route } from "../routing/resolve-route.js";
3
3
  //#region src/projects/project-agent-suggestion.ts
4
4
  init_resolve_route();
5
5
  const CODING_PROJECT_AGENT_ID = "coder";
@@ -2,12 +2,12 @@ import { init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/t
2
2
  import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
3
3
  import "../storage/sqlite/index.js";
4
4
  import { changedFieldsFromPatch, emitActivity, systemActivityActor, systemActivitySource } from "../activity/emitter.js";
5
- import { ExecutionEnvironmentStore } from "../execution-environments/store.js";
6
5
  import { ProjectStore } from "./project-store.js";
7
- import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
8
6
  import { enqueueProjectChanged } from "./project-change-events.js";
9
7
  import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError, canonicalWorkspacePath, inferProjectNameFromWorkspaceRoot, isPathSameOrInsideWorkspace, isSafeAutoCreateWorkspaceRoot, resolveWorkspaceProjectRoot, workspaceDirectoryExists } from "./workspace-project.js";
10
8
  import { drainProjectWorkspaceCreation, queueProjectWorkspaceCreation } from "./project-workspace-creation.js";
9
+ import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
10
+ import { ExecutionEnvironmentStore } from "../execution-environments/store.js";
11
11
  import { listPendingProjectUnderstandingRuns } from "../work-discovery/repository.js";
12
12
  import { inferProjectExecutionMode } from "./project-kind.js";
13
13
  import { bindSessionToProject, listProjectConversationIds, unbindSessionFromProject } from "./session-bind.js";
@@ -1,8 +1,8 @@
1
1
  import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
2
- import { removeSkillsLockEntry } from "../agent/skills/hub-lock.js";
3
- import { deleteManagedSkill, installSkillFromZip, isValidSkillId } from "../agent/skills/managed-store.js";
4
2
  import { resolveWorkspaceSkillsDir, resolveWorkspaceSkillsLockPath } from "../agent/skills/workspace-skills-dir.js";
5
3
  import { loadSkills, loadWorkspaceSkillInventory } from "../agent/skills/index.js";
4
+ import { removeSkillsLockEntry } from "../agent/skills/hub-lock.js";
5
+ import { deleteManagedSkill, installSkillFromZip, isValidSkillId } from "../agent/skills/managed-store.js";
6
6
  import { pullSkillFromSource } from "../agent/skills/hub-pull.js";
7
7
  import { downloadFromMarketplace } from "../agent/skills/skills-marketplace.js";
8
8
  import { basename, dirname, join, relative, resolve, sep } from "node:path";
@@ -1,9 +1,9 @@
1
1
  import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
2
2
  import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js";
3
3
  import "../storage/sqlite/index.js";
4
+ import { ProjectStore } from "./project-store.js";
4
5
  import { resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
5
6
  import { projectWorkspacePath } from "../session/session-workspace.js";
6
- import { ProjectStore } from "./project-store.js";
7
7
  //#region src/projects/workspace.ts
8
8
  function resolveProjectWorkspacePath(config, conversationId, project) {
9
9
  const projectWorkspace = projectWorkspacePath(project);
@@ -5,8 +5,8 @@ import { init_model_policy, isComputerModel, isDedicatedComputerProfile } from "
5
5
  import { getModelCatalogStore, init_model_catalog_store } from "./model-catalog-store.js";
6
6
  import { getModelRegistry, init_model_registry } from "./model-registry.js";
7
7
  import "../phone/model-adapter.js";
8
- import { parseImageGenerationModelRef } from "../agent/image/generation/model-ref.js";
9
8
  import { getImageGenerationProvider } from "../agent/image/generation/provider-registry.js";
9
+ import { parseImageGenerationModelRef } from "../agent/image/generation/model-ref.js";
10
10
  //#region src/providers/model-reference-auditor.ts
11
11
  init_contracts();
12
12
  init_repository();
@@ -1,8 +1,8 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { hasGatewayScope } from "../gateway/security/gateway-scopes.js";
4
- import { EndpointToolPolicyError } from "../endpoint-tools/policy.js";
5
4
  import { REALTIME_CAPABILITIES, REALTIME_HEARTBEAT_INTERVAL_MS, REALTIME_HEARTBEAT_TIMEOUT_MS, REALTIME_HELLO_TIMEOUT_MS, REALTIME_MAX_CLIENT_FRAME_BYTES, parseClientRealtimeJsonFrame, parseClientRealtimeMessage } from "../../packages/realtime-protocol/src/index.js";
5
+ import { EndpointToolPolicyError } from "../endpoint-tools/policy.js";
6
6
  import { verifyDeviceConnectionProof } from "../gateway/security/device-request-proof.js";
7
7
  import { compactRunEvent } from "./compact-run-event.js";
8
8
  import { createPreauthConnectionBudget } from "../gateway/security/preauth-connection-budget.js";
@@ -2,9 +2,9 @@ import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { isTailscaleInstalled } from "../infra/tailscale.js";
4
4
  import { resolveGatewayBindMode } from "../config/gateway-bind.js";
5
- import { getTunnelService } from "../tunnel/tunnel-service.js";
6
5
  import { collectExposureConflicts } from "./exposure-guards.js";
7
6
  import { getTailscaleExposureState, maybeStartTailscaleFromConfig, stopTailscaleExposure } from "../gateway/tailscale-lifecycle.js";
7
+ import { getTunnelService } from "../tunnel/tunnel-service.js";
8
8
  import { getTunnelConsentState } from "../tunnel/consent.js";
9
9
  import { maybeAutoStartTunnelFromConfig } from "../tunnel/gateway-lifecycle.js";
10
10
  //#region src/remote-access/exposure-manager.ts
@@ -1,8 +1,8 @@
1
1
  import { RuntimeError } from "./errors.js";
2
2
  import { isAbsolute, join, posix, relative, resolve } from "node:path";
3
3
  import { spawn } from "node:child_process";
4
- import AdmZip from "adm-zip";
5
4
  import { lstat, mkdir, readdir, readlink, rename, rm, stat } from "node:fs/promises";
5
+ import AdmZip from "adm-zip";
6
6
  //#region src/runtime-tools/archive.ts
7
7
  const MAX_ARCHIVE_ENTRIES = 5e4;
8
8
  const MAX_TAR_OUTPUT_BYTES = 16 * 1024 * 1024;
@@ -1,11 +1,11 @@
1
- import { ADB_VERSION, SCRCPY_VERSION, managedPhoneAdbDir, managedPhoneAdbPath, managedScrcpyServerPath, phoneDependencyAsset } from "./phone-dependency-catalog.js";
2
- import { resolveAdbPath } from "../phone/adb-driver.js";
3
1
  import { RuntimeError } from "./errors.js";
4
2
  import { extractRuntimeArchive } from "./archive.js";
5
3
  import { runRuntimeCommand } from "./command.js";
6
4
  import { downloadVerifiedArchive, sha256File } from "./downloader.js";
7
5
  import { withInstallLock } from "./install-lock.js";
8
6
  import { runtimeDownloadPath } from "./paths.js";
7
+ import { ADB_VERSION, SCRCPY_VERSION, managedPhoneAdbDir, managedPhoneAdbPath, managedScrcpyServerPath, phoneDependencyAsset } from "./phone-dependency-catalog.js";
8
+ import { resolveAdbPath } from "../phone/adb-driver.js";
9
9
  import { dirname, isAbsolute, join } from "node:path";
10
10
  import { randomUUID } from "node:crypto";
11
11
  import { EventEmitter } from "node:events";
@@ -1,9 +1,9 @@
1
1
  import { buildSessionContextForLlm, init_session_context_for_llm, isTranscriptContextEntry, mergeLlmMessagesPreservingContextRows, transcriptRowsFromJsonArray } from "./session-context-for-llm.js";
2
2
  import { SessionStatus, init_types } from "./types.js";
3
- import { effectiveWorkspacePathForSession, normalizeWorkingDirectoryInput, projectWorkspacePath } from "./session-workspace.js";
4
3
  import { emitSessionTranscriptUpdate, onSessionTranscriptUpdate } from "./transcript-events.js";
5
- import { flattenMessageContent, messagesToClientHistory } from "./client-history.js";
4
+ import { effectiveWorkspacePathForSession, normalizeWorkingDirectoryInput, projectWorkspacePath } from "./session-workspace.js";
6
5
  import { fallbackTitleFromMessages, generateSessionTitleFromMessages, getSessionTitleSource, isWebchatConversationId, maybeRefineSessionTitleWithLlm, maybeSetProvisionalSessionTitle, provisionalTitleFromUserText, sanitizeGeneratedSessionTitle, sanitizeSessionTitle, shouldAutoTitleConversationId, shouldRefineSessionTitleWithLlm } from "./session-title.js";
6
+ import { flattenMessageContent, messagesToClientHistory } from "./client-history.js";
7
7
  import { SessionStore } from "./store.js";
8
8
  import { applySessionPatchToMetadata } from "./patch-metadata.js";
9
9
  import { SessionIndex } from "./manager.js";
@@ -2,8 +2,8 @@ import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
3
  import { requireXopcDatabase } from "../storage/sqlite/connection.js";
4
4
  import "../storage/sqlite/index.js";
5
- import { SessionConfigSchema, init_schema } from "../config/schema.js";
6
5
  import { isPersonalConversation } from "../personal-agent/repository.js";
6
+ import { SessionConfigSchema, init_schema } from "../config/schema.js";
7
7
  import { evaluateSessionFreshness, resolveSessionResetPolicy } from "./reset-policy.js";
8
8
  import { resolveChannelResetConfig, resolveSessionResetType } from "./reset-type.js";
9
9
  import { resolveSessionLifecycleTimestamps } from "./lifecycle-timestamps.js";