@xopcai/xopc 0.0.423 → 0.0.424

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 (308) hide show
  1. package/dist/browser-ext/dist/assets/{page-context-BKnEwsOO.js → page-context-b-rB5vJC.js} +1 -1
  2. package/dist/browser-ext/dist/background.js +1 -1
  3. package/dist/browser-ext/dist/sidepanel.html +1 -1
  4. package/dist/browser-ext/dist/sidepanel.js +29 -1
  5. package/dist/browser-ext/manifest.json +1 -1
  6. package/dist/extensions/telegram/xopc.extension.json +1 -1
  7. package/dist/gateway/static/root/assets/{activity-store-DNkXnatd.js → activity-store-AI081rxe.js} +1 -1
  8. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DOnHjAY_.js → agent-avatar-dicebear-DupnTbL7.js} +1 -1
  9. package/dist/gateway/static/root/assets/{agent-avatar-display-C9Lu9LVl.js → agent-avatar-display-CmEj6Uqy.js} +2 -2
  10. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-IEV5yKuu.js +1 -0
  11. package/dist/gateway/static/root/assets/{agent-plugin-dialog-sQNbqsGL.js → agent-plugin-dialog-D_njOuFA.js} +1 -1
  12. package/dist/gateway/static/root/assets/{agents-DZ77luyw.js → agents-B_yg9nA3.js} +4 -4
  13. package/dist/gateway/static/root/assets/{agents-admin-api-DIm_IHQL.js → agents-admin-api-CUZUolwG.js} +1 -1
  14. package/dist/gateway/static/root/assets/{api-By0yX3z1.js → api-CWWEVThO.js} +1 -1
  15. package/dist/gateway/static/root/assets/{api-BUJQiCoX.js → api-bpQ7yR10.js} +1 -1
  16. package/dist/gateway/static/root/assets/{app-management-settings-panel-PPgc1xaD.js → app-management-settings-panel-C0_hxwgg.js} +1 -1
  17. package/dist/gateway/static/root/assets/{appearance-settings-DbI9t4GS.js → appearance-settings-CLh-qnCC.js} +1 -1
  18. package/dist/gateway/static/root/assets/{apps-page-DIC28vl4.js → apps-page-Bjtm3Rgi.js} +1 -1
  19. package/dist/gateway/static/root/assets/{archive-plugin-B5ZSQVw2.js → archive-plugin-dGnstkhB.js} +1 -1
  20. package/dist/gateway/static/root/assets/{automation-api-CfjICuJK.js → automation-api-MB2xCoFF.js} +1 -1
  21. package/dist/gateway/static/root/assets/{automation-result-state-DpQSVGNY.js → automation-result-state-DJQflY78.js} +1 -1
  22. package/dist/gateway/static/root/assets/automation-task-card-DXgBxVE2.js +3 -0
  23. package/dist/gateway/static/root/assets/{automations-page-1NCQMSK1.js → automations-page-D3O7M2FH.js} +1 -1
  24. package/dist/gateway/static/root/assets/automations-workspace-Dk3FVWoX.js +9 -0
  25. package/dist/gateway/static/root/assets/{binary-plugins-_riZg0hb.js → binary-plugins-BrVJXmYf.js} +1 -1
  26. package/dist/gateway/static/root/assets/{block-editor-BpYTVDaG.js → block-editor-Dok4sfT3.js} +2 -2
  27. package/dist/gateway/static/root/assets/{browser-automation-inputs-DLbHyWE5.js → browser-automation-inputs-PJbT3CxW.js} +1 -1
  28. package/dist/gateway/static/root/assets/{browser-automations-page-BfOHr7er.js → browser-automations-page-kkpX1Q7K.js} +1 -1
  29. package/dist/gateway/static/root/assets/{browser-control-api-CqjIQdQ4.js → browser-control-api-Bg4wnkeA.js} +1 -1
  30. package/dist/gateway/static/root/assets/{browser-settings-page-CqjLefvt.js → browser-settings-page-BrgX_Yb2.js} +1 -1
  31. package/dist/gateway/static/root/assets/{capabilities-CTu4Y4Gc.js → capabilities-BMaJizw4.js} +1 -1
  32. package/dist/gateway/static/root/assets/{capabilities-BQ0bsu6d.js → capabilities-Cs6Jt5Gl.js} +1 -1
  33. package/dist/gateway/static/root/assets/capabilities-page-D5hvAG6D.js +2 -0
  34. package/dist/gateway/static/root/assets/{capabilities-settings-panel-Cq28kvMr.js → capabilities-settings-panel-BrEvm4IH.js} +3 -3
  35. package/dist/gateway/static/root/assets/{channels-BPVkbqBI.js → channels-1jQgGVc9.js} +1 -1
  36. package/dist/gateway/static/root/assets/{chat-agents-api-XnegLpGF.js → chat-agents-api-BAOWaUJf.js} +1 -1
  37. package/dist/gateway/static/root/assets/{chat-chart-block-BJFCFZz2.js → chat-chart-block-DeWrb9XR.js} +1 -1
  38. package/dist/gateway/static/root/assets/{chat-page-BpvlJdEr.js → chat-page-CafkCKOj.js} +30 -30
  39. package/dist/gateway/static/root/assets/{chat-terminal-dock-B9KlHa8j.js → chat-terminal-dock-C544n0-R.js} +1 -1
  40. package/dist/gateway/static/root/assets/{command-palette-api-DW7O6fME.js → command-palette-api-D9PXzY8b.js} +1 -1
  41. package/dist/gateway/static/root/assets/{composer-payload-handoff-qheyxoAD.js → composer-payload-handoff-CYXfjpem.js} +1 -1
  42. package/dist/gateway/static/root/assets/{computer-settings-page-KmaJ2UVz.js → computer-settings-page-DJmod8-w.js} +1 -1
  43. package/dist/gateway/static/root/assets/connected-providers-grid-b46VH4uy.js +1 -0
  44. package/dist/gateway/static/root/assets/{connector-service-page-BgexZyHR.js → connector-service-page-BqDbTOTp.js} +1 -1
  45. package/dist/gateway/static/root/assets/{connectors-api-DEYdFCdS.js → connectors-api-CwRuUnH4.js} +1 -1
  46. package/dist/gateway/static/root/assets/connectors-page-Mq9Bvoax.js +1 -0
  47. package/dist/gateway/static/root/assets/{date-picker-CSuiNiPU.js → date-picker-DWaT0IC0.js} +1 -1
  48. package/dist/gateway/static/root/assets/{dependency-picker-DHFVFI74.js → dependency-picker-DV9XAt6F.js} +1 -1
  49. package/dist/gateway/static/root/assets/{desktop-pet-DK3tV5PW.js → desktop-pet-Dffq2NxL.js} +1 -1
  50. package/dist/gateway/static/root/assets/{desktop-pet-settings-BKIcBnfQ.js → desktop-pet-settings-CrB1ICax.js} +1 -1
  51. package/dist/gateway/static/root/assets/{dev-view-store-ZgXvR5Sl.js → dev-view-store-liRgSkcT.js} +1 -1
  52. package/dist/gateway/static/root/assets/{device-pairing-wizard-ZY_cdq5I.js → device-pairing-wizard-1du1hfi5.js} +1 -1
  53. package/dist/gateway/static/root/assets/{directory-picker-path-field-C4N_kXUX.js → directory-picker-path-field-EKqQLQrE.js} +1 -1
  54. package/dist/gateway/static/root/assets/{discussion-annotation-sync-CdbkKHiR.js → discussion-annotation-sync-D-b1X6ro.js} +1 -1
  55. package/dist/gateway/static/root/assets/{extension-debug-page-vdSyb_US.js → extension-debug-page-wD97GeG0.js} +1 -1
  56. package/dist/gateway/static/root/assets/{extension-iframe-host-D4w7-mf1.js → extension-iframe-host-B4Q1CjvW.js} +1 -1
  57. package/dist/gateway/static/root/assets/{extension-marketplace-api-BVMU-5FO.js → extension-marketplace-api-ak1_K3u8.js} +1 -1
  58. package/dist/gateway/static/root/assets/{extension-page-BE7FHMek.js → extension-page-DWFI4iIh.js} +1 -1
  59. package/dist/gateway/static/root/assets/{extension-provider-8RM98QmD.js → extension-provider-BZwcaU5Y.js} +1 -1
  60. package/dist/gateway/static/root/assets/{extension-settings-page--SP1Dy2l.js → extension-settings-page-cn4KS42C.js} +1 -1
  61. package/dist/gateway/static/root/assets/{file-preview-surface-CFFuUQVY.js → file-preview-surface-c3gDD9sM.js} +1 -1
  62. package/dist/gateway/static/root/assets/{gateway-config-swr-i6wzzdws.js → gateway-config-swr-Dmt5JhZU.js} +1 -1
  63. package/dist/gateway/static/root/assets/{gateway-realtime-B1CCUrsG.js → gateway-realtime-CJtDXQCt.js} +1 -1
  64. package/dist/gateway/static/root/assets/gateway-realtime-store-DcsZyYEa.js +1 -0
  65. package/dist/gateway/static/root/assets/{gateway-restart-B3Odfu1z.js → gateway-restart-DInvvT5u.js} +1 -1
  66. package/dist/gateway/static/root/assets/{gateway-settings-QIwB2Ld0.js → gateway-settings-BZXdv2FE.js} +1 -1
  67. package/dist/gateway/static/root/assets/{gateway-startup-retry-DBpCoigO.js → gateway-startup-retry-s2KcWekp.js} +1 -1
  68. package/dist/gateway/static/root/assets/{global-defaults-api-GQG-5G20.js → global-defaults-api-DtnmDd87.js} +1 -1
  69. package/dist/gateway/static/root/assets/{home-page-BsfeSXsZ.js → home-page-CAVjA5rO.js} +2 -2
  70. package/dist/gateway/static/root/assets/{image-generation-api-CaiTrM7V.js → image-generation-api-RQQokgE9.js} +1 -1
  71. package/dist/gateway/static/root/assets/{imports-page-CLkhwelO.js → imports-page-BP_4TubV.js} +1 -1
  72. package/dist/gateway/static/root/assets/index-BS9mjvSL.js +11 -0
  73. package/dist/gateway/static/root/assets/index-pT-m6l6b.css +1 -0
  74. package/dist/gateway/static/root/assets/{install-connector-dialog-B9YBBGhs.js → install-connector-dialog-BNzNuXJ8.js} +1 -1
  75. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DrZQukhN.js → keyboard-shortcuts-settings-DNRQFepg.js} +1 -1
  76. package/dist/gateway/static/root/assets/{local-app-workbench-page-CecbOjks.js → local-app-workbench-page-CvY5XxbX.js} +1 -1
  77. package/dist/gateway/static/root/assets/{local-apps-page-CkVtgVlJ.js → local-apps-page-DfwEvd8G.js} +1 -1
  78. package/dist/gateway/static/root/assets/local-session-drafts-CuDdIyxR.js +4 -0
  79. package/dist/gateway/static/root/assets/{locale-store-_-_QzAV0.js → locale-store-TQcz_Vjt.js} +1 -1
  80. package/dist/gateway/static/root/assets/{logs-page-Dok7TpJ0.js → logs-page-eq49F1Rt.js} +1 -1
  81. package/dist/gateway/static/root/assets/{management-settings-CNbeHUKa.js → management-settings-BaYXDMOJ.js} +1 -1
  82. package/dist/gateway/static/root/assets/{markdown-view-CFWJhIqU.js → markdown-view-D4nII6Zv.js} +1 -1
  83. package/dist/gateway/static/root/assets/{media-plugins-BEcCzwnv.js → media-plugins-MvlAY405.js} +1 -1
  84. package/dist/gateway/static/root/assets/messages-DaLmc4W1.js +3 -0
  85. package/dist/gateway/static/root/assets/model-selector-nsoNHqif.js +1 -0
  86. package/dist/gateway/static/root/assets/{models-hub-cache-B1dBNhhc.js → models-hub-cache-CFIazNIF.js} +1 -1
  87. package/dist/gateway/static/root/assets/note-detail-panel-KPzbHiEW.js +5 -0
  88. package/dist/gateway/static/root/assets/note-image-lightbox-DticJxxh.js +1 -0
  89. package/dist/gateway/static/root/assets/{notes-api-ja_AMIh6.js → notes-api-HVxR5bRD.js} +1 -1
  90. package/dist/gateway/static/root/assets/{notes-page-_IG1mwIH.js → notes-page-yShJeR3i.js} +1 -1
  91. package/dist/gateway/static/root/assets/{oauth-api-C0NG7Hgs.js → oauth-api-CfKjRVnb.js} +1 -1
  92. package/dist/gateway/static/root/assets/{oauth-provider-connect-DLQ6Jhjc.js → oauth-provider-connect-D4uqONWr.js} +1 -1
  93. package/dist/gateway/static/root/assets/{page-context-capture-button-DBlILV5t.js → page-context-capture-button-B98nlKTc.js} +1 -1
  94. package/dist/gateway/static/root/assets/{page-context-draft-CcZSjlMa.js → page-context-draft-HcuK45iu.js} +1 -1
  95. package/dist/gateway/static/root/assets/page-header-store-D6SzJ9Ch.js +1 -0
  96. package/dist/gateway/static/root/assets/{personal-avatar-D3tjI4rK.js → personal-avatar-_d72UP_d.js} +1 -1
  97. package/dist/gateway/static/root/assets/{personal-page-C1gIYjQo.js → personal-page-B19h_3WQ.js} +1 -1
  98. package/dist/gateway/static/root/assets/{personal-settings-panel-Nm03jL4v.js → personal-settings-panel-CfwtGyue.js} +1 -1
  99. package/dist/gateway/static/root/assets/{phone-dependencies-card-72RGs4eb.js → phone-dependencies-card-D8bqsDk_.js} +1 -1
  100. package/dist/gateway/static/root/assets/{phone-model-picker-CNxK_l_B.js → phone-model-picker-CL_Zn6Xd.js} +1 -1
  101. package/dist/gateway/static/root/assets/{phone-settings-page-D5PodpGU.js → phone-settings-page-C5Jia8eQ.js} +1 -1
  102. package/dist/gateway/static/root/assets/{phone-workspace-store-Ci43KRd6.js → phone-workspace-store-FBfrfkYq.js} +1 -1
  103. package/dist/gateway/static/root/assets/plugin-details-dialog-gAq2KPzK.js +1 -0
  104. package/dist/gateway/static/root/assets/{preference-select-fields-CyFvi9Es.js → preference-select-fields-Ck8GAX_y.js} +1 -1
  105. package/dist/gateway/static/root/assets/{product-automation-feedback-BRdOheLC.js → product-automation-feedback-BJ9oTnNs.js} +2 -2
  106. package/dist/gateway/static/root/assets/{product-open-page-CIZj7rh-.js → product-open-page-Dw9hUdxP.js} +1 -1
  107. package/dist/gateway/static/root/assets/{product-preview-content-yK-9po5S.js → product-preview-content-C0iPzmSm.js} +1 -1
  108. package/dist/gateway/static/root/assets/{product-preview-modal-CkdKPk-W.js → product-preview-modal-COFtHoh6.js} +2 -2
  109. package/dist/gateway/static/root/assets/{project-detail-page-D_Kft8au.js → project-detail-page-C5Amjah-.js} +3 -3
  110. package/dist/gateway/static/root/assets/{project-understanding-6raciQr0.js → project-understanding-DpL9ADQU.js} +1 -1
  111. package/dist/gateway/static/root/assets/{projects-page-CNCw6Q5o.js → projects-page-gGg9nM2t.js} +1 -1
  112. package/dist/gateway/static/root/assets/{providers-api-DGeFqpPL.js → providers-api-D6JJRlJb.js} +1 -1
  113. package/dist/gateway/static/root/assets/{recording-upload-rA0Z6W2g.js → recording-upload-DxX1xKyt.js} +1 -1
  114. package/dist/gateway/static/root/assets/{registry-api-5LqCHY-I.js → registry-api-BfXzBR1D.js} +1 -1
  115. package/dist/gateway/static/root/assets/{remote-access-hub-DftT6xNt.js → remote-access-hub-BZA4StwC.js} +1 -1
  116. package/dist/gateway/static/root/assets/{resource-unavailable-CqP8gARc.js → resource-unavailable-X-SIrZYI.js} +1 -1
  117. package/dist/gateway/static/root/assets/route-preload-CWRb0UCt.js +2 -0
  118. package/dist/gateway/static/root/assets/{runtime-tools-api-CUzfEj0z.js → runtime-tools-api-1DjsPyQ5.js} +1 -1
  119. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-BnCtyORj.js +1 -0
  120. package/dist/gateway/static/root/assets/{service-recommendation-list-Bo46zqXR.js → service-recommendation-list-ChSOfHHh.js} +1 -1
  121. package/dist/gateway/static/root/assets/{session-api-CZQ-wpwx.js → session-api-rvY5aWw8.js} +1 -1
  122. package/dist/gateway/static/root/assets/session-manager-D2rbRfX3.js +23 -0
  123. package/dist/gateway/static/root/assets/sessions-page-DAS2IUGT.js +1 -0
  124. package/dist/gateway/static/root/assets/settings-advanced-gate-CYDQybNF.js +1 -0
  125. package/dist/gateway/static/root/assets/{settings-advanced-section-CrqVxpan.js → settings-advanced-section-ZKRIuk7h.js} +1 -1
  126. package/dist/gateway/static/root/assets/{settings-mode-store-D4AZlZDq.js → settings-mode-store-CtJ8pEfm.js} +1 -1
  127. package/dist/gateway/static/root/assets/{settings-page-D-X2rL2k.js → settings-page-B3pUce-_.js} +1 -1
  128. package/dist/gateway/static/root/assets/{settings-page-header-CoPd_JDb.js → settings-page-header-DuNCn8i-.js} +1 -1
  129. package/dist/gateway/static/root/assets/{settings-page-layout-D39EvFvm.js → settings-page-layout-DeNC8YHJ.js} +1 -1
  130. package/dist/gateway/static/root/assets/setup-status-panel-Fc3vuz_h.js +1 -0
  131. package/dist/gateway/static/root/assets/{share-link-dialog-D4oGzmxA.js → share-link-dialog-B3hwjVAx.js} +1 -1
  132. package/dist/gateway/static/root/assets/{share-preview-page-CArPpOZz.js → share-preview-page-D_9oFzGS.js} +1 -1
  133. package/dist/gateway/static/root/assets/{shares-api-DbJOyf2K.js → shares-api-BoUpXmxq.js} +1 -1
  134. package/dist/gateway/static/root/assets/shares-settings-Drfuvepz.js +1 -0
  135. package/dist/gateway/static/root/assets/{skill-api-CQxLO0sy.js → skill-api-By2HhJ9O.js} +1 -1
  136. package/dist/gateway/static/root/assets/{skill-list-api-BkahlC5N.js → skill-list-api-TaUCzS8Y.js} +1 -1
  137. package/dist/gateway/static/root/assets/{skill-reload-api-DZQLAkSr.js → skill-reload-api-CN2fpS1n.js} +1 -1
  138. package/dist/gateway/static/root/assets/{skills-page-BBlJMOZU.js → skills-page-LzGLique.js} +1 -1
  139. package/dist/gateway/static/root/assets/{system-settings-panel-b2h_YWsq.js → system-settings-panel-Cuyg8Ml3.js} +1 -1
  140. package/dist/gateway/static/root/assets/{task-detail-page-BkvjB6fd.js → task-detail-page-6A9337pK.js} +2 -2
  141. package/dist/gateway/static/root/assets/{task-result-evidence-DLnPVj6x.js → task-result-evidence-DDubAU_5.js} +1 -1
  142. package/dist/gateway/static/root/assets/{terminal-panel-store-Xmw-UfZa.js → terminal-panel-store-BNs75Wdr.js} +1 -1
  143. package/dist/gateway/static/root/assets/{theme-store-DU_07f3M.js → theme-store-DB1ZfBUm.js} +1 -1
  144. package/dist/gateway/static/root/assets/tracing-settings-page-TvtX4Goh.js +1 -0
  145. package/dist/gateway/static/root/assets/{tunnel-api-DD2HgB7G.js → tunnel-api-COoVEdV9.js} +1 -1
  146. package/dist/gateway/static/root/assets/{understanding-activity-store-CyQMYQhD.js → understanding-activity-store-Dr_MLgYe.js} +1 -1
  147. package/dist/gateway/static/root/assets/{understanding-refresh-store-CTgQYLOe.js → understanding-refresh-store-DGmLGEqw.js} +1 -1
  148. package/dist/gateway/static/root/assets/{usage-page-BUZLOZLg.js → usage-page-DP6eb6ed.js} +1 -1
  149. package/dist/gateway/static/root/assets/{use-autosave-BqTpwsvF.js → use-autosave-itwjDYUb.js} +1 -1
  150. package/dist/gateway/static/root/assets/{use-composer-attachments-DfP3JrD6.js → use-composer-attachments-hjIGlI_2.js} +1 -1
  151. package/dist/gateway/static/root/assets/{use-file-preview-expanded-D2m6BZLU.js → use-file-preview-expanded-ClLa0g8D.js} +2 -2
  152. package/dist/gateway/static/root/assets/{use-personal-profile-CmLuBSVu.js → use-personal-profile-vhWk6tTU.js} +1 -1
  153. package/dist/gateway/static/root/assets/{use-workspace-tree-DBvuHcas.js → use-workspace-tree-dfXXjA2-.js} +1 -1
  154. package/dist/gateway/static/root/assets/user-model-page-D8dswPWd.js +2 -0
  155. package/dist/gateway/static/root/assets/{voice-api-key-field-DGyL8PYB.js → voice-api-key-field-BIfBySnN.js} +1 -1
  156. package/dist/gateway/static/root/assets/{voice-config-api-CIRG9O8T.js → voice-config-api-J4o59ICE.js} +1 -1
  157. package/dist/gateway/static/root/assets/{voice-input-shortcut-events-DrVMpqDV.js → voice-input-shortcut-events-B1mlpUdC.js} +1 -1
  158. package/dist/gateway/static/root/assets/{voice-transcribe-api-H8o-xLEf.js → voice-transcribe-api-xxaSOOmq.js} +1 -1
  159. package/dist/gateway/static/root/assets/{work-discovery-overlay-CobALTh0.js → work-discovery-overlay-DqwT1E5u.js} +1 -1
  160. package/dist/gateway/static/root/assets/{work-discovery-page-Dxf_Hrwx.js → work-discovery-page-BzYQmPLT.js} +1 -1
  161. package/dist/gateway/static/root/assets/{working-directory-picker-modal-E9f8G3se.js → working-directory-picker-modal-D2Zf3GOG.js} +1 -1
  162. package/dist/gateway/static/root/assets/{workspace-api-N7bfM4a1.js → workspace-api-Bnx3eS2M.js} +2 -2
  163. package/dist/gateway/static/root/assets/workspace-editor-agent-store-COUVwj-p.js +1 -0
  164. package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-BTQfAXNK.js → workspace-file-preview-dialog-D13qHzVr.js} +1 -1
  165. package/dist/gateway/static/root/assets/{workspace-open-location-menu-BOGOi-Ck.js → workspace-open-location-menu-Cou-ig1H.js} +1 -1
  166. package/dist/gateway/static/root/assets/{xopc-cloud-account-card-Dqfy4Lwy.js → xopc-cloud-account-card-DQGPKxHA.js} +1 -1
  167. package/dist/gateway/static/root/index.html +80 -80
  168. package/dist/package.js +1 -1
  169. package/dist/packages/gateway-contract/src/clarification-questions.js +86 -0
  170. package/dist/packages/gateway-contract/src/clarifications.js +19 -0
  171. package/dist/packages/gateway-contract/src/index.js +1 -0
  172. package/dist/packages/gateway-contract/src/session-input-command.js +3 -0
  173. package/dist/src/agent/agent-manager.js +2 -2
  174. package/dist/src/agent/background-review/run-background-review.js +2 -2
  175. package/dist/src/agent/coding/repository-instructions.js +1 -1
  176. package/dist/src/agent/embedded/index.js +1 -1
  177. package/dist/src/agent/embedded/run-for-session.js +1 -1
  178. package/dist/src/agent/embedded/run-turn.js +3 -3
  179. package/dist/src/agent/embedded/session-tool-result-guard.js +2 -2
  180. package/dist/src/agent/embedded/tool-result-truncation.js +1 -1
  181. package/dist/src/agent/external-tools/cliProvider.js +2 -2
  182. package/dist/src/agent/external-tools/composio-provider.js +2 -2
  183. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  184. package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
  185. package/dist/src/agent/memory/compaction.js +1 -1
  186. package/dist/src/agent/memory/context-budget.js +1 -1
  187. package/dist/src/agent/memory/context-recovery.js +1 -1
  188. package/dist/src/agent/memory/user-message-text.js +1 -1
  189. package/dist/src/agent/service/btw-query.js +1 -1
  190. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  191. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  192. package/dist/src/agent/service.js +1 -1
  193. package/dist/src/agent/skills/index.js +1 -1
  194. package/dist/src/agent/skills/managed-store.js +1 -1
  195. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  196. package/dist/src/agent/source-context/types.d.ts +1 -0
  197. package/dist/src/agent/tools/clarify-tool.js +43 -5
  198. package/dist/src/agent/tools/cli-clarify.js +1 -0
  199. package/dist/src/agent/tools/dataBatch.js +1 -1
  200. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  201. package/dist/src/agent/tools/personal-task-tool.d.ts +1 -1
  202. package/dist/src/agent/tools/phone-use-tool.js +2 -2
  203. package/dist/src/agent/tools/session-search-tool.js +1 -1
  204. package/dist/src/agent/tools/xopc-use-tool.js +2 -2
  205. package/dist/src/agent-catalog/capabilities.js +2 -2
  206. package/dist/src/agent-catalog/repository.js +1 -1
  207. package/dist/src/automations/api/routes.js +2 -2
  208. package/dist/src/automations/capabilities/drafts.js +1 -1
  209. package/dist/src/automations/capabilities/write.js +1 -1
  210. package/dist/src/automations/configuration-conversation.js +1 -1
  211. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  212. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  213. package/dist/src/capabilities/runtime/product.js +1 -1
  214. package/dist/src/cli/commands/agent.js +1 -1
  215. package/dist/src/cli/commands/agents.js +1 -1
  216. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  217. package/dist/src/cli/commands/models.js +2 -2
  218. package/dist/src/cli/commands/onboard/model.js +1 -1
  219. package/dist/src/cli/commands/onboard.js +1 -1
  220. package/dist/src/cli/commands/platform.js +1 -1
  221. package/dist/src/cli/commands/profile.js +1 -1
  222. package/dist/src/cli/commands/tunnel.js +1 -1
  223. package/dist/src/cli/commands/update.js +1 -1
  224. package/dist/src/cli/extension-cli-register.js +1 -1
  225. package/dist/src/cli/utils/init-workspace-core.js +1 -1
  226. package/dist/src/computer/diagnostics.d.ts +3 -3
  227. package/dist/src/computer/evaluation.d.ts +2 -2
  228. package/dist/src/config/agent-profile.js +1 -1
  229. package/dist/src/config/index.js +1 -1
  230. package/dist/src/connectors/learning-coordinator.js +1 -1
  231. package/dist/src/execution-environments/local-worktree-manager.js +1 -1
  232. package/dist/src/extensions/agent-plugins/skill-catalog.js +1 -1
  233. package/dist/src/extensions/agent-plugins/validation.js +1 -1
  234. package/dist/src/gateway/agents-admin.js +2 -2
  235. package/dist/src/gateway/ephemeral-clarification-waiter.js +1 -0
  236. package/dist/src/gateway/global-defaults-admin.js +1 -1
  237. package/dist/src/gateway/hono/routes/agents.js +1 -1
  238. package/dist/src/gateway/hono/routes/composer-history.js +1 -1
  239. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  240. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  241. package/dist/src/gateway/hono/routes/home.js +1 -1
  242. package/dist/src/gateway/hono/routes/notes.js +2 -2
  243. package/dist/src/gateway/hono/routes/phone-setup.js +1 -1
  244. package/dist/src/gateway/hono/routes/phone.js +31 -6
  245. package/dist/src/gateway/hono/routes/projects.js +2 -2
  246. package/dist/src/gateway/hono/routes/public-gateway.js +2 -1
  247. package/dist/src/gateway/hono/routes/session-command-handler.js +1 -0
  248. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +6 -0
  249. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  250. package/dist/src/gateway/hono/routes/tasks.js +1 -1
  251. package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
  252. package/dist/src/gateway/image-generation-setup.js +1 -1
  253. package/dist/src/gateway/next-turn-suggestions/snapshot.js +1 -1
  254. package/dist/src/gateway/service/agent-runner.js +8 -3
  255. package/dist/src/gateway/service/run-gateway-agent.js +1 -1
  256. package/dist/src/gateway/service/session-input-coordinator.js +5 -4
  257. package/dist/src/gateway/service.js +7 -7
  258. package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
  259. package/dist/src/home-intelligence/host.js +2 -2
  260. package/dist/src/imports/importService.js +1 -1
  261. package/dist/src/local-apps/service.js +1 -1
  262. package/dist/src/personal-agent/service.js +1 -1
  263. package/dist/src/phone/assistance.js +3 -0
  264. package/dist/src/phone/contracts.d.ts +4 -0
  265. package/dist/src/phone/runtime.d.ts +7 -1
  266. package/dist/src/phone/runtime.js +31 -24
  267. package/dist/src/routing/agent-session-key.js +1 -1
  268. package/dist/src/runtime-tools/archive.js +1 -1
  269. package/dist/src/session/session-context-for-llm.js +1 -0
  270. package/dist/src/session/session-title.js +1 -1
  271. package/dist/src/storage/sqlite/clarification-wait-repository.js +45 -4
  272. package/dist/src/storage/sqlite/index.js +6 -6
  273. package/dist/src/storage/sqlite/session-creation-repository.js +1 -1
  274. package/dist/src/storage/sqlite/session-repository.js +1 -1
  275. package/dist/src/tasks/capabilities/read.js +2 -2
  276. package/dist/src/tasks/capabilities/write.js +1 -1
  277. package/dist/src/tasks/home-query-service.js +1 -1
  278. package/dist/src/tasks/task-allocation-repository.js +1 -1
  279. package/dist/src/tui/backends/embedded-backend.js +2 -2
  280. package/dist/src/voice/realtime/persona-context.js +1 -1
  281. package/package.json +2 -1
  282. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-L6J-FYQS.js +0 -1
  283. package/dist/gateway/static/root/assets/automation-task-card-BV7hPwN1.js +0 -3
  284. package/dist/gateway/static/root/assets/automations-workspace-CPFYdI8m.js +0 -9
  285. package/dist/gateway/static/root/assets/capabilities-page-ljQTg4T5.js +0 -2
  286. package/dist/gateway/static/root/assets/connected-providers-grid-BIX82L4N.js +0 -1
  287. package/dist/gateway/static/root/assets/connectors-page-BawS0DUd.js +0 -1
  288. package/dist/gateway/static/root/assets/gateway-realtime-store-BFCA_TAU.js +0 -1
  289. package/dist/gateway/static/root/assets/index-Dv8mUlNN.css +0 -1
  290. package/dist/gateway/static/root/assets/index-GX_PTIj6.js +0 -11
  291. package/dist/gateway/static/root/assets/local-session-drafts-DVSVgTCK.js +0 -1
  292. package/dist/gateway/static/root/assets/messages-D1u8VsPq.js +0 -3
  293. package/dist/gateway/static/root/assets/model-selector-DKB20MJY.js +0 -1
  294. package/dist/gateway/static/root/assets/note-detail-panel-COp5zpe4.js +0 -5
  295. package/dist/gateway/static/root/assets/note-image-lightbox-DvtEn8dg.js +0 -1
  296. package/dist/gateway/static/root/assets/page-header-store-RgQRaRbH.js +0 -1
  297. package/dist/gateway/static/root/assets/plugin-details-dialog-D_Lkepqt.js +0 -1
  298. package/dist/gateway/static/root/assets/route-preload-Hr12PIMD.js +0 -2
  299. package/dist/gateway/static/root/assets/runtime-impact-DbySfhdp.js +0 -1
  300. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-VIFAEKJi.js +0 -1
  301. package/dist/gateway/static/root/assets/session-manager-DhoRfUGE.js +0 -23
  302. package/dist/gateway/static/root/assets/sessions-page-BISYL6iE.js +0 -1
  303. package/dist/gateway/static/root/assets/settings-advanced-gate-BLnNiubD.js +0 -1
  304. package/dist/gateway/static/root/assets/setup-status-panel-DyzdCgrb.js +0 -1
  305. package/dist/gateway/static/root/assets/shares-settings-BFLomErf.js +0 -1
  306. package/dist/gateway/static/root/assets/tracing-settings-page-CemIMuec.js +0 -1
  307. package/dist/gateway/static/root/assets/user-model-page-BhX_Ahlu.js +0 -2
  308. package/dist/gateway/static/root/assets/workspace-editor-agent-store-Cb4TlnKX.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from "../../utils/logger/index.js";
2
2
  import { init_logger } from "../../utils/logger.js";
3
- import { createProfile, deleteProfile, getCurrentProfile, getSwitchCommand, listProfiles, resolveProfileStateDir } from "../../config/profile.js";
4
3
  import { formatExamples, register } from "../registry.js";
4
+ import { createProfile, deleteProfile, getCurrentProfile, getSwitchCommand, listProfiles, resolveProfileStateDir } from "../../config/profile.js";
5
5
  import { colors } from "../utils/colors.js";
6
6
  import { Command } from "commander";
7
7
  import Table from "cli-table3";
@@ -7,8 +7,8 @@ import { resolveTunnelBrokerUrl, resolveTunnelRegistrationSecret } from "../../t
7
7
  import { loadTunnelState } from "../../tunnel/tunnel-state.js";
8
8
  import { getTunnelService } from "../../tunnel/tunnel-service.js";
9
9
  import { loadConfig, saveConfig } from "../../config/loader.js";
10
- import "../../config/index.js";
11
10
  import { formatExamples, register } from "../registry.js";
11
+ import "../../config/index.js";
12
12
  import { resolveGatewayAuth } from "../../gateway/auth.js";
13
13
  import { requireTunnelGatewayToken } from "../../tunnel/auth-policy.js";
14
14
  import { TUNNEL_RISK_SUMMARY_LINES, TunnelConsentError, assertTunnelMayStart, hasValidTunnelConsent } from "../../tunnel/consent.js";
