@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.
- package/dist/browser-ext/dist/assets/{page-context-BKnEwsOO.js → page-context-b-rB5vJC.js} +1 -1
- package/dist/browser-ext/dist/background.js +1 -1
- package/dist/browser-ext/dist/sidepanel.html +1 -1
- package/dist/browser-ext/dist/sidepanel.js +29 -1
- 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-DNkXnatd.js → activity-store-AI081rxe.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DOnHjAY_.js → agent-avatar-dicebear-DupnTbL7.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-display-C9Lu9LVl.js → agent-avatar-display-CmEj6Uqy.js} +2 -2
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-IEV5yKuu.js +1 -0
- package/dist/gateway/static/root/assets/{agent-plugin-dialog-sQNbqsGL.js → agent-plugin-dialog-D_njOuFA.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-DZ77luyw.js → agents-B_yg9nA3.js} +4 -4
- package/dist/gateway/static/root/assets/{agents-admin-api-DIm_IHQL.js → agents-admin-api-CUZUolwG.js} +1 -1
- package/dist/gateway/static/root/assets/{api-By0yX3z1.js → api-CWWEVThO.js} +1 -1
- package/dist/gateway/static/root/assets/{api-BUJQiCoX.js → api-bpQ7yR10.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-PPgc1xaD.js → app-management-settings-panel-C0_hxwgg.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-DbI9t4GS.js → appearance-settings-CLh-qnCC.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-DIC28vl4.js → apps-page-Bjtm3Rgi.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-B5ZSQVw2.js → archive-plugin-dGnstkhB.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-api-CfjICuJK.js → automation-api-MB2xCoFF.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-result-state-DpQSVGNY.js → automation-result-state-DJQflY78.js} +1 -1
- package/dist/gateway/static/root/assets/automation-task-card-DXgBxVE2.js +3 -0
- package/dist/gateway/static/root/assets/{automations-page-1NCQMSK1.js → automations-page-D3O7M2FH.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-Dk3FVWoX.js +9 -0
- package/dist/gateway/static/root/assets/{binary-plugins-_riZg0hb.js → binary-plugins-BrVJXmYf.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-BpYTVDaG.js → block-editor-Dok4sfT3.js} +2 -2
- package/dist/gateway/static/root/assets/{browser-automation-inputs-DLbHyWE5.js → browser-automation-inputs-PJbT3CxW.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-BfOHr7er.js → browser-automations-page-kkpX1Q7K.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-control-api-CqjIQdQ4.js → browser-control-api-Bg4wnkeA.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-CqjLefvt.js → browser-settings-page-BrgX_Yb2.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-CTu4Y4Gc.js → capabilities-BMaJizw4.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-BQ0bsu6d.js → capabilities-Cs6Jt5Gl.js} +1 -1
- package/dist/gateway/static/root/assets/capabilities-page-D5hvAG6D.js +2 -0
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-Cq28kvMr.js → capabilities-settings-panel-BrEvm4IH.js} +3 -3
- package/dist/gateway/static/root/assets/{channels-BPVkbqBI.js → channels-1jQgGVc9.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-agents-api-XnegLpGF.js → chat-agents-api-BAOWaUJf.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-chart-block-BJFCFZz2.js → chat-chart-block-DeWrb9XR.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-page-BpvlJdEr.js → chat-page-CafkCKOj.js} +30 -30
- package/dist/gateway/static/root/assets/{chat-terminal-dock-B9KlHa8j.js → chat-terminal-dock-C544n0-R.js} +1 -1
- package/dist/gateway/static/root/assets/{command-palette-api-DW7O6fME.js → command-palette-api-D9PXzY8b.js} +1 -1
- package/dist/gateway/static/root/assets/{composer-payload-handoff-qheyxoAD.js → composer-payload-handoff-CYXfjpem.js} +1 -1
- package/dist/gateway/static/root/assets/{computer-settings-page-KmaJ2UVz.js → computer-settings-page-DJmod8-w.js} +1 -1
- package/dist/gateway/static/root/assets/connected-providers-grid-b46VH4uy.js +1 -0
- package/dist/gateway/static/root/assets/{connector-service-page-BgexZyHR.js → connector-service-page-BqDbTOTp.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-api-DEYdFCdS.js → connectors-api-CwRuUnH4.js} +1 -1
- package/dist/gateway/static/root/assets/connectors-page-Mq9Bvoax.js +1 -0
- package/dist/gateway/static/root/assets/{date-picker-CSuiNiPU.js → date-picker-DWaT0IC0.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-DHFVFI74.js → dependency-picker-DV9XAt6F.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-DK3tV5PW.js → desktop-pet-Dffq2NxL.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-BKIcBnfQ.js → desktop-pet-settings-CrB1ICax.js} +1 -1
- package/dist/gateway/static/root/assets/{dev-view-store-ZgXvR5Sl.js → dev-view-store-liRgSkcT.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-ZY_cdq5I.js → device-pairing-wizard-1du1hfi5.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-C4N_kXUX.js → directory-picker-path-field-EKqQLQrE.js} +1 -1
- package/dist/gateway/static/root/assets/{discussion-annotation-sync-CdbkKHiR.js → discussion-annotation-sync-D-b1X6ro.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-vdSyb_US.js → extension-debug-page-wD97GeG0.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-iframe-host-D4w7-mf1.js → extension-iframe-host-B4Q1CjvW.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-marketplace-api-BVMU-5FO.js → extension-marketplace-api-ak1_K3u8.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BE7FHMek.js → extension-page-DWFI4iIh.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-8RM98QmD.js → extension-provider-BZwcaU5Y.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page--SP1Dy2l.js → extension-settings-page-cn4KS42C.js} +1 -1
- package/dist/gateway/static/root/assets/{file-preview-surface-CFFuUQVY.js → file-preview-surface-c3gDD9sM.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-i6wzzdws.js → gateway-config-swr-Dmt5JhZU.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-B1CCUrsG.js → gateway-realtime-CJtDXQCt.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-DcsZyYEa.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-restart-B3Odfu1z.js → gateway-restart-DInvvT5u.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-QIwB2Ld0.js → gateway-settings-BZXdv2FE.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-DBpCoigO.js → gateway-startup-retry-s2KcWekp.js} +1 -1
- package/dist/gateway/static/root/assets/{global-defaults-api-GQG-5G20.js → global-defaults-api-DtnmDd87.js} +1 -1
- package/dist/gateway/static/root/assets/{home-page-BsfeSXsZ.js → home-page-CAVjA5rO.js} +2 -2
- package/dist/gateway/static/root/assets/{image-generation-api-CaiTrM7V.js → image-generation-api-RQQokgE9.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-CLkhwelO.js → imports-page-BP_4TubV.js} +1 -1
- package/dist/gateway/static/root/assets/index-BS9mjvSL.js +11 -0
- package/dist/gateway/static/root/assets/index-pT-m6l6b.css +1 -0
- package/dist/gateway/static/root/assets/{install-connector-dialog-B9YBBGhs.js → install-connector-dialog-BNzNuXJ8.js} +1 -1
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DrZQukhN.js → keyboard-shortcuts-settings-DNRQFepg.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page-CecbOjks.js → local-app-workbench-page-CvY5XxbX.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-CkVtgVlJ.js → local-apps-page-DfwEvd8G.js} +1 -1
- package/dist/gateway/static/root/assets/local-session-drafts-CuDdIyxR.js +4 -0
- package/dist/gateway/static/root/assets/{locale-store-_-_QzAV0.js → locale-store-TQcz_Vjt.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-Dok7TpJ0.js → logs-page-eq49F1Rt.js} +1 -1
- package/dist/gateway/static/root/assets/{management-settings-CNbeHUKa.js → management-settings-BaYXDMOJ.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-CFWJhIqU.js → markdown-view-D4nII6Zv.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-BEcCzwnv.js → media-plugins-MvlAY405.js} +1 -1
- package/dist/gateway/static/root/assets/messages-DaLmc4W1.js +3 -0
- package/dist/gateway/static/root/assets/model-selector-nsoNHqif.js +1 -0
- package/dist/gateway/static/root/assets/{models-hub-cache-B1dBNhhc.js → models-hub-cache-CFIazNIF.js} +1 -1
- package/dist/gateway/static/root/assets/note-detail-panel-KPzbHiEW.js +5 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-DticJxxh.js +1 -0
- package/dist/gateway/static/root/assets/{notes-api-ja_AMIh6.js → notes-api-HVxR5bRD.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-_IG1mwIH.js → notes-page-yShJeR3i.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-api-C0NG7Hgs.js → oauth-api-CfKjRVnb.js} +1 -1
- package/dist/gateway/static/root/assets/{oauth-provider-connect-DLQ6Jhjc.js → oauth-provider-connect-D4uqONWr.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-DBlILV5t.js → page-context-capture-button-B98nlKTc.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-draft-CcZSjlMa.js → page-context-draft-HcuK45iu.js} +1 -1
- package/dist/gateway/static/root/assets/page-header-store-D6SzJ9Ch.js +1 -0
- package/dist/gateway/static/root/assets/{personal-avatar-D3tjI4rK.js → personal-avatar-_d72UP_d.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-page-C1gIYjQo.js → personal-page-B19h_3WQ.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-settings-panel-Nm03jL4v.js → personal-settings-panel-CfwtGyue.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-dependencies-card-72RGs4eb.js → phone-dependencies-card-D8bqsDk_.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-model-picker-CNxK_l_B.js → phone-model-picker-CL_Zn6Xd.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-settings-page-D5PodpGU.js → phone-settings-page-C5Jia8eQ.js} +1 -1
- package/dist/gateway/static/root/assets/{phone-workspace-store-Ci43KRd6.js → phone-workspace-store-FBfrfkYq.js} +1 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-gAq2KPzK.js +1 -0
- package/dist/gateway/static/root/assets/{preference-select-fields-CyFvi9Es.js → preference-select-fields-Ck8GAX_y.js} +1 -1
- package/dist/gateway/static/root/assets/{product-automation-feedback-BRdOheLC.js → product-automation-feedback-BJ9oTnNs.js} +2 -2
- package/dist/gateway/static/root/assets/{product-open-page-CIZj7rh-.js → product-open-page-Dw9hUdxP.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-yK-9po5S.js → product-preview-content-C0iPzmSm.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-modal-CkdKPk-W.js → product-preview-modal-COFtHoh6.js} +2 -2
- package/dist/gateway/static/root/assets/{project-detail-page-D_Kft8au.js → project-detail-page-C5Amjah-.js} +3 -3
- package/dist/gateway/static/root/assets/{project-understanding-6raciQr0.js → project-understanding-DpL9ADQU.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-CNCw6Q5o.js → projects-page-gGg9nM2t.js} +1 -1
- package/dist/gateway/static/root/assets/{providers-api-DGeFqpPL.js → providers-api-D6JJRlJb.js} +1 -1
- package/dist/gateway/static/root/assets/{recording-upload-rA0Z6W2g.js → recording-upload-DxX1xKyt.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-5LqCHY-I.js → registry-api-BfXzBR1D.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-DftT6xNt.js → remote-access-hub-BZA4StwC.js} +1 -1
- package/dist/gateway/static/root/assets/{resource-unavailable-CqP8gARc.js → resource-unavailable-X-SIrZYI.js} +1 -1
- package/dist/gateway/static/root/assets/route-preload-CWRb0UCt.js +2 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-CUzfEj0z.js → runtime-tools-api-1DjsPyQ5.js} +1 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-BnCtyORj.js +1 -0
- package/dist/gateway/static/root/assets/{service-recommendation-list-Bo46zqXR.js → service-recommendation-list-ChSOfHHh.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-CZQ-wpwx.js → session-api-rvY5aWw8.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-D2rbRfX3.js +23 -0
- package/dist/gateway/static/root/assets/sessions-page-DAS2IUGT.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-CYDQybNF.js +1 -0
- package/dist/gateway/static/root/assets/{settings-advanced-section-CrqVxpan.js → settings-advanced-section-ZKRIuk7h.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-mode-store-D4AZlZDq.js → settings-mode-store-CtJ8pEfm.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-D-X2rL2k.js → settings-page-B3pUce-_.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-header-CoPd_JDb.js → settings-page-header-DuNCn8i-.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-D39EvFvm.js → settings-page-layout-DeNC8YHJ.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Fc3vuz_h.js +1 -0
- package/dist/gateway/static/root/assets/{share-link-dialog-D4oGzmxA.js → share-link-dialog-B3hwjVAx.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-CArPpOZz.js → share-preview-page-D_9oFzGS.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-DbJOyf2K.js → shares-api-BoUpXmxq.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-Drfuvepz.js +1 -0
- package/dist/gateway/static/root/assets/{skill-api-CQxLO0sy.js → skill-api-By2HhJ9O.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-list-api-BkahlC5N.js → skill-list-api-TaUCzS8Y.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-DZQLAkSr.js → skill-reload-api-CN2fpS1n.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-BBlJMOZU.js → skills-page-LzGLique.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-b2h_YWsq.js → system-settings-panel-Cuyg8Ml3.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-BkvjB6fd.js → task-detail-page-6A9337pK.js} +2 -2
- package/dist/gateway/static/root/assets/{task-result-evidence-DLnPVj6x.js → task-result-evidence-DDubAU_5.js} +1 -1
- package/dist/gateway/static/root/assets/{terminal-panel-store-Xmw-UfZa.js → terminal-panel-store-BNs75Wdr.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-DU_07f3M.js → theme-store-DB1ZfBUm.js} +1 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-TvtX4Goh.js +1 -0
- package/dist/gateway/static/root/assets/{tunnel-api-DD2HgB7G.js → tunnel-api-COoVEdV9.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-activity-store-CyQMYQhD.js → understanding-activity-store-Dr_MLgYe.js} +1 -1
- package/dist/gateway/static/root/assets/{understanding-refresh-store-CTgQYLOe.js → understanding-refresh-store-DGmLGEqw.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-BUZLOZLg.js → usage-page-DP6eb6ed.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-BqTpwsvF.js → use-autosave-itwjDYUb.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-DfP3JrD6.js → use-composer-attachments-hjIGlI_2.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-D2m6BZLU.js → use-file-preview-expanded-ClLa0g8D.js} +2 -2
- package/dist/gateway/static/root/assets/{use-personal-profile-CmLuBSVu.js → use-personal-profile-vhWk6tTU.js} +1 -1
- package/dist/gateway/static/root/assets/{use-workspace-tree-DBvuHcas.js → use-workspace-tree-dfXXjA2-.js} +1 -1
- package/dist/gateway/static/root/assets/user-model-page-D8dswPWd.js +2 -0
- package/dist/gateway/static/root/assets/{voice-api-key-field-DGyL8PYB.js → voice-api-key-field-BIfBySnN.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-CIRG9O8T.js → voice-config-api-J4o59ICE.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-input-shortcut-events-DrVMpqDV.js → voice-input-shortcut-events-B1mlpUdC.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-transcribe-api-H8o-xLEf.js → voice-transcribe-api-xxaSOOmq.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-CobALTh0.js → work-discovery-overlay-DqwT1E5u.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-page-Dxf_Hrwx.js → work-discovery-page-BzYQmPLT.js} +1 -1
- package/dist/gateway/static/root/assets/{working-directory-picker-modal-E9f8G3se.js → working-directory-picker-modal-D2Zf3GOG.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-api-N7bfM4a1.js → workspace-api-Bnx3eS2M.js} +2 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-COUVwj-p.js +1 -0
- package/dist/gateway/static/root/assets/{workspace-file-preview-dialog-BTQfAXNK.js → workspace-file-preview-dialog-D13qHzVr.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-open-location-menu-BOGOi-Ck.js → workspace-open-location-menu-Cou-ig1H.js} +1 -1
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-Dqfy4Lwy.js → xopc-cloud-account-card-DQGPKxHA.js} +1 -1
- package/dist/gateway/static/root/index.html +80 -80
- package/dist/package.js +1 -1
- package/dist/packages/gateway-contract/src/clarification-questions.js +86 -0
- package/dist/packages/gateway-contract/src/clarifications.js +19 -0
- package/dist/packages/gateway-contract/src/index.js +1 -0
- package/dist/packages/gateway-contract/src/session-input-command.js +3 -0
- package/dist/src/agent/agent-manager.js +2 -2
- package/dist/src/agent/background-review/run-background-review.js +2 -2
- package/dist/src/agent/coding/repository-instructions.js +1 -1
- package/dist/src/agent/embedded/index.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +1 -1
- package/dist/src/agent/embedded/run-turn.js +3 -3
- package/dist/src/agent/embedded/session-tool-result-guard.js +2 -2
- package/dist/src/agent/embedded/tool-result-truncation.js +1 -1
- package/dist/src/agent/external-tools/cliProvider.js +2 -2
- package/dist/src/agent/external-tools/composio-provider.js +2 -2
- package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
- package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
- package/dist/src/agent/memory/compaction.js +1 -1
- package/dist/src/agent/memory/context-budget.js +1 -1
- package/dist/src/agent/memory/context-recovery.js +1 -1
- package/dist/src/agent/memory/user-message-text.js +1 -1
- package/dist/src/agent/service/btw-query.js +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +2 -2
- package/dist/src/agent/service.js +1 -1
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/source-context/types.d.ts +1 -0
- package/dist/src/agent/tools/clarify-tool.js +43 -5
- package/dist/src/agent/tools/cli-clarify.js +1 -0
- package/dist/src/agent/tools/dataBatch.js +1 -1
- package/dist/src/agent/tools/personal-read-tool.js +1 -1
- package/dist/src/agent/tools/personal-task-tool.d.ts +1 -1
- package/dist/src/agent/tools/phone-use-tool.js +2 -2
- package/dist/src/agent/tools/session-search-tool.js +1 -1
- package/dist/src/agent/tools/xopc-use-tool.js +2 -2
- package/dist/src/agent-catalog/capabilities.js +2 -2
- package/dist/src/agent-catalog/repository.js +1 -1
- package/dist/src/automations/api/routes.js +2 -2
- package/dist/src/automations/capabilities/drafts.js +1 -1
- package/dist/src/automations/capabilities/write.js +1 -1
- package/dist/src/automations/configuration-conversation.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.js +1 -1
- package/dist/src/capabilities/runtime/dispatcher.js +1 -1
- package/dist/src/capabilities/runtime/product.js +1 -1
- package/dist/src/cli/commands/agent.js +1 -1
- package/dist/src/cli/commands/agents.js +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/models.js +2 -2
- package/dist/src/cli/commands/onboard/model.js +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/commands/platform.js +1 -1
- package/dist/src/cli/commands/profile.js +1 -1
- package/dist/src/cli/commands/tunnel.js +1 -1
- package/dist/src/cli/commands/update.js +1 -1
- package/dist/src/cli/extension-cli-register.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +1 -1
- package/dist/src/computer/diagnostics.d.ts +3 -3
- package/dist/src/computer/evaluation.d.ts +2 -2
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/index.js +1 -1
- package/dist/src/connectors/learning-coordinator.js +1 -1
- package/dist/src/execution-environments/local-worktree-manager.js +1 -1
- package/dist/src/extensions/agent-plugins/skill-catalog.js +1 -1
- package/dist/src/extensions/agent-plugins/validation.js +1 -1
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/ephemeral-clarification-waiter.js +1 -0
- package/dist/src/gateway/global-defaults-admin.js +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/composer-history.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/connectors.js +1 -1
- package/dist/src/gateway/hono/routes/home.js +1 -1
- package/dist/src/gateway/hono/routes/notes.js +2 -2
- package/dist/src/gateway/hono/routes/phone-setup.js +1 -1
- package/dist/src/gateway/hono/routes/phone.js +31 -6
- package/dist/src/gateway/hono/routes/projects.js +2 -2
- package/dist/src/gateway/hono/routes/public-gateway.js +2 -1
- package/dist/src/gateway/hono/routes/session-command-handler.js +1 -0
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +6 -0
- package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
- package/dist/src/gateway/hono/routes/tasks.js +1 -1
- package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -1
- package/dist/src/gateway/image-generation-setup.js +1 -1
- package/dist/src/gateway/next-turn-suggestions/snapshot.js +1 -1
- package/dist/src/gateway/service/agent-runner.js +8 -3
- package/dist/src/gateway/service/run-gateway-agent.js +1 -1
- package/dist/src/gateway/service/session-input-coordinator.js +5 -4
- package/dist/src/gateway/service.js +7 -7
- package/dist/src/gateway/xopc-cloud-capability-setup.js +1 -1
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/imports/importService.js +1 -1
- package/dist/src/local-apps/service.js +1 -1
- package/dist/src/personal-agent/service.js +1 -1
- package/dist/src/phone/assistance.js +3 -0
- package/dist/src/phone/contracts.d.ts +4 -0
- package/dist/src/phone/runtime.d.ts +7 -1
- package/dist/src/phone/runtime.js +31 -24
- package/dist/src/routing/agent-session-key.js +1 -1
- package/dist/src/runtime-tools/archive.js +1 -1
- package/dist/src/session/session-context-for-llm.js +1 -0
- package/dist/src/session/session-title.js +1 -1
- package/dist/src/storage/sqlite/clarification-wait-repository.js +45 -4
- package/dist/src/storage/sqlite/index.js +6 -6
- package/dist/src/storage/sqlite/session-creation-repository.js +1 -1
- package/dist/src/storage/sqlite/session-repository.js +1 -1
- package/dist/src/tasks/capabilities/read.js +2 -2
- package/dist/src/tasks/capabilities/write.js +1 -1
- package/dist/src/tasks/home-query-service.js +1 -1
- package/dist/src/tasks/task-allocation-repository.js +1 -1
- package/dist/src/tui/backends/embedded-backend.js +2 -2
- package/dist/src/voice/realtime/persona-context.js +1 -1
- package/package.json +2 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-L6J-FYQS.js +0 -1
- package/dist/gateway/static/root/assets/automation-task-card-BV7hPwN1.js +0 -3
- package/dist/gateway/static/root/assets/automations-workspace-CPFYdI8m.js +0 -9
- package/dist/gateway/static/root/assets/capabilities-page-ljQTg4T5.js +0 -2
- package/dist/gateway/static/root/assets/connected-providers-grid-BIX82L4N.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-BawS0DUd.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BFCA_TAU.js +0 -1
- package/dist/gateway/static/root/assets/index-Dv8mUlNN.css +0 -1
- package/dist/gateway/static/root/assets/index-GX_PTIj6.js +0 -11
- package/dist/gateway/static/root/assets/local-session-drafts-DVSVgTCK.js +0 -1
- package/dist/gateway/static/root/assets/messages-D1u8VsPq.js +0 -3
- package/dist/gateway/static/root/assets/model-selector-DKB20MJY.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-COp5zpe4.js +0 -5
- package/dist/gateway/static/root/assets/note-image-lightbox-DvtEn8dg.js +0 -1
- package/dist/gateway/static/root/assets/page-header-store-RgQRaRbH.js +0 -1
- package/dist/gateway/static/root/assets/plugin-details-dialog-D_Lkepqt.js +0 -1
- package/dist/gateway/static/root/assets/route-preload-Hr12PIMD.js +0 -2
- package/dist/gateway/static/root/assets/runtime-impact-DbySfhdp.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-VIFAEKJi.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-DhoRfUGE.js +0 -23
- package/dist/gateway/static/root/assets/sessions-page-BISYL6iE.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-BLnNiubD.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-DyzdCgrb.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-BFLomErf.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-CemIMuec.js +0 -1
- package/dist/gateway/static/root/assets/user-model-page-BhX_Ahlu.js +0 -2
- package/dist/gateway/static/root/assets/workspace-editor-agent-store-Cb4TlnKX.js +0 -1
|
@@ -4,10 +4,10 @@ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "
|
|
|
4
4
|
import { init_session_instance_repository, readCurrentTranscriptId } from "../../storage/sqlite/session-instance-repository.js";
|
|
5
5
|
import { SessionInstanceChangedError, cancelQueuedSessionInput, claimNextSessionInput, findSessionInput, findSessionInputByRunId, finishSessionInputRun, getSessionInputById, getSessionInputState, init_session_input_repository, insertSessionInput, mutateQueuedSessionInput, recoverSessionInputState, setSessionInputStatus } from "../../storage/sqlite/session-input-repository.js";
|
|
6
6
|
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
7
|
-
import { consumeClarificationResume, getActiveClarification, supersedeActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
|
|
8
|
-
import { replaceLatestSessionTurnAndQueueInput, validateLatestSessionTurnTarget } from "../../storage/sqlite/session-turn-replace-repository.js";
|
|
9
7
|
import { cancelConnectionObjective, consumeConnectionResume, getActiveConnectionWait, getConnectionWait, hasPendingConnectionMessages, init_connection_wait_repository, interruptedConnectionMessage, publishConnectionWait, reconcileConnectionWaits } from "../../storage/sqlite/connection-wait-repository.js";
|
|
10
8
|
import { appendTranscriptEntry } from "../../storage/sqlite/transcript-repository.js";
|
|
9
|
+
import { consumeClarificationResume, getActiveClarification, supersedeActiveClarification } from "../../storage/sqlite/clarification-wait-repository.js";
|
|
10
|
+
import { replaceLatestSessionTurnAndQueueInput, validateLatestSessionTurnTarget } from "../../storage/sqlite/session-turn-replace-repository.js";
|
|
11
11
|
import "../../storage/sqlite/index.js";
|
|
12
12
|
import { emitSessionTranscriptUpdate } from "../../session/transcript-events.js";
|
|
13
13
|
import { consumePhoneAssistance, finishPhoneAssistance, phoneAssistance, queuePhoneAssistance, reconcilePhoneAssistance } from "../../phone/assistance.js";
|
|
@@ -50,9 +50,10 @@ function connectionInputPayload(wait, control) {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
function sameAppContext(input, existing) {
|
|
53
|
-
const identity = (sources) => sources?.filter((source) => source.kind === "app_context").map((source) => ({
|
|
53
|
+
const identity = (sources) => sources?.filter((source) => source.kind === "app_context" || source.kind === "device_context").map((source) => ({
|
|
54
54
|
snapshot: source.appContext,
|
|
55
|
-
principal: source.appContextGrant?.principal.principalId
|
|
55
|
+
principal: source.appContextGrant?.principal.principalId,
|
|
56
|
+
interactionCapabilities: source.interactionCapabilities
|
|
56
57
|
})) ?? [];
|
|
57
58
|
return isDeepStrictEqual(input.origin, existing.origin) && isDeepStrictEqual(identity(input.sourceContexts), identity(existing.contextSnapshots));
|
|
58
59
|
}
|
|
@@ -85,8 +85,8 @@ import { registerClarificationChannelRuntime } from "./clarify-runtime.js";
|
|
|
85
85
|
import { ChannelManager } from "../channels/manager.js";
|
|
86
86
|
import { ChatPreviewService } from "../chat-previews/service.js";
|
|
87
87
|
import "../chat-previews/index.js";
|
|
88
|
-
import "../config/index.js";
|
|
89
88
|
import { configureGatewayHttpProxy } from "../infra/http-proxy-env.js";
|
|
89
|
+
import "../config/index.js";
|
|
90
90
|
import { ManagedComposioEventPoller } from "../connectors/composio-managed-events.js";
|
|
91
91
|
import { startConnectedKnowledgeCoordinator } from "../knowledge/coordinator.js";
|
|
92
92
|
import "../knowledge/index.js";
|
|
@@ -94,18 +94,14 @@ import { PersonalReplyComposer } from "../personal-agent/reply-composer.js";
|
|
|
94
94
|
import { ConnectionRecoveryService } from "../connectors/connection-recovery-service.js";
|
|
95
95
|
import { startConnectorLearningCoordinator } from "../connectors/learning-coordinator.js";
|
|
96
96
|
import { startConnectorSupervisor } from "../connectors/supervisor.js";
|
|
97
|
-
import { EndpointToolRuntime } from "../endpoint-tools/runtime.js";
|
|
98
|
-
import "../endpoint-tools/index.js";
|
|
99
97
|
import { DiscussionService } from "../discussions/service.js";
|
|
100
98
|
import { DiscussionOrganizer } from "../discussions/organizer.js";
|
|
101
99
|
import { DiscussionLiveWorker } from "../discussions/live-worker.js";
|
|
102
100
|
import { DiscussionOrganizerWorker } from "../discussions/organizer-worker.js";
|
|
103
101
|
import { DiscussionSealer } from "../discussions/sealer.js";
|
|
104
102
|
import "../discussions/index.js";
|
|
105
|
-
import {
|
|
106
|
-
import
|
|
107
|
-
import { HomeIntelligenceHost } from "../home-intelligence/host.js";
|
|
108
|
-
import { HomeSnapshotBuilder } from "../home-intelligence/snapshot.js";
|
|
103
|
+
import { EndpointToolRuntime } from "../endpoint-tools/runtime.js";
|
|
104
|
+
import "../endpoint-tools/index.js";
|
|
109
105
|
import { assertGatewayAuthConfigured, extractToken, resolveGatewayAuth, validateToken } from "./auth.js";
|
|
110
106
|
import { prepareAutomationAgentSession } from "./automation-agent-session.js";
|
|
111
107
|
import { deliverAutomationCompletion } from "./automation-completion-delivery.js";
|
|
@@ -167,6 +163,10 @@ import { TaskMainUpdateDecisionService } from "../tasks/task-main-update-decisio
|
|
|
167
163
|
import { selectTaskMainUpdateAttempt, submitAndConfirmTaskMainUpdate } from "../tasks/task-main-update-input.js";
|
|
168
164
|
import { checkAppContextAccess, prepareAppContext } from "./service/app-context-access.js";
|
|
169
165
|
import { applyAutomaticVoiceLanguage, inferProductLanguageFromEnvironment, initializeVoiceDefaults } from "../voice/language-profile.js";
|
|
166
|
+
import { HomeAdviceGenerator } from "../home-intelligence/generator.js";
|
|
167
|
+
import { HomeIntelligenceHost } from "../home-intelligence/host.js";
|
|
168
|
+
import { HomeSnapshotBuilder } from "../home-intelligence/snapshot.js";
|
|
169
|
+
import { HomeCapabilityPreflightService } from "../home-intelligence/capability-preflight.js";
|
|
170
170
|
import crypto from "node:crypto";
|
|
171
171
|
//#region src/gateway/service.ts
|
|
172
172
|
init_session_repository();
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import "../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 { ConfigSchema, init_schema } from "../config/schema.js";
|
|
6
5
|
import { init_model_policy, isComputerModel, isDedicatedComputerProfile } from "../computer/model-policy.js";
|
|
7
6
|
import { voiceSupportsMode } from "../../packages/realtime-protocol/src/voice-catalog.js";
|
|
@@ -9,6 +8,7 @@ import { init_voice } from "../../packages/realtime-protocol/src/voice.js";
|
|
|
9
8
|
import { getModelCatalogStore, init_model_catalog_store } from "../providers/model-catalog-store.js";
|
|
10
9
|
import { phoneModelProfile } from "../phone/model-adapter.js";
|
|
11
10
|
import { compareCatalogModels } from "../providers/model-catalog-ranking.js";
|
|
11
|
+
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
12
12
|
import { prepareUpdateGlobalDefaults } from "./global-defaults-admin.js";
|
|
13
13
|
//#region src/gateway/xopc-cloud-capability-setup.ts
|
|
14
14
|
init_voice();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
+
import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
|
|
3
4
|
import { homePatternKey } from "./strategy.js";
|
|
5
|
+
import { HomeAdvicePolicy } from "./policy.js";
|
|
4
6
|
import { HomeIntelligenceRepository } from "./repository.js";
|
|
5
7
|
import { HomeOpportunityApplicationService } from "./application-service.js";
|
|
6
|
-
import { HomeAdvicePolicy } from "./policy.js";
|
|
7
|
-
import { HomeAdviceBudgetExceededError, isHomeProseLocalized } from "./generator.js";
|
|
8
8
|
import { buildHomeOpportunityNotification } from "./notification.js";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
//#region src/home-intelligence/host.ts
|
|
@@ -11,8 +11,8 @@ import { scanLocal } from "./scanner.js";
|
|
|
11
11
|
import { dirname, join } from "node:path";
|
|
12
12
|
import { existsSync, lstatSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
13
13
|
import { randomUUID } from "node:crypto";
|
|
14
|
-
import yaml from "js-yaml";
|
|
15
14
|
import lockfile from "proper-lockfile";
|
|
15
|
+
import yaml from "js-yaml";
|
|
16
16
|
//#region src/imports/importService.ts
|
|
17
17
|
init_write_file_atomic();
|
|
18
18
|
init_logger();
|
|
@@ -5,9 +5,9 @@ import { init_logger } from "../utils/logger.js";
|
|
|
5
5
|
import { afterSqliteCommit, init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
|
|
6
6
|
import { ExtensionCapabilityBindingsSchema, extensionCapabilityPermissions } from "../../packages/gateway-contract/src/extension-capabilities.js";
|
|
7
7
|
import { init_src } from "../../packages/gateway-contract/src/index.js";
|
|
8
|
-
import { CapabilityError } from "../capabilities/runtime/errors.js";
|
|
9
8
|
import { init_paths, resolveExtensionsDir } from "../config/paths.js";
|
|
10
9
|
import { slugifyProjectName } from "../projects/project-store.js";
|
|
10
|
+
import { CapabilityError } from "../capabilities/runtime/errors.js";
|
|
11
11
|
import { LocalAppStore } from "./store.js";
|
|
12
12
|
import { DomainOutboxDispatcher } from "../infra/domain-outbox-dispatcher.js";
|
|
13
13
|
import { validateLocalAppCapabilityContracts } from "./capabilities/contracts.js";
|
|
@@ -2,13 +2,13 @@ import { getSessionMetadata } from "../storage/sqlite/session-read-repository.js
|
|
|
2
2
|
import { init_session_repository, patchSessionMetadata } from "../storage/sqlite/session-repository.js";
|
|
3
3
|
import { setSessionConfig } from "../storage/sqlite/config-repository.js";
|
|
4
4
|
import { AgentCatalogRepository, init_repository } from "../agent-catalog/repository.js";
|
|
5
|
-
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
6
5
|
import { createConversation, init_conversation_repository } from "../storage/sqlite/conversation-repository.js";
|
|
7
6
|
import { getAvailableModels, init_providers } from "../providers/index.js";
|
|
8
7
|
import { getPersonalAgent, personalAgentId } from "./repository.js";
|
|
9
8
|
import { PERSONAL_MAIN_TOOL_IDS, PERSONAL_READ_TOOL_ALIASES } from "./policy.js";
|
|
10
9
|
import { getModelThinking } from "../providers/model-thinking.js";
|
|
11
10
|
import { personalInstructions } from "./prompts.js";
|
|
11
|
+
import { AgentCatalogService } from "../agent-catalog/service.js";
|
|
12
12
|
import { completePersonalOnboarding } from "./onboarding.js";
|
|
13
13
|
import { z } from "zod";
|
|
14
14
|
//#region src/personal-agent/service.ts
|
|
@@ -251,6 +251,9 @@ function phoneAssistanceReport(wait) {
|
|
|
251
251
|
return {
|
|
252
252
|
...wait.checkpoint.report,
|
|
253
253
|
assistanceId: wait.id,
|
|
254
|
+
assistanceVersion: wait.version,
|
|
255
|
+
transcriptId: wait.transcriptId,
|
|
256
|
+
hasPendingTask: true,
|
|
254
257
|
reconnectRequired: true,
|
|
255
258
|
mock: false,
|
|
256
259
|
mode: "control",
|
|
@@ -376,6 +376,10 @@ export type PhoneReading = {
|
|
|
376
376
|
};
|
|
377
377
|
export type PhoneReport = {
|
|
378
378
|
assistanceId?: string;
|
|
379
|
+
assistanceVersion?: number;
|
|
380
|
+
transcriptId?: string;
|
|
381
|
+
revision?: number;
|
|
382
|
+
hasPendingTask?: boolean;
|
|
379
383
|
reconnectRequired?: boolean;
|
|
380
384
|
sessionId: string;
|
|
381
385
|
deviceId: string;
|
|
@@ -92,6 +92,10 @@ export declare class PhoneRuntime {
|
|
|
92
92
|
report: {
|
|
93
93
|
nextExecutionMode: "collaborative" | "direct";
|
|
94
94
|
assistanceId?: string;
|
|
95
|
+
assistanceVersion?: number;
|
|
96
|
+
transcriptId?: string;
|
|
97
|
+
revision?: number;
|
|
98
|
+
hasPendingTask?: boolean;
|
|
95
99
|
reconnectRequired?: boolean;
|
|
96
100
|
sessionId: string;
|
|
97
101
|
deviceId: string;
|
|
@@ -159,7 +163,9 @@ export declare class PhoneRuntime {
|
|
|
159
163
|
};
|
|
160
164
|
liveVideo(owner: string, id: string, context: ExecutionContext): Promise<PhoneInteractiveSession>;
|
|
161
165
|
private openLiveVideo;
|
|
162
|
-
disconnectVideo(owner: string, id: string,
|
|
166
|
+
disconnectVideo(owner: string, id: string, _client: string, _epoch?: number): Promise<void>;
|
|
167
|
+
private clearExpiredHuman;
|
|
168
|
+
private expireHuman;
|
|
163
169
|
liveFrame(owner: string, id: string, context: ExecutionContext, signal: AbortSignal): Promise<{
|
|
164
170
|
frame: Buffer<ArrayBuffer>;
|
|
165
171
|
height: number;
|
|
@@ -330,6 +330,8 @@ var PhoneRuntime = class {
|
|
|
330
330
|
modelRequests: session.report.modelRequests - session.segmentUsage.modelRequests,
|
|
331
331
|
activeDurationMs: session.segmentUsage.activeDurationMs + (session.budget?.elapsedMs ?? 0)
|
|
332
332
|
}, session.report.feedback);
|
|
333
|
+
session.report.revision = (session.report.revision ?? 0) + 1;
|
|
334
|
+
session.report.hasPendingTask = Boolean(session.taskPending);
|
|
333
335
|
session.report.updatedAt = Date.now();
|
|
334
336
|
if (session.report.task) updatePhoneCheckpoint(session.report.owner, this.checkpoint(session));
|
|
335
337
|
this.repository.report(session.report);
|
|
@@ -1665,15 +1667,7 @@ var PhoneRuntime = class {
|
|
|
1665
1667
|
this.stopDevice(session.device.id);
|
|
1666
1668
|
continue;
|
|
1667
1669
|
}
|
|
1668
|
-
if (session.human && Date.now() > (session.humanExpiresAt ?? 0))
|
|
1669
|
-
session.human = void 0;
|
|
1670
|
-
session.report.controlOwner = "none";
|
|
1671
|
-
session.report.controlEpoch++;
|
|
1672
|
-
session.report.status = "paused";
|
|
1673
|
-
session.report.stopReason = "control_disconnected";
|
|
1674
|
-
this.publish(session);
|
|
1675
|
-
session.stream?.revoke().catch(() => this.stop(session.report.owner, "cancel"));
|
|
1676
|
-
}
|
|
1670
|
+
if (session.human && Date.now() > (session.humanExpiresAt ?? 0)) this.expireHuman(session).catch(() => this.stop(session.report.owner, "cancel"));
|
|
1677
1671
|
if (Date.now() - session.viewedAt > 3e4) session.frames.clear();
|
|
1678
1672
|
} catch {
|
|
1679
1673
|
session.frames.clear();
|
|
@@ -1776,28 +1770,39 @@ var PhoneRuntime = class {
|
|
|
1776
1770
|
throw error;
|
|
1777
1771
|
}
|
|
1778
1772
|
}
|
|
1779
|
-
async disconnectVideo(owner, id,
|
|
1773
|
+
async disconnectVideo(owner, id, _client, _epoch) {
|
|
1780
1774
|
const session = this.sessions.get(owner);
|
|
1781
1775
|
if (!session || session.report.sessionId !== id) return;
|
|
1782
|
-
if (session.human === client && (epoch === void 0 || session.report.controlEpoch === epoch)) {
|
|
1783
|
-
session.human = void 0;
|
|
1784
|
-
session.report.controlOwner = "none";
|
|
1785
|
-
session.report.controlEpoch++;
|
|
1786
|
-
session.report.status = "paused";
|
|
1787
|
-
session.report.stopReason = "control_disconnected";
|
|
1788
|
-
this.publish(session);
|
|
1789
|
-
try {
|
|
1790
|
-
await session.stream?.revoke();
|
|
1791
|
-
} catch {
|
|
1792
|
-
await this.stop(owner, "cancel");
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
1776
|
if (session.stream?.viewerCount === 0) {
|
|
1796
1777
|
const stream = session.stream;
|
|
1797
1778
|
session.stream = void 0;
|
|
1798
1779
|
await stream.close();
|
|
1799
1780
|
}
|
|
1800
1781
|
}
|
|
1782
|
+
async clearExpiredHuman(session) {
|
|
1783
|
+
if (!session.human || Date.now() <= (session.humanExpiresAt ?? 0)) return;
|
|
1784
|
+
session.human = void 0;
|
|
1785
|
+
session.report.controlOwner = "none";
|
|
1786
|
+
session.report.controlEpoch++;
|
|
1787
|
+
session.report.status = "paused";
|
|
1788
|
+
session.report.stopReason = "control_disconnected";
|
|
1789
|
+
session.report.handoff = "acquiring";
|
|
1790
|
+
this.publish(session);
|
|
1791
|
+
try {
|
|
1792
|
+
await session.stream?.revoke();
|
|
1793
|
+
} catch (error) {
|
|
1794
|
+
await this.stop(session.report.owner, "cancel");
|
|
1795
|
+
throw error;
|
|
1796
|
+
} finally {
|
|
1797
|
+
session.report.handoff = "idle";
|
|
1798
|
+
this.publish(session);
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
expireHuman(session) {
|
|
1802
|
+
const work = session.commands.catch(() => {}).then(() => this.clearExpiredHuman(session));
|
|
1803
|
+
session.commands = work.catch(() => {});
|
|
1804
|
+
return work;
|
|
1805
|
+
}
|
|
1801
1806
|
async liveFrame(owner, id, context, signal) {
|
|
1802
1807
|
const session = this.liveSession(owner, id, context);
|
|
1803
1808
|
if (terminal.has(session.report.status)) {
|
|
@@ -1857,6 +1862,7 @@ var PhoneRuntime = class {
|
|
|
1857
1862
|
if (terminal.has(session.report.status)) throw new PhoneError("PHONE_OPEN_REQUIRED", "Phone session ended", 409);
|
|
1858
1863
|
this.guard(session, context, input.op === "handback");
|
|
1859
1864
|
if (session.switching) throw new PhoneError("PHONE_SESSION_BUSY", "Phone execution mode is changing", 409);
|
|
1865
|
+
await this.clearExpiredHuman(session);
|
|
1860
1866
|
if (input.epoch !== session.report.controlEpoch) throw new PhoneError("PHONE_CONTROL_CHANGED", "Control changed. Refresh before trying again.", 409);
|
|
1861
1867
|
if (session.human && session.human !== client) throw new PhoneError("PHONE_CONTROL_BUSY", "Another browser window controls this phone", 409);
|
|
1862
1868
|
if (input.op === "cancel") {
|
|
@@ -1992,7 +1998,8 @@ var PhoneRuntime = class {
|
|
|
1992
1998
|
if (!session) throw new PhoneError("PHONE_OPEN_REQUIRED", "Reconnect the phone before continuing", 409);
|
|
1993
1999
|
this.guard(session, context);
|
|
1994
2000
|
if (session.report.controlOwner === "agent" && session.report.status === "ready") return;
|
|
1995
|
-
|
|
2001
|
+
if (session.human) throw new PhoneError("PHONE_CONTROL_BUSY", "Another client is operating the phone. End manual control before continuing.", 409);
|
|
2002
|
+
await this.liveControl(owner, session.report.sessionId, context, `phone-user:${owner}`, {
|
|
1996
2003
|
op: "handback",
|
|
1997
2004
|
epoch: session.report.controlEpoch,
|
|
1998
2005
|
operationId: randomUUID()
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { validateConversationId } from "../../packages/gateway-contract/src/conversation-identity.js";
|
|
3
3
|
import { init_src } from "../../packages/gateway-contract/src/index.js";
|
|
4
|
+
import { init_string_coerce, normalizeLowercaseStringOrEmpty } from "../utils/string-coerce.js";
|
|
4
5
|
import { DEFAULT_ACCOUNT_ID, init_account_id, normalizeAccountId, normalizeOptionalAccountId } from "./account-id.js";
|
|
5
6
|
import { init_conversation_repository, requireConversation, resolveRoutedConversation } from "../storage/sqlite/conversation-repository.js";
|
|
6
|
-
import { init_string_coerce, normalizeLowercaseStringOrEmpty } from "../utils/string-coerce.js";
|
|
7
7
|
//#region src/routing/agent-session-key.ts
|
|
8
8
|
function normalizeMainKey(value) {
|
|
9
9
|
return normalizeLowercaseStringOrEmpty(value) || "main";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RuntimeError } from "./errors.js";
|
|
2
2
|
import { isAbsolute, join, posix, relative, resolve } from "node:path";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
|
-
import { lstat, mkdir, readdir, readlink, rename, rm, stat } from "node:fs/promises";
|
|
5
4
|
import AdmZip from "adm-zip";
|
|
5
|
+
import { lstat, mkdir, readdir, readlink, rename, rm, stat } from "node:fs/promises";
|
|
6
6
|
//#region src/runtime-tools/archive.ts
|
|
7
7
|
const MAX_ARCHIVE_ENTRIES = 5e4;
|
|
8
8
|
const MAX_TAR_OUTPUT_BYTES = 16 * 1024 * 1024;
|
|
@@ -298,6 +298,7 @@ function buildSessionContextForLlm(rows) {
|
|
|
298
298
|
continue;
|
|
299
299
|
}
|
|
300
300
|
if (isTranscriptCustomMessageEntry(r)) {
|
|
301
|
+
if (r.customType === "clarification_answers") continue;
|
|
301
302
|
if (r.customType === "task_allocation_status" && isRoutineTaskAllocationStatus(r.details)) continue;
|
|
302
303
|
if (r.customType === "personal_request_status" || r.customType === "connection_control_status") continue;
|
|
303
304
|
if (r.customType === "personal_proactive_message") {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createLogger } from "../utils/logger/index.js";
|
|
2
2
|
import { init_logger } from "../utils/logger.js";
|
|
3
|
+
import { readAgentMessageContent } from "../agent/memory/agent-message-access.js";
|
|
3
4
|
import { getConversationRouting } from "../storage/sqlite/conversation-repository.js";
|
|
4
5
|
import { isCronConversationId } from "../routing/agent-session-key.js";
|
|
5
6
|
import { init_session_key } from "../routing/session-key.js";
|
|
6
7
|
import { init_providers, resolveModel } from "../providers/index.js";
|
|
7
8
|
import { completeWithResolvedCredentials } from "../providers/model-call.js";
|
|
8
9
|
import { stripRuntimeContextFromUserMessage } from "./user-message-display.js";
|
|
9
|
-
import { readAgentMessageContent } from "../agent/memory/agent-message-access.js";
|
|
10
10
|
//#region src/session/session-title.ts
|
|
11
11
|
init_session_key();
|
|
12
12
|
init_providers();
|
|
@@ -5,6 +5,8 @@ import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
|
5
5
|
import { init_session_instance_repository, readCurrentTranscriptId } from "./session-instance-repository.js";
|
|
6
6
|
import { bumpSessionInputRevision, getSessionInputById, getSessionInputState, init_session_input_repository, insertSessionInput } from "./session-input-repository.js";
|
|
7
7
|
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
8
|
+
import { appendTranscriptEntry } from "./transcript-repository.js";
|
|
9
|
+
import { estimateTextTokens } from "../../agent/memory/context-budget.js";
|
|
8
10
|
import { randomUUID } from "node:crypto";
|
|
9
11
|
//#region src/storage/sqlite/clarification-wait-repository.ts
|
|
10
12
|
init_src();
|
|
@@ -16,7 +18,8 @@ init_transaction();
|
|
|
16
18
|
const APPROVAL_TTL_MS = 10 * 6e4;
|
|
17
19
|
const STALE_CONTEXT_MS = 1440 * 6e4;
|
|
18
20
|
function rowToWait(row) {
|
|
19
|
-
|
|
21
|
+
const wait = JSON.parse(row.data_json);
|
|
22
|
+
return wait.schemaVersion === 2 ? normalizeClarificationQuestion(wait) : wait;
|
|
20
23
|
}
|
|
21
24
|
function getRow(id) {
|
|
22
25
|
return getSqliteDatabase().prepare(`SELECT id, conversation_id, transcript_id, status, version, data_json
|
|
@@ -176,6 +179,8 @@ function createClarificationWait(input) {
|
|
|
176
179
|
kind: input.kind,
|
|
177
180
|
status: "open",
|
|
178
181
|
question: input.question.trim(),
|
|
182
|
+
schemaVersion: input.schemaVersion,
|
|
183
|
+
questions: input.questions,
|
|
179
184
|
interactionMode: input.interactionMode,
|
|
180
185
|
choiceDetails: input.choiceDetails,
|
|
181
186
|
recommendedChoiceId: input.recommendedChoiceId,
|
|
@@ -232,10 +237,12 @@ function resolveClarification(input) {
|
|
|
232
237
|
let normalized;
|
|
233
238
|
try {
|
|
234
239
|
if (input.action === "answer") normalized = normalizeClarificationSubmission(wait, {
|
|
240
|
+
schemaVersion: input.schemaVersion,
|
|
241
|
+
answers: input.answers,
|
|
235
242
|
response: input.response,
|
|
236
243
|
decision: input.decision
|
|
237
244
|
});
|
|
238
|
-
else if (input.response !== void 0 || input.decision !== void 0) return {
|
|
245
|
+
else if (input.response !== void 0 || input.decision !== void 0 || input.answers !== void 0) return {
|
|
239
246
|
ok: false,
|
|
240
247
|
code: "INVALID"
|
|
241
248
|
};
|
|
@@ -245,13 +252,28 @@ function resolveClarification(input) {
|
|
|
245
252
|
code: "INVALID"
|
|
246
253
|
};
|
|
247
254
|
}
|
|
255
|
+
if (wait.schemaVersion === 2 && normalized && estimateTextTokens(normalized.answer) > 2e3) return {
|
|
256
|
+
ok: false,
|
|
257
|
+
code: "INVALID"
|
|
258
|
+
};
|
|
259
|
+
if (wait.schemaVersion === 2 !== (input.schemaVersion === 2)) return {
|
|
260
|
+
ok: false,
|
|
261
|
+
code: "INVALID"
|
|
262
|
+
};
|
|
263
|
+
const responseIdentity = JSON.stringify({
|
|
264
|
+
schemaVersion: wait.schemaVersion ?? 1,
|
|
265
|
+
action: input.action,
|
|
266
|
+
answers: normalized?.answers,
|
|
267
|
+
response: normalized?.response,
|
|
268
|
+
decision: normalized?.decision
|
|
269
|
+
});
|
|
248
270
|
if (input.action === "agent_decide" && wait.kind === "approval") return {
|
|
249
271
|
ok: false,
|
|
250
272
|
code: "INVALID"
|
|
251
273
|
};
|
|
252
274
|
const resolution = input.action === "answer" ? "answered" : input.action === "agent_decide" ? "agent_decide" : "cancelled";
|
|
253
275
|
if (wait.responseIdempotencyKey === input.idempotencyKey) {
|
|
254
|
-
if (wait.resolution !== resolution || normalized && wait.answer !== normalized.answer) return {
|
|
276
|
+
if (wait.resolution !== resolution || (wait.schemaVersion === 2 ? wait.responseIdentity !== responseIdentity : normalized && wait.answer !== normalized.answer)) return {
|
|
255
277
|
ok: false,
|
|
256
278
|
code: "CONFLICT",
|
|
257
279
|
clarification: wait
|
|
@@ -279,6 +301,7 @@ function resolveClarification(input) {
|
|
|
279
301
|
status: "cancelled",
|
|
280
302
|
resolution,
|
|
281
303
|
responseIdempotencyKey: input.idempotencyKey,
|
|
304
|
+
responseIdentity,
|
|
282
305
|
resolvedAt: now,
|
|
283
306
|
updatedAt: now
|
|
284
307
|
}, wait.version);
|
|
@@ -298,10 +321,14 @@ function resolveClarification(input) {
|
|
|
298
321
|
};
|
|
299
322
|
}
|
|
300
323
|
const answer = input.action === "agent_decide" ? "Use your best judgment and continue without additional user input." : normalized.answer;
|
|
324
|
+
const resumeInputId = randomUUID();
|
|
301
325
|
const queued = writeWait({
|
|
302
326
|
...wait,
|
|
303
327
|
status: "queued",
|
|
304
328
|
response: normalized?.response,
|
|
329
|
+
answers: normalized?.answers,
|
|
330
|
+
responseIdentity,
|
|
331
|
+
resumeInputId,
|
|
305
332
|
decision: normalized?.decision,
|
|
306
333
|
answer,
|
|
307
334
|
resolution,
|
|
@@ -324,7 +351,7 @@ function resolveClarification(input) {
|
|
|
324
351
|
].filter(Boolean).join("\n");
|
|
325
352
|
const origin = getSessionInputById(wait.conversationId, wait.originInputId);
|
|
326
353
|
insertSessionInput({
|
|
327
|
-
id:
|
|
354
|
+
id: resumeInputId,
|
|
328
355
|
conversationId: wait.conversationId,
|
|
329
356
|
expectedTranscriptId: wait.transcriptId,
|
|
330
357
|
clientMessageId: input.idempotencyKey,
|
|
@@ -347,6 +374,20 @@ function resolveClarification(input) {
|
|
|
347
374
|
source: "internal"
|
|
348
375
|
}
|
|
349
376
|
});
|
|
377
|
+
if (wait.schemaVersion === 2) appendTranscriptEntry(wait.conversationId, {
|
|
378
|
+
role: "custom",
|
|
379
|
+
customType: "clarification_answers",
|
|
380
|
+
display: true,
|
|
381
|
+
content: answer,
|
|
382
|
+
details: {
|
|
383
|
+
waitId: wait.id,
|
|
384
|
+
schemaVersion: 2,
|
|
385
|
+
questions: wait.questions,
|
|
386
|
+
answers: normalized?.answers,
|
|
387
|
+
resolution
|
|
388
|
+
},
|
|
389
|
+
timestamp: now
|
|
390
|
+
}, { transcriptId: wait.transcriptId });
|
|
350
391
|
return {
|
|
351
392
|
ok: true,
|
|
352
393
|
clarification: queued,
|
|
@@ -15,9 +15,14 @@ import { createCollaborationRule, getCollaborationRule, listCollaborationRules,
|
|
|
15
15
|
import { createContextEvidence } from "./context-evidence-repository.js";
|
|
16
16
|
import { getUserPeopleIndexState, getUserPerson, listUserPeople, mergeUserPeople, replaceUserPeopleIndex, summarizeUserPeople, updateUserPerson } from "./user-people-repository.js";
|
|
17
17
|
import { cancelQueuedSessionInput, claimNextSessionInput, findSessionInput, finishSessionInputRun, getSessionInputById, getSessionInputState, init_session_input_repository, insertSessionInput, listActiveSessionInputExecutions, listActiveSessionInputRuns, listTaskUpdateRunIds, listTaskUpdateTriggers, mutateQueuedSessionInput, recoverSessionInputState, setSessionInputStatus } from "./session-input-repository.js";
|
|
18
|
-
import { consumeClarificationApproval, consumeClarificationResume, createClarificationWait, getActiveClarification, getClarification, getClarificationResumeInput, getClarificationSnapshot, isClarificationSuspended, resolveClarification, supersedeActiveClarification } from "./clarification-wait-repository.js";
|
|
19
18
|
import { buildDefaultSessionMetadata, init_session_metadata } from "./session-metadata.js";
|
|
20
19
|
import { buildGlobalSessionStats, classifyStoredRow, estimateTokensFromMessages, extractFtsContent, init_row_mappers, metadataToSessionInsert, sessionConfigRowToConfig, sessionRowToMetadata, transcriptEntryRowToStoredRow } from "./row-mappers.js";
|
|
20
|
+
import { getConnectorAccount, init_connector_account_repository, listConnectorAccounts, reconcileConnectorAccount, refreshConnectorAccountCurrent } from "./connector-account-repository.js";
|
|
21
|
+
import { appendConnectorExecutionAudit, claimConnectorWebhookDelivery, completeConnectorWebhookDelivery, consumeConnectorApproval, createConnectorApproval, decideConnectorApproval, deleteConnectorConnection, deleteConnectorInstallation, getCachedConnectorCatalogEntry, getConnectorApproval, getConnectorConnection, getConnectorInstallation, init_connector_repository, listCachedConnectorCatalogEntries, listConnectorActionMetadata, listConnectorApprovals, listConnectorConnections, listConnectorExecutionAudit, listConnectorInstallations, releaseConnectorWebhookDelivery, replaceConnectorCatalogEntries, upsertConnectorActionMetadata, upsertConnectorCatalogEntry, upsertConnectorConnection, upsertConnectorInstallation } from "./connector-repository.js";
|
|
22
|
+
import { getSessionMetadata } from "./session-read-repository.js";
|
|
23
|
+
import { deleteSessionRecord, ensureSessionRecord, findConversationIdByTranscriptId, getCurrentTranscriptId, getGlobalSessionStats, incrementSessionStatsOnAppend, init_session_repository, listSessionMetadata, listSessionsByAgent, patchSessionMetadata, resetSessionRecord, resolveSessionAgentId, updateSessionStats } from "./session-repository.js";
|
|
24
|
+
import { appendCompactionBoundaryIfUnchanged, appendMediaToAssistantTranscriptEntry, appendTranscriptEntry, findLatestAssistantTranscriptEntryId, listCompactionBoundaries, loadCompactionSourceSnapshot, loadLlmMessagesForSession, loadTranscriptHistoryRowsForSession, loadTranscriptRows, loadTranscriptRowsForSession, paginateTranscriptMessages, replaceTranscriptRows, restoreBeforeCompactionBoundary, searchSessionTranscript } from "./transcript-repository.js";
|
|
25
|
+
import { consumeClarificationApproval, consumeClarificationResume, createClarificationWait, getActiveClarification, getClarification, getClarificationResumeInput, getClarificationSnapshot, isClarificationSuspended, resolveClarification, supersedeActiveClarification } from "./clarification-wait-repository.js";
|
|
21
26
|
import { replaceLatestSessionTurnAndQueueInput, validateLatestSessionTurnTarget } from "./session-turn-replace-repository.js";
|
|
22
27
|
import { acknowledgeHomeAttention, isHomeAttentionAcknowledged } from "./home-attention-repository.js";
|
|
23
28
|
import { claimNextConnectorLearningJob, enqueueConnectorLearningJob, listConnectorLearningJobs, recoverStaleConnectorLearningJobs, setConnectorLearningPaused, updateConnectorLearningJob } from "./connector-learning-repository.js";
|
|
@@ -25,13 +30,8 @@ import { COMPOSER_INPUT_HISTORY_LIMIT, appendComposerInputHistory, clearComposer
|
|
|
25
30
|
import { bindEndpointPrincipal, createEndpointPrincipal, getEndpointPrincipal, listEndpointPrincipals, revokeEndpointPrincipal, touchEndpointPrincipal } from "./endpoint-principal-repository.js";
|
|
26
31
|
import { finishEndpointToolInvocationAudit, listEndpointToolInvocationAuditPage, startEndpointToolInvocationAudit } from "./endpoint-tool-invocation-repository.js";
|
|
27
32
|
import { getInteractionState, setInteractionState, updateInteractionStateFromMessage } from "./interaction-state-repository.js";
|
|
28
|
-
import { getConnectorAccount, init_connector_account_repository, listConnectorAccounts, reconcileConnectorAccount, refreshConnectorAccountCurrent } from "./connector-account-repository.js";
|
|
29
|
-
import { appendConnectorExecutionAudit, claimConnectorWebhookDelivery, completeConnectorWebhookDelivery, consumeConnectorApproval, createConnectorApproval, decideConnectorApproval, deleteConnectorConnection, deleteConnectorInstallation, getCachedConnectorCatalogEntry, getConnectorApproval, getConnectorConnection, getConnectorInstallation, init_connector_repository, listCachedConnectorCatalogEntries, listConnectorActionMetadata, listConnectorApprovals, listConnectorConnections, listConnectorExecutionAudit, listConnectorInstallations, releaseConnectorWebhookDelivery, replaceConnectorCatalogEntries, upsertConnectorActionMetadata, upsertConnectorCatalogEntry, upsertConnectorConnection, upsertConnectorInstallation } from "./connector-repository.js";
|
|
30
|
-
import { getSessionMetadata } from "./session-read-repository.js";
|
|
31
|
-
import { deleteSessionRecord, ensureSessionRecord, findConversationIdByTranscriptId, getCurrentTranscriptId, getGlobalSessionStats, incrementSessionStatsOnAppend, init_session_repository, listSessionMetadata, listSessionsByAgent, patchSessionMetadata, resetSessionRecord, resolveSessionAgentId, updateSessionStats } from "./session-repository.js";
|
|
32
33
|
import { getSessionTaskPlan, setSessionTaskPlan } from "./session-task-plan-repository.js";
|
|
33
34
|
import { SidebarLayoutConflictError, getSidebarLayout, replaceSidebarLayout, sortBySidebarLayout } from "./sidebar-layout-repository.js";
|
|
34
|
-
import { appendCompactionBoundaryIfUnchanged, appendMediaToAssistantTranscriptEntry, appendTranscriptEntry, findLatestAssistantTranscriptEntryId, listCompactionBoundaries, loadCompactionSourceSnapshot, loadLlmMessagesForSession, loadTranscriptHistoryRowsForSession, loadTranscriptRows, loadTranscriptRowsForSession, paginateTranscriptMessages, replaceTranscriptRows, restoreBeforeCompactionBoundary, searchSessionTranscript } from "./transcript-repository.js";
|
|
35
35
|
import { deleteNoteRecord, getNoteRecord, listNoteRecords, upsertNoteRecord } from "./notes-repository.js";
|
|
36
36
|
import { deleteNoteAgentContextRecord, getNoteAgentContextRecord, upsertNoteAgentContextRecord } from "./note-agent-context-repository.js";
|
|
37
37
|
import { claimKnowledgeSourceItems, completeKnowledgeSourceItemSynthesis, countKnowledgeSourceItems, deleteKnowledgeSourceItems, finishKnowledgeSyncRun, getKnowledgeConsumerWatermark, getKnowledgeSourceCursor, getKnowledgeSourceItem, listKnowledgeSourceChanges, listKnowledgeSourceItems, listKnowledgeSyncRuns, pruneBoundedKnowledgeSourceItems, setKnowledgeConsumerWatermark, setKnowledgeSourceCursor, setKnowledgeSourceItemSynthesisStatus, startKnowledgeSyncRun, upsertKnowledgeSourceItems } from "./knowledge-repository.js";
|
|
@@ -2,10 +2,10 @@ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "
|
|
|
2
2
|
import { sessionCommandIdentity } from "../../../packages/gateway-contract/src/session-input-command.js";
|
|
3
3
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
4
4
|
import { init_session_input_repository, insertSessionInput } from "./session-input-repository.js";
|
|
5
|
-
import { supersedeActiveClarification } from "./clarification-wait-repository.js";
|
|
6
5
|
import { cancelConnectionObjective, init_connection_wait_repository } from "./connection-wait-repository.js";
|
|
7
6
|
import { getSessionMetadata } from "./session-read-repository.js";
|
|
8
7
|
import { init_session_repository } from "./session-repository.js";
|
|
8
|
+
import { supersedeActiveClarification } from "./clarification-wait-repository.js";
|
|
9
9
|
import { setSessionConfig } from "./config-repository.js";
|
|
10
10
|
import { createConversation, init_conversation_repository } from "./conversation-repository.js";
|
|
11
11
|
import { createHash, randomUUID } from "node:crypto";
|
|
@@ -3,10 +3,10 @@ import { getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "
|
|
|
3
3
|
import { validateConversationId, validateTranscriptId } from "../../../packages/gateway-contract/src/conversation-identity.js";
|
|
4
4
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
5
5
|
import { init_session_instance_repository, readCurrentTranscriptId } from "./session-instance-repository.js";
|
|
6
|
-
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
7
6
|
import { buildDefaultSessionMetadata, init_session_metadata } from "./session-metadata.js";
|
|
8
7
|
import { init_timestamps, optionalTimestampToMs } from "./timestamps.js";
|
|
9
8
|
import { buildGlobalSessionStats, init_row_mappers, metadataToSessionInsert, sessionRowToMetadata } from "./row-mappers.js";
|
|
9
|
+
import { TaskRunRepository, init_task_run_repository } from "../../tasks/task-run-repository.js";
|
|
10
10
|
import { cancelConnectionObjective, init_connection_wait_repository } from "./connection-wait-repository.js";
|
|
11
11
|
import { init_changes, notifyUserContextChange } from "../../user-context/changes.js";
|
|
12
12
|
import { SESSION_PURPOSE_SQL, SESSION_SOURCE_SQL, init_session_identity_sql } from "./session-identity-sql.js";
|
|
@@ -2,10 +2,10 @@ import { ProductReadContracts } from "../../../packages/gateway-contract/src/cap
|
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
3
|
import { TaskRepository, init_task_repository } from "../task-repository.js";
|
|
4
4
|
import { TaskRunRepository, init_task_run_repository } from "../task-run-repository.js";
|
|
5
|
-
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
6
|
-
import { defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
|
|
7
5
|
import { TaskReadModelProjector } from "../task-read-model-projector.js";
|
|
8
6
|
import { TaskConversationRepository } from "../task-conversation-repository.js";
|
|
7
|
+
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
8
|
+
import { defineReadCapability } from "../../capabilities/runtime/dispatcher.js";
|
|
9
9
|
import { TaskContextRepository } from "../task-context-repository.js";
|
|
10
10
|
import { TaskDependencyService } from "../task-dependency-service.js";
|
|
11
11
|
import { TaskCriterionReviewRepository } from "../task-criterion-review-repository.js";
|
|
@@ -2,9 +2,9 @@ import { TaskCommandRequestSchema, TaskCreateRequestSchema, TaskDetailResponseSc
|
|
|
2
2
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
3
3
|
import { TaskRepository, init_task_repository } from "../task-repository.js";
|
|
4
4
|
import { TaskRunRepository, init_task_run_repository } from "../task-run-repository.js";
|
|
5
|
+
import { resolveTaskLocale } from "../task-language.js";
|
|
5
6
|
import { CapabilityError } from "../../capabilities/runtime/errors.js";
|
|
6
7
|
import { defineAtomicCapability } from "../../capabilities/runtime/dispatcher.js";
|
|
7
|
-
import { resolveTaskLocale } from "../task-language.js";
|
|
8
8
|
import { resolveProjectAgentId } from "../../projects/project-agent.js";
|
|
9
9
|
import { resolveResponseLanguageForSession } from "../../agent/prompt/response-language.js";
|
|
10
10
|
import { TaskApplicationService } from "../task-application-service.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TaskRepository, init_task_repository } from "./task-repository.js";
|
|
2
2
|
import { TaskRunRepository, init_task_run_repository } from "./task-run-repository.js";
|
|
3
|
-
import { isHomeAttentionAcknowledged } from "../storage/sqlite/home-attention-repository.js";
|
|
4
3
|
import { listConnectorApprovals } from "../storage/sqlite/connector-repository.js";
|
|
4
|
+
import { isHomeAttentionAcknowledged } from "../storage/sqlite/home-attention-repository.js";
|
|
5
5
|
import "../storage/sqlite/index.js";
|
|
6
6
|
import { TaskReadModelProjector } from "./task-read-model-projector.js";
|
|
7
7
|
import "../automations/domain/defaults.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { afterSqliteCommit, getSqliteDatabase, init_transaction, runSqliteWriteTransaction } from "../storage/sqlite/transaction.js";
|
|
2
|
-
import { enqueueTaskChangedEvent, init_task_change_events } from "./task-change-events.js";
|
|
3
2
|
import { init_task_allocation_status, isRoutineTaskAllocationStatus } from "../session/task-allocation-status.js";
|
|
3
|
+
import { enqueueTaskChangedEvent, init_task_change_events } from "./task-change-events.js";
|
|
4
4
|
import { appendTranscriptEntry } from "../storage/sqlite/transcript-repository.js";
|
|
5
5
|
import { emitSessionTranscriptUpdate } from "../session/transcript-events.js";
|
|
6
6
|
import { resolveTaskLocale } from "./task-language.js";
|
|
@@ -5,12 +5,11 @@ import { openXopcDatabase } from "../../storage/sqlite/connection.js";
|
|
|
5
5
|
import { canonicalSessionCommand, sessionInputCommandSchema } from "../../../packages/gateway-contract/src/session-input-command.js";
|
|
6
6
|
import { init_src } from "../../../packages/gateway-contract/src/index.js";
|
|
7
7
|
import { cancelQueuedSessionInput, claimNextSessionInput, finishSessionInputRun, getSessionInputById, getSessionInputState, init_session_input_repository, setSessionInputStatus } from "../../storage/sqlite/session-input-repository.js";
|
|
8
|
-
import { appendComposerInputHistory, listComposerInputHistory } from "../../storage/sqlite/composer-input-history-repository.js";
|
|
9
8
|
import { getSessionMetadata } from "../../storage/sqlite/session-read-repository.js";
|
|
9
|
+
import { appendComposerInputHistory, listComposerInputHistory } from "../../storage/sqlite/composer-input-history-repository.js";
|
|
10
10
|
import "../../storage/sqlite/index.js";
|
|
11
11
|
import { normalizeAgentId } from "../../agent-catalog/id.js";
|
|
12
12
|
import { init_agent_scope, listAgentEntries } from "../../agent/agent-scope.js";
|
|
13
|
-
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
14
13
|
import { init_paths } from "../../config/paths.js";
|
|
15
14
|
import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
|
|
16
15
|
import { resolveEffectiveAgentProfile } from "../../config/agent-profile.js";
|
|
@@ -23,6 +22,7 @@ import { buildSessionTimeline } from "../../session/transcript-outline.js";
|
|
|
23
22
|
import { transcriptRowsToClientHistory } from "../../session/client-history.js";
|
|
24
23
|
import { createCreateShareTool, isShareToolAvailable } from "../../agent/tools/create-share-tool.js";
|
|
25
24
|
import { evictEmbeddedSessionRunner } from "../../agent/embedded/session-runner.js";
|
|
25
|
+
import { AgentCatalogService } from "../../agent-catalog/service.js";
|
|
26
26
|
import { SessionIndex } from "../../session/manager.js";
|
|
27
27
|
import "../../session/index.js";
|
|
28
28
|
import { parseModelRef } from "../../agent/models/selection.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { init_agent_scope, resolveAgentProfileDir } from "../../agent/agent-scope.js";
|
|
2
|
-
import { DEFAULT_SOUL_FILENAME } from "../../agent/context/workspace.js";
|
|
3
2
|
import { resolveEffectiveAgentProfileForSession } from "../../config/agent-profile.js";
|
|
3
|
+
import { DEFAULT_SOUL_FILENAME } from "../../agent/context/workspace.js";
|
|
4
4
|
import { loadProfileBootstrapFiles } from "../../agent/bootstrap/load-bootstrap-files.js";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import { statSync } from "node:fs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xopcai/xopc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.424",
|
|
4
4
|
"description": "Local-first personal AI with Ada, task delegation, files, projects and automations. Use cloud or local models.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -230,6 +230,7 @@
|
|
|
230
230
|
"test:plugins:store:e2e": "cross-env XOPC_LOG_LEVEL=fatal tsx scripts/verify-store-plugin-e2e.mts",
|
|
231
231
|
"test:plugins:fixtures": "tsx scripts/build-store-plugin-lab.mts",
|
|
232
232
|
"test:plugins:browser": "cross-env XOPC_LOG_LEVEL=fatal tsx scripts/verify-plugin-setup-browser.mts",
|
|
233
|
+
"test:web:clarification:e2e": "pnpm run build:node && pnpm run build:web && tsx scripts/verify-clarification-browser.mts",
|
|
233
234
|
"test:web:onboarding-visual": "node scripts/test-onboarding-visual.mjs",
|
|
234
235
|
"test:web:onboarding-visual:update": "node scripts/test-onboarding-visual.mjs --update",
|
|
235
236
|
"test:quick-understanding": "XOPC_LOG_LEVEL=fatal vitest run src/work-discovery/__tests__/evaluation.test.ts src/user-context/sources/__tests__/activity-clustering.test.ts src/knowledge/__tests__/quick-understanding.e2e.test.ts src/connectors/__tests__/content-enrichment.test.ts src/connectors/__tests__/connected-source-ingestion.test.ts",
|