@xopcai/xopc 0.0.424 → 0.0.425
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-AI081rxe.js → activity-store-CMw8qBuC.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DupnTbL7.js → agent-avatar-dicebear-JI0YWOIm.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-display-CmEj6Uqy.js → agent-avatar-display-YqmwzOSa.js} +2 -2
- package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-IEV5yKuu.js → agent-defaults-settings-panel-DlvjxWg6.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-plugin-dialog-D_njOuFA.js → agent-plugin-dialog-OBueuQSc.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-B_yg9nA3.js → agents-Cp6_5OOQ.js} +3 -3
- package/dist/gateway/static/root/assets/{agents-admin-api-CUZUolwG.js → agents-admin-api-DLnmdC1h.js} +1 -1
- package/dist/gateway/static/root/assets/{api-bpQ7yR10.js → api-Boc-CVh7.js} +1 -1
- package/dist/gateway/static/root/assets/{api-CWWEVThO.js → api-bL7sxjAF.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-C0_hxwgg.js → app-management-settings-panel-jIG5i7KE.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-CLh-qnCC.js → appearance-settings-BnaQW9Xd.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-Bjtm3Rgi.js → apps-page-C2WKUwtN.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-dGnstkhB.js → archive-plugin-DjboG3kA.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-api-MB2xCoFF.js → automation-api-CZqL9l_d.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-result-state-DJQflY78.js → automation-result-state-DRd-X_Ai.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-task-card-DXgBxVE2.js → automation-task-card-wbnR5i6N.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-D3O7M2FH.js → automations-page-HyBQIfmn.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-workspace-Dk3FVWoX.js → automations-workspace-D6cTOKr7.js} +2 -2
- package/dist/gateway/static/root/assets/{binary-plugins-BrVJXmYf.js → binary-plugins-Bg8ARZUH.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-Dok4sfT3.js → block-editor-DKohqFAW.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automation-inputs-PJbT3CxW.js → browser-automation-inputs-YeibTzw4.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-kkpX1Q7K.js → browser-automations-page-BWNcbuz2.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-control-api-Bg4wnkeA.js → browser-control-api-CDeuxy2x.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-BrgX_Yb2.js → browser-settings-page-L0nBjfhG.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-Cs6Jt5Gl.js → capabilities-BcQa8c9n.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-BMaJizw4.js → capabilities-aT-QjNTl.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-page-D5hvAG6D.js → capabilities-page-DlpuHdHi.js} +2 -2
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-BrEvm4IH.js → capabilities-settings-panel-pvqkN2-2.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-1jQgGVc9.js → channels-BUPtawh6.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-agents-api-BAOWaUJf.js → chat-agents-api-B8JO6Tcj.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-chart-block-DeWrb9XR.js → chat-chart-block-DRtuFfF1.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-page-CafkCKOj.js → chat-page-BP0huA-W.js} +31 -31
- package/dist/gateway/static/root/assets/{chat-terminal-dock-C544n0-R.js → chat-terminal-dock-Dkqq5FSL.js} +1 -1
- package/dist/gateway/static/root/assets/{command-palette-api-D9PXzY8b.js → command-palette-api-qujvNqkK.js} +1 -1
- package/dist/gateway/static/root/assets/{composer-payload-handoff-CYXfjpem.js → composer-payload-handoff-CYIhcczq.js} +1 -1
- package/dist/gateway/static/root/assets/{computer-settings-page-DJmod8-w.js → computer-settings-page-8q4hRmoo.js} +1 -1
- package/dist/gateway/static/root/assets/{connected-providers-grid-b46VH4uy.js → connected-providers-grid-CKZfhHSD.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-BqDbTOTp.js → connector-service-page-DQaTI21R.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-api-CwRuUnH4.js → connectors-api-BjypBp2g.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-page-Mq9Bvoax.js → connectors-page-Lf1ZzaVn.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-DWaT0IC0.js → date-picker-D_PSHGpe.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-DV9XAt6F.js → dependency-picker-UqKVJ9dv.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-Dffq2NxL.js → desktop-pet-1Et9VqkM.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-narrative-CS8qJpNO.js → desktop-pet-narrative-rADKU0FX.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-CrB1ICax.js → desktop-pet-settings-0fCGgaG7.js} +1 -1
- package/dist/gateway/static/root/assets/{dev-view-store-liRgSkcT.js → dev-view-store-TTj_djD8.js} +1 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-ByEL5lvM.js +1 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-EKqQLQrE.js → directory-picker-path-field-C07a7wYX.js} +1 -1
- package/dist/gateway/static/root/assets/{discussion-annotation-sync-D-b1X6ro.js → discussion-annotation-sync-BFqKm9ky.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-wD97GeG0.js → extension-debug-page-DFaVlqas.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-iframe-host-B4Q1CjvW.js → extension-iframe-host-BfzPfXBq.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-marketplace-api-ak1_K3u8.js → extension-marketplace-api-ow0K1Y4_.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DWFI4iIh.js → extension-page-CrDADV5W.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-BZwcaU5Y.js → extension-provider-mnRoa63o.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-cn4KS42C.js → extension-settings-page-BLl02GFY.js} +1 -1
- package/dist/gateway/static/root/assets/{file-preview-surface-c3gDD9sM.js → file-preview-surface-TGdKqhCf.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-Dmt5JhZU.js → gateway-config-swr-DfPQIHOL.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-CJtDXQCt.js → gateway-realtime-67vWg_M2.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-Bkt1z-xo.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-restart-DInvvT5u.js → gateway-restart-CLtR2wkL.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-BZXdv2FE.js → gateway-settings-COvC3r-l.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-s2KcWekp.js → gateway-startup-retry-9YQllbw2.js} +1 -1
- package/dist/gateway/static/root/assets/{global-defaults-api-DtnmDd87.js → global-defaults-api-DYMRjGvd.js} +1 -1
- package/dist/gateway/static/root/assets/{home-page-CAVjA5rO.js → home-page-k9LFXcVa.js} +2 -2
- package/dist/gateway/static/root/assets/{image-generation-api-RQQokgE9.js → image-generation-api-Dzydfvy8.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-BP_4TubV.js → imports-page-Csd_YZXZ.js} +1 -1
- package/dist/gateway/static/root/assets/index-CpwPxKQ8.css +1 -0
- package/dist/gateway/static/root/assets/index-DKW7BeT_.js +11 -0
- package/dist/gateway/static/root/assets/{install-connector-dialog-BNzNuXJ8.js → install-connector-dialog-CTQAKTPv.js} +1 -1
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DNRQFepg.js → keyboard-shortcuts-settings-B201bMIa.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-CvY5XxbX.js → local-app-workbench-page-CD_8_gd_.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-DfwEvd8G.js → local-apps-page-BOwqNH0L.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-CuDdIyxR.js → local-session-drafts-DjmK-SM9.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-TQcz_Vjt.js → locale-store-Bg_XR36n.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-eq49F1Rt.js → logs-page-gw3E9CMQ.js} +1 -1
- package/dist/gateway/static/root/assets/{management-settings-BaYXDMOJ.js → management-settings-t_Z2mCyw.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-D4nII6Zv.js → markdown-view-BUpXJUPv.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-MvlAY405.js → media-plugins-_shnaEMY.js} +1 -1
- package/dist/gateway/static/root/assets/messages-DG4HLOER.js +3 -0
- package/dist/gateway/static/root/assets/{model-selector-nsoNHqif.js → model-selector-a7PIT1Lk.js} +1 -1
- package/dist/gateway/static/root/assets/{models-hub-cache-CFIazNIF.js → models-hub-cache-KOJC3z6Q.js} +1 -1
- package/dist/gateway/static/root/assets/{note-detail-panel-KPzbHiEW.js → note-detail-panel-BsHYUFgk.js} +3 -3
- package/dist/gateway/static/root/assets/note-image-lightbox-B-bEtjhj.js +1 -0
- package/dist/gateway/static/root/assets/{notes-api-HVxR5bRD.js → notes-api-BSmikUKI.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-yShJeR3i.js → notes-page-CA0NRL8O.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-api-CfKjRVnb.js → oauth-api-D2t9HXoC.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-provider-connect-D4uqONWr.js → oauth-provider-connect-DGGGGtcB.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-B98nlKTc.js → page-context-capture-button-BH54VO0V.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-draft-HcuK45iu.js → page-context-draft-BS5y8Cx9.js} +1 -1
- package/dist/gateway/static/root/assets/page-header-store-BdZnUh-D.js +1 -0
- package/dist/gateway/static/root/assets/{personal-avatar-_d72UP_d.js → personal-avatar-D8DtpDTa.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-page-B19h_3WQ.js → personal-page-KJezmTKP.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-settings-panel-CfwtGyue.js → personal-settings-panel-9uDaNJy5.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-dependencies-card-D8bqsDk_.js → phone-dependencies-card-DLYrI0C4.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-model-picker-CL_Zn6Xd.js → phone-model-picker-BbA2iI-3.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-settings-page-C5Jia8eQ.js → phone-settings-page-Cg_BPss4.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-workspace-store-FBfrfkYq.js → phone-workspace-store-CVDk80Bf.js} +1 -1
- package/dist/gateway/static/root/assets/{plugin-details-dialog-gAq2KPzK.js → plugin-details-dialog-DgibLkc3.js} +1 -1
- package/dist/gateway/static/root/assets/{preference-select-fields-Ck8GAX_y.js → preference-select-fields-BVoN-lAv.js} +1 -1
- package/dist/gateway/static/root/assets/{product-automation-feedback-BJ9oTnNs.js → product-automation-feedback-DCo90zGh.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-Dw9hUdxP.js → product-open-page-OWl8IAoY.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-C0iPzmSm.js → product-preview-content-Cjas7UNe.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-modal-COFtHoh6.js → product-preview-modal-CPWRvBI9.js} +2 -2
- package/dist/gateway/static/root/assets/{project-detail-page-C5Amjah-.js → project-detail-page-B_HlZux_.js} +1 -1
- package/dist/gateway/static/root/assets/{project-understanding-DpL9ADQU.js → project-understanding-Ba02SFzB.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-gGg9nM2t.js → projects-page-CdfKjp95.js} +1 -1
- package/dist/gateway/static/root/assets/{providers-api-D6JJRlJb.js → providers-api-rwQ4LWzr.js} +1 -1
- package/dist/gateway/static/root/assets/{recording-upload-DxX1xKyt.js → recording-upload-BSmvRrZQ.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-BfXzBR1D.js → registry-api-Vy7LfH6E.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-BZA4StwC.js → remote-access-hub-UXrnpGev.js} +1 -1
- package/dist/gateway/static/root/assets/{resource-unavailable-X-SIrZYI.js → resource-unavailable-f9OzSi4W.js} +1 -1
- package/dist/gateway/static/root/assets/{route-preload-CWRb0UCt.js → route-preload-BtObM-co.js} +2 -2
- package/dist/gateway/static/root/assets/{runtime-tools-api-1DjsPyQ5.js → runtime-tools-api-Bt8t37z5.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-BnCtyORj.js → runtime-tools-settings-panel-DU4UXnBm.js} +1 -1
- package/dist/gateway/static/root/assets/{service-recommendation-list-ChSOfHHh.js → service-recommendation-list-CuYsRcBB.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-rvY5aWw8.js → session-api-DJI9eSgw.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-CtKgACGl.js +23 -0
- package/dist/gateway/static/root/assets/{sessions-page-DAS2IUGT.js → sessions-page-BAsKzRHt.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CjAFqg2U.js +1 -0
- package/dist/gateway/static/root/assets/{settings-advanced-section-ZKRIuk7h.js → settings-advanced-section-BxUuF_yi.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-mode-store-CtJ8pEfm.js → settings-mode-store-CaoRh2gt.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-header-DuNCn8i-.js → settings-page-header-CyUHrn7c.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-DeNC8YHJ.js → settings-page-layout-DGVqXrlp.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-B3pUce-_.js → settings-page-qQ8-6dJ_.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-Fc3vuz_h.js → setup-status-panel-BpaPb625.js} +1 -1
- package/dist/gateway/static/root/assets/{share-link-dialog-B3hwjVAx.js → share-link-dialog-CQJ6Ykm2.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-D_9oFzGS.js → share-preview-page-Cem96FbB.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-BoUpXmxq.js → shares-api-Dowes16l.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-Drfuvepz.js → shares-settings-DZEkZDR0.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-api-By2HhJ9O.js → skill-api-D8ZwFEVe.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-list-api-TaUCzS8Y.js → skill-list-api-B4gp00-f.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-CN2fpS1n.js → skill-reload-api-ClmaaDXo.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-LzGLique.js → skills-page-CV0X9rvG.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-Cuyg8Ml3.js → system-settings-panel-D095uacX.js} +1 -1
- package/dist/gateway/static/root/assets/task-detail-page-CY2C4AM2.js +2 -0
- package/dist/gateway/static/root/assets/{task-result-evidence-DDubAU_5.js → task-result-evidence-LUrJlUhb.js} +1 -1
- package/dist/gateway/static/root/assets/{terminal-panel-store-BNs75Wdr.js → terminal-panel-store-BqEDB1Vl.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-DB1ZfBUm.js → theme-store-gAcojLgP.js} +1 -1
- package/dist/gateway/static/root/assets/tool-friendly-title-o6sxGVUu.js +1 -0
- package/dist/gateway/static/root/assets/{tracing-settings-page-TvtX4Goh.js → tracing-settings-page-B1ZRh-Is.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-COoVEdV9.js → tunnel-api-C9u9E3UQ.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-activity-store-Dr_MLgYe.js → understanding-activity-store-BTrzsR6_.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-refresh-store-DGmLGEqw.js → understanding-refresh-store-5Qava3jh.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-DP6eb6ed.js → usage-page-DFMLYKAc.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-itwjDYUb.js → use-autosave-3O-X7x15.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-hjIGlI_2.js → use-composer-attachments-BLc4dBfe.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-ClLa0g8D.js → use-file-preview-expanded-BaOmTXsT.js} +2 -2
- package/dist/gateway/static/root/assets/{use-personal-profile-vhWk6tTU.js → use-personal-profile-MusPgljM.js} +1 -1
- package/dist/gateway/static/root/assets/{use-workspace-tree-dfXXjA2-.js → use-workspace-tree-Ck_U2yTw.js} +1 -1
- package/dist/gateway/static/root/assets/{user-model-page-D8dswPWd.js → user-model-page-Den5Lg-k.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-BIfBySnN.js → voice-api-key-field-C5zJApoa.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-J4o59ICE.js → voice-config-api-DC1bYDt1.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-input-shortcut-events-B1mlpUdC.js → voice-input-shortcut-events-0SZjJdVV.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-transcribe-api-xxaSOOmq.js → voice-transcribe-api-CxVeANPX.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-DqwT1E5u.js → work-discovery-overlay-DAQ8McVe.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-BzYQmPLT.js → work-discovery-page-DUQysEyb.js} +1 -1
- package/dist/gateway/static/root/assets/{working-directory-picker-modal-D2Zf3GOG.js → working-directory-picker-modal-BO9qdJyZ.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-api-Bnx3eS2M.js → workspace-api-ZrN6yUER.js} +2 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-Bo5dwoWP.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-D13qHzVr.js → workspace-file-preview-dialog-Yj_kBWSb.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-open-location-menu-Cou-ig1H.js → workspace-open-location-menu-yxT7wajO.js} +1 -1
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-DQGPKxHA.js → xopc-cloud-account-card-IcH9KDzx.js} +1 -1
- package/dist/gateway/static/root/index.html +81 -81
- package/dist/package.js +1 -1
- package/dist/packages/computer-control-contract/src/index.js +33 -3
- package/dist/src/agent/embedded/run-turn.js +64 -4
- package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
- package/dist/src/agent/tool-manuals/computer.js +6 -0
- package/dist/src/agent/tools/computer-use-tool.js +18 -5
- package/dist/src/agent/tools/phone-use-tool.js +12 -2
- package/dist/src/cli/commands/backup.js +1 -1
- package/dist/src/computer/agent-context.d.ts +21 -0
- package/dist/src/computer/agent-context.js +107 -0
- package/dist/src/computer/broker.d.ts +4 -2
- package/dist/src/computer/broker.js +26 -11
- package/dist/src/computer/diagnostics.d.ts +60 -6
- package/dist/src/computer/diagnostics.js +45 -4
- package/dist/src/computer/errors.d.ts +1 -1
- package/dist/src/computer/errors.js +4 -0
- package/dist/src/computer/evaluation.d.ts +2 -2
- package/dist/src/computer/native-timing.d.ts +15 -0
- package/dist/src/computer/native-timing.js +49 -0
- package/dist/src/computer/program-runtime.d.ts +22 -0
- package/dist/src/computer/program-runtime.js +105 -0
- package/dist/src/computer/runtime.d.ts +36 -2
- package/dist/src/computer/runtime.js +269 -58
- package/dist/src/config/schema.d.ts +18 -0
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/service/config-coordinator.d.ts +6 -0
- package/dist/src/phone/adb-driver.d.ts +15 -1
- package/dist/src/phone/adb-driver.js +104 -41
- package/dist/src/phone/autoglm-protocol.d.ts +36 -0
- package/dist/src/phone/autoglm-protocol.js +88 -0
- package/dist/src/phone/autoglm-upstream-prompt.d.ts +2 -0
- package/dist/src/phone/autoglm-upstream-prompt.js +5 -0
- package/dist/src/phone/autoglm-upstream.LICENSE +201 -0
- package/dist/src/phone/cloud-adb-connection.d.ts +3 -0
- package/dist/src/phone/cloud-adb-connection.js +102 -31
- package/dist/src/phone/cloud-adb.js +18 -6
- package/dist/src/phone/completion-recovery.d.ts +6 -0
- package/dist/src/phone/completion-recovery.js +30 -0
- package/dist/src/phone/contracts.d.ts +20 -0
- package/dist/src/phone/contracts.js +6 -0
- package/dist/src/phone/execution-trace.d.ts +51 -0
- package/dist/src/phone/execution-trace.js +78 -0
- package/dist/src/phone/model-adapter.d.ts +9 -1
- package/dist/src/phone/model-adapter.js +132 -61
- package/dist/src/phone/model-response.d.ts +5 -0
- package/dist/src/phone/model-response.js +118 -0
- package/dist/src/phone/runtime.d.ts +4 -0
- package/dist/src/phone/runtime.js +146 -16
- package/dist/src/phone/text-session.d.ts +14 -0
- package/dist/src/phone/text-session.js +39 -0
- package/dist/src/phone/ui-dump-binary.d.ts +1 -1
- package/dist/src/phone/ui-dump-binary.js +1 -1
- package/dist/src/phone/ui-session.d.ts +22 -0
- package/dist/src/phone/ui-session.js +191 -0
- package/dist/src/process/phone-process.d.ts +1 -0
- package/dist/src/process/phone-process.js +11 -1
- package/package.json +2 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-1du1hfi5.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-DcsZyYEa.js +0 -1
- package/dist/gateway/static/root/assets/index-BS9mjvSL.js +0 -11
- package/dist/gateway/static/root/assets/index-pT-m6l6b.css +0 -1
- package/dist/gateway/static/root/assets/messages-DaLmc4W1.js +0 -3
- package/dist/gateway/static/root/assets/note-image-lightbox-DticJxxh.js +0 -1
- package/dist/gateway/static/root/assets/page-header-store-D6SzJ9Ch.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-D2rbRfX3.js +0 -23
- package/dist/gateway/static/root/assets/settings-advanced-gate-CYDQybNF.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-6A9337pK.js +0 -2
- package/dist/gateway/static/root/assets/tool-friendly-title-DGmi7rCQ.js +0 -1
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-COUVwj-p.js +0 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/computer/native-timing.ts
|
|
2
|
+
/** Monotonic, non-overlapping input stages. SDK time includes the native RPC. */
|
|
3
|
+
var ComputerInputTimer = class {
|
|
4
|
+
startedAt;
|
|
5
|
+
stages = {
|
|
6
|
+
identityCheckMs: 0,
|
|
7
|
+
actionValidationMs: 0,
|
|
8
|
+
windowsInputGuardMs: 0,
|
|
9
|
+
sdkCallMs: 0,
|
|
10
|
+
resultValidationMs: 0,
|
|
11
|
+
renderGraceMs: 0
|
|
12
|
+
};
|
|
13
|
+
sdkCalls = 0;
|
|
14
|
+
constructor(windows, now = () => performance.now()) {
|
|
15
|
+
this.windows = windows;
|
|
16
|
+
this.now = now;
|
|
17
|
+
this.startedAt = now();
|
|
18
|
+
}
|
|
19
|
+
async measure(stage, operation) {
|
|
20
|
+
const start = this.now();
|
|
21
|
+
if (stage === "sdkCallMs") this.sdkCalls++;
|
|
22
|
+
try {
|
|
23
|
+
return await operation();
|
|
24
|
+
} finally {
|
|
25
|
+
this.stages[stage] += Math.max(0, this.now() - start);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
measureSync(stage, operation) {
|
|
29
|
+
const start = this.now();
|
|
30
|
+
try {
|
|
31
|
+
return operation();
|
|
32
|
+
} finally {
|
|
33
|
+
this.stages[stage] += Math.max(0, this.now() - start);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
finish(completed) {
|
|
37
|
+
const wallMs = Math.max(0, this.now() - this.startedAt);
|
|
38
|
+
return {
|
|
39
|
+
wallMs,
|
|
40
|
+
...this.stages,
|
|
41
|
+
windowsInputGuardMs: this.windows ? this.stages.windowsInputGuardMs : null,
|
|
42
|
+
unattributedMs: Math.max(0, wallMs - Object.values(this.stages).reduce((a, b) => a + b, 0)),
|
|
43
|
+
sdkCalls: this.sdkCalls,
|
|
44
|
+
completed
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//#endregion
|
|
49
|
+
export { ComputerInputTimer };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type ComputerProgramMethod = 'observe' | 'resolve' | 'act' | 'waitFor' | 'verify' | 'emitScreenshot';
|
|
2
|
+
export type ComputerProgramHost = (method: ComputerProgramMethod, args: unknown, signal: AbortSignal) => Promise<unknown>;
|
|
3
|
+
/** UI-only capability table; no general tool discovery, disk store, or output spill. */
|
|
4
|
+
export declare function executeComputerProgram(code: string, host: ComputerProgramHost, store: Record<string, unknown>, signal: AbortSignal, timeoutMs?: number): Promise<{
|
|
5
|
+
status: "program_error";
|
|
6
|
+
output: string;
|
|
7
|
+
errorCode: string;
|
|
8
|
+
scriptError: string;
|
|
9
|
+
scriptErrorMessage?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
status: "program_error";
|
|
12
|
+
output: string;
|
|
13
|
+
errorCode: string;
|
|
14
|
+
scriptError: import("@earendil-works/pi-codemode").CodemodeErrorKind;
|
|
15
|
+
scriptErrorMessage: string;
|
|
16
|
+
} | {
|
|
17
|
+
status: "program_completed";
|
|
18
|
+
output: string;
|
|
19
|
+
errorCode?: undefined;
|
|
20
|
+
scriptError?: undefined;
|
|
21
|
+
scriptErrorMessage?: undefined;
|
|
22
|
+
}>;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { CodemodeSandbox } from "@earendil-works/pi-codemode";
|
|
4
|
+
//#region src/computer/program-runtime.ts
|
|
5
|
+
let workerUrl;
|
|
6
|
+
function computerWorkerUrl() {
|
|
7
|
+
if (workerUrl) return workerUrl;
|
|
8
|
+
const bundled = new URL("./codemode-worker.js", import.meta.url);
|
|
9
|
+
const source = existsSync(bundled) ? bundled : new URL("./bundle/chunks/codemode-worker.js", import.meta.resolve("@earendil-works/pi-coding-agent"));
|
|
10
|
+
workerUrl = new URL(`data:text/javascript;base64,${readFileSync(source).toString("base64")}`);
|
|
11
|
+
return workerUrl;
|
|
12
|
+
}
|
|
13
|
+
/** UI-only capability table; no general tool discovery, disk store, or output spill. */
|
|
14
|
+
async function executeComputerProgram(code, host, store, signal, timeoutMs = 12e4) {
|
|
15
|
+
if (Buffer.byteLength(code) > 64 * 1024) throw new Error("COMPUTER_INPUT_LIMIT");
|
|
16
|
+
let busy = false;
|
|
17
|
+
let calls = 0;
|
|
18
|
+
let ended = false;
|
|
19
|
+
let hostErrorCode;
|
|
20
|
+
let cancelledHostCall = false;
|
|
21
|
+
const lifetime = new AbortController();
|
|
22
|
+
const combined = AbortSignal.any([signal, lifetime.signal]);
|
|
23
|
+
const inFlight = /* @__PURE__ */ new Set();
|
|
24
|
+
const sandbox = new CodemodeSandbox({
|
|
25
|
+
timeoutMs,
|
|
26
|
+
memoryLimitBytes: 64 * 1024 * 1024,
|
|
27
|
+
workerUrl: computerWorkerUrl(),
|
|
28
|
+
globals: [
|
|
29
|
+
"observe",
|
|
30
|
+
"resolve",
|
|
31
|
+
"act",
|
|
32
|
+
"waitFor",
|
|
33
|
+
"verify",
|
|
34
|
+
"emitScreenshot"
|
|
35
|
+
].map((method) => ({
|
|
36
|
+
name: `ui.${method}`,
|
|
37
|
+
async execute(args, context) {
|
|
38
|
+
if (ended || ++calls > 64) {
|
|
39
|
+
lifetime.abort();
|
|
40
|
+
throw new Error("COMPUTER_PROGRAM_BUDGET");
|
|
41
|
+
}
|
|
42
|
+
if (busy) {
|
|
43
|
+
lifetime.abort();
|
|
44
|
+
throw new Error("COMPUTER_BUSY");
|
|
45
|
+
}
|
|
46
|
+
busy = true;
|
|
47
|
+
const operation = host(method, args, AbortSignal.any([combined, context.signal]));
|
|
48
|
+
inFlight.add(operation);
|
|
49
|
+
try {
|
|
50
|
+
return await operation;
|
|
51
|
+
} catch (error) {
|
|
52
|
+
if (error instanceof Error && /^COMPUTER_[A-Z_0-9]{1,80}$/.test(error.message)) hostErrorCode = error.message;
|
|
53
|
+
lifetime.abort();
|
|
54
|
+
throw error;
|
|
55
|
+
} finally {
|
|
56
|
+
cancelledHostCall ||= context.signal.aborted || combined.aborted;
|
|
57
|
+
inFlight.delete(operation);
|
|
58
|
+
busy = false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}))
|
|
62
|
+
});
|
|
63
|
+
try {
|
|
64
|
+
const result = await sandbox.execute(code, {
|
|
65
|
+
store,
|
|
66
|
+
signal: combined
|
|
67
|
+
});
|
|
68
|
+
const unawaited = inFlight.size > 0;
|
|
69
|
+
ended = true;
|
|
70
|
+
lifetime.abort();
|
|
71
|
+
await Promise.allSettled([...inFlight]);
|
|
72
|
+
const text = result.output.filter((item) => item.type === "text").map((item) => item.text).join("\n").slice(0, 16e3);
|
|
73
|
+
if (unawaited || cancelledHostCall || hostErrorCode) return {
|
|
74
|
+
status: "program_error",
|
|
75
|
+
output: text,
|
|
76
|
+
errorCode: hostErrorCode ?? "COMPUTER_PROGRAM_UNAWAITED_CALL",
|
|
77
|
+
scriptError: "aborted"
|
|
78
|
+
};
|
|
79
|
+
if (result.ok === false) return {
|
|
80
|
+
status: "program_error",
|
|
81
|
+
output: text,
|
|
82
|
+
errorCode: hostErrorCode ?? "COMPUTER_PROGRAM_FAILED",
|
|
83
|
+
scriptError: result.error.kind,
|
|
84
|
+
scriptErrorMessage: result.error.message.slice(0, 1e3)
|
|
85
|
+
};
|
|
86
|
+
const next = { ...store };
|
|
87
|
+
for (const key of result.storeWrites.delete) delete next[key];
|
|
88
|
+
Object.assign(next, result.storeWrites.set);
|
|
89
|
+
if (Object.keys(next).length > 64 || Buffer.byteLength(JSON.stringify(next)) > 64 * 1024) throw new Error("COMPUTER_PROGRAM_STORE_LIMIT");
|
|
90
|
+
z.record(z.string(), z.json()).parse(next);
|
|
91
|
+
for (const key of Object.keys(store)) delete store[key];
|
|
92
|
+
Object.assign(store, next);
|
|
93
|
+
return {
|
|
94
|
+
status: "program_completed",
|
|
95
|
+
output: text
|
|
96
|
+
};
|
|
97
|
+
} finally {
|
|
98
|
+
ended = true;
|
|
99
|
+
lifetime.abort();
|
|
100
|
+
await sandbox.close();
|
|
101
|
+
await Promise.allSettled([...inFlight]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
export { executeComputerProgram };
|
|
@@ -45,14 +45,32 @@ declare const Reply: z.ZodObject<{
|
|
|
45
45
|
precheckMs: z.ZodNumber;
|
|
46
46
|
inputMs: z.ZodNumber;
|
|
47
47
|
postObserveMs: z.ZodNumber;
|
|
48
|
+
inputDetail: z.ZodOptional<z.ZodObject<{
|
|
49
|
+
wallMs: z.ZodNumber;
|
|
50
|
+
identityCheckMs: z.ZodNumber;
|
|
51
|
+
actionValidationMs: z.ZodNumber;
|
|
52
|
+
windowsInputGuardMs: z.ZodNullable<z.ZodNumber>;
|
|
53
|
+
sdkCallMs: z.ZodNumber;
|
|
54
|
+
resultValidationMs: z.ZodNumber;
|
|
55
|
+
renderGraceMs: z.ZodNumber;
|
|
56
|
+
unattributedMs: z.ZodNumber;
|
|
57
|
+
sdkCalls: z.ZodNumber;
|
|
58
|
+
completed: z.ZodBoolean;
|
|
59
|
+
}, z.core.$strict>>;
|
|
60
|
+
precheckSamples: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
}, z.core.$strict>>;
|
|
62
|
+
transportTiming: z.ZodOptional<z.ZodObject<{
|
|
63
|
+
brokerWallMs: z.ZodNumber;
|
|
64
|
+
frameUploadMs: z.ZodNullable<z.ZodNumber>;
|
|
65
|
+
commandWallMs: z.ZodNumber;
|
|
48
66
|
}, z.core.$strict>>;
|
|
49
67
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
50
68
|
diagnostic: z.ZodOptional<z.ZodObject<{
|
|
51
69
|
errorCode: z.ZodString;
|
|
52
70
|
phase: z.ZodEnum<{
|
|
53
71
|
model: "model";
|
|
54
|
-
observe: "observe";
|
|
55
72
|
dispatch: "dispatch";
|
|
73
|
+
observe: "observe";
|
|
56
74
|
frame_upload: "frame_upload";
|
|
57
75
|
}>;
|
|
58
76
|
diagnosticId: z.ZodUUID;
|
|
@@ -122,6 +140,10 @@ export declare const ComputerUseInputSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
122
140
|
observe: "observe";
|
|
123
141
|
}>;
|
|
124
142
|
prepare: z.ZodBoolean;
|
|
143
|
+
planner: z.ZodOptional<z.ZodEnum<{
|
|
144
|
+
agent: "agent";
|
|
145
|
+
gui: "gui";
|
|
146
|
+
}>>;
|
|
125
147
|
}, z.core.$strict>, z.ZodObject<{
|
|
126
148
|
op: z.ZodLiteral<"observe">;
|
|
127
149
|
question: z.ZodOptional<z.ZodString>;
|
|
@@ -151,6 +173,11 @@ export declare const ComputerUseInputSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
151
173
|
label: z.ZodString;
|
|
152
174
|
}, z.core.$strict>], "kind">>;
|
|
153
175
|
flowId: z.ZodOptional<z.ZodUUID>;
|
|
176
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
177
|
+
op: z.ZodLiteral<"exec">;
|
|
178
|
+
code: z.ZodString;
|
|
179
|
+
maxActions: z.ZodOptional<z.ZodNumber>;
|
|
180
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
154
181
|
}, z.core.$strict>, z.ZodObject<{
|
|
155
182
|
op: z.ZodLiteral<"run">;
|
|
156
183
|
goal: z.ZodString;
|
|
@@ -181,6 +208,10 @@ export type ComputerUseInput = z.infer<typeof ComputerUseInputSchema>;
|
|
|
181
208
|
export interface ComputerPublicResult {
|
|
182
209
|
status: string;
|
|
183
210
|
sessionId: string;
|
|
211
|
+
output?: string;
|
|
212
|
+
scriptError?: string;
|
|
213
|
+
scriptErrorMessage?: string;
|
|
214
|
+
imageRef?: string;
|
|
184
215
|
pending?: boolean;
|
|
185
216
|
summary?: string;
|
|
186
217
|
receipt?: z.infer<typeof Reply>['receipt'];
|
|
@@ -238,8 +269,11 @@ export declare class ComputerRuntime {
|
|
|
238
269
|
private readonly reports;
|
|
239
270
|
private readonly openingReports;
|
|
240
271
|
constructor(endpoints: EndpointToolRuntime, getConfig: () => Config, getTurnEndpoint?: (owner: string) => string | undefined, flowStore?: ComputerFlowRepository);
|
|
241
|
-
execute(owner: string, input: ComputerUseInput, signal?: AbortSignal
|
|
272
|
+
execute(owner: string, input: ComputerUseInput, signal?: AbortSignal, execution?: {
|
|
273
|
+
toolCallId: string;
|
|
274
|
+
}): Promise<ComputerPublicResult>;
|
|
242
275
|
private flowScope;
|
|
276
|
+
private executeProgram;
|
|
243
277
|
private executeGoal;
|
|
244
278
|
private executeInput;
|
|
245
279
|
private isUndispatchedChange;
|