@@ -1,7 +1,7 @@
1
1
  import { PACKAGE_VERSION, init_package_version } from "../../package-version.js";
2
2
  import { loadConfig } from "../../config/loader.js";
3
- import "../../config/index.js";
4
3
  import { formatExamples, register } from "../registry.js";
4
+ import "../../config/index.js";
5
5
  import { acquireUpdateLock } from "../../infra/update-lock.js";
6
6
  import { normalizeUpdateChannel } from "../../infra/update-channels.js";
7
7
  import { compareSemver, resolveNpmChannelTag } from "../../infra/update-check.js";
@@ -6,8 +6,8 @@ import { loadConfig } from "../config/loader.js";
6
6
  import { MessageBus } from "../infra/bus/queue.js";
7
7
  import "../infra/bus/index.js";
8
8
  import { bootstrapApplicationStateSync } from "../bootstrap/application-state.js";
9
- import "../config/index.js";
10
9
  import { createDefaultContext } from "./registry.js";
10
+ import "../config/index.js";
11
11
  import { registerExtensionCliProgram } from "../extensions/sdk/channel-helpers.js";
12
12
  import { join } from "path";
13
13
  //#region src/cli/extension-cli-register.ts
@@ -1,6 +1,6 @@
1
1
  import { AgentCatalogRepository, init_repository } from "../../agent-catalog/repository.js";
