@opengeni/react 4.4.1 → 4.5.1-canary.39832248373001
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/app/app-state.js +15 -15
- package/dist/app/components/Composer.js +19 -19
- package/dist/app/components/artifacts/artifact-browse-controls.js +3 -3
- package/dist/app/components/artifacts/artifact-library.js +9 -9
- package/dist/app/components/artifacts/artifact-page-chrome.js +2 -2
- package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
- package/dist/app/components/artifacts/inline-chat-image.js +22 -21
- package/dist/app/components/artifacts/retained-file-preview.js +24 -23
- package/dist/app/components/artifacts/retained-text-preview.js +2 -2
- package/dist/app/components/artifacts/site-audience.js +2 -2
- package/dist/app/components/artifacts/site-conversations.js +14 -13
- package/dist/app/components/artifacts/site-data.js +4 -4
- package/dist/app/components/artifacts/site-publishing.js +20 -20
- package/dist/app/components/artifacts/site-settings.js +25 -25
- package/dist/app/components/billing-class-mark.js +3 -3
- package/dist/app/components/capabilities/capability-detail-sheet.js +6 -6
- package/dist/app/components/capabilities/capability-logo-source.js +8 -8
- package/dist/app/components/capabilities/connector-tool-permissions.js +3 -3
- package/dist/app/components/capabilities/native-connect-setup.js +8 -8
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +10 -10
- package/dist/app/components/capabilities/session-capability-card.js +43 -41
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-chrome-card.js +20 -18
- package/dist/app/components/capabilities/session-custom-mcp-card.js +11 -11
- package/dist/app/components/capabilities/session-github-card.js +13 -13
- package/dist/app/components/capabilities/session-machine-card.js +19 -17
- package/dist/app/components/command-menu/chat-status.js +16 -15
- package/dist/app/components/command-menu/chat-switcher.js +19 -18
- package/dist/app/components/command-menu/chat-switcher.js.map +1 -1
- package/dist/app/components/command-menu/command-menu.js +29 -107
- package/dist/app/components/command-menu/command-menu.js.map +1 -1
- package/dist/app/components/command-menu/shortcut-sheet.js +9 -9
- package/dist/app/components/composer-mobile-plus-panel.js +9 -9
- package/dist/app/components/composer-mobile-plus.js +1 -1
- package/dist/app/components/credit-required-gate.js +1 -1
- package/dist/app/components/credit-required-prompt.js +5 -5
- package/dist/app/components/credits/coupon-redeem.js +2 -2
- package/dist/app/components/credits/credit-refusal-notice.js +2 -2
- package/dist/app/components/desktop/app-shots.js +7 -7
- package/dist/app/components/desktop/this-computer.js +4 -4
- package/dist/app/components/feedback.js +3 -3
- package/dist/app/components/follow-up-repository-menu-body.js +2 -2
- package/dist/app/components/follow-up-repository-picker.js +1 -1
- package/dist/app/components/github-app-connect-launcher.js +2 -2
- package/dist/app/components/in-app-help-link.js +2 -2
- package/dist/app/components/machines/connect-machine-dialog.js +3 -3
- package/dist/app/components/markdown.js +5 -5
- package/dist/app/components/models/models-ui.js +3 -3
- package/dist/app/components/new-session-starters.js +2 -2
- package/dist/app/components/pickers.js +6 -6
- package/dist/app/components/rail/rail-context.js +3 -3
- package/dist/app/components/rail/rail-sections.js +51 -48
- package/dist/app/components/rail/session-header.js +29 -28
- package/dist/app/components/rail/session-list.js +50 -47
- package/dist/app/components/rail/session-row-content.d.ts +6 -2
- package/dist/app/components/rail/session-row-content.js +1 -1
- package/dist/app/components/rail/session-row-hover-details.js +17 -16
- package/dist/app/components/rail/session-shell.js +78 -75
- package/dist/app/components/rail/site-session-group-heading.d.ts +7 -1
- package/dist/app/components/rail/site-session-group-heading.js +20 -3
- package/dist/app/components/repository-picker.js +2 -2
- package/dist/app/components/session/agent-configuration-panel.js +18 -18
- package/dist/app/components/session/artifact-link-boundary.js +2 -2
- package/dist/app/components/session/artifact-session-page.js +5 -5
- package/dist/app/components/session/banners.js +7 -7
- package/dist/app/components/session/codex-account-indicator.js +10 -10
- package/dist/app/components/session/editable-artifacts-workspace.js +24 -24
- package/dist/app/components/session/failed-session-banner.js +6 -6
- package/dist/app/components/session/human-input.js +41 -37
- package/dist/app/components/session/inspector.js +61 -57
- package/dist/app/components/session/inspector.js.map +1 -1
- package/dist/app/components/session/message-actions.js +3 -3
- package/dist/app/components/session/message-resource-attachments.js +12 -11
- package/dist/app/components/session/message-resource-attachments.js.map +1 -1
- package/dist/app/components/session/model-account-indicator.js +9 -9
- package/dist/app/components/session/model-recovery-notice.js +3 -3
- package/dist/app/components/session/new-session-settings-menu.js +8 -8
- package/dist/app/components/session/sandbox-switcher.js +12 -12
- package/dist/app/components/session/sandbox-workspace.js +58 -54
- package/dist/app/components/session/search-markdown-highlight.js +6 -6
- package/dist/app/components/session/search-results-view.js +7 -7
- package/dist/app/components/session/session-admin-access.js +3 -3
- package/dist/app/components/session/session-admission-notice.js +5 -5
- package/dist/app/components/session/session-machine-access-notice.js +5 -5
- package/dist/app/components/session/session-search-dialog.js +8 -8
- package/dist/app/components/session/session-tenancy-control.d.ts +2 -0
- package/dist/app/components/session/session-tenancy-control.js +26 -11
- package/dist/app/components/session/session-tenancy-control.js.map +1 -1
- package/dist/app/components/session/session-usage-limit-section.js +4 -4
- package/dist/app/components/session/session-wait-status.js +8 -7
- package/dist/app/components/session/session-wait-status.js.map +1 -1
- package/dist/app/components/session/site-origin-link.d.ts +1 -0
- package/dist/app/components/session/site-origin-link.js +2 -2
- package/dist/app/components/session/subagents.js +13 -12
- package/dist/app/components/settings/row-select.js +3 -3
- package/dist/app/components/transcription-settings.js +4 -4
- package/dist/app/components/usage/usage-entry.js +5 -5
- package/dist/app/components/workspace-composer-plus.js +12 -12
- package/dist/app/embed/memory-navigation.js +2 -2
- package/dist/app/embed/session-app.js +196 -190
- package/dist/app/lib/actions/actions-provider.js +9 -9
- package/dist/app/lib/actions/held-modifier.d.ts +11 -0
- package/dist/app/lib/app-surfaces.js +2 -2
- package/dist/app/lib/codex-usage-query.js +6 -6
- package/dist/app/lib/composer-connectors.js +9 -9
- package/dist/app/lib/console-site.d.ts +6 -0
- package/dist/app/lib/console-site.js +14 -0
- package/dist/app/lib/console-text.js +2 -2
- package/dist/app/lib/events.js +13 -12
- package/dist/app/lib/failed-session-copy.js +3 -3
- package/dist/app/lib/model-access-onboarding.js +3 -3
- package/dist/app/lib/move-chat-to-machine.js +3 -3
- package/dist/app/lib/navigation.d.ts +5 -0
- package/dist/app/lib/navigation.js +1 -1
- package/dist/app/lib/routes.d.ts +17 -0
- package/dist/app/lib/routes.js +9 -3
- package/dist/app/lib/session-branch-cache.js +12 -11
- package/dist/app/lib/session-create.js +2 -2
- package/dist/app/lib/session-deep-link.js +2 -2
- package/dist/app/lib/session-failure-toasts.d.ts +8 -0
- package/dist/app/lib/session-group-pagination.js +12 -11
- package/dist/app/lib/session-hover-facts.js +12 -11
- package/dist/app/lib/session-model.js +2 -2
- package/dist/app/lib/session-rail.js +8 -7
- package/dist/app/lib/session-rename.js +2 -2
- package/dist/app/lib/session-ui-features.d.ts +6 -1
- package/dist/app/lib/session-ui-features.js +1 -1
- package/dist/app/lib/sessions-group.d.ts +43 -3
- package/dist/app/lib/sessions-group.js +19 -12
- package/dist/app/lib/shared-query.js +3 -3
- package/dist/app/lib/site-opened.d.ts +6 -0
- package/dist/app/lib/site-opened.js +10 -0
- package/dist/app/lib/turn-failure-analytics.js +5 -5
- package/dist/app/lib/use-duplicate-site.js +2 -2
- package/dist/app/lib/use-follow-up-repositories.js +2 -2
- package/dist/app/lib/use-session-list-hint-refresh.d.ts +20 -2
- package/dist/app/lib/use-session-list-hint-refresh.js +5 -1
- package/dist/app/lib/use-workspace-machines.js +5 -5
- package/dist/app/lib/use-workspace-model-catalog.js +7 -7
- package/dist/app/lib/use-workspace-rigs.js +7 -7
- package/dist/app/lib/workspace-navigation-preference.js +4 -4
- package/dist/app/lib/workspace-scope-context.js +3 -3
- package/dist/app/routes/artifacts.js +70 -87
- package/dist/app/routes/artifacts.js.map +1 -1
- package/dist/app/routes/retained-artifact.js +36 -35
- package/dist/app/routes/retained-artifact.js.map +1 -1
- package/dist/app/routes/session-unavailable.js +6 -4
- package/dist/app/routes/session.js +127 -123
- package/dist/app/routes/sessions-index-hydration.js +3 -3
- package/dist/app/routes/sessions-index.js +96 -94
- package/dist/app/routes/site-view.d.ts +11 -0
- package/dist/app/routes/site-view.js +597 -0
- package/dist/app/routes/site-view.js.map +1 -0
- package/dist/artifacts-document.js +4 -4
- package/dist/artifacts-presentation.js +4 -4
- package/dist/artifacts-spreadsheet.js +4 -4
- package/dist/artifacts.js +13 -13
- package/dist/{browser-viewer-RYYQSRTC.js → browser-viewer-VPK3CV2H.js} +7 -5
- package/dist/{chat-interactive-block-ABCRKXJ4.js → chat-interactive-block-AMDSW656.js} +5 -5
- package/dist/chunk-22GTC4MZ.js +15 -0
- package/dist/chunk-22GTC4MZ.js.map +1 -0
- package/dist/{chunk-RQDFYQHA.js → chunk-25LWDG5D.js} +6 -6
- package/dist/{chunk-U3HSFCON.js → chunk-2CKVVAGP.js} +15 -15
- package/dist/{chunk-F6LBGYS6.js → chunk-2DL6NJP5.js} +15 -15
- package/dist/{chunk-UHFWF6ZU.js → chunk-2FPS5H2D.js} +2 -2
- package/dist/{chunk-NAWXARTY.js → chunk-2KO2G3RI.js} +72 -6
- package/dist/chunk-2KO2G3RI.js.map +1 -0
- package/dist/{chunk-TWXIFWBD.js → chunk-34EU25RL.js} +2 -2
- package/dist/{chunk-PTGRFAMH.js → chunk-3ABPIUCK.js} +2 -2
- package/dist/{chunk-722UO6YQ.js → chunk-3PEXVG4D.js} +2 -2
- package/dist/{chunk-N3ZP4IDU.js → chunk-45WYYFP6.js} +2 -2
- package/dist/{chunk-HOJGAJAB.js → chunk-4MQLGMV2.js} +5 -5
- package/dist/{chunk-L7YURQI2.js → chunk-4U4GXWXS.js} +3 -3
- package/dist/{chunk-63VGE4OH.js → chunk-5HIOVXOX.js} +3 -3
- package/dist/{chunk-GFUUFM2O.js → chunk-5M23GZA2.js} +3 -3
- package/dist/{chunk-PM3OSANE.js → chunk-5MJHH72T.js} +14 -3
- package/dist/chunk-5MJHH72T.js.map +1 -0
- package/dist/{chunk-RKB2Z457.js → chunk-5VGJXWQ2.js} +2 -2
- package/dist/{chunk-6W3LF3DB.js → chunk-5YFY4SFC.js} +2 -12
- package/dist/chunk-5YFY4SFC.js.map +1 -0
- package/dist/{chunk-I6VUUEXH.js → chunk-6AFSZKZA.js} +3 -3
- package/dist/{chunk-FBMU3VK5.js → chunk-6DCEDIF6.js} +2 -2
- package/dist/{chunk-5MZTJMZ3.js → chunk-6MRY2RUZ.js} +13 -7
- package/dist/chunk-6MRY2RUZ.js.map +1 -0
- package/dist/{chunk-4EONHNJU.js → chunk-6O4VWKSO.js} +2 -2
- package/dist/chunk-756MKA2J.js +45 -0
- package/dist/chunk-756MKA2J.js.map +1 -0
- package/dist/{chunk-BSX2R4CW.js → chunk-767WCGAX.js} +6 -6
- package/dist/{chunk-7KGKDWWR.js → chunk-7HFLYNWN.js} +2 -2
- package/dist/{chunk-OSVHU2WU.js → chunk-7IYAHFPE.js} +2 -2
- package/dist/{chunk-4EAF3HSD.js → chunk-7J7PZB4S.js} +2 -2
- package/dist/{chunk-ADJJQSYC.js → chunk-7PUFAH4I.js} +34 -32
- package/dist/chunk-7PUFAH4I.js.map +1 -0
- package/dist/{chunk-OR37STQZ.js → chunk-7R2JQHBX.js} +3 -3
- package/dist/{chunk-QM5H4FPT.js → chunk-7VN6VC3D.js} +3 -3
- package/dist/{chunk-HWDGJFM4.js → chunk-A2E3ZF6N.js} +4 -4
- package/dist/{chunk-RGW24ZZM.js → chunk-A6CK4ENG.js} +19 -17
- package/dist/chunk-A6CK4ENG.js.map +1 -0
- package/dist/{chunk-4432A3HQ.js → chunk-A6T4FGE7.js} +4 -4
- package/dist/{chunk-73SOCVLS.js → chunk-AIEXYO2X.js} +3 -3
- package/dist/{chunk-U7TC2XJQ.js → chunk-AJPW3SV4.js} +3 -3
- package/dist/{chunk-46VBQG2D.js → chunk-AOUCHCSB.js} +5 -5
- package/dist/{chunk-HDHK3SXK.js → chunk-AT4K4F6S.js} +2 -2
- package/dist/{chunk-TQGJN5UZ.js → chunk-AW3QEFOF.js} +140 -522
- package/dist/chunk-AW3QEFOF.js.map +1 -0
- package/dist/{chunk-HRJQAFKR.js → chunk-AX6YJA5U.js} +2 -2
- package/dist/{chunk-HO5Y2OOX.js → chunk-BLPXOHG6.js} +6 -6
- package/dist/{chunk-DT7BORXG.js → chunk-BMJTNPWK.js} +2 -2
- package/dist/{chunk-HIHO2QE7.js → chunk-BT2MVGHT.js} +2 -2
- package/dist/{chunk-AOLE4IRZ.js → chunk-C535KSTY.js} +2 -2
- package/dist/{chunk-IVOA3DXA.js → chunk-CB574ERL.js} +4 -4
- package/dist/{chunk-IBTXYLBW.js → chunk-CCFWY4GF.js} +2 -2
- package/dist/{chunk-ZOC3OP6F.js → chunk-CCR33J7L.js} +2 -2
- package/dist/{chunk-NYZQ7LO7.js → chunk-CDUDKETD.js} +2 -2
- package/dist/{chunk-JTN3T4QN.js → chunk-D3RK3NGM.js} +4 -4
- package/dist/{chunk-IOKSNX74.js → chunk-D5OWJZQR.js} +2 -2
- package/dist/{chunk-BJIZ7PL7.js → chunk-D64Z4V26.js} +145 -29
- package/dist/chunk-D64Z4V26.js.map +1 -0
- package/dist/{chunk-XWWXIZFP.js → chunk-DFXZYNTX.js} +7 -7
- package/dist/{chunk-SQGXMHJO.js → chunk-DGLRZMXL.js} +3 -3
- package/dist/{chunk-GNEHAPKV.js → chunk-DJFTH2DI.js} +3 -3
- package/dist/{chunk-KWKGBGAF.js → chunk-DKCX643S.js} +11 -11
- package/dist/{chunk-HQG4SLTE.js → chunk-DYJGYGPB.js} +2 -2
- package/dist/{chunk-GTQ3SNEI.js → chunk-E36IC3LU.js} +2 -2
- package/dist/{chunk-CVG4FILQ.js → chunk-ECHYJP63.js} +253 -1008
- package/dist/chunk-ECHYJP63.js.map +1 -0
- package/dist/{chunk-Q35DT6I6.js → chunk-EH7TTYE6.js} +179 -170
- package/dist/chunk-EH7TTYE6.js.map +1 -0
- package/dist/{chunk-72J6C2AJ.js → chunk-EMCB6XKU.js} +2 -2
- package/dist/{chunk-3AA6RNGE.js → chunk-ENS6E4RZ.js} +2 -2
- package/dist/{chunk-AG7VGUIW.js → chunk-ERG355NM.js} +3 -3
- package/dist/{chunk-TSBE4KOQ.js → chunk-EWL6NDOO.js} +3 -3
- package/dist/{chunk-Z5WMLJKI.js → chunk-F2RMKGDQ.js} +89 -1
- package/dist/chunk-F2RMKGDQ.js.map +1 -0
- package/dist/{chunk-X7L4H4VG.js → chunk-F33EDYS7.js} +524 -426
- package/dist/chunk-F33EDYS7.js.map +1 -0
- package/dist/{chunk-HTT3FB7T.js → chunk-F3FN6DO6.js} +2 -2
- package/dist/{chunk-ST22GONV.js → chunk-FB3B45FP.js} +11 -11
- package/dist/{chunk-P5T36BA3.js → chunk-FRP64DEK.js} +2 -2
- package/dist/{chunk-KBF3SE7G.js → chunk-FSP334UU.js} +2 -2
- package/dist/{chunk-4VKA5O7T.js → chunk-FVL4B552.js} +9 -9
- package/dist/{chunk-VP62LPLW.js → chunk-G2BX56CN.js} +5 -5
- package/dist/{chunk-CSHBR2IZ.js → chunk-GDLDBR6B.js} +2 -2
- package/dist/{chunk-PN66T6JA.js → chunk-GFSOXB2K.js} +2 -2
- package/dist/{chunk-S4EZ3JUB.js → chunk-GZGQHQI7.js} +29 -29
- package/dist/chunk-H4IE2PYF.js +792 -0
- package/dist/chunk-H4IE2PYF.js.map +1 -0
- package/dist/{chunk-XFNLU7EW.js → chunk-H5M33DAL.js} +15 -6
- package/dist/chunk-H5M33DAL.js.map +1 -0
- package/dist/{chunk-BXRIQZAH.js → chunk-HNNM2GDN.js} +3 -3
- package/dist/{chunk-EU6XSQFM.js → chunk-HPB4KSV3.js} +2 -2
- package/dist/{chunk-QCD5Y7K5.js → chunk-HSQRYJ4P.js} +5 -5
- package/dist/{chunk-YXOKAG66.js → chunk-HUXDGWAN.js} +2 -2
- package/dist/{chunk-VUHPA3XQ.js → chunk-I66ZB6KD.js} +3 -3
- package/dist/{chunk-7CZTKBTI.js → chunk-IC7KNOBB.js} +5 -5
- package/dist/{chunk-KF3MF6FP.js → chunk-IECRGM6K.js} +3 -2
- package/dist/chunk-IECRGM6K.js.map +1 -0
- package/dist/{chunk-HGMWMK5K.js → chunk-IIO2MR3B.js} +2 -2
- package/dist/chunk-IJYL5BZM.js +38 -0
- package/dist/chunk-IJYL5BZM.js.map +1 -0
- package/dist/{chunk-L6RXRRN3.js → chunk-ILDOW2IQ.js} +3 -3
- package/dist/{chunk-O756O2I7.js → chunk-IPPVX5GF.js} +1 -1
- package/dist/{chunk-X7ASQHR6.js → chunk-IUK5QGP5.js} +2 -2
- package/dist/{chunk-5JZYPZ72.js → chunk-JFK7NTEA.js} +4 -4
- package/dist/chunk-JFK7NTEA.js.map +1 -0
- package/dist/{chunk-PIVGX42P.js → chunk-JNY5MT3I.js} +2 -2
- package/dist/chunk-JRSNCSZN.js +37 -0
- package/dist/chunk-JRSNCSZN.js.map +1 -0
- package/dist/{chunk-DDK4WFJ3.js → chunk-JWN7SLTO.js} +9 -9
- package/dist/{chunk-Q35YZVDZ.js → chunk-KFWVBTUH.js} +3 -3
- package/dist/{chunk-JXT5QDJC.js → chunk-KNFDWNCH.js} +5 -5
- package/dist/{chunk-AZVANYMB.js → chunk-KUNFUSZ7.js} +2 -2
- package/dist/{chunk-DXZNDKQD.js → chunk-LEEJBZ5B.js} +2 -2
- package/dist/{chunk-STUCI6QA.js → chunk-LEKBNKLD.js} +1 -1
- package/dist/{chunk-STUCI6QA.js.map → chunk-LEKBNKLD.js.map} +1 -1
- package/dist/{chunk-RSNYGEVZ.js → chunk-LKJ2C7PH.js} +8 -8
- package/dist/{chunk-RIMKJBCD.js → chunk-LMPTC4CX.js} +2 -2
- package/dist/{chunk-3KVWXKD6.js → chunk-LQ47YL6E.js} +2 -2
- package/dist/{chunk-GAIM5RNE.js → chunk-MJQBC7C5.js} +3 -3
- package/dist/{chunk-NWZW2WHN.js → chunk-MM7OKOTE.js} +6 -6
- package/dist/{chunk-FM4OUCC2.js → chunk-MOKYT3X3.js} +3 -3
- package/dist/{chunk-GZ64CASI.js → chunk-MVZYNZXE.js} +5 -4
- package/dist/chunk-MVZYNZXE.js.map +1 -0
- package/dist/{chunk-XRRSFQEV.js → chunk-NAZZLAWX.js} +2 -2
- package/dist/{chunk-XOFUXMPP.js → chunk-ND2WCWXI.js} +4 -4
- package/dist/{chunk-6L7U46Y2.js → chunk-NKNVIO66.js} +2 -2
- package/dist/{chunk-JKUICTLM.js → chunk-NLAFNMPK.js} +2 -2
- package/dist/{chunk-OO2T63BY.js → chunk-NML44AW2.js} +2 -2
- package/dist/chunk-NQQKOJDI.js +89 -0
- package/dist/chunk-NQQKOJDI.js.map +1 -0
- package/dist/{chunk-4LKNIGHB.js → chunk-O2SBHS2N.js} +2 -2
- package/dist/{chunk-RA3FNMWF.js → chunk-O4DYOSOL.js} +5 -5
- package/dist/{chunk-ZKYYZH6L.js → chunk-OFB6TUDC.js} +4 -4
- package/dist/{chunk-DWPOQ3S5.js → chunk-OTMWHZBY.js} +2 -2
- package/dist/{chunk-VVCDB2T7.js → chunk-PCJLH45G.js} +3 -3
- package/dist/{chunk-WSMYOLHG.js → chunk-PEKPWK5M.js} +2 -2
- package/dist/{chunk-PZ24CYDO.js → chunk-PFAUGEV5.js} +2 -2
- package/dist/{chunk-KTRKZRID.js → chunk-PKEKZ2VA.js} +5 -5
- package/dist/{chunk-6JKZILLF.js → chunk-PMD7V4N7.js} +3 -3
- package/dist/{chunk-B74GSYR6.js → chunk-PUTS4DYW.js} +2 -2
- package/dist/{chunk-ZRJCGBVV.js → chunk-PVR5EELP.js} +2 -2
- package/dist/{chunk-JSIDLTTG.js → chunk-PZ2V2XIK.js} +2 -2
- package/dist/{chunk-TMEQPODK.js → chunk-PZ37VDB5.js} +2 -2
- package/dist/{chunk-FLGUVRR7.js → chunk-QBADR2FO.js} +6 -6
- package/dist/{chunk-TGVVEGZG.js → chunk-QLIDZGPV.js} +6 -6
- package/dist/{chunk-LVONK3YQ.js → chunk-QRKTESVE.js} +2 -2
- package/dist/{chunk-HT5WSUC7.js → chunk-QXEDIDBZ.js} +3 -3
- package/dist/{chunk-WURSS6MP.js → chunk-R66YMYJU.js} +2 -2
- package/dist/{chunk-6PQNLL4E.js → chunk-R7XCJWCD.js} +11 -11
- package/dist/{chunk-4R3JCVID.js → chunk-RAMZTZOB.js} +360 -103
- package/dist/chunk-RAMZTZOB.js.map +1 -0
- package/dist/{chunk-QRVNI5V6.js → chunk-SCNEQFIW.js} +3 -3
- package/dist/{chunk-BNUPYHHZ.js → chunk-SD4PPZFB.js} +4 -4
- package/dist/{chunk-ROQOVH4N.js → chunk-SFAU5R5S.js} +3 -3
- package/dist/{chunk-R63QEVPK.js → chunk-SJORXXLV.js} +6 -6
- package/dist/{chunk-FBE6AIIW.js → chunk-SOKNCW5U.js} +2 -2
- package/dist/{chunk-JRXHSVD5.js → chunk-SOXZ4LGS.js} +68 -11
- package/dist/chunk-SOXZ4LGS.js.map +1 -0
- package/dist/{chunk-EF5SYXAY.js → chunk-SQDPHCK2.js} +22 -14
- package/dist/chunk-SQDPHCK2.js.map +1 -0
- package/dist/{chunk-NDF3SH3X.js → chunk-TDIOBPLA.js} +5 -5
- package/dist/{chunk-EHCUFCXM.js → chunk-TEPPPAJI.js} +17 -7
- package/dist/chunk-TEPPPAJI.js.map +1 -0
- package/dist/{chunk-33TPANCR.js → chunk-TFK4KFKA.js} +4 -4
- package/dist/{chunk-6NIB2KGJ.js → chunk-THVIT3PW.js} +22 -22
- package/dist/{chunk-HPPKLBTJ.js → chunk-TJQDL3JH.js} +2 -2
- package/dist/{chunk-FD4Q5KFL.js → chunk-TLL22FFO.js} +2 -2
- package/dist/{chunk-7DU35P5J.js → chunk-TN5T5HRZ.js} +7 -7
- package/dist/{chunk-JK7C5A4I.js → chunk-TR4HIKJ2.js} +8 -8
- package/dist/{chunk-HNYJEAES.js → chunk-UGEWCWVV.js} +3 -3
- package/dist/chunk-ULYQEFNH.js +529 -0
- package/dist/chunk-ULYQEFNH.js.map +1 -0
- package/dist/{chunk-H5EVWF6L.js → chunk-UNNJUJVD.js} +2 -2
- package/dist/{chunk-AD22P5X3.js → chunk-UUSAOIJR.js} +3 -3
- package/dist/{chunk-Z6DKXQG7.js → chunk-UXXFMF4X.js} +2 -2
- package/dist/{chunk-RGPYMHKI.js → chunk-V3K4RQO7.js} +9 -3
- package/dist/chunk-V3K4RQO7.js.map +1 -0
- package/dist/{chunk-UP4BE32Y.js → chunk-VO6RVVP7.js} +5 -5
- package/dist/{chunk-S4SC5SSV.js → chunk-VPNXQUUS.js} +11 -11
- package/dist/{chunk-7BST7BA6.js → chunk-VW3BBTMA.js} +1 -1
- package/dist/{chunk-CBY5CXBD.js → chunk-VWSFA4LJ.js} +2 -2
- package/dist/{chunk-MYNUBDU7.js → chunk-VYKW6TB2.js} +1 -1
- package/dist/chunk-VYKW6TB2.js.map +1 -0
- package/dist/{chunk-QEJTQTF5.js → chunk-W6T5HR3Z.js} +3 -3
- package/dist/{chunk-5JEIDFPD.js → chunk-WBPQ7OPC.js} +1 -1
- package/dist/{chunk-GZLLDA6P.js → chunk-WEFN327U.js} +2 -2
- package/dist/{chunk-ANHUMDJX.js → chunk-WNDTLK44.js} +2 -2
- package/dist/{chunk-DLOYMWUQ.js → chunk-WSLPZ43N.js} +7 -7
- package/dist/{chunk-2DS4UOYQ.js → chunk-WSZQNTVN.js} +2 -2
- package/dist/{chunk-LE2EDBXU.js → chunk-WUHB422G.js} +5 -5
- package/dist/{chunk-BJW7G6EF.js → chunk-WVX5AQXS.js} +3 -3
- package/dist/{chunk-5POTDNQT.js → chunk-WWOHORRO.js} +3 -3
- package/dist/{chunk-4W7VISE7.js → chunk-WYDZP5F2.js} +93 -94
- package/dist/chunk-WYDZP5F2.js.map +1 -0
- package/dist/{chunk-KZHW27BV.js → chunk-WYEPUXGL.js} +2 -2
- package/dist/{chunk-GALB2G3W.js → chunk-X2AH4DRF.js} +2 -2
- package/dist/{chunk-NCX5SAQY.js → chunk-XN6CALYY.js} +9 -9
- package/dist/{chunk-SUVEDKE2.js → chunk-XNACICAB.js} +3 -3
- package/dist/{chunk-FDNJVZRE.js → chunk-XU4I47IP.js} +4 -4
- package/dist/chunk-XV6ZYRHK.js +59 -0
- package/dist/chunk-XV6ZYRHK.js.map +1 -0
- package/dist/{chunk-WRLWLGEF.js → chunk-Y5E3XQ2S.js} +25 -2
- package/dist/{chunk-WRLWLGEF.js.map → chunk-Y5E3XQ2S.js.map} +1 -1
- package/dist/{chunk-U36PO27Q.js → chunk-YG3IJCM2.js} +3 -3
- package/dist/{chunk-UWJ5P5CU.js → chunk-YGSJWWT3.js} +3 -3
- package/dist/{chunk-APU42QDI.js → chunk-YO64YVYL.js} +105 -101
- package/dist/chunk-YO64YVYL.js.map +1 -0
- package/dist/{chunk-P5WABK2H.js → chunk-Z4GJB24B.js} +2 -2
- package/dist/{chunk-NLMTNEWW.js → chunk-Z6E6TUAE.js} +2 -2
- package/dist/{chunk-OBQVTCTW.js → chunk-ZX5H7LWD.js} +2 -2
- package/dist/components/browser-viewer.d.ts +1 -1
- package/dist/composer.js +8 -8
- package/dist/{computer-viewer-KEDVLD42.js → computer-viewer-VA5JONUH.js} +6 -6
- package/dist/connect.js +7 -7
- package/dist/desktop.js +2 -2
- package/dist/editor.js +2 -2
- package/dist/{embedded-new-voice-LFHWWYD2.js → embedded-new-voice-6BILAOUG.js} +6 -6
- package/dist/{embedded-voice-6QS4ANNX.js → embedded-voice-UDE4JRKB.js} +6 -6
- package/dist/{fleet-decision-row-QNSTP3VX.js → fleet-decision-row-NN2HXDX3.js} +2 -2
- package/dist/hooks/internal.d.ts +38 -0
- package/dist/hooks/use-client-config-flags.d.ts +12 -0
- package/dist/hooks/use-workspace-sessions.d.ts +10 -1
- package/dist/index.js +86 -80
- package/dist/interaction.js +8 -6
- package/dist/interaction.js.map +1 -1
- package/dist/{latest-question-AW3PPDUM.js → latest-question-4WDBECXB.js} +4 -3
- package/dist/{latest-question-AW3PPDUM.js.map → latest-question-4WDBECXB.js.map} +1 -1
- package/dist/machines.js +4 -4
- package/dist/messages/en.d.ts +3 -3
- package/dist/messages.js +1 -1
- package/dist/{model-policy-picker-menu-CURJ247L.js → model-policy-picker-menu-NRTO6FRP.js} +4 -4
- package/dist/{platform-activity-row-BMXXNZKX.js → platform-activity-row-ENQVIFTL.js} +2 -2
- package/dist/{queue-surface-implementation-2X5AXB6I.js → queue-surface-implementation-H4XSNHZE.js} +8 -6
- package/dist/{queue-surface-implementation-2X5AXB6I.js.map → queue-surface-implementation-H4XSNHZE.js.map} +1 -1
- package/dist/realtime.js +5 -5
- package/dist/{sandbox-files-4FBG3GS2.js → sandbox-files-IEHODU35.js} +9 -9
- package/dist/sandbox-files-IEHODU35.js.map +1 -0
- package/dist/session-app.js +198 -192
- package/dist/session-list-model.d.ts +1 -0
- package/dist/session-list-model.js +7 -1
- package/dist/{session-realtime-2XIB254N.js → session-realtime-JNKDSGH7.js} +3 -3
- package/dist/session-realtime-JNKDSGH7.js.map +1 -0
- package/dist/session-realtime.js +2 -2
- package/dist/session-ui.js +48 -43
- package/dist/session.js +20 -18
- package/dist/sites.js +2 -2
- package/dist/terminal.js +2 -2
- package/dist/this-computer.js +3 -3
- package/dist/timeline/invoked-tool.d.ts +5 -0
- package/dist/timeline/tool-display-name.d.ts +2 -2
- package/dist/timeline/tool-icon.d.ts +14 -0
- package/dist/timeline/tool-presentation.d.ts +8 -3
- package/dist/{timeline-annotation-markers-X4K2IEOO.js → timeline-annotation-markers-ZSOFW7PG.js} +2 -2
- package/dist/{timeline-annotation-selection-MEHBW676.js → timeline-annotation-selection-YWV2UC34.js} +2 -2
- package/dist/{timeline-annotations-dialog-U2FPQ3UY.js → timeline-annotations-dialog-ZWQVX2HI.js} +3 -3
- package/dist/timeline-model.js +16 -14
- package/dist/ui/access-list.js +7 -7
- package/dist/ui/cadence-picker.js +2 -2
- package/dist/ui/list-row.js +3 -3
- package/dist/ui/revision-history.js +2 -2
- package/dist/ui/role-select.js +3 -3
- package/dist/ui/select-menu.js +2 -2
- package/dist/usage.js +3 -3
- package/dist/workbench.js +4 -4
- package/package.json +4 -4
- package/src/app/app-state.tsx +3 -1
- package/src/app/components/capabilities/session-machine-card.tsx +9 -2
- package/src/app/components/rail/session-list.tsx +254 -44
- package/src/app/components/rail/session-row-content.tsx +24 -2
- package/src/app/components/rail/session-shell.tsx +14 -9
- package/src/app/components/rail/site-session-group-heading.tsx +59 -20
- package/src/app/components/session/session-tenancy-control.tsx +18 -0
- package/src/app/components/session/site-origin-link.test.tsx +73 -0
- package/src/app/components/session/site-origin-link.tsx +4 -2
- package/src/app/embed/memory-navigation.tsx +1 -0
- package/src/app/lib/actions/held-modifier.test.ts +101 -0
- package/src/app/lib/actions/held-modifier.ts +108 -0
- package/src/app/lib/console-site.tsx +38 -0
- package/src/app/lib/navigation.tsx +4 -0
- package/src/app/lib/routes.tsx +42 -0
- package/src/app/lib/session-failure-toasts.ts +26 -0
- package/src/app/lib/session-ui-features.tsx +18 -4
- package/src/app/lib/sessions-group.tsx +219 -30
- package/src/app/lib/site-opened.tsx +48 -0
- package/src/app/lib/site-session-groups.test.ts +173 -6
- package/src/app/lib/site-view-routes.test.ts +55 -0
- package/src/app/lib/use-session-list-hint-refresh.tsx +44 -4
- package/src/app/routes/artifacts.tsx +2 -29
- package/src/app/routes/session-transient-failures.test.tsx +343 -0
- package/src/app/routes/session-unavailable.tsx +74 -3
- package/src/app/routes/session.tsx +4 -13
- package/src/app/routes/sessions-index.tsx +13 -9
- package/src/app/routes/site-view.test.tsx +476 -0
- package/src/app/routes/site-view.tsx +583 -0
- package/src/components/browser-viewer.tsx +16 -2
- package/src/hooks/internal.ts +129 -6
- package/src/hooks/use-client-config-flags.ts +8 -0
- package/src/hooks/use-session-events.ts +83 -9
- package/src/hooks/use-workspace-sessions.ts +21 -1
- package/src/messages/en.ts +3 -3
- package/src/session-list-model.ts +4 -0
- package/src/timeline/activity-rail.tsx +3 -2
- package/src/timeline/invoked-tool.ts +14 -4
- package/src/timeline/projection.ts +11 -6
- package/src/timeline/rolling-activity.tsx +6 -2
- package/src/timeline/tool-display-name.ts +2 -2
- package/src/timeline/tool-icon.tsx +165 -0
- package/src/timeline/tool-presentation.ts +207 -48
- package/src/timeline/tool-renderers.tsx +1 -70
- package/styles/compiled.css +38 -0
- package/dist/chunk-22ZBT6CN.js +0 -50
- package/dist/chunk-22ZBT6CN.js.map +0 -1
- package/dist/chunk-4R3JCVID.js.map +0 -1
- package/dist/chunk-4W7VISE7.js.map +0 -1
- package/dist/chunk-5JZYPZ72.js.map +0 -1
- package/dist/chunk-5MZTJMZ3.js.map +0 -1
- package/dist/chunk-6W3LF3DB.js.map +0 -1
- package/dist/chunk-ADJJQSYC.js.map +0 -1
- package/dist/chunk-APU42QDI.js.map +0 -1
- package/dist/chunk-BJIZ7PL7.js.map +0 -1
- package/dist/chunk-CVG4FILQ.js.map +0 -1
- package/dist/chunk-EF5SYXAY.js.map +0 -1
- package/dist/chunk-EHCUFCXM.js.map +0 -1
- package/dist/chunk-GZ64CASI.js.map +0 -1
- package/dist/chunk-JRXHSVD5.js.map +0 -1
- package/dist/chunk-KF3MF6FP.js.map +0 -1
- package/dist/chunk-MYNUBDU7.js.map +0 -1
- package/dist/chunk-NAWXARTY.js.map +0 -1
- package/dist/chunk-PM3OSANE.js.map +0 -1
- package/dist/chunk-Q35DT6I6.js.map +0 -1
- package/dist/chunk-R25ZKOZR.js +0 -24
- package/dist/chunk-R25ZKOZR.js.map +0 -1
- package/dist/chunk-RGPYMHKI.js.map +0 -1
- package/dist/chunk-RGW24ZZM.js.map +0 -1
- package/dist/chunk-TQGJN5UZ.js.map +0 -1
- package/dist/chunk-X7L4H4VG.js.map +0 -1
- package/dist/chunk-XFNLU7EW.js.map +0 -1
- package/dist/chunk-Z5WMLJKI.js.map +0 -1
- /package/dist/{browser-viewer-RYYQSRTC.js.map → app/lib/console-site.js.map} +0 -0
- /package/dist/{chat-interactive-block-ABCRKXJ4.js.map → app/lib/site-opened.js.map} +0 -0
- /package/dist/{computer-viewer-KEDVLD42.js.map → browser-viewer-VPK3CV2H.js.map} +0 -0
- /package/dist/{embedded-new-voice-LFHWWYD2.js.map → chat-interactive-block-AMDSW656.js.map} +0 -0
- /package/dist/{chunk-RQDFYQHA.js.map → chunk-25LWDG5D.js.map} +0 -0
- /package/dist/{chunk-U3HSFCON.js.map → chunk-2CKVVAGP.js.map} +0 -0
- /package/dist/{chunk-F6LBGYS6.js.map → chunk-2DL6NJP5.js.map} +0 -0
- /package/dist/{chunk-UHFWF6ZU.js.map → chunk-2FPS5H2D.js.map} +0 -0
- /package/dist/{chunk-TWXIFWBD.js.map → chunk-34EU25RL.js.map} +0 -0
- /package/dist/{chunk-PTGRFAMH.js.map → chunk-3ABPIUCK.js.map} +0 -0
- /package/dist/{chunk-722UO6YQ.js.map → chunk-3PEXVG4D.js.map} +0 -0
- /package/dist/{chunk-N3ZP4IDU.js.map → chunk-45WYYFP6.js.map} +0 -0
- /package/dist/{chunk-HOJGAJAB.js.map → chunk-4MQLGMV2.js.map} +0 -0
- /package/dist/{chunk-L7YURQI2.js.map → chunk-4U4GXWXS.js.map} +0 -0
- /package/dist/{chunk-63VGE4OH.js.map → chunk-5HIOVXOX.js.map} +0 -0
- /package/dist/{chunk-GFUUFM2O.js.map → chunk-5M23GZA2.js.map} +0 -0
- /package/dist/{chunk-RKB2Z457.js.map → chunk-5VGJXWQ2.js.map} +0 -0
- /package/dist/{chunk-I6VUUEXH.js.map → chunk-6AFSZKZA.js.map} +0 -0
- /package/dist/{chunk-FBMU3VK5.js.map → chunk-6DCEDIF6.js.map} +0 -0
- /package/dist/{chunk-4EONHNJU.js.map → chunk-6O4VWKSO.js.map} +0 -0
- /package/dist/{chunk-BSX2R4CW.js.map → chunk-767WCGAX.js.map} +0 -0
- /package/dist/{chunk-7KGKDWWR.js.map → chunk-7HFLYNWN.js.map} +0 -0
- /package/dist/{chunk-OSVHU2WU.js.map → chunk-7IYAHFPE.js.map} +0 -0
- /package/dist/{chunk-4EAF3HSD.js.map → chunk-7J7PZB4S.js.map} +0 -0
- /package/dist/{chunk-OR37STQZ.js.map → chunk-7R2JQHBX.js.map} +0 -0
- /package/dist/{chunk-QM5H4FPT.js.map → chunk-7VN6VC3D.js.map} +0 -0
- /package/dist/{chunk-HWDGJFM4.js.map → chunk-A2E3ZF6N.js.map} +0 -0
- /package/dist/{chunk-4432A3HQ.js.map → chunk-A6T4FGE7.js.map} +0 -0
- /package/dist/{chunk-73SOCVLS.js.map → chunk-AIEXYO2X.js.map} +0 -0
- /package/dist/{chunk-U7TC2XJQ.js.map → chunk-AJPW3SV4.js.map} +0 -0
- /package/dist/{chunk-46VBQG2D.js.map → chunk-AOUCHCSB.js.map} +0 -0
- /package/dist/{chunk-HDHK3SXK.js.map → chunk-AT4K4F6S.js.map} +0 -0
- /package/dist/{chunk-HRJQAFKR.js.map → chunk-AX6YJA5U.js.map} +0 -0
- /package/dist/{chunk-HO5Y2OOX.js.map → chunk-BLPXOHG6.js.map} +0 -0
- /package/dist/{chunk-DT7BORXG.js.map → chunk-BMJTNPWK.js.map} +0 -0
- /package/dist/{chunk-HIHO2QE7.js.map → chunk-BT2MVGHT.js.map} +0 -0
- /package/dist/{chunk-AOLE4IRZ.js.map → chunk-C535KSTY.js.map} +0 -0
- /package/dist/{chunk-IVOA3DXA.js.map → chunk-CB574ERL.js.map} +0 -0
- /package/dist/{chunk-IBTXYLBW.js.map → chunk-CCFWY4GF.js.map} +0 -0
- /package/dist/{chunk-ZOC3OP6F.js.map → chunk-CCR33J7L.js.map} +0 -0
- /package/dist/{chunk-NYZQ7LO7.js.map → chunk-CDUDKETD.js.map} +0 -0
- /package/dist/{chunk-JTN3T4QN.js.map → chunk-D3RK3NGM.js.map} +0 -0
- /package/dist/{chunk-IOKSNX74.js.map → chunk-D5OWJZQR.js.map} +0 -0
- /package/dist/{chunk-XWWXIZFP.js.map → chunk-DFXZYNTX.js.map} +0 -0
- /package/dist/{chunk-SQGXMHJO.js.map → chunk-DGLRZMXL.js.map} +0 -0
- /package/dist/{chunk-GNEHAPKV.js.map → chunk-DJFTH2DI.js.map} +0 -0
- /package/dist/{chunk-KWKGBGAF.js.map → chunk-DKCX643S.js.map} +0 -0
- /package/dist/{chunk-HQG4SLTE.js.map → chunk-DYJGYGPB.js.map} +0 -0
- /package/dist/{chunk-GTQ3SNEI.js.map → chunk-E36IC3LU.js.map} +0 -0
- /package/dist/{chunk-72J6C2AJ.js.map → chunk-EMCB6XKU.js.map} +0 -0
- /package/dist/{chunk-3AA6RNGE.js.map → chunk-ENS6E4RZ.js.map} +0 -0
- /package/dist/{chunk-AG7VGUIW.js.map → chunk-ERG355NM.js.map} +0 -0
- /package/dist/{chunk-TSBE4KOQ.js.map → chunk-EWL6NDOO.js.map} +0 -0
- /package/dist/{chunk-HTT3FB7T.js.map → chunk-F3FN6DO6.js.map} +0 -0
- /package/dist/{chunk-ST22GONV.js.map → chunk-FB3B45FP.js.map} +0 -0
- /package/dist/{chunk-P5T36BA3.js.map → chunk-FRP64DEK.js.map} +0 -0
- /package/dist/{chunk-KBF3SE7G.js.map → chunk-FSP334UU.js.map} +0 -0
- /package/dist/{chunk-4VKA5O7T.js.map → chunk-FVL4B552.js.map} +0 -0
- /package/dist/{chunk-VP62LPLW.js.map → chunk-G2BX56CN.js.map} +0 -0
- /package/dist/{chunk-CSHBR2IZ.js.map → chunk-GDLDBR6B.js.map} +0 -0
- /package/dist/{chunk-PN66T6JA.js.map → chunk-GFSOXB2K.js.map} +0 -0
- /package/dist/{chunk-S4EZ3JUB.js.map → chunk-GZGQHQI7.js.map} +0 -0
- /package/dist/{chunk-BXRIQZAH.js.map → chunk-HNNM2GDN.js.map} +0 -0
- /package/dist/{chunk-EU6XSQFM.js.map → chunk-HPB4KSV3.js.map} +0 -0
- /package/dist/{chunk-QCD5Y7K5.js.map → chunk-HSQRYJ4P.js.map} +0 -0
- /package/dist/{chunk-YXOKAG66.js.map → chunk-HUXDGWAN.js.map} +0 -0
- /package/dist/{chunk-VUHPA3XQ.js.map → chunk-I66ZB6KD.js.map} +0 -0
- /package/dist/{chunk-7CZTKBTI.js.map → chunk-IC7KNOBB.js.map} +0 -0
- /package/dist/{chunk-HGMWMK5K.js.map → chunk-IIO2MR3B.js.map} +0 -0
- /package/dist/{chunk-L6RXRRN3.js.map → chunk-ILDOW2IQ.js.map} +0 -0
- /package/dist/{chunk-O756O2I7.js.map → chunk-IPPVX5GF.js.map} +0 -0
- /package/dist/{chunk-X7ASQHR6.js.map → chunk-IUK5QGP5.js.map} +0 -0
- /package/dist/{chunk-PIVGX42P.js.map → chunk-JNY5MT3I.js.map} +0 -0
- /package/dist/{chunk-DDK4WFJ3.js.map → chunk-JWN7SLTO.js.map} +0 -0
- /package/dist/{chunk-Q35YZVDZ.js.map → chunk-KFWVBTUH.js.map} +0 -0
- /package/dist/{chunk-JXT5QDJC.js.map → chunk-KNFDWNCH.js.map} +0 -0
- /package/dist/{chunk-AZVANYMB.js.map → chunk-KUNFUSZ7.js.map} +0 -0
- /package/dist/{chunk-DXZNDKQD.js.map → chunk-LEEJBZ5B.js.map} +0 -0
- /package/dist/{chunk-RSNYGEVZ.js.map → chunk-LKJ2C7PH.js.map} +0 -0
- /package/dist/{chunk-RIMKJBCD.js.map → chunk-LMPTC4CX.js.map} +0 -0
- /package/dist/{chunk-3KVWXKD6.js.map → chunk-LQ47YL6E.js.map} +0 -0
- /package/dist/{chunk-GAIM5RNE.js.map → chunk-MJQBC7C5.js.map} +0 -0
- /package/dist/{chunk-NWZW2WHN.js.map → chunk-MM7OKOTE.js.map} +0 -0
- /package/dist/{chunk-FM4OUCC2.js.map → chunk-MOKYT3X3.js.map} +0 -0
- /package/dist/{chunk-XRRSFQEV.js.map → chunk-NAZZLAWX.js.map} +0 -0
- /package/dist/{chunk-XOFUXMPP.js.map → chunk-ND2WCWXI.js.map} +0 -0
- /package/dist/{chunk-6L7U46Y2.js.map → chunk-NKNVIO66.js.map} +0 -0
- /package/dist/{chunk-JKUICTLM.js.map → chunk-NLAFNMPK.js.map} +0 -0
- /package/dist/{chunk-OO2T63BY.js.map → chunk-NML44AW2.js.map} +0 -0
- /package/dist/{chunk-4LKNIGHB.js.map → chunk-O2SBHS2N.js.map} +0 -0
- /package/dist/{chunk-RA3FNMWF.js.map → chunk-O4DYOSOL.js.map} +0 -0
- /package/dist/{chunk-ZKYYZH6L.js.map → chunk-OFB6TUDC.js.map} +0 -0
- /package/dist/{chunk-DWPOQ3S5.js.map → chunk-OTMWHZBY.js.map} +0 -0
- /package/dist/{chunk-VVCDB2T7.js.map → chunk-PCJLH45G.js.map} +0 -0
- /package/dist/{chunk-WSMYOLHG.js.map → chunk-PEKPWK5M.js.map} +0 -0
- /package/dist/{chunk-PZ24CYDO.js.map → chunk-PFAUGEV5.js.map} +0 -0
- /package/dist/{chunk-KTRKZRID.js.map → chunk-PKEKZ2VA.js.map} +0 -0
- /package/dist/{chunk-6JKZILLF.js.map → chunk-PMD7V4N7.js.map} +0 -0
- /package/dist/{chunk-B74GSYR6.js.map → chunk-PUTS4DYW.js.map} +0 -0
- /package/dist/{chunk-ZRJCGBVV.js.map → chunk-PVR5EELP.js.map} +0 -0
- /package/dist/{chunk-JSIDLTTG.js.map → chunk-PZ2V2XIK.js.map} +0 -0
- /package/dist/{chunk-TMEQPODK.js.map → chunk-PZ37VDB5.js.map} +0 -0
- /package/dist/{chunk-FLGUVRR7.js.map → chunk-QBADR2FO.js.map} +0 -0
- /package/dist/{chunk-TGVVEGZG.js.map → chunk-QLIDZGPV.js.map} +0 -0
- /package/dist/{chunk-LVONK3YQ.js.map → chunk-QRKTESVE.js.map} +0 -0
- /package/dist/{chunk-HT5WSUC7.js.map → chunk-QXEDIDBZ.js.map} +0 -0
- /package/dist/{chunk-WURSS6MP.js.map → chunk-R66YMYJU.js.map} +0 -0
- /package/dist/{chunk-6PQNLL4E.js.map → chunk-R7XCJWCD.js.map} +0 -0
- /package/dist/{chunk-QRVNI5V6.js.map → chunk-SCNEQFIW.js.map} +0 -0
- /package/dist/{chunk-BNUPYHHZ.js.map → chunk-SD4PPZFB.js.map} +0 -0
- /package/dist/{chunk-ROQOVH4N.js.map → chunk-SFAU5R5S.js.map} +0 -0
- /package/dist/{chunk-R63QEVPK.js.map → chunk-SJORXXLV.js.map} +0 -0
- /package/dist/{chunk-FBE6AIIW.js.map → chunk-SOKNCW5U.js.map} +0 -0
- /package/dist/{chunk-NDF3SH3X.js.map → chunk-TDIOBPLA.js.map} +0 -0
- /package/dist/{chunk-33TPANCR.js.map → chunk-TFK4KFKA.js.map} +0 -0
- /package/dist/{chunk-6NIB2KGJ.js.map → chunk-THVIT3PW.js.map} +0 -0
- /package/dist/{chunk-HPPKLBTJ.js.map → chunk-TJQDL3JH.js.map} +0 -0
- /package/dist/{chunk-FD4Q5KFL.js.map → chunk-TLL22FFO.js.map} +0 -0
- /package/dist/{chunk-7DU35P5J.js.map → chunk-TN5T5HRZ.js.map} +0 -0
- /package/dist/{chunk-JK7C5A4I.js.map → chunk-TR4HIKJ2.js.map} +0 -0
- /package/dist/{chunk-HNYJEAES.js.map → chunk-UGEWCWVV.js.map} +0 -0
- /package/dist/{chunk-H5EVWF6L.js.map → chunk-UNNJUJVD.js.map} +0 -0
- /package/dist/{chunk-AD22P5X3.js.map → chunk-UUSAOIJR.js.map} +0 -0
- /package/dist/{chunk-Z6DKXQG7.js.map → chunk-UXXFMF4X.js.map} +0 -0
- /package/dist/{chunk-UP4BE32Y.js.map → chunk-VO6RVVP7.js.map} +0 -0
- /package/dist/{chunk-S4SC5SSV.js.map → chunk-VPNXQUUS.js.map} +0 -0
- /package/dist/{chunk-7BST7BA6.js.map → chunk-VW3BBTMA.js.map} +0 -0
- /package/dist/{chunk-CBY5CXBD.js.map → chunk-VWSFA4LJ.js.map} +0 -0
- /package/dist/{chunk-QEJTQTF5.js.map → chunk-W6T5HR3Z.js.map} +0 -0
- /package/dist/{chunk-5JEIDFPD.js.map → chunk-WBPQ7OPC.js.map} +0 -0
- /package/dist/{chunk-GZLLDA6P.js.map → chunk-WEFN327U.js.map} +0 -0
- /package/dist/{chunk-ANHUMDJX.js.map → chunk-WNDTLK44.js.map} +0 -0
- /package/dist/{chunk-DLOYMWUQ.js.map → chunk-WSLPZ43N.js.map} +0 -0
- /package/dist/{chunk-2DS4UOYQ.js.map → chunk-WSZQNTVN.js.map} +0 -0
- /package/dist/{chunk-LE2EDBXU.js.map → chunk-WUHB422G.js.map} +0 -0
- /package/dist/{chunk-BJW7G6EF.js.map → chunk-WVX5AQXS.js.map} +0 -0
- /package/dist/{chunk-5POTDNQT.js.map → chunk-WWOHORRO.js.map} +0 -0
- /package/dist/{chunk-KZHW27BV.js.map → chunk-WYEPUXGL.js.map} +0 -0
- /package/dist/{chunk-GALB2G3W.js.map → chunk-X2AH4DRF.js.map} +0 -0
- /package/dist/{chunk-NCX5SAQY.js.map → chunk-XN6CALYY.js.map} +0 -0
- /package/dist/{chunk-SUVEDKE2.js.map → chunk-XNACICAB.js.map} +0 -0
- /package/dist/{chunk-FDNJVZRE.js.map → chunk-XU4I47IP.js.map} +0 -0
- /package/dist/{chunk-U36PO27Q.js.map → chunk-YG3IJCM2.js.map} +0 -0
- /package/dist/{chunk-UWJ5P5CU.js.map → chunk-YGSJWWT3.js.map} +0 -0
- /package/dist/{chunk-P5WABK2H.js.map → chunk-Z4GJB24B.js.map} +0 -0
- /package/dist/{chunk-NLMTNEWW.js.map → chunk-Z6E6TUAE.js.map} +0 -0
- /package/dist/{chunk-OBQVTCTW.js.map → chunk-ZX5H7LWD.js.map} +0 -0
- /package/dist/{embedded-voice-6QS4ANNX.js.map → computer-viewer-VA5JONUH.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-CURJ247L.js.map → embedded-new-voice-6BILAOUG.js.map} +0 -0
- /package/dist/{sandbox-files-4FBG3GS2.js.map → embedded-voice-UDE4JRKB.js.map} +0 -0
- /package/dist/{fleet-decision-row-QNSTP3VX.js.map → fleet-decision-row-NN2HXDX3.js.map} +0 -0
- /package/dist/{session-realtime-2XIB254N.js.map → model-policy-picker-menu-NRTO6FRP.js.map} +0 -0
- /package/dist/{platform-activity-row-BMXXNZKX.js.map → platform-activity-row-ENQVIFTL.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-X4K2IEOO.js.map → timeline-annotation-markers-ZSOFW7PG.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-MEHBW676.js.map → timeline-annotation-selection-YWV2UC34.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-U2FPQ3UY.js.map → timeline-annotations-dialog-ZWQVX2HI.js.map} +0 -0
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
|
+
applyPatchOpsFromToolItem,
|
|
4
|
+
controlCaret,
|
|
5
|
+
execTruncated,
|
|
6
|
+
invokedToolCall,
|
|
7
|
+
isExecSessionLostBanner,
|
|
8
|
+
looksBinary,
|
|
9
|
+
parseExecBannerSessionId,
|
|
10
|
+
parseToolArgs,
|
|
11
|
+
retainedToolResultImages,
|
|
12
|
+
sandboxCommandExitCode,
|
|
13
|
+
stripExecBanner,
|
|
14
|
+
tailPeek,
|
|
15
|
+
unwrapMcpOutput,
|
|
16
|
+
v4aToGitFileDiff
|
|
17
|
+
} from "./chunk-ULYQEFNH.js";
|
|
18
|
+
import {
|
|
19
|
+
builtInToolStep,
|
|
3
20
|
mcpToolLeaf,
|
|
4
21
|
toolDisplayName,
|
|
5
22
|
toolStepLabel,
|
|
6
23
|
toolStepPhase
|
|
7
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-LEKBNKLD.js";
|
|
8
25
|
import {
|
|
9
26
|
stringifyPayload,
|
|
10
27
|
tryParseJson
|
|
@@ -212,501 +229,8 @@ function createToolRegistry(baseEntries, baseFallback, options = {}) {
|
|
|
212
229
|
return { resolve, fallback };
|
|
213
230
|
}
|
|
214
231
|
|
|
215
|
-
// src/timeline/parsers.ts
|
|
216
|
-
import {
|
|
217
|
-
normalizeMcpOutput,
|
|
218
|
-
parseGeneratedImageReceipt
|
|
219
|
-
} from "@opengeni/sdk";
|
|
220
|
-
function sandboxCommandExitCode(out) {
|
|
221
|
-
const match = String(out ?? "").match(/Process exited with code (-?\d+)/);
|
|
222
|
-
return match ? Number(match[1]) : null;
|
|
223
|
-
}
|
|
224
|
-
function parseExecBannerSessionId(out) {
|
|
225
|
-
const text = String(out ?? "");
|
|
226
|
-
const outputIdx = text.indexOf("\nOutput:\n");
|
|
227
|
-
const banner = outputIdx >= 0 ? text.slice(0, outputIdx) : text.startsWith("Output:\n") ? "" : text;
|
|
228
|
-
const match = banner.match(/Process running with session ID (\d+)/);
|
|
229
|
-
if (!match) {
|
|
230
|
-
return null;
|
|
231
|
-
}
|
|
232
|
-
const n = Number.parseInt(match[1], 10);
|
|
233
|
-
return Number.isFinite(n) ? n : null;
|
|
234
|
-
}
|
|
235
|
-
function stripExecBanner(out) {
|
|
236
|
-
const text = String(out ?? "");
|
|
237
|
-
const marker = text.indexOf("\nOutput:\n");
|
|
238
|
-
if (marker >= 0) {
|
|
239
|
-
return text.slice(marker + "\nOutput:\n".length);
|
|
240
|
-
}
|
|
241
|
-
if (text.startsWith("Output:\n")) {
|
|
242
|
-
return text.slice("Output:\n".length);
|
|
243
|
-
}
|
|
244
|
-
return text;
|
|
245
|
-
}
|
|
246
|
-
function execTruncated(out) {
|
|
247
|
-
return /Total output lines:|\.{3}\d+ tokens truncated\.{3}|\[\.{3}\d+ characters truncated/.test(
|
|
248
|
-
String(out ?? "")
|
|
249
|
-
);
|
|
250
|
-
}
|
|
251
|
-
function isExecSessionLostBanner(out) {
|
|
252
|
-
return /write_stdin failed: session not found: \d+/.test(String(out ?? ""));
|
|
253
|
-
}
|
|
254
|
-
function looksBinary(text) {
|
|
255
|
-
return text.includes("\0") || text.startsWith("\x7FELF");
|
|
256
|
-
}
|
|
257
|
-
function controlCaret(printable) {
|
|
258
|
-
return String(printable).replace(
|
|
259
|
-
/[\u0000-\u001f]/g,
|
|
260
|
-
(c) => `^${String.fromCharCode(c.charCodeAt(0) + 64)}`
|
|
261
|
-
);
|
|
262
|
-
}
|
|
263
|
-
function v4aToGitFileDiff(op) {
|
|
264
|
-
const status = op.type === "create_file" ? "added" : op.type === "delete_file" ? "deleted" : op.moveTo ? "renamed" : "modified";
|
|
265
|
-
const oldPath = op.moveTo ? op.path : null;
|
|
266
|
-
const path = op.moveTo || op.path;
|
|
267
|
-
const hunks = [];
|
|
268
|
-
let additions = 0;
|
|
269
|
-
let deletions = 0;
|
|
270
|
-
let sawHunkAnchor = false;
|
|
271
|
-
if (op.type !== "delete_file") {
|
|
272
|
-
const lines = (op.diff ?? "").split("\n");
|
|
273
|
-
let cur = null;
|
|
274
|
-
let oldNo = 1;
|
|
275
|
-
let newNo = 1;
|
|
276
|
-
for (const raw of lines) {
|
|
277
|
-
if (raw.startsWith("@@")) {
|
|
278
|
-
sawHunkAnchor = true;
|
|
279
|
-
const match = raw.match(/-(\d+)(?:,\d+)?\s+\+(\d+)/);
|
|
280
|
-
oldNo = match ? Number(match[1]) : 1;
|
|
281
|
-
newNo = match ? Number(match[2]) : 1;
|
|
282
|
-
cur = {
|
|
283
|
-
oldStart: oldNo,
|
|
284
|
-
oldLines: 0,
|
|
285
|
-
newStart: newNo,
|
|
286
|
-
newLines: 0,
|
|
287
|
-
header: raw,
|
|
288
|
-
lines: [{ type: "meta", oldNo: null, newNo: null, text: raw }]
|
|
289
|
-
};
|
|
290
|
-
hunks.push(cur);
|
|
291
|
-
} else if (cur || op.type === "create_file") {
|
|
292
|
-
if (!cur) {
|
|
293
|
-
cur = {
|
|
294
|
-
oldStart: 0,
|
|
295
|
-
oldLines: 0,
|
|
296
|
-
newStart: 1,
|
|
297
|
-
newLines: 0,
|
|
298
|
-
header: "",
|
|
299
|
-
lines: []
|
|
300
|
-
};
|
|
301
|
-
hunks.push(cur);
|
|
302
|
-
oldNo = 0;
|
|
303
|
-
newNo = 1;
|
|
304
|
-
}
|
|
305
|
-
if (raw.startsWith("+")) {
|
|
306
|
-
cur.lines.push({
|
|
307
|
-
type: "add",
|
|
308
|
-
oldNo: null,
|
|
309
|
-
newNo: newNo++,
|
|
310
|
-
text: raw.slice(1)
|
|
311
|
-
});
|
|
312
|
-
cur.newLines += 1;
|
|
313
|
-
additions += 1;
|
|
314
|
-
} else if (raw.startsWith("-")) {
|
|
315
|
-
cur.lines.push({
|
|
316
|
-
type: "del",
|
|
317
|
-
oldNo: oldNo++,
|
|
318
|
-
newNo: null,
|
|
319
|
-
text: raw.slice(1)
|
|
320
|
-
});
|
|
321
|
-
cur.oldLines += 1;
|
|
322
|
-
deletions += 1;
|
|
323
|
-
} else {
|
|
324
|
-
cur.lines.push({
|
|
325
|
-
type: "context",
|
|
326
|
-
oldNo: oldNo++,
|
|
327
|
-
newNo: newNo++,
|
|
328
|
-
text: raw.replace(/^ /, "")
|
|
329
|
-
});
|
|
330
|
-
cur.oldLines += 1;
|
|
331
|
-
cur.newLines += 1;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
if (op.type === "update_file" && !sawHunkAnchor && lines.some((l) => l.trim().length > 0)) {
|
|
336
|
-
throw new Error("malformed V4A: no @@ hunk anchor");
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
return {
|
|
340
|
-
path,
|
|
341
|
-
oldPath,
|
|
342
|
-
status,
|
|
343
|
-
isBinary: false,
|
|
344
|
-
isImage: false,
|
|
345
|
-
additions,
|
|
346
|
-
deletions,
|
|
347
|
-
hunks,
|
|
348
|
-
truncated: false
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
var BEGIN_PATCH = "*** Begin Patch";
|
|
352
|
-
var END_PATCH = "*** End Patch";
|
|
353
|
-
var ADD_FILE = "*** Add File: ";
|
|
354
|
-
var DELETE_FILE = "*** Delete File: ";
|
|
355
|
-
var UPDATE_FILE = "*** Update File: ";
|
|
356
|
-
var MOVE_TO = "*** Move to: ";
|
|
357
|
-
var APPLY_PATCH_OP_TYPES = /* @__PURE__ */ new Set(["create_file", "update_file", "delete_file"]);
|
|
358
|
-
function isRecord(value) {
|
|
359
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
360
|
-
}
|
|
361
|
-
function freeformApplyPatchOps(rawPatch) {
|
|
362
|
-
return parseFreeformApplyPatch(rawPatch.trimStart());
|
|
363
|
-
}
|
|
364
|
-
function asApplyPatchOperation(value) {
|
|
365
|
-
if (!isRecord(value)) return null;
|
|
366
|
-
if (typeof value.type !== "string" || !APPLY_PATCH_OP_TYPES.has(value.type)) {
|
|
367
|
-
return null;
|
|
368
|
-
}
|
|
369
|
-
if (typeof value.path !== "string" || !value.path) {
|
|
370
|
-
return null;
|
|
371
|
-
}
|
|
372
|
-
const op = {
|
|
373
|
-
type: value.type,
|
|
374
|
-
path: value.path
|
|
375
|
-
};
|
|
376
|
-
if (typeof value.diff === "string") op.diff = value.diff;
|
|
377
|
-
if (typeof value.moveTo === "string" && value.moveTo.length > 0) op.moveTo = value.moveTo;
|
|
378
|
-
return op;
|
|
379
|
-
}
|
|
380
|
-
function parseStructuredOperations(payloads) {
|
|
381
|
-
if (payloads.length === 0) return [];
|
|
382
|
-
const operations = [];
|
|
383
|
-
for (const payload of payloads) {
|
|
384
|
-
const op = asApplyPatchOperation(payload);
|
|
385
|
-
if (!op) return [];
|
|
386
|
-
operations.push(op);
|
|
387
|
-
}
|
|
388
|
-
return operations;
|
|
389
|
-
}
|
|
390
|
-
function parseFreeformApplyPatch(rawPatch) {
|
|
391
|
-
const lines = rawPatch.split(/\r?\n/);
|
|
392
|
-
if (lines.at(-1) === "") lines.pop();
|
|
393
|
-
if (lines[0] !== BEGIN_PATCH) return [];
|
|
394
|
-
if (lines.length < 2 || lines.at(-1) !== END_PATCH) return [];
|
|
395
|
-
const operations = [];
|
|
396
|
-
let index = 1;
|
|
397
|
-
while (index < lines.length - 1) {
|
|
398
|
-
const line = lines[index];
|
|
399
|
-
let parsed = null;
|
|
400
|
-
if (line.startsWith(ADD_FILE)) parsed = parseAddFilePatch(lines, index);
|
|
401
|
-
else if (line.startsWith(DELETE_FILE)) parsed = parseDeleteFilePatch(lines, index);
|
|
402
|
-
else if (line.startsWith(UPDATE_FILE)) parsed = parseUpdateFilePatch(lines, index);
|
|
403
|
-
else return [];
|
|
404
|
-
if (!parsed || "error" in parsed) return [];
|
|
405
|
-
operations.push(parsed.operation);
|
|
406
|
-
index = parsed.nextIndex;
|
|
407
|
-
}
|
|
408
|
-
return operations.length > 0 ? operations : [];
|
|
409
|
-
}
|
|
410
|
-
function parsePatchHeader(line, prefix) {
|
|
411
|
-
const path = line.slice(prefix.length).trim();
|
|
412
|
-
return path || null;
|
|
413
|
-
}
|
|
414
|
-
function isFileOperationHeader(line) {
|
|
415
|
-
return line.startsWith(ADD_FILE) || line.startsWith(DELETE_FILE) || line.startsWith(UPDATE_FILE);
|
|
416
|
-
}
|
|
417
|
-
function joinDiff(lines) {
|
|
418
|
-
return `${lines.join("\n")}
|
|
419
|
-
`;
|
|
420
|
-
}
|
|
421
|
-
function parseAddFilePatch(lines, index) {
|
|
422
|
-
const path = parsePatchHeader(lines[index], ADD_FILE);
|
|
423
|
-
if (!path) return { error: true };
|
|
424
|
-
index += 1;
|
|
425
|
-
const diffLines = [];
|
|
426
|
-
while (index < lines.length - 1 && !isFileOperationHeader(lines[index])) {
|
|
427
|
-
const line = lines[index];
|
|
428
|
-
if (!line.startsWith("+")) return { error: true };
|
|
429
|
-
diffLines.push(line);
|
|
430
|
-
index += 1;
|
|
431
|
-
}
|
|
432
|
-
if (diffLines.length === 0) return { error: true };
|
|
433
|
-
return {
|
|
434
|
-
operation: { type: "create_file", path, diff: joinDiff(diffLines) },
|
|
435
|
-
nextIndex: index
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
function parseDeleteFilePatch(lines, index) {
|
|
439
|
-
const path = parsePatchHeader(lines[index], DELETE_FILE);
|
|
440
|
-
if (!path) return { error: true };
|
|
441
|
-
index += 1;
|
|
442
|
-
if (index < lines.length - 1 && !isFileOperationHeader(lines[index])) {
|
|
443
|
-
return { error: true };
|
|
444
|
-
}
|
|
445
|
-
return { operation: { type: "delete_file", path }, nextIndex: index };
|
|
446
|
-
}
|
|
447
|
-
function parseUpdateFilePatch(lines, index) {
|
|
448
|
-
const path = parsePatchHeader(lines[index], UPDATE_FILE);
|
|
449
|
-
if (!path) return { error: true };
|
|
450
|
-
index += 1;
|
|
451
|
-
let moveTo;
|
|
452
|
-
if (index < lines.length - 1 && lines[index].startsWith(MOVE_TO)) {
|
|
453
|
-
const parsedMoveTo = parsePatchHeader(lines[index], MOVE_TO);
|
|
454
|
-
if (!parsedMoveTo) return { error: true };
|
|
455
|
-
moveTo = parsedMoveTo;
|
|
456
|
-
index += 1;
|
|
457
|
-
}
|
|
458
|
-
const diffLines = [];
|
|
459
|
-
while (index < lines.length - 1 && !isFileOperationHeader(lines[index])) {
|
|
460
|
-
diffLines.push(lines[index]);
|
|
461
|
-
index += 1;
|
|
462
|
-
}
|
|
463
|
-
if (diffLines.length === 0 && !moveTo) return { error: true };
|
|
464
|
-
return {
|
|
465
|
-
operation: {
|
|
466
|
-
type: "update_file",
|
|
467
|
-
path,
|
|
468
|
-
diff: diffLines.length > 0 ? joinDiff(diffLines) : "",
|
|
469
|
-
...moveTo ? { moveTo } : {}
|
|
470
|
-
},
|
|
471
|
-
nextIndex: index
|
|
472
|
-
};
|
|
473
|
-
}
|
|
474
|
-
function applyPatchOps(raw) {
|
|
475
|
-
if (raw == null) return [];
|
|
476
|
-
if (typeof raw === "string") {
|
|
477
|
-
const trimmed = raw.trimStart();
|
|
478
|
-
if (trimmed.startsWith(BEGIN_PATCH)) return freeformApplyPatchOps(trimmed);
|
|
479
|
-
const parsed = tryParseJson(trimmed);
|
|
480
|
-
return parsed === void 0 ? [] : applyPatchOps(parsed);
|
|
481
|
-
}
|
|
482
|
-
if (Array.isArray(raw)) return parseStructuredOperations(raw);
|
|
483
|
-
if (!isRecord(raw)) return [];
|
|
484
|
-
if (typeof raw.patch === "string") return freeformApplyPatchOps(raw.patch);
|
|
485
|
-
if (Array.isArray(raw.command)) {
|
|
486
|
-
const [commandName, patch] = raw.command;
|
|
487
|
-
if (commandName === "apply_patch" && typeof patch === "string") {
|
|
488
|
-
return freeformApplyPatchOps(patch);
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
if (Array.isArray(raw.operations) && raw.operations.length > 0) {
|
|
492
|
-
return parseStructuredOperations(raw.operations);
|
|
493
|
-
}
|
|
494
|
-
if (raw.operation !== void 0) {
|
|
495
|
-
const op = asApplyPatchOperation(raw.operation);
|
|
496
|
-
return op ? [op] : [];
|
|
497
|
-
}
|
|
498
|
-
const flat = asApplyPatchOperation(raw);
|
|
499
|
-
return flat ? [flat] : [];
|
|
500
|
-
}
|
|
501
|
-
function applyPatchOpsFromToolItem(item) {
|
|
502
|
-
const fromRaw = applyPatchOps(item.raw);
|
|
503
|
-
if (fromRaw.length > 0) return fromRaw;
|
|
504
|
-
if (isRecord(item.raw)) {
|
|
505
|
-
const nested = item.raw.arguments ?? item.raw.input;
|
|
506
|
-
if (nested !== void 0 && nested !== item.arguments) {
|
|
507
|
-
const fromNested = applyPatchOps(nested);
|
|
508
|
-
if (fromNested.length > 0) return fromNested;
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
if (item.arguments !== void 0 && item.arguments !== null) {
|
|
512
|
-
return applyPatchOps(item.arguments);
|
|
513
|
-
}
|
|
514
|
-
return [];
|
|
515
|
-
}
|
|
516
|
-
function isApplyPatch(item) {
|
|
517
|
-
const type = item.raw && typeof item.raw === "object" ? item.raw.type : void 0;
|
|
518
|
-
if (type === "apply_patch_call") {
|
|
519
|
-
return true;
|
|
520
|
-
}
|
|
521
|
-
const name = item.name;
|
|
522
|
-
return name === "apply_patch_call" || name === "apply_patch" || name.endsWith("__apply_patch");
|
|
523
|
-
}
|
|
524
|
-
function parseToolArgs(args) {
|
|
525
|
-
if (args == null) {
|
|
526
|
-
return {};
|
|
527
|
-
}
|
|
528
|
-
if (typeof args === "string") {
|
|
529
|
-
const parsed = tryParseJson(args);
|
|
530
|
-
return parsed && typeof parsed === "object" ? parsed : {};
|
|
531
|
-
}
|
|
532
|
-
return typeof args === "object" ? args : {};
|
|
533
|
-
}
|
|
534
|
-
function tailPeek(text) {
|
|
535
|
-
const trimmed = text.trim();
|
|
536
|
-
if (!trimmed) {
|
|
537
|
-
return "";
|
|
538
|
-
}
|
|
539
|
-
const lines = trimmed.split("\n");
|
|
540
|
-
return lines[lines.length - 1] ?? "";
|
|
541
|
-
}
|
|
542
|
-
function unwrapMcpOutput(output) {
|
|
543
|
-
const normalized = normalizeMcpOutput(output);
|
|
544
|
-
return { text: normalized.text, isError: normalized.isError };
|
|
545
|
-
}
|
|
546
|
-
function screenshotDataUrl(out) {
|
|
547
|
-
if (typeof out === "string") {
|
|
548
|
-
if (out.startsWith("data:image")) {
|
|
549
|
-
return out;
|
|
550
|
-
}
|
|
551
|
-
if (out.startsWith("{") || out.startsWith("[")) {
|
|
552
|
-
const parsed = tryParseJson(out);
|
|
553
|
-
if (parsed !== void 0 && parsed !== out) {
|
|
554
|
-
return screenshotDataUrl(parsed);
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
return null;
|
|
558
|
-
}
|
|
559
|
-
if (Array.isArray(out)) {
|
|
560
|
-
for (const entry of out) {
|
|
561
|
-
const url = screenshotDataUrl(entry);
|
|
562
|
-
if (url) {
|
|
563
|
-
return url;
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
return null;
|
|
567
|
-
}
|
|
568
|
-
if (out === null || typeof out !== "object") {
|
|
569
|
-
return null;
|
|
570
|
-
}
|
|
571
|
-
const record = out;
|
|
572
|
-
const imageUrl = record.image_url ?? record.imageUrl;
|
|
573
|
-
if (typeof imageUrl === "string" && imageUrl.startsWith("data:image")) {
|
|
574
|
-
return imageUrl;
|
|
575
|
-
}
|
|
576
|
-
if (imageUrl && typeof imageUrl === "object") {
|
|
577
|
-
const url = imageUrl.url;
|
|
578
|
-
if (typeof url === "string" && url.startsWith("data:image")) {
|
|
579
|
-
return url;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
const image = record.image;
|
|
583
|
-
if (image && typeof image === "object") {
|
|
584
|
-
const mediaType = typeof image.mediaType === "string" ? image.mediaType : "image/png";
|
|
585
|
-
const base64 = bytesToBase64(image.data);
|
|
586
|
-
if (base64) {
|
|
587
|
-
return `data:${mediaType};base64,${base64}`;
|
|
588
|
-
}
|
|
589
|
-
if (typeof image.data === "string" && image.data.length > 0) {
|
|
590
|
-
return `data:${mediaType};base64,${image.data}`;
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
return null;
|
|
594
|
-
}
|
|
595
|
-
function retainedScreenshotMetadata(out) {
|
|
596
|
-
if (typeof out === "string" && (out.startsWith("{") || out.startsWith("["))) {
|
|
597
|
-
const parsed = tryParseJson(out);
|
|
598
|
-
if (parsed !== void 0 && parsed !== out) return retainedScreenshotMetadata(parsed);
|
|
599
|
-
}
|
|
600
|
-
if (Array.isArray(out)) {
|
|
601
|
-
for (const entry of out) {
|
|
602
|
-
const metadata = retainedScreenshotMetadata(entry);
|
|
603
|
-
if (metadata) return metadata;
|
|
604
|
-
}
|
|
605
|
-
return null;
|
|
606
|
-
}
|
|
607
|
-
if (!out || typeof out !== "object") return null;
|
|
608
|
-
const value = out;
|
|
609
|
-
if (typeof value.artifactId !== "string" || typeof value.available !== "boolean") return null;
|
|
610
|
-
if (!value.available) {
|
|
611
|
-
return typeof value.reason === "string" ? value : null;
|
|
612
|
-
}
|
|
613
|
-
return (value.kind === "computer_screenshot" || value.kind === "browser_screenshot") && ["image/png", "image/jpeg", "image/webp"].includes(String(value.contentType)) && typeof value.originalBytes === "number" && typeof value.sha256 === "string" && value.dimensions !== null && typeof value.dimensions === "object" && value.retention !== null && typeof value.retention === "object" && value.retention.policy === "session_screenshot" ? value : null;
|
|
614
|
-
}
|
|
615
|
-
function generatedImageReceipt(out) {
|
|
616
|
-
return parseGeneratedImageReceipt(out);
|
|
617
|
-
}
|
|
618
|
-
function retainedToolResultImages(out) {
|
|
619
|
-
const parsed = typeof out === "string" && (out.startsWith("{") || out.startsWith("[")) ? tryParseJson(out) : out;
|
|
620
|
-
const split = (entries) => {
|
|
621
|
-
const images = [];
|
|
622
|
-
const rest = entries.filter((entry) => {
|
|
623
|
-
if (!entry || typeof entry !== "object" || Array.isArray(entry)) return true;
|
|
624
|
-
const receipt = retainedScreenshotMetadata(entry);
|
|
625
|
-
if (!receipt?.available) return true;
|
|
626
|
-
images.push(receipt);
|
|
627
|
-
return false;
|
|
628
|
-
});
|
|
629
|
-
return { images, rest };
|
|
630
|
-
};
|
|
631
|
-
if (Array.isArray(parsed)) {
|
|
632
|
-
const { images, rest } = split(parsed);
|
|
633
|
-
return images.length ? { images, output: rest } : { images, output: out };
|
|
634
|
-
}
|
|
635
|
-
if (parsed && typeof parsed === "object") {
|
|
636
|
-
const record = parsed;
|
|
637
|
-
if (Array.isArray(record.content)) {
|
|
638
|
-
const { images, rest } = split(record.content);
|
|
639
|
-
return images.length ? { images, output: { ...record, content: rest } } : { images, output: out };
|
|
640
|
-
}
|
|
641
|
-
}
|
|
642
|
-
return { images: [], output: out };
|
|
643
|
-
}
|
|
644
|
-
function mediaPreviewFact(out) {
|
|
645
|
-
if (typeof out === "string" && (out.startsWith("{") || out.startsWith("["))) {
|
|
646
|
-
const parsed = tryParseJson(out);
|
|
647
|
-
if (parsed !== void 0 && parsed !== out) return mediaPreviewFact(parsed);
|
|
648
|
-
}
|
|
649
|
-
if (Array.isArray(out)) {
|
|
650
|
-
for (const entry of out) {
|
|
651
|
-
const preview = mediaPreviewFact(entry);
|
|
652
|
-
if (preview) return preview;
|
|
653
|
-
}
|
|
654
|
-
return null;
|
|
655
|
-
}
|
|
656
|
-
if (!out || typeof out !== "object") return null;
|
|
657
|
-
const record = out;
|
|
658
|
-
if (record.type !== "media_preview" || typeof record.mediaType !== "string" || record.fullOutputAvailable !== false || typeof record.preview !== "string" || record.inlineBytes !== null && typeof record.inlineBytes !== "number") {
|
|
659
|
-
return null;
|
|
660
|
-
}
|
|
661
|
-
return record;
|
|
662
|
-
}
|
|
663
|
-
function bytesToBase64(data) {
|
|
664
|
-
const isByte = (n) => typeof n === "number" && Number.isInteger(n) && n >= 0 && n <= 255;
|
|
665
|
-
let bytes = null;
|
|
666
|
-
if (Array.isArray(data) && data.every(isByte)) {
|
|
667
|
-
bytes = data;
|
|
668
|
-
} else if (data && typeof data === "object") {
|
|
669
|
-
const record = data;
|
|
670
|
-
if (record.type === "Buffer" && Array.isArray(record.data) && record.data.every(isByte)) {
|
|
671
|
-
bytes = record.data;
|
|
672
|
-
} else {
|
|
673
|
-
const keys = Object.keys(record);
|
|
674
|
-
if (keys.length > 0 && keys.every((key) => /^\d+$/.test(key))) {
|
|
675
|
-
const values = keys.sort((a, b) => Number(a) - Number(b)).map((key) => record[key]);
|
|
676
|
-
if (values.every(isByte)) {
|
|
677
|
-
bytes = values;
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
|
-
if (!bytes || bytes.length === 0) {
|
|
683
|
-
return null;
|
|
684
|
-
}
|
|
685
|
-
try {
|
|
686
|
-
let binary = "";
|
|
687
|
-
const CHUNK = 32768;
|
|
688
|
-
for (let i = 0; i < bytes.length; i += CHUNK) {
|
|
689
|
-
binary += String.fromCharCode(...bytes.slice(i, i + CHUNK));
|
|
690
|
-
}
|
|
691
|
-
return typeof btoa === "function" ? btoa(binary) : Buffer.from(binary, "binary").toString("base64");
|
|
692
|
-
} catch {
|
|
693
|
-
return null;
|
|
694
|
-
}
|
|
695
|
-
}
|
|
696
|
-
|
|
697
232
|
// src/timeline/tool-presentation.ts
|
|
698
233
|
import { isConnectedMachineOutcomeUnknownOutput } from "@opengeni/sdk";
|
|
699
|
-
|
|
700
|
-
// src/timeline/invoked-tool.ts
|
|
701
|
-
function invokedToolCall(item) {
|
|
702
|
-
if (mcpToolLeaf(item.name) !== "tool_invoke") return item;
|
|
703
|
-
const args = parseToolArgs(item.arguments);
|
|
704
|
-
if (typeof args.name !== "string" || !args.name.trim()) return item;
|
|
705
|
-
const { display: _display, ...rest } = item;
|
|
706
|
-
return { ...rest, name: args.name, arguments: args.arguments ?? {} };
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
// src/timeline/tool-presentation.ts
|
|
710
234
|
function withComputePreview(label, preview) {
|
|
711
235
|
if (!label) {
|
|
712
236
|
return preview;
|
|
@@ -1135,9 +659,127 @@ function goalToolPreview(name, args) {
|
|
|
1135
659
|
const text = typeof record.text === "string" ? record.text : typeof record.evidence === "string" ? record.evidence : typeof record.rationale === "string" ? record.rationale : typeof record.reason === "string" ? record.reason : typeof record.progressNote === "string" ? record.progressNote : null;
|
|
1136
660
|
return text ? truncatePreview(text, 90) : null;
|
|
1137
661
|
}
|
|
662
|
+
var TOOL_STEP_ICONS = {
|
|
663
|
+
// Chats, goals and notifications
|
|
664
|
+
nameChat: "rename",
|
|
665
|
+
notify: "bell",
|
|
666
|
+
withdrawNotification: "bell",
|
|
667
|
+
tidyInbox: "inbox",
|
|
668
|
+
setGoal: "target",
|
|
669
|
+
noteProgress: "target",
|
|
670
|
+
completeGoal: "target",
|
|
671
|
+
pauseGoal: "target",
|
|
672
|
+
resumeGoal: "target",
|
|
673
|
+
wait: "wait",
|
|
674
|
+
askYou: "question",
|
|
675
|
+
askForHelp: "help",
|
|
676
|
+
// Notes, knowledge and instructions
|
|
677
|
+
checkNotes: "brain",
|
|
678
|
+
saveNote: "brain",
|
|
679
|
+
archiveNote: "brain",
|
|
680
|
+
proposeUpdate: "brain",
|
|
681
|
+
confirmUpdate: "brain",
|
|
682
|
+
updateInstructions: "brain",
|
|
683
|
+
coordinateWork: "sessions",
|
|
684
|
+
// Guides (Skills)
|
|
685
|
+
readGuide: "guide",
|
|
686
|
+
findGuides: "guide",
|
|
687
|
+
saveGuide: "guide",
|
|
688
|
+
removeGuide: "guide",
|
|
689
|
+
// Computers
|
|
690
|
+
findComputers: "server",
|
|
691
|
+
switchComputer: "server",
|
|
692
|
+
useComputer: "server",
|
|
693
|
+
setUpComputer: "server",
|
|
694
|
+
removeComputer: "server",
|
|
695
|
+
runCommand: "terminal",
|
|
696
|
+
runCode: "code",
|
|
697
|
+
editFile: "file-diff",
|
|
698
|
+
lookAtImage: "image",
|
|
699
|
+
searchCode: "search",
|
|
700
|
+
searchFiles: "file-search",
|
|
701
|
+
openFile: "file",
|
|
702
|
+
// Screens and the browser
|
|
703
|
+
checkScreens: "screen",
|
|
704
|
+
openScreen: "screen",
|
|
705
|
+
lookAtScreen: "screen",
|
|
706
|
+
useScreen: "screen",
|
|
707
|
+
enableScreenControl: "screen",
|
|
708
|
+
useClipboard: "clipboard",
|
|
709
|
+
openBrowser: "browser",
|
|
710
|
+
useBrowser: "browser",
|
|
711
|
+
readPage: "browser",
|
|
712
|
+
lookAtPage: "browser",
|
|
713
|
+
workInBrowser: "browser",
|
|
714
|
+
download: "download",
|
|
715
|
+
recordBrowser: "record",
|
|
716
|
+
signIn: "sign-in",
|
|
717
|
+
manageSignIns: "sign-in",
|
|
718
|
+
shareBrowser: "share",
|
|
719
|
+
workInExcel: "spreadsheet",
|
|
720
|
+
// Projects, other chats and helpers
|
|
721
|
+
checkProjects: "folder",
|
|
722
|
+
organizeProjects: "folder",
|
|
723
|
+
checkChats: "sessions",
|
|
724
|
+
chooseChat: "sessions",
|
|
725
|
+
checkProgress: "progress",
|
|
726
|
+
changeModel: "model",
|
|
727
|
+
startHelper: "helper",
|
|
728
|
+
messageAssistant: "sessions",
|
|
729
|
+
manageChat: "sessions",
|
|
730
|
+
// Workspace administration and setup
|
|
731
|
+
manageWorkspace: "settings",
|
|
732
|
+
manageSetup: "server-cog",
|
|
733
|
+
checkModels: "model",
|
|
734
|
+
// Passwords and settings
|
|
735
|
+
findPassword: "key",
|
|
736
|
+
savePassword: "key",
|
|
737
|
+
deletePassword: "key",
|
|
738
|
+
checkSettings: "settings",
|
|
739
|
+
updateSettings: "settings",
|
|
740
|
+
// Tools and connections
|
|
741
|
+
findTools: "package-search",
|
|
742
|
+
useTool: "plug",
|
|
743
|
+
requestAccess: "plug",
|
|
744
|
+
listRepositories: "git",
|
|
745
|
+
// Web, images and video
|
|
746
|
+
searchWeb: "search",
|
|
747
|
+
createImage: "image",
|
|
748
|
+
createVideo: "video",
|
|
749
|
+
// Social accounts
|
|
750
|
+
checkAccounts: "share",
|
|
751
|
+
readPosts: "share",
|
|
752
|
+
syncPosts: "share",
|
|
753
|
+
replyToPost: "share",
|
|
754
|
+
// Scheduled tasks
|
|
755
|
+
checkSchedules: "calendar",
|
|
756
|
+
createSchedule: "calendar",
|
|
757
|
+
updateSchedule: "calendar",
|
|
758
|
+
runSchedule: "calendar",
|
|
759
|
+
// Slack
|
|
760
|
+
readSlack: "message",
|
|
761
|
+
postSlack: "message",
|
|
762
|
+
deleteMessage: "message",
|
|
763
|
+
// Accounting
|
|
764
|
+
readAccounting: "accounting",
|
|
765
|
+
updateAccounting: "accounting",
|
|
766
|
+
// Documents, files and Sites
|
|
767
|
+
searchDocuments: "file-search",
|
|
768
|
+
checkDocuments: "document",
|
|
769
|
+
createDocument: "document",
|
|
770
|
+
editDocument: "document",
|
|
771
|
+
exportDocument: "document",
|
|
772
|
+
restoreDocument: "document",
|
|
773
|
+
archiveDocument: "archive",
|
|
774
|
+
shareFile: "attachment",
|
|
775
|
+
checkSite: "site",
|
|
776
|
+
updateSite: "site"
|
|
777
|
+
};
|
|
1138
778
|
function genericToolIconKind(name) {
|
|
1139
779
|
const leaf = mcpToolLeaf(name);
|
|
1140
|
-
|
|
780
|
+
const step = builtInToolStep(leaf);
|
|
781
|
+
if (step) return TOOL_STEP_ICONS[step];
|
|
782
|
+
return leaf.startsWith("goal_") ? "target" : leaf.startsWith("memory_") || leaf.startsWith("knowledge_") ? "brain" : leaf.startsWith("session_") || leaf.startsWith("sessions_") ? "sessions" : leaf.startsWith("sandbox") || leaf.startsWith("connected_machine_") ? "server" : leaf.startsWith("rig_") ? "server-cog" : leaf.startsWith("scheduled_") ? "calendar" : leaf.startsWith("artifacts_") || leaf.startsWith("editable_artifact_") ? "document" : leaf.startsWith("site_") ? "site" : leaf.startsWith("browser_") ? "browser" : leaf.startsWith("computer_") || leaf.startsWith("cua_") ? "screen" : leaf.startsWith("secret_") ? "key" : leaf.startsWith("social_") || leaf.startsWith("x_") || leaf.startsWith("reddit_") ? "share" : leaf.startsWith("slack_") ? "message" : leaf.startsWith("github_") ? "git" : leaf.startsWith("variable_") || leaf.startsWith("environment_") ? "settings" : leaf.includes("document") ? "file-search" : leaf.startsWith("skill_") ? "guide" : "wrench";
|
|
1141
783
|
}
|
|
1142
784
|
function mcpRowPresentation(t, item, options) {
|
|
1143
785
|
const args = parseToolArgs(item.arguments);
|
|
@@ -1224,7 +866,7 @@ function machinePresentation(t, item) {
|
|
|
1224
866
|
const failed = item.status !== "running" && item.status !== "cancelled" && (item.status === "failed" || unwrapMcpOutput(item.output).isError);
|
|
1225
867
|
return mcpRowPresentation(t, item, {
|
|
1226
868
|
tool: "machine",
|
|
1227
|
-
icon:
|
|
869
|
+
icon: genericToolIconKind(item.name),
|
|
1228
870
|
title: failed ? machineFailureTitle(t, leaf) : machineTitle(t, leaf, args, action, item.output),
|
|
1229
871
|
runningPreview: preview,
|
|
1230
872
|
runningFallback: t("timeline.toolPresentation.running"),
|
|
@@ -1234,9 +876,6 @@ function machinePresentation(t, item) {
|
|
|
1234
876
|
quietError: true
|
|
1235
877
|
});
|
|
1236
878
|
}
|
|
1237
|
-
function isScreenTool(leaf) {
|
|
1238
|
-
return leaf.startsWith("computer_") || leaf.startsWith("cua_") || leaf === "interaction_discover";
|
|
1239
|
-
}
|
|
1240
879
|
function machineFailureTitle(t, leaf) {
|
|
1241
880
|
switch (leaf) {
|
|
1242
881
|
case "sandboxes_list":
|
|
@@ -1586,7 +1225,7 @@ function sessionTitlePresentation(t, item) {
|
|
|
1586
1225
|
const previewTitle = titleArg ? truncatePreview(titleArg, 72) : "";
|
|
1587
1226
|
const base = {
|
|
1588
1227
|
tool: "session_title",
|
|
1589
|
-
icon:
|
|
1228
|
+
icon: genericToolIconKind(item.name),
|
|
1590
1229
|
title: toolDisplayName(t, item.name, item.display, callStepPhase(item))
|
|
1591
1230
|
};
|
|
1592
1231
|
if (item.status === "running") {
|
|
@@ -1820,27 +1459,6 @@ export {
|
|
|
1820
1459
|
selectTurnSummaryFacets,
|
|
1821
1460
|
rawTypeOf,
|
|
1822
1461
|
createToolRegistry,
|
|
1823
|
-
sandboxCommandExitCode,
|
|
1824
|
-
parseExecBannerSessionId,
|
|
1825
|
-
stripExecBanner,
|
|
1826
|
-
execTruncated,
|
|
1827
|
-
isExecSessionLostBanner,
|
|
1828
|
-
looksBinary,
|
|
1829
|
-
controlCaret,
|
|
1830
|
-
v4aToGitFileDiff,
|
|
1831
|
-
parseFreeformApplyPatch,
|
|
1832
|
-
applyPatchOps,
|
|
1833
|
-
applyPatchOpsFromToolItem,
|
|
1834
|
-
isApplyPatch,
|
|
1835
|
-
parseToolArgs,
|
|
1836
|
-
tailPeek,
|
|
1837
|
-
unwrapMcpOutput,
|
|
1838
|
-
screenshotDataUrl,
|
|
1839
|
-
retainedScreenshotMetadata,
|
|
1840
|
-
generatedImageReceipt,
|
|
1841
|
-
retainedToolResultImages,
|
|
1842
|
-
mediaPreviewFact,
|
|
1843
|
-
invokedToolCall,
|
|
1844
1462
|
withComputePreview,
|
|
1845
1463
|
truncatePreview,
|
|
1846
1464
|
execPresentation,
|
|
@@ -1866,4 +1484,4 @@ export {
|
|
|
1866
1484
|
GENIE_PREPARING_PHRASES,
|
|
1867
1485
|
GENIE_WAITING_PHRASES
|
|
1868
1486
|
};
|
|
1869
|
-
//# sourceMappingURL=chunk-
|
|
1487
|
+
//# sourceMappingURL=chunk-AW3QEFOF.js.map
|