@opengeni/react 4.3.3-canary.39780140124001 → 4.4.1
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 +29 -29
- package/dist/app/components/Composer.js +22 -22
- package/dist/app/components/agent/agent-capability-picker.js +4 -4
- package/dist/app/components/artifacts/artifact-browse-controls.js +1 -1
- package/dist/app/components/artifacts/artifact-library.js +19 -19
- package/dist/app/components/artifacts/chat-interactive-block.js +14 -14
- package/dist/app/components/artifacts/inline-chat-image.js +25 -25
- package/dist/app/components/artifacts/retained-file-preview.js +28 -28
- package/dist/app/components/artifacts/retained-text-preview.js +3 -3
- package/dist/app/components/artifacts/site-audience.js +4 -4
- package/dist/app/components/artifacts/site-conversations.js +18 -18
- package/dist/app/components/artifacts/site-data.js +19 -19
- package/dist/app/components/artifacts/site-publishing.js +38 -38
- package/dist/app/components/artifacts/site-settings.js +47 -47
- package/dist/app/components/billing-class-mark.js +4 -4
- package/dist/app/components/capabilities/capability-detail-sheet.js +8 -8
- package/dist/app/components/capabilities/capability-logo-source.js +8 -8
- package/dist/app/components/capabilities/connector-tool-permissions.js +4 -4
- package/dist/app/components/capabilities/native-connect-setup.js +12 -12
- package/dist/app/components/capabilities/perform-capability-action.js +1 -1
- package/dist/app/components/capabilities/prepared-mcp-setup-card.js +11 -11
- package/dist/app/components/capabilities/session-capability-card.js +90 -74
- package/dist/app/components/capabilities/session-capability-card.js.map +1 -1
- package/dist/app/components/capabilities/session-chrome-card.css +1023 -0
- package/dist/app/components/capabilities/session-chrome-card.css.map +1 -0
- package/dist/app/components/capabilities/session-chrome-card.d.ts +18 -0
- package/dist/app/components/capabilities/session-chrome-card.js +70 -0
- package/dist/app/components/capabilities/session-custom-mcp-card.js +16 -16
- package/dist/app/components/capabilities/session-github-card.js +20 -20
- package/dist/app/components/capabilities/session-machine-card.d.ts +27 -1
- package/dist/app/components/capabilities/session-machine-card.js +31 -29
- package/dist/app/components/capabilities/use-capabilities-catalog.js +3 -3
- package/dist/app/components/capabilities/use-connection-accounts.js +1 -1
- package/dist/app/components/command-menu/chat-status.js +12 -12
- package/dist/app/components/command-menu/chat-switcher.js +17 -17
- package/dist/app/components/command-menu/command-menu.js +35 -35
- package/dist/app/components/command-menu/shortcut-sheet.js +16 -16
- package/dist/app/components/composer-capabilities-menu-body.js +3 -3
- package/dist/app/components/composer-mobile-plus-panel.js +16 -16
- 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 +10 -10
- package/dist/app/components/desktop/app-shots.js +2 -2
- package/dist/app/components/feedback.js +2 -2
- package/dist/app/components/follow-up-repository-menu-body.js +7 -7
- package/dist/app/components/follow-up-repository-picker.js +2 -2
- package/dist/app/components/github-app-connect-launcher.js +2 -2
- package/dist/app/components/knowledge/agent-learning-settings.js +3 -3
- package/dist/app/components/machines/connect-machine-dialog.js +16 -16
- package/dist/app/components/markdown.js +7 -7
- package/dist/app/components/message-context-pills.js +2 -2
- package/dist/app/components/models/models-ui.js +8 -8
- package/dist/app/components/pickers.js +7 -7
- package/dist/app/components/rail/rail-context.js +2 -2
- package/dist/app/components/rail/rail-sections.js +63 -63
- package/dist/app/components/rail/session-header.js +48 -48
- package/dist/app/components/rail/session-list.js +62 -62
- package/dist/app/components/rail/session-row-content.js +2 -2
- package/dist/app/components/rail/session-row-hover-details.js +17 -17
- package/dist/app/components/rail/session-shell.js +102 -102
- package/dist/app/components/rail/site-session-group-heading.js +3 -3
- package/dist/app/components/repository-picker.js +7 -7
- package/dist/app/components/secrets/session-secrets-panel.js +3 -3
- package/dist/app/components/session/agent-configuration-panel.js +33 -33
- package/dist/app/components/session/artifact-session-page.js +1 -1
- package/dist/app/components/session/banners.js +10 -10
- package/dist/app/components/session/codex-account-indicator.js +8 -8
- package/dist/app/components/session/editable-artifacts-workspace.js +38 -38
- package/dist/app/components/session/failed-session-banner.js +7 -7
- package/dist/app/components/session/human-input.js +44 -44
- package/dist/app/components/session/inspector.js +87 -87
- package/dist/app/components/session/message-actions.js +2 -2
- package/dist/app/components/session/message-resource-attachments.js +20 -20
- package/dist/app/components/session/model-account-indicator.js +8 -8
- package/dist/app/components/session/model-context-inspector.js +2 -2
- package/dist/app/components/session/new-session-settings-menu.js +10 -10
- package/dist/app/components/session/sandbox-switcher.js +12 -12
- package/dist/app/components/session/sandbox-workspace.js +62 -62
- package/dist/app/components/session/search-markdown-highlight.js +8 -8
- package/dist/app/components/session/search-results-view.js +9 -9
- package/dist/app/components/session/session-admin-access.js +8 -8
- package/dist/app/components/session/session-admission-notice.js +2 -2
- package/dist/app/components/session/session-machine-access-notice.js +2 -2
- package/dist/app/components/session/session-retention.js +4 -4
- package/dist/app/components/session/session-search-dialog.js +9 -9
- package/dist/app/components/session/session-skill-reviews.js +1 -1
- package/dist/app/components/session/session-tenancy-control.js +24 -24
- package/dist/app/components/session/session-usage-limit-section.js +10 -10
- package/dist/app/components/session/session-wait-status.js +7 -7
- package/dist/app/components/session/subagents.js +13 -13
- package/dist/app/components/session-connectors-menu-body.js +5 -5
- package/dist/app/components/settings/row-select.js +3 -3
- package/dist/app/components/transcription-settings.js +4 -4
- package/dist/app/components/ui/destructive-confirm.js +6 -6
- package/dist/app/components/usage/usage-entry.js +4 -4
- package/dist/app/components/workspace-composer-plus.js +18 -18
- package/dist/app/embed/session-app.js +268 -268
- package/dist/app/lib/actions/actions-provider.js +16 -16
- package/dist/app/lib/app-surfaces.js +1 -1
- package/dist/app/lib/codex-usage-query.js +2 -2
- package/dist/app/lib/composer-connectors.js +9 -9
- package/dist/app/lib/events.js +12 -12
- package/dist/app/lib/session-branch-cache.js +9 -9
- package/dist/app/lib/session-create.js +2 -2
- package/dist/app/lib/session-group-pagination.js +9 -9
- package/dist/app/lib/session-hover-facts.js +10 -10
- package/dist/app/lib/session-model.js +3 -3
- package/dist/app/lib/session-rail.js +7 -7
- package/dist/app/lib/session-rename.js +3 -3
- package/dist/app/lib/sessions-group.js +9 -9
- package/dist/app/lib/turn-failure-analytics.js +1 -1
- package/dist/app/lib/use-duplicate-site.js +3 -3
- package/dist/app/lib/use-follow-up-repositories.js +5 -5
- package/dist/app/lib/use-workspace-integrations.js +2 -2
- package/dist/app/lib/use-workspace-machines.js +2 -2
- package/dist/app/lib/use-workspace-model-catalog.js +2 -2
- package/dist/app/lib/use-workspace-rigs.js +3 -3
- package/dist/app/lib/workspace-navigation-preference.js +1 -1
- package/dist/app/lib/workspace-scope-context.js +1 -1
- package/dist/app/routes/artifacts.js +132 -132
- package/dist/app/routes/retained-artifact.js +62 -62
- package/dist/app/routes/session-unavailable.js +2 -2
- package/dist/app/routes/session.js +163 -163
- package/dist/app/routes/sessions-index-hydration.js +3 -3
- package/dist/app/routes/sessions-index.js +109 -109
- package/dist/artifacts-document.js +2 -2
- package/dist/artifacts-presentation.js +2 -2
- package/dist/artifacts-spreadsheet.js +2 -2
- package/dist/artifacts.js +36 -36
- package/dist/{browser-viewer-VYZLJH3P.js → browser-viewer-RYYQSRTC.js} +5 -5
- package/dist/{chat-interactive-block-MECBXZ7V.js → chat-interactive-block-ABCRKXJ4.js} +5 -5
- package/dist/{chunk-Y4D4N2EF.js → chunk-22ZBT6CN.js} +2 -2
- package/dist/{chunk-TFK4KFKA.js → chunk-33TPANCR.js} +4 -4
- package/dist/{chunk-CFFNT2OY.js → chunk-3GLAPCVI.js} +8 -8
- package/dist/{chunk-BXQYAAVE.js → chunk-3XOISKZC.js} +4 -4
- package/dist/{chunk-FYGMIMEG.js → chunk-4432A3HQ.js} +2 -2
- package/dist/{chunk-3MOD23RS.js → chunk-46VBQG2D.js} +13 -13
- package/dist/{chunk-Q2PVSCJV.js → chunk-4EAF3HSD.js} +2 -2
- package/dist/{chunk-YTK6MYZH.js → chunk-4EONHNJU.js} +2 -2
- package/dist/{chunk-7YLXFFF5.js → chunk-4R3JCVID.js} +141 -141
- package/dist/{chunk-73DMIW44.js → chunk-4VKA5O7T.js} +2 -2
- package/dist/{chunk-SLTOYHG6.js → chunk-4W7VISE7.js} +108 -108
- package/dist/{chunk-SLTOYHG6.js.map → chunk-4W7VISE7.js.map} +1 -1
- package/dist/{chunk-TIBPTOLQ.js → chunk-5JEIDFPD.js} +1 -1
- package/dist/{chunk-L7UDYTU3.js → chunk-5MZTJMZ3.js} +7 -6
- package/dist/chunk-5MZTJMZ3.js.map +1 -0
- package/dist/{chunk-3E4SJHVW.js → chunk-5POTDNQT.js} +5 -5
- package/dist/{chunk-JW6CYU5F.js → chunk-63VGE4OH.js} +2 -2
- package/dist/{chunk-2VDCH2DF.js → chunk-6JKZILLF.js} +65 -65
- package/dist/{chunk-2VDCH2DF.js.map → chunk-6JKZILLF.js.map} +1 -1
- package/dist/{chunk-7HVOIRGN.js → chunk-6NIB2KGJ.js} +41 -41
- package/dist/{chunk-KLVK7BN5.js → chunk-6PQNLL4E.js} +35 -35
- package/dist/{chunk-FGPSTD37.js → chunk-72J6C2AJ.js} +4 -4
- package/dist/{chunk-N34NUHUO.js → chunk-73SOCVLS.js} +4 -4
- package/dist/{chunk-43OV5QK7.js → chunk-7BST7BA6.js} +4 -4
- package/dist/{chunk-FDAV72IX.js → chunk-7CZTKBTI.js} +5 -5
- package/dist/{chunk-G4ONAC4P.js → chunk-7DU35P5J.js} +6 -6
- package/dist/{chunk-SM5QX6UK.js → chunk-A2EWJQXX.js} +4 -4
- package/dist/{chunk-3WDWLSYX.js → chunk-AD22P5X3.js} +3 -3
- package/dist/{chunk-ZQSRAMSH.js → chunk-ADJJQSYC.js} +42 -42
- package/dist/{chunk-5C6KUGFG.js → chunk-AG7VGUIW.js} +6 -6
- package/dist/{chunk-LF5CBAOS.js → chunk-AOLE4IRZ.js} +5 -5
- package/dist/{chunk-CF7ZCKZC.js → chunk-APU42QDI.js} +133 -133
- package/dist/{chunk-P56F4SFD.js → chunk-BJIZ7PL7.js} +2 -2
- package/dist/{chunk-XEL2ZJ3Z.js → chunk-BJW7G6EF.js} +2 -2
- package/dist/{chunk-NNNXKGJH.js → chunk-BNUPYHHZ.js} +2 -2
- package/dist/{chunk-FYSOHZSM.js → chunk-BXRIQZAH.js} +8 -8
- package/dist/{chunk-N4ZDRONX.js → chunk-CBY5CXBD.js} +4 -4
- package/dist/{chunk-7PTHBHEW.js → chunk-CVG4FILQ.js} +69 -69
- package/dist/{chunk-LMN7SO4T.js → chunk-DDK4WFJ3.js} +12 -12
- package/dist/{chunk-G4HQUBO4.js → chunk-DLOYMWUQ.js} +7 -7
- package/dist/{chunk-OTMWHZBY.js → chunk-DWPOQ3S5.js} +2 -2
- package/dist/{chunk-C32ZOZTE.js → chunk-EF5SYXAY.js} +59 -34
- package/dist/chunk-EF5SYXAY.js.map +1 -0
- package/dist/{chunk-JIJGQPW2.js → chunk-EHCUFCXM.js} +18 -18
- package/dist/{chunk-SFTKDFOQ.js → chunk-EU6XSQFM.js} +2 -2
- package/dist/{chunk-62VER7O4.js → chunk-F3NERYBQ.js} +6 -6
- package/dist/{chunk-XZTOGYSM.js → chunk-F6LBGYS6.js} +39 -39
- package/dist/{chunk-EX5YO2KX.js → chunk-FDNJVZRE.js} +16 -16
- package/dist/{chunk-E5GLL7GL.js → chunk-FLGUVRR7.js} +5 -5
- package/dist/{chunk-YGD4MVPD.js → chunk-FSN6APRD.js} +4 -4
- package/dist/{chunk-J2YMBA2R.js → chunk-GAIM5RNE.js} +2 -2
- package/dist/{chunk-X2AH4DRF.js → chunk-GALB2G3W.js} +2 -2
- package/dist/{chunk-E2NTKB4G.js → chunk-GFUUFM2O.js} +4 -4
- package/dist/{chunk-7FTEIGVP.js → chunk-GTQ3SNEI.js} +2 -2
- package/dist/{chunk-SPH2HDSW.js → chunk-HDHK3SXK.js} +6 -6
- package/dist/{chunk-IJ6WELGP.js → chunk-HGMWMK5K.js} +2 -2
- package/dist/{chunk-HRMDE6MI.js → chunk-HNYJEAES.js} +7 -7
- package/dist/{chunk-BYASTRHQ.js → chunk-HO5Y2OOX.js} +11 -11
- package/dist/{chunk-WW7VY5LC.js → chunk-HOJGAJAB.js} +9 -9
- package/dist/{chunk-DYGAOHXK.js → chunk-HTT3FB7T.js} +2 -2
- package/dist/{chunk-O2WCMUQG.js → chunk-HWDGJFM4.js} +13 -13
- package/dist/{chunk-2JASYO6P.js → chunk-I6VUUEXH.js} +149 -149
- package/dist/chunk-I6VUUEXH.js.map +1 -0
- package/dist/{chunk-3AOXZHF6.js → chunk-IVOA3DXA.js} +10 -10
- package/dist/{chunk-5O5NCXJP.js → chunk-JK7C5A4I.js} +27 -27
- package/dist/{chunk-R7S6NSUB.js → chunk-JTN3T4QN.js} +20 -20
- package/dist/{chunk-7DUTMHRQ.js → chunk-JXT5QDJC.js} +4 -4
- package/dist/{chunk-BWTNB77U.js → chunk-KTRKZRID.js} +13 -13
- package/dist/{chunk-MWAFZVC4.js → chunk-KWKGBGAF.js} +10 -10
- package/dist/{chunk-5HXZC3OM.js → chunk-KZHW27BV.js} +2 -2
- package/dist/{chunk-RWUIKGLS.js → chunk-L7YURQI2.js} +2 -2
- package/dist/{chunk-73WI7FL2.js → chunk-LE2EDBXU.js} +18 -18
- package/dist/{chunk-5DSKMG2I.js → chunk-LEXPBQ56.js} +4 -4
- package/dist/{chunk-DWOP7YQX.js → chunk-N3ZP4IDU.js} +2 -2
- package/dist/{chunk-2KKFUNVW.js → chunk-NCX5SAQY.js} +7 -7
- package/dist/{chunk-ITGR4HN7.js → chunk-NDF3SH3X.js} +13 -13
- package/dist/{chunk-JQCGPTZ6.js → chunk-NWZW2WHN.js} +9 -9
- package/dist/{chunk-NQA5WCKG.js → chunk-NYZQ7LO7.js} +19 -19
- package/dist/{chunk-ZDL4ZALP.js → chunk-O756O2I7.js} +1 -1
- package/dist/{chunk-GRSODLVO.js → chunk-OANSIX34.js} +4 -4
- package/dist/{chunk-JLMDWUME.js → chunk-OBQVTCTW.js} +3 -3
- package/dist/{chunk-TUERKBGA.js → chunk-OO2T63BY.js} +2 -2
- package/dist/{chunk-EPWD4KRA.js → chunk-OOEO4MKY.js} +2 -2
- package/dist/{chunk-IKN3XCJU.js → chunk-OR37STQZ.js} +2 -2
- package/dist/{chunk-62LZQOAH.js → chunk-OSVHU2WU.js} +14 -14
- package/dist/{chunk-73YPB5IB.js → chunk-P5WABK2H.js} +8 -8
- package/dist/{chunk-JNFRC3AW.js → chunk-PM3OSANE.js} +4 -4
- package/dist/{chunk-W57X2TSV.js → chunk-PN66T6JA.js} +5 -5
- package/dist/{chunk-4NDE4JTJ.js → chunk-Q35DT6I6.js} +200 -200
- package/dist/{chunk-WFS5EUCL.js → chunk-Q35YZVDZ.js} +7 -7
- package/dist/{chunk-P5GMHOZB.js → chunk-QCD5Y7K5.js} +17 -17
- package/dist/{chunk-YTX274IC.js → chunk-QM5H4FPT.js} +2 -2
- package/dist/{chunk-VCUGPND2.js → chunk-QRVNI5V6.js} +3 -3
- package/dist/{chunk-JM4HQPAI.js → chunk-QZRDCFHI.js} +5 -5
- package/dist/{chunk-ELABMEDP.js → chunk-R63QEVPK.js} +15 -15
- package/dist/{chunk-CP7ZQHBW.js → chunk-RA3FNMWF.js} +10 -10
- package/dist/{chunk-D6II4KOG.js → chunk-RGW24ZZM.js} +74 -74
- package/dist/{chunk-2FUVCKGA.js → chunk-ROQOVH4N.js} +18 -18
- package/dist/chunk-ROQOVH4N.js.map +1 -0
- package/dist/{chunk-WSYR6CUF.js → chunk-RQDFYQHA.js} +7 -7
- package/dist/{chunk-CSLCTVND.js → chunk-RSNYGEVZ.js} +7 -7
- package/dist/{chunk-B2ES3U36.js → chunk-S4EZ3JUB.js} +39 -39
- package/dist/{chunk-OOUEPFGL.js → chunk-S4SC5SSV.js} +16 -16
- package/dist/{chunk-A4BD4ZVB.js → chunk-S7PVL7XH.js} +4 -4
- package/dist/{chunk-4LPA25NQ.js → chunk-SD2K5ZN5.js} +4 -4
- package/dist/chunk-ST22GONV.js +204 -0
- package/dist/chunk-ST22GONV.js.map +1 -0
- package/dist/{chunk-XAXTE2NA.js → chunk-SUVEDKE2.js} +3 -3
- package/dist/{chunk-LCFU5YUA.js → chunk-TGVVEGZG.js} +9 -9
- package/dist/{chunk-E74ISUXA.js → chunk-TQGJN5UZ.js} +233 -233
- package/dist/chunk-TQGJN5UZ.js.map +1 -0
- package/dist/{chunk-OEL73V62.js → chunk-U36PO27Q.js} +3 -3
- package/dist/{chunk-HZT5H5ZP.js → chunk-U3HSFCON.js} +22 -22
- package/dist/{chunk-J5MEDX7C.js → chunk-U47YDYLQ.js} +8 -8
- package/dist/{chunk-BLT4KQTS.js → chunk-UP4BE32Y.js} +4 -4
- package/dist/{chunk-ZSKUBXA6.js → chunk-UWJ5P5CU.js} +2 -2
- package/dist/{chunk-YVBHGMKC.js → chunk-VAIESMPY.js} +4 -4
- package/dist/{chunk-5P6EKYTC.js → chunk-VP62LPLW.js} +14 -14
- package/dist/{chunk-GOEN2FSD.js → chunk-VUHPA3XQ.js} +4 -4
- package/dist/{chunk-5FA455GR.js → chunk-WNG757ID.js} +4 -4
- package/dist/{chunk-4LMNYFES.js → chunk-WSMYOLHG.js} +9 -9
- package/dist/{chunk-JXEMUZTV.js → chunk-X7ASQHR6.js} +2 -2
- package/dist/{chunk-YSSTNTJD.js → chunk-X7L4H4VG.js} +223 -223
- package/dist/chunk-X7L4H4VG.js.map +1 -0
- package/dist/{chunk-CZSYF7UF.js → chunk-XOFUXMPP.js} +2 -2
- package/dist/{chunk-VNMM6DQP.js → chunk-XWWXIZFP.js} +4 -4
- package/dist/{chunk-XC4DZXZZ.js → chunk-YXOKAG66.js} +2 -2
- package/dist/{chunk-XMNUZUUA.js → chunk-Z2DAWUO3.js} +6 -6
- package/dist/{chunk-TJ2MBYK4.js → chunk-Z5WMLJKI.js} +4 -4
- package/dist/{chunk-WCK2NF54.js → chunk-ZKYYZH6L.js} +7 -7
- package/dist/{chunk-AS6ZXN5K.js → chunk-ZRJCGBVV.js} +2 -2
- package/dist/composer.js +11 -11
- package/dist/{computer-viewer-MUOPCKPS.js → computer-viewer-KEDVLD42.js} +6 -6
- package/dist/connect.js +7 -7
- package/dist/{embedded-new-voice-IIZPNXHC.js → embedded-new-voice-LFHWWYD2.js} +5 -5
- package/dist/{embedded-voice-5PXDBGOI.js → embedded-voice-6QS4ANNX.js} +5 -5
- package/dist/index.js +206 -206
- package/dist/interaction.js +6 -6
- package/dist/{latest-question-ZCZYQZMD.js → latest-question-AW3PPDUM.js} +2 -2
- package/dist/machines.js +1 -1
- package/dist/{model-policy-picker-menu-4GWYXUP3.js → model-policy-picker-menu-CURJ247L.js} +5 -5
- package/dist/native-previews.js +3 -3
- package/dist/{queue-surface-implementation-VPPIEPJL.js → queue-surface-implementation-2X5AXB6I.js} +4 -4
- package/dist/realtime.js +4 -4
- package/dist/{sandbox-files-QXIZJJMW.js → sandbox-files-4FBG3GS2.js} +8 -8
- package/dist/sandbox-files-4FBG3GS2.js.map +1 -0
- package/dist/session-app.js +268 -268
- package/dist/session-list-model.js +2 -2
- package/dist/session-ui.js +57 -57
- package/dist/session.js +11 -11
- package/dist/terminal.js +1 -1
- package/dist/timeline/types.d.ts +2 -0
- package/dist/{timeline-annotation-markers-BSTWUL4V.js → timeline-annotation-markers-X4K2IEOO.js} +4 -4
- package/dist/{timeline-annotation-selection-3SMCLIJE.js → timeline-annotation-selection-MEHBW676.js} +6 -6
- package/dist/{timeline-annotations-dialog-GFF3RFYZ.js → timeline-annotations-dialog-U2FPQ3UY.js} +7 -7
- package/dist/timeline-model.js +15 -15
- package/dist/ui/access-list.js +18 -18
- package/dist/ui/cadence-picker.js +2 -2
- package/dist/ui/choice-cards.js +2 -2
- package/dist/ui/detail-page.js +2 -2
- package/dist/ui/detail-sheet.js +2 -2
- package/dist/ui/diff-view.js +2 -2
- package/dist/ui/disclosure.js +4 -4
- package/dist/ui/flush-form-page.js +3 -3
- package/dist/ui/form-dialog.js +2 -2
- package/dist/ui/list-row.js +4 -4
- package/dist/ui/revision-history.js +11 -11
- package/dist/ui/role-select.js +7 -7
- package/dist/ui/select-menu.js +2 -2
- package/dist/ui/settings-nav.js +3 -3
- package/dist/workbench.js +9 -9
- package/package.json +4 -4
- package/src/app/components/capabilities/session-capability-card.tsx +14 -1
- package/src/app/components/capabilities/session-chrome-card.dom-fixture.tsx +377 -0
- package/src/app/components/capabilities/session-chrome-card.test.tsx +18 -0
- package/src/app/components/capabilities/session-chrome-card.tsx +243 -0
- package/src/app/components/capabilities/session-machine-card.dom-fixture.tsx +2 -0
- package/src/app/components/capabilities/session-machine-card.tsx +65 -14
- package/src/timeline/projection.ts +4 -2
- package/src/timeline/types.ts +2 -0
- package/dist/chunk-2FUVCKGA.js.map +0 -1
- package/dist/chunk-2JASYO6P.js.map +0 -1
- package/dist/chunk-C32ZOZTE.js.map +0 -1
- package/dist/chunk-E74ISUXA.js.map +0 -1
- package/dist/chunk-L7UDYTU3.js.map +0 -1
- package/dist/chunk-YSSTNTJD.js.map +0 -1
- /package/dist/{browser-viewer-VYZLJH3P.js.map → app/components/capabilities/session-chrome-card.js.map} +0 -0
- /package/dist/{chat-interactive-block-MECBXZ7V.js.map → browser-viewer-RYYQSRTC.js.map} +0 -0
- /package/dist/{computer-viewer-MUOPCKPS.js.map → chat-interactive-block-ABCRKXJ4.js.map} +0 -0
- /package/dist/{chunk-Y4D4N2EF.js.map → chunk-22ZBT6CN.js.map} +0 -0
- /package/dist/{chunk-TFK4KFKA.js.map → chunk-33TPANCR.js.map} +0 -0
- /package/dist/{chunk-CFFNT2OY.js.map → chunk-3GLAPCVI.js.map} +0 -0
- /package/dist/{chunk-BXQYAAVE.js.map → chunk-3XOISKZC.js.map} +0 -0
- /package/dist/{chunk-FYGMIMEG.js.map → chunk-4432A3HQ.js.map} +0 -0
- /package/dist/{chunk-3MOD23RS.js.map → chunk-46VBQG2D.js.map} +0 -0
- /package/dist/{chunk-Q2PVSCJV.js.map → chunk-4EAF3HSD.js.map} +0 -0
- /package/dist/{chunk-YTK6MYZH.js.map → chunk-4EONHNJU.js.map} +0 -0
- /package/dist/{chunk-7YLXFFF5.js.map → chunk-4R3JCVID.js.map} +0 -0
- /package/dist/{chunk-73DMIW44.js.map → chunk-4VKA5O7T.js.map} +0 -0
- /package/dist/{chunk-TIBPTOLQ.js.map → chunk-5JEIDFPD.js.map} +0 -0
- /package/dist/{chunk-3E4SJHVW.js.map → chunk-5POTDNQT.js.map} +0 -0
- /package/dist/{chunk-JW6CYU5F.js.map → chunk-63VGE4OH.js.map} +0 -0
- /package/dist/{chunk-7HVOIRGN.js.map → chunk-6NIB2KGJ.js.map} +0 -0
- /package/dist/{chunk-KLVK7BN5.js.map → chunk-6PQNLL4E.js.map} +0 -0
- /package/dist/{chunk-FGPSTD37.js.map → chunk-72J6C2AJ.js.map} +0 -0
- /package/dist/{chunk-N34NUHUO.js.map → chunk-73SOCVLS.js.map} +0 -0
- /package/dist/{chunk-43OV5QK7.js.map → chunk-7BST7BA6.js.map} +0 -0
- /package/dist/{chunk-FDAV72IX.js.map → chunk-7CZTKBTI.js.map} +0 -0
- /package/dist/{chunk-G4ONAC4P.js.map → chunk-7DU35P5J.js.map} +0 -0
- /package/dist/{chunk-SM5QX6UK.js.map → chunk-A2EWJQXX.js.map} +0 -0
- /package/dist/{chunk-3WDWLSYX.js.map → chunk-AD22P5X3.js.map} +0 -0
- /package/dist/{chunk-ZQSRAMSH.js.map → chunk-ADJJQSYC.js.map} +0 -0
- /package/dist/{chunk-5C6KUGFG.js.map → chunk-AG7VGUIW.js.map} +0 -0
- /package/dist/{chunk-LF5CBAOS.js.map → chunk-AOLE4IRZ.js.map} +0 -0
- /package/dist/{chunk-CF7ZCKZC.js.map → chunk-APU42QDI.js.map} +0 -0
- /package/dist/{chunk-P56F4SFD.js.map → chunk-BJIZ7PL7.js.map} +0 -0
- /package/dist/{chunk-XEL2ZJ3Z.js.map → chunk-BJW7G6EF.js.map} +0 -0
- /package/dist/{chunk-NNNXKGJH.js.map → chunk-BNUPYHHZ.js.map} +0 -0
- /package/dist/{chunk-FYSOHZSM.js.map → chunk-BXRIQZAH.js.map} +0 -0
- /package/dist/{chunk-N4ZDRONX.js.map → chunk-CBY5CXBD.js.map} +0 -0
- /package/dist/{chunk-7PTHBHEW.js.map → chunk-CVG4FILQ.js.map} +0 -0
- /package/dist/{chunk-LMN7SO4T.js.map → chunk-DDK4WFJ3.js.map} +0 -0
- /package/dist/{chunk-G4HQUBO4.js.map → chunk-DLOYMWUQ.js.map} +0 -0
- /package/dist/{chunk-OTMWHZBY.js.map → chunk-DWPOQ3S5.js.map} +0 -0
- /package/dist/{chunk-JIJGQPW2.js.map → chunk-EHCUFCXM.js.map} +0 -0
- /package/dist/{chunk-SFTKDFOQ.js.map → chunk-EU6XSQFM.js.map} +0 -0
- /package/dist/{chunk-62VER7O4.js.map → chunk-F3NERYBQ.js.map} +0 -0
- /package/dist/{chunk-XZTOGYSM.js.map → chunk-F6LBGYS6.js.map} +0 -0
- /package/dist/{chunk-EX5YO2KX.js.map → chunk-FDNJVZRE.js.map} +0 -0
- /package/dist/{chunk-E5GLL7GL.js.map → chunk-FLGUVRR7.js.map} +0 -0
- /package/dist/{chunk-YGD4MVPD.js.map → chunk-FSN6APRD.js.map} +0 -0
- /package/dist/{chunk-J2YMBA2R.js.map → chunk-GAIM5RNE.js.map} +0 -0
- /package/dist/{chunk-X2AH4DRF.js.map → chunk-GALB2G3W.js.map} +0 -0
- /package/dist/{chunk-E2NTKB4G.js.map → chunk-GFUUFM2O.js.map} +0 -0
- /package/dist/{chunk-7FTEIGVP.js.map → chunk-GTQ3SNEI.js.map} +0 -0
- /package/dist/{chunk-SPH2HDSW.js.map → chunk-HDHK3SXK.js.map} +0 -0
- /package/dist/{chunk-IJ6WELGP.js.map → chunk-HGMWMK5K.js.map} +0 -0
- /package/dist/{chunk-HRMDE6MI.js.map → chunk-HNYJEAES.js.map} +0 -0
- /package/dist/{chunk-BYASTRHQ.js.map → chunk-HO5Y2OOX.js.map} +0 -0
- /package/dist/{chunk-WW7VY5LC.js.map → chunk-HOJGAJAB.js.map} +0 -0
- /package/dist/{chunk-DYGAOHXK.js.map → chunk-HTT3FB7T.js.map} +0 -0
- /package/dist/{chunk-O2WCMUQG.js.map → chunk-HWDGJFM4.js.map} +0 -0
- /package/dist/{chunk-3AOXZHF6.js.map → chunk-IVOA3DXA.js.map} +0 -0
- /package/dist/{chunk-5O5NCXJP.js.map → chunk-JK7C5A4I.js.map} +0 -0
- /package/dist/{chunk-R7S6NSUB.js.map → chunk-JTN3T4QN.js.map} +0 -0
- /package/dist/{chunk-7DUTMHRQ.js.map → chunk-JXT5QDJC.js.map} +0 -0
- /package/dist/{chunk-BWTNB77U.js.map → chunk-KTRKZRID.js.map} +0 -0
- /package/dist/{chunk-MWAFZVC4.js.map → chunk-KWKGBGAF.js.map} +0 -0
- /package/dist/{chunk-5HXZC3OM.js.map → chunk-KZHW27BV.js.map} +0 -0
- /package/dist/{chunk-RWUIKGLS.js.map → chunk-L7YURQI2.js.map} +0 -0
- /package/dist/{chunk-73WI7FL2.js.map → chunk-LE2EDBXU.js.map} +0 -0
- /package/dist/{chunk-5DSKMG2I.js.map → chunk-LEXPBQ56.js.map} +0 -0
- /package/dist/{chunk-DWOP7YQX.js.map → chunk-N3ZP4IDU.js.map} +0 -0
- /package/dist/{chunk-2KKFUNVW.js.map → chunk-NCX5SAQY.js.map} +0 -0
- /package/dist/{chunk-ITGR4HN7.js.map → chunk-NDF3SH3X.js.map} +0 -0
- /package/dist/{chunk-JQCGPTZ6.js.map → chunk-NWZW2WHN.js.map} +0 -0
- /package/dist/{chunk-NQA5WCKG.js.map → chunk-NYZQ7LO7.js.map} +0 -0
- /package/dist/{chunk-ZDL4ZALP.js.map → chunk-O756O2I7.js.map} +0 -0
- /package/dist/{chunk-GRSODLVO.js.map → chunk-OANSIX34.js.map} +0 -0
- /package/dist/{chunk-JLMDWUME.js.map → chunk-OBQVTCTW.js.map} +0 -0
- /package/dist/{chunk-TUERKBGA.js.map → chunk-OO2T63BY.js.map} +0 -0
- /package/dist/{chunk-EPWD4KRA.js.map → chunk-OOEO4MKY.js.map} +0 -0
- /package/dist/{chunk-IKN3XCJU.js.map → chunk-OR37STQZ.js.map} +0 -0
- /package/dist/{chunk-62LZQOAH.js.map → chunk-OSVHU2WU.js.map} +0 -0
- /package/dist/{chunk-73YPB5IB.js.map → chunk-P5WABK2H.js.map} +0 -0
- /package/dist/{chunk-JNFRC3AW.js.map → chunk-PM3OSANE.js.map} +0 -0
- /package/dist/{chunk-W57X2TSV.js.map → chunk-PN66T6JA.js.map} +0 -0
- /package/dist/{chunk-4NDE4JTJ.js.map → chunk-Q35DT6I6.js.map} +0 -0
- /package/dist/{chunk-WFS5EUCL.js.map → chunk-Q35YZVDZ.js.map} +0 -0
- /package/dist/{chunk-P5GMHOZB.js.map → chunk-QCD5Y7K5.js.map} +0 -0
- /package/dist/{chunk-YTX274IC.js.map → chunk-QM5H4FPT.js.map} +0 -0
- /package/dist/{chunk-VCUGPND2.js.map → chunk-QRVNI5V6.js.map} +0 -0
- /package/dist/{chunk-JM4HQPAI.js.map → chunk-QZRDCFHI.js.map} +0 -0
- /package/dist/{chunk-ELABMEDP.js.map → chunk-R63QEVPK.js.map} +0 -0
- /package/dist/{chunk-CP7ZQHBW.js.map → chunk-RA3FNMWF.js.map} +0 -0
- /package/dist/{chunk-D6II4KOG.js.map → chunk-RGW24ZZM.js.map} +0 -0
- /package/dist/{chunk-WSYR6CUF.js.map → chunk-RQDFYQHA.js.map} +0 -0
- /package/dist/{chunk-CSLCTVND.js.map → chunk-RSNYGEVZ.js.map} +0 -0
- /package/dist/{chunk-B2ES3U36.js.map → chunk-S4EZ3JUB.js.map} +0 -0
- /package/dist/{chunk-OOUEPFGL.js.map → chunk-S4SC5SSV.js.map} +0 -0
- /package/dist/{chunk-A4BD4ZVB.js.map → chunk-S7PVL7XH.js.map} +0 -0
- /package/dist/{chunk-4LPA25NQ.js.map → chunk-SD2K5ZN5.js.map} +0 -0
- /package/dist/{chunk-XAXTE2NA.js.map → chunk-SUVEDKE2.js.map} +0 -0
- /package/dist/{chunk-LCFU5YUA.js.map → chunk-TGVVEGZG.js.map} +0 -0
- /package/dist/{chunk-OEL73V62.js.map → chunk-U36PO27Q.js.map} +0 -0
- /package/dist/{chunk-HZT5H5ZP.js.map → chunk-U3HSFCON.js.map} +0 -0
- /package/dist/{chunk-J5MEDX7C.js.map → chunk-U47YDYLQ.js.map} +0 -0
- /package/dist/{chunk-BLT4KQTS.js.map → chunk-UP4BE32Y.js.map} +0 -0
- /package/dist/{chunk-ZSKUBXA6.js.map → chunk-UWJ5P5CU.js.map} +0 -0
- /package/dist/{chunk-YVBHGMKC.js.map → chunk-VAIESMPY.js.map} +0 -0
- /package/dist/{chunk-5P6EKYTC.js.map → chunk-VP62LPLW.js.map} +0 -0
- /package/dist/{chunk-GOEN2FSD.js.map → chunk-VUHPA3XQ.js.map} +0 -0
- /package/dist/{chunk-5FA455GR.js.map → chunk-WNG757ID.js.map} +0 -0
- /package/dist/{chunk-4LMNYFES.js.map → chunk-WSMYOLHG.js.map} +0 -0
- /package/dist/{chunk-JXEMUZTV.js.map → chunk-X7ASQHR6.js.map} +0 -0
- /package/dist/{chunk-CZSYF7UF.js.map → chunk-XOFUXMPP.js.map} +0 -0
- /package/dist/{chunk-VNMM6DQP.js.map → chunk-XWWXIZFP.js.map} +0 -0
- /package/dist/{chunk-XC4DZXZZ.js.map → chunk-YXOKAG66.js.map} +0 -0
- /package/dist/{chunk-XMNUZUUA.js.map → chunk-Z2DAWUO3.js.map} +0 -0
- /package/dist/{chunk-TJ2MBYK4.js.map → chunk-Z5WMLJKI.js.map} +0 -0
- /package/dist/{chunk-WCK2NF54.js.map → chunk-ZKYYZH6L.js.map} +0 -0
- /package/dist/{chunk-AS6ZXN5K.js.map → chunk-ZRJCGBVV.js.map} +0 -0
- /package/dist/{embedded-new-voice-IIZPNXHC.js.map → computer-viewer-KEDVLD42.js.map} +0 -0
- /package/dist/{embedded-voice-5PXDBGOI.js.map → embedded-new-voice-LFHWWYD2.js.map} +0 -0
- /package/dist/{model-policy-picker-menu-4GWYXUP3.js.map → embedded-voice-6QS4ANNX.js.map} +0 -0
- /package/dist/{latest-question-ZCZYQZMD.js.map → latest-question-AW3PPDUM.js.map} +0 -0
- /package/dist/{sandbox-files-QXIZJJMW.js.map → model-policy-picker-menu-CURJ247L.js.map} +0 -0
- /package/dist/{queue-surface-implementation-VPPIEPJL.js.map → queue-surface-implementation-2X5AXB6I.js.map} +0 -0
- /package/dist/{timeline-annotation-markers-BSTWUL4V.js.map → timeline-annotation-markers-X4K2IEOO.js.map} +0 -0
- /package/dist/{timeline-annotation-selection-3SMCLIJE.js.map → timeline-annotation-selection-MEHBW676.js.map} +0 -0
- /package/dist/{timeline-annotations-dialog-GFF3RFYZ.js.map → timeline-annotations-dialog-U2FPQ3UY.js.map} +0 -0
|
@@ -6,6 +6,16 @@ import {
|
|
|
6
6
|
PatchApplyCommand,
|
|
7
7
|
useRetainedImageObjectUrl
|
|
8
8
|
} from "./chunk-3KVWXKD6.js";
|
|
9
|
+
import {
|
|
10
|
+
approvalsFromRequiresAction
|
|
11
|
+
} from "./chunk-UD2PSIIX.js";
|
|
12
|
+
import {
|
|
13
|
+
learningRefusalBody,
|
|
14
|
+
learningRefusalPlace,
|
|
15
|
+
learningRefusalPlaceLabel,
|
|
16
|
+
learningRefusalTitle,
|
|
17
|
+
presentTurnFailureText
|
|
18
|
+
} from "./chunk-5MZTJMZ3.js";
|
|
9
19
|
import {
|
|
10
20
|
ActivityDisclosure,
|
|
11
21
|
BodyNote,
|
|
@@ -24,7 +34,7 @@ import {
|
|
|
24
34
|
ToolOutputPreviewProvider,
|
|
25
35
|
useForcedDefaultOpen,
|
|
26
36
|
useTimelineSearchReveal
|
|
27
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-R63QEVPK.js";
|
|
28
38
|
import {
|
|
29
39
|
useToolDetails
|
|
30
40
|
} from "./chunk-RZLBICR5.js";
|
|
@@ -36,19 +46,6 @@ import {
|
|
|
36
46
|
pierreDiffsRevision,
|
|
37
47
|
subscribePierreDiffs
|
|
38
48
|
} from "./chunk-YSRBFJMQ.js";
|
|
39
|
-
import {
|
|
40
|
-
ShimmerText
|
|
41
|
-
} from "./chunk-JLMDWUME.js";
|
|
42
|
-
import {
|
|
43
|
-
approvalsFromRequiresAction
|
|
44
|
-
} from "./chunk-UD2PSIIX.js";
|
|
45
|
-
import {
|
|
46
|
-
learningRefusalBody,
|
|
47
|
-
learningRefusalPlace,
|
|
48
|
-
learningRefusalPlaceLabel,
|
|
49
|
-
learningRefusalTitle,
|
|
50
|
-
presentTurnFailureText
|
|
51
|
-
} from "./chunk-L7UDYTU3.js";
|
|
52
49
|
import {
|
|
53
50
|
GENIE_PREPARING_PHRASES,
|
|
54
51
|
GENIE_WAITING_PHRASES,
|
|
@@ -85,7 +82,7 @@ import {
|
|
|
85
82
|
unwrapMcpOutput,
|
|
86
83
|
webSearchPresentation,
|
|
87
84
|
writeStdinPresentation
|
|
88
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-TQGJN5UZ.js";
|
|
89
86
|
import {
|
|
90
87
|
workerRowTitleParts
|
|
91
88
|
} from "./chunk-HEVQKE27.js";
|
|
@@ -97,6 +94,9 @@ import {
|
|
|
97
94
|
mcpToolLeaf,
|
|
98
95
|
toolDisplayName
|
|
99
96
|
} from "./chunk-STUCI6QA.js";
|
|
97
|
+
import {
|
|
98
|
+
ShimmerText
|
|
99
|
+
} from "./chunk-OBQVTCTW.js";
|
|
100
100
|
import {
|
|
101
101
|
formatBytes,
|
|
102
102
|
truncate,
|
|
@@ -109,6 +109,94 @@ import {
|
|
|
109
109
|
useOpenGeniText
|
|
110
110
|
} from "./chunk-5JZYPZ72.js";
|
|
111
111
|
|
|
112
|
+
// src/timeline/retained-loaders.ts
|
|
113
|
+
function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
|
|
114
|
+
return async (artifact, signal, options) => {
|
|
115
|
+
if (artifact.kind === "file" && options?.prefer !== "url") {
|
|
116
|
+
const download2 = await client.downloadRetainedArtifact(workspaceId, artifact, { signal });
|
|
117
|
+
return download2.bytes;
|
|
118
|
+
}
|
|
119
|
+
const download = await client.createRetainedArtifactDownloadUrl(workspaceId, artifact, {
|
|
120
|
+
signal
|
|
121
|
+
});
|
|
122
|
+
return { url: download.url, expiresAt: download.expiresAt };
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function createSessionRetainedScreenshotLoader(client, workspaceId, sessionId) {
|
|
126
|
+
return async (artifact, signal) => {
|
|
127
|
+
const download = await client.downloadRetainedScreenshot(
|
|
128
|
+
workspaceId,
|
|
129
|
+
sessionId,
|
|
130
|
+
artifact.artifactId,
|
|
131
|
+
{ signal }
|
|
132
|
+
);
|
|
133
|
+
if (!download.metadata.available || !download.bytes) return null;
|
|
134
|
+
if (download.metadata.artifactId !== artifact.artifactId || download.metadata.kind !== artifact.kind || download.metadata.contentType !== artifact.contentType || download.metadata.originalBytes !== artifact.originalBytes || download.metadata.sha256 !== artifact.sha256 || download.metadata.dimensions?.width !== artifact.dimensions?.width || download.metadata.dimensions?.height !== artifact.dimensions?.height) {
|
|
135
|
+
throw new Error("Retained screenshot receipt verification failed");
|
|
136
|
+
}
|
|
137
|
+
return download.bytes;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
function createWorkspaceRetainedVideoLoader(client, workspaceId) {
|
|
141
|
+
return async (artifactId, signal) => await client.createVideoArtifactPlaybackSource(workspaceId, artifactId, { signal });
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// src/components/tool-review-history.tsx
|
|
145
|
+
import { createContext, useContext, useEffect, useMemo, useState } from "react";
|
|
146
|
+
import { jsx } from "react/jsx-runtime";
|
|
147
|
+
var History = createContext(null);
|
|
148
|
+
function ToolReviewHistoryProvider({
|
|
149
|
+
events,
|
|
150
|
+
load,
|
|
151
|
+
onViewDetails,
|
|
152
|
+
children
|
|
153
|
+
}) {
|
|
154
|
+
const value = useMemo(
|
|
155
|
+
() => ({
|
|
156
|
+
approvalIds: new Set(
|
|
157
|
+
events.flatMap(
|
|
158
|
+
(event) => event.type === "session.requiresAction" ? approvalsFromRequiresAction(event.payload).map((approval) => approval.id) : []
|
|
159
|
+
)
|
|
160
|
+
),
|
|
161
|
+
revision: [...events].reverse().find(
|
|
162
|
+
(event) => event.type === "session.requiresAction" || event.type === "agent.toolCall.output" || event.type.startsWith("turn.") || event.type === "user.approvalDecision" || event.type.startsWith("session.control.")
|
|
163
|
+
)?.sequence ?? 0,
|
|
164
|
+
load,
|
|
165
|
+
onViewDetails
|
|
166
|
+
}),
|
|
167
|
+
[events, load, onViewDetails]
|
|
168
|
+
);
|
|
169
|
+
return /* @__PURE__ */ jsx(History.Provider, { value, children });
|
|
170
|
+
}
|
|
171
|
+
function useHasToolReview(approvalId) {
|
|
172
|
+
const history = useContext(History);
|
|
173
|
+
return Boolean(approvalId && history?.approvalIds.has(approvalId));
|
|
174
|
+
}
|
|
175
|
+
function useRecordedToolReview(approvalId) {
|
|
176
|
+
const history = useContext(History);
|
|
177
|
+
const [review, setReview] = useState(null);
|
|
178
|
+
const load = history?.load;
|
|
179
|
+
const revision = history?.revision;
|
|
180
|
+
useEffect(() => {
|
|
181
|
+
if (!load || !approvalId) return;
|
|
182
|
+
let active = true;
|
|
183
|
+
void load(approvalId).then(
|
|
184
|
+
(value) => {
|
|
185
|
+
if (active && value.id === approvalId) setReview(value);
|
|
186
|
+
},
|
|
187
|
+
() => void 0
|
|
188
|
+
);
|
|
189
|
+
return () => {
|
|
190
|
+
active = false;
|
|
191
|
+
};
|
|
192
|
+
}, [approvalId, load, revision]);
|
|
193
|
+
const onViewDetails = history?.onViewDetails;
|
|
194
|
+
return {
|
|
195
|
+
review: review && review.id === approvalId ? review : null,
|
|
196
|
+
onViewDetails: review && onViewDetails ? (path) => onViewDetails(review, path) : void 0
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
|
|
112
200
|
// src/components/tool-action-review.tsx
|
|
113
201
|
import {
|
|
114
202
|
ArrowLeftIcon,
|
|
@@ -119,8 +207,8 @@ import {
|
|
|
119
207
|
LoaderCircleIcon,
|
|
120
208
|
ShieldCheckIcon
|
|
121
209
|
} from "lucide-react";
|
|
122
|
-
import { useEffect, useId, useRef, useState } from "react";
|
|
123
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
210
|
+
import { useEffect as useEffect2, useId, useRef, useState as useState2 } from "react";
|
|
211
|
+
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
124
212
|
var statusText = (t) => ({
|
|
125
213
|
pending: t("toolActionReview.approvalNeeded"),
|
|
126
214
|
approved: t("toolActionReview.approved"),
|
|
@@ -182,12 +270,12 @@ var VISIBLE_FIELDS = 6;
|
|
|
182
270
|
function StatusIcon({ status, busy }) {
|
|
183
271
|
const className = "size-4";
|
|
184
272
|
if (busy || status === "executing" || status === "approved")
|
|
185
|
-
return /* @__PURE__ */
|
|
186
|
-
if (status === "pending") return /* @__PURE__ */
|
|
187
|
-
if (status === "completed") return /* @__PURE__ */
|
|
273
|
+
return /* @__PURE__ */ jsx2(LoaderCircleIcon, { "aria-hidden": "true", className: cn(className, "animate-spin") });
|
|
274
|
+
if (status === "pending") return /* @__PURE__ */ jsx2(ShieldCheckIcon, { "aria-hidden": "true", className });
|
|
275
|
+
if (status === "completed") return /* @__PURE__ */ jsx2(CheckIcon, { "aria-hidden": "true", className });
|
|
188
276
|
if (statusTone[status] === "failed")
|
|
189
|
-
return /* @__PURE__ */
|
|
190
|
-
return /* @__PURE__ */
|
|
277
|
+
return /* @__PURE__ */ jsx2(CircleAlertIcon, { "aria-hidden": "true", className });
|
|
278
|
+
return /* @__PURE__ */ jsx2(CircleSlashIcon, { "aria-hidden": "true", className });
|
|
191
279
|
}
|
|
192
280
|
function ToolReviewFrame({
|
|
193
281
|
tone,
|
|
@@ -214,7 +302,7 @@ function ToolReviewFrame({
|
|
|
214
302
|
),
|
|
215
303
|
children: [
|
|
216
304
|
/* @__PURE__ */ jsxs("header", { className: cn("flex min-w-0 items-start gap-3", bare ? "pb-1" : "px-4 py-3"), children: [
|
|
217
|
-
/* @__PURE__ */
|
|
305
|
+
/* @__PURE__ */ jsx2(
|
|
218
306
|
"span",
|
|
219
307
|
{
|
|
220
308
|
className: cn(
|
|
@@ -225,7 +313,7 @@ function ToolReviewFrame({
|
|
|
225
313
|
}
|
|
226
314
|
),
|
|
227
315
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
228
|
-
/* @__PURE__ */
|
|
316
|
+
/* @__PURE__ */ jsx2(
|
|
229
317
|
"p",
|
|
230
318
|
{
|
|
231
319
|
className: cn("m-0 text-og-xs font-medium", toneText[tone]),
|
|
@@ -234,7 +322,7 @@ function ToolReviewFrame({
|
|
|
234
322
|
children: eyebrow
|
|
235
323
|
}
|
|
236
324
|
),
|
|
237
|
-
/* @__PURE__ */
|
|
325
|
+
/* @__PURE__ */ jsx2(
|
|
238
326
|
"h3",
|
|
239
327
|
{
|
|
240
328
|
tabIndex: -1,
|
|
@@ -243,10 +331,10 @@ function ToolReviewFrame({
|
|
|
243
331
|
children: title
|
|
244
332
|
}
|
|
245
333
|
),
|
|
246
|
-
subtitle ? /* @__PURE__ */
|
|
334
|
+
subtitle ? /* @__PURE__ */ jsx2("p", { className: "m-0 mt-0.5 break-words text-og-xs text-og-fg-muted [overflow-wrap:anywhere]", children: subtitle }) : null
|
|
247
335
|
] })
|
|
248
336
|
] }),
|
|
249
|
-
children ? /* @__PURE__ */
|
|
337
|
+
children ? /* @__PURE__ */ jsx2(
|
|
250
338
|
"div",
|
|
251
339
|
{
|
|
252
340
|
className: cn(
|
|
@@ -258,7 +346,7 @@ function ToolReviewFrame({
|
|
|
258
346
|
children
|
|
259
347
|
}
|
|
260
348
|
) : null,
|
|
261
|
-
footer ? /* @__PURE__ */
|
|
349
|
+
footer ? /* @__PURE__ */ jsx2(
|
|
262
350
|
"footer",
|
|
263
351
|
{
|
|
264
352
|
className: cn(
|
|
@@ -298,24 +386,24 @@ function ReviewFacts({
|
|
|
298
386
|
const hasContent = note || effects.length || selection || shown.length || hiddenFields > 0 || samples.length;
|
|
299
387
|
if (!hasContent) return null;
|
|
300
388
|
return /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-3 text-og-sm", children: [
|
|
301
|
-
note ? /* @__PURE__ */
|
|
302
|
-
effects.length > 0 ? /* @__PURE__ */
|
|
303
|
-
/* @__PURE__ */
|
|
389
|
+
note ? /* @__PURE__ */ jsx2("p", { className: "m-0 leading-relaxed text-og-fg-muted", children: note }) : null,
|
|
390
|
+
effects.length > 0 ? /* @__PURE__ */ jsx2("ul", { className: "m-0 list-none space-y-1 p-0", "aria-label": t("toolActionReview.alsoChanges"), children: effects.map((effect) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-og-fg", children: [
|
|
391
|
+
/* @__PURE__ */ jsx2(
|
|
304
392
|
"span",
|
|
305
393
|
{
|
|
306
394
|
"aria-hidden": "true",
|
|
307
395
|
className: "mt-[0.55em] size-1 shrink-0 rounded-full bg-og-fg-muted"
|
|
308
396
|
}
|
|
309
397
|
),
|
|
310
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ jsx2("span", { className: "min-w-0 break-words", children: effect })
|
|
311
399
|
] }, effect)) }) : null,
|
|
312
400
|
selection ? /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
313
401
|
samples.length > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
314
|
-
/* @__PURE__ */
|
|
402
|
+
/* @__PURE__ */ jsx2("p", { className: "m-0 mb-1 text-og-xs text-og-fg-muted", children: t("toolActionReview.includes") }),
|
|
315
403
|
/* @__PURE__ */ jsxs("ul", { className: "m-0 list-none divide-y divide-og-border rounded-og-md border border-og-border bg-og-surface-1 p-0", children: [
|
|
316
404
|
samples.map((sample) => /* @__PURE__ */ jsxs("li", { className: "min-w-0 px-3 py-2", children: [
|
|
317
|
-
/* @__PURE__ */
|
|
318
|
-
sample.subtitle ? /* @__PURE__ */
|
|
405
|
+
/* @__PURE__ */ jsx2("p", { className: "m-0 truncate text-og-sm text-og-fg", children: sample.title }),
|
|
406
|
+
sample.subtitle ? /* @__PURE__ */ jsx2("p", { className: "m-0 mt-0.5 truncate text-og-xs text-og-fg-muted", children: sample.subtitle }) : null
|
|
319
407
|
] }, sample.id)),
|
|
320
408
|
count > samples.length ? /* @__PURE__ */ jsxs("li", { className: "px-3 py-2 text-og-xs text-og-fg-muted", children: [
|
|
321
409
|
t("toolActionReview.and"),
|
|
@@ -338,18 +426,18 @@ function ReviewFacts({
|
|
|
338
426
|
localeString: count.toLocaleString(t.locale),
|
|
339
427
|
noun
|
|
340
428
|
}),
|
|
341
|
-
/* @__PURE__ */
|
|
429
|
+
/* @__PURE__ */ jsx2(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
|
|
342
430
|
]
|
|
343
431
|
}
|
|
344
432
|
) : null
|
|
345
433
|
] }) : null,
|
|
346
|
-
shown.length > 0 ? /* @__PURE__ */
|
|
434
|
+
shown.length > 0 ? /* @__PURE__ */ jsx2("dl", { className: "m-0 min-w-0 space-y-2", children: shown.map((field) => /* @__PURE__ */ jsxs(
|
|
347
435
|
"div",
|
|
348
436
|
{
|
|
349
437
|
className: "grid min-w-0 gap-x-4 gap-y-0.5 sm:grid-cols-[minmax(0,9rem)_minmax(0,1fr)]",
|
|
350
438
|
children: [
|
|
351
|
-
/* @__PURE__ */
|
|
352
|
-
/* @__PURE__ */
|
|
439
|
+
/* @__PURE__ */ jsx2("dt", { className: "m-0 break-words text-og-xs text-og-fg-muted sm:pt-px sm:text-og-sm", children: field.label }),
|
|
440
|
+
/* @__PURE__ */ jsx2("dd", { className: "m-0 min-w-0 whitespace-pre-wrap break-words text-og-fg [overflow-wrap:anywhere]", children: field.protected ? /* @__PURE__ */ jsx2("span", { className: "text-og-fg-muted", children: t("toolActionReview.hidden") }) : field.truncated && canOpen ? /* @__PURE__ */ jsxs(
|
|
353
441
|
"button",
|
|
354
442
|
{
|
|
355
443
|
type: "button",
|
|
@@ -361,11 +449,11 @@ function ReviewFacts({
|
|
|
361
449
|
onClick: () => onViewDetails(field.path),
|
|
362
450
|
className: cn(linkButton, "max-w-full"),
|
|
363
451
|
children: [
|
|
364
|
-
/* @__PURE__ */
|
|
365
|
-
/* @__PURE__ */
|
|
452
|
+
/* @__PURE__ */ jsx2("span", { className: "line-clamp-4 min-w-0 break-words [overflow-wrap:anywhere]", children: /* @__PURE__ */ jsx2(SecretRefText, { text: field.preview, linkable: false }) }),
|
|
453
|
+
/* @__PURE__ */ jsx2(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
|
|
366
454
|
]
|
|
367
455
|
}
|
|
368
|
-
) : /* @__PURE__ */
|
|
456
|
+
) : /* @__PURE__ */ jsx2(SecretRefText, { text: field.preview }) })
|
|
369
457
|
]
|
|
370
458
|
},
|
|
371
459
|
field.path
|
|
@@ -384,7 +472,7 @@ function DeclineButton({
|
|
|
384
472
|
onClick
|
|
385
473
|
}) {
|
|
386
474
|
const t = useOpenGeniText();
|
|
387
|
-
return /* @__PURE__ */
|
|
475
|
+
return /* @__PURE__ */ jsx2(
|
|
388
476
|
"button",
|
|
389
477
|
{
|
|
390
478
|
type: "button",
|
|
@@ -414,7 +502,7 @@ function ToolActionReviewCard({
|
|
|
414
502
|
const busy = Boolean(disabled || submitting);
|
|
415
503
|
const tone = statusTone[review.status];
|
|
416
504
|
const eyebrow = submitting ? submitting === "approve" ? t("toolActionReview.approving") : t("toolActionReview.declining") : review.status === "pending" ? pendingLabel ?? statusText(t).pending : statusText(t)[review.status];
|
|
417
|
-
const detailsLink = review.detailsAvailable && onViewDetails ? /* @__PURE__ */
|
|
505
|
+
const detailsLink = review.detailsAvailable && onViewDetails ? /* @__PURE__ */ jsx2(
|
|
418
506
|
"button",
|
|
419
507
|
{
|
|
420
508
|
type: "button",
|
|
@@ -429,7 +517,7 @@ function ToolActionReviewCard({
|
|
|
429
517
|
ToolReviewFrame,
|
|
430
518
|
{
|
|
431
519
|
tone,
|
|
432
|
-
icon: /* @__PURE__ */
|
|
520
|
+
icon: /* @__PURE__ */ jsx2(StatusIcon, { status: review.status, busy: Boolean(submitting) }),
|
|
433
521
|
eyebrow,
|
|
434
522
|
title: review.title,
|
|
435
523
|
titleId,
|
|
@@ -441,10 +529,10 @@ function ToolActionReviewCard({
|
|
|
441
529
|
footer: actionable ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
442
530
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 basis-48 flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
443
531
|
detailsLink,
|
|
444
|
-
reason ? /* @__PURE__ */
|
|
532
|
+
reason ? /* @__PURE__ */ jsx2("span", { className: "min-w-0 text-og-xs leading-relaxed text-og-fg-subtle", children: reason }) : null
|
|
445
533
|
] }),
|
|
446
534
|
/* @__PURE__ */ jsxs("div", { className: "ml-auto flex shrink-0 flex-wrap items-center justify-end gap-2", children: [
|
|
447
|
-
canReject ? /* @__PURE__ */
|
|
535
|
+
canReject ? /* @__PURE__ */ jsx2(
|
|
448
536
|
DeclineButton,
|
|
449
537
|
{
|
|
450
538
|
busy,
|
|
@@ -461,7 +549,7 @@ function ToolActionReviewCard({
|
|
|
461
549
|
onClick: onApprove,
|
|
462
550
|
className: "inline-flex min-h-9 items-center justify-center gap-2 rounded-og-md border border-og-primary-border bg-og-primary px-3.5 py-1.5 text-og-sm font-medium text-og-primary-fg transition-colors hover:bg-og-primary-hover disabled:opacity-60 [@media(pointer:coarse)]:min-h-11 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
|
|
463
551
|
children: [
|
|
464
|
-
submitting === "approve" ? /* @__PURE__ */
|
|
552
|
+
submitting === "approve" ? /* @__PURE__ */ jsx2(LoaderCircleIcon, { className: "size-3.5 animate-spin", "aria-hidden": "true" }) : null,
|
|
465
553
|
submitting === "approve" ? t("toolActionReview.approving") : review.approveLabel
|
|
466
554
|
]
|
|
467
555
|
}
|
|
@@ -469,8 +557,8 @@ function ToolActionReviewCard({
|
|
|
469
557
|
] })
|
|
470
558
|
] }) : void 0,
|
|
471
559
|
children: [
|
|
472
|
-
actionable && !canApprove ? /* @__PURE__ */
|
|
473
|
-
/* @__PURE__ */
|
|
560
|
+
actionable && !canApprove ? /* @__PURE__ */ jsx2("p", { className: "m-0 mb-3 text-og-sm leading-relaxed text-og-fg", children: UNRECOVERABLE_TEXT(t) }) : null,
|
|
561
|
+
/* @__PURE__ */ jsx2(
|
|
474
562
|
ReviewFacts,
|
|
475
563
|
{
|
|
476
564
|
review,
|
|
@@ -478,7 +566,7 @@ function ToolActionReviewCard({
|
|
|
478
566
|
showStatusDetail: review.status !== "pending"
|
|
479
567
|
}
|
|
480
568
|
),
|
|
481
|
-
!actionable && detailsLink ? /* @__PURE__ */
|
|
569
|
+
!actionable && detailsLink ? /* @__PURE__ */ jsx2("div", { className: "mt-2", children: detailsLink }) : null
|
|
482
570
|
]
|
|
483
571
|
}
|
|
484
572
|
);
|
|
@@ -491,22 +579,22 @@ function ToolActionReviewDetails({
|
|
|
491
579
|
manageFocus = true
|
|
492
580
|
}) {
|
|
493
581
|
const t = useOpenGeniText();
|
|
494
|
-
const [path, setPath] =
|
|
495
|
-
const [trail, setTrail] =
|
|
496
|
-
const [offset, setOffset] =
|
|
497
|
-
const [page, setPage] =
|
|
498
|
-
const [error, setError] =
|
|
499
|
-
const [retry, setRetry] =
|
|
582
|
+
const [path, setPath] = useState2(initialPath);
|
|
583
|
+
const [trail, setTrail] = useState2([]);
|
|
584
|
+
const [offset, setOffset] = useState2(0);
|
|
585
|
+
const [page, setPage] = useState2(null);
|
|
586
|
+
const [error, setError] = useState2(false);
|
|
587
|
+
const [retry, setRetry] = useState2(0);
|
|
500
588
|
const heading = useRef(null);
|
|
501
589
|
const focusedOnce = useRef(false);
|
|
502
|
-
|
|
590
|
+
useEffect2(() => {
|
|
503
591
|
if (page && manageFocus && !focusedOnce.current) {
|
|
504
592
|
focusedOnce.current = true;
|
|
505
593
|
heading.current?.focus({ preventScroll: true });
|
|
506
594
|
heading.current?.scrollIntoView({ block: "start" });
|
|
507
595
|
}
|
|
508
596
|
}, [page, manageFocus]);
|
|
509
|
-
|
|
597
|
+
useEffect2(() => {
|
|
510
598
|
let active = true;
|
|
511
599
|
setPage(null);
|
|
512
600
|
setError(false);
|
|
@@ -551,12 +639,12 @@ function ToolActionReviewDetails({
|
|
|
551
639
|
onClick: onBack,
|
|
552
640
|
className: "mb-4 inline-flex min-h-11 items-center gap-2 rounded-og-md pr-2 text-og-sm text-og-fg-muted hover:text-og-fg focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
|
|
553
641
|
children: [
|
|
554
|
-
/* @__PURE__ */
|
|
642
|
+
/* @__PURE__ */ jsx2(ArrowLeftIcon, { className: "size-4", "aria-hidden": "true" }),
|
|
555
643
|
t("toolActionReview.backToReview")
|
|
556
644
|
]
|
|
557
645
|
}
|
|
558
646
|
),
|
|
559
|
-
/* @__PURE__ */
|
|
647
|
+
/* @__PURE__ */ jsx2(
|
|
560
648
|
"h2",
|
|
561
649
|
{
|
|
562
650
|
ref: heading,
|
|
@@ -565,8 +653,8 @@ function ToolActionReviewDetails({
|
|
|
565
653
|
children: review.title
|
|
566
654
|
}
|
|
567
655
|
),
|
|
568
|
-
review.accountLabel ? /* @__PURE__ */
|
|
569
|
-
/* @__PURE__ */
|
|
656
|
+
review.accountLabel ? /* @__PURE__ */ jsx2("p", { className: "m-0 mt-1 text-og-sm text-og-fg-muted", children: review.accountLabel }) : null,
|
|
657
|
+
/* @__PURE__ */ jsx2("p", { className: "m-0 mt-2 text-og-xs text-og-fg-subtle", children: t("toolActionReview.theExactValuesSavedFor") }),
|
|
570
658
|
trail.length > 0 ? /* @__PURE__ */ jsxs(
|
|
571
659
|
"button",
|
|
572
660
|
{
|
|
@@ -574,7 +662,7 @@ function ToolActionReviewDetails({
|
|
|
574
662
|
className: "mt-3 inline-flex min-h-11 items-center gap-1.5 text-og-sm text-og-fg-muted underline underline-offset-4 hover:text-og-fg focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40",
|
|
575
663
|
onClick: up,
|
|
576
664
|
children: [
|
|
577
|
-
/* @__PURE__ */
|
|
665
|
+
/* @__PURE__ */ jsx2(ArrowLeftIcon, { className: "size-3.5", "aria-hidden": "true" }),
|
|
578
666
|
t("toolActionReview.backTo"),
|
|
579
667
|
" ",
|
|
580
668
|
trail.at(-1)?.label ?? t("toolActionReview.allValues")
|
|
@@ -584,7 +672,7 @@ function ToolActionReviewDetails({
|
|
|
584
672
|
error ? /* @__PURE__ */ jsxs("div", { role: "alert", className: "mt-4 py-4 text-og-sm", children: [
|
|
585
673
|
t("toolActionReview.couldnTLoadTheseDetails"),
|
|
586
674
|
" ",
|
|
587
|
-
/* @__PURE__ */
|
|
675
|
+
/* @__PURE__ */ jsx2(
|
|
588
676
|
"button",
|
|
589
677
|
{
|
|
590
678
|
type: "button",
|
|
@@ -593,9 +681,9 @@ function ToolActionReviewDetails({
|
|
|
593
681
|
children: t("toolActionReview.tryAgain")
|
|
594
682
|
}
|
|
595
683
|
)
|
|
596
|
-
] }) : !page ? /* @__PURE__ */
|
|
597
|
-
/* @__PURE__ */
|
|
598
|
-
/* @__PURE__ */
|
|
684
|
+
] }) : !page ? /* @__PURE__ */ jsx2("p", { role: "status", className: "mt-4 py-4 text-og-sm text-og-fg-muted", children: t("toolActionReview.loadingDetails") }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
685
|
+
/* @__PURE__ */ jsx2("dl", { className: "m-0 mt-4 divide-y divide-og-border border-y border-og-border", children: page.items.map((item) => /* @__PURE__ */ jsxs("div", { className: "py-3", children: [
|
|
686
|
+
/* @__PURE__ */ jsx2("dt", { className: "m-0 text-og-xs text-og-fg-muted", children: item.label }),
|
|
599
687
|
/* @__PURE__ */ jsxs("dd", { className: "m-0 mt-1 whitespace-pre-wrap break-words text-og-sm leading-relaxed [overflow-wrap:anywhere]", children: [
|
|
600
688
|
item.truncated && item.path ? /* @__PURE__ */ jsxs(
|
|
601
689
|
"button",
|
|
@@ -605,12 +693,12 @@ function ToolActionReviewDetails({
|
|
|
605
693
|
className: cn(linkButton, "max-w-full"),
|
|
606
694
|
onClick: () => open(item.path, item.label),
|
|
607
695
|
children: [
|
|
608
|
-
/* @__PURE__ */
|
|
609
|
-
/* @__PURE__ */
|
|
696
|
+
/* @__PURE__ */ jsx2("span", { className: "min-w-0 break-words focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-og-accent/40", children: /* @__PURE__ */ jsx2(SecretRefText, { text: item.value, linkable: false }) }),
|
|
697
|
+
/* @__PURE__ */ jsx2(ChevronRightIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" })
|
|
610
698
|
]
|
|
611
699
|
}
|
|
612
|
-
) : /* @__PURE__ */
|
|
613
|
-
item.detail ? /* @__PURE__ */
|
|
700
|
+
) : /* @__PURE__ */ jsx2(SecretRefText, { text: item.value }),
|
|
701
|
+
item.detail ? /* @__PURE__ */ jsx2("span", { className: "mt-0.5 block text-og-xs text-og-fg-muted", children: /* @__PURE__ */ jsx2(SecretRefText, { text: item.detail, linkable: false }) }) : null
|
|
614
702
|
] })
|
|
615
703
|
] }, `${page.path}:${item.label}`)) }),
|
|
616
704
|
page.total > page.items.length || offset > 0 ? /* @__PURE__ */ jsxs(
|
|
@@ -619,7 +707,7 @@ function ToolActionReviewDetails({
|
|
|
619
707
|
"aria-label": t("toolActionReview.detailPages"),
|
|
620
708
|
className: "mt-4 flex flex-wrap items-center justify-between gap-3 text-og-sm",
|
|
621
709
|
children: [
|
|
622
|
-
/* @__PURE__ */
|
|
710
|
+
/* @__PURE__ */ jsx2(
|
|
623
711
|
"button",
|
|
624
712
|
{
|
|
625
713
|
type: "button",
|
|
@@ -629,8 +717,8 @@ function ToolActionReviewDetails({
|
|
|
629
717
|
children: t("toolActionReview.previous")
|
|
630
718
|
}
|
|
631
719
|
),
|
|
632
|
-
/* @__PURE__ */
|
|
633
|
-
/* @__PURE__ */
|
|
720
|
+
/* @__PURE__ */ jsx2("span", { className: "text-og-fg-muted tabular-nums", children: page.total === 0 ? t("toolActionReview.noItems") : `${(offset + 1).toLocaleString(t.locale)}\u2013${(offset + page.items.length).toLocaleString(t.locale)} of ${page.total.toLocaleString(t.locale)}` }),
|
|
721
|
+
/* @__PURE__ */ jsx2(
|
|
634
722
|
"button",
|
|
635
723
|
{
|
|
636
724
|
type: "button",
|
|
@@ -650,36 +738,36 @@ function ToolActionReviewDetails({
|
|
|
650
738
|
}
|
|
651
739
|
|
|
652
740
|
// src/timeline/knowledge-receipt.tsx
|
|
653
|
-
import { createContext, useContext, useState as
|
|
741
|
+
import { createContext as createContext2, useContext as useContext2, useState as useState3 } from "react";
|
|
654
742
|
import { BrainCircuitIcon } from "lucide-react";
|
|
655
|
-
import { jsx as
|
|
656
|
-
var KnowledgeActions =
|
|
743
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
744
|
+
var KnowledgeActions = createContext2({});
|
|
657
745
|
function KnowledgeActivityProvider({
|
|
658
746
|
children,
|
|
659
747
|
...actions
|
|
660
748
|
}) {
|
|
661
|
-
return /* @__PURE__ */
|
|
749
|
+
return /* @__PURE__ */ jsx3(KnowledgeActions.Provider, { value: actions, children });
|
|
662
750
|
}
|
|
663
751
|
function KnowledgeReceiptRow(props) {
|
|
664
752
|
const t = useOpenGeniText();
|
|
665
|
-
const actions =
|
|
666
|
-
const [retrying, setRetrying] =
|
|
667
|
-
const [retrySent, setRetrySent] =
|
|
668
|
-
const [error, setError] =
|
|
753
|
+
const actions = useContext2(KnowledgeActions);
|
|
754
|
+
const [retrying, setRetrying] = useState3(false);
|
|
755
|
+
const [retrySent, setRetrySent] = useState3(false);
|
|
756
|
+
const [error, setError] = useState3(null);
|
|
669
757
|
const label = props.outcome === "pending" ? t("timeline.knowledgeReceipt.knowledgeSavedForReview") : props.outcome === "failed" ? t("timeline.knowledgeReceipt.sourcePreparationFailed") : props.outcome === "rejected" ? t("timeline.knowledgeReceipt.sourceRemainsRejected") : props.outcome === "archived" ? t("timeline.knowledgeReceipt.knowledgeArchived") : props.source ? t("timeline.knowledgeReceipt.sourceSavedToKnowledge") : t("timeline.knowledgeReceipt.savedToKnowledge");
|
|
670
758
|
const actionClass = "rounded-og-sm px-1 py-0.5 text-og-sm text-og-fg-muted hover:text-og-fg focus-visible:outline-2 focus-visible:outline-og-accent disabled:opacity-50";
|
|
671
759
|
return /* @__PURE__ */ jsxs2(
|
|
672
760
|
ActivityDisclosure,
|
|
673
761
|
{
|
|
674
|
-
icon: /* @__PURE__ */
|
|
762
|
+
icon: /* @__PURE__ */ jsx3(BrainCircuitIcon, { className: "size-3.5" }),
|
|
675
763
|
iconTone: "muted",
|
|
676
764
|
title: label,
|
|
677
765
|
preview: props.title,
|
|
678
766
|
children: [
|
|
679
|
-
props.outcome === "pending" ? /* @__PURE__ */
|
|
680
|
-
props.outcome === "failed" ? /* @__PURE__ */
|
|
681
|
-
props.outcome === "rejected" ? /* @__PURE__ */
|
|
682
|
-
props.entryId && actions.onInspect ? /* @__PURE__ */
|
|
767
|
+
props.outcome === "pending" ? /* @__PURE__ */ jsx3(BodyNote, { children: t("timeline.knowledgeReceipt.savedInNeedsReviewThis") }) : null,
|
|
768
|
+
props.outcome === "failed" ? /* @__PURE__ */ jsx3(BodyNote, { children: t("timeline.knowledgeReceipt.theOriginalFileRemainsAttached") }) : null,
|
|
769
|
+
props.outcome === "rejected" ? /* @__PURE__ */ jsx3(BodyNote, { children: t("timeline.knowledgeReceipt.processingTheFileAgainLeaves") }) : null,
|
|
770
|
+
props.entryId && actions.onInspect ? /* @__PURE__ */ jsx3(
|
|
683
771
|
"button",
|
|
684
772
|
{
|
|
685
773
|
className: actionClass,
|
|
@@ -688,7 +776,7 @@ function KnowledgeReceiptRow(props) {
|
|
|
688
776
|
children: props.outcome === "pending" ? t("timeline.knowledgeReceipt.reviewInKnowledge") : t("timeline.knowledgeReceipt.viewInKnowledge")
|
|
689
777
|
}
|
|
690
778
|
) : null,
|
|
691
|
-
props.outcome === "failed" && props.fileId && actions.onRetryFile ? /* @__PURE__ */
|
|
779
|
+
props.outcome === "failed" && props.fileId && actions.onRetryFile ? /* @__PURE__ */ jsx3(
|
|
692
780
|
"button",
|
|
693
781
|
{
|
|
694
782
|
className: actionClass,
|
|
@@ -705,100 +793,12 @@ function KnowledgeReceiptRow(props) {
|
|
|
705
793
|
children: retrying ? t("timeline.knowledgeReceipt.startingRetry") : retrySent ? t("timeline.knowledgeReceipt.retryRequested") : t("timeline.knowledgeReceipt.retryPreparation")
|
|
706
794
|
}
|
|
707
795
|
) : null,
|
|
708
|
-
error ? /* @__PURE__ */
|
|
796
|
+
error ? /* @__PURE__ */ jsx3("p", { role: "alert", className: "text-og-sm", children: error }) : null
|
|
709
797
|
]
|
|
710
798
|
}
|
|
711
799
|
);
|
|
712
800
|
}
|
|
713
801
|
|
|
714
|
-
// src/timeline/startup-preference.ts
|
|
715
|
-
import { useSyncExternalStore } from "react";
|
|
716
|
-
var KEY = "opengeni:startup-details:v1";
|
|
717
|
-
var EVENT = "opengeni:startup-details-changed";
|
|
718
|
-
var fallback = false;
|
|
719
|
-
function snapshot() {
|
|
720
|
-
try {
|
|
721
|
-
return window.localStorage.getItem(KEY) === "true";
|
|
722
|
-
} catch {
|
|
723
|
-
return fallback;
|
|
724
|
-
}
|
|
725
|
-
}
|
|
726
|
-
function subscribe(listener) {
|
|
727
|
-
window.addEventListener(EVENT, listener);
|
|
728
|
-
window.addEventListener("storage", listener);
|
|
729
|
-
return () => {
|
|
730
|
-
window.removeEventListener(EVENT, listener);
|
|
731
|
-
window.removeEventListener("storage", listener);
|
|
732
|
-
};
|
|
733
|
-
}
|
|
734
|
-
function setStartupDetails(value) {
|
|
735
|
-
fallback = value;
|
|
736
|
-
try {
|
|
737
|
-
window.localStorage.setItem(KEY, String(value));
|
|
738
|
-
} catch {
|
|
739
|
-
}
|
|
740
|
-
window.dispatchEvent(new Event(EVENT));
|
|
741
|
-
}
|
|
742
|
-
function useStartupDetails() {
|
|
743
|
-
return useSyncExternalStore(subscribe, snapshot, () => false);
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
// src/components/tool-review-history.tsx
|
|
747
|
-
import { createContext as createContext2, useContext as useContext2, useEffect as useEffect2, useMemo, useState as useState3 } from "react";
|
|
748
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
749
|
-
var History = createContext2(null);
|
|
750
|
-
function ToolReviewHistoryProvider({
|
|
751
|
-
events,
|
|
752
|
-
load,
|
|
753
|
-
onViewDetails,
|
|
754
|
-
children
|
|
755
|
-
}) {
|
|
756
|
-
const value = useMemo(
|
|
757
|
-
() => ({
|
|
758
|
-
approvalIds: new Set(
|
|
759
|
-
events.flatMap(
|
|
760
|
-
(event) => event.type === "session.requiresAction" ? approvalsFromRequiresAction(event.payload).map((approval) => approval.id) : []
|
|
761
|
-
)
|
|
762
|
-
),
|
|
763
|
-
revision: [...events].reverse().find(
|
|
764
|
-
(event) => event.type === "session.requiresAction" || event.type === "agent.toolCall.output" || event.type.startsWith("turn.") || event.type === "user.approvalDecision" || event.type.startsWith("session.control.")
|
|
765
|
-
)?.sequence ?? 0,
|
|
766
|
-
load,
|
|
767
|
-
onViewDetails
|
|
768
|
-
}),
|
|
769
|
-
[events, load, onViewDetails]
|
|
770
|
-
);
|
|
771
|
-
return /* @__PURE__ */ jsx3(History.Provider, { value, children });
|
|
772
|
-
}
|
|
773
|
-
function useHasToolReview(approvalId) {
|
|
774
|
-
const history = useContext2(History);
|
|
775
|
-
return Boolean(approvalId && history?.approvalIds.has(approvalId));
|
|
776
|
-
}
|
|
777
|
-
function useRecordedToolReview(approvalId) {
|
|
778
|
-
const history = useContext2(History);
|
|
779
|
-
const [review, setReview] = useState3(null);
|
|
780
|
-
const load = history?.load;
|
|
781
|
-
const revision = history?.revision;
|
|
782
|
-
useEffect2(() => {
|
|
783
|
-
if (!load || !approvalId) return;
|
|
784
|
-
let active = true;
|
|
785
|
-
void load(approvalId).then(
|
|
786
|
-
(value) => {
|
|
787
|
-
if (active && value.id === approvalId) setReview(value);
|
|
788
|
-
},
|
|
789
|
-
() => void 0
|
|
790
|
-
);
|
|
791
|
-
return () => {
|
|
792
|
-
active = false;
|
|
793
|
-
};
|
|
794
|
-
}, [approvalId, load, revision]);
|
|
795
|
-
const onViewDetails = history?.onViewDetails;
|
|
796
|
-
return {
|
|
797
|
-
review: review && review.id === approvalId ? review : null,
|
|
798
|
-
onViewDetails: review && onViewDetails ? (path) => onViewDetails(review, path) : void 0
|
|
799
|
-
};
|
|
800
|
-
}
|
|
801
|
-
|
|
802
802
|
// src/lib/git-patch.ts
|
|
803
803
|
function gitFileDiffToPatch(file) {
|
|
804
804
|
const oldPath = file.oldPath ?? file.path;
|
|
@@ -834,7 +834,7 @@ import {
|
|
|
834
834
|
Suspense,
|
|
835
835
|
useEffect as useEffect3,
|
|
836
836
|
useState as useState4,
|
|
837
|
-
useSyncExternalStore
|
|
837
|
+
useSyncExternalStore
|
|
838
838
|
} from "react";
|
|
839
839
|
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
840
840
|
var LazyPatchDiff = lazy(async () => {
|
|
@@ -864,7 +864,7 @@ function PierreDiff({
|
|
|
864
864
|
query.addEventListener?.("change", update);
|
|
865
865
|
return () => query.removeEventListener?.("change", update);
|
|
866
866
|
}, []);
|
|
867
|
-
const loaderRevision =
|
|
867
|
+
const loaderRevision = useSyncExternalStore(
|
|
868
868
|
subscribePierreDiffs,
|
|
869
869
|
pierreDiffsRevision,
|
|
870
870
|
pierreDiffsRevision
|
|
@@ -2769,6 +2769,38 @@ function createDefaultToolRegistry(options = {}) {
|
|
|
2769
2769
|
return createToolRegistry(BASE_ENTRIES, GenericRenderer, options);
|
|
2770
2770
|
}
|
|
2771
2771
|
|
|
2772
|
+
// src/timeline/startup-preference.ts
|
|
2773
|
+
import { useSyncExternalStore as useSyncExternalStore2 } from "react";
|
|
2774
|
+
var KEY = "opengeni:startup-details:v1";
|
|
2775
|
+
var EVENT = "opengeni:startup-details-changed";
|
|
2776
|
+
var fallback = false;
|
|
2777
|
+
function snapshot() {
|
|
2778
|
+
try {
|
|
2779
|
+
return window.localStorage.getItem(KEY) === "true";
|
|
2780
|
+
} catch {
|
|
2781
|
+
return fallback;
|
|
2782
|
+
}
|
|
2783
|
+
}
|
|
2784
|
+
function subscribe(listener) {
|
|
2785
|
+
window.addEventListener(EVENT, listener);
|
|
2786
|
+
window.addEventListener("storage", listener);
|
|
2787
|
+
return () => {
|
|
2788
|
+
window.removeEventListener(EVENT, listener);
|
|
2789
|
+
window.removeEventListener("storage", listener);
|
|
2790
|
+
};
|
|
2791
|
+
}
|
|
2792
|
+
function setStartupDetails(value) {
|
|
2793
|
+
fallback = value;
|
|
2794
|
+
try {
|
|
2795
|
+
window.localStorage.setItem(KEY, String(value));
|
|
2796
|
+
} catch {
|
|
2797
|
+
}
|
|
2798
|
+
window.dispatchEvent(new Event(EVENT));
|
|
2799
|
+
}
|
|
2800
|
+
function useStartupDetails() {
|
|
2801
|
+
return useSyncExternalStore2(subscribe, snapshot, () => false);
|
|
2802
|
+
}
|
|
2803
|
+
|
|
2772
2804
|
// src/timeline/agent-row.tsx
|
|
2773
2805
|
import { ArrowUpRightIcon, ChevronRightIcon as ChevronRightIcon2 } from "lucide-react";
|
|
2774
2806
|
import { useContext as useContext6, useState as useState8 } from "react";
|
|
@@ -3932,38 +3964,6 @@ var FacetRenderBoundary = class extends Component2 {
|
|
|
3932
3964
|
}
|
|
3933
3965
|
};
|
|
3934
3966
|
|
|
3935
|
-
// src/timeline/retained-loaders.ts
|
|
3936
|
-
function createWorkspaceRetainedArtifactLoader(client, workspaceId) {
|
|
3937
|
-
return async (artifact, signal, options) => {
|
|
3938
|
-
if (artifact.kind === "file" && options?.prefer !== "url") {
|
|
3939
|
-
const download2 = await client.downloadRetainedArtifact(workspaceId, artifact, { signal });
|
|
3940
|
-
return download2.bytes;
|
|
3941
|
-
}
|
|
3942
|
-
const download = await client.createRetainedArtifactDownloadUrl(workspaceId, artifact, {
|
|
3943
|
-
signal
|
|
3944
|
-
});
|
|
3945
|
-
return { url: download.url, expiresAt: download.expiresAt };
|
|
3946
|
-
};
|
|
3947
|
-
}
|
|
3948
|
-
function createSessionRetainedScreenshotLoader(client, workspaceId, sessionId) {
|
|
3949
|
-
return async (artifact, signal) => {
|
|
3950
|
-
const download = await client.downloadRetainedScreenshot(
|
|
3951
|
-
workspaceId,
|
|
3952
|
-
sessionId,
|
|
3953
|
-
artifact.artifactId,
|
|
3954
|
-
{ signal }
|
|
3955
|
-
);
|
|
3956
|
-
if (!download.metadata.available || !download.bytes) return null;
|
|
3957
|
-
if (download.metadata.artifactId !== artifact.artifactId || download.metadata.kind !== artifact.kind || download.metadata.contentType !== artifact.contentType || download.metadata.originalBytes !== artifact.originalBytes || download.metadata.sha256 !== artifact.sha256 || download.metadata.dimensions?.width !== artifact.dimensions?.width || download.metadata.dimensions?.height !== artifact.dimensions?.height) {
|
|
3958
|
-
throw new Error("Retained screenshot receipt verification failed");
|
|
3959
|
-
}
|
|
3960
|
-
return download.bytes;
|
|
3961
|
-
};
|
|
3962
|
-
}
|
|
3963
|
-
function createWorkspaceRetainedVideoLoader(client, workspaceId) {
|
|
3964
|
-
return async (artifactId, signal) => await client.createVideoArtifactPlaybackSource(workspaceId, artifactId, { signal });
|
|
3965
|
-
}
|
|
3966
|
-
|
|
3967
3967
|
// src/timeline/learning-refusal-row.tsx
|
|
3968
3968
|
import { BrainCircuitIcon as BrainCircuitIcon4 } from "lucide-react";
|
|
3969
3969
|
import { createContext as createContext12, useContext as useContext14 } from "react";
|
|
@@ -4010,12 +4010,22 @@ function LearningRefusalRow({ refusal }) {
|
|
|
4010
4010
|
}
|
|
4011
4011
|
|
|
4012
4012
|
export {
|
|
4013
|
+
createWorkspaceRetainedArtifactLoader,
|
|
4014
|
+
createSessionRetainedScreenshotLoader,
|
|
4015
|
+
createWorkspaceRetainedVideoLoader,
|
|
4016
|
+
ToolReviewHistoryProvider,
|
|
4013
4017
|
UNRECOVERABLE_TEXT,
|
|
4014
4018
|
ToolReviewFrame,
|
|
4015
4019
|
DeclineButton,
|
|
4016
4020
|
ToolActionReviewCard,
|
|
4017
4021
|
ToolActionReviewDetails,
|
|
4018
4022
|
KnowledgeActivityProvider,
|
|
4023
|
+
TimelineComputeLabelProvider,
|
|
4024
|
+
ProviderLogoProvider,
|
|
4025
|
+
gitFileDiffToPatch,
|
|
4026
|
+
PierreDiff,
|
|
4027
|
+
defaultToolRegistry,
|
|
4028
|
+
createDefaultToolRegistry,
|
|
4019
4029
|
AgentRow,
|
|
4020
4030
|
AgentRowText,
|
|
4021
4031
|
AgentRowSection,
|
|
@@ -4026,13 +4036,6 @@ export {
|
|
|
4026
4036
|
EMBEDDED_GENIE_LOADING,
|
|
4027
4037
|
setStartupDetails,
|
|
4028
4038
|
useStartupDetails,
|
|
4029
|
-
ToolReviewHistoryProvider,
|
|
4030
|
-
TimelineComputeLabelProvider,
|
|
4031
|
-
ProviderLogoProvider,
|
|
4032
|
-
gitFileDiffToPatch,
|
|
4033
|
-
PierreDiff,
|
|
4034
|
-
defaultToolRegistry,
|
|
4035
|
-
createDefaultToolRegistry,
|
|
4036
4039
|
EntranceAnimationProvider,
|
|
4037
4040
|
useEntranceAnimation,
|
|
4038
4041
|
SeenActivityIdsProvider,
|
|
@@ -4044,10 +4047,7 @@ export {
|
|
|
4044
4047
|
inheritFoldRestingState,
|
|
4045
4048
|
useTurnSettleOpen,
|
|
4046
4049
|
TurnSummary,
|
|
4047
|
-
createWorkspaceRetainedArtifactLoader,
|
|
4048
|
-
createSessionRetainedScreenshotLoader,
|
|
4049
|
-
createWorkspaceRetainedVideoLoader,
|
|
4050
4050
|
LearningRefusalActionsProvider,
|
|
4051
4051
|
LearningRefusalRow
|
|
4052
4052
|
};
|
|
4053
|
-
//# sourceMappingURL=chunk-
|
|
4053
|
+
//# sourceMappingURL=chunk-X7L4H4VG.js.map
|