2
- import { AgentCatalogService } from "../../agent-catalog/service.js";
3
2
  import { ConfigSchema, init_schema } from "../../config/schema.js";
3
+ import { AgentCatalogService } from "../../agent-catalog/service.js";
4
4
  import { readConfigFileSnapshot } from "../../config/config-file.js";
5
5
  import { saveConfig } from "../../config/loader.js";
6
6
  import { ensureStarterAgentsInitialized } from "../../agent/starter-agents.js";
@@ -15,8 +15,8 @@ export type ComputerFailurePhase = z.infer<typeof ComputerFailurePhaseSchema>;
15
15
  export declare const ComputerFailureCategorySchema: z.ZodEnum<{
16
16
  permission: "permission";
17
17
  target: "target";
18
- cancelled: "cancelled";
19
18
  unknown: "unknown";
19
+ cancelled: "cancelled";
20
20
  model: "model";
21
21
  observation: "observation";
22
22
  budget: "budget";
@@ -29,8 +29,8 @@ export declare const ComputerFailureSchema: z.ZodObject<{
29
29
  category: z.ZodEnum<{
30
30
  permission: "permission";
31
31
  target: "target";
32
- cancelled: "cancelled";
33
32
  unknown: "unknown";
33
+ cancelled: "cancelled";
34
34
  model: "model";
35
35
  observation: "observation";
36
36
  budget: "budget";
@@ -125,8 +125,8 @@ export declare const ComputerSessionReportSchema: z.ZodObject<{
125
125
  category: z.ZodEnum<{
126
126
  permission: "permission";
127
127
  target: "target";
128
- cancelled: "cancelled";
129
128
  unknown: "unknown";
129
+ cancelled: "cancelled";
130
130
  model: "model";
131
131
  observation: "observation";
132
132
  budget: "budget";
@@ -50,8 +50,8 @@ export declare const ComputerEvaluationRunSchema: z.ZodObject<{
50
50
  category: z.ZodEnum<{
51
51
  permission: "permission";
52
52
  target: "target";
53
- cancelled: "cancelled";
54
53
  unknown: "unknown";
54
+ cancelled: "cancelled";
55
55
  model: "model";
56
56
  observation: "observation";
57
57
  budget: "budget";
@@ -106,7 +106,7 @@ export declare function isAutonomousComputerSuccess(run: ComputerEvaluationRun):
106
106
  /** Export measured runtime values only; an executor must supply independent safety and oracle evidence. */
107
107
  export declare function computerReportMeasurements(report: ComputerSessionReport): {
108
108
  failure?: {
109
- category: "permission" | "target" | "cancelled" | "unknown" | "model" | "observation" | "budget" | "transport" | "native" | "no_progress" | "harness";
109
+ category: "permission" | "target" | "unknown" | "cancelled" | "model" | "observation" | "budget" | "transport" | "native" | "no_progress" | "harness";
110
110
  phase: "open" | "executor" | "model" | "observe" | "dispatch" | "release" | "frame_upload" | "oracle";
111
111
  errorCode: string;
112
112
  dispatch: "unknown" | "completed" | "started" | "notStarted";
@@ -1,6 +1,6 @@
1
+ import { normalizeAgentId } from "../agent-catalog/id.js";
1
2
  import { resolveEffectiveAgentConfig } from "../agent-config/resolver.js";
2
3
  import { init_agent_config } from "../agent-config/index.js";
3
- import { normalizeAgentId } from "../agent-catalog/id.js";
4
4
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
5
5
  import { init_agent_scope, resolveAgentWorkspaceDir } from "../agent/agent-scope.js";
6
6
  import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
@@ -14,9 +14,9 @@ import { applyConfigOverrides, getConfigOverrides, resetConfigOverrides, setConf
14
14
  import { canonicalizeConfiguredMcpServer, normalizeConfiguredMcpServers } from "./mcp-config-normalize.js";
15
15
  import { formatThinkingLevels, listThinkingLevels, normalizeElevatedMode, normalizeReasoningLevel, normalizeThinkLevel, normalizeVerboseLevel, thinkLevelToNumber } from "../agent/transcript/thinking-types.js";
16
16
  import { loadConfig, saveConfig } from "./loader.js";
17
- import { diffConfigPaths } from "./diff.js";
18
17
  import { listAgentProfileMarkdownDirs, listAgentWorkspaceDirs } from "./workspace-dirs.js";
19
18
  import { ProfileManager, createProfile, deleteProfile, getCurrentProfile, getProfileManager, getProfileNameFromDir, getSwitchCommand, listProfiles, resolveProfileStateDir } from "./profile.js";
19
+ import { diffConfigPaths } from "./diff.js";
20
20
  import { BASE_RELOAD_RULES, buildReloadPlan, matchReloadRule } from "./rules.js";
21
21
  import { ConfigHotReloader } from "./reload.js";
22
22
  //#region src/config/index.ts
@@ -1,8 +1,8 @@
1
1
  import { createLogger } from "../utils/logger/index.js";
2
2
  import { init_logger } from "../utils/logger.js";
3
- import { claimNextConnectorLearningJob, enqueueConnectorLearningJob, listConnectorLearningJobs, recoverStaleConnectorLearningJobs, setConnectorLearningPaused, updateConnectorLearningJob } from "../storage/sqlite/connector-learning-repository.js";
4
3
  import { getConnectorAccount, reconcileConnectorAccount } from "../storage/sqlite/connector-account-repository.js";
5
4
  import { getConnectorInstallation, listConnectorConnections, upsertConnectorConnection } from "../storage/sqlite/connector-repository.js";
5
+ import { claimNextConnectorLearningJob, enqueueConnectorLearningJob, listConnectorLearningJobs, recoverStaleConnectorLearningJobs, setConnectorLearningPaused, updateConnectorLearningJob } from "../storage/sqlite/connector-learning-repository.js";
6
6
  import { pruneBoundedKnowledgeSourceItems } from "../storage/sqlite/knowledge-repository.js";
7
7
  import { getConnectorSyncPolicyForConnection } from "../storage/sqlite/connector-sync-policy-repository.js";
8
8
  import "../storage/sqlite/index.js";
@@ -8,8 +8,8 @@ import { assertManagedWorktreePath, assertNoNestedRegisteredWorktrees, readDirec
8
8
  import { dirname, resolve } from "node:path";
9
9
  import { existsSync } from "node:fs";
10
10
  import { randomUUID } from "node:crypto";
11
- import { mkdir, rm, stat } from "node:fs/promises";
12
11
  import lockfile from "proper-lockfile";
12
+ import { mkdir, rm, stat } from "node:fs/promises";
13
13
  //#region src/execution-environments/local-worktree-manager.ts
14
14
  init_logger();
15
15
  const log = createLogger("ExecutionEnvironment:LocalWorktree");
@@ -1,7 +1,7 @@
1
- import { parseFrontmatter } from "../../markdown/frontmatter.js";
2
1
  import { containedPath } from "./contained-path.js";
3
2
  import "./validation.js";
4
3
  import { AgentPluginStore } from "./store.js";
4
+ import { parseFrontmatter } from "../../markdown/frontmatter.js";
5
5
  import { createSkillConfigManager } from "../../agent/skills/config.js";
6
6
  import { parseSkillLocalizations } from "../../agent/skills/parse-skill-metadata.js";
7
7
  import { buildSkillMarkdownPreviewFromRaw } from "../../agent/skills/skill-markdown-preview-from-raw.js";
@@ -9,8 +9,8 @@ import { dirname, join, resolve } from "node:path";
9
9
  import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
10
10
  import { createHash } from "node:crypto";
11
11
  import { z } from "zod";
12
- import yaml from "js-yaml";
13
12
  import { validateHeaderName, validateHeaderValue } from "node:http";
13
+ import yaml from "js-yaml";
14
14
  //#region src/extensions/agent-plugins/validation.ts
15
15
  init_schema();
16
16
  const PLUGIN_SCHEMA = "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json";
@@ -1,10 +1,10 @@
1
1
  import { normalizeAgentId, validateAgentIdForNewAgent } from "../agent-catalog/id.js";
2
2
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
3
3
  import { init_agent_scope, listAgentEntries, resolveAgentProfileDir, resolveAgentWorkspaceDir, resolveDefaultAgentId, resolveUserPath } from "../agent/agent-scope.js";
4
- import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES, REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET } from "../agent/context/workspace.js";
5
- import { AgentCatalogService } from "../agent-catalog/service.js";
6
4
  import { resolveEffectiveAgentProfile } from "../config/agent-profile.js";
5
+ import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES, REQUIRED_AGENT_PROFILE_MARKDOWN_FILE_SET } from "../agent/context/workspace.js";
7
6
  import { isPathUnderWorkspace, resolveWorkspaceSafePath } from "./workspace-editor-path.js";
7
+ import { AgentCatalogService } from "../agent-catalog/service.js";
8
8
  import { GATEWAY_BUILTIN_TOOL_IDS } from "./agent-builtin-tools.js";
9
9
  import { resolve } from "node:path";
10
10
  import { mkdir, readFile, realpath, stat, unlink, writeFile } from "node:fs/promises";
@@ -6,6 +6,7 @@ init_src();
6
6
  var EphemeralClarificationWaiter = class {
7
7
  pending = /* @__PURE__ */ new Map();
8
8
  start(input) {
9
+ if (input.request.schemaVersion === 2) return Promise.reject(/* @__PURE__ */ new Error("CLARIFICATION_VERSION_UNSUPPORTED: ephemeral runs support single questions"));
9
10
  const request = normalizeClarificationQuestion(input.request);
10
11
  const requestId = crypto.randomUUID();
11
12
  const expiresAt = request.kind === "approval" ? Date.now() + 10 * 6e4 : void 0;
@@ -1,8 +1,8 @@
1
1
  import { AgentDefaultsSchema } from "../agent-config/schema.js";
2
2
  import { init_agent_config } from "../agent-config/index.js";
3
3
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
4
- import { AgentCatalogService } from "../agent-catalog/service.js";
5
4
  import { validatePhoneModelChange } from "../phone/model-adapter.js";
5
+ import { AgentCatalogService } from "../agent-catalog/service.js";
6
6
  import { validateComputerModelChange } from "../computer/model-config.js";
7
7
  import { GATEWAY_BUILTIN_TOOLS } from "./agent-builtin-tools.js";
8
8
  import { isDeepStrictEqual } from "node:util";
@@ -1,6 +1,6 @@
1
+ import { normalizeAgentId } from "../../../agent-catalog/id.js";
1
2
  import { AgentEntrySchema, AgentModelsOverrideSchema, AgentProfileSchema, RuntimePolicySchema, SkillOverrideSchema, ToolPoliciesSchema } from "../../../agent-config/schema.js";
2
3
  import { init_agent_config } from "../../../agent-config/index.js";
3
- import { normalizeAgentId } from "../../../agent-catalog/id.js";
4
4
  import { init_agent_scope } from "../../../agent/agent-scope.js";
5
5
  import { getVoiceModelsConfig } from "../../../config/voice.js";
6
6
  import { createGatewayAgent, deleteAgentAvatarFile, deleteGatewayAgent, getGatewayAgentEffectiveConfig, listAgentProfileFiles, listGatewayAgents, readAgentAvatarFile, readAgentProfileFile, resolveAgentAvatarImage, updateGatewayAgent, writeAgentAvatarFromBase64, writeAgentProfileFile } from "../../agents-admin.js";
@@ -1,8 +1,8 @@
1
1
  import { conversationIdSchema } from "../../../../packages/gateway-contract/src/conversation-identity.js";
2
2
  import { init_src } from "../../../../packages/gateway-contract/src/index.js";
3
- import { appendComposerInputHistory, clearComposerInputHistory, listComposerInputHistory } from "../../../storage/sqlite/composer-input-history-repository.js";
4
3
  import { getSessionMetadata } from "../../../storage/sqlite/session-read-repository.js";
5
4
  import { init_session_repository } from "../../../storage/sqlite/session-repository.js";
5
+ import { appendComposerInputHistory, clearComposerInputHistory, listComposerInputHistory } from "../../../storage/sqlite/composer-input-history-repository.js";
6
6
  import "../../../storage/sqlite/index.js";
7
7
  //#region src/gateway/hono/routes/composer-history.ts
8
8
  init_src();
@@ -1,10 +1,10 @@
1
1
  import { BindingsSchema, init_binding_schema } from "../../../../routing/binding-schema.js";
2
- import { AgentCatalogService } from "../../../../agent-catalog/service.js";
3
2
  import { ComputerConfigSchema, init_config } from "../../../../computer/config.js";
4
3
  import { ContextPlanningConfigSchema, HomeIntelligenceConfigSchema, KnowledgeMemoryConfigSchema, UserContextConfigSchema, UserModelConfigSchema, init_config as init_config$1 } from "../../../../user-context/config.js";
5
4
  import { BrowserConfigSchema, McpConfigSchema, VoiceConfigSchema, init_schema } from "../../../../config/schema.js";
6
5
  import { CredentialResolver, init_credentials } from "../../../../auth/credentials.js";
7
6
  import { canonicalizeConfiguredMcpServer } from "../../../../config/mcp-config-normalize.js";
7
+ import { AgentCatalogService } from "../../../../agent-catalog/service.js";
8
8
  import { mergeGatewaySkillsMarketplacePatch, mergeSessionConfigPatch, mergeUpdateConfigPatch } from "../../../../config/web-patch.js";
9
9
  import { assertGatewayAuthConfigured, resolveGatewayAuth } from "../../../auth.js";
10
10
  import { isMaskedSecretPatchValue } from "../../lib/mask-secret-length.js";
@@ -1,9 +1,9 @@
1
1
  import { createLogger } from "../../../utils/logger/index.js";
2
2
  import { init_logger } from "../../../utils/logger.js";
3
3
  import { hasGatewayScope } from "../../security/gateway-scopes.js";
4
- import { listConnectorLearningJobs } from "../../../storage/sqlite/connector-learning-repository.js";
5
4
  import { getConnectorAccount, init_connector_account_repository, listConnectorAccounts, updateConnectorAccount } from "../../../storage/sqlite/connector-account-repository.js";
6
5
  import { decideConnectorApproval, getConnectorApproval, listConnectorApprovals, listConnectorConnections } from "../../../storage/sqlite/connector-repository.js";
6
+ import { listConnectorLearningJobs } from "../../../storage/sqlite/connector-learning-repository.js";
7
7
  import { getConnectorSyncPolicy, upsertConnectorSyncPolicy } from "../../../storage/sqlite/connector-sync-policy-repository.js";
8
8
  import "../../../storage/sqlite/index.js";
9
9
  import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
@@ -1,7 +1,7 @@
1
1
  import { HomeAdviceMetricsSchema, HomeAdvisorRefreshRequestSchema, HomeOpportunityActionRequestSchema, HomeOpportunityFeedbackRequestSchema, HomeOpportunityFeedbackUndoRequestSchema, HomeOpportunityHistoryResponseSchema } from "../../../../packages/gateway-contract/src/home.js";
2
2
  import { init_src } from "../../../../packages/gateway-contract/src/index.js";
3
- import { acknowledgeHomeAttention } from "../../../storage/sqlite/home-attention-repository.js";
4
3
  import { decideConnectorApproval } from "../../../storage/sqlite/connector-repository.js";
4
+ import { acknowledgeHomeAttention } from "../../../storage/sqlite/home-attention-repository.js";
5
5
  import "../../../storage/sqlite/index.js";
6
6
  import { HomeQueryService, buildHomeWorkbench, decisionFromTask } from "../../../tasks/home-query-service.js";
7
7
  import { resumeApprovedConnectorAction } from "../../../connectors/approval-resume.js";
@@ -1,9 +1,9 @@
1
1
  import { NoteDeleteOutputSchema, NoteGetOutputSchema, ProductReadContracts } from "../../../../packages/gateway-contract/src/capabilities.js";
2
2
  import { init_src } from "../../../../packages/gateway-contract/src/index.js";
3
- import { CapabilityError } from "../../../capabilities/runtime/errors.js";
4
- import "../../../capabilities/runtime/dispatcher.js";
5
3
  import { init_session_key, resolveConversationId } from "../../../routing/session-key.js";
6
4
  import { agentExists, getDefaultAgentId, init_resolve_route } from "../../../routing/resolve-route.js";
5
+ import { CapabilityError } from "../../../capabilities/runtime/errors.js";
6
+ import "../../../capabilities/runtime/dispatcher.js";
7
7
  import { resolveGatewayEffectiveHost } from "../../../config/gateway-bind.js";
8
8
  import { getShareStore } from "../../../share/share-store.js";
9
9
  import { resolveShareUrl } from "../../../share/share-url.js";
@@ -1,7 +1,6 @@
1
1
  import { resolveStateDir } from "../../../config/paths-state.js";
2
2
  import { getSessionMetadata, init_session_read_repository } from "../../../storage/sqlite/session-read-repository.js";
3
3
  import { AgentCatalogRepository, init_repository } from "../../../agent-catalog/repository.js";
4
- import { AgentCatalogService } from "../../../agent-catalog/service.js";
5
4
  import { init_paths } from "../../../config/paths.js";
6
5
  import { resolveEffectiveAgentConfigForAgent } from "../../../config/agent-profile.js";
7
6
  import { getModelRegistry, init_model_registry } from "../../../providers/model-registry.js";
@@ -10,6 +9,7 @@ import { phoneAllowsApp } from "../../../phone/app-access.js";
10
9
  import { managedPhoneAdbPath } from "../../../runtime-tools/phone-dependency-catalog.js";
11
10
  import { phoneModelProfile } from "../../../phone/model-adapter.js";
12
11
  import { getPhoneRuntime } from "../../../phone/runtime.js";
12
+ import { AgentCatalogService } from "../../../agent-catalog/service.js";
13
13
  import { PhoneSetupService } from "../../../phone/setup/service.js";
14
14
  import { PhoneDependencyManager, probePhoneAdb } from "../../../runtime-tools/phone-dependencies.js";
15
15
  import { createHash } from "node:crypto";
@@ -1,6 +1,8 @@
1
1
  import { createLogger } from "../../../utils/logger/index.js";
2
2
  import { init_logger } from "../../../utils/logger.js";
3
3
  import { setDevicePhoneAccess } from "../../../storage/sqlite/device-access-repository.js";
4
+ import { getSessionMetadata } from "../../../storage/sqlite/session-read-repository.js";
5
+ import { init_session_repository } from "../../../storage/sqlite/session-repository.js";
4
6
  import { MOCK_PHONE_MODEL, PhoneActionSchema, PhoneConfigSchema, PhoneDeviceSchema, PhoneError, PhoneExecutionModeSchema, PhoneInputSchema, init_contracts } from "../../../phone/contracts.js";
5
7
  import { createConversation, init_conversation_repository } from "../../../storage/sqlite/conversation-repository.js";
6
8
  import { getDefaultAgentId, init_resolve_route } from "../../../routing/resolve-route.js";
@@ -20,6 +22,7 @@ import { z } from "zod";
20
22
  import { Hono } from "hono";
21
23
  import { bodyLimit } from "hono/body-limit";
22
24
  //#region src/gateway/hono/routes/phone.ts
25
+ init_session_repository();
23
26
  init_resolve_route();
24
27
  init_model_registry();
25
28
  init_providers();
@@ -66,7 +69,7 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
66
69
  const body = await c.res.clone().json();
67
70
  const report = body.payload?.report;
68
71
  if (report && body.payload) {
69
- const { sessionId, deviceId, deviceName, status, mode, controlOwner, controlEpoch, handoff, assistanceId, reconnectRequired, stopReason, currentAction, updatedAt } = report;
72
+ const { sessionId, deviceId, deviceName, status, mode, controlOwner, controlEpoch, handoff, assistanceId, reconnectRequired, stopReason, currentAction, updatedAt, revision, hasPendingTask, assistanceVersion, transcriptId } = report;
70
73
  body.payload = {
71
74
  ownControl: body.payload.ownControl,
72
75
  textInput: body.payload.textInput,
@@ -83,7 +86,11 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
83
86
  reconnectRequired,
84
87
  stopReason,
85
88
  currentAction,
86
- updatedAt
89
+ updatedAt,
90
+ revision,
91
+ hasPendingTask,
92
+ assistanceVersion,
93
+ transcriptId
87
94
  }
88
95
  };
89
96
  c.res = c.json(body);
@@ -147,18 +154,29 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
147
154
  return wait && ["open", "queued"].includes(wait.status) ? {
148
155
  ...report,
149
156
  assistanceId: wait.id,
157
+ assistanceVersion: wait.version,
158
+ transcriptId: wait.transcriptId,
159
+ hasPendingTask: true,
150
160
  ...wait.status === "open" && report.controlOwner !== "human" ? { status: "needs_user" } : {}
151
161
  } : report;
152
162
  });
153
163
  };
154
164
  const liveStatus = (owner, id, context, client) => {
155
165
  const state = runtime.liveStatus(owner, id, context, client);
166
+ state.report.transcriptId = getSessionMetadata(owner)?.transcriptId;
156
167
  const wait = phoneAssistance(owner);
168
+ if (!wait || !["open", "queued"].includes(wait.status)) {
169
+ state.report.assistanceId = void 0;
170
+ state.report.assistanceVersion = void 0;
171
+ }
157
172
  return wait && ["open", "queued"].includes(wait.status) ? {
158
173
  ...state,
159
174
  report: {
160
175
  ...state.report,
161
176
  assistanceId: wait.id,
177
+ assistanceVersion: wait.version,
178
+ transcriptId: wait.transcriptId,
179
+ hasPendingTask: true,
162
180
  ...wait.status === "open" && state.report.controlOwner !== "human" ? { status: "needs_user" } : {}
163
181
  }
164
182
  } : state;
@@ -436,6 +454,7 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
436
454
  operationId: z.string().uuid(),
437
455
  epoch: z.number().int().positive(),
438
456
  assistanceId: z.string().uuid().optional(),
457
+ assistanceVersion: z.number().int().positive().optional(),
439
458
  op: z.enum([
440
459
  "takeover",
441
460
  "release",
@@ -492,12 +511,17 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
492
511
  authorizePhoneAccess(principal, true);
493
512
  access = "control";
494
513
  } catch {}
514
+ const assistance = phoneAssistance(id);
495
515
  const payload = {
496
516
  available: Boolean(report),
497
517
  access,
498
- needsUser: Boolean(report && access !== "none" && report.status === "needs_user")
518
+ needsUser: Boolean(report && access !== "none" && (assistance?.status === "open" || report.status === "needs_user"))
499
519
  };
500
520
  if (report && access !== "none") {
521
+ if (assistance?.status === "open") payload.assistance = {
522
+ id: assistance.id,
523
+ version: assistance.version
524
+ };
501
525
  payload.deviceName = report.deviceName;
502
526
  payload.taskState = report.status;
503
527
  payload.updatedAt = report.updatedAt;
@@ -583,7 +607,7 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
583
607
  }).strict().parse(await c.req.json());
584
608
  const initial = await conversationPhone(address, id);
585
609
  const principal = getGatewayPrincipal(c);
586
- const client = `${principal.principalId}:${clientId}${address.startsWith("device:") || principal.kind === "device" && purpose !== "control" ? ":viewer" : ""}`;
610
+ const client = `${principal.principalId}:${clientId}${address.startsWith("device:") || purpose === "view" || principal.kind === "device" && purpose !== "control" ? ":viewer" : ""}`;
587
611
  const native = principal.kind === "device";
588
612
  const interactive = native ? purpose === "control" : purpose !== "view" && !address.startsWith("device:");
589
613
  if (native && (!expectedTranscriptId || expectedTranscriptId !== initial.transcriptId)) throw new PhoneError("PHONE_BINDING_CHANGED", "Conversation changed; refresh the phone", 409);
@@ -628,12 +652,12 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
628
652
  let owner = c.req.param("conversationId");
629
653
  const id = c.req.param("sessionId");
630
654
  const actor = getGatewayPrincipal(c);
631
- const { clientId, assistanceId, expectedTranscriptId, ...input } = liveControlInput.parse(await c.req.json());
655
+ const { clientId, assistanceId, assistanceVersion, expectedTranscriptId, ...input } = liveControlInput.parse(await c.req.json());
632
656
  const requestedWait = phoneAssistance(owner);
633
657
  const allowRecovery = assistanceId && requestedWait?.id === assistanceId && requestedWait.checkpoint.report.sessionId === id && ["takeover", "handback"].includes(input.op);
634
658
  const { context, transcriptId, owner: resolvedOwner } = await conversationPhone(owner, allowRecovery ? void 0 : id);
635
659
  owner = resolvedOwner;
636
- if (getGatewayPrincipal(c).kind === "device" && (!expectedTranscriptId || expectedTranscriptId !== transcriptId)) throw new PhoneError("PHONE_BINDING_CHANGED", "Conversation changed; refresh the phone", 409);
660
+ if (getGatewayPrincipal(c).kind === "device" && !expectedTranscriptId || expectedTranscriptId && expectedTranscriptId !== transcriptId) throw new PhoneError("PHONE_BINDING_CHANGED", "Conversation changed; refresh the phone", 409);
637
661
  const wait = phoneAssistance(owner);
638
662
  if (assistanceId && (!wait || wait.id !== assistanceId || ![
639
663
  "open",
@@ -641,6 +665,7 @@ function registerPhoneRoutes(parent, deps, runtime = getPhoneRuntime()) {
641
665
  "resuming",
642
666
  "completed"
643
667
  ].includes(wait.status))) throw new PhoneError("PHONE_ASSISTANCE_CHANGED", "The phone task changed. Refresh before continuing.", 409);
668
+ if (assistanceVersion !== void 0 && wait?.status === "open" && wait.version !== assistanceVersion) throw new PhoneError("PHONE_ASSISTANCE_CHANGED", "The phone assistance request changed. Refresh before continuing.", 409);
644
669
  if (input.op === "handback" && assistanceId && wait?.status !== "open") {
645
670
  service.resumePhoneAssistance(owner, assistanceId);
646
671
  return c.json({
@@ -6,12 +6,12 @@ import { loadTranscriptRowsForSession } from "../../../storage/sqlite/transcript
6
6
  import "../../../storage/sqlite/index.js";
7
7
  import { ActivityService } from "../../../activity/service.js";
8
8
  import "../../../activity/index.js";
9
- import { CapabilityError } from "../../../capabilities/runtime/errors.js";
10
- import "../../../capabilities/runtime/dispatcher.js";
11
9
  import { listKnowledgeItems, writeKnowledgeItem } from "../../../knowledge-memory/repository.js";
12
10
  import "../../../knowledge-memory/index.js";
13
11
  import { resolveEffectiveAgentProfile } from "../../../config/agent-profile.js";
14
12
  import { TaskReadModelProjector } from "../../../tasks/task-read-model-projector.js";
13
+ import { CapabilityError } from "../../../capabilities/runtime/errors.js";
14
+ import "../../../capabilities/runtime/dispatcher.js";
15
15
  import { ProjectWorkspaceConflictError, ProjectWorkspaceMissingError } from "../../../projects/workspace-project.js";
16
16
  import { inferProjectExecutionMode, inferProjectKind } from "../../../projects/project-kind.js";
17
17
  import { ProjectDeletionBlockedError, ProjectWorkspaceInUseError } from "../../../projects/project-service.js";
@@ -37,7 +37,8 @@ function registerPublicGatewayRoutes(app, service) {
37
37
  const health = service.getHealth();
38
38
  return c.json({
39
39
  status: health.ready ? "ok" : "starting",
40
- ready: health.ready
40
+ ready: health.ready,
41
+ clarificationVersions: process.env.XOPC_CLARIFY_MULTI_QUESTION === "false" ? [1] : [1, 2]
41
42
  });
42
43
  });
43
44
  app.post("/api/connectors/composio/webhook", async (c) => {
@@ -115,6 +115,7 @@ async function handleSessionCommand(c, deps, materialize = false) {
115
115
  if (!("input" in command)) return [];
116
116
  const endpoint = command.origin.type === "endpoint" ? deps.service.endpointTools.registry.get(command.origin.endpointId) : void 0;
117
117
  const contexts = endpoint ? [deviceTurnSourceContext(endpoint, command.input.endpointContext, deps.service.endpointTools.contexts?.view(endpoint.endpointId), deps.service.endpointTools.locations?.list(endpoint.endpointId, id.data))] : [];
118
+ if (contexts[0] && command.input.interactionCapabilities) contexts[0].interactionCapabilities = command.input.interactionCapabilities;
118
119
  contexts.push(...(command.input.browserContexts ?? []).map(browserPageContextToAgentContext));
119
120
  if (command.input.appContext) contexts.push(await deps.service.prepareSessionAppContext(command.input.appContext, principal, id.data, command.clientMessageId));
120
121
  return contexts;
@@ -98,6 +98,9 @@ export declare function submitSessionInput(c: Context, deps: AuthenticatedRouteD
98
98
  capturedAt?: number;
99
99
  documentId?: string;
100
100
  fileKind?: "file" | "directory";
101
+ interactionCapabilities?: {
102
+ clarificationVersions: (1 | 2)[];
103
+ };
101
104
  appContext?: {
102
105
  version: 1;
103
106
  clientInstanceId: string;
@@ -257,6 +260,9 @@ export declare function replaceLatestSessionTurn(c: Context, deps: Authenticated
257
260
  capturedAt?: number;
258
261
  documentId?: string;
259
262
  fileKind?: "file" | "directory";
263
+ interactionCapabilities?: {
264
+ clarificationVersions: (1 | 2)[];
265
+ };
260
266
  appContext?: {
261
267
  version: 1;
262
268
  clientInstanceId: string;
@@ -5,9 +5,9 @@ import { endpointContextSchema } from "../../../../packages/gateway-contract/src
5
5
  import { parseUserTurnDocument, userTurnDocumentRefIds } from "../../../../packages/gateway-contract/src/user-turn-document.js";
6
6
  import { init_src } from "../../../../packages/gateway-contract/src/index.js";
7
7
  import { endpointTurnClaimSchema, init_src as init_src$1 } from "../../../../packages/endpoint-tools-protocol/src/index.js";
8
+ import { init_providers, resolveModel } from "../../../providers/index.js";
8
9
  import { CapabilityError } from "../../../capabilities/runtime/errors.js";
9
10
  import "../../../capabilities/runtime/dispatcher.js";
10
- import { init_providers, resolveModel } from "../../../providers/index.js";
11
11
  import { getModelThinking } from "../../../providers/model-thinking.js";
12
12
  import { parseTurnContextRefs } from "../../../agent/source-context/types.js";
13
13
  import { validateWebchatAttachments, validateWebchatContent } from "../../chat-limits.js";
@@ -6,9 +6,9 @@ import { hasGatewayScope } from "../../security/gateway-scopes.js";
6
6
  import { enqueueTaskChangedEvent, init_task_change_events } from "../../../tasks/task-change-events.js";
7
7
  import { TaskRepository, init_task_repository } from "../../../tasks/task-repository.js";
8
8
  import { TaskRunRepository, init_task_run_repository } from "../../../tasks/task-run-repository.js";
9
+ import { TaskConversationRepository } from "../../../tasks/task-conversation-repository.js";
9
10
  import { CapabilityError } from "../../../capabilities/runtime/errors.js";
10
11
  import "../../../capabilities/runtime/dispatcher.js";
11
- import { TaskConversationRepository } from "../../../tasks/task-conversation-repository.js";
12
12
  import { TaskCollaborationRepository } from "../../../tasks/task-collaboration-repository.js";
13
13
  import { TaskCriterionReviewRepository } from "../../../tasks/task-criterion-review-repository.js";
14
14
  import { TaskContextMutationOutputSchema } from "../../../tasks/capabilities/relations.js";
@@ -1,5 +1,5 @@
1
- import { listConnectorLearningJobs } from "../../../storage/sqlite/connector-learning-repository.js";
2
1
  import { getConnectorAccount } from "../../../storage/sqlite/connector-account-repository.js";
2
+ import { listConnectorLearningJobs } from "../../../storage/sqlite/connector-learning-repository.js";
3
3
  import "../../../storage/sqlite/index.js";
4
4
  import { getWorkDiscoveryRun } from "../../../work-discovery/repository.js";
5
5
  import { getConnectorUnderstandingSourceRun } from "../../../user-context/sources/repository.js";
@@ -1,11 +1,11 @@
1
1
  import { normalizeAgentId } from "../agent-catalog/id.js";
2
2
  import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
3
3
  import { init_agent_scope } from "../agent/agent-scope.js";
4
- import { AgentCatalogService } from "../agent-catalog/service.js";
5
4
  import { ConfigSchema, init_schema } from "../config/schema.js";
6
5
  import { resolveEffectiveAgentConfigForAgent } from "../config/agent-profile.js";
7
6
  import { fetchWithTimeoutGuarded } from "../media-shared/http/provider-http.js";
8
7
  import "../media-shared/http/index.js";
8
+ import { AgentCatalogService } from "../agent-catalog/service.js";
9
9
  import { getImageGenerationProvider, listImageGenerationProvidersSummary } from "../agent/image/generation/provider-registry.js";
10
10
  //#region src/gateway/image-generation-setup.ts
11
11
  init_repository();
@@ -1,10 +1,10 @@
1
1
  import { getSqliteDatabase, init_transaction } from "../../storage/sqlite/transaction.js";
2
2
  import { getSessionInputState, init_session_input_repository } from "../../storage/sqlite/session-input-repository.js";
3
- import { getActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
4
3
  import { buildSessionContextForLlm, init_session_context_for_llm } from "../../session/session-context-for-llm.js";
5
4
  import { getActiveConnectionWait, init_connection_wait_repository } from "../../storage/sqlite/connection-wait-repository.js";
6
5
  import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
7
6
  import { getCurrentTranscriptId, init_session_repository } from "../../storage/sqlite/session-repository.js";
7
+ import { getActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
8
8
  import { createHash } from "node:crypto";
9
9
  //#region src/gateway/next-turn-suggestions/snapshot.ts
10
10
  init_session_repository();
@@ -3,10 +3,10 @@ import { init_logger } from "../../utils/logger.js";
3
3
  import { init_transaction, runSqliteWriteTransaction } from "../../storage/sqlite/transaction.js";
4
4
  import { readClarificationPresentation } from "../../../packages/gateway-contract/src/clarifications.js";
5
5
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
6
- import { listActiveSessionInputExecutions, listActiveSessionInputRuns } from "../../storage/sqlite/session-input-repository.js";
6
+ import { findSessionInputByRunId, init_session_input_repository, listActiveSessionInputExecutions, listActiveSessionInputRuns } from "../../storage/sqlite/session-input-repository.js";
7
7
  import { TaskRepository, init_task_repository } from "../../tasks/task-repository.js";
8
- import { createClarificationWait, getClarification, getClarificationSnapshot, resolveClarification, supersedeActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
9
8
  import { init_connection_wait_repository, onConnectionWaitChanged } from "../../storage/sqlite/connection-wait-repository.js";
9
+ import { createClarificationWait, getClarification, getClarificationSnapshot, resolveClarification, supersedeActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
10
10
  import "../../storage/sqlite/index.js";
11
11
  import { AgentRunCancelledError } from "../../agent/orchestration/run-termination.js";
12
12
  import { isPersonalConversation } from "../../personal-agent/repository.js";
@@ -24,6 +24,7 @@ import { SessionInputCoordinator } from "./session-input-coordinator.js";
24
24
  import crypto from "node:crypto";
25
25
  //#region src/gateway/service/agent-runner.ts
26
26
  init_src();
27
+ init_session_input_repository();
27
28
  init_connection_wait_repository();
28
29
  init_logger();
29
30
  init_transaction();
@@ -325,7 +326,7 @@ var GatewayAgentRunner = class {
325
326
  }
326
327
  answerClarificationText(conversationId, text, idempotencyKey) {
327
328
  const wait = getClarificationSnapshot(conversationId)?.clarification;
328
- if (!wait || wait.kind === "approval" || wait.status !== "open" || !text.trim()) return false;
329
+ if (!wait || wait.schemaVersion === 2 || wait.kind === "approval" || wait.status !== "open" || !text.trim()) return false;
329
330
  return this.resolveClarificationResponse({
330
331
  id: wait.id,
331
332
  expectedVersion: wait.version,
@@ -376,6 +377,10 @@ var GatewayAgentRunner = class {
376
377
  */
377
378
  async requestClarification(opts) {
378
379
  const { conversationId, request, publishStreamFor } = opts;
380
+ if (request.schemaVersion === 2) {
381
+ const capable = findSessionInputByRunId(conversationId, opts.runId)?.contextSnapshots?.some((context) => context.kind === "device_context" && context.interactionCapabilities?.clarificationVersions.includes(2));
382
+ if (process.env.XOPC_CLARIFY_MULTI_QUESTION === "false" || !capable || this.externalStreamBySession.has(conversationId) || new TaskConversationRepository().resolveActiveExecutionSession(conversationId)) throw new Error("CLARIFICATION_VERSION_UNSUPPORTED: use single-question clarify in this environment");
383
+ }
379
384
  const taskSession = request.kind !== "approval" ? new TaskConversationRepository().resolveActiveExecutionSession(conversationId) : void 0;
380
385
  if (taskSession?.runId) return {
381
386
  status: "waiting",
@@ -5,9 +5,9 @@ import { parseTurnOutcome } from "../../../packages/gateway-contract/src/turn-ou
5
5
  import { init_src } from "../../../packages/gateway-contract/src/index.js";
6
6
  import { findSessionInputByRunId, init_session_input_repository, listTaskUpdateTriggers } from "../../storage/sqlite/session-input-repository.js";
7
7
  import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
8
+ import { getConnectionResumeInput, init_connection_wait_repository, isConnectionSuspended } from "../../storage/sqlite/connection-wait-repository.js";
8
9
  import { isClarificationSuspended } from "../../storage/sqlite/clarification-wait-repository.js";
9
10
  import { updateInteractionStateFromMessage } from "../../storage/sqlite/interaction-state-repository.js";
10
- import { getConnectionResumeInput, init_connection_wait_repository, isConnectionSuspended } from "../../storage/sqlite/connection-wait-repository.js";
11
11
  import "../../storage/sqlite/index.js";
12
12
  import { getConversationRouting } from "../../storage/sqlite/conversation-repository.js";
13
13
  import { init_session_key } from "../../routing/session-key.js";