openpond 0.2.62 → 0.2.63
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/README.md +2 -0
- package/dist/app-server.d.ts +1053 -63
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-DYRBDJRU.js → acp-H3MJCPHX.js} +1 -1
- package/dist/chunks/{acp-agent-UTLP7C3I.js → acp-agent-DWA7272M.js} +1 -1
- package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
- package/dist/chunks/{app-layer-N2H3RBEN.js → app-layer-K7H2WJ56.js} +1 -1
- package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
- package/dist/chunks/app-server-evaluations-XGMGS67X.js +2 -0
- package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
- package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
- package/dist/chunks/apps-QKAHJGQ4.js +2 -0
- package/dist/chunks/chunk-25XXZS3E.js +2 -0
- package/dist/chunks/chunk-27JGS3KB.js +12 -0
- package/dist/chunks/{chunk-7JBB4PXS.js → chunk-2HAWOMZK.js} +1 -1
- package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
- package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
- package/dist/chunks/{chunk-GEKORCMN.js → chunk-42V4NV2F.js} +1 -1
- package/dist/chunks/{chunk-VAJSRUAB.js → chunk-4FNCBA3Y.js} +1 -1
- package/dist/chunks/{chunk-F7D4BMTO.js → chunk-4L6DU6Z2.js} +1 -1
- package/dist/chunks/{chunk-SZKFNKWO.js → chunk-4SZ3HKHU.js} +1 -1
- package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
- package/dist/chunks/chunk-5FU5RLML.js +2 -0
- package/dist/chunks/{chunk-6SH4B7DV.js → chunk-5MHYGMJG.js} +1 -1
- package/dist/chunks/{chunk-MEK7DLX3.js → chunk-6EBCS57F.js} +1 -1
- package/dist/chunks/chunk-6RS4NAOY.js +2 -0
- package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
- package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
- package/dist/chunks/{chunk-P74RR2GB.js → chunk-7WYL2IDD.js} +1 -1
- package/dist/chunks/chunk-7YLXGILH.js +2 -0
- package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
- package/dist/chunks/{chunk-NWOK6NLE.js → chunk-AH26AQN7.js} +1 -1
- package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
- package/dist/chunks/chunk-B5R53U74.js +2 -0
- package/dist/chunks/{chunk-NKZNPTLA.js → chunk-BPZOABMC.js} +1 -1
- package/dist/chunks/{chunk-2IIBCCOK.js → chunk-BSPFY3Y5.js} +1 -1
- package/dist/chunks/{chunk-5OSM75X5.js → chunk-BU27SLZP.js} +2 -2
- package/dist/chunks/chunk-C2AXMKK4.js +2 -0
- package/dist/chunks/{chunk-AMO5DVKM.js → chunk-C2LAEGOW.js} +2 -2
- package/dist/chunks/{chunk-GNCEZ3UP.js → chunk-CZ5R4JXZ.js} +1 -1
- package/dist/chunks/{chunk-JIFUGA3U.js → chunk-DABBHWSF.js} +1 -1
- package/dist/chunks/{chunk-VK4TPZTA.js → chunk-DLANLLKH.js} +1 -1
- package/dist/chunks/{chunk-WGLVSGFA.js → chunk-DQI5TE6A.js} +2 -2
- package/dist/chunks/chunk-DTTFUANI.js +12 -0
- package/dist/chunks/{chunk-4TM75R7V.js → chunk-DUL6DXOI.js} +1 -1
- package/dist/chunks/{chunk-TGEGXTPR.js → chunk-ELX7VRSU.js} +1 -1
- package/dist/chunks/chunk-ERL2M773.js +3 -0
- package/dist/chunks/{chunk-4PZWGNX4.js → chunk-ERT32RZA.js} +4 -4
- package/dist/chunks/{chunk-RTJCELRR.js → chunk-EZRUWIP6.js} +1 -1
- package/dist/chunks/{chunk-LJDBR3RN.js → chunk-F6UQ6PPK.js} +1 -1
- package/dist/chunks/chunk-F7QTIHXX.js +2 -0
- package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
- package/dist/chunks/{chunk-FFWOTZQM.js → chunk-FVRII5XO.js} +1 -1
- package/dist/chunks/{chunk-C7M2WBWZ.js → chunk-FYYYECHE.js} +51 -49
- package/dist/chunks/chunk-G32BO6M5.js +4 -0
- package/dist/chunks/{chunk-NBE74GLF.js → chunk-G6OR5NB6.js} +1 -1
- package/dist/chunks/{chunk-GQGLPKU4.js → chunk-GGJUWIGR.js} +1 -1
- package/dist/chunks/{chunk-VSQXDS6H.js → chunk-GPL2Z65R.js} +1 -1
- package/dist/chunks/{chunk-INO67SEN.js → chunk-GS6ZUSIN.js} +2 -2
- package/dist/chunks/{chunk-47AXSBPV.js → chunk-GVARQXYI.js} +1 -1
- package/dist/chunks/chunk-GXCUH2VV.js +17 -0
- package/dist/chunks/{chunk-OCC43RSJ.js → chunk-GXZCMO6S.js} +1 -1
- package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
- package/dist/chunks/{chunk-HBLN4OLY.js → chunk-HUCBKXTU.js} +1 -1
- package/dist/chunks/{chunk-M5IX6VUA.js → chunk-IHB5GTOJ.js} +2 -2
- package/dist/chunks/{chunk-J3B2GM4A.js → chunk-IWWXIUAQ.js} +1 -1
- package/dist/chunks/chunk-J572ANHX.js +13 -0
- package/dist/chunks/{chunk-AKZPMKWP.js → chunk-J7ZTPXRQ.js} +1 -1
- package/dist/chunks/{chunk-CJUVHE4U.js → chunk-JORRZ4BB.js} +1 -1
- package/dist/chunks/chunk-JSQRLLN6.js +2 -0
- package/dist/chunks/chunk-KCOTDUGW.js +2 -0
- package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.js} +1 -1
- package/dist/chunks/{chunk-LRRBYIGH.js → chunk-LK2K3SPM.js} +2 -2
- package/dist/chunks/{chunk-557XSPVS.js → chunk-LKKMLBOH.js} +1 -1
- package/dist/chunks/{chunk-U456UP3N.js → chunk-LSZJ5M3X.js} +1 -1
- package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
- package/dist/chunks/{chunk-Y2KPHVZK.js → chunk-M3SCON53.js} +1 -1
- package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
- package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
- package/dist/chunks/{chunk-4RZBGKT7.js → chunk-N33D7KCW.js} +1 -1
- package/dist/chunks/chunk-N42HT64M.js +2 -0
- package/dist/chunks/{chunk-SD64CLJX.js → chunk-N4VHLJBZ.js} +1 -1
- package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
- package/dist/chunks/chunk-NG2L6D7G.js +2 -0
- package/dist/chunks/{chunk-GV3LFSMI.js → chunk-NLYZ5K7U.js} +1 -1
- package/dist/chunks/{chunk-F4TJ7WQV.js → chunk-NT7N6KLE.js} +1 -1
- package/dist/chunks/{chunk-PAE3PQEC.js → chunk-NZTCH6K5.js} +1 -1
- package/dist/chunks/{chunk-BEI4YULC.js → chunk-OG33QAG6.js} +1 -1
- package/dist/chunks/chunk-OTUBJV6C.js +6 -0
- package/dist/chunks/{chunk-RH43WLBX.js → chunk-PBTXLQAU.js} +1 -1
- package/dist/chunks/{chunk-3R4MSE2S.js → chunk-QJ6KUVAR.js} +1 -1
- package/dist/chunks/{chunk-7JXZNCBC.js → chunk-QU4UE73E.js} +1 -1
- package/dist/chunks/{chunk-WQMXEZVE.js → chunk-R6VJDOQM.js} +3 -3
- package/dist/chunks/{chunk-FUSCTBJI.js → chunk-R6WMY6AH.js} +1 -1
- package/dist/chunks/{chunk-EIX2V2KU.js → chunk-RDSVU6F6.js} +1 -1
- package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
- package/dist/chunks/{chunk-GW5SE3FM.js → chunk-RZUCVF2Q.js} +1 -1
- package/dist/chunks/{chunk-UC3FXTDL.js → chunk-SFKZITAG.js} +5 -5
- package/dist/chunks/{chunk-5A6ER3M2.js → chunk-SHJY5RLU.js} +1 -1
- package/dist/chunks/chunk-SI5W5LBV.js +2 -0
- package/dist/chunks/chunk-SO42ZB5K.js +2 -0
- package/dist/chunks/{chunk-2UDAKLJ4.js → chunk-TCOTXCV6.js} +1 -1
- package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
- package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
- package/dist/chunks/{chunk-X4ZT22SG.js → chunk-UPWJSNL5.js} +1 -1
- package/dist/chunks/chunk-URNMC46H.js +157 -0
- package/dist/chunks/{chunk-NLQ2UPN2.js → chunk-V7KR74NO.js} +1 -1
- package/dist/chunks/{chunk-HXZXDDKW.js → chunk-VHXDWAEH.js} +1 -1
- package/dist/chunks/{chunk-NE4ESZPT.js → chunk-W2TICQ62.js} +1 -1
- package/dist/chunks/chunk-WP2L2NY2.js +2 -0
- package/dist/chunks/chunk-WSOUMXH3.js +24 -0
- package/dist/chunks/chunk-WWQNMC7C.js +6 -0
- package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
- package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
- package/dist/chunks/{chunk-ZXT7V64X.js → chunk-XOB6FKQV.js} +1 -1
- package/dist/chunks/chunk-Y766IN7Y.js +2 -0
- package/dist/chunks/chunk-YCZZ62C2.js +2 -0
- package/dist/chunks/chunk-YM4PSVFW.js +4 -0
- package/dist/chunks/chunk-YNQWJWIC.js +10 -0
- package/dist/chunks/{chunk-GSWBNJGZ.js → chunk-Z3BWCFLV.js} +1 -1
- package/dist/chunks/{chunk-GOIKLFXK.js → chunk-ZG6353RM.js} +1 -1
- package/dist/chunks/{chunk-T6C5BNXK.js → chunk-ZPTKR3GB.js} +1 -1
- package/dist/chunks/{chunk-MNXNZDDW.js → chunk-ZYVHOVKL.js} +1 -1
- package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
- package/dist/chunks/cli-PSXMIJTF.js +2 -0
- package/dist/chunks/{configuration-command-BU2RPG33.js → configuration-command-XYKMXIWF.js} +1 -1
- package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
- package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
- package/dist/chunks/{connected-starting-assets-V5QXRK5Q.js → connected-starting-assets-JONPTII6.js} +1 -1
- package/dist/chunks/{continual-FLW6DAJK.js → continual-Z7MO2PF6.js} +1 -1
- package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
- package/dist/chunks/datasets-2PC2HP7N.js +2 -0
- package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
- package/dist/chunks/dist-47AYOIH6.js +2 -0
- package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
- package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
- package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
- package/dist/chunks/experiments-SZQYR6MH.js +2 -0
- package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
- package/dist/chunks/{help-PXUUREHZ.js → help-7HXFWIKS.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
- package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
- package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
- package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
- package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-2LSMZQNA.js +3 -0
- package/dist/chunks/{hosted-tasksets-X2YCFYEJ.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
- package/dist/chunks/human-review-M26UKGJL.js +2 -0
- package/dist/chunks/{import-JWZSZCE4.js → import-6SI4BEKS.js} +2 -2
- package/dist/chunks/learning-HM3NWOV5.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
- package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
- package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
- package/dist/chunks/opchat-AG4CWVY4.js +3 -0
- package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
- package/dist/chunks/organizations-KDKX77XZ.js +2 -0
- package/dist/chunks/{profile-ELE2D7HU.js → profile-O5HL5DTQ.js} +1 -1
- package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
- package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
- package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
- package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
- package/dist/chunks/{runtime-776NUSE7.js → runtime-XBA744HJ.js} +2 -2
- package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
- package/dist/chunks/{sandbox-template-WP6YCGBK.js → sandbox-template-27U3FQN7.js} +1 -1
- package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
- package/dist/chunks/{send-turn-RPB65PME.js → send-turn-FIPWOXWV.js} +1 -1
- package/dist/chunks/src-BLWX6DRG.js +424 -0
- package/dist/chunks/{src-2R4CMCJ5.js → src-PU7QTFO5.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
- package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-R62D2HD6.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
- package/dist/chunks/{store-conversation-serving-25O7BAR2.js → store-conversation-serving-K324SQTO.js} +1 -1
- package/dist/chunks/{store-create-improve-T5E2GUKK.js → store-create-improve-3LQMIYAP.js} +1 -1
- package/dist/chunks/{store-datasets-5Y4U5L3R.js → store-datasets-3KSX7RSO.js} +1 -1
- package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
- package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
- package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
- package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
- package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
- package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
- package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
- package/dist/chunks/{store-local-experiments-LOH4F4TF.js → store-local-experiments-QTVHJAEP.js} +1 -1
- package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
- package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
- package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
- package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
- package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
- package/dist/chunks/{store-preference-comparison-RNIFLJRW.js → store-preference-comparison-DWV5XSMY.js} +1 -1
- package/dist/chunks/{store-schedules-DVQ2PP4F.js → store-schedules-2KUY4T6M.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-LXWFFYCZ.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-4HH7LX6N.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
- package/dist/chunks/{store-subagents-JLW4GD4Q.js → store-subagents-UGVEFA6M.js} +1 -1
- package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
- package/dist/chunks/{store-task-inventory-NJXRXFLC.js → store-task-inventory-GEQIZELY.js} +1 -1
- package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
- package/dist/chunks/{store-training-VRLU6NFX.js → store-training-CQV7PL3V.js} +1 -1
- package/dist/chunks/{store-training-jobs-3ZHG4LGI.js → store-training-jobs-XKN6K66J.js} +18 -10
- package/dist/chunks/{store-training-models-KWQD5PRP.js → store-training-models-Q7DTTR4S.js} +1 -1
- package/dist/chunks/{store-usage-ZRS3ILF2.js → store-usage-XGAX7NLB.js} +1 -1
- package/dist/chunks/{taskset-QDMCQQDJ.js → taskset-ARKJQKYQ.js} +1 -1
- package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
- package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
- package/dist/chunks/{teams-bot-GF272RGC.js → teams-bot-UTQAJA6H.js} +1 -1
- package/dist/chunks/training-3IWW4256.js +2 -0
- package/dist/chunks/{training-DF5UEPY3.js → training-RVIESURJ.js} +1 -1
- package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
- package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
- package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
- package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
- package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
- package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
- package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
- package/dist/chunks/{web-search-5RUXYIOF.js → web-search-7FBUBZ66.js} +1 -1
- package/dist/chunks/{workspaces-JRY2IE7H.js → workspaces-G3CMY7ZA.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sandbox/url.d.ts +3 -1
- package/dist/skills/LICENSE +21 -0
- package/dist/skills/manifest.json +168 -0
- package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
- package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
- package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
- package/dist/skills/openpond-cli/SKILL.md +11 -7
- package/dist/skills/openpond-cli/references/experiments-and-training.md +1 -1
- package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
- package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
- package/dist/web/assets/App-DY2R8Z6r.js +53 -0
- package/dist/web/assets/{AppDialog-BurL61qE.js → AppDialog-8Y0FYalT.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
- package/dist/web/assets/{AppToastContext-DZLErwj0.js → AppToastContext-BiQbbVxq.js} +1 -1
- package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-CpMSfHCK.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
- package/dist/web/assets/{CartesianChart-CEbM980A.js → CartesianChart-J4ChOjvG.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
- package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
- package/dist/web/assets/{CollaborationTabs-DrKJmJZK.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
- package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
- package/dist/web/assets/{CommunityView-BzpIq1lD.js → CommunityView-Okydjpqm.js} +1 -1
- package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
- package/dist/web/assets/{ComposerCreateImproveStrip-ChplO9YP.js → ComposerCreateImproveStrip-CSngc8-V.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-DRHgc7j_.js → ConversationImportsSettings-DS73kyfj.js} +1 -1
- package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
- package/dist/web/assets/{GetStartedView-CaBk_mX6.js → GetStartedView-DGFPQ1We.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-JtFLyU3F.js → GettingStartedDialog-DFBYQdHz.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-hhcjDifK.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-CY8198Y1.js → HostedModelLearningSettings-CHaTHwC8.js} +1 -1
- package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
- package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
- package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-HibUEEko.js → LabSkillSidebar-BwtlThO7.js} +1 -1
- package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
- package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
- package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
- package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
- package/dist/web/assets/{NewProjectDialog-t9Imnb__.js → NewProjectDialog-CjrjgkTN.js} +1 -1
- package/dist/web/assets/{OutputsPage-CeGq_F1S.js → OutputsPage-jzx93QQ3.js} +1 -1
- package/dist/web/assets/{PageChrome-VHME5V8j.js → PageChrome-C1M13qG2.js} +1 -1
- package/dist/web/assets/{ProjectsPage-2TMZoEPB.js → ProjectsPage-DZrjlMp2.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
- package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
- package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
- package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
- package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
- package/dist/web/assets/{TerminalOverlay-DlhRpi-X.js → TerminalOverlay-d7A2F9Lx.js} +2 -2
- package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-BhhZPPuY.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
- package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
- package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
- package/dist/web/assets/{UsageSettingsSection-DTZslBeW.js → UsageSettingsSection-FhYymrfc.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
- package/dist/web/assets/{WorkspaceFileLocation-ChEeZffU.js → WorkspaceFileLocation-LrEWj4UK.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-D_RUXhTi.js → WorkspaceGitDialogs-NRIMXnkS.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-BJxaiDrj.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
- package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
- package/dist/web/assets/{WorkspacePresentationPreview-A28Poeca.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
- package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
- package/dist/web/assets/bot-6OhUEmkE.js +1 -0
- package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
- package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
- package/dist/web/assets/{chevron-down-dYn0pd4Q.js → chevron-down-jmVA1BIf.js} +1 -1
- package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
- package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
- package/dist/web/assets/{chunk-ZFYI4P6C-BmsNtSkR.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
- package/dist/web/assets/{chunk-BYNVSWIQ-DWh9SmdB.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
- package/dist/web/assets/{client-choice-storage-DTTLbrYt.js → client-choice-storage-BdQ_YDuk.js} +1 -1
- package/dist/web/assets/{cloud-upload-CRMPCFnq.js → cloud-upload-Ck1ufAr8.js} +1 -1
- package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
- package/dist/web/assets/{copy-DR4ielPn.js → copy-CPkbMfXt.js} +1 -1
- package/dist/web/assets/{createLucideIcon-DmttVQ_a.js → createLucideIcon-CXQny8HU.js} +1 -1
- package/dist/web/assets/{cssMode-d-2GuNvW.js → cssMode-CYxYl_om.js} +1 -1
- package/dist/web/assets/{external-link-B4rPiZEp.js → external-link-CDKOLG_v.js} +1 -1
- package/dist/web/assets/{folder-open-BrIUcUk_.js → folder-open-CEtOb_lK.js} +1 -1
- package/dist/web/assets/{folder-plus-DwImGEt-.js → folder-plus-CVMYZs3e.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-Ds1mkrlW.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
- package/dist/web/assets/{htmlMode-s15GR0Fn.js → htmlMode-DoY4V_j0.js} +1 -1
- package/dist/web/assets/icons-D7jkCa2d.js +1 -0
- package/dist/web/assets/{image-CY-sHbfQ.js → image-B-PjDSwU.js} +1 -1
- package/dist/web/assets/{index-DYrLeSyY.js → index-D9WbJMSq.js} +2 -2
- package/dist/web/assets/index-g7UqJhnX.css +1 -0
- package/dist/web/assets/{info-aSvM8YlJ.js → info-CCnw-K3b.js} +1 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
- package/dist/web/assets/{jsonMode-vos9H2hz.js → jsonMode-CeOpZdPj.js} +1 -1
- package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-pQmEaoMt.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
- package/dist/web/assets/{maximize-2-DgF6ZVOM.js → maximize-2-BZX38cpr.js} +1 -1
- package/dist/web/assets/message-square-CvgSecgD.js +1 -0
- package/dist/web/assets/{monaco.contribution-BPwsKvRB.js → monaco.contribution-CF2JDhi4.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CJlccVX3.js → monaco.contribution-cbDqt48m.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BbMpa0_-.js → monaco.contribution-m2ze2EsL.js} +2 -2
- package/dist/web/assets/{monaco.contribution-pWurLXbm.js → monaco.contribution-yeyow_-Q.js} +2 -2
- package/dist/web/assets/{monitor-DlEV241C.js → monitor-By0s4hxb.js} +1 -1
- package/dist/web/assets/{paperclip-fnRZSIRc.js → paperclip-BJ2QgJLa.js} +1 -1
- package/dist/web/assets/{pdf-CT3zVKCE.js → pdf-C4x-1jjP.js} +1 -1
- package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
- package/dist/web/assets/play-D_SuGDBM.js +1 -0
- package/dist/web/assets/plus-yw95Iaj8.js +1 -0
- package/dist/web/assets/{presentation-Bb8ecExR.js → presentation-I86G1Gd9.js} +1 -1
- package/dist/web/assets/{python-DXA1xp0A.js → python-CqFTPj8r.js} +1 -1
- package/dist/web/assets/{refresh-cw-B53QjxMO.js → refresh-cw-Dga35Eay.js} +1 -1
- package/dist/web/assets/requests-BCbaFiqV.js +1 -0
- package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
- package/dist/web/assets/{save-V1Q4Fcqa.js → save-BLKjYtzR.js} +1 -1
- package/dist/web/assets/settings-D7C-Auyi.js +21 -0
- package/dist/web/assets/{settings-lists-CtH1A57b.js → settings-lists-DMKA1lCN.js} +5 -5
- package/dist/web/assets/square-BY5lG2Ol.js +1 -0
- package/dist/web/assets/{square-terminal-Dmgkm5zY.js → square-terminal-B-n7vUex.js} +1 -1
- package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
- package/dist/web/assets/{toggleHighContrast-B-BD2K2Q.js → toggleHighContrast-BhmBE5XE.js} +1 -1
- package/dist/web/assets/training-QrdkRQZQ.js +2 -0
- package/dist/web/assets/{training-model-data-14942K_Z.js → training-model-data-DB-jg6L_.js} +12 -12
- package/dist/web/assets/{tsMode-DdgIcxK3.js → tsMode-BSWEII2p.js} +1 -1
- package/dist/web/assets/{upload-82Y6RjLi.js → upload-C4MPhQn8.js} +1 -1
- package/dist/web/assets/{useAccountSettings-BgHXNpq_.js → useAccountSettings-9oqWdRLs.js} +1 -1
- package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-CsKv22Hs.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
- package/dist/web/assets/{useQuery-CPC2wsWm.js → useQuery-BD0Uexmh.js} +1 -1
- package/dist/web/assets/{wifi-off-DXOoDN9l.js → wifi-off-Cloe0WuQ.js} +1 -1
- package/dist/web/assets/{workers-Clf4hKt5.js → workers-BXagz5eg.js} +1 -1
- package/dist/web/assets/x-Dqpel42h.js +1 -0
- package/dist/web/assets/{yaml-I1tf8Uxx.js → yaml-sBdvVbCc.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +22 -4
- package/package.json +5 -2
- package/dist/chunks/actions-command-6LF4Z4WK.js +0 -2
- package/dist/chunks/app-server-connected-apps-3T546FE7.js +0 -2
- package/dist/chunks/app-server-evaluations-TXD747QA.js +0 -2
- package/dist/chunks/app-server-harness-services-BBCDV5P3.js +0 -2
- package/dist/chunks/app-server-runtime-VEJPDAFP.js +0 -2
- package/dist/chunks/apps-CTT2XYRR.js +0 -2
- package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
- package/dist/chunks/chunk-4U2FNXQW.js +0 -2
- package/dist/chunks/chunk-547AUVKN.js +0 -2
- package/dist/chunks/chunk-557YG77L.js +0 -2
- package/dist/chunks/chunk-7KTARW23.js +0 -2
- package/dist/chunks/chunk-B42QQUZY.js +0 -2
- package/dist/chunks/chunk-EWOTDVDJ.js +0 -4
- package/dist/chunks/chunk-GAQLXFOT.js +0 -2
- package/dist/chunks/chunk-GLDYJM7O.js +0 -1
- package/dist/chunks/chunk-HKV7RX5E.js +0 -2
- package/dist/chunks/chunk-IWK3RTLR.js +0 -2
- package/dist/chunks/chunk-JX6OX6XE.js +0 -12
- package/dist/chunks/chunk-JY3YSI54.js +0 -2
- package/dist/chunks/chunk-LILXHGIA.js +0 -2
- package/dist/chunks/chunk-LJPO3TEL.js +0 -17
- package/dist/chunks/chunk-MNFW5WLD.js +0 -6
- package/dist/chunks/chunk-N5GPINVP.js +0 -2
- package/dist/chunks/chunk-N663LL27.js +0 -2
- package/dist/chunks/chunk-NOSBNHGC.js +0 -18
- package/dist/chunks/chunk-NR5VASQB.js +0 -2
- package/dist/chunks/chunk-O3MHHGC5.js +0 -151
- package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
- package/dist/chunks/chunk-PGO4FRHU.js +0 -10
- package/dist/chunks/chunk-QAVQJZCM.js +0 -2
- package/dist/chunks/chunk-RBDUMASL.js +0 -2
- package/dist/chunks/chunk-TM4VEMNN.js +0 -2
- package/dist/chunks/chunk-TUCKED4T.js +0 -4
- package/dist/chunks/chunk-TVTFEGTU.js +0 -2
- package/dist/chunks/chunk-TW3SRBLU.js +0 -22
- package/dist/chunks/chunk-UT6F6AIB.js +0 -12
- package/dist/chunks/chunk-VE6ZIGUQ.js +0 -2
- package/dist/chunks/chunk-VI32G77S.js +0 -2
- package/dist/chunks/chunk-VWRTE64Y.js +0 -2
- package/dist/chunks/chunk-XSB3T4JZ.js +0 -5
- package/dist/chunks/chunk-XWDFXM3S.js +0 -2
- package/dist/chunks/chunk-ZQHPGEYT.js +0 -2
- package/dist/chunks/cli-GCSO2OAI.js +0 -2
- package/dist/chunks/connected-app-executor-UDE7U4KG.js +0 -2
- package/dist/chunks/connected-evidence-GXIY2L7C.js +0 -2
- package/dist/chunks/core-commands-NJ6TGND4.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-IUXUQK3L.js +0 -4
- package/dist/chunks/datasets-AH56DKLZ.js +0 -2
- package/dist/chunks/desktop-test-PYUTEOWO.js +0 -3
- package/dist/chunks/dist-5267UT3V.js +0 -2
- package/dist/chunks/evaluation-coordination-3AUICOC5.js +0 -2
- package/dist/chunks/experiment-improvements-YS7GGPDW.js +0 -2
- package/dist/chunks/experiments-EJZK7FPT.js +0 -2
- package/dist/chunks/experiments-signal-NKUIJCIY.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +0 -2
- package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +0 -2
- package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +0 -3
- package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +0 -2
- package/dist/chunks/hosted-profile-candidate-DKEMVIYG.js +0 -3
- package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-ERCXAPZD.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-Q3AIIIB6.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +0 -3
- package/dist/chunks/human-review-5WM6MSON.js +0 -2
- package/dist/chunks/learning-KVLTMRLD.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +0 -2
- package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +0 -2
- package/dist/chunks/model-projects-H22KENI4.js +0 -2
- package/dist/chunks/opchat-3S6TSDZO.js +0 -3
- package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +0 -2
- package/dist/chunks/organizations-62YNTZTO.js +0 -2
- package/dist/chunks/project-action-payload-32F4X2BB.js +0 -2
- package/dist/chunks/project-agent-O4REKO6T.js +0 -2
- package/dist/chunks/published-experiment-source-DAOTJLIN.js +0 -2
- package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +0 -2
- package/dist/chunks/sandbox-command-UQ26NDIX.js +0 -2
- package/dist/chunks/saved-work-PG52WCRQ.js +0 -2
- package/dist/chunks/src-AU6LG7E6.js +0 -421
- package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +0 -2
- package/dist/chunks/store-chat-resources-T4LR7K25.js +0 -2
- package/dist/chunks/store-evaluation-results-WUVJWCFU.js +0 -7
- package/dist/chunks/store-harness-workspaces-IFEFY5CK.js +0 -2
- package/dist/chunks/store-human-review-ZQNLZRGG.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +0 -2
- package/dist/chunks/store-model-batch-review-QO4VVKWC.js +0 -2
- package/dist/chunks/store-model-configuration-C3HSOFD5.js +0 -3
- package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +0 -2
- package/dist/chunks/store-task-inbox-DL5RYFPO.js +0 -33
- package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +0 -9
- package/dist/chunks/taskset-packages-CBLJFWDQ.js +0 -2
- package/dist/chunks/training-error-L5V5IBX3.js +0 -2
- package/dist/chunks/training-hosted-I2NDBYGS.js +0 -2
- package/dist/chunks/training-hosted-report-4F25RZZ4.js +0 -2
- package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
- package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
- package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
- package/dist/web/assets/App-DHJVXTI2.js +0 -54
- package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +0 -2
- package/dist/web/assets/AppsView-ttlr9ckQ.js +0 -1
- package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +0 -1
- package/dist/web/assets/ChatTimelineEntry-BITv20Ze.js +0 -1
- package/dist/web/assets/CommandMenu-6oj8FUr6.js +0 -1
- package/dist/web/assets/ComposerAttachments-6en7m_ov.js +0 -2
- package/dist/web/assets/FilePagePreview-CW4J_1u7.js +0 -2
- package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +0 -1
- package/dist/web/assets/LabsRoute-B61l1b8P.js +0 -101
- package/dist/web/assets/MainChatThread-egKi0gLk.js +0 -2
- package/dist/web/assets/MainPane-2dj6Dg4l.js +0 -95
- package/dist/web/assets/MainPane-BwHw3UYp.css +0 -1
- package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +0 -2
- package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +0 -1
- package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +0 -1
- package/dist/web/assets/SettingsView-D2bu3tK_.js +0 -5
- package/dist/web/assets/TeamChatView-CN17AsgA.js +0 -1
- package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +0 -1
- package/dist/web/assets/TrainingMetricWorkbench-DBy8F1xp.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +0 -35
- package/dist/web/assets/app-models-BviS9b7U.js +0 -1
- package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
- package/dist/web/assets/chat-resources-3SvnVeKv.js +0 -1
- package/dist/web/assets/chevron-right-sFx2xRvT.js +0 -1
- package/dist/web/assets/contracts-BHTOD1nd.js +0 -1
- package/dist/web/assets/icons-CK5-nxVC.js +0 -1
- package/dist/web/assets/index-Dezj4Z2p.css +0 -1
- package/dist/web/assets/loader-circle-cyf35w3i.js +0 -1
- package/dist/web/assets/play-wI_3FLr4.js +0 -1
- package/dist/web/assets/plus-DoJe4fLj.js +0 -1
- package/dist/web/assets/settings-BKmRueaw.js +0 -21
- package/dist/web/assets/square-BqSK-hv9.js +0 -1
- package/dist/web/assets/submit-issue-command-DRgUboVW.js +0 -3
- package/dist/web/assets/training-managed-adapter-BXNwgd3P.js +0 -1
- package/dist/web/assets/useAgentInventory-B-LNn3up.js +0 -1
- package/dist/web/assets/x-IPhrr4ju.js +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CommandMenu-EPPjB14H.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-D9WbJMSq.js","assets/index-g7UqJhnX.css","assets/app-models-CUA9XB9U.js","assets/settings-D7C-Auyi.js","assets/schemas-lO3MoWQr.js","assets/common-BMjyKlX-.js","assets/icons-D7jkCa2d.js","assets/message-square-CvgSecgD.js","assets/createLucideIcon-CXQny8HU.js","assets/CommandMenu-CiQVR7W9.css","assets/SettingsView-CckoIki3.js","assets/client-choice-storage-BdQ_YDuk.js","assets/api-client-Dgz-fOMl.js","assets/WorkspaceDiffPanel-B5rlW7bA.js","assets/useQuery-BD0Uexmh.js","assets/create-pipeline-CyUZrbbO.js","assets/query-scope-BRpcgljO.js","assets/training-model-data-DB-jg6L_.js","assets/copy-CPkbMfXt.js","assets/x-Dqpel42h.js","assets/chevron-up-CstyLXH3.js","assets/folder-open-CEtOb_lK.js","assets/info-CCnw-K3b.js","assets/loader-circle-CPaJeTDy.js","assets/maximize-2-BZX38cpr.js","assets/plus-yw95Iaj8.js","assets/refresh-cw-Dga35Eay.js","assets/save-BLKjYtzR.js","assets/AppToastContext-BiQbbVxq.js","assets/WorkspaceFileLocation-LrEWj4UK.js","assets/chevron-right-BYmDQ7ti.js","assets/ponder-desktop-Dm7tOkKo.js","assets/wifi-off-Cloe0WuQ.js","assets/bot-6OhUEmkE.js","assets/chevron-down-jmVA1BIf.js","assets/cloud-upload-Ck1ufAr8.js","assets/external-link-CDKOLG_v.js","assets/folder-plus-CVMYZs3e.js","assets/git-commit-horizontal-DDyhPjxS.js","assets/settings-lists-DMKA1lCN.js","assets/NativeSetupTerminal-CPDChcMi.js","assets/AppDialog-8Y0FYalT.js","assets/PageChrome-C1M13qG2.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/settings-lists-CBaz4cGG.css","assets/play-D_SuGDBM.js","assets/organization-types-PP-yuR2J.js","assets/useAccountSettings-9oqWdRLs.js","assets/useLocalAgentSchedules-CZX6PxoK.js","assets/SettingsView-Cc0376pY.css","assets/settings-forms-DLe1dTYN.css","assets/NewProjectDialog-CjrjgkTN.js","assets/monitor-By0s4hxb.js","assets/WorkspaceGitDialogs-NRIMXnkS.js","assets/upload-C4MPhQn8.js","assets/WorkspaceEnvironmentMenu-C8y3537a.js","assets/square-BY5lG2Ol.js","assets/square-terminal-B-n7vUex.js","assets/ui-theme.generated-D-mc26qt.js","assets/WorkspaceEnvironmentMenu-Cp0fstH2.css","assets/MainPane-6OlLiKKb.js","assets/requests-BCbaFiqV.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/ComposerAttachments-RXCiE88M.js","assets/AttachmentTypeIcon-DgADV7dn.js","assets/presentation-I86G1Gd9.js","assets/image-B-PjDSwU.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BLiqJxBv.js","assets/training-QrdkRQZQ.js","assets/chunk-ONGOAEY6-C__DQmRT.js","assets/reward-checks-Bcq9ETCA.js","assets/chat-resources-CI8KFVO5.js","assets/TrainingRunLineage-VcKz7dIR.js","assets/CartesianChart-J4ChOjvG.js","assets/models-route-Bl_TmMl6.js","assets/TrainingRunLineage-PXzWR65d.css","assets/submit-issue-command-B7Hrt2tU.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-ZyYiYBBd.js","assets/browser-url-LACq2Ngu.js","assets/paperclip-BJ2QgJLa.js","assets/MainPane-Dje-hfUM.css","assets/GettingStartedDialog-DFBYQdHz.js","assets/GettingStartedDialog-EsH-8Diz.css","assets/TerminalOverlay-d7A2F9Lx.js","assets/TerminalOverlay-DoUFGstN.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e,t}from"./rolldown-runtime-Dd_uD5pT.js";import{c as n,g as r,h as i,m as a,n as o,p as s,s as c,t as l}from"./index-D9WbJMSq.js";import{C as u,T as d,_ as f,b as p,c as m,d as h,f as g,g as _,h as v,i as y,l as b,m as x,p as S,s as C,t as w,u as T,v as E,w as D,y as O}from"./useQuery-BD0Uexmh.js";import{a as k,b as A,c as j,d as M,g as ee,i as N,l as te,m as P,o as F,p as I,r as L,v as R,w as z,x as B}from"./schemas-lO3MoWQr.js";import{d as V}from"./common-BMjyKlX-.js";import{A as H,d as ne,l as re,o as ie,s as ae,t as oe,u as se,w as ce,x as le}from"./settings-D7C-Auyi.js";import{a as ue,n as de,o as fe,r as pe,t as me}from"./client-choice-storage-BdQ_YDuk.js";import{A as he,C as ge,D as _e,E as U,M as ve,O as ye,S as be,T as xe,_ as Se,b as Ce,f as we,h as Te,j as Ee,l as De,m as Oe,p as ke,u as Ae,w as W,x as je,y as Me}from"./app-models-CUA9XB9U.js";import{a as Ne,n as Pe,r as Fe,t as G}from"./requests-BCbaFiqV.js";import{t as Ie}from"./create-pipeline-CyUZrbbO.js";import{t as Le}from"./profile-ref-DSNkG6Ol.js";import{D as Re,F as ze,I as Be,L as Ve,P as He,V as Ue,d as We}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{t as Ge}from"./work-outputs-CK0nHe4g.js";import{P as Ke,c as qe,f as Je,h as Ye,l as Xe,o as Ze,p as Qe,r as $e}from"./contracts-BLiqJxBv.js";import{V as et,d as tt,l as nt}from"./training-QrdkRQZQ.js";import{a as rt,i as it,n as at,o as ot,r as st,s as ct,t as lt}from"./intake-contracts-BW0Y0C2R.js";import{c as ut,m as dt,n as ft}from"./chat-resources-CI8KFVO5.js";import{D as pt,S as mt,X as ht,a as gt,c as _t,et as vt,h as yt,nt as bt,r as K,s as xt,z as St}from"./chunk-ONGOAEY6-C__DQmRT.js";import{n as Ct,t as wt}from"./ponder-desktop-Dm7tOkKo.js";import{a as Tt,c as Et,d as Dt,i as Ot,l as kt,n as q,r as At,u as jt}from"./api-client-Dgz-fOMl.js";import{C as Mt,E as Nt,F as Pt,I as Ft,L as It,M as Lt,N as Rt,O as zt,P as Bt,T as Vt,b as Ht,d as Ut,h as Wt,i as Gt,j as Kt,k as qt,n as Jt,o as Yt,u as Xt,v as Zt,x as Qt,y as $t}from"./submit-issue-command-B7Hrt2tU.js";import{a as en,c as tn,i as nn,l as rn,n as an,o as on,r as sn,s as cn,t as ln,u as un}from"./browser-sidebar-links-ZyYiYBBd.js";import{t as dn}from"./query-scope-BRpcgljO.js";import"./icons-D7jkCa2d.js";import{t as J}from"./createLucideIcon-CXQny8HU.js";import{t as fn}from"./bot-6OhUEmkE.js";import{t as pn}from"./chevron-down-jmVA1BIf.js";import{t as mn}from"./chevron-right-BYmDQ7ti.js";import{t as hn}from"./copy-CPkbMfXt.js";import{t as gn}from"./external-link-CDKOLG_v.js";import{t as _n}from"./loader-circle-CPaJeTDy.js";import{t as vn}from"./maximize-2-BZX38cpr.js";import{t as yn}from"./message-square-CvgSecgD.js";import{t as bn}from"./plus-yw95Iaj8.js";import{t as xn}from"./refresh-cw-Dga35Eay.js";import{t as Sn}from"./square-terminal-B-n7vUex.js";import{t as Cn}from"./x-Dqpel42h.js";import{a as wn,i as Tn,n as En,r as Dn,t as On}from"./AppToastContext-BiQbbVxq.js";import{a as kn,i as An,n as jn,r as Mn,s as Nn,t as Pn}from"./models-route-Bl_TmMl6.js";import{t as Fn}from"./NativeSetupTerminal-CPDChcMi.js";import{a as In,i as Ln,t as Rn}from"./PageChrome-C1M13qG2.js";import{t as zn}from"./AppDialog-8Y0FYalT.js";import{a as Bn,i as Vn,o as Hn,r as Un,s as Wn,t as Gn}from"./organization-types-PP-yuR2J.js";import{a as Kn,d as qn,f as Jn,n as Yn,u as Xn}from"./connected-app-mentions-D3wRZLwI.js";import{t as Zn}from"./ui-theme.generated-D-mc26qt.js";var Qn=class extends C{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||$n(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=m({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),T.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function $n(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var er=class extends g{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new Qn({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=tr(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=tr(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=tr(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=tr(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){T.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_(t,e))}findAll(e={}){return this.getAll().filter(t=>_(e,t))}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return T.batch(()=>Promise.all(e.map(e=>e.continue().catch(E))))}};function tr(e){return e.options.scope?.id}var nr=class extends g{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??v(r,t),a=this.get(i);return a||(a=new y({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){T.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>f(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>f(e,t)):t}notify(e){T.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){T.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){T.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},rr=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new nr,this.#t=e.mutationCache||new er,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=h.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=b.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(p(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=S(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return T.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;T.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return T.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=T.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(E).catch(E)}invalidateQueries(e,t={}){return T.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=T.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(E)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(E)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(p(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(p(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(E).catch(E)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(E).catch(E)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return b.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(x(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{O(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(x(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{O(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=v(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===u&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function ir(e){return e}function ar(){return new rr({defaultOptions:{queries:{staleTime:6e4,gcTime:9e5,retry:1,refetchOnWindowFocus:!1}}})}var or=P({id:R().trim().min(1).max(80),label:R().trim().min(1).max(160),description:R().trim().max(500).nullable().optional().default(null)}),sr=P({id:R().trim().min(1),sessionId:R().trim().min(1),turnId:R().trim().min(1),toolCallId:R().trim().min(1),question:R().trim().min(1).max(2e3),reason:R().trim().max(1e3).nullable().optional().default(null),options:k(or).max(5).default([]),allowFreeform:F().default(!0),status:L([`pending`,`answered`,`dismissed`]),answer:P({optionId:R().trim().min(1).nullable(),text:R().max(4e3)}).nullable(),createdAt:R(),answeredAt:R().nullable()}),cr=P({questionId:R().trim().min(1),action:L([`answer`,`dismiss`]),optionId:R().trim().min(1).nullable().optional().default(null),text:R().trim().max(4e3).optional().default(``)}),lr=`https://openpond.ai`,ur=[`slack`,`google`,`github`,`turnkey`,`x`,`microsoft_teams`,`mcp`],dr={slack:[Cr(`slack.channel.bind`,`Bind channels`,`Bind Slack channels or threads to OpenPond profiles.`,`setup`,!1),Cr(`slack.message.ingest`,`Ingest messages`,`Ingest Slack channel or thread activity into OpenPond context.`,`setup`,!1)],microsoft_teams:[Cr(`microsoft_teams.channel.bind`,`Bind channels`,`Bind Teams channels or chats to OpenPond profiles.`,`setup`,!1),Cr(`microsoft_teams.message.ingest`,`Ingest messages`,`Ingest Teams channel or chat activity into OpenPond context.`,`setup`,!1)],google:[Cr(`google.drive.file.read`,`Read Drive files`,`Find and read Google Drive files.`,`read`,!0),Cr(`google.drive.file.write`,`Write Drive files`,`Create or update approved Google Drive files.`,`write`,!0),Cr(`google.docs.read`,`Read Docs`,`Read Google Docs content and structure.`,`read`,!0),Cr(`google.docs.write`,`Edit Docs`,`Apply approved Google Docs edits.`,`write`,!0),Cr(`google.comments.read`,`Read comments`,`Read Google file comments.`,`read`,!0),Cr(`google.comments.write`,`Write comments`,`Create or resolve approved Google comments.`,`write`,!0)],github:[Cr(`github.repo.read`,`Read repositories`,`Read repository metadata and file context.`,`read`,!0),Cr(`github.issue.read`,`Read issues`,`Read GitHub issues and comments.`,`read`,!0),Cr(`github.issue.write`,`Update issues`,`Create or update approved GitHub issue content.`,`write`,!0),Cr(`github.pull_request.read`,`Read pull requests`,`Read pull request metadata, diffs, checks, and reviews.`,`read`,!0),Cr(`github.pull_request.write`,`Update pull requests`,`Create approved comments or pull request updates.`,`write`,!0)],turnkey:[Cr(`turnkey.wallets.read`,`Read Agent Wallet`,`Read the connected OpenPond Agent Wallet address and metadata.`,`read`,!0),Cr(`turnkey.balances.read`,`Read wallet balances`,`Read balances for the connected OpenPond Agent Wallet.`,`read`,!0),Cr(`turnkey.activities.read`,`Read wallet activity`,`Read recent Turnkey activity for the connected OpenPond Agent Wallet.`,`read`,!0)],x:[Cr(`x.profile.read`,`Read profile`,`Read the connected X profile.`,`read`,!0),Cr(`x.search.read`,`Search X`,`Search public X posts when granted.`,`read`,!0),Cr(`x.mentions.read`,`Read mentions`,`Read mentions for the connected X account.`,`read`,!0),Cr(`x.post.write`,`Post`,`Create approved X posts.`,`write`,!0),Cr(`x.reply.write`,`Reply`,`Create approved X replies.`,`write`,!0)],mcp:[Cr(`mcp.tool.discover`,`Discover tools`,`Discover team-scoped MCP tools.`,`tooling`,!1),Cr(`mcp.tool.call`,`Call tools`,`Call approved MCP tools through the team endpoint.`,`tooling`,!1)]},fr={slack:[],microsoft_teams:[],google:[Tr(`google.drive.search`,`search`,`Search Drive`,`Search Google Drive files by grounded query.`,[`google.drive.file.read`]),Tr(`google.drive.read_file`,`read`,`Read Drive file`,`Read Drive file metadata or exported content by stable ref.`,[`google.drive.file.read`],{requiredKeys:[`ref`]}),Tr(`google.docs.read`,`read`,`Read Google Doc`,`Read Google Docs content and structure by stable ref.`,[`google.docs.read`],{requiredKeys:[`ref`]}),Tr(`google.comments.read`,`read`,`Read comments`,`Read comments for a grounded Google file ref.`,[`google.comments.read`],{requiredKeys:[`ref`]}),Tr(`google.docs.update`,`write`,`Update Google Doc`,`Apply an explicitly approved Google Docs edit and return readback verification.`,[`google.docs.write`],{requiredKeys:[`ref`,`patch`]}),Tr(`google.comments.create`,`write`,`Create comment`,`Create an explicitly approved Google file comment and return readback verification.`,[`google.comments.write`],{requiredKeys:[`ref`,`body`]}),Tr(`google.comments.resolve`,`write`,`Resolve comment`,`Resolve an explicitly approved Google comment and return readback verification.`,[`google.comments.write`],{requiredKeys:[`ref`,`commentId`]})],github:[Tr(`github.repo.search`,`search`,`Search repositories`,`Search accessible repositories by owner, name, or topic.`,[`github.repo.read`]),Tr(`github.issue.search`,`search`,`Search issues`,`Search accessible GitHub issues.`,[`github.issue.read`]),Tr(`github.pull_request.search`,`search`,`Search pull requests`,`Search accessible GitHub pull requests.`,[`github.pull_request.read`]),Tr(`github.repo.read`,`read`,`Read repository`,`Read grounded repository metadata or file context.`,[`github.repo.read`],{requiredKeys:[`ref`]}),Tr(`github.issue.read`,`read`,`Read issue`,`Read a grounded GitHub issue and comments.`,[`github.issue.read`],{requiredKeys:[`ref`]}),Tr(`github.pull_request.read`,`read`,`Read pull request`,`Read a grounded pull request, checks, reviews, or diff summary.`,[`github.pull_request.read`],{requiredKeys:[`ref`]}),Tr(`github.issue.create`,`write`,`Create issue`,`Create an explicitly approved GitHub issue and return readback verification.`,[`github.issue.write`],{requiredKeys:[`repo`,`title`,`body`]}),Tr(`github.issue.comment`,`write`,`Comment on issue`,`Create an explicitly approved GitHub issue comment and return readback verification.`,[`github.issue.write`],{requiredKeys:[`ref`,`body`]}),Tr(`github.issue.update`,`write`,`Update issue`,`Apply an explicitly approved issue metadata/content update and return readback verification.`,[`github.issue.write`],{requiredKeys:[`ref`]}),Tr(`github.pull_request.comment`,`write`,`Comment on pull request`,`Create an explicitly approved pull request comment and return readback verification.`,[`github.pull_request.write`],{requiredKeys:[`ref`,`body`]}),Tr(`github.pull_request.update`,`write`,`Update pull request`,`Apply an explicitly approved pull request metadata update and return readback verification.`,[`github.pull_request.write`],{requiredKeys:[`ref`]})],turnkey:[Tr(`turnkey.wallets.read`,`read`,`Read Agent Wallet`,`Read the address and metadata for the connected OpenPond Agent Wallet.`,[`turnkey.wallets.read`]),Tr(`turnkey.balances.read`,`read`,`Read wallet balances`,`Read supported-network balances for the connected OpenPond Agent Wallet.`,[`turnkey.balances.read`]),Tr(`turnkey.activities.read`,`read`,`Read wallet activity`,`Read recent Turnkey activity for the connected OpenPond Agent Wallet.`,[`turnkey.activities.read`])],x:[Tr(`x.profile.read`,`read`,`Read profile`,`Read the connected X account profile.`,[`x.profile.read`]),Tr(`x.post.read`,`read`,`Read post`,`Read a public X post by stable ref, status URL, or post id.`,[`x.search.read`],{requiredKeys:[`ref`]}),Tr(`x.search.posts`,`search`,`Search recent posts`,`Search public X posts from the X recent-search window by grounded query.`,[`x.search.read`]),Tr(`x.mentions.search`,`search`,`Search mentions`,`Search mentions for the connected X account.`,[`x.mentions.read`]),Tr(`x.mention.read`,`read`,`Read mention`,`Read a grounded mention or post ref.`,[`x.mentions.read`],{requiredKeys:[`ref`]}),Tr(`x.post.create`,`write`,`Create post`,`Create an explicitly approved X post and return readback verification.`,[`x.post.write`],{requiredKeys:[`text`]}),Tr(`x.reply.create`,`write`,`Create reply`,`Create an explicitly approved X reply and return readback verification.`,[`x.reply.write`],{requiredKeys:[`inReplyToRef`,`text`]})],mcp:[]},pr={google:[`# Google Connected App`,``,`Use Google only through server-provided connected app tools. Never ask for or infer OAuth tokens.`,`Before reading or editing, identify the exact Drive file, Doc, Sheet, Slide, or comment thread. If the target is ambiguous, ask a short clarification or search first.`,`Use only declared Google operation ids: google.drive.search, google.drive.read_file, google.docs.read, google.comments.read, google.docs.update, google.comments.create, google.comments.resolve.`,`For writes, require explicit user intent, summarize the planned change, and verify the target identity before applying updates.`,`After a write, read back the changed object or relevant range and report the result with the provider file name or stable reference.`,`Prefer narrow reads over broad Drive scans. Do not expose private file ids unless the tool result already presents them as stable refs.`].join(`
|
|
3
|
+
`),github:[`# GitHub Connected App`,``,`Use GitHub only through server-provided connected app tools. Repository, issue, and pull request identity must be grounded before action.`,`Use only declared GitHub operation ids: github.repo.search, github.issue.search, github.pull_request.search, github.repo.read, github.issue.read, github.pull_request.read, github.issue.create, github.issue.comment, github.issue.update, github.pull_request.comment, github.pull_request.update.`,`For reads, name the owner/repo and issue or pull request number when available. If several targets match, ask or inspect before proceeding.`,`For writes, require explicit user intent and avoid destructive repository changes. Create issues only when the user clearly asks to submit or file a new issue. Prefer comments, labels, or metadata updates unless a stronger operation is clearly requested.`,`Do not claim CI, review, branch, or PR state changed until a tool result confirms it.`,`Keep local workspace git operations separate from connected GitHub operations unless the user explicitly asks to bridge them.`].join(`
|
|
4
|
+
`),turnkey:[`# Turnkey Agent Wallet Connected App`,``,`Use Turnkey only through server-provided connected app tools. Never ask for, expose, or infer API keys, P-256 credentials, wallet private keys, or lease material.`,`Use only declared Turnkey read operation ids: turnkey.wallets.read, turnkey.balances.read, and turnkey.activities.read.`,`Turnkey connected-app access is read-only. Do not claim that a transaction was created, signed, approved, rejected, or sent.`,`Use turnkey.wallets.read for the Agent Wallet address and metadata, turnkey.balances.read for supported-network balances, and turnkey.activities.read for recent Turnkey activity.`,`Report the wallet address and network with balance results, and distinguish an empty balance from a failed provider read.`].join(`
|
|
5
|
+
`),x:[`# X Connected App`,``,`Use X only through server-provided connected app tools. Distinguish profile, recent search, mention, post, and reply operations.`,`Use only declared X operation ids: x.profile.read, x.post.read, x.search.posts, x.mentions.search, x.mention.read, x.post.create, x.reply.create.`,`For x.com, twitter.com, or stable status URLs, first parse the status/post id and read the post with connected_app_read using operation x.post.read and ref set to the original URL, stable ref, or id. Do not open a browser before trying the X connector.`,`Use x.search.posts for discovery, related public posts, replies, quote-post searches, and conversation scans. It uses X API recent search, so report zero-result searches as zero recent public posts returned by X.`,`For conversation or reply collection, dedupe by returned post id/ref. Do not repeat the same search call unless the result exposes a usable cursor or next token; if pagination is unavailable, state that coverage is limited to returned recent-search results.`,`Reads can summarize recent public posts, connected-account profile details, and mentions when the capability is available.`,`Writes require explicit user intent for the exact post or reply. Do not publish drafts, jokes, endorsements, or replies unless the user clearly approves the content.`,`Before posting or replying, preserve account identity, quote the proposed content in summary form, and respect provider limits and policy boundaries.`,`After a write, verify the returned post or reply ref before reporting success.`].join(`
|
|
6
|
+
`),microsoft_teams:[`# Microsoft Teams Connected App`,``,`Microsoft Teams is currently an ingestion/native binding surface only. Do not expose Teams OAuth reads, replies, file operations, or sandbox leases.`,`Native Teams setup can bind chats or channels to OpenPond profiles and ingest activity into OpenPond context.`,`If the user asks for Teams actions beyond ingestion or binding status, explain that the connector is not available yet rather than inventing tool access.`].join(`
|
|
7
|
+
`),slack:[`# Slack Connected App`,``,`Slack is currently an ingestion/native binding surface only. Do not expose Slack OAuth reads, replies, file operations, or sandbox leases.`,`Native Slack setup can bind channels or threads to OpenPond profiles and ingest activity into OpenPond context.`,`If the user asks for Slack actions beyond ingestion or binding status, explain that the connector is not available yet rather than inventing tool access.`].join(`
|
|
8
|
+
`),mcp:[`# OpenPond MCP Connected App`,``,`Use OpenPond MCP only through server-provided tool discovery and call paths. Do not invent MCP tools or endpoints.`,`Treat MCP as team-scoped tooling, not an OAuth connector. Tool availability must come from server-confirmed discovery results.`,`Before calling an MCP tool, match the requested operation to the tool name, description, input schema, and allowed team context.`,`For writes or side effects, require explicit user intent and report only confirmed tool results.`].join(`
|
|
9
|
+
`)},mr=ur.map(e=>{let t=Ar(e),n=pr[e];return{...t,provider:e,body:n,sourceHash:`connected-app-skill:${e}:${Lr(n)}`,charCount:n.length}}),hr=[wr({id:`slack`,providerFamily:`slack`,setupSurface:`native_bot`,statusSource:`native_binding`,label:`Slack`,shortLabel:`Slack`,kind:`native`,category:`Chat`,description:`Bind Slack channels or threads for ingestion into OpenPond profiles.`,icon:`/connected-apps/slack.svg`,installLabel:`Continue to Slack details`}),wr({id:`google`,providerFamily:`google`,setupSurface:`oauth_connector`,statusSource:`integration_connection`,label:`Google`,shortLabel:`Google`,kind:`oauth`,category:`Productivity`,description:`Docs, Drive files, and comments for sandbox workflows.`,icon:`/connected-apps/google.svg`,installLabel:`Continue to Google details`}),wr({id:`github`,providerFamily:`github`,setupSurface:`oauth_connector`,statusSource:`integration_connection`,label:`GitHub`,shortLabel:`GitHub`,kind:`oauth`,category:`Developer tools`,description:`Access repositories, issues, and pull requests.`,icon:`/connected-apps/github.svg`,installLabel:`Continue to GitHub details`}),wr({id:`x`,providerFamily:`x`,setupSurface:`oauth_connector`,statusSource:`integration_connection`,label:`X`,shortLabel:`X`,kind:`oauth`,category:`Productivity`,description:`User profile, mentions, and approved reply access.`,icon:`/connected-apps/x.svg`,installLabel:`Continue to X details`}),wr({id:`turnkey`,providerFamily:`turnkey`,setupSurface:`wallet_connector`,statusSource:`integration_connection`,label:`Turnkey Agent Wallet`,shortLabel:`Turnkey`,kind:`wallet`,category:`Wallet`,description:`Read your OpenPond Agent Wallet address, balances, and activity through policy-bound Turnkey access.`,icon:`/connected-apps/turnkey.svg`,installLabel:`Manage OpenPond wallet`}),wr({id:`microsoft_teams`,providerFamily:`microsoft_teams`,setupSurface:`native_bot`,statusSource:`native_binding`,label:`Teams`,shortLabel:`Teams`,kind:`native`,category:`Chat`,description:`Bind Teams chats or channels for ingestion into OpenPond profiles.`,icon:`/connected-apps/microsoft.svg`,installLabel:`Continue to Teams details`}),wr({id:`mcp`,providerFamily:`mcp`,setupSurface:`mcp_endpoint`,statusSource:`mcp_endpoint`,label:`OpenPond MCP`,shortLabel:`MCP`,kind:`mcp`,category:`Tools`,description:`Expose workspace tools through a team-scoped MCP endpoint.`,icon:`/connected-apps/openpond-mcp.svg`,installLabel:`Open MCP settings`})],gr=ur.map(e=>{let t=hr.filter(t=>t.providerFamily===e),n=t[0];return{id:e,label:Dr(e),shortLabel:n.shortLabel,category:n.category,icon:n.icon,description:n.description,setupSurfaces:t,capabilities:dr[e],skills:kr(e),tools:jr(e),operations:fr[e],leasePolicy:Mr(e)}});function _r(e){let t=br(e);return t?hr.find(e=>e.id===t)??null:null}function vr(e){let t=xr(e);return t?gr.find(e=>e.id===t)??null:null}function yr(e){let t=_r(e.appId),n=Er(e.baseUrl),r=t?.kind===`mcp`?`/sandboxes/mcp`:`/sandboxes/apps`,i=new URL(r,n);t?.kind!==`mcp`&&i.searchParams.set(`app`,t?.deepLinkAppId??e.appId);let a=e.teamId?.trim();return a&&i.searchParams.set(`teamId`,a),i.toString()}function br(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,`_`);return t?t===`teams`||t===`microsoft`?`microsoft_teams`:hr.some(e=>e.id===t)?t:null:null}function xr(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,`_`);return t?t===`teams`||t===`microsoft`?`microsoft_teams`:ur.includes(t)?t:_r(t)?.providerFamily??null:null}function Sr(e={}){let t=Pr(e.connections??[]);return hr.map(e=>{let n=vr(e.providerFamily),r=e.statusSource===`integration_connection`?t.filter(t=>t.provider===e.providerFamily):[],i=r.some(e=>e.status===`active`),a=Fr(e,i);return{...e,providerLabel:n.label,setupSurfaceLabel:Or(e.setupSurface),status:a,statusLabel:Ir(e,a,r),connections:r,connected:i,capabilities:Nr(e,n.capabilities),capabilityLabels:Nr(e,n.capabilities).map(e=>e.label),leasePolicy:n.leasePolicy}})}function Cr(e,t,n,r,i){return{id:e,label:t,description:n,access:r,leaseable:i}}function wr(e){return e}function Tr(e,t,n,r,i,a){return{id:e,operation:t,label:n,description:r,capabilityIds:i,...a?{input:a}:{},requiresReadback:t===`write`,requiresRuntimeLease:!1}}function Er(e){let t=e?.trim();if(!t)return lr;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?lr:(e.pathname=`/`,e.search=``,e.hash=``,e.toString())}catch{return lr}}function Dr(e){return e===`microsoft_teams`?`Microsoft Teams`:e===`mcp`?`OpenPond MCP`:e===`x`?`X`:e[0].toUpperCase()+e.slice(1)}function Or(e){return e===`native_bot`?`Native app`:e===`oauth_connector`?`OAuth connector`:e===`wallet_connector`?`Wallet connector`:`MCP endpoint`}function kr(e){return[Ar(e)]}function Ar(e){return{name:`${e}-connected-app`,description:`Use ${Dr(e)} safely through connected app tools.`,path:`integration_skills/${e}.md`}}function jr(e){if(e===`mcp`)return[];let t=dr[e],n=fr[e],r=t.filter(e=>e.access===`read`).map(e=>e.id),i=t.filter(e=>e.access===`write`).map(e=>e.id),a=[];return n.some(e=>e.operation===`search`)&&a.push({name:`connected_app_search`,description:`Search ${Dr(e)} through a server-owned connected app connector.`,capabilityIds:r,write:!1}),n.some(e=>e.operation===`read`)&&a.push({name:`connected_app_read`,description:`Read a grounded ${Dr(e)} object through a server-owned connected app connector.`,capabilityIds:r,write:!1}),i.length>0&&n.some(e=>e.operation===`write`)&&a.push({name:`connected_app_write`,description:`Perform an explicitly approved ${Dr(e)} write through a server-owned connected app connector.`,capabilityIds:i,write:!0}),a}function Mr(e){let t=dr[e].filter(e=>e.leaseable).map(e=>e.id),n=e!==`mcp`&&t.length>0;return{leaseable:n,defaultTtlSeconds:n?e===`turnkey`?300:3600:null,allowedCapabilityIds:t,requiresProxy:n}}function Nr(e,t){return e.setupSurface===`native_bot`?t.filter(e=>e.access===`setup`):e.setupSurface===`mcp_endpoint`?t:t.filter(e=>e.access!==`setup`)}function Pr(e){return e.flatMap(e=>{let t=xr(e.provider);return t?[{id:e.id??null,teamId:e.teamId?.trim()||null,provider:t,accountLabel:e.providerAccountName??null,workspaceLabel:e.providerWorkspaceName??null,scopes:Array.isArray(e.scopes)?e.scopes:[],capabilities:Array.isArray(e.capabilities)?e.capabilities:[],status:e.status?.trim().toLowerCase()||`active`}]:[]})}function Fr(e,t){return e.statusSource===`integration_connection`?t?`connected`:`disconnected`:`setup_available`}function Ir(e,t,n){if(t===`connected`){let e=n.filter(e=>e.status===`active`).length;return e>1?`${e} connected`:`Connected`}return t===`disconnected`?`Not connected`:e.statusSource===`native_binding`?`Bot setup`:`Configure`}function Lr(e){let t=5381;for(let n=0;n<e.length;n+=1)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}var Rr=`local_path:`;function zr(e){return`${Rr}${e.trim()}`}P({appId:R(),source:L([`openpond`,`github`,`local_git`,`local_folder`,`unknown`]),workspacePath:R(),repoPath:R(),initialized:F(),remoteUrl:R().nullable(),expectedRemoteUrl:R().nullable(),currentBranch:R().nullable(),headCommit:R().nullable().optional().default(null),upstreamBranch:R().nullable().optional().default(null),ahead:I().int().nonnegative().optional().default(0),behind:I().int().nonnegative().optional().default(0),diverged:F().optional().default(!1),linkedSourceHeadCommit:R().nullable().optional().default(null),aheadOfLinkedSource:I().int().nonnegative().optional().default(0),behindLinkedSource:I().int().nonnegative().optional().default(0),divergedFromLinkedSource:F().optional().default(!1),linkedSourceComparisonError:R().nullable().optional().default(null),lastFetchAt:R().nullable().optional().default(null),defaultBranch:R().nullable(),branches:k(R()),dirty:F(),changedFilesCount:I(),untrackedFilesCount:I(),error:R().nullable(),updatedAt:R()});var Br=P({path:R(),status:R(),additions:I(),deletions:I(),patch:R(),content:R().nullable().optional().default(null),contentType:R().optional(),contentEncoding:L([`base64`]).optional(),readVersion:R().nullable().optional(),readStamp:R().optional()}),Vr=P({appId:R(),repoPath:R(),initialized:F(),dirty:F(),filesChanged:I(),additions:I(),deletions:I(),repoFiles:k(R()).optional().default([]),files:k(Br),error:R().nullable(),updatedAt:R()});P({branch:R().trim().min(1).max(160)}),P({path:R().trim().min(1),content:R()});var Hr=P({line:I().int().nonnegative(),character:I().int().nonnegative()}),Ur=P({start:Hr,end:Hr}),Wr=P({path:R(),range:Ur,severity:L([`error`,`warning`,`info`,`hint`]),message:R(),source:R().nullable().optional().default(null),code:R().nullable().optional().default(null)}),Gr=P({id:R(),root:R(),status:L([`connected`,`unavailable`,`error`]),message:R().nullable().optional().default(null)});P({path:R().trim().min(1),content:R().optional(),waitForDiagnostics:F().optional().default(!0)}),P({appId:R(),path:R(),diagnostics:k(Wr),servers:k(Gr),updatedAt:R()});var Kr=P({operation:L([`hover`,`definition`,`references`,`documentSymbol`]),path:R().trim().min(1),content:R().optional(),line:I().int().nonnegative().optional(),character:I().int().nonnegative().optional()});P({appId:R(),operation:Kr.shape.operation,path:R(),results:B(),servers:k(Gr),updatedAt:R()});var qr=P({pinned:F().optional(),archived:F().optional(),order:I().optional()});ee(R(),qr);var Jr=P({path:R().min(1),title:R().min(1),contentType:R().min(1),sizeBytes:I().nonnegative().nullable(),sandboxId:R().nullable(),revision:R().optional(),updatedAt:R().optional()});P({files:k(Jr)});var Yr=[{name:`openpond-cli`,description:`Use the OpenPond CLI for datasets, graders, experiments, model training, repos, deployments, and tools.`,path:`skills/openpond-cli/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/experiments-and-training.md`,`references/compact-resource-tables.md`,`references/diagnose-and-improve.md`]},{name:`openpond-taskset-authoring`,description:`Create, organize, review, improve, or test OpenPond Tasksets and source data; inspect coverage, data quality, graders, and failed evals.`,path:`skills/openpond-taskset-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/task-design.md`,`references/graders-and-rewards.md`,`references/method-selection.md`,`references/privacy-and-provenance.md`,`references/benchmarking.md`,`references/data-quality.md`,`references/failure-diagnosis.md`]},{name:`openpond-skill-authoring`,description:`Create, copy, adapt, review, or update OpenPond Profile skill packages from slash commands or ordinary authoring requests.`,path:`skills/openpond-skill-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/skill-package-layout.md`,`references/copying-and-adaptation.md`,`references/validation-and-repair.md`,`scripts/validate-skill.mjs`]},{name:`openpond-agent-authoring`,description:`Create, improve, review, or repair source-backed OpenPond Profile Agents and Agent SDK projects.`,path:`skills/openpond-agent-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/profile-layout.md`,`references/action-and-chat-design.md`,`references/integrations-and-setup.md`,`references/validation-and-repair.md`]},{name:`openpond-refiner-authoring`,description:`Inspect, extend, validate, activate, or roll back the OpenPond Refiner Review Profile without changing the Refiner Core.`,path:`skills/openpond-refiner-authoring/SKILL.md`,scope:`profile`,enabled:!0,sourcePath:`bundled://openpond`,charCount:0,sourceHash:`bundled`,validationStatus:`valid`,validationMessages:[],resourceFiles:[`references/review-profile.md`,`references/core-boundary.md`,`references/validation-and-activation.md`]}],Xr=P({name:R(),description:R(),relativePath:R(),sourcePath:R(),charCount:I().int().nonnegative(),sourceHash:R(),resourceFiles:k(R()),validationStatus:L([`valid`,`error`]),validationMessages:k(R())}),Zr=P({id:R(),source:M(`github`),owner:R(),repo:R(),repositoryUrl:R().url(),requestedRef:R(),resolvedCommit:R(),sourcePath:R(),readmePath:R().nullable(),installedAt:R(),updatedAt:R(),packageHash:R(),skills:k(Xr),validationStatus:L([`valid`,`error`]),validationMessages:k(R())});Zr.omit({installedAt:!0,updatedAt:!0,sourcePath:!0}).extend({sourcePath:N()}),P({rootPath:R(),registryPath:R(),extensions:k(Zr),error:R().nullable()}),P({source:R().trim().min(1),ref:R().trim().min(1).optional()});var Qr=ee(R(),B());P({userId:R(),role:L([`owner`,`admin`,`member`]),name:R(),handle:R().nullable(),image:R().nullable()});var $r=P({userId:R(),role:L([`owner`,`admin`,`member`]),name:R(),handle:R().nullable(),image:R().nullable(),lastReadSequence:I().int().nonnegative()}),ei=P({id:R(),messageId:R(),refType:L([`hosted_ai_thread`,`goal`,`openpond_session`,`project`,`agent_run`,`message_reply`]),refId:R(),preview:Qr,createdAt:R()}),ti=P({id:R(),messageId:R().nullable(),clientAttachmentId:R(),kind:M(`image`),name:R(),mediaType:L([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]),sizeBytes:I().int().positive(),status:L([`pending`,`ready`,`failed`]),createdAt:R(),readyAt:R().nullable()});P({attachment:ti,uploadUrl:R().url().nullable(),uploadHeaders:ee(R(),R()),expiresAt:R().nullable()}),P({url:R().url(),expiresAt:R()});var ni=P({id:R(),threadId:R(),teamId:R(),clientRequestId:R().nullable(),authorType:L([`user`,`agent`,`system`]),authorUserId:R().nullable(),authorAgentId:R().nullable(),sequence:I().int().nonnegative(),kind:L([`text`,`system`,`command_result`]),body:R(),metadata:Qr,editedAt:R().nullable(),deletedAt:R().nullable(),createdAt:R(),refs:k(ei),attachments:k(ti)}),ri=P({id:R(),teamId:R(),kind:L([`general`,`dm`,`group`,`channel`]),title:R().nullable(),createdByUserId:R(),lastMessageId:R().nullable(),lastMessageSequence:I().int().nonnegative(),lastMessageAt:R(),createdAt:R(),updatedAt:R(),unreadCount:I().int().nonnegative(),pinnedAt:R().nullable(),mutedAt:R().nullable(),archivedAt:R().nullable(),participants:k($r),lastMessage:ni.nullable()});P({thread:ri,messages:k(ni),hasMoreBefore:F()}),P({threadId:R(),mutedAt:R().nullable()});var ii=L([`pending`,`running`,`completed`,`failed`,`interrupted`,`cancelled`]),ai=P({id:R(),conversationId:R(),threadId:R(),teamId:R(),requestedByUserId:R(),executorUserId:R().nullable(),providerId:R(),modelId:R(),clientRequestId:R(),baseMessageSequence:I().int().nonnegative(),status:ii,partialBody:R().nullable(),userMessageId:R(),assistantMessageId:R().nullable(),errorCode:R().nullable(),cancelledByUserId:R().nullable(),leaseExpiresAt:R().nullable(),heartbeatAt:R().nullable(),createdAt:R(),updatedAt:R()}),oi=P({id:R(),conversationId:R(),sequence:I().int().nonnegative(),role:L([`user`,`assistant`,`system`,`action`]),body:R(),createdByUserId:R().nullable(),createdAt:R()});P({conversationId:R(),parentThreadId:R(),parentMessageId:R(),teamId:R(),title:R().nullable(),providerId:R().nullable(),modelId:R(),createdByUserId:R(),messages:k(oi),turns:k(ai),activeTurn:ai.nullable(),createdAt:R(),updatedAt:R()});var si=P({id:I().int().nonnegative(),teamId:R(),threadId:R(),conversationId:R().nullable(),type:L([`thread.created`,`message.created`,`message.updated`,`message.deleted`,`read.updated`,`ai_thread.created`,`ai_turn.updated`]),payload:Qr,createdAt:R()});P({events:k(si),cursor:I().int().nonnegative(),hasMore:F()}),P({httpUrl:R().min(1),realtimeUrl:R().min(1),region:R().min(1),token:R().min(1),expiresAt:R().min(1),teamId:R().min(1),userId:R().min(1)});var ci=ee(R(),B()),li=R().nullable(),ui=L([`draft`,`published`,`archived`]),di=L([`owner`,`admin`,`member`]),fi=L([`active`,`left`]),pi=L([`mentions`,`all`,`none`]),mi=L([`public_preview`,`members`]),hi=L([`members`,`admins`]),gi=P({canPreview:F(),canJoin:F(),canLeave:F(),canRead:F(),canPost:F(),canUpload:F(),canMention:F(),canManage:F(),requiresRulesAcceptance:F(),currentRulesVersionId:R().nullable()}),_i=P({id:R(),communityId:R(),version:I().int().positive(),title:R(),requiresReacceptance:F(),publishedAt:R()}),vi=_i.extend({bodyMarkdown:R(),contentHash:R()}),yi=P({role:di,status:fi,notificationMode:pi}),bi=P({id:R(),communityId:R(),userId:R(),role:di,status:fi,notificationMode:pi,joinedAt:R(),leftAt:li,createdAt:R(),updatedAt:R()}),xi=P({id:R(),slug:R(),displayName:R(),description:R(),imageUrl:R().nullable(),status:ui,visibility:L([`public`,`private`]),joinPolicy:L([`open`,`closed`]),historyVisibility:mi,featuredAt:li,publishedAt:li,archivedAt:li,memberCount:I().int().nonnegative(),membership:yi.nullable(),capabilities:gi,currentRules:_i.nullable()});P({items:k(xi),nextCursor:R().nullable()});var Si=P({lastReadSequence:I().int().nonnegative(),lastReadAt:li.optional(),mutedAt:li,pinnedAt:li}),Ci=P({id:R(),communityId:R(),chatThreadId:R().nullable(),slug:R(),displayName:R(),topic:R(),position:I().int().nonnegative(),visibility:mi,postingPolicy:hi,isDefault:F(),archivedAt:li,lastMessageSequence:I().int().nonnegative(),unreadCount:I().int().nonnegative(),readState:Si.nullable()});xi.omit({currentRules:!0}).extend({currentRules:vi.nullable(),channels:k(Ci),previewMessageLimit:I().int().positive()});var wi=P({id:R(),messageId:R(),refType:L([`hosted_ai_thread`,`goal`,`openpond_session`,`project`,`agent_run`,`message_reply`]),refId:R(),preview:ci,createdAt:R()}),Ti=P({id:R(),messageId:R().nullable(),clientAttachmentId:R(),kind:M(`image`),name:R(),mediaType:L([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]),sizeBytes:I().int().positive(),status:L([`pending`,`ready`,`failed`]),createdAt:R(),readyAt:li});P({attachment:Ti,uploadUrl:R().url().nullable(),uploadHeaders:ee(R(),R()),expiresAt:li}),P({url:R().url(),expiresAt:R()});var Ei=P({id:R(),threadId:R(),teamId:N(),clientRequestId:R().nullable(),authorType:L([`user`,`agent`,`system`]),authorUserId:R().nullable(),authorAgentId:R().nullable(),sequence:I().int().nonnegative(),kind:L([`text`,`system`,`command_result`]),body:R(),metadata:ci,editedAt:li,deletedAt:li,createdAt:R(),refs:k(wi),attachments:k(Ti)});P({messages:k(Ei),hasMoreBefore:F(),channelId:R(),readState:Si.omit({lastReadAt:!0}).nullable(),preview:F()});var Di=P({userId:R(),handle:R().nullable(),name:R().nullable(),role:di});P({items:k(Di),nextCursor:R().nullable()});var Oi=P({id:I().int().nonnegative(),communityId:R(),channelId:R(),threadId:R(),type:L([`thread.created`,`message.created`,`message.updated`,`message.deleted`,`read.updated`]),payload:ci,createdAt:R()});P({events:k(Oi),cursor:I().int().nonnegative(),hasMore:F()}),P({httpUrl:R().min(1),realtimeUrl:R().min(1),region:R().min(1),token:R().min(1),expiresAt:R().min(1),communityId:R().min(1),userId:R().min(1),channel:R().min(1)}),P({membership:bi,channels:k(Ci)}),P({channels:k(Ci)});function ki(e){let t=[],n=[],r=``,i=!1,a=!1,o=()=>{n.push(r),r=``,a=!1},s=()=>{if(o(),n.some(e=>e.length)&&t.push(n),n=[],t.length>lt.records+1)throw Error(`CSV exceeds the 1,000-record limit.`)};for(let t=0;t<e.length;t++){let n=e[t];if(i)n===`"`&&e[t+1]===`"`?(r+=`"`,t++):n===`"`?(i=!1,a=!0):r+=n;else if(n===`,`)o();else if(n===`
|
|
10
|
+
`||n===`\r`)n===`\r`&&e[t+1]===`
|
|
11
|
+
`&&t++,s();else if(n===`"`&&!r&&!a)i=!0;else{if(a||n===`"`)throw Error(`CSV has an invalid quoted field.`);r+=n}}if(i)throw Error(`CSV has an unterminated quoted field.`);(r||n.length||a)&&s();let c=t.shift()?.map(e=>e.trim().replace(/^\uFEFF/u,``));if(!c?.includes(`instruction`))throw Error(`CSV requires an instruction column.`);let l=new Set([`instruction`,`context`,`reference`,`labels`,`id`,`familyKey`,`split`]);if(c.some(e=>!l.has(e))||new Set(c).size!==c.length)throw Error(`CSV has duplicate or unsupported columns. Use instruction, context, reference, labels, id, familyKey and split.`);return t.map((e,t)=>{if(e.length!==c.length)throw Error(`CSV record ${t+2} has a different number of columns from its header.`);return Object.fromEntries(c.map((t,n)=>[t,e[n]]).filter(([,e])=>e!==``))})}function Ai(e){try{return new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0}).decode(e)}catch{throw Error(`Import files must contain valid UTF-8 text. Binary attachments are not supported by this import format.`)}}function ji(e){return e.startsWith(``)?e.slice(1):e}var Mi=P({role:R().min(1),content:te().nullable().optional()}).catchall(te()),Ni=P({id:R().min(1),messages:k(Mi).min(1).max(lt.messages),lineage_session_ids:k(R()).optional(),parent_session_id:R().nullable().optional()}).catchall(te());function Pi(e){let t=Ni.parse(e),n=t.lineage_session_ids?.[0]??t.parent_session_id??t.id,{messages:r,segments:i,...a}=t;return zi(`hermes`,t.id,n,t.messages,{sourceHash:V(e),metadata:{session:a},warnings:[`Imported session context and tools need review before this can become an executable task.`]})}var Fi=P({traceSchema:M(`openclaw-trajectory`),schemaVersion:M(1),traceId:R().min(1),sessionId:R().min(1),leafId:R().nullable(),eventCount:I().int().nonnegative(),warnings:k($e).optional()}).catchall(te()),Ii=P({traceSchema:M(`openclaw-trajectory`),schemaVersion:M(1),traceId:R(),sessionId:R(),seq:I().int().nonnegative(),type:R(),ts:R()}).catchall(te()),Li=P({header:$e.nullable(),leafId:R().nullable(),entries:k(P({id:R().min(1),type:R().min(1),parentId:R().nullable().optional(),message:Mi.optional()}).catchall(te())).max(lt.messages)}).strict();function Ri(e){let t=t=>{let n=e.find(e=>e.path===t);if(!n)throw Error(`OpenClaw bundle is missing ${t}.`);return ji(n.text)},n=Fi.parse(JSON.parse(t(`manifest.json`))),r=Li.parse(JSON.parse(t(`session-branch.json`)));if(r.leafId!==n.leafId)throw Error(`OpenClaw manifest and session branch identify different leaves.`);let i=t(`events.jsonl`).split(/\r?\n/u).filter(e=>e.trim()).map(e=>Ii.parse(JSON.parse(e)));if(i.length!==n.eventCount||i.some(e=>e.traceId!==n.traceId||e.sessionId!==n.sessionId))throw Error(`OpenClaw events do not match the manifest identity or count.`);if(r.header&&r.header.id!==n.sessionId)throw Error(`OpenClaw session header does not match the manifest.`);let a=new Set;for(let[e,t]of r.entries.entries()){if(a.has(t.id))throw Error(`OpenClaw branch contains duplicate entry IDs.`);if(e&&t.parentId!==r.entries[e-1].id)throw Error(`OpenClaw branch is incomplete or out of order.`);a.add(t.id)}if(r.entries.length&&r.entries.at(-1).id!==r.leafId)throw Error(`OpenClaw branch does not reach its declared leaf.`);let o=r.entries.filter(e=>e.type===`message`&&e.message).map(e=>({...e.message,entryId:e.id,timestamp:typeof e.timestamp==`string`?e.timestamp:typeof e.message.timestamp==`number`?new Date(e.message.timestamp).toISOString():null}));return zi(`openclaw`,n.sessionId,n.sessionId,o,{sourceHash:V(e),metadata:{manifest:n,sourceFiles:e.map(e=>e.path)},warnings:[`Imported trajectory context and tools need review before this can become an executable task.`,...(n.warnings??[]).map(e=>typeof e.message==`string`?e.message.slice(0,2e3):`The source exporter reported incomplete context.`)]})}function zi(e,t,n,r,i){let a=r.flatMap((e,t)=>e.role===`user`?[t]:[]);if(!a.length)throw Error(`This history contains no user request. Supply a session with its request context.`);let o=0;return a.map((s,c)=>{let l=a[c+1]??r.length,u=r.slice(s+1,l),d=u.filter(e=>e.role===`assistant`).at(-1),f=r[s],p=f.entryId??f.message_id??f.id??V({start:s,request:f}),m={id:ct(e,[t,p]),familyKey:ct(e,n),split:`train`,kind:`attempt`,input:{request:f.content??null,messages:r.slice(0,s+1)},observedOutput:d?{response:d.content??null,messages:u}:null,expected:null,sourceId:`${e}:${t}:${String(p)}`,sourceHash:i.sourceHash,occurredAt:ot(d?.timestamp??f.timestamp),metadata:i.metadata,warnings:[...i.warnings,...d?[]:[`No assistant response was recorded for this request.`]],needsContext:!0};if(Ue(m),o+=new TextEncoder().encode(JSON.stringify(m)).length,o>lt.bytes)throw Error(`Expanded history exceeds the 5 MiB preview limit. Export a smaller session selection.`);return rt.parse(m)})}var Bi=P({instruction:R().trim().min(1).max(1e5),context:A([R(),$e]).optional(),reference:A([R(),$e]).optional(),labels:A([R(),k(R()),$e]).optional(),id:R().min(1).max(200).optional(),familyKey:R().min(1).max(200).optional(),split:Re.optional()}).strict(),Vi=P({input:$e,observedOutput:$e.nullable().optional(),expectedOutput:$e.nullable().optional(),id:R().min(1).max(200).optional(),familyKey:R().min(1).max(200).optional(),split:Re.optional(),occurredAt:R().datetime().optional(),labels:$e.optional()}).strict();function Hi(e){let t=st.parse(e.format),n=k(at).min(1).max(lt.files).parse(e.files);if(n.reduce((e,t)=>e+new TextEncoder().encode(t.text).length,0)>lt.bytes)throw Error(`Import exceeds the 5 MiB size limit.`);if(n.some(e=>e.path.startsWith(`/`)||e.path.includes(`\\`)||e.path.split(`/`).some(e=>!e||e===`.`||e===`..`))||new Set(n.map(e=>e.path)).size!==n.length)throw Error(`Import contains an unsafe or duplicate file path.`);let r=[],i=[],a=new Map,o=new Map,s=0;function c(e,t,n){try{let e=n();if(r.length+e.length>lt.records)throw Error(`Import exceeds the 1,000-record limit.`);let t=new Map(a),i=new Map(o),c=0;for(let n of e){Ue(n);let e=V(n),r=t.get(n.id);if(r&&r!==e)throw Error(`The same record identity has different content in this upload.`);r||(c+=new TextEncoder().encode(JSON.stringify(n)).length),t.set(n.id,e);for(let e of[`family:${n.familyKey}`,`input:${V(n.input)}`]){if(i.has(e)&&i.get(e)!==n.split)throw Error(`The same task family or request occurs in different splits.`);i.set(e,n.split)}}if(s+c>lt.bytes*2)throw Error(`Expanded import exceeds the 10 MiB preview limit. Select fewer source files.`);for(let t of e)a.has(t.id)||r.push(t),a.set(t.id,V(t));for(let[e,t]of i)o.set(e,t);s+=c}catch(n){i.push({file:e,row:t,message:n instanceof z?`Unsupported record fields or values (${n.issues.slice(0,3).map(e=>e.path.join(`.`)||`record`).join(`, `)}).`:n instanceof SyntaxError?`Invalid JSON.`:n instanceof Error?n.message:`Invalid import record.`})}}if(t===`openclaw`)c(`manifest.json`,null,()=>Ri(n));else for(let e of n){let n=ji(e.text);if(t===`jsonl`||t===`hermes`){for(let[r,a]of n.split(/\r?\n/u).entries())if(a.trim()){if(i.length>=lt.records)break;c(e.path,r+1,()=>t===`hermes`?Pi(JSON.parse(a)):[Ui(JSON.parse(a))])}}else{let r;try{let e=t===`csv`?ki(n):JSON.parse(n);r=Array.isArray(e)?e:[e]}catch(t){c(e.path,null,()=>{throw t});continue}if(r.length>lt.records){c(e.path,null,()=>{throw Error(`Import exceeds the 1,000-record limit.`)});continue}r.forEach((n,r)=>c(e.path,r+(t===`csv`?2:1),()=>[Ui(n)]))}}return it.parse({schemaVersion:`openpond.taskIntakePreview.v1`,format:t,contentHash:V({format:t,files:n}),records:r,issues:i.slice(0,1e3)})}function Ui(e){let t=A([Bi,Vi]).parse(e),n=`instruction`in t,r=n?{instruction:t.instruction,...t.context===void 0?{}:{context:t.context}}:t.input,i=n?t.reference===void 0?null:typeof t.reference==`string`?{text:t.reference}:t.reference:t.expectedOutput??null,a=n?null:t.observedOutput??null,o=t.familyKey??ct(`family`,r),s=t.id??ct(`task`,{input:r,expected:i,observedOutput:a});return rt.parse({id:s,familyKey:o,split:t.split??`train`,kind:a?`attempt`:`task`,input:r,expected:i,observedOutput:a,sourceId:s,sourceHash:V(e),occurredAt:n?null:ot(t.occurredAt),metadata:t.labels===void 0?{}:{importedLabels:t.labels,labelOrigin:`unverified_import`},warnings:[],needsContext:!1})}var Y=e(r(),1),Wi=i(),X=a(),Gi=R().min(1).max(240),Ki=R().regex(/^[a-f0-9]{64}$/),qi=k(P({source:pt,excerpts:k(P({role:L([`user`,`assistant`]),text:R().max(2e5),turnId:Gi}).strict()).max(200)}).strict()).min(1).max(20);j(`action`,[P({action:M(`messages`),id:Gi,evidence:qi,instruction:R().max(2097152),buildSpecification:K,currentProposal:et.nullable().default(null)}).strict(),P({action:M(`validate`),evidence:qi,content:R().max(2097152)}).strict()]),P({messages:k(P({role:L([`system`,`user`]),content:R()}).strict()).min(1).max(20),skillHash:Ki}).strict(),P({proposal:et,skillHash:Ki}).strict();var Ji=xt.shape.id,Yi=I().int().positive(),Xi=R().regex(/^[a-f0-9]{64}$/),Zi={teamId:Ji,modelId:Ji};P({schemaVersion:M(`openpond.tasksetDraftCreate.v1`),operationId:Ji,modelId:Ji,expectedModelRevision:Yi,name:xt.shape.name}).strict(),P({schemaVersion:M(`openpond.tasksetDraftSourceDescriptor.v1`),...Zi,expectedModelRevision:Yi,sourcePackageHash:Xi}).strict(),P({schemaVersion:M(`openpond.tasksetDraftReadback.v1`),...Zi,draft:xt,workspaceHash:Xi,projectEtag:Xi}).strict().refine(e=>e.draft.profileId===e.teamId&&e.draft.modelScope?.modelId===e.modelId,`The hosted draft must belong to its declared workspace and Model.`);var Qi=P({id:Ji,revision:Yi,name:xt.shape.name,status:_t,updatedAt:xt.shape.updatedAt,sourceTasksetRef:Ze.nullable()}).strict();P({schemaVersion:M(`openpond.tasksetDraftList.v1`),...Zi,drafts:k(Qi).max(100),nextCursor:R().min(1).max(2e3).nullable()}).strict(),P({expectedDraftRevision:Yi,draft:xt}).strict(),P({expectedDraftRevision:Yi,expectedModelRevision:Yi}).strict();var $i=P({expectedDraftRevision:Yi,expectedWorkspaceHash:Xi}).strict();P({schemaVersion:M(`openpond.tasksetDraftValidation.v1`),...Zi,draftId:Ji,draftRevision:Yi,workspaceHash:Xi,valid:F(),issues:k(P({code:R().min(1),severity:L([`warning`,`error`]),message:R(),path:R().nullable()}).strict()),packageHash:Xi.nullable(),tasksetRef:Ze.nullable()}).strict().refine(e=>e.valid?e.packageHash!==null&&e.tasksetRef!==null&&e.issues.every(e=>e.severity!==`error`):e.packageHash===null&&e.tasksetRef===null&&e.issues.some(e=>e.severity===`error`),`Validation must retain either a compiled package or publication errors.`),$i.extend({operationId:Ji,expectedPackageHash:Xi,expectedTasksetRef:Ze}).strict(),P({schemaVersion:M(`openpond.tasksetDraftFileList.v1`),...Zi,draftId:Ji,draftRevision:Yi,files:k(vt).max(10020)}).strict(),P({schemaVersion:M(`openpond.tasksetDraftFileReadback.v1`),...Zi,draftId:Ji,draftRevision:Yi,file:bt}).strict(),P({schemaVersion:M(`openpond.tasksetDraftDeletion.v1`),...Zi,draftId:Ji,revision:Yi,deleted:M(!0)}).strict(),xt.shape.id,I().int().positive();var ea=R().trim().min(1).max(500),ta=P({projectId:ea.optional(),tasksetId:ea.optional(),draftId:ea.optional(),taskId:ea.optional(),query:R().trim().max(1e3).default(``),split:L([`train`,`validation`,`test`,`frozen_eval`]).optional(),after:R().min(1).max(2e3).optional(),limit:I().int().min(1).max(100).default(30)}).strict(),na=P({id:ea,method:L([`code`,`judge`,`human`]),required:F()}),ra=P({tasksetId:ea,tasksetName:R(),tasksetRevision:I().int().positive(),tasksetHash:R(),taskId:ea,ordinal:I().int().nonnegative(),title:R(),description:R(),split:R(),scoring:k(na),configuration:L([`configured`,`needs_reward`,`needs_checks`]),draftId:ea.nullable().default(null),modelId:ea.nullable().default(null)}),ia=P({items:k(ra).max(100),nextCursor:R().nullable()});function aa(e,t){if(Hi({format:e.format,files:t}).contentHash!==e.contentHash)throw Error(`The source files differ from the import preview.`);let n=`private/intake/${e.contentHash}`,r=t.map((e,t)=>({file:e,path:`${n}/${String(t).padStart(4,`0`)}.txt`})),i={schemaVersion:`openpond.taskIntakeSources.v1`,format:e.format,previewHash:e.contentHash,files:r.map(({file:e,path:t})=>({originalPath:e.path,retainedPath:t}))};return[...r.map(({file:e,path:t})=>dt(t,new TextEncoder().encode(e.text))),dt(`${n}/manifest.json`,new TextEncoder().encode(JSON.stringify(i)))]}function oa(e,t,n){let r=it.parse(t);if(!n.length||new Set(n).size!==n.length)throw Error(`Select unique task records to import.`);let i=[...e.tasks];for(let e of n){let t=r.records.find(t=>t.id===e);if(!t||t.kind!==`task`||t.needsContext)throw Error(`Recorded attempts and incomplete histories must be imported into Labeling for review.`);let n=gt.parse({schemaVersion:`openpond.taskData.v1`,id:t.id,clusterKey:t.familyKey,split:t.split,input:t.input,expectedOutput:t.expected,privilegedContextRef:null,metadata:{intake:{format:r.format,uploadHash:r.contentHash,sourceId:t.sourceId,sourceHash:t.sourceHash,metadata:t.metadata}}}),a=i.find(e=>e.id===n.id);if(a&&We(a)!==We(n))throw Error(`Task ${n.id} already exists with different content. Import will not replace saved edits.`);a||i.push(n)}let a=new Map;for(let e of i)for(let t of[`family:${e.clusterKey}`,`input:${We(e.input)}`]){if(a.has(t)&&a.get(t)!==e.split)throw Error(`The imported task family or request already occurs in another split.`);a.set(t,e.split)}return xt.parse({...e,tasks:i})}var sa=P({id:R().min(1),revision:I().int().positive(),scope:Ct,title:R().min(1),state:L([`waiting`,`ready`,`dispatching`,`admitted`,`completed`,`failed`,`cancelled`,`blocked`,`attention`]),reason:R().nullable(),cancellationRequested:F(),waitingForDesktop:F(),prerequisite:P({sessionId:R().min(1).nullable(),title:R().min(1),turnId:R().nullable()}).strict(),successor:P({operationId:R().min(1),sessionId:R().nullable(),providerId:R().min(1),modelId:R().nullable(),workspaceLabel:R().min(1)}).strict(),workflow:P({kind:M(`review`),preparationSessionId:R().nullable(),preparationState:R(),sourceReady:F(),preparationCleanupPending:F()}).strict().optional(),successCriteria:R().min(1),canEdit:F(),canCancel:F()}).strict(),ca=32e3,la=L([`steer`,`message`,`followup`,`queued`,`result`]),ua=L([`pending`,`included`,`resolved`,`cancelled`,`rejected`]),da=P({id:R().min(1),sequence:I().int().nonnegative(),sessionId:R().min(1),senderSessionId:R().min(1).nullable(),senderKind:L([`user`,`task`,`runtime`,`ponder`]),kind:la,body:R().trim().min(1).max(ca),payload:ee(R(),B()).default({}),idempotencyKey:R().min(1).max(200),replyTo:R().min(1).nullable(),expectedTurnId:R().min(1).nullable(),turnId:R().min(1).nullable(),requestIds:k(R()),state:ua,revision:I().int().positive(),createdAt:R(),updatedAt:R(),error:R().nullable()}).strict(),fa=P({scopeId:R().trim().min(1).max(240),selectionVersion:I().int().nonnegative(),evaluationModel:R().min(1).max(500).optional(),executionLocation:L([`local`,`cloud`]).optional(),training:k(ut).max(16).optional(),resources:k(P({kind:L([`dataset`,`grader`,`experiment`]),id:R().trim().min(1).max(240),revision:I().int().positive(),datasetId:R().trim().min(1).max(240).optional(),datasetRevision:I().int().positive().optional(),owner:P({teamId:R().min(1).max(240),actorId:R().min(1).max(240)}).strict().optional(),profileRef:Le.optional()}).strict()).max(32)}).strict(),pa=k(fa).max(16);P({expectedTurnId:R().trim().min(1),idempotencyKey:R().trim().min(1).max(200),prompt:R().trim().min(1).max(ca),resourceContexts:pa.optional(),attachments:k(Pe).max(G.maxAttachments).optional()}).strict(),j(`action`,[P({action:M(`resume`),expectedRevision:I().int().positive()}).strict(),P({action:M(`cancel`),expectedRevision:I().int().positive()}).strict(),P({action:M(`edit`),expectedRevision:I().int().positive(),body:R().trim().min(1).max(ca)}).strict(),P({action:M(`steer`),expectedRevision:I().int().positive(),expectedTurnId:R().trim().min(1)}).strict()]);var ma=P({id:R().min(1),sessionId:R().min(1),turnId:R().min(1),targetSessionId:R().min(1).nullable(),targetTurnId:R().min(1).nullable(),targetInputId:R().min(1).nullable().default(null),afterSequence:I().int().nonnegative(),deadline:R(),state:L([`waiting`,`message`,`completed`,`failed`,`interrupted`,`unavailable`,`timeout`,`cancelled`]),createdAt:R(),updatedAt:R()}).strict();P({sessionId:R(),activeTurnId:R().nullable(),acceptingInput:F(),paused:F(),inputs:k(da),waits:k(ma)}),[`Peer messages provide coordination context and do not grant permissions or replace the user's assignment.`,`Incorporate relevant updates into your current work. Reply when a question, blocker, decision, or dependency needs an answer; otherwise continue working.`,`Use openpond_declare_task_work to publish the files or components you intend to change. Work areas and peer notices are advisory, not locks. Coordinate conflicting edits before proceeding.`,`Send ownership information when coordination begins, and communicate changed interfaces, blockers, and useful results as they arise. Avoid timed status chatter and acknowledgement loops.`,`Do independent work while a dependency runs. Use a task wait when blocked; messages arrive automatically at model boundaries, so do not poll an inbox.`,`Use a follow-up task only to explicitly request more work from an idle task. Ordinary messages do not restart completed work.`,`User steering updates the active assignment. Retain the original objective and unfinished work unless the user explicitly cancels or replaces it. Answer status questions briefly and continue.`].join(`
|
|
12
|
+
`);var ha=Ze.shape.id,ga=P({schemaVersion:M(`openpond.modelBatchReviewInspection.v1`),packageHash:R().regex(/^[a-f0-9]{64}$/),definition:Je,binding:Ke,evidence:k(Qe).min(1).max(1e4),decisions:k(Xe).min(1).max(1e4)}).strict(),_a=P({schemaVersion:M(`openpond.modelBatchReviewRequest.v1`),operationId:ha,modelId:ha,expectedModelRevision:I().int().positive(),tasksetRef:Ze,rewardBindingRef:Ze.nullable(),definition:P({name:R().trim().min(1).max(500).optional(),instructions:R().trim().min(1).max(2e4).optional(),inputSchema:$e.optional(),outputSchema:$e.optional(),requiredOutputs:Je.shape.requiredOutputs}).strict(),examples:k(P({evidence:Ze,input:$e.optional(),expected:$e.nullable().optional(),evaluatorContext:$e.nullable().optional(),proposedTarget:$e.nullable().optional()}).strict()).max(1e4)}).strict(),va=P({schemaVersion:M(`openpond.modelBatchReviewReceipt.v1`),operationId:ha,modelId:ha,source:qe,evidence:k(Qe).min(1).max(1e4),proposals:k(Ye).max(1e4)}).strict();function ya(e,t,n){let r=new Headers;r.set(`Accept`,`text/event-stream`),r.set(`Authorization`,`Bearer ${e.token}`);let i=new URL(`${e.serverUrl.replace(/\/$/,``)}/v1/events`);return n!==void 0&&Number.isSafeInteger(n)&&n>0&&i.searchParams.set(`afterSequence`,String(n)),{url:i.toString(),init:{headers:r,signal:t}}}function ba(e){return Math.min(500*2**Math.max(0,e),1e4)}async function xa(e,t,n,r){Sa(e);let i=e.body.getReader(),a=new TextDecoder,o=``;for(;!r?.aborted;){let{done:e,value:r}=await i.read();if(e){o+=a.decode();break}o+=a.decode(r,{stream:!0});let s=o.indexOf(`
|
|
13
|
+
|
|
14
|
+
`);for(;s>=0;){let e=o.slice(0,s);o=o.slice(s+2),Ta(e,t,n),s=o.indexOf(`
|
|
15
|
+
|
|
16
|
+
`)}}!r?.aborted&&o.trim()&&Ta(o,t,n)}function Sa(e){if(!e.ok)throw Error(`event stream failed: ${e.status} ${e.statusText||`HTTP error`}`);if(!e.body)throw Error(`event stream did not return a response body`)}function Ca(e,t,n,r,i={}){let a=new AbortController,o=i.fetchImpl??fetch,s=i.reconnectDelayMs??ba,c=wa(i.afterSequence),l=!1;return(async()=>{let i=0;for(;!a.signal.aborted;)try{let n=ya(e,a.signal,c),s=await o(n.url,n.init);if(Sa(s),l=!0,i=0,await xa(s,e=>{let n=wa(e.sequence);n>0&&n<=c||(n>0&&(c=n),t(e))},r,a.signal),l=!1,a.signal.aborted)break;throw Error(`event stream ended`)}catch(e){if(l=!1,a.signal.aborted)break;n(e),await Ea(s(i),a.signal),i+=1}})().catch(()=>void 0),{close(){a.abort()},isOpen(){return l}}}function wa(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0?e:0}function Ta(e,t,n){let r=`message`,i=[];for(let t of e.split(`
|
|
17
|
+
`))t.startsWith(`:`)||(t.startsWith(`event: `)&&(r=t.slice(7).trim()),t.startsWith(`data: `)&&i.push(t.slice(6)));if(r===`ready`)n?.();else if(r===`runtime`&&i.length!==0)try{t(JSON.parse(i.join(`
|
|
18
|
+
`)))}catch{}}async function Ea(e,t){e<=0||t.aborted||await new Promise(n=>{let r=globalThis.setTimeout(n,e);t.addEventListener(`abort`,()=>{globalThis.clearTimeout(r),n()},{once:!0})})}var Da=5e3,Oa=class{entries=new Map;order=[];capacity=3;sync(e,t){let n=new Set(e.map(e=>e.id));for(let e of this.entries.values())n.has(e.toast.id)||this.dismiss(e.toast.id,t);for(let t of e){let e=this.entries.get(t.id);e?e.toast=t:this.entries.set(t.id,{toast:t,phase:`entering`,parked:!0,remaining:Da,entered:!1,deadline:null,paused:!1})}this.order=[...e.map(e=>e.id),...this.order.filter(e=>!n.has(e)&&this.entries.has(e))],this.reflow(t)}setCapacity(e,t){this.capacity=Math.max(1,Math.min(3,e)),this.reflow(t)}pause(e,t,n){let r=this.entries.get(e);r&&r.paused!==t&&(t&&this.stopClock(r,n),r.paused=t,this.reflow(n))}dismiss(e,t){let n=this.entries.get(e);n&&n.phase!==`exiting`&&(n.parked?this.entries.delete(e):(n.phase=`exiting`,n.deadline=t+160,n.paused=!1))}tick(e){let t=[];for(let[n,r]of this.entries){let i=r.toast.kind===`attention`?12e4:6e4;r.parked&&e>=r.toast.createdAt+i?(this.entries.delete(n),t.push(n)):r.deadline===null||e<r.deadline||(r.phase===`exiting`?this.entries.delete(n):r.phase===`entering`?(r.phase=`visible`,r.entered=!0,r.deadline=null):(t.push(n),this.dismiss(n,e)))}return this.reflow(e),t}snapshot(){return this.order.flatMap(e=>{let t=this.entries.get(e);return t?[{toast:t.toast,phase:t.phase,parked:t.parked}]:[]})}nextDeadline(){let e=[...this.entries.values()].flatMap(e=>e.deadline===null?e.parked?[e.toast.createdAt+(e.toast.kind===`attention`?12e4:6e4)]:[]:[e.deadline]);return e.length?Math.min(...e):null}stopClock(e,t){e.phase===`visible`&&e.deadline!==null&&(e.remaining=Math.max(0,e.deadline-t)),e.deadline=null}reflow(e){let t=this.order.flatMap(e=>{let t=this.entries.get(e);return t&&t.phase!==`exiting`?[t]:[]}),n=-1;for(let e=t.length-1;e>=0;e--)if(t[e].paused&&!t[e].parked){n=e;break}let r=Math.max(0,n-this.capacity+1),i=new Set(t.slice(r,r+this.capacity).map(e=>e.toast.id));for(let n of t){let t=!i.has(n.toast.id);t&&!n.parked&&this.stopClock(n,e),n.parked=t,!(t||n.paused||n.deadline!==null)&&(n.entered?(n.phase=`visible`,n.deadline=e+n.remaining):(n.phase=`entering`,n.deadline=e+300))}}};function ka(e,t,n){let r=(0,Y.useRef)({scope:n,lifecycle:new Oa}),[i,a]=(0,Y.useState)([]),[o,s]=(0,Y.useState)(0),c=(0,Y.useRef)(t);c.current=t;let l=(0,Y.useRef)(n);l.current=n,(0,Y.useEffect)(()=>{if(r.current.scope!==n){r.current={scope:n,lifecycle:new Oa},d.current=3,a([]);return}let t=r.current.lifecycle;t.sync(e,Date.now());for(let e of t.tick(Date.now()))c.current(e);a(t.snapshot());let i=t.nextDeadline();if(i===null)return;let o=window.setTimeout(()=>s(e=>e+1),Math.max(0,i-Date.now()));return()=>window.clearTimeout(o)},[e,o,n]);let u=(0,Y.useCallback)((e,t)=>{r.current.lifecycle.pause(e,t,Date.now()),s(e=>e+1)},[]),d=(0,Y.useRef)(3),f=(0,Y.useCallback)(e=>{d.current!==e&&(d.current=e,r.current.lifecycle.setCapacity(e,Date.now()),s(e=>e+1))},[]),p=(0,Y.useCallback)(()=>l.current===n,[n]);return{cards:r.current.scope===n?i:[],onDismiss:t,onPause:u,onCapacity:f,isCurrent:p}}function Aa(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function ja(e){return e.replace(/\s+/g,` `).trim().slice(0,120)}function Ma(e,t){let n=t.eventsBySessionId.get(e)??[],r=new Map;for(let t of n){let n=Aa(t.data);if(t.name===`user_question.asked`){let t=sr.safeParse(n?.question);if(t.success&&t.data.sessionId===e&&t.data.status===`pending`){let n=t.data;r.set(n.id,{key:`question:${n.id}`,title:`Question for you`,preview:n.question,target:{sessionId:e,questionId:n.id,turnId:n.turnId}})}}if(t.name===`user_question.answered`||t.name===`user_question.dismissed`){let e=cr.safeParse(n?.resolution);e.success&&r.delete(e.data.questionId)}}let i=[...r.values()];for(let n of t.pendingApprovalsBySessionId.get(e)??[])i.push({key:`approval:${n.id}`,title:n.kind===`user_input`?`Input needed`:`Approval needed`,target:{sessionId:e,approvalId:n.id}});let a=tn(n);if(a){if(a.state===`awaiting_questions`)for(let t of a.questions.filter(e=>e.status===`pending`))i.push({key:`run:${a.id}:question:${t.id}`,title:`Question for you`,preview:t.prompt,target:{sessionId:e,runId:a.id,questionId:t.id}});else[`awaiting_plan_approval`,`awaiting_promotion`].includes(a.state)&&!i.some(e=>e.key.startsWith(`approval:`))&&i.push({key:`run:${a.id}:${a.state}`,title:`Approval needed`,target:{sessionId:e,runId:a.id}})}return i}function Na(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(t.includes(r.name))return r}}function Pa(e){let t=Aa(e.metadata);return!e.archived&&!e.systemKind&&!e.id.startsWith(`codex-history:`)&&t?.readOnly!==!0&&t?.nativeReadOnly!==!0&&!(t?.nativeHistoryProjection&&(!e.nativeAgent||t.nativeBranch))}function Fa(e,t,n){let r=n.eventsBySessionId.get(e.id)??[],i=Na(r,[`turn.completed`,`turn.failed`,`turn.interrupted`]);if(!i||i.id!==t.id||i.name!==`turn.completed`)return!0;let a=Na(r,[`turn.started`]);if(a?.turnId&&t.turnId&&a.turnId!==t.turnId||Lt(r)||qt(e.metadata))return!0;let o=Kt(r);if(o&&![`done`].includes(o.tone)||(n.latestSubagentRuntimeBySessionId.get(e.id)?.activeCount??0)>0)return!0;let s=new Map;for(let t of r){if(t.name!==`task.input`)continue;let n=da.safeParse(Aa(t.data)?.input);n.success&&n.data.sessionId===e.id&&s.set(n.data.id,n.data.state)}return[...s.values()].some(e=>e===`pending`||e===`included`)}var Ia=class{seenEvents=new Set;seenRequests=new Set;completions=new Map;cursor;initialized=!1;attentionSessions=new Set;constructor(e){this.cursor=e}ingest(e,t){for(let n of e)this.seenEvents.has(n.id)||n.sequence!==void 0&&n.sequence<=this.cursor||(this.seenEvents.add(n.id),n.sessionId&&([`user_question.asked`,`approval.requested`,`create_improve.updated`].includes(n.name)&&this.attentionSessions.add(n.sessionId),n.name===`turn.completed`?this.completions.set(n.sessionId,{event:n,readyAt:t+600}):[`turn.started`,`turn.failed`,`turn.interrupted`,`user_question.asked`,`approval.requested`].includes(n.name)&&this.completions.delete(n.sessionId)));for(let t of e)t.sequence!==void 0&&(this.cursor=Math.max(this.cursor,t.sequence));this.seenEvents.size>1e4&&(this.seenEvents=new Set([...this.seenEvents].slice(-5e3)))}reconcile(e){let t=[],n=new Set,r=null;for(let i of e.sessions){if(!Pa(i)){this.completions.delete(i.id);continue}let a=this.attentionSessions.has(i.id);this.attentionSessions.delete(i.id);let o=Ma(i.id,e.indexes),s=`thread-attention:${i.id}`;if(o.length){this.completions.delete(i.id),n.add(s);let r=(!this.initialized||a)&&o.some(e=>!this.seenRequests.has(e.key));for(let e of o)this.seenRequests.add(e.key);if(!e.visibleSessionIds.has(i.id)){let e=o[0];t.push({key:o.map(e=>e.key).join(`|`),groupKey:s,title:o.length>1?`${e.title} (${o.length})`:e.title,message:i.title,detail:e.preview?ja(e.preview):void 0,target:e.target,kind:`attention`,updateOnly:!r})}}let c=this.completions.get(i.id);if(!c)continue;let l=Na(e.indexes.eventsBySessionId.get(i.id)??[],[`turn.started`]);l?.turnId&&c.event.turnId&&l.turnId!==c.event.turnId?this.completions.delete(i.id):e.now<c.readyAt?r=r===null?c.readyAt:Math.min(r,c.readyAt):Fa(i,c.event,e.indexes)||(this.completions.delete(i.id),!e.visibleSessionIds.has(i.id)&&t.push({key:`completed:${i.id}:${c.event.turnId??c.event.id}`,groupKey:`thread-completion:${i.id}`,title:`Finished`,message:i.title,kind:`completion`,target:{sessionId:i.id,turnId:c.event.turnId}}))}return this.initialized=!0,this.seenRequests.size>1e4&&(this.seenRequests=new Set([...this.seenRequests].slice(-5e3))),{notifications:t,activeAttentionGroups:n,nextDeadline:r}}};function La(e){let t=(0,Y.useRef)(e);t.current=e;let n=(0,Y.useRef)(null),r=(0,Y.useRef)(new Set),[i,a]=(0,Y.useState)(0),[o,s]=(0,Y.useState)([]),[c,l]=(0,Y.useState)(()=>document.hasFocus()&&document.visibilityState!==`hidden`);(0,Y.useEffect)(()=>{let e=()=>{let e=document.querySelector(`dialog[open], [role="dialog"][aria-modal="true"]`)?[]:[...document.querySelectorAll(`.main-pane[data-thread-session], .right-chat-pane[data-thread-session]`)].filter(e=>e.getClientRects().length>0&&!e.closest(`[inert]`)).map(e=>e.dataset.threadSession).sort();s(t=>t.join(`\0`)===e.join(`\0`)?t:e)},t=new MutationObserver(e);return t.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-thread-session`,`open`,`aria-modal`,`inert`]}),e(),()=>t.disconnect()},[]),(0,Y.useEffect)(()=>{let e=()=>l(document.hasFocus()&&document.visibilityState!==`hidden`);return window.addEventListener(`focus`,e),window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,e),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,e)}},[]),(0,Y.useEffect)(()=>(e.dispatch({type:`clearToasts`}),r.current.clear(),n.current=null,e.store.subscribeLive(r=>{let i=t.current;i.scope===e.scope&&i.afterSequence!==null&&(n.current||={scope:i.scope,projector:new Ia(i.afterSequence)},n.current.projector.ingest(r,Date.now()),a(e=>e+1))})),[e.scope,e.store,e.dispatch]),(0,Y.useEffect)(()=>{if(e.afterSequence===null)return;(!n.current||n.current.scope!==e.scope)&&(n.current={scope:e.scope,projector:new Ia(e.afterSequence)});let i=c?new Set(o.filter(t=>e.visibleSessionIds.has(t))):new Set,s=n.current.projector.reconcile({sessions:e.sessions,indexes:e.indexes,visibleSessionIds:i,now:Date.now()});for(let n of r.current){let r=n.slice(17);(!s.activeAttentionGroups.has(n)||i.has(r))&&t.current.toasts.some(e=>e.groupKey===n)&&e.dispatch({type:`clearToastGroup`,groupKey:n})}r.current=s.activeAttentionGroups;for(let n of s.notifications){let r=t.current.toasts.find(e=>e.groupKey===n.groupKey);if(n.updateOnly&&!r||r?.dedupeKey===n.key)continue;let i=e.scope;e.showToast(n.message,n.kind===`completion`?`success`:`info`,{title:n.title,detail:n.detail,kind:n.kind,groupKey:n.groupKey,dedupeKey:n.key,actionLabel:`Open thread`,onAction:async()=>t.current.scope===i&&t.current.openThread(n.target,()=>t.current.scope===i)})}if(s.nextDeadline===null)return;let l=window.setTimeout(()=>a(e=>e+1),Math.max(0,s.nextDeadline-Date.now()));return()=>window.clearTimeout(l)},[e.scope,e.afterSequence,e.indexes,e.sessions,e.visibleSessionIds,e.showToast,e.dispatch,c,o,i])}var Ra=`openpond-thread-notification-reveal`;function za(e){window.dispatchEvent(new CustomEvent(Ra,{detail:e}))}function Ba(e){let t=(0,Y.useRef)(e);t.current=e,(0,Y.useEffect)(()=>{let n=null,r=r=>{n?.();let i=r.detail,a=e=>i.approvalId?e.dataset.notificationApproval===i.approvalId:i.runId?e.dataset.notificationRun===i.runId:i.questionId?e.dataset.notificationQuestion===i.questionId:e.dataset.notificationTurn===i.turnId&&e.dataset.notificationFinal===`true`,o=0,s=()=>{if(t.current!==e){n?.();return}let r=document.querySelector(`.main-pane[data-thread-session="${CSS.escape(i.sessionId)}"]`);if(!r)return;let s=[...r.querySelectorAll(`[data-notification-approval], [data-notification-question], [data-notification-turn], [data-notification-run]`)].find(a);s&&(n?.(),o=requestAnimationFrame(()=>{s.scrollIntoView({block:`center`,behavior:`instant`});let e=s.querySelector(`button:not(:disabled), input:not(:disabled), textarea:not(:disabled)`);e?e.focus({preventScroll:!0}):(s.tabIndex=-1,s.focus({preventScroll:!0}))}))},c=new MutationObserver(s);c.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-thread-session`]});let l=window.setTimeout(()=>{n?.(),document.querySelector(`.main-pane[data-thread-session="${CSS.escape(i.sessionId)}"]`)?.focus({preventScroll:!0})},1e4);n=()=>{c.disconnect(),window.clearTimeout(l),cancelAnimationFrame(o)},s()};return window.addEventListener(Ra,r),()=>{n?.(),window.removeEventListener(Ra,r)}},[e])}var Va=new Set([`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`approval.requested`,`approval.resolved`,`task.input`,`task.wait`]);function Ha(e){let t={};for(let n of e)n.sessionId&&Va.has(n.name)&&(Date.parse(n.timestamp)>Date.parse(t[n.sessionId]??``)||!t[n.sessionId]&&Number.isFinite(Date.parse(n.timestamp)))&&(t[n.sessionId]=n.timestamp);return t}function Ua(e,t){let n=typeof e.metadata?.sidebarActivityAt==`string`?e.metadata.sidebarActivityAt:null;return Math.max(Date.parse(t[e.id]??``)||0,Date.parse(n??e.createdAt)||0)}function Wa(e,t,n=new Date){let r=e=>`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`,i=new Date(n);i.setDate(n.getDate()-1);let a=[];for(let o of e){let{time:e,running:s}=t(o),c=new Date(e),l=s?`running`:r(c),u=a.at(-1);u?.key!==l&&(u={key:l,label:s||l===r(n)?null:l===r(i)?`Yesterday`:c.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...c.getFullYear()===n.getFullYear()?{}:{year:`numeric`}}),entries:[]},a.push(u)),u.entries.push(o)}return a}function*Ga(e){for(let t of e.values())yield*t}function Ka(e,t,n){let r=(0,Y.useRef)(n);r.current=n,(0,Y.useEffect)(()=>{if(!e||!t)return;let n=!1,i=!1,a=null,o=new Set,s=new Map,c=e=>`openpond:ponder-notification-delivery:${t}:${e}`;async function l(t){if(!n&&a)try{let i=await q(e,`/v1/ponder/notifications`);if(n||i.bindingId!==a||!i.items.some(e=>e.id===t)||(await q(e,`/v1/ponder/notifications/${encodeURIComponent(t)}/read`,{method:`POST`,body:`{}`}),n))return;window.focus(),r.current?.()}catch{}}let u=window.openpond?.onPonderNotification?.(e=>{l(e.id)});async function d(){if(!(n||i)){i=!0;try{let[t,r]=await Promise.all([q(e,`/v1/ponder/settings`),q(e,`/v1/ponder/notifications`)]);if(n||t.bindingId!==r.bindingId)return;if(a!==r.bindingId){a=r.bindingId,o.clear();try{let e=JSON.parse(localStorage.getItem(c(a))??`[]`);if(Array.isArray(e))for(let t of e)typeof t==`string`&&o.add(t)}catch{}}let i=new Set(r.items.filter(e=>!e.readAt).map(e=>e.id));for(let[e,t]of s)i.has(e)||(t.close(),s.delete(e));if(localStorage.getItem(`openpond:ponder-notifications`)!==`on`||t.settings.notifications===`off`)return;for(let e of r.items){if(n||e.readAt||o.has(e.id))continue;let t={id:e.id,title:e.title.slice(0,160),body:e.body.slice(0,500),ponder:!0},r=!1;if(window.openpond?.notify)r=await window.openpond.notify(t);else if(`Notification`in window&&Notification.permission===`granted`){let n=new Notification(t.title,{body:t.body,tag:t.id});n.onclick=()=>{n.close(),l(e.id)},s.set(e.id,n),r=!0}if(n)return;r&&o.add(e.id)}for(;o.size>500;)o.delete(o.values().next().value);try{localStorage.setItem(c(a),JSON.stringify([...o]))}catch{}}catch{}finally{i=!1}}}d();let f=window.setInterval(()=>void d(),1e4),p=()=>{d()};return window.addEventListener(`ponder-settings-changed`,p),()=>{n=!0,window.clearInterval(f),u?.(),window.removeEventListener(`ponder-settings-changed`,p);for(let e of s.values())e.close()}},[e,t])}var qa={teamInvitations:e=>q(e,`/v1/team-invitations`),decideTeamInvitation:(e,t,n)=>q(e,`/v1/team-invitations/${t}`,{method:`POST`,body:JSON.stringify({token:n})}),organizations:e=>q(e,`/v1/organizations`),createOrganization:(e,t)=>q(e,`/v1/organizations`,{method:`POST`,body:JSON.stringify(t)}),updateOrganization:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),organizationMembers:(e,t)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/members`),upsertOrganizationMember:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/members`,{method:`POST`,body:JSON.stringify(n)}),organizationMcpServer:(e,t)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server`),generateOrganizationMcpServer:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server`,{method:`POST`,body:JSON.stringify(n)}),setOrganizationMcpServerStatus:(e,t,n)=>q(e,`/v1/organizations/${encodeURIComponent(t)}/mcp-server/${n}`,{method:`POST`})},Ja={getGoal:(e,t)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/goal`),patchGoal:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/goal`,{method:`PATCH`,body:JSON.stringify(n)}),taskInbox:(e,t)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/inbox`),steerTurn:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/turns/steer`,{method:`POST`,body:JSON.stringify(n)}),queueTaskInput:(e,t,n,r)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/inbox`,{method:`POST`,body:JSON.stringify({input:n,idempotencyKey:r})}),updateTaskInput:(e,t,n,r)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/inbox/${encodeURIComponent(n)}`,{method:`PATCH`,body:JSON.stringify(r)}),sendTurn:(e,t,n)=>q(e,`/v1/sessions/${t}/turns`,{method:`POST`,body:JSON.stringify(n)}),runSessionCommand:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/commands`,{method:`POST`,body:JSON.stringify(n)}),recordPreflightTurnFailure:(e,t,n)=>q(e,`/v1/sessions/${t}/preflight-turns/failure`,{method:`POST`,body:JSON.stringify(n)}),listCreateImproveRuns:(e,t={})=>q(e,`/v1/create-improve-runs?${Ya(t).toString()}`),getCreateImproveRun:(e,t)=>q(e,`/v1/create-improve-runs/${encodeURIComponent(t)}`),getCreateImproveCandidateDiff:(e,t,n)=>q(e,`/v1/create-improve-runs/${encodeURIComponent(t)}/candidates/${encodeURIComponent(n)}/diff`),applyCreateImproveAction:(e,t,n)=>q(e,`/v1/create-improve-runs/${encodeURIComponent(t)}/actions`,{method:`POST`,body:JSON.stringify(n)}),interruptTurn:(e,t,n)=>q(e,`/v1/sessions/${t}/turns/interrupt`,{method:`POST`,body:JSON.stringify({reason:n})}),compactSession:(e,t,n={reason:`manual`})=>q(e,`/v1/sessions/${t}/compact`,{method:`POST`,body:JSON.stringify(n)}),workspaceTool:(e,t,n)=>q(e,`/v1/sessions/${t}/workspace-tools`,{method:`POST`,body:JSON.stringify(n)}),ensureCloudWorkspaceReady:(e,t,n)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/workspace/ensure-ready`,{method:`POST`,body:JSON.stringify(n)})};function Ya(e){let t=new URLSearchParams;return e.profileId&&t.set(`profileId`,e.profileId),e.conversationId&&t.set(`conversationId`,e.conversationId),e.targetKind&&t.set(`targetKind`,e.targetKind),e.targetId&&t.set(`targetId`,e.targetId),e.limit&&t.set(`limit`,String(e.limit)),t}var Xa={sandboxFiles:(e,t,n={})=>{let r=new URLSearchParams({list:`1`});return n.path&&r.set(`path`,n.path),n.recursive!==void 0&&r.set(`recursive`,String(n.recursive)),n.maxEntries!==void 0&&r.set(`maxEntries`,String(n.maxEntries)),q(e,`/v1/sandboxes/${encodeURIComponent(t)}/files?${r.toString()}`)},sandboxUploadFile:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/files`,{method:`POST`,body:JSON.stringify(n)}),preserveSandboxSource:(e,t,n={})=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/preserve-source`,{method:`POST`,body:JSON.stringify(n)}),sandboxDownloadFile:async(e,t,n,r={})=>{let i=new URLSearchParams({path:n});r.offsetBytes!==void 0&&i.set(`offsetBytes`,String(r.offsetBytes)),r.maxBytes!==void 0&&i.set(`maxBytes`,String(r.maxBytes));let a=await q(e,`/v1/sandboxes/${encodeURIComponent(t)}/files?${i.toString()}`);return{...a,contents:a.file.isBinary?``:At(a.file.contentsBase64)}}},Za={sandboxGitStatus:(e,t)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/git/status`),sandboxGitDiff:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/git/diff`,{method:`POST`,body:JSON.stringify(n)})},Qa={connectedAppStatus:(e,t={})=>{let n=Tt(t);return n.set(`status`,t.status??`all`),q(e,`/v1/connected-apps/status${n.size>0?`?${n.toString()}`:``}`)},integrationConnections:(e,t={})=>{let n=Tt(t);return t.status&&n.set(`status`,t.status),q(e,`/v1/integrations/connections${n.size>0?`?${n.toString()}`:``}`)},sandboxIntegrationLeases:(e,t)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`),attachSandboxIntegrationConnection:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`,{method:`POST`,body:JSON.stringify(n)}),removeSandboxIntegrationLease:(e,t,n)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}/integrations`,{method:`DELETE`,body:JSON.stringify({leaseId:n})})},$a={listSandboxProjects:(e,t)=>{let n=new URLSearchParams({teamId:t.teamId});return q(e,`/v1/sandbox-projects?${n.toString()}`)},getSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}?${r.toString()}`)},getSandboxProjectWorkspace:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/workspace?${r.toString()}`)},upsertSandboxProject:(e,t)=>q(e,`/v1/sandbox-projects`,{method:`POST`,body:JSON.stringify(t)}),syncSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/sync?${r.toString()}`,{method:`POST`})},uploadSandboxProjectSource:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId}),{teamId:i,...a}=n;return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}/source?${r.toString()}`,{method:`POST`,body:JSON.stringify(a)})},archiveSandboxProject:(e,t,n)=>{let r=new URLSearchParams({teamId:n.teamId});return q(e,`/v1/sandbox-projects/${encodeURIComponent(t)}?${r.toString()}`,{method:`DELETE`})},listSandboxAgents:(e,t)=>{let n=new URLSearchParams({teamId:t.teamId});return q(e,`/v1/sandbox-agents?${n.toString()}`)},upsertSandboxAgent:(e,t)=>q(e,`/v1/sandbox-agents`,{method:`POST`,body:JSON.stringify(t)}),runSandboxAgent:(e,t,n)=>q(e,`/v1/sandbox-agents/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify(n)}),runProfileAction:(e,t)=>q(e,`/v1/profile/run`,{method:`POST`,body:JSON.stringify(t)})},eo={sandbox:(e,t)=>q(e,`/v1/sandboxes/${encodeURIComponent(t)}`)},to={...Qa,...$a,...eo,...Za,...Xa},no={communities:(e,t)=>{let n=new URLSearchParams;return t&&n.set(`cursor`,t),q(e,`/v1/communities${n.size?`?${n}`:``}`)},communityPreview:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/preview`),communityRules:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/rules/current`),joinCommunity:(e,t,n)=>q(e,`/v1/communities/${encodeURIComponent(t)}/join`,{method:`POST`,body:JSON.stringify({acceptedRulesVersionId:n})}),acceptCommunityRules:(e,t,n)=>q(e,`/v1/communities/${encodeURIComponent(t)}/rules/accept`,{method:`POST`,body:JSON.stringify({acceptedRulesVersionId:n})}),leaveCommunity:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/leave`,{method:`POST`,body:`{}`}),communityChannels:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels`),communityMessages:(e,t,n,r={})=>{let i=new URLSearchParams;return r.beforeSequence!=null&&i.set(`beforeSequence`,String(r.beforeSequence)),r.limit!=null&&i.set(`limit`,String(r.limit)),q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages${i.size?`?${i}`:``}`)},sendCommunityMessage:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages`,{method:`POST`,body:JSON.stringify(r)}),editCommunityMessage:(e,t,n,r,i)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages/${encodeURIComponent(r)}`,{method:`PATCH`,body:JSON.stringify({body:i})}),deleteCommunityMessage:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/messages/${encodeURIComponent(r)}`,{method:`DELETE`,body:`{}`}),markCommunityRead:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/read`,{method:`POST`,body:JSON.stringify({sequence:r})}),setCommunityChannelMuted:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/mute`,{method:`POST`,body:JSON.stringify({muted:r})}),searchCommunityMembers:(e,t,n={})=>{let r=new URLSearchParams;return n.query&&r.set(`query`,n.query),n.cursor&&r.set(`cursor`,n.cursor),n.limit!=null&&r.set(`limit`,String(n.limit)),q(e,`/v1/communities/${encodeURIComponent(t)}/members/search${r.size?`?${r}`:``}`)},updateCommunityNotifications:(e,t,n)=>q(e,`/v1/communities/${encodeURIComponent(t)}/notifications`,{method:`POST`,body:JSON.stringify({mode:n})}),communityEvents:(e,t,n={})=>{let r=new URLSearchParams;return n.after!=null&&r.set(`after`,String(n.after)),n.limit!=null&&r.set(`limit`,String(n.limit)),q(e,`/v1/communities/${encodeURIComponent(t)}/events${r.size?`?${r}`:``}`)},communityRealtimeSession:(e,t)=>q(e,`/v1/communities/${encodeURIComponent(t)}/realtime-session`),uploadCommunityAttachment:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/attachments/upload`,{method:`POST`,body:JSON.stringify({attachment:r})}),communityAttachmentDownload:(e,t,n,r)=>q(e,`/v1/communities/${encodeURIComponent(t)}/channels/${encodeURIComponent(n)}/attachments/${encodeURIComponent(r)}/download`)},ro=`openpond-app-server-url`,io=`openpond-app-token`,ao=750;function oo(){return window.location.protocol!==`http:`&&window.location.protocol!==`https:`?null:window.location.origin&&window.location.origin!==`null`?window.location.origin:null}function so(e){let t=e.getItem(ro)?.trim(),n=e.getItem(io)?.trim();return t&&n?{serverUrl:t,token:n}:null}function co(e){if(!e)return null;try{let t=`__openpond_storage_probe__`;return e.setItem(t,`1`),e.removeItem(t),e}catch{return null}}function lo(e,t){e.setItem(ro,t.serverUrl),e.setItem(io,t.token)}function uo(){let e=window.__OPENPOND_WEB_CONNECTION__,t=e?.serverUrl?.trim(),n=e?.token?.trim();return t&&n?{serverUrl:t,token:n}:null}function fo(){let e=window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash;if(!e)return null;let t=new URLSearchParams(e),n=t.get(`openpondToken`)?.trim(),r=t.get(`openpondServerUrl`)?.trim()||oo();return!r||!n?null:{serverUrl:r,token:n}}function po(){window.location.hash&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`)}function mo(e,t){t&&(e.some(e=>e.serverUrl===t.serverUrl&&e.token===t.token)||e.push(t))}function ho(){let e=[],t=co(window.sessionStorage),n=co(window.localStorage),r=oo(),i=t?.getItem(io)??n?.getItem(io);return mo(e,null),mo(e,r&&i?{serverUrl:r,token:i.trim()}:null),mo(e,t?so(t):null),mo(e,n?so(n):null),e}async function go(e){let t=new AbortController,n=window.setTimeout(()=>t.abort(),ao);try{let n=await fetch(`${e}/health`,{signal:t.signal}),r=await n.json().catch(()=>null);return n.ok&&r?.server===`openpond-app-server`}catch{return!1}finally{window.clearTimeout(n)}}async function _o(){if(window.openpond)return window.openpond.getConnection();let e=co(window.sessionStorage),t=co(window.localStorage),n=fo();if(n&&await go(n.serverUrl))return t&&lo(t,n),e&&lo(e,n),po(),{...n,platform:navigator.platform};let r=uo();if(r&&await go(r.serverUrl))return t&&lo(t,r),e&&lo(e,r),{...r,platform:navigator.platform};let i=ho();for(let n of i)if(await go(n.serverUrl))return t&&lo(t,n),e&&lo(e,n),{...n,platform:navigator.platform};throw Error("No reachable OpenPond app server. Start `openpond ui` again and open the full printed URL.")}var Z={...no,bootstrap:(e,t)=>q(e,`/v1/bootstrap?refreshCodex=1`,{signal:t}),accountScopeSnapshot:e=>q(e,`/v1/bootstrap?ensureProfile=0`),localProjectActions:(e,t)=>q(e,`/v1/projects/${encodeURIComponent(t)}/actions`),extensionCatalog:e=>q(e,`/v1/extensions`),extensionPreview:(e,t)=>q(e,`/v1/extensions/preview`,{method:`POST`,body:JSON.stringify(t)}),extensionAdd:(e,t)=>q(e,`/v1/extensions`,{method:`POST`,body:JSON.stringify(t)}),extensionUpdate:(e,t,n={})=>q(e,`/v1/extensions/github/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repo)}/update`,{method:`POST`,body:JSON.stringify(n)}),extensionUpdateAll:e=>q(e,`/v1/extensions/update-all`,{method:`POST`}),extensionRemove:(e,t)=>q(e,`/v1/extensions/github/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.repo)}`,{method:`DELETE`}),skillSourceFile:(e,t,n,r)=>q(e,`/v1/skills/${t}/${encodeURIComponent(n)}/source?path=${encodeURIComponent(r)}`),teamChatMembers:(e,t,n)=>q(e,`/v1/team-chat/members?teamId=${encodeURIComponent(t)}`,{signal:n}),teamChatAgents:(e,t)=>q(e,`/v1/team-chat/agents?teamId=${encodeURIComponent(t)}`),teamChatThreads:(e,t)=>q(e,`/v1/team-chat/threads?teamId=${encodeURIComponent(t)}`),teamChatRealtimeSession:(e,t)=>q(e,`/v1/team-chat/realtime-session?teamId=${encodeURIComponent(t)}`),teamChatEvents:(e,t,n={})=>{let r=new URLSearchParams({teamId:t});return n.after!=null&&r.set(`after`,String(n.after)),n.limit!=null&&r.set(`limit`,String(n.limit)),q(e,`/v1/team-chat/events?${r.toString()}`)},teamChatGeneral:(e,t)=>q(e,`/v1/team-chat/threads/general`,{method:`POST`,body:JSON.stringify({teamId:t})}),teamChatDm:(e,t,n)=>q(e,`/v1/team-chat/threads/dm`,{method:`POST`,body:JSON.stringify({teamId:t,otherUserId:n})}),teamChatThread:(e,t,n,r={})=>{let i=new URLSearchParams({teamId:t});return r.beforeSequence!=null&&i.set(`beforeSequence`,String(r.beforeSequence)),r.limit!=null&&i.set(`limit`,String(r.limit)),q(e,`/v1/team-chat/threads/${encodeURIComponent(n)}?${i.toString()}`)},uploadTeamChatAttachment:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/attachments/upload`,{method:`POST`,body:JSON.stringify(n)}),teamChatAttachmentDownload:(e,t,n)=>q(e,`/v1/team-chat/attachments/${encodeURIComponent(n)}/download?teamId=${encodeURIComponent(t)}`),sendTeamChatMessage:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages`,{method:`POST`,body:JSON.stringify(n)}),createTeamChatAgentRun:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/agent-runs`,{method:`POST`,body:JSON.stringify(n)}),teamChatAgentConversation:(e,t,n)=>q(e,`/v1/team-chat/agent-runs/${encodeURIComponent(n)}?teamId=${encodeURIComponent(t)}`),editTeamChatMessage:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages/${encodeURIComponent(n)}`,{method:`PATCH`,body:JSON.stringify(r)}),deleteTeamChatMessage:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/messages/${encodeURIComponent(n)}`,{method:`DELETE`,body:JSON.stringify({teamId:r})}),markTeamChatRead:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/read`,{method:`POST`,body:JSON.stringify({teamId:n,sequence:r})}),setTeamChatThreadMuted:(e,t,n,r)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/mute`,{method:`POST`,body:JSON.stringify({teamId:n,muted:r})}),createTeamChatAiThread:(e,t,n)=>q(e,`/v1/team-chat/threads/${encodeURIComponent(t)}/ai-threads`,{method:`POST`,body:JSON.stringify(n)}),teamChatAiThread:(e,t,n)=>q(e,`/v1/team-chat/ai-threads/${encodeURIComponent(n)}?teamId=${encodeURIComponent(t)}`),sendTeamChatAiTurn:(e,t,n)=>q(e,`/v1/team-chat/ai-threads/${encodeURIComponent(t)}/turns`,{method:`POST`,body:JSON.stringify(n)}),executeTeamChatAiTurn:(e,t,n)=>q(e,`/v1/team-chat/ai-turns/${encodeURIComponent(t)}/execute`,{method:`POST`,body:JSON.stringify({teamId:n})}),cancelTeamChatAiTurnExecution:(e,t,n)=>q(e,`/v1/team-chat/ai-turns/${encodeURIComponent(t)}/execute/cancel`,{method:`POST`,body:JSON.stringify({teamId:n})}),usage:(e,t={})=>{let n=vo(t),r=n.size?`?${n.toString()}`:``;return q(e,`/v1/usage${r}`)},usageRecords:(e,t={})=>{let n=vo(t);t.sessionId&&n.set(`sessionId`,t.sessionId),t.turnId&&n.set(`turnId`,t.turnId),t.limit!==void 0&&n.set(`limit`,String(t.limit));let r=n.size?`?${n.toString()}`:``;return q(e,`/v1/usage/records${r}`)},usageTurnCache:(e,t)=>q(e,`/v1/usage/turn-cache?sessionId=${encodeURIComponent(t)}`),runtimeEventsPage:(e,t={})=>{let n=new URLSearchParams;t.sessionId&&n.set(`sessionId`,t.sessionId),t.afterSequence!==void 0&&n.set(`afterSequence`,String(t.afterSequence)),t.beforeSequence!==void 0&&t.beforeSequence!==null&&n.set(`beforeSequence`,String(t.beforeSequence)),t.limit!==void 0&&n.set(`limit`,String(t.limit));let r=n.size?`?${n.toString()}`:``;return q(e,`/v1/events/page${r}`)},sessionFiles:(e,t)=>q(e,`/v1/sessions/${encodeURIComponent(t)}/files`),workOutputs:e=>q(e,`/v1/work/outputs`),harnessHistory:e=>q(e,`/v1/harness`),refinerHistory:e=>q(e,`/v1/refiner`),updateRefinerProfile:(e,t)=>q(e,`/v1/refiner/update`,{method:`POST`,body:JSON.stringify(t)}),activateRefinerRelease:(e,t)=>q(e,`/v1/refiner/activate`,{method:`POST`,body:JSON.stringify(t)}),rollbackRefinerRelease:(e,t)=>q(e,`/v1/refiner/rollback`,{method:`POST`,body:JSON.stringify(t)}),updateHarnessBackgroundReview:(e,t)=>q(e,`/v1/harness/background-review`,{method:`POST`,body:JSON.stringify(t)}),reviewHarnessEvaluation:(e,t)=>q(e,`/v1/harness/evaluation-review`,{method:`POST`,body:JSON.stringify(t)}),updateHarnessEvaluationReviewSchedule:(e,t)=>q(e,`/v1/harness/evaluation-review/settings`,{method:`POST`,body:JSON.stringify(t)}),harnessReleaseDiff:(e,t)=>q(e,`/v1/harness/diff`,{method:`POST`,body:JSON.stringify(t)}),rollbackHarness:(e,t)=>q(e,`/v1/harness/rollback`,{method:`POST`,body:JSON.stringify(t)}),reviewHarnessProposal:(e,t)=>q(e,`/v1/harness/review`,{method:`POST`,body:JSON.stringify(t)}),runSubagentLifecycleAction:(e,t,n)=>q(e,`/v1/subagents/${encodeURIComponent(t)}/lifecycle`,{method:`POST`,body:JSON.stringify(n)}),trainingState:(e,t,n)=>q(e,`/v1/training?profileId=${encodeURIComponent(t)}`,{signal:n}),trainingActivity:(e,t,n)=>q(e,`/v1/training/activity?profileId=${encodeURIComponent(t)}`,{signal:n}),portableTrainingCatalog:(e,t=``,n)=>{let r=new URLSearchParams;return t.trim()&&r.set(`query`,t.trim()),n&&r.set(`method`,n),q(e,`/v1/training/catalog${r.size?`?${r.toString()}`:``}`)},datasetCatalog:(e,t)=>q(e,`/v1/training/datasets?profileId=${encodeURIComponent(t)}`),trainingRunDetail:(e,t,n={})=>q(e,`/v1/training/jobs/${encodeURIComponent(t)}/detail?evaluation=${n.includeEvaluation===!1?`false`:`true`}&refresh=${n.refresh===!1?`false`:`true`}`,{signal:n.signal}),candidateReview:(e,t,n=!1,r=`models`)=>q(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision?refresh=${n}`),recordCandidateReview:(e,t,n,r=`models`)=>q(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision`,{method:`POST`,body:JSON.stringify(n)}),candidateReviewHistory:(e,t,n,r=`models`)=>q(e,`/v1/training/${r}/${encodeURIComponent(t)}/candidate-decision-history?decisionId=${encodeURIComponent(n.id)}&decisionHash=${n.contentHash}`),trainingEvaluationTasks:async(e,t,n,r)=>{let i=new URLSearchParams({limit:`25`});return r&&i.set(`cursor`,r),q(e,`/v1/training/jobs/${encodeURIComponent(t)}/evaluations/${encodeURIComponent(n.id)}/tasks?${i}`)},trainingRequest:(e,t,n,r=`POST`)=>q(e,`/v1/training${t}`,{method:r,body:r===`GET`||r===`DELETE`?void 0:JSON.stringify(n)}),datasetStorageState:e=>q(e,`/v1/settings/dataset-storage`),updateDatasetStorage:(e,t)=>q(e,`/v1/settings/dataset-storage`,{method:`PATCH`,body:JSON.stringify({datasetStorePath:t})}),hostedSavedWork:e=>q(e,`/v1/saved-work`),createHostedSavedWork:(e,t)=>q(e,`/v1/saved-work`,{method:`POST`,body:JSON.stringify(t)}),updateHostedSavedWork:(e,t,n)=>q(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),deleteHostedSavedWork:(e,t)=>q(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}`,{method:`DELETE`}),runHostedSavedWork:(e,t,n)=>q(e,`/v1/saved-work/schedules/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify({clientRequestId:n})}),chatWorkflows:(e,t)=>{let n=t?`?sessionId=${encodeURIComponent(t)}`:``;return q(e,`/v1/chat-workflows${n}`)},createChatWorkflow:(e,t)=>q(e,`/v1/chat-workflows`,{method:`POST`,body:JSON.stringify(t)}),updateChatWorkflow:(e,t,n)=>q(e,`/v1/chat-workflows/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),deleteChatWorkflow:(e,t)=>q(e,`/v1/chat-workflows/${encodeURIComponent(t)}`,{method:`DELETE`}),runChatWorkflow:(e,t)=>q(e,`/v1/chat-workflows/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify({})}),localAgentSchedules:(e,t={})=>{let n=new URLSearchParams;t.localProjectId&&n.set(`localProjectId`,t.localProjectId);let r=n.size?`?${n.toString()}`:``;return q(e,`/v1/local-agent-schedules${r}`)},syncLocalAgentSchedules:e=>q(e,`/v1/local-agent-schedules/sync`,{method:`POST`,body:JSON.stringify({})}),patchLocalAgentSchedule:(e,t,n)=>q(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),runLocalAgentSchedule:(e,t,n={})=>q(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}/run`,{method:`POST`,body:JSON.stringify(n)}),localAgentScheduleRuns:(e,t,n={})=>{let r=new URLSearchParams;n.limit!==void 0&&r.set(`limit`,String(n.limit));let i=r.size?`?${r.toString()}`:``;return q(e,`/v1/local-agent-schedules/${encodeURIComponent(t)}/runs${i}`)},refreshOpenPondAccounts:e=>q(e,`/v1/openpond/accounts/refresh`,{method:`POST`,body:JSON.stringify({})}),refreshOpenPondAccount:e=>q(e,`/v1/openpond/account?refresh=1`),loadMoreOpenPondApps:(e,t)=>q(e,`/v1/openpond/apps/more?offset=${encodeURIComponent(String(t.offset))}&limit=${encodeURIComponent(String(t.limit))}`),switchOpenPondAccount:(e,t)=>q(e,`/v1/openpond/accounts/switch`,{method:`POST`,body:JSON.stringify(t)}),removeOpenPondAccount:(e,t)=>q(e,`/v1/openpond/accounts`,{method:`DELETE`,body:JSON.stringify(t)}),signOutOpenPondAccount:e=>q(e,`/v1/openpond/accounts/logout`,{method:`POST`,body:JSON.stringify({})}),saveOpenPondAccount:(e,t)=>q(e,`/v1/openpond/accounts/login`,{method:`POST`,body:JSON.stringify(t)}),updateOpenPondAccountConfig:(e,t)=>q(e,`/v1/openpond/accounts/config`,{method:`PATCH`,body:JSON.stringify(t)}),savePreferences:(e,t)=>q(e,`/v1/preferences`,{method:`PATCH`,body:JSON.stringify(t)}),saveProviderSettings:(e,t)=>q(e,`/v1/providers`,{method:`PATCH`,body:JSON.stringify(t)}),providerSettings:e=>q(e,`/v1/providers`),loadProviderModels:(e,t,n={})=>{let r=new URLSearchParams;n.query?.trim()&&r.set(`query`,n.query.trim()),n.limit&&r.set(`limit`,String(n.limit));let i=r.size?`?${r.toString()}`:``;return q(e,`/v1/providers/${encodeURIComponent(t)}/models${i}`)},refreshProviderModels:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/models`,{method:`POST`,body:JSON.stringify(n)}),saveProviderCredential:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/credential`,{method:`PUT`,body:JSON.stringify(n)}),deleteProviderCredential:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/credential`,{method:`DELETE`,body:JSON.stringify(n)}),startOpenAiSubscriptionAuth:(e,t)=>q(e,`/v1/providers/openai/subscription-auth`,{method:`POST`,body:JSON.stringify(t)}),validateProviderCredential:(e,t,n)=>q(e,`/v1/providers/${encodeURIComponent(t)}/validate`,{method:`POST`,body:JSON.stringify(n)}),savePersonalization:(e,t)=>q(e,`/v1/personalization`,{method:`PATCH`,body:JSON.stringify(t)}),recordClientDiagnostic:(e,t)=>q(e,`/v1/diagnostics/client`,{method:`POST`,body:JSON.stringify(t)}),profileCurrent:e=>q(e,`/v1/profile`),profileCatalog:e=>q(e,`/v1/profile/catalog`),profileWorkflows:e=>q(e,`/v1/profile/workflows`),profileEvaluations:e=>q(e,`/v1/profile/evaluations`),profileEvaluationDiscovery:(e,t,n)=>q(e,`/v1/profile/evaluations/discover`,{method:`POST`,body:JSON.stringify({profileRef:t}),signal:n}),profileEvaluationPrepare:(e,t)=>q(e,`/v1/profile/evaluations/prepare`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationRun:(e,t)=>q(e,`/v1/profile/evaluations/run`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationRunSuite:(e,t)=>q(e,`/v1/profile/evaluations/run-suite`,{method:`POST`,body:JSON.stringify(t)}),profileEvaluationCompare:(e,t)=>q(e,`/v1/profile/evaluations/compare`,{method:`POST`,body:JSON.stringify({id:`comparison-${crypto.randomUUID()}`,runIds:t})}),profileEvaluationSaveReport:(e,t,n)=>q(e,`/v1/profile/evaluations/reports`,{method:`POST`,body:JSON.stringify({id:`report-${crypto.randomUUID()}`,evidenceKind:t,evidenceId:n})}),profileSelect:(e,t)=>q(e,`/v1/profile/select`,{method:`POST`,body:JSON.stringify({ref:t})}),profileRemove:(e,t)=>q(e,`/v1/profile/remove`,{method:`POST`,body:JSON.stringify({ref:t})}),profilePublicationPreview:(e,t)=>q(e,`/v1/profile/publication/preview`,{method:`POST`,body:JSON.stringify(t)}),profilePublicationPublish:(e,t)=>q(e,`/v1/profile/publication/publish`,{method:`POST`,body:JSON.stringify(t)}),profileInstall:(e,t)=>q(e,`/v1/profile/install`,{method:`POST`,body:JSON.stringify(t)}),profileUpdate:(e,t)=>q(e,`/v1/profile/update`,{method:`POST`,body:JSON.stringify({ref:t})}),profileInit:(e,t)=>q(e,`/v1/profile/init`,{method:`POST`,body:JSON.stringify(t)}),profileLoad:(e,t)=>q(e,`/v1/profile/load`,{method:`POST`,body:JSON.stringify(t)}),profileCheck:(e,t)=>q(e,`/v1/profile/check`,{method:`POST`,body:JSON.stringify(t)}),profileAgentRename:(e,t,n)=>q(e,`/v1/profile/agents/${encodeURIComponent(t)}/name`,{method:`PATCH`,body:JSON.stringify(n)}),profileCommit:(e,t)=>q(e,`/v1/profile/commit`,{method:`POST`,body:JSON.stringify(t)}),profilePush:(e,t)=>q(e,`/v1/profile/push`,{method:`POST`,body:JSON.stringify(t)}),workspaceLspSettingsStatus:e=>q(e,`/v1/lsp/settings-status`),workspaceLspRuntimeStatus:e=>q(e,`/v1/lsp/status`),restartWorkspaceLsp:e=>q(e,`/v1/lsp/restart`,{method:`POST`}),remoteAccess:e=>q(e,`/v1/remote-access`),enableRemoteAccess:e=>q(e,`/v1/remote-access/enable`,{method:`POST`}),disableRemoteAccess:e=>q(e,`/v1/remote-access/disable`,{method:`POST`}),voiceTranscriptionStatus:(e,t={})=>q(e,`/v1/audio/transcriptions/status`,{signal:t.signal}),transcribeVoice:(e,t,n={})=>q(e,`/v1/audio/transcriptions`,{method:`POST`,body:JSON.stringify(t),signal:n.signal}),createSession:(e,t)=>q(e,`/v1/sessions`,{method:`POST`,body:JSON.stringify(t)}),patchSession:(e,t,n)=>q(e,`/v1/sessions/${t}`,{method:`PATCH`,body:JSON.stringify(n)}),codexHistoryThread:(e,t,n={})=>{let r=new URLSearchParams;n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.tail&&r.set(`tail`,`1`);let i=r.size?`?${r.toString()}`:``;return q(e,`/v1/codex-history/${encodeURIComponent(t)}${i}`)},codexHistoryThreadIncremental:(e,t,n={})=>{let r=new URLSearchParams({incremental:`1`});return n.afterEventId&&r.set(`afterEventId`,n.afterEventId),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.revision&&r.set(`revision`,n.revision),n.tail&&r.set(`tail`,`1`),q(e,`/v1/codex-history/${encodeURIComponent(t)}?${r.toString()}`)},sendCodexHistoryTurn:(e,t,n)=>q(e,`/v1/codex-history/${encodeURIComponent(t)}/turns`,{method:`POST`,body:JSON.stringify(n)}),interruptCodexHistoryTurn:(e,t)=>q(e,`/v1/codex-history/${encodeURIComponent(t)}/turns/interrupt`,{method:`POST`}),patchSidebarAppPreference:(e,t,n)=>q(e,`/v1/sidebar/apps/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),reorderSidebarApps:(e,t)=>q(e,`/v1/sidebar/apps/reorder`,{method:`POST`,body:JSON.stringify(t)}),sidebarFiles:e=>q(e,`/v1/sidebar/files`),patchSidebarFile:(e,t)=>q(e,`/v1/sidebar/files`,{method:`PATCH`,body:JSON.stringify(t)}),workspaceStatus:(e,t,n=!1,r={})=>q(e,`/v1/workspaces/${encodeURIComponent(t)}${n?`?ensure=1`:``}`,{signal:r.signal}),createWorkspaceBranch:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/branches`,{method:`POST`,body:JSON.stringify(n)}),checkoutWorkspaceBranch:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/branch`,{method:`PATCH`,body:JSON.stringify(n)}),workspaceDiff:(e,t,n={})=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/diff`,{signal:n.signal}),resolveWorkspaceFile:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/resolve-file?path=${encodeURIComponent(n)}`),workspaceFileVersion:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/file-version?path=${encodeURIComponent(n)}`),workspaceFile:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}`),saveWorkspaceFile:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/file`,{method:`PATCH`,body:JSON.stringify(n)}),signWorkspaceImageUrl:(e,t)=>q(e,`/v1/assets/workspace-image-url`,{method:`POST`,body:JSON.stringify(t)}),signLocalImageUrl:(e,t)=>q(e,`/v1/assets/local-image-url`,{method:`POST`,body:JSON.stringify(t)}),signLocalVideoUrl:(e,t)=>q(e,`/v1/assets/local-video-url`,{method:`POST`,body:JSON.stringify(t)}),signChatAttachmentImageUrl:(e,t)=>q(e,`/v1/assets/chat-attachment-image-url`,{method:`POST`,body:JSON.stringify(t)}),chatAttachmentFile:(e,t)=>q(e,`/v1/assets/chat-attachment-file`,{method:`POST`,body:JSON.stringify(t)}),workspaceLspTouch:(e,t,n,r={})=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/lsp/touch`,{method:`POST`,body:JSON.stringify(n),signal:r.signal}),workspaceLspAction:(e,t,n)=>q(e,`/v1/workspaces/${encodeURIComponent(t)}/lsp/action`,{method:`POST`,body:JSON.stringify(n)}),workspaceTemplateConfig:(e,t)=>q(e,`/v1/openpond/apps/${encodeURIComponent(t)}/template-config`),...qa,...to,createLocalProject:(e,t)=>q(e,`/v1/projects`,{method:`POST`,body:JSON.stringify(t)}),updateLocalProjectAgentSetup:(e,t,n)=>q(e,`/v1/projects/${encodeURIComponent(t)}`,{method:`PATCH`,body:JSON.stringify(n)}),uploadLocalProjectCloudSource:(e,t,n)=>q(e,`/v1/projects/${encodeURIComponent(t)}/cloud-source`,{method:`POST`,body:JSON.stringify(n)}),previewLocalProjectCloudSource:(e,t,n={})=>{let r=new URLSearchParams;n.branch?.trim()&&r.set(`branch`,n.branch.trim());let i=r.toString()?`?${r.toString()}`:``;return q(e,`/v1/projects/${encodeURIComponent(t)}/cloud-source/preview${i}`)},deleteLocalProject:(e,t)=>q(e,`/v1/projects/${encodeURIComponent(t)}`,{method:`DELETE`}),gitAvailability:e=>q(e,`/v1/system/git`),installMacOSCommandLineTools:e=>q(e,`/v1/system/git/install-command-line-tools`,{method:`POST`,body:JSON.stringify({})}),...Ja,resolveApproval:(e,t,n)=>q(e,`/v1/approvals/${t}`,{method:`POST`,body:JSON.stringify(n)})};function vo(e){let t=new URLSearchParams;return e.range&&t.set(`range`,e.range),e.visibility&&t.set(`visibility`,e.visibility),e.status&&t.set(`status`,e.status),e.provider&&t.set(`provider`,e.provider),e.model&&t.set(`model`,e.model),t}var yo=J(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),bo=J(`archive-restore`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]),xo=J(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),So=J(`bookmark`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z`,key:`1fy3hk`}]]),Co=J(`bookmark-x`,[[`path`,{d:`m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z`,key:`169p4p`}],[`path`,{d:`m14.5 7.5-5 5`,key:`3lb6iw`}],[`path`,{d:`m9.5 7.5 5 5`,key:`ko136h`}]]),wo=J(`book-open-text`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M16 12h2`,key:`7q9ll5`}],[`path`,{d:`M16 8h2`,key:`msurwy`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}],[`path`,{d:`M6 12h2`,key:`32wvfc`}],[`path`,{d:`M6 8h2`,key:`30oboj`}]]),To=J(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),Eo=J(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),Do=J(`chart-column-stacked`,[[`path`,{d:`M11 13H7`,key:`t0o9gq`}],[`path`,{d:`M19 9h-4`,key:`rera1j`}],[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`rect`,{x:`15`,y:`5`,width:`4`,height:`12`,rx:`1`,key:`q8uenq`}],[`rect`,{x:`7`,y:`8`,width:`4`,height:`9`,rx:`1`,key:`sr5ea`}]]),Oo=J(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),ko=J(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ao=J(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),jo=J(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),Mo=J(`credit-card`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`2`,key:`ynyp8z`}],[`line`,{x1:`2`,x2:`22`,y1:`10`,y2:`10`,key:`1b3vmo`}]]),No=J(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),Po=J(`file-output`,[[`path`,{d:`M4.226 20.925A2 2 0 0 0 6 22h12a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v3.127`,key:`wfxp4w`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 11-3 3`,key:`1dgrs4`}],[`path`,{d:`m5 17-3-3h10`,key:`1mvvaf`}]]),Fo=J(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Io=J(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Lo=J(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),Ro=J(`git-branch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),zo=J(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),Bo=J(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Vo=J(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ho=J(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),Uo=J(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Wo=J(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Go=J(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),Ko=J(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),qo=J(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),Jo=J(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),Yo=J(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Xo=J(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Zo=J(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Qo=J(`shapes`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),$o=J(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),es=J(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),ts=J(`user-round`,[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]]),ns=J(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),rs=J(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),is=J(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);function as({error:e,prefix:t,children:n}){return Dn(e,{prefix:t}),e?n??null:null}function os(){let[e,t]=(0,Y.useState)(null);return(0,Y.useEffect)(()=>{let e=window.openpond?.updates;if(!e)return;let n=!0,r=e=>{n&&t(t=>!t||e.revision>t.revision?e:t)},i=e.onState(r);return e.getState().then(r).catch(()=>void 0),()=>{n=!1,i()}},[]),e}function ss(e){let t=os(),[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(null),o=window.openpond?.updates,s=n!==null||t?.status===`checking`||t?.status===`downloading`||t?.status===`restarting`,c=i?.revision===t?.revision?i?.message:t?.error;async function l(n){if(!s&&o&&t){r(n),a(null);try{if(n===`restart`){if(!window.dispatchEvent(new Event(`openpond:before-update`,{cancelable:!0})))throw Error(`Could not save your drafts. Save them before restarting to update.`);await o.restartAndInstall({hasRunningWork:e})}else n===`check`?await o.check():await o.download()}catch(e){a({revision:t.revision,message:e instanceof Error?e.message:`The update could not start. Try again.`})}finally{r(null)}}}return{state:t,busy:s,pendingAction:n,error:c,run:l}}function cs({hasRunningWork:e}){let{state:t,busy:n,error:r,run:i}=ss(e),a=window.openpond?.updates,o=t?.status===`error`&&t.retry===`check`;if(!t||!t.version&&!o||t.status===`unsupported`||!a)return null;let s=t.status===`ready`||t.status===`restarting`||t.retry===`restart`,c=o?`Retry update check`:s?`Restart to update`:`Update`,l=r??(t.status===`checking`?`Checking for updates…`:n?s?`Restarting OpenPond…`:`Downloading OpenPond ${t.version}${t.progress===null?``:` (${t.progress}%)`}…`:s?`OpenPond ${t.version} is ready. It will be applied when you restart.`:`Download OpenPond ${t.version}`);return(0,X.jsxs)(`div`,{className:`sidebar-update-control`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`sidebar-update-pill`,title:l,"aria-label":n?l:`${c}${t.version?` (${t.version})`:``}`,"aria-busy":n,disabled:n,onClick:()=>void i(s?`restart`:t.retry===`check`?`check`:`download`),children:[(0,X.jsx)(`span`,{className:`sidebar-update-icon${n?` sidebar-update-spinner`:``}`,"aria-hidden":`true`,children:n?(0,X.jsx)(_n,{size:14}):s||o?(0,X.jsx)(xn,{size:14}):(0,X.jsx)(No,{size:14})}),(0,X.jsx)(`span`,{children:c})]}),(0,X.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:t.status===`ready`?`OpenPond ${t.version} is ready to install. Restart to update.`:``}),r?(0,X.jsx)(as,{error:r}):null]})}function ls(e,t,n,r){return q(e,t===`dataset`?`/v1/local-datasets`:`/v1/chat-experiments`,{method:`POST`,body:JSON.stringify(n),signal:r})}function us(e){let[t,n]=(0,Y.useState)({resources:[],links:[]});return(0,Y.useEffect)(()=>{if(n({resources:[],links:[]}),!e)return;let t=new AbortController,r,i=async()=>{try{let r=await ls(e,`dataset`,{action:`resource_index`},t.signal);t.signal.aborted||n(r)}catch{}t.signal.aborted||(r=setTimeout(()=>void i(),15e3))};return i(),()=>{t.abort(),clearTimeout(r)}},[e]),{trainingSessionIds:(0,Y.useMemo)(()=>new Set(t.links.map(e=>e.sessionId)),[t.links])}}var ds=J(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),fs=J(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ps=J(`panels-top-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 21V9`,key:`1oto5p`}]]);function ms({value:e,options:t,disabled:n,compact:r,className:i,icon:a,triggerContent:o,placement:s=`bottom`,label:c,tooltip:l,searchable:u=!1,floating:d=!1,floatingMenuWidth:f,floatingMenuMaxHeight:p=320,openOnHover:m=!1,onChange:h}){let[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(``),b=(0,Y.useRef)(null),x=(0,Y.useRef)(null),S=(0,Y.useRef)(!1),C=(0,Y.useRef)(null);function w(){C.current!==null&&clearTimeout(C.current),C.current=null}function T(){w(),S.current=!1,_(!1)}(0,Y.useEffect)(()=>()=>{C.current!==null&&clearTimeout(C.current)},[]);let[E,D]=(0,Y.useState)();(0,Y.useLayoutEffect)(()=>{if(!g||!d&&s!==`right`)return;function e(){let e=b.current?.getBoundingClientRect();if(!e)return;if(s===`right`){let t=Math.min(f??240,window.innerWidth-24),n=Math.min(p,window.innerHeight-24),r=Math.min(b.current?.querySelector(`[role="menu"]`)?.getBoundingClientRect().height??n,n),i=e.right+12+t<=window.innerWidth-12?e.right+12:Math.max(12,e.left-t-12);D({position:`fixed`,left:i,top:Math.max(12,Math.min(e.top,window.innerHeight-r-12)),width:t,minWidth:0,maxWidth:`calc(100vw - 24px)`,right:`auto`,bottom:`auto`,maxHeight:n,overflowY:`auto`,zIndex:1e3});return}let t=window.innerHeight-e.bottom-12,n=e.top-12,r=t<180&&n>t,i=Math.min(f??e.width,window.innerWidth-24);D({position:`fixed`,left:Math.max(12,Math.min(e.left,window.innerWidth-i-12)),width:i,minWidth:0,maxWidth:`calc(100vw - 24px)`,right:`auto`,top:r?`auto`:e.bottom+5,bottom:r?window.innerHeight-e.top+5:`auto`,maxHeight:Math.max(80,Math.min(p,r?n-5:t-5)),overflowY:`auto`,zIndex:1e3})}return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[g,d,f,p,s]),(0,Y.useLayoutEffect)(()=>{if(g&&s===`right`){let e=b.current?.querySelector(`[role="menu"]`);(e?.querySelector(`[aria-checked="true"]:not(:disabled)`)??e?.querySelector(`[role="menuitemradio"]:not(:disabled)`))?.focus()}},[g,s]);let O=t.find(t=>t.value===e)??t[0],k=v.trim().toLowerCase(),A=k?t.filter(e=>[e.label,e.shortLabel,e.description].some(e=>e?.toLowerCase().includes(k))):t;return(0,Y.useEffect)(()=>{if(!g){y(``);return}function e(e){b.current?.contains(e.target)||T()}function t(e){if(e.key===`Escape`){let e=b.current?.contains(document.activeElement);T(),e&&x.current?.focus()}}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[g]),(0,X.jsxs)(`div`,{className:`dropdown-select ${i??``} ${r?`compact`:``} ${s===`top`?`open-up`:``}`,onKeyDown:e=>{if(s===`right`){if(g&&(e.key===`Escape`||e.key===`ArrowLeft`))e.preventDefault(),e.stopPropagation(),T(),x.current?.focus();else if(!g&&e.key===`ArrowRight`)e.preventDefault(),_(!0);else if(g&&[`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=Array.from(b.current?.querySelectorAll(`[role="menuitemradio"]:not(:disabled)`)??[]),n=t.indexOf(document.activeElement);t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length]?.focus()}}},"data-tooltip":l,ref:b,onPointerEnter:m?e=>{n||e.pointerType===`touch`||(w(),g||(S.current=!0,_(!0)))}:void 0,onPointerLeave:m?()=>{S.current&&(w(),C.current=setTimeout(()=>{b.current?.contains(document.activeElement)||T()},180))}:void 0,children:[(0,X.jsx)(`button`,{type:`button`,ref:x,className:`dropdown-trigger ${g?`active`:``}`,disabled:n,"aria-label":c,"aria-haspopup":`menu`,"aria-expanded":g,onClick:()=>{w(),S.current?(S.current=!1,_(!0)):g?T():_(!0)},children:o??(0,X.jsxs)(X.Fragment,{children:[a,(0,X.jsx)(`span`,{title:O?.label,children:O?.shortLabel??O?.label??e}),s===`right`?(0,X.jsx)(mn,{size:14}):(0,X.jsx)(pn,{size:14})]})}),g&&(0,X.jsxs)(`div`,{className:`dropdown-menu`,role:`menu`,style:d||s===`right`?E:void 0,children:[u?(0,X.jsxs)(`label`,{className:`dropdown-search`,onClick:e=>e.stopPropagation(),children:[(0,X.jsxs)(`span`,{className:`sr-only`,children:[`Search `,c]}),(0,X.jsx)(`input`,{autoFocus:!0,placeholder:`Search ${c.toLowerCase()}`,value:v,onChange:e=>y(e.target.value)})]}):null,A.map(t=>(0,X.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t.value===e,title:t.label,disabled:t.disabled,className:[t.value===e?`selected`:``,t.separatorBefore?`separator-before`:``,t.icon?`with-icon`:``].filter(Boolean).join(` `),onClick:()=>{t.disabled||(h(t.value),y(``),T())},children:[(0,X.jsxs)(`span`,{children:[t.icon===`plus`?(0,X.jsx)(bn,{size:13}):null,(0,X.jsx)(`span`,{children:t.label})]}),t.description&&(0,X.jsx)(`small`,{children:t.description})]},t.value)),A.length?null:(0,X.jsx)(`div`,{className:`dropdown-empty`,children:`No matches`})]})]})}function hs(e){let t=Nn(e);if(!t?.resourceId||t.detailTab!==`diagnostics`||![`experiments`,`runs`].includes(t.page))return``;let n=e.hash?.replace(/^#/,``)??``;if(!n||n.length>2e3)return``;let r=new URLSearchParams(n);if([...r.keys()].some(e=>![`diagnostic-task`,`diagnostic-attempt`,`event`].includes(e)||r.getAll(e).length!==1||!r.get(e)||r.get(e).length>500))return``;let i=r.get(`diagnostic-attempt`);return i&&!/^[1-9]\d{0,8}$/.test(i)?``:`#${r}`}var gs=new Set,_s=new Set,vs=new Set([`appearance`,`account`,`notifications`,`harness`,`harness-refiner`,`harness-continuous-review`,`harness-contents`,`harness-releases`,`profile`,`skills`,`configuration`,`context`,`training`,`subagents`,`editor`,`providers`,`conversation-imports`,`dataset-storage`,`remote`,`usage`,`personalization`,`diagnostics`]),ys={apps:`/apps`,outputs:`/outputs`,projects:`/projects`,scheduled:`/workflows`,"get-started":`/get-started`,team:`/team`,community:`/community`},bs=!1,xs=``,Ss=null,Cs=null,ws=``,Ts=0,Es=null,Ds=!1,Os=null,ks=!1;function As(e){let t=Nn(e);if(t)return{kind:`models`,route:t};let n=e.pathname.split(`/`).filter(Boolean);if(n[0]===`models`||n[0]===`console`)return{kind:`models_unavailable`,pathname:e.pathname,search:e.search??``};if(n[0]===`settings`&&n.length===2&&vs.has(n[1])){let t=Ns(new URLSearchParams(e.search??``).get(`returnTo`));return{kind:`settings`,section:n[1],...t?{returnTo:t}:{}}}if(n[0]===`chat`&&n.length<=2)try{return{kind:`chat`,sessionId:n[1]&&n[1]!==`new`?decodeURIComponent(n[1]):null}}catch{return null}let r=Object.keys(ys).find(t=>ys[t]===e.pathname);return r?{kind:`view`,view:r}:null}function js(e){if(e.kind===`models`)return kn(e.route);if(e.kind===`models_unavailable`)return`${e.pathname}${e.search}`;if(e.kind===`settings`){let t=Ns(e.returnTo??null);return`/settings/${e.section}${t?`?${new URLSearchParams({returnTo:t})}`:``}`}return e.kind===`chat`?e.sessionId?`/chat/${encodeURIComponent(e.sessionId)}`:`/chat/new`:ys[e.view]}function Ms(e){let t=e?.kind===`settings`?Ns(e.returnTo??null):null;if(t){let e=new URL(t,`https://local.openpond.invalid`),n=Nn(e);if(n)return{kind:`models`,route:n}}return{kind:`chat`,sessionId:null}}function Ns(e){if(!e||e.length>6e3||![`/models`,`/console`].some(t=>e.startsWith(t))||e.startsWith(`//`))return null;let t=new URL(e,`https://local.openpond.invalid`);if(t.origin!==`https://local.openpond.invalid`||t.hash)return null;let n=Nn(t);return n?kn(n):null}function Ps(){return`${window.location.pathname}${window.location.search}${hs(window.location)}`}function Fs(){if(typeof window>`u`)return;let e=bs?ws:Ps();e!==xs&&(xs=e,Ss=As(new URL(e,window.location.origin)),Cs=Ss?.kind===`models`?Ss.route:null)}function Is(){xs=``,Fs();for(let e of _s)e()}async function Ls(e){if(ks)return!1;ks=!0;try{for(let t of[...gs].reverse())if(!await t(e))return!1;return!0}finally{ks=!1}}function Rs(e){return{...window.history.state,openpondNavigationIndex:e}}async function zs(){let e=Ps(),t=typeof window.history.state?.openpondNavigationIndex==`number`?window.history.state.openpondNavigationIndex:Ts-1;if(Es&&t===Ts){let e=Es;Es=null,e();return}if(Os===t||gs.size===0){Os=null,ws=e,Ts=t,window.history.replaceState(Rs(Ts),``,e),Is();return}if(t===Ts)return;if(Ds||ks){Es??=()=>void 0,window.history.go(Ts-t);return}Ds=!0;let n=t-Ts;try{await new Promise(e=>{Es=e,window.history.go(-n)}),await Ls(e)&&(Os=t,window.history.go(n))}finally{Ds=!1}}function Bs(){if(bs||typeof window>`u`)return;let e=As(window.location);ws=e?`${js(e)}${hs(window.location)}`:Ps(),Ts=typeof window.history.state?.openpondNavigationIndex==`number`?window.history.state.openpondNavigationIndex:0,window.history.replaceState(Rs(Ts),``,ws),window.addEventListener(`popstate`,zs),bs=!0}function Vs(e){return _s.add(e),Bs(),()=>{_s.delete(e)}}function Hs(e){return gs.add(e),Bs(),()=>{gs.delete(e)}}async function Us(e){!Ds&&await Ls(Ps())&&e()}function Ws(){return(0,Y.useSyncExternalStore)(Vs,()=>(Fs(),Cs),()=>null)}function Gs(){return(0,Y.useSyncExternalStore)(Vs,()=>(Fs(),Ss),()=>null)}async function Ks(e,t=`push`,n=()=>!0){if(typeof window>`u`||!n()||(Bs(),Ds))return!1;if(e.kind===`settings`&&!e.returnTo){let t=As(window.location),n=t?.kind===`models`?kn(t.route):t?.kind===`settings`?t.returnTo:void 0;n&&(e={...e,returnTo:n})}let r=js(e);return Ps()===r?!0:!await Ls(r)||!n()?!1:(t===`push`&&Ts++,window.history[t===`replace`?`replaceState`:`pushState`](Rs(Ts),``,r),ws=r,Is(),!0)}function qs(e,t=`push`){return Ks({kind:`models`,route:e},t)}function Js({beginNewChat:e}){return(0,X.jsx)(`button`,{className:`sidebar-icon`,type:`button`,"aria-label":`New thread`,"data-tooltip":`New thread`,"data-tooltip-placement":`bottom`,onClick:async()=>{await Ks({kind:`chat`,sessionId:null})&&e(null)},children:(0,X.jsx)(es,{size:16})})}function Ys({productArea:e=`chat`,setSectionMenuOpen:t,setSelectedAppId:n,setSelectedProjectId:r,setSelectedSessionId:i,setView:a,view:o,modelProjects:s=[],modelTrainingActivityByProjectId:c={}}){let l=Ws(),u=l?.modelId??null,d=l?.page??`models`;function f(){n(null),r(null),i(null),t(null)}async function p(t){await qs(An(t,[`home`,`inbox`,`datasets`,`graders`,`experiments`,`runs`].includes(t)?null:u,{...e===`console`?{area:`console`}:{},...[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(t)&&l?.projectId!==void 0?{projectId:l.projectId}:{}}))&&(f(),a(`labs`))}async function m(e){await qs(Mn(l??An(),e||null))&&(f(),a(`labs`))}async function h(e){await Ks({kind:`view`,view:e})&&(f(),a(e))}let g=u?c[u]??null:null;return(0,X.jsxs)(`nav`,{className:`sidebar-nav`,"aria-label":`Primary`,children:[e===`chat`?null:(0,X.jsxs)(X.Fragment,{children:[[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(d)?null:(0,X.jsxs)(`div`,{className:`sidebar-model-project-picker`,children:[(0,X.jsx)(`span`,{className:`sidebar-nav-group-label`,children:`Model`}),(0,X.jsx)(ms,{label:`Model`,searchable:s.length>8,value:u??``,options:[{value:``,label:`All models`},...u&&!s.some(e=>e.id===u)?[{value:u,label:`Unavailable model`,disabled:!0}]:[],...s.map(e=>({value:e.id,label:e.name}))],onChange:e=>void m(e)})]}),Pn.filter(t=>e===`console`?[`home`,`inbox`,`datasets`,`graders`,`experiments`,`runs`].includes(t):t!==`home`&&t!==`tasksets`&&t!==`evaluations`).map(e=>{let t={"get-started":To,home:ds,inbox:ns,models:yo,datasets:To,graders:$o,experiments:ko,tasks:To,tasksets:To,labeling:ko,rewards:$o,evaluations:ko,runs:Do,versions:Ro,serving:jo}[e];return(0,X.jsxs)(`button`,{className:`nav-command ${o===`labs`&&(d===e||e===`runs`&&d===`evaluations`)?`active`:``}`,"aria-current":o===`labs`&&(d===e||e===`runs`&&d===`evaluations`)?`page`:void 0,type:`button`,onClick:()=>void p(e),children:[(0,X.jsx)(t,{size:16}),(0,X.jsx)(`span`,{children:jn[e]}),e===`runs`&&g?(0,X.jsx)(`span`,{className:`sidebar-running-dot`,"aria-label":g.label}):null]},e)})]}),e===`chat`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`scheduled`?`active`:``}`,"aria-label":`Workflows`,type:`button`,onClick:()=>{h(`scheduled`)},children:[(0,X.jsx)(Eo,{size:18}),(0,X.jsx)(`span`,{children:`Workflows`})]}),(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`outputs`?`active`:``}`,"aria-label":`Outputs`,type:`button`,onClick:()=>{h(`outputs`)},children:[(0,X.jsx)(Po,{size:18}),(0,X.jsx)(`span`,{children:`Outputs`})]}),(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`apps`?`active`:``}`,"aria-label":`Apps`,type:`button`,onClick:()=>{h(`apps`)},children:[(0,X.jsx)(Qo,{size:18}),(0,X.jsx)(`span`,{children:`Apps`})]}),(0,X.jsxs)(`button`,{className:`nav-command nav-command-prominent ${o===`projects`?`active`:``}`,"aria-label":`Projects`,type:`button`,onClick:()=>{h(`projects`)},children:[(0,X.jsx)(Lo,{size:18}),(0,X.jsx)(`span`,{children:`Projects`})]})]}):null]})}function Xs(e,t,n,r=!0){return w({queryKey:[`ponder-work`,dn(e),n],enabled:!!(e&&t),staleTime:2e3,refetchInterval:r?3e3:!1,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:async()=>{let[t,n]=await Promise.all([q(e,`/v1/ponder/work`),q(e,`/v1/ponder/desktop`)]);return{...t,localHandoffs:sa.array().parse(t.localHandoffs),ownerScope:n.ownerScope}}})}function Zs(e,t){return Math.min(Math.max(e,15)+10,t)}function Qs(e,t){let n=Math.max(15,Math.min(e,t));if(n<=15)return 15;let r=Math.ceil((n-15)/10);return Math.max(15,15+(r-1)*10)}function $s(e,t){if(!e)return t?.path??`Use files on this machine`;if(e.error)return`status unavailable`;if(!e.initialized)return`not checked out`;let n=[e.currentBranch??t?.branch??e.defaultBranch??`no branch`],r=nc(e),i=t?.linkedCloudSourceKnown===!1&&!!e.headCommit;return r?n.push(r):i?n.push(`upload required`):e.diverged?(e.ahead>0&&n.push(ic(`ahead`,e.ahead)),e.behind>0&&n.push(ic(`behind`,e.behind)),n.push(`diverged`)):(e.ahead>0&&n.push(ic(`ahead`,e.ahead)),e.behind>0&&n.push(ic(`behind`,e.behind))),e.changedFilesCount>0?n.push(`${e.changedFilesCount} changed`):e.dirty&&n.push(`dirty`),e.untrackedFilesCount>0&&n.push(`${e.untrackedFilesCount} untracked`),n.length===1&&n.push(`synced`),n.join(` / `)}function ec(e,t,n,r={}){let i=e?.linkedSandboxProject??null;if(!i?.projectId&&!t)return`upload required`;if(i?.projectId&&r.cloudLinkTrusted===!1)return`uploaded to a different account`;let a=i?.defaultBranch??t?.defaultBranch??`main`,o=i?.manifestHash??null,s=e?.sandboxTemplate?.manifestHash??null,c=i?.syncedAt??t?.syncedAt??null,l=!!(o&&s&&o!==s),u=!!(i?.projectId&&n?.headCommit&&!i.lastUploadedCommit),d=rc(n);return d?`${a} / ${d}`:u?`${a} / upload required`:`${a} / ${l||!c?`needs sync`:`setup ready`}`}function tc(e,t,n={}){if(!e)return`select a local project`;if(e.linkedSandboxProject?.projectId&&n.cloudLinkTrusted===!1)return`sync to this account`;if(!t)return e.linkedSandboxProject?`sync source to cloud`:`push local source to cloud`;if(t.error)return`repo status unavailable`;if(!t.initialized)return`local repo unavailable`;let r=[],i=t.aheadOfLinkedSource>0?t.aheadOfLinkedSource:t.ahead;return e.linkedSandboxProject?.projectId||r.push(`upload required`),e.linkedSandboxProject?.projectId&&t.headCommit&&!e.linkedSandboxProject.lastUploadedCommit&&r.push(`upload required`),i>0&&r.push(ac(i)),t.linkedSourceHeadCommit&&t.headCommit&&t.linkedSourceHeadCommit!==t.headCommit&&t.linkedSourceComparisonError&&i===0&&r.push(`source changed`),t.changedFilesCount>0&&r.push(`${t.changedFilesCount} changed file${t.changedFilesCount===1?``:`s`}`),t.untrackedFilesCount>0&&r.push(`${t.untrackedFilesCount} untracked skipped`),r.length>0?r.join(` / `):`nothing to upload`}function nc(e){return e.linkedSourceHeadCommit?e.divergedFromLinkedSource?`diverged`:e.aheadOfLinkedSource>0?ic(`local ahead`,e.aheadOfLinkedSource):e.behindLinkedSource>0?ic(`cloud ahead`,e.behindLinkedSource):e.linkedSourceComparisonError&&e.headCommit&&e.linkedSourceHeadCommit!==e.headCommit?`sync unknown`:null:null}function rc(e){return e?.linkedSourceHeadCommit?e.dirty?`local dirty files not in cloud`:e.divergedFromLinkedSource?`diverged from local`:e.aheadOfLinkedSource>0?ic(`cloud behind local`,e.aheadOfLinkedSource):e.behindLinkedSource>0?ic(`cloud ahead local`,e.behindLinkedSource):e.linkedSourceComparisonError&&e.headCommit&&e.linkedSourceHeadCommit!==e.headCommit?`source check unavailable`:`synced`:null}function ic(e,t){return`${e} by ${ac(t)}`}function ac(e){return`${e} commit${e===1?``:`s`}`}function oc({size:e=14,className:t}){return(0,X.jsxs)(`svg`,{className:[`lucide lucide-cloud-upload`,t??``].filter(Boolean).join(` `),xmlns:`http://www.w3.org/2000/svg`,width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:`M12 13v8`}),(0,X.jsx)(`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}),(0,X.jsx)(`path`,{d:`m8 17 4-4 4 4`})]})}function sc({kind:e,linkedCloud:t=!1,open:n=!1,className:r,baseSize:i=15}){let a=e===`cloud`?`cloud`:n?`folder-open`:`folder`;return(0,X.jsx)(`span`,{className:[`project-kind-icon`,e,t?`linked-cloud`:``,r??``].filter(Boolean).join(` `),"aria-hidden":`true`,children:(0,X.jsxs)(`svg`,{className:`lucide lucide-${a} project-kind-icon-svg`,xmlns:`http://www.w3.org/2000/svg`,width:i,height:i,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[e===`cloud`?(0,X.jsx)(uc,{}):n?(0,X.jsx)(lc,{}):(0,X.jsx)(cc,{}),t&&e===`local`?(0,X.jsx)(dc,{}):null]})})}function cc(){return(0,X.jsx)(`path`,{className:`project-kind-icon-base`,d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`})}function lc(){return(0,X.jsx)(`path`,{className:`project-kind-icon-base`,d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`})}function uc(){return(0,X.jsx)(`path`,{className:`project-kind-icon-base`,d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`})}function dc(){return(0,X.jsxs)(`g`,{className:`project-kind-icon-cloud-badge`,children:[(0,X.jsx)(`circle`,{cx:`18`,cy:`17`,r:`5`}),(0,X.jsx)(`path`,{d:`M20.4 18.6h-4.2a2.2 2.2 0 1 1 2.08-2.9h.88a1.45 1.45 0 1 1 1.24 2.9Z`})]})}function fc({title:e,pinned:t,savedForLater:n,archived:r,onRename:i,onTogglePin:a,onToggleSaveForLater:o,onDockRight:s,onArchive:c}){let l=(0,Y.useRef)(null),u=(0,Y.useRef)(null),[d,f]=(0,Y.useState)(null),p=[...i?[{label:`Rename`,Icon:es,action:i}]:[],{label:t?`Unpin`:`Pin`,Icon:t?qo:Ko,action:a},...o?[{label:n?`Return to active`:`Save for later`,Icon:n?Co:So,action:o}]:[],...s?[{label:`Open in right panel`,Icon:Go,action:s}]:[],{label:r?`Reopen`:`Mark done`,Icon:r?bo:Oo,action:c}];function m(e=!1){f(null),e&&l.current?.focus()}return(0,Y.useEffect)(()=>{if(!d)return;u.current?.querySelector(`button`)?.focus();let e=e=>{!u.current?.contains(e.target)&&!l.current?.contains(e.target)&&f(null)},t=()=>f(null);return document.addEventListener(`pointerdown`,e),window.addEventListener(`resize`,t),()=>{document.removeEventListener(`pointerdown`,e),window.removeEventListener(`resize`,t)}},[d]),(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`sidebar-row-actions sidebar-task-menu-trigger${d?` is-open`:``}`,children:(0,X.jsx)(`button`,{ref:l,type:`button`,className:`sidebar-row-action`,"aria-label":`More actions for task ${e}`,"aria-haspopup":`menu`,"aria-expanded":!!d,draggable:!1,onDoubleClick:e=>e.stopPropagation(),onClick:e=>{if(e.stopPropagation(),d){m(!0);return}let t=e.currentTarget.getBoundingClientRect();f({left:Math.max(8,Math.min(t.right-192,window.innerWidth-200)),top:Math.max(8,Math.min(t.bottom+4,window.innerHeight-(p.length*32+17)))})},children:(0,X.jsx)(Uo,{size:16})})}),d&&(0,Wi.createPortal)((0,X.jsx)(`div`,{ref:u,role:`menu`,"aria-label":`Actions for ${e}`,className:`sidebar-task-menu`,style:d,onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||m()},onKeyDown:e=>{e.stopPropagation();let t=Array.from(e.currentTarget.querySelectorAll(`button`)),n=t.indexOf(document.activeElement);e.key===`Escape`&&(e.preventDefault(),m(!0)),[`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&(e.preventDefault(),t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length]?.focus())},children:p.map(({label:e,Icon:t,action:n},r)=>(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,className:r===p.length-1?`task-menu-done`:void 0,onClick:()=>{m(!0),n()},children:[(0,X.jsx)(t,{size:15}),e]},e))}),document.body)]})}function pc({session:e,onSave:t,onClose:n}){let[r,i]=(0,Y.useState)(e.title),a=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let e=a.current;e&&(e.focus(),e.select())},[]),(0,Y.useEffect)(()=>{function e(e){e.key===`Escape`&&n()}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[n]);function o(){let e=r.trim();e&&(t(e),n())}function s(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),o())}return(0,X.jsx)(`div`,{className:`git-dialog-backdrop rename-chat-backdrop`,role:`presentation`,onMouseDown:n,children:(0,X.jsxs)(`section`,{className:`git-dialog rename-chat-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`rename-chat-title`,onMouseDown:e=>e.stopPropagation(),children:[(0,X.jsx)(`h2`,{id:`rename-chat-title`,children:`Rename chat`}),(0,X.jsx)(`textarea`,{ref:a,className:`rename-chat-input`,value:r,rows:1,maxLength:200,onChange:e=>i(e.target.value),onKeyDown:s,"aria-label":`Chat title`}),(0,X.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:n,children:`Cancel`}),(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,autoFocus:!0,onClick:o,disabled:!r.trim(),children:`Save`})]})]})})}var mc=`taskDraft`;function hc(e){if(e?.experience!==`work`)return null;let t=e.metadata?.[mc];if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t.prompt;return typeof n==`string`&&n.trim()?n:null}function gc(e){return hc(e)!==null}function _c(e){return(e.split(/\r?\n/u).map(e=>e.trim()).find(Boolean)||`Task draft`).slice(0,64)}function vc(e,t,n=new Date().toISOString()){let r={version:1,prompt:t,savedAt:n};return{...e??{},[mc]:r}}function yc(e){let t={...e??{}};return delete t[mc],t}var bc=24;function xc({title:e}){let t=(0,Y.useRef)(e),[n,r]=(0,Y.useState)(e);return(0,Y.useEffect)(()=>{let n=t.current;if(t.current=e,!e){r(``);return}if(n||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){r(e);return}let i=Array.from(e),a=0;r(``);let o=window.setInterval(()=>{a+=1,r(i.slice(0,a).join(``)),a>=i.length&&window.clearInterval(o)},bc);return()=>window.clearInterval(o)},[e]),(0,X.jsx)(`span`,{className:`sidebar-task-title-text`,"aria-label":e||`New task`,children:n||`New task`})}var Sc={codex:`Codex`,"claude-code":`Claude Code`,opencode:`OpenCode`,"grok-build":`Grok Build`};function Cc({session:e}){let t=Sc[e.provider],n=t??(H(e.provider)?typeof e.metadata?.acpAgentName==`string`?e.metadata.acpAgentName:`ACP agent`:e.provider===`openpond`?`OpenPond`:e.provider);return(0,X.jsx)(`span`,{className:`conversation-source-icon`,role:`img`,"aria-label":n,title:n,children:t?(0,X.jsx)(`img`,{src:`/agent-sources/${e.provider}.svg`,alt:``}):e.provider===`openpond`?(0,X.jsx)(`img`,{src:c,alt:``}):H(e.provider)?(0,X.jsx)(fn,{size:15,"aria-hidden":`true`}):e.metadata?.nativeSource?(0,X.jsx)(is,{size:15,"aria-hidden":`true`}):e.provider===`openai`?(0,X.jsx)(fn,{size:15,"aria-hidden":`true`}):(0,X.jsx)(yn,{size:15,"aria-hidden":`true`})})}var wc=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),Tc=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_relativeTime=r()})(e,(function(){return function(e,t,n){e||={};var r=t.prototype,i={future:`in %s`,past:`%s ago`,s:`a few seconds`,m:`a minute`,mm:`%d minutes`,h:`an hour`,hh:`%d hours`,d:`a day`,dd:`%d days`,M:`a month`,MM:`%d months`,y:`a year`,yy:`%d years`};function a(e,t,n,i){return r.fromToBase(e,t,n,i)}n.en.relativeTime=i,r.fromToBase=function(t,r,a,o,s){for(var c,l,u,d=a.$locale().relativeTime||i,f=e.thresholds||[{l:`s`,r:44,d:`second`},{l:`m`,r:89},{l:`mm`,r:44,d:`minute`},{l:`h`,r:89},{l:`hh`,r:21,d:`hour`},{l:`d`,r:35},{l:`dd`,r:25,d:`day`},{l:`M`,r:45},{l:`MM`,r:10,d:`month`},{l:`y`,r:17},{l:`yy`,d:`year`}],p=f.length,m=0;m<p;m+=1){var h=f[m];h.d&&(c=o?n(t).diff(a,h.d,!0):a.diff(t,h.d,!0));var g=(e.rounding||Math.round)(Math.abs(c));if(u=c>0,g<=h.r||!h.r){g<=1&&m>0&&(h=f[m-1]);var _=d[h.l];s&&(g=s(``+g)),l=typeof _==`string`?_.replace(`%d`,g):_(g,r,h.l,u);break}}if(r)return l;var v=u?d.future:d.past;return typeof v==`function`?v(l):v.replace(`%s`,l)},r.to=function(e,t){return a(e,t,this,!0)},r.from=function(e,t){return a(e,t,this)};var o=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(o(this),e)},r.fromNow=function(e){return this.from(o(this),e)}}}))})),Ec=e(wc(),1),Dc=e(Tc(),1);Ec.default.extend(Dc.default);var Oc=Date.now(),kc,Ac=new Set,jc=()=>Oc;function Mc(e){return Ac.add(e),kc||=(Oc=Date.now(),setInterval(()=>{Oc=Date.now();for(let e of Ac)e()},3e4)),()=>{Ac.delete(e),Ac.size===0&&(clearInterval(kc),kc=void 0)}}function Nc({value:e,className:t}){let n=(0,Y.useSyncExternalStore)(Mc,jc,jc),r=e==null?null:(0,Ec.default)(e);return r?.isValid()?(0,X.jsx)(`time`,{className:t,dateTime:r.toISOString(),title:`Last activity ${r.format(`MMM D, YYYY h:mm A`)}`,children:r.from(n)}):null}var Pc=2650,Fc=304,Ic=260;function Lc(){return{animationDelay:`${-(Date.now()%Pc)}ms`}}function Rc(e){let t=e.currentTarget,n=t.firstElementChild;if(!(n instanceof HTMLElement))return;let r=Math.max(0,n.scrollWidth-t.clientWidth),i=r>2;t.dataset.overflowing=String(i),t.style.setProperty(`--sidebar-title-ticker-distance`,`${-r}px`),t.style.setProperty(`--sidebar-title-ticker-duration`,`${Math.min(6.5,Math.max(2.8,r/42+2.4))}s`)}function zc({label:e,actions:t,actionsVisible:n=!1,className:r,titleAccessory:i,children:a,collapsed:o=!1,titleActive:s=!1,onTitleClick:c,onToggleCollapsed:l}){return(0,X.jsxs)(`section`,{className:[`sidebar-section`,r,n?`actions-visible`:``].filter(Boolean).join(` `),children:[(0,X.jsxs)(`div`,{className:`section-header`,children:[(0,X.jsxs)(`div`,{className:`section-title-row`,children:[c?(0,X.jsxs)(`div`,{className:`section-title-combo`,children:[(0,X.jsx)(`button`,{type:`button`,className:`section-title-link${s?` active`:``}`,onClick:c,children:(0,X.jsx)(`span`,{children:e})}),l&&(0,X.jsx)(`button`,{type:`button`,className:`section-chevron-button`,"aria-label":`${o?`Expand`:`Collapse`} ${e}`,"aria-expanded":!o,onClick:l,children:o?(0,X.jsx)(mn,{size:13}):(0,X.jsx)(pn,{size:13})})]}):l?(0,X.jsxs)(`button`,{type:`button`,className:`section-title-button`,"aria-label":`${o?`Expand`:`Collapse`} ${e}`,"aria-expanded":!o,onClick:l,children:[(0,X.jsx)(`span`,{children:e}),o?(0,X.jsx)(mn,{size:13}):(0,X.jsx)(pn,{size:13})]}):(0,X.jsx)(`span`,{children:e}),i]}),t&&(0,X.jsx)(`div`,{className:`section-actions`,children:t})]}),!o&&(0,X.jsx)(`div`,{className:`sidebar-section-body`,children:a})]})}function Bc({children:e,expanded:t=!1,onClick:n}){return(0,X.jsx)(`button`,{type:`button`,className:`sidebar-show-more`,onClick:n,children:e??(t?`Show less`:`Show more`)})}function Vc({session:e,selected:t,icon:n,archived:r=!1,nested:i=!1,dragging:a,placeholder:o,running:s,goalRuntime:c,subagentRuntime:l,terminalIndicator:u,projectLabel:d,inbox:f=!1,activityAt:p,ariaDescribedBy:m,childSessionCount:h=0,childSessionsExpanded:g=!1,onSelect:_,onToggleChildSessions:v,onTogglePin:y,onToggleSaveForLater:b,onDockRight:x,onArchive:S,onDragStart:C,onDragEnd:w,onDragOver:T,onDrop:E,onRename:D}){let[O,k]=(0,Y.useState)(!1),A=c?.status===`queued`,j=c?.tone===`active`&&!A,M=(l?.activeCount??0)>0,ee=h>0&&!!v,N=M||j||!A&&(s??e.status===`active`),te=M&&l?l.label:j&&c?Uc(c):`Running`,P=[`sidebar-task-row`,gc(e)?`is-draft`:``,N?`has-running-dot`:``,f?`sidebar-inbox-row`:``].filter(Boolean).join(` `),F=(0,Y.useMemo)(Lc,[]),I=(0,X.jsx)(fc,{title:e.title,pinned:!!e.pinned,savedForLater:!!e.savedForLater,archived:r,onRename:D?()=>k(!0):void 0,onTogglePin:y,onToggleSaveForLater:b,onDockRight:x,onArchive:S}),L=(0,X.jsxs)(ol,{selected:t,dataSessionId:e.id,dragging:a,nested:i,placeholder:o,className:P||void 0,ariaExpanded:ee?g:void 0,ariaDescribedBy:m,onSelect:_,onDragStart:C,onDragEnd:w,onDragOver:T,onDrop:E,onDoubleClick:D?()=>k(!0):void 0,children:[(0,X.jsx)(`span`,{className:`sidebar-source-slot`,children:n??(0,X.jsx)(Cc,{session:e})}),(0,X.jsxs)(`span`,{className:`sidebar-title-slot`,children:[ee?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-child-toggle`,"data-tooltip":g?`Hide subagent conversations`:`Show subagent conversations`,"aria-label":`${g?`Hide`:`Show`} ${h} subagent ${h===1?`conversation`:`conversations`}`,"aria-expanded":g,onClick:e=>{e.stopPropagation(),v?.()},children:g?(0,X.jsx)(pn,{size:13}):(0,X.jsx)(mn,{size:13})}):null,(0,X.jsxs)(`span`,{className:`row-label-shell`,title:e.title,children:[(0,X.jsx)(`span`,{className:`sidebar-session-title-line`,children:(0,X.jsx)(`span`,{className:`row-label sidebar-task-title`,"data-overflowing":`false`,onPointerEnter:Rc,children:(0,X.jsx)(xc,{title:e.title})})}),f?(0,X.jsxs)(`span`,{className:`sidebar-inbox-project`,children:[d?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`sidebar-inbox-project-name`,children:d}),(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`|`})]}):null,(0,X.jsx)(Nc,{value:p??e.createdAt})]}):null]})]}),(0,X.jsxs)(`div`,{className:`row-meta`,children:[(0,X.jsxs)(`span`,{className:`row-meta-status`,children:[u?(0,X.jsx)(Gc,{indicator:u}):null,N?(0,X.jsx)(`span`,{className:`sidebar-running-dot${M?` subagent`:j?` goal`:``}`,style:F,"aria-label":te}):null]}),I,e.pinned?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-thread-pin`,"aria-label":`Unpin thread: ${e.title}`,title:`Unpin thread`,onClick:e=>{e.stopPropagation(),y()},children:(0,X.jsx)(Ko,{size:16,"aria-hidden":`true`})}):null,f?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-inbox-done`,"aria-label":`${r?`Reopen`:`Mark done`}: ${e.title}`,title:r?`Reopen`:`Mark done (does not stop running work)`,onClick:e=>{e.stopPropagation(),S()},children:r?(0,X.jsx)(Yo,{size:19}):(0,X.jsx)(Oo,{size:21})}):null]})]});return(0,X.jsxs)(X.Fragment,{children:[L,O&&D?(0,X.jsx)(pc,{session:e,onSave:t=>D(e,t),onClose:()=>k(!1)}):null]})}function Hc({file:e,selected:t=!1,placeholder:n,onSelect:r,onTogglePin:i,onToggleSaveForLater:a,onDragStart:o,onDragEnd:s,onDragOver:c,onDrop:l}){let u=e.path.split(`/`).at(-1)??e.path,d=`${e.workspaceName} · ${e.path}`;return(0,X.jsxs)(ol,{selected:t,placeholder:n,className:`sidebar-file-row actions-2${e.available?``:` unavailable`}`,onSelect:r,onDragStart:o,onDragEnd:s,onDragOver:c,onDrop:l,children:[e.available?(0,X.jsx)(Fo,{size:15}):(0,X.jsx)(Ao,{size:15}),(0,X.jsx)(`span`,{className:`row-label-shell`,title:d,children:(0,X.jsx)(`span`,{className:`row-label`,children:u})}),(0,X.jsx)(`div`,{className:`row-meta`,children:(0,X.jsxs)(`div`,{className:`sidebar-row-actions`,children:[(0,X.jsx)(sl,{label:e.status===`pinned`?`Unpin file`:`Pin file`,onClick:i,children:e.status===`pinned`?(0,X.jsx)(qo,{size:13}):(0,X.jsx)(Ko,{size:13})}),(0,X.jsx)(sl,{label:e.status===`saved_for_later`?`Remove from Save for later`:`Save file for later`,onClick:a,children:e.status===`saved_for_later`?(0,X.jsx)(Co,{size:13}):(0,X.jsx)(So,{size:13})})]})})]})}function Uc(e){return e.actionLabel}function Wc({kind:e=`local`,project:t,pinned:n=!1,selected:r,expanded:i=!1,disclosure:a=!0,workspaceState:o,cloudLinkTrusted:s=!0,cloudLinkWarning:c=null,placeholder:l,terminalIndicator:u,onSelect:d,onNewChat:f,onMoveToCloud:p,onWorkspaceTargetSelect:m,onTogglePin:h,onRemove:g,onDragStart:_,onDragEnd:v,onDragOver:y,onDrop:b}){let[x,S]=(0,Y.useState)(!1),C=(0,Y.useRef)(null),[w,T]=(0,Y.useState)({}),E=!!p||!!g,D=e===`local`&&s!==!1&&!!t.linkedSandboxProject?.projectId,O=(0,Y.useCallback)(()=>{if(typeof window>`u`)return;let e=C.current?.getBoundingClientRect();if(!e)return;let t=Math.max(12,window.innerWidth-Fc-12),n=Math.max(12,window.innerHeight-Ic),r=Math.max(12,Math.min(e.right+10,t)),i=Math.max(12,Math.min(e.top-4,n)),a={"--sidebar-project-locations-left":`${Math.round(r)}px`,"--sidebar-project-locations-top":`${Math.round(i)}px`};T(e=>e[`--sidebar-project-locations-left`]===a[`--sidebar-project-locations-left`]&&e[`--sidebar-project-locations-top`]===a[`--sidebar-project-locations-top`]?e:a)},[]),k=(0,Y.useCallback)(()=>{O(),d()},[d,O]);function A(){S(!1)}return(0,X.jsxs)(`div`,{ref:C,className:[`sidebar-project-row-shell`,x?`project-menu-open`:``].filter(Boolean).join(` `),onFocusCapture:O,onPointerEnter:O,children:[(0,X.jsxs)(ol,{selected:r,placeholder:l,className:[`sidebar-project-row`,x?`project-menu-open`:``].filter(Boolean).join(` `),ariaExpanded:a?i:void 0,onSelect:k,onDragStart:_,onDragEnd:v,onDragOver:y,onDrop:b,children:[(0,X.jsx)(sc,{kind:e,linkedCloud:D,open:e===`local`&&i,className:`sidebar-row-icon`,baseSize:15}),(0,X.jsx)(`span`,{className:`row-label-shell`,children:(0,X.jsxs)(`span`,{className:`sidebar-project-title-line`,children:[(0,X.jsx)(`span`,{className:`row-label`,children:t.name}),(0,X.jsxs)(`span`,{className:`sidebar-row-updated-at`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`| `}),(0,X.jsx)(Nc,{value:t.updatedAt})]}),a?(0,X.jsx)(`span`,{className:`sidebar-project-caret`,"aria-hidden":`true`,children:i?(0,X.jsx)(pn,{size:13}):(0,X.jsx)(mn,{size:13})}):null]})}),(0,X.jsxs)(`div`,{className:`row-meta`,children:[(0,X.jsx)(`span`,{className:`row-meta-status`,children:u?(0,X.jsx)(Gc,{indicator:u}):null}),(0,X.jsxs)(`div`,{className:`sidebar-row-actions`,children:[(0,X.jsx)(sl,{label:n?`Unpin project`:`Pin project`,onClick:h,children:n?(0,X.jsx)(qo,{size:13}):(0,X.jsx)(Ko,{size:13})}),E&&(0,X.jsx)(il,{open:x,onToggleOpen:()=>S(e=>!e)}),(0,X.jsx)(sl,{label:`New thread`,onClick:f,children:(0,X.jsx)(es,{size:13})})]})]})]}),(0,X.jsx)(Kc,{kind:e,project:t,workspaceState:o,cloudLinkTrusted:s,cloudLinkWarning:c,onWorkspaceTargetSelect:m,style:w}),x&&(0,X.jsx)(al,{onClose:A,onMoveToCloud:p?()=>{A(),p()}:void 0,onRemove:()=>{A(),g()}})]})}function Gc({indicator:e}){return(0,X.jsx)(`span`,{className:`sidebar-terminal-indicator ${e.status}`,"data-tooltip":e.label,"aria-label":e.label,title:e.label,children:(0,X.jsx)(Sn,{size:13})})}function Kc({kind:e,project:t,workspaceState:n,cloudLinkTrusted:r,cloudLinkWarning:i,onWorkspaceTargetSelect:a,style:o}){let s=Yc(e,t,n,r,i);return(0,X.jsxs)(`aside`,{className:`sidebar-project-locations-popover`,"aria-label":`${t.name} status`,style:o,children:[(0,X.jsx)(`div`,{className:`sidebar-project-locations-title`,children:t.name}),(0,X.jsx)(`div`,{className:`sidebar-project-location-list`,children:s.map(e=>{let t=[`sidebar-project-location-row`,e.tone??``,e.actionTarget?`clickable`:``].filter(Boolean).join(` `),n=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:[`sidebar-project-location-icon`,e.key].filter(Boolean).join(` `),"aria-hidden":`true`,children:e.icon}),(0,X.jsx)(`span`,{className:`sidebar-project-location-copy`,children:(0,X.jsx)(qc,{value:e.value})})]});return e.actionTarget?(0,X.jsx)(`button`,{type:`button`,className:t,"data-workspace-target":e.actionTarget,disabled:e.disabled||!a,title:e.disabledReason??void 0,onClick:t=>{t.stopPropagation(),!e.disabled&&a?.(e.actionTarget)},children:n},e.key):(0,X.jsx)(`div`,{className:t,children:n},e.key)})})]})}function qc({value:e}){let t=Jc(e);return(0,X.jsxs)(`span`,{className:`sidebar-project-location-value`,"aria-label":e,children:[t.branch?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`sidebar-project-location-branch`,children:t.branch}),(0,X.jsx)(`span`,{className:`sidebar-project-location-separator`,"aria-hidden":`true`,children:`/`})]}):null,(0,X.jsx)(`span`,{className:`sidebar-project-location-status`,children:t.status})]})}function Jc(e){let t=e.indexOf(` / `);return t===-1?{branch:null,status:e}:{branch:e.slice(0,t),status:e.slice(t+3)}}function Yc(e,t,n,r=!0,i=null){return e===`cloud`?Zc(t):Xc(t,n,r,i)}function Xc(e,t,n=!0,r=null){let i=Qc(e,t,n),a=$c(t),o=tl(e,n),s=n===!1&&r;return[{key:`local`,value:i,tone:a?`attention`:`local`,icon:e.source===`git`?(0,X.jsx)(Lo,{size:13}):(0,X.jsx)(Io,{size:13}),actionTarget:`local`},{key:`cloud`,value:s||(o?nl(e,t,n):`not in cloud`),tone:s?`attention`:`cloud`,icon:(0,X.jsx)(jo,{size:13}),actionTarget:o?`cloud`:`upload_cloud`}]}function Zc(e){return[{key:`cloud`,value:rl(e),tone:e.syncedAt?`cloud`:`attention`,icon:(0,X.jsx)(jo,{size:13}),actionTarget:`cloud`}]}function Qc(e,t,n){let r=el(e,t);return t?t.error?`${r} / status unavailable`:t.initialized?$s(t,{branch:e.linkedSandboxProject?.defaultBranch??null,linkedCloudSourceKnown:e.linkedSandboxProject?.projectId&&n?!!e.linkedSandboxProject.lastUploadedCommit||!t.headCommit:!0}):`${r} / not checked out`:`${r} / available`}function $c(e){return!!(e?.dirty||(e?.changedFilesCount??0)>0||(e?.untrackedFilesCount??0)>0)}function el(e,t){return t?.currentBranch??t?.defaultBranch??e.linkedSandboxProject?.defaultBranch??`local`}function tl(e,t=!0){return!!(t&&e.linkedSandboxProject?.projectId||e.linkedOpenPondApp?.appId)}function nl(e,t,n){return ec(e,null,t,{cloudLinkTrusted:n})}function rl(e){return`${e.defaultBranch??`main`} / ${e.syncedAt?`setup ready`:`needs setup`}`}function il({open:e,onToggleOpen:t}){return(0,X.jsx)(`button`,{type:`button`,className:`sidebar-row-action ${e?`active`:``}`,"data-tooltip":`More project actions`,"aria-label":`More project actions`,"aria-haspopup":`menu`,"aria-expanded":e,onClick:e=>{e.stopPropagation(),t()},children:(0,X.jsx)(Uo,{size:13})})}function al({onClose:e,onMoveToCloud:t,onRemove:n}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,className:`sidebar-project-menu-backdrop`,"aria-label":`Close project actions`,onClick:t=>{t.stopPropagation(),e()}}),(0,X.jsxs)(`div`,{className:`section-menu-popover sidebar-project-row-popover`,role:`menu`,children:[t&&(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),t()},children:[(0,X.jsx)(oc,{size:13}),(0,X.jsx)(`span`,{children:`Move to Cloud`})]}),(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:e=>{e.stopPropagation(),n()},children:[(0,X.jsx)(Cn,{size:13}),(0,X.jsx)(`span`,{children:`Remove from Projects`})]})]})]})}function ol({children:e,className:t,dataSessionId:n,dragging:r,iconless:i=!1,nested:a=!1,placeholder:o=!1,selected:s,ariaExpanded:c,ariaDescribedBy:l,onSelect:u,onDragStart:d,onDragEnd:f,onDragOver:p,onDrop:m,onDoubleClick:h}){let g=!!d;return(0,X.jsx)(`div`,{className:[`sidebar-row`,t??``,s?`selected`:``,r?`dragging`:``,i?`iconless`:``,a?`nested`:``,o?`placeholder`:``].filter(Boolean).join(` `),draggable:g,"data-session-id":n,role:`button`,tabIndex:0,"aria-expanded":c,"aria-describedby":l,onClick:u,onDoubleClick:h,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},onDragStart:d,onDragEnd:f,onDragEnter:e=>{p&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,p(e))},onDragOver:e=>{p&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,p(e))},onDrop:e=>{m&&(e.preventDefault(),m(e))},children:e})}function sl({children:e,label:t,onClick:n}){return(0,X.jsx)(`button`,{type:`button`,className:`sidebar-row-action`,"data-tooltip":t,"aria-label":t,onClick:e=>{e.stopPropagation(),n()},children:e})}function cl({rows:e,count:t,setCount:n,selectedSessionId:r,emptyLabel:i,renderSession:a,renderWorkflow:o}){let s=(0,Y.useMemo)(()=>e.filter((e,n)=>n<Math.max(15,t)||(e.kind===`session`?e.session.id===r:e.workflow.members.some(e=>e.id===r))),[e,t,r]),c=(0,Y.useMemo)(()=>Wa(s,e=>e),[s]);return(0,X.jsxs)(`section`,{className:`sidebar-thread-inbox`,"aria-label":`Thread inbox`,children:[c.map(e=>(0,X.jsxs)(`div`,{children:[e.label?(0,X.jsx)(`h3`,{className:`sidebar-inbox-date`,children:e.label}):null,e.entries.map(e=>(0,X.jsx)(`div`,{children:e.kind===`workflow`?o(e.workflow):a(e.session)},e.id))]},e.key)),e.length===0&&i?(0,X.jsx)(`div`,{className:`empty-row`,children:i}):null,e.length>15?(0,X.jsxs)(`div`,{className:`sidebar-pagination-controls`,"aria-label":`Showing ${s.length} of ${e.length} threads`,children:[t<e.length?(0,X.jsx)(Bc,{onClick:()=>n(Zs(t,e.length)),children:`Show more`}):null,t>15?(0,X.jsx)(Bc,{onClick:()=>n(Qs(t,e.length)),children:`Show less`}):null]}):null]})}function ll({members:e,currentUserId:t,teamName:n,onOpenDm:r}){if(!e.length)return null;let i=[...e].sort((e,n)=>Number(e.userId===t)-Number(n.userId===t)||e.name.localeCompare(n.name)||e.userId.localeCompare(n.userId)),a=Math.max(0,e.length-3);return(0,X.jsx)(ms,{className:`sidebar-team-avatars`,compact:!0,floating:!0,floatingMenuWidth:240,floatingMenuMaxHeight:228,openOnHover:!0,label:`${n} team members`,value:``,triggerContent:(0,X.jsxs)(`span`,{className:`sidebar-team-avatar-stack`,"aria-hidden":`true`,children:[i.slice(0,3).map(e=>(0,X.jsx)(ul,{member:e},e.userId)),a>0?(0,X.jsxs)(`span`,{className:`sidebar-team-avatar-more`,children:[`+`,a]}):null]}),options:i.map(e=>({value:e.userId,label:e.userId===t?`${e.name} (you)`:e.name,description:e.userId===t?`You`:e.handle?`@${e.handle.replace(/^@/,``)} · Message`:`Message`,disabled:e.userId===t})),onChange:n=>{n!==t&&e.some(e=>e.userId===n)&&r(n)}})}function ul({member:e}){let[t,n]=(0,Y.useState)(null),r=(e.name.trim()||e.handle||`?`).split(/\s+/).slice(0,2).map(e=>Array.from(e)[0]?.toUpperCase()??``).join(``);return(0,X.jsx)(`span`,{className:`sidebar-team-avatar`,children:e.image&&e.image!==t?(0,X.jsx)(`img`,{src:e.image,alt:``,onError:()=>n(e.image)}):r})}function dl({children:e,expanded:t,groupKey:n,kind:r,label:i,onToggle:a,onNewTask:o,onOpenProject:s,onRemoveProject:c,project:l,actions:u}){let d=`sidebar-task-group-${n.replace(/[^a-zA-Z0-9_-]/g,`-`)}`,f=r===`draft`?Fo:yn,[p,m]=(0,Y.useState)(!1),h=!!(o||s||c);return(0,X.jsxs)(`section`,{className:`sidebar-task-project-group`,children:[(0,X.jsxs)(`div`,{className:`sidebar-task-project-group-header-shell${p?` menu-open`:``}`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`sidebar-task-project-group-header`,"aria-controls":d,"aria-expanded":t,onClick:()=>{m(!1),a()},children:[l?(0,X.jsx)(sc,{kind:l.kind,linkedCloud:!!(l.kind===`local`&&l.project.linkedSandboxProject?.projectId),open:l.kind===`local`&&t,className:`sidebar-task-project-group-icon`,baseSize:14}):(0,X.jsx)(f,{className:`sidebar-task-project-group-icon`,size:14,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`sidebar-task-project-group-name`,children:i}),(0,X.jsx)(`span`,{className:`sidebar-task-project-group-caret`,"aria-hidden":`true`,children:t?(0,X.jsx)(pn,{size:13}):(0,X.jsx)(mn,{size:13})})]}),u?(0,X.jsx)(`div`,{className:`sidebar-task-project-group-actions`,children:u}):null,!u&&l&&h?(0,X.jsxs)(`div`,{className:`sidebar-task-project-group-actions`,children:[s||c?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-row-action${p?` active`:``}`,"data-tooltip":`More project actions`,"aria-label":`More project actions`,"aria-expanded":p,"aria-haspopup":`menu`,onClick:()=>m(e=>!e),children:(0,X.jsx)(Uo,{size:13})}):null,o?(0,X.jsx)(`button`,{type:`button`,className:`sidebar-row-action`,"data-tooltip":`New thread`,"aria-label":`New thread`,onClick:o,children:(0,X.jsx)(es,{size:13})}):null]}):null,p?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,className:`sidebar-task-project-group-menu-backdrop`,"aria-label":`Close project actions`,onClick:()=>m(!1)}),(0,X.jsxs)(`div`,{className:`section-menu-popover sidebar-task-project-group-menu`,role:`menu`,children:[s?(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),s()},children:(0,X.jsx)(`span`,{children:`Open project`})}):null,c?(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),c()},children:[(0,X.jsx)(Cn,{size:13}),(0,X.jsx)(`span`,{children:`Remove from Projects`})]}):null]})]}):null]}),t?(0,X.jsx)(`div`,{id:d,className:`sidebar-task-project-group-content`,children:e}):null]})}function fl({groups:e,renderSession:t,toggleSessionPinned:n,archiveSession:r,restoreSession:i}){let a=()=>{try{return new Set(JSON.parse(de.getItem(`openpond.sidebar.workflow-collapse.v1`)??`[]`))}catch{return new Set}},[o,s]=(0,Y.useState)(a);return fe(()=>s(a())),e.map(({group:e,members:a,sessions:c,pinned:l,archived:u})=>{let d=!o.has(e.id);return(0,X.jsx)(`div`,{className:`sidebar-workflow-group${l?` is-pinned`:``}`,children:(0,X.jsx)(dl,{groupKey:e.id,kind:`projectless`,label:e.title,expanded:d,actions:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,className:`sidebar-thread-pin sidebar-workflow-pin`,"aria-label":`${l?`Unpin`:`Pin`} group: ${e.title}`,"aria-pressed":l,title:l?`Unpin group`:`Pin group`,onClick:()=>{for(let e of a)(e.pinned===l||!l&&(e.savedForLater||e.archived))&&n(e,!l)},children:(0,X.jsx)(Ko,{size:16,"aria-hidden":`true`})}),(0,X.jsx)(`button`,{type:`button`,className:`sidebar-inbox-done`,"aria-label":`${u?`Reopen`:`Mark done`} group: ${e.title}`,title:u?`Reopen group`:`Mark group done (does not stop running work)`,onClick:()=>{for(let e of a)u?i(e):e.archived||r(e)},children:u?(0,X.jsx)(Yo,{size:19}):(0,X.jsx)(Oo,{size:21})})]}),onToggle:()=>{let t=new Set(o);d?t.add(e.id):t.delete(e.id),s(t),de.setItem(`openpond.sidebar.workflow-collapse.v1`,JSON.stringify([...t].slice(-200)))},children:c.map(e=>t(e))})},e.id)})}function pl(e){let t=hl(e.metadata?.trainingTasksetId)??hl(e.metadata?.tasksetId);return t?{id:t,name:hl(e.metadata?.trainingTasksetName)??hl(e.metadata?.tasksetName)??ml(t)}:null}function ml(e){let t=e.replace(/[-_][a-f0-9]{8,}$/i,``).replace(/^(?:benchmark[-_])?taskset[-_]/i,``).replace(/^benchmark[-_]/i,``).split(/[-_]+/).filter(Boolean);return t.length===0?`Taskset`:t.map(e=>/^[A-Z0-9]{2,}$/.test(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}function hl(e){return typeof e==`string`&&e.trim()?e.trim():null}var gl=`codex_history_`;function _l(e){return!!e?.startsWith(gl)}function vl(e){let t=[],n=new Set;for(let r of e)for(let e of[r.workspacePath,r.path]){let i=Cl(e);if(!i)continue;let a=`${r.id}:${i}`;n.has(a)||(n.add(a),t.push({projectId:r.id,path:i}))}return t.sort((e,t)=>t.path.length-e.path.length)}function yl(e,t,n,r=new Set){if(e.localProjectId&&t.has(e.localProjectId))return e.localProjectId;if(e.workspaceKind===`local_project`&&e.workspaceId&&t.has(e.workspaceId))return e.workspaceId;if(e.metadata?.workspaceTarget===`hybrid`&&e.cwd){let t=xl(e.cwd,n);if(t)return t}if(e.cloudProjectId&&r.has(e.cloudProjectId))return e.cloudProjectId;if(!e.cwd||e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`||!Sl(e))return null;let i=Cl(e.cwd);if(!i)return null;for(let e of n)if(wl(i,e.path))return e.projectId;return null}function bl(e,t,n,r=new Set){if(e.localProjectId&&t.has(e.localProjectId))return U(`local`,e.localProjectId);if(e.workspaceKind===`local_project`&&e.workspaceId&&t.has(e.workspaceId))return U(`local`,e.workspaceId);if(e.metadata?.workspaceTarget===`hybrid`&&e.cwd){let t=xl(e.cwd,n);if(t)return U(`local`,t)}if(e.cloudProjectId&&r.has(e.cloudProjectId))return U(`cloud`,e.cloudProjectId);if(!e.cwd||e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`||!Sl(e))return null;let i=Cl(e.cwd);if(!i)return null;for(let e of n)if(wl(i,e.path))return U(`local`,e.projectId);return null}function xl(e,t){let n=Cl(e);if(!n)return null;for(let e of t)if(wl(n,e.path))return e.projectId;return null}function Sl(e){return e.workspaceKind===`local_project`||e.provider===`codex`||_l(e.id)}function Cl(e){let t=e?.trim();if(!t)return null;let n=t.replace(/^file:\/\/+/i,`/`).replace(/\\/g,`/`).replace(/\/+/g,`/`);return/^[a-z]:/i.test(n)&&(n=n[0].toUpperCase()+n.slice(1)),n=n.replace(/\/+$/g,``),n||`/`}function wl(e,t){let n=Tl(e),r=Tl(t);return n===r||n.startsWith(`${r}/`)}function Tl(e){return/^[A-Z]:\//.test(e)?e.toLowerCase():e}var El=[{value:`active`,label:`Active`},{value:`in_progress`,label:`In progress`},{value:`pinned`,label:`Pinned`},{value:`saved_for_later`,label:`Save for later`},{value:`tasksets`,label:`Tasksets`},{value:`done`,label:`Done`},{value:`all`,label:`All`}],Dl=[{value:`recent`,label:`Recent first`},{value:`manual`,label:`Manual order`}];function Ol(e){let t=[];if(e.filter===`done`)t.push(...e.doneSessions.filter(e=>!pl(e)));else if(e.filter===`all`)t.push(...e.activeSessions.filter(e=>!pl(e)),...e.doneSessions.filter(e=>!pl(e)));else if(e.filter===`tasksets`)t.push(...e.activeSessions.filter(t=>Al(t,e.selectedTasksetId)),...e.doneSessions.filter(t=>Al(t,e.selectedTasksetId)));else for(let n of e.activeSessions)pl(n)||(e.filter===`active`?n.savedForLater||t.push(n):e.filter===`in_progress`?!n.savedForLater&&e.inProgressSessionIds.has(n.id)&&t.push(n):e.filter===`pinned`?n.pinned&&!n.savedForLater&&t.push(n):e.filter===`saved_for_later`&&n.savedForLater&&t.push(n));let n=t.filter(t=>kl(t,{inProgressSessionIds:e.inProgressSessionIds,onlyRunningTasks:e.onlyRunningTasks,showCodexChats:e.showCodexChats})),r=e.previewSessionIds?new Map(e.previewSessionIds.map((e,t)=>[e,t])):null;return e.sort===`recent`?n.sort((e,t)=>Nl(e,t,r)):n.sort((e,t)=>{let n=r?.get(e.id),i=r?.get(t.id);if(n!==void 0||i!==void 0){if(n===void 0)return 1;if(i===void 0)return-1;if(n!==i)return n-i}return e.order===t.order?Nl(e,t):e.order-t.order})}function kl(e,t){return t.showCodexChats===!1&&(e.provider===`codex`||_l(e.id))?!1:!t.onlyRunningTasks||t.inProgressSessionIds.has(e.id)}function Al(e,t){let n=pl(e);return!(!n||t&&n.id!==t)}function jl(e,t){switch(e){case`active`:return`No active ${t}`;case`in_progress`:return`No work in progress`;case`pinned`:return`No pinned ${t}`;case`saved_for_later`:return`Nothing saved for later`;case`tasksets`:return`No Taskset chats yet`;case`done`:return`No done ${t}`;case`all`:return`No ${t}`}}function Ml(e,t,n){let r=new Set(t),i=0;return e.map(e=>{if(!r.has(e))return e;let t=n[i];return i+=1,t??e})}function Nl(e,t,n=null){let r=Pl(e),i=Pl(t);if(r!==i)return r?-1:1;if(r&&i){let r=n?.get(e.id),i=n?.get(t.id);if(r!==void 0||i!==void 0){if(r===void 0)return 1;if(i===void 0)return-1;if(r!==i)return r-i}if(e.order!==t.order)return e.order-t.order}let a=Date.parse(t.updatedAt)-Date.parse(e.updatedAt);return a===0?e.title.localeCompare(t.title):a}function Pl(e){return e.pinned&&!e.savedForLater&&!e.archived}function Fl(e,t,n){let r=new Map(t.map(e=>[e.id,e])),i=new Set(n.map(e=>e.id));return e.flatMap(e=>{let t=[...new Set([e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId])].flatMap(e=>e&&r.has(e)?[r.get(e)]:[]),n=t.filter(e=>!e.archived&&!e.hiddenFromDefaultSidebar),a=n.length>0&&n.every(Pl),o=t.filter(e=>i.has(e.id)&&(a||!Pl(e)));return o.length?[{group:e,members:t,sessions:o,pinned:a,archived:t.every(e=>e.archived)}]:[]})}function Il(e,t,n,r,i){let a=[...new Map(e.map(e=>[e.id,e])).values()].filter(e=>!n.has(e.id)&&!Pl(e)).map(e=>({kind:`session`,id:`session:${e.id}`,session:e,time:Ua(e,r),running:i.has(e.id)}));for(let e of t)e.pinned||a.push({kind:`workflow`,id:`workflow:${e.group.id}`,workflow:e,time:Math.max(...e.members.map(e=>Ua(e,r))),running:e.members.some(e=>i.has(e.id))});return a.sort((e,t)=>Number(t.running)-Number(e.running)||t.time-e.time||e.id.localeCompare(t.id))}var Ll={showCodexChats:!0,onlyRunningTasks:!1},Rl=`openpond.sidebar-task-visibility.v1`;function zl(e=Vl()){try{let t=e?.getItem(Rl);if(!t)return Ll;let n=JSON.parse(t);return{showCodexChats:typeof n.showCodexChats==`boolean`?n.showCodexChats:Ll.showCodexChats,onlyRunningTasks:typeof n.onlyRunningTasks==`boolean`?n.onlyRunningTasks:Ll.onlyRunningTasks}}catch{return Ll}}function Bl(e,t=Vl()){try{t?.setItem(Rl,JSON.stringify(e))}catch{}}function Vl(){return typeof window>`u`?null:de}function Hl(e){return`${e.kind}:${e.id}`}function Ul(e,t){return!!(e&&t&&e.kind===t.kind&&e.id===t.id)}function Wl(e){return{kind:`session`,id:e}}function Gl(e){return{kind:`project`,id:e}}function Kl(e){return{kind:`draft`,id:e}}function ql(e){return e.selectedSessionId?Wl(e.selectedSessionId):e.selectedProjectId?Gl(e.selectedProjectId):Kl(e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`)}function Jl(e){if(!e.previousScope||e.previousScope.kind!==`draft`||e.activeScope.kind!==`session`||Ul(e.previousScope,e.activeScope))return[...e.tabs];let t=e.now??Date.now();return e.tabs.map(n=>Ul(n.scope,e.previousScope)?{...n,scope:e.activeScope,updatedAt:t}:n)}function Yl(e,t){return e.filter(e=>Ul(e.scope,t))}function Xl(e,t){return!!(e&&Ul(e.scope,t))}function Zl(e){let t={};for(let n of e){let e=Hl(n.scope),r=t[e]??{scope:n.scope,tabCount:0,runningCount:0,failedCount:0,lastExitCode:null,status:`none`};r.tabCount+=1,n.commandStatus===`running`&&(r.runningCount+=1),(n.commandStatus===`failed`||n.status===`error`)&&(r.failedCount+=1),n.lastExitCode!==null&&(r.lastExitCode=n.lastExitCode),r.status=$l(r.status,n.status,n.commandStatus),t[e]=r}return t}function Ql(e){return!e||e.status===`none`||e.tabCount===0?null:e.status===`running`?{status:`running`,label:`Terminal running`}:e.status===`failed`?{status:`failed`,label:`Terminal last command failed`}:e.status===`success`?{status:`success`,label:`Terminal last command succeeded`}:e.status===`idle`?{status:`idle`,label:`Terminal idle`}:{status:`unknown`,label:`Terminal open`}}function $l(e,t,n){return n===`running`?`running`:e===`running`?e:n===`failed`||t===`error`?`failed`:e===`failed`?e:n===`success`?e===`none`||e===`unknown`||e===`idle`?`success`:e:n===`idle`?e===`none`||e===`unknown`?`idle`:e:e===`none`?`unknown`:e}function eu({filter:e,activityOrder:t=!1,groupByProject:n,noun:r,onFilterChange:i,onGroupByProjectChange:a,onOnlyRunningTasksChange:o,onShowCodexChatsChange:s,onTasksetChange:c,onSortChange:l,onlyRunningTasks:u,openMenu:d,setOpenMenu:f,showCodexChats:p,sort:m,selectedTasksetId:h,tasksets:g}){let _=(0,Y.useRef)(null),[v,y]=(0,Y.useState)(!1),b=g.find(e=>e.id===h)?.name??El.find(t=>t.value===e)?.label??`Active`,x=d===`tasks-filter`;return(0,Y.useEffect)(()=>{if(!x)return;function e(e){_.current?.contains(e.target)||f(null)}return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[x,f]),(0,X.jsx)(`div`,{className:`sidebar-task-list-controls`,ref:_,children:(0,X.jsxs)(`div`,{className:`section-menu`,children:[(0,X.jsx)(`button`,{type:`button`,className:`section-icon ${x?`active`:``}`,"aria-label":`Filter ${r}: ${b}`,"data-tooltip":x?void 0:`Filter ${r}: ${b}`,"data-tooltip-placement":`bottom`,"aria-haspopup":`menu`,"aria-expanded":x,onClick:()=>f(e=>e===`tasks-filter`?null:`tasks-filter`),children:(0,X.jsx)(Ho,{size:14})}),x?(0,X.jsxs)(`div`,{className:`section-menu-popover`,role:`menu`,"aria-label":`Filter ${r}`,children:[El.map(t=>(0,X.jsxs)(Y.Fragment,{children:[t.value===`tasksets`?(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-expanded":v,onClick:()=>y(e=>!e),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:v?(0,X.jsx)(pn,{size:13}):(0,X.jsx)(mn,{size:13})}),(0,X.jsx)(`span`,{children:t.label})]}):(0,X.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e===t.value,onClick:()=>{i(t.value),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===t.value?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsx)(`span`,{children:t.label})]}),t.value===`tasksets`&&v?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{className:`section-menu-taskset-option`,type:`button`,role:`menuitemradio`,"aria-checked":e===`tasksets`&&!h,onClick:()=>{c(null),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===`tasksets`&&!h?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsx)(`span`,{children:`All Tasksets`})]}),g.map(t=>(0,X.jsxs)(`button`,{className:`section-menu-taskset-option`,type:`button`,role:`menuitemradio`,"aria-checked":e===`tasksets`&&h===t.id,onClick:()=>{c(t.id),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:e===`tasksets`&&h===t.id?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsx)(`span`,{children:t.name}),(0,X.jsx)(`span`,{className:`section-menu-option-count`,"aria-hidden":`true`,children:t.chatCount})]},t.id))]}):null]},t.value)),(0,X.jsx)(`div`,{className:`section-menu-separator`,role:`separator`}),(0,X.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":p,onClick:()=>s(!p),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:p?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsx)(`span`,{children:`Show Codex chats, including pinned`})]}),(0,X.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":u,onClick:()=>o(!u),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:u?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsxs)(`span`,{children:[`Only running `,r,`, including pinned`]})]}),r===`tasks`&&!t?(0,X.jsxs)(`button`,{type:`button`,role:`menuitemcheckbox`,"aria-checked":n,onClick:()=>a(!n),children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:n?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsx)(`span`,{children:`Group by project`})]}):null,t?null:Dl.map(e=>(0,X.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":m===e.value,onClick:()=>{l(e.value),f(null)},children:[(0,X.jsx)(`span`,{className:`section-menu-check`,"aria-hidden":`true`,children:m===e.value?(0,X.jsx)(Oo,{size:13}):null}),(0,X.jsx)(`span`,{children:e.label})]},e.value))]}):null]})})}function tu({onAddProject:e,onViewProjects:t}){let[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null),a=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>{if(!n)return;i.current?.querySelector(`[role="menuitem"]`)?.focus();let e=e=>{i.current?.contains(e.target)||r(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[n]),(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`section-menu`,ref:i,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),r(!1),a.current?.focus())},children:[(0,X.jsx)(`button`,{ref:a,type:`button`,className:`section-icon${n?` active`:``}`,"aria-label":`Project options`,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(e=>!e),children:(0,X.jsx)(Uo,{size:14})}),n?(0,X.jsxs)(`div`,{className:`section-menu-popover`,role:`menu`,"aria-label":`Project options`,children:[(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r(!1),t()},children:`View all projects`}),(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r(!1),e()},children:`Add project`})]}):null]}),(0,X.jsx)(`button`,{type:`button`,className:`section-icon`,onClick:e,"aria-label":`Add project`,title:`Add project`,children:`+`})]})}var nu=240,ru=36;function iu(e,t,n=!1){let r=Math.max(12,t.width-nu-12),i=Math.max(12,t.height-ru-(n?22:0)-12);return{"--sidebar-task-detail-left":`${Math.round(Math.max(12,Math.min(e.right+10,r)))}px`,"--sidebar-task-detail-top":`${Math.round(Math.max(12,Math.min(e.top-4,i)))}px`}}function au({detail:e,onClose:t}){if((0,Y.useEffect)(()=>{if(!e||typeof window>`u`)return;let n=e=>{e.key===`Escape`&&t()},r=!1,i=window.requestAnimationFrame(()=>{window.addEventListener(`scroll`,t,!0),r=!0});return window.addEventListener(`keydown`,n),()=>{window.cancelAnimationFrame(i),window.removeEventListener(`keydown`,n),r&&window.removeEventListener(`scroll`,t,!0)}},[e,t]),!e)return null;let n=new Date(e.updatedAt),r=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(n);return(0,X.jsxs)(`aside`,{id:e.descriptionId,className:`sidebar-task-detail-popover`,style:e.style,role:`tooltip`,"aria-label":`Last updated for ${e.title}`,children:[(0,X.jsx)(`time`,{dateTime:e.updatedAt,children:r}),e.folderName?(0,X.jsxs)(`div`,{className:`sidebar-task-detail-folder`,children:[(0,X.jsx)(Io,{size:13,"aria-hidden":`true`}),(0,X.jsx)(`span`,{children:e.folderName})]}):null]})}function ou({platform:e}){return!cu()||su(e)?null:(0,X.jsxs)(`div`,{className:`window-controls`,"aria-label":`Window controls`,children:[(0,X.jsx)(`button`,{type:`button`,className:`window-control minimize`,title:`Minimize`,onClick:()=>void lu(`minimize`),children:(0,X.jsx)(pn,{size:14})}),(0,X.jsx)(`button`,{type:`button`,className:`window-control maximize`,title:`Maximize`,onClick:()=>void lu(`toggleMaximize`),children:(0,X.jsx)(vn,{size:12})}),(0,X.jsx)(`button`,{type:`button`,className:`window-control close`,title:`Close`,onClick:()=>void lu(`close`),children:(0,X.jsx)(Cn,{size:13})})]})}function su(e){let t=e?.toLowerCase()??``;return t===`darwin`||t.includes(`mac`)}function cu(){if(typeof window>`u`)return!1;let e=window.openpond;return!!(e?.minimizeWindow||e?.toggleMaximizeWindow||e?.closeWindow)}async function lu(e){let t=window.openpond;t&&(e===`minimize`?await t.minimizeWindow?.():e===`toggleMaximize`?await t.toggleMaximizeWindow?.():await t.closeWindow?.())!==!1||(e===`toggleMaximize`&&document.fullscreenEnabled?document.fullscreenElement?await document.exitFullscreen():await document.documentElement.requestFullscreen():e===`close`?window.close():console.warn(`Window controls require the Electron desktop shell.`))}var uu={},du=new Set,fu=new Map,pu=new Map;function mu(){let e=de.getItem(`openpond.sidebar.presentation.v1`);return e===`inbox`||e===`grouped`?e:cu()?`inbox`:`grouped`}function hu(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e.key);i?i.sessions.push(r):n.set(e.key,{...e,sessions:[r]})}return[...n.values()]}function gu({activeSessions:e,beginNewChat:t,account:n,teamChatEnabled:r,teamChatOrganization:i,selectedTeamId:a,teamMembers:o,currentUserId:s,openTeamDm:l,onOpenPonder:u,workflowGroups:d=[],workflowSessions:f=[],trainingSessionIds:p=du,activityTimes:m={},onSelectSession:h,archiveSession:g,archivedSessions:_,chatRowsVisibleCount:v,childSessionRowsByParentId:y={},cloudProjectRows:b,beginProjectChat:x,onAddProject:S,commitTaskDrop:C,commitTaskPreviewDrop:w,dockSessionRight:T,goalRuntimeBySessionId:E=fu,localProjectRows:D,openSidebarFile:O,pinnedRows:k,previewTaskDrop:A,previewPinnedDrop:j,projectRows:M,renameSession:ee,restoreSession:N,runningSessionIds:te,sectionMenuOpen:P,selectedProjectId:F,selectedSessionId:I,setChatRowsVisibleCount:L,setSectionMenuOpen:R,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:V,setView:H,sidebarProjectIdBySessionId:ne,startTaskDrag:re,startPinnedDrag:ie,subagentRuntimeBySessionId:ae=pu,taskDragSessionId:oe,taskPreviewSessionIds:se,terminalSummaries:ce=uu,toggleSessionPinned:le,toggleSessionSavedForLater:ue,view:pe,clearTaskDrag:me,removeProject:he,toggleProjectPinned:ge,setSidebarFileStatus:_e,commitPinnedDrop:U,commitPinnedPreviewDrop:ve,clearSidebarDrag:ye,dragItem:be}){let[xe,Se]=(0,Y.useState)(mu);fe(()=>Se(mu()));let Ce=xe===`inbox`,[we,Te]=(0,Y.useState)(`active`),[Ee,De]=(0,Y.useState)(`recent`),[Oe,ke]=(0,Y.useState)(!0),[Ae,W]=(0,Y.useState)(!1),[je,Me]=(0,Y.useState)(!1),[Ne,Pe]=(0,Y.useState)(zl);fe(()=>Pe(zl()));let{onlyRunningTasks:Fe,showCodexChats:G}=Ne,[Ie,Le]=(0,Y.useState)(null),[Re,ze]=(0,Y.useState)(()=>new Set),[Be,Ve]=(0,Y.useState)(()=>new Map),[He,Ue]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{F&&W(!1)},[F]);let We=`threads`,Ge=M??[...D,...b],Ke=(0,Y.useMemo)(()=>new Map(Ge.map(e=>[e.id,e.project.name])),[Ge]),qe=(0,Y.useMemo)(()=>new Map(Ge.map(e=>[e.id,e])),[Ge]),Je=(0,Y.useMemo)(()=>{let t=new Set(te);for(let n of[...e,...Object.values(y).flat()]){let e=E.get(n.id),r=ae.get(n.id);(e?.tone===`active`&&e.status!==`queued`||(r?.activeCount??0)>0||pt(n.id)?.status===`running`)&&t.add(n.id)}return t},[e,y,E,te,ae,ce]),Ye=(0,Y.useMemo)(()=>Ol({activeSessions:e,doneSessions:_,filter:`all`,inProgressSessionIds:Je,sort:`manual`}),[e,_,Je]),Xe=(0,Y.useMemo)(()=>Ol({activeSessions:e,doneSessions:_,filter:we,inProgressSessionIds:Je,onlyRunningTasks:Fe,selectedTasksetId:Ie,previewSessionIds:se,showCodexChats:G,sort:Ee}),[e,_,Je,Fe,Ie,G,we,se,Ee]),Ze=(0,Y.useMemo)(()=>{let t=new Map;for(let n of[...e,..._]){if(!kl(n,{inProgressSessionIds:Je,onlyRunningTasks:Fe,showCodexChats:G}))continue;let e=pl(n);if(!e)continue;let r=t.get(e.id);r?r.chatCount+=1:t.set(e.id,{...e,chatCount:1})}return[...t.values()].sort((e,t)=>e.name.localeCompare(t.name))},[e,_,Je,Fe,G]),Qe=[],$e=Fl(Qe,f,Ol({activeSessions:f.filter(e=>!e.archived&&!e.hiddenFromDefaultSidebar),doneSessions:f.filter(e=>e.archived&&!e.hiddenFromDefaultSidebar),filter:we,inProgressSessionIds:Je,onlyRunningTasks:Fe,selectedTasksetId:Ie,showCodexChats:G,sort:Ee})),et=Fl(Qe,f,f.filter(e=>!e.hiddenFromDefaultSidebar&&Pl(e)&&kl(e,{inProgressSessionIds:Je,onlyRunningTasks:Fe,showCodexChats:G}))).filter(e=>e.pinned),tt=new Set(et.flatMap(e=>e.members.map(e=>e.id))),nt=(0,Y.useMemo)(()=>k.filter(e=>e.type!==`session`||!tt.has(e.session.id)&&kl(e.session,{inProgressSessionIds:Je,onlyRunningTasks:Fe,showCodexChats:G})),[Je,Fe,k,tt,G]),rt=(0,Y.useMemo)(()=>new Set(Qe.flatMap(e=>[e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId].filter(e=>!!e))),[Qe]),it=(0,Y.useMemo)(()=>Xe.filter(e=>!Pl(e)&&!rt.has(e.id)),[Xe,rt]),at=(0,Y.useMemo)(()=>it.slice(0,Math.max(15,v)),[v,it]),ot=(0,Y.useMemo)(()=>{let e=hu(at,e=>{if(gc(e))return{key:`draft`,label:`Drafts`,projectId:null,project:null,kind:`draft`};if(p.has(e.id))return{key:`training`,label:`Training`,projectId:null,project:null,kind:`projectless`};let t=ne[e.id],n=mt(e)??`Work`;return{key:t?`project:${t}`:`projectless:${n}`,label:n,projectId:t??null,project:t?qe.get(t)??null:null,kind:t?`project`:`projectless`}});for(let t of Ge)e.some(e=>e.projectId===t.id)||e.push({key:`project:${t.id}`,label:t.project.name,projectId:t.id,project:t,kind:`project`,sessions:[]});return e},[Ge,Ke,qe,ne,at,p]),st=at.length<it.length,ct=at.length>15,lt=(0,Y.useMemo)(()=>new Set(ot.filter(e=>e.sessions.some(e=>e.id===I||Je.has(e.id))).map(e=>e.key)),[ot,Je,I]),ut=Ye.filter(e=>!Pl(e)).map(e=>e.id),dt=at.map(e=>e.id),ft=JSON.stringify(Object.entries(y).filter(([e,t])=>t.some(e=>!e.archived)&&(ae.get(e)?.activeCount??0)>0).flatMap(([e,t])=>t.filter(e=>!e.archived).map(t=>[e,t.id])).sort(([e,t],[n,r])=>e.localeCompare(n)||t.localeCompare(r)));(0,Y.useEffect)(()=>{let e=JSON.parse(ft);if(e.length===0)return;let t=new Set(e.map(([e])=>e));ze(e=>[...t].every(t=>e.has(t))?e:new Set([...e,...t]))},[ft]);function pt(e){return Ql(ce[Hl({kind:`session`,id:e})])}function mt(e){if(gc(e))return`Draft`;if(p.has(e.id))return`Training`;let t=ne[e.id];return t?Ke.get(t)??e.workspaceName??`Project`:null}function ht(e){if(h){h(e);return}Ks({kind:`chat`,sessionId:e.id}),V(e.id);let t=ne[e.id]??null;z(t?null:e.appId),B(t),H(`chat`)}function gt(e){return(y[e.id]??[]).filter(e=>!e.archived&&!rt.has(e.id)&&kl(e,{inProgressSessionIds:Je,onlyRunningTasks:Fe,showCodexChats:G}))}function _t(e,t){return Re.has(e.id)||t.some(e=>e.id===I)}function vt(e){ze(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function yt(e){let t=gt(e);return t.length===0||!_t(e,t)?null:(0,X.jsx)(`div`,{className:`sidebar-child-session-group`,children:t.map(t=>(0,X.jsx)(Vc,{session:t,selected:pe===`chat`&&I===t.id,nested:!0,running:Je.has(t.id),goalRuntime:E.get(t.id)??null,subagentRuntime:ae.get(t.id)??null,terminalIndicator:pt(t.id),projectLabel:mt(e),onSelect:()=>ht(t),onTogglePin:()=>le(t),onToggleSaveForLater:()=>ue(t),onDockRight:()=>T(t),onArchive:()=>t.archived?N(t):g(t),onRename:ee},t.id))})}function bt(e,t){if(typeof window>`u`)return;let n=Pl(e)?mt(e):null;Ue({descriptionId:`sidebar-task-detail-${e.id}`,sessionId:e.id,title:e.title,updatedAt:e.updatedAt,folderName:n,style:iu(t.getBoundingClientRect(),{width:window.innerWidth,height:window.innerHeight},!!n)})}function K(e,t={}){let n=e.archived,r=t.pinnedRow?.placeholder??oe===e.id,i=gt(e),a=t.pinnedRow?.dragProps??(!Ce&&Ee===`manual`?{onDragStart:t=>re(t,{allSessionIds:ut,visibleSessionIds:dt,sessionId:e.id}),onDragEnd:me,onDragOver:t=>{r||A(t,e.id)},onDrop:t=>{r?w():C(t,e.id)}}:{});return(0,X.jsxs)(`div`,{className:`sidebar-session-group`,onPointerEnter:t=>bt(e,t.currentTarget),onPointerLeave:()=>Ue(null),onFocusCapture:t=>bt(e,t.currentTarget),onBlurCapture:e=>{e.currentTarget.contains(e.relatedTarget)||Ue(null)},children:[(0,X.jsx)(Vc,{session:e,selected:!n&&pe===`chat`&&I===e.id,archived:n,inbox:Ce,activityAt:Ua(e,m),placeholder:r,running:Je.has(e.id),goalRuntime:E.get(e.id)??null,subagentRuntime:ae.get(e.id)??null,terminalIndicator:pt(e.id),projectLabel:t.projectLabel===void 0?mt(e):t.projectLabel,metadataPresentation:t.metadataPresentation,ariaDescribedBy:He?.sessionId===e.id?He.descriptionId:void 0,childSessionCount:i.length,childSessionsExpanded:_t(e,i),onToggleChildSessions:()=>vt(e.id),onSelect:()=>{Ue(null),n&&N(e),ht(e)},onTogglePin:()=>le(e),onToggleSaveForLater:()=>ue(e),onDockRight:()=>T(e),onArchive:()=>n?N(e):g(e),onRename:ee,...a}),!Ce&&!r?yt(e):null]},t.pinnedRow?.key??e.id)}function xt(e){e!==`tasksets`&&Le(null),Te(e),L(15)}function St(e){Le(e),Te(`tasksets`),L(15)}function Ct(e){De(e),L(15)}function wt(){L(e=>Zs(e,it.length))}function Tt(){L(e=>Qs(e,it.length))}function Et(e){let t={id:e.id,type:e.type};return{onDragStart:e=>ie(e,t),onDragEnd:ye,onDragOver:e=>j(e,t),onDrop:n=>{be?.id===e.id&&be.type===e.type?ve():U(n,t)}}}function Dt(e){let t=Et(e),n=be?.id===e.id&&be.type===e.type;if(e.type===`project`){let r=e.item;return(0,X.jsx)(Wc,{kind:r.kind,project:r.project,pinned:!0,selected:pe===`chat`&&F===r.id,expanded:!1,disclosure:!1,placeholder:n,onSelect:()=>{z(null),B(r.id),V(null),H(`chat`)},onNewChat:()=>x(r.id),onTogglePin:()=>ge(r),onRemove:()=>he(r),...t},e.key)}return e.type===`file`?(0,X.jsx)(Hc,{file:e.file,placeholder:n,onSelect:()=>O(e.file),onTogglePin:()=>_e(e.file,`none`),onToggleSaveForLater:()=>_e(e.file,`saved_for_later`),...t},e.key):K(e.session,{projectLabel:Ce&&!ne[e.session.id]&&!p.has(e.session.id)?null:mt(e.session),pinnedRow:{key:e.key,dragProps:t,placeholder:n}})}function Ot(e){let t=lt.has(e.key)||Be.get(e.key)!==!1;return(0,X.jsx)(dl,{expanded:t,groupKey:e.key,kind:e.kind,label:e.label,onToggle:()=>{Ve(n=>{let r=new Map(n);return r.set(e.key,!t),r})},onNewTask:e.project?()=>x(e.project.id):void 0,onOpenProject:e.project?()=>{z(null),B(e.project.id),V(null),H(`chat`)}:void 0,onRemoveProject:e.project?()=>he(e.project):void 0,project:e.project,children:e.sessions.map(t=>K(t,{metadataPresentation:`flyout`,projectLabel:e.label}))},e.key)}let kt=(0,X.jsx)(eu,{activityOrder:Ce,filter:we,groupByProject:Oe,noun:We,onFilterChange:xt,onGroupByProjectChange:ke,onOnlyRunningTasksChange:e=>{Pe(t=>{let n={...t,onlyRunningTasks:e};return Bl(n),n}),L(15)},onShowCodexChatsChange:e=>{Pe(t=>{let n={...t,showCodexChats:e};return Bl(n),n}),L(15)},onTasksetChange:St,onSortChange:Ct,onlyRunningTasks:Fe,openMenu:P,setOpenMenu:R,showCodexChats:G,sort:Ee,selectedTasksetId:Ie,tasksets:Ze}),q=(0,Y.useMemo)(()=>{if(!Ce)return[];let e=Object.values(y).flat(),t=Ol({activeSessions:e.filter(e=>!e.archived),doneSessions:e.filter(e=>e.archived),filter:we,inProgressSessionIds:Je,onlyRunningTasks:Fe,selectedTasksetId:Ie,showCodexChats:G,sort:`recent`});return Il([...it,...t],$e,rt,m,Je)},[Ce,y,we,Je,Fe,Ie,G,it,$e,rt,m]);function At(e){return(0,X.jsx)(fl,{groups:e,toggleSessionPinned:le,archiveSession:g,restoreSession:N,renderSession:e=>K(e,{projectLabel:mt(e)})})}return(0,X.jsxs)(`div`,{className:`sidebar-sections`,children:[(0,X.jsxs)(`div`,{className:`sidebar-threads-header`,children:[(0,X.jsx)(`span`,{children:`Threads`}),(0,X.jsxs)(`div`,{className:`sidebar-threads-header-actions`,children:[r&&i?.teamId===a?(0,X.jsx)(ll,{members:o,currentUserId:s,teamName:i.displayName,onOpenDm:e=>{(async()=>{await Ks({kind:`view`,view:`team`})&&l(e)})()}},`${n?.activeProfile??``}:${a}`):null,Ce?kt:null,(0,X.jsx)(`button`,{type:`button`,className:`sidebar-icon${Ce?` active`:``}`,"aria-label":Ce?`Show Projects View`:`Show thread inbox`,"data-tooltip":Ce?`Projects View`:`Thread inbox`,"data-tooltip-placement":`bottom`,"aria-pressed":Ce,onClick:()=>{let e=Ce?`grouped`:`inbox`;Se(e),de.setItem(`openpond.sidebar.presentation.v1`,e)},children:Ce?(0,X.jsx)(rs,{size:16}):(0,X.jsx)(ns,{size:16})}),(0,X.jsx)(Js,{beginNewChat:t})]})]}),u?(0,X.jsxs)(`button`,{type:`button`,className:`sidebar-row sidebar-task-row sidebar-ponder-entry`,onClick:u,children:[(0,X.jsx)(`span`,{className:`conversation-source-icon`,"aria-hidden":`true`,children:(0,X.jsx)(`img`,{src:c,alt:``})}),(0,X.jsx)(`span`,{children:`Pal`})]}):null,nt.length>0||et.length>0?(0,X.jsxs)(`div`,{className:`sidebar-pinned-rows`,children:[nt.map(Dt),At(et)]}):null,Ce?(0,X.jsx)(cl,{rows:q,count:v,setCount:L,selectedSessionId:I,emptyLabel:nt.length===0&&et.length===0?jl(we,We):null,renderWorkflow:e=>At([e]),renderSession:e=>K(e,{projectLabel:ne[e.id]||p.has(e.id)?mt(e):null})}):(0,X.jsxs)(X.Fragment,{children:[At($e.filter(e=>!e.pinned)),ot.filter(e=>e.key===`training`).map(Ot),(0,X.jsx)(zc,{label:`Projects`,className:`sidebar-projects-section development`,collapsed:Ae,onToggleCollapsed:()=>W(e=>!e),actions:(0,X.jsx)(tu,{onAddProject:S,onViewProjects:()=>{(async()=>{await Ks({kind:`view`,view:`projects`})&&(z(null),B(null),V(null),H(`projects`))})()}}),children:ot.filter(e=>e.kind===`project`).map(e=>Ot(Oe?e:{...e,sessions:[]}))}),(0,X.jsxs)(zc,{label:`Threads`,className:`sidebar-task-section sidebar-ordinary-section`,collapsed:je,onToggleCollapsed:()=>Me(e=>!e),actionsVisible:P===`tasks-filter`||we!==`active`||Fe||!G,actions:kt,children:[(Oe?at.filter(e=>!ne[e.id]):at).filter(e=>!p.has(e.id)).map(e=>K(e)),it.length===0&&nt.length===0?(0,X.jsx)(`div`,{className:`empty-row`,children:jl(we,We)}):null,it.length>15&&(st||ct)?(0,X.jsxs)(`div`,{className:`sidebar-pagination-controls`,"aria-label":`Showing ${at.length} of ${it.length} ${We}`,children:[st?(0,X.jsx)(Bc,{onClick:wt,children:`Show more`}):null,ct?(0,X.jsx)(Bc,{onClick:Tt,children:`Show less`}):null]}):null]})]}),(0,X.jsx)(au,{detail:He,onClose:()=>Ue(null)})]})}var _u={codex:`Codex`,claude_code:`Claude Code`,opencode:`OpenCode`,grok_build:`Grok Build`,hermes:`Hermes`,pi:`Pi`,oh_my_pi:`Oh My Pi`,openclaw:`OpenClaw`};function vu({status:e,busy:t,onControl:n,onConnectionControl:r,onReconnect:i}){let a=e.desiredState===`stopped`,o=a?`Importer stopped`:e.running?`Importer running`:`Importer offline`;return(0,X.jsxs)(`div`,{className:`sidebar-section native-importer-status`,children:[(0,X.jsx)(`strong`,{children:o}),e.connections.map(n=>{let o=n.backfill,s=o.stage===`complete`,c=o.admitted+o.skipped;return(0,X.jsxs)(`div`,{className:`native-importer-connection`,children:[(0,X.jsxs)(`span`,{children:[n.error?(0,X.jsx)(Ao,{size:12}):s?(0,X.jsx)(Oo,{size:12}):(0,X.jsx)(_n,{size:12}),_u[n.source]??n.source]}),(0,X.jsx)(`small`,{children:n.state===`paused`?`Paused`:n.state===`disconnected`?`Disconnected`:s?e.running&&!a?`Watching for new conversations`:`${o.admitted} conversations imported`:o.stage===`discovering`?`Finding conversations`:`${c} of ${o.total} conversations processed`}),(0,X.jsxs)(`small`,{children:[n.admitted,` tasks admitted`,o.skipped>0?`, ${o.skipped} conversations skipped`:``,o.failed>0?`, ${o.failed} failed`:``]}),!s&&o.total>0?(0,X.jsx)(`progress`,{"aria-label":`${_u[n.source]??n.source} import progress`,value:c,max:o.total}):null,n.queued>0?(0,X.jsxs)(`small`,{children:[n.queued,` updates waiting to upload (`,new Intl.NumberFormat(void 0,{notation:`compact`}).format(n.pendingBytes),` bytes)`]}):null,n.lastAdmissionAt?(0,X.jsxs)(`small`,{children:[`Last synced `,(0,X.jsx)(`time`,{dateTime:n.lastAdmissionAt,children:new Date(n.lastAdmissionAt).toLocaleString()})]}):(0,X.jsx)(`small`,{children:`No uploads acknowledged yet`}),n.destinationLinks?.tasks?(0,X.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noopener noreferrer`,children:`View tasks`}):null,n.destinationLinks?.conversations?(0,X.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noopener noreferrer`,children:`View conversations`}):null,n.error?(0,X.jsx)(`small`,{role:`status`,children:n.error}):null,n.state===`disconnected`?(0,X.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>i(n.id),children:`Reconnect source`}):(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>r(n.state===`paused`?`resume`:`pause`,n.id),children:[n.state===`paused`?`Resume`:`Pause`,` `,_u[n.source]??n.source]}),(0,X.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>r(`disconnect`,n.id),children:[`Disconnect `,_u[n.source]??n.source]})]})]},n.id)}),(0,X.jsx)(`button`,{type:`button`,disabled:t||a,onClick:()=>n(`sync`),children:`Sync now`}),(0,X.jsxs)(`button`,{type:`button`,disabled:t,onClick:()=>n(a||!e.running?`start`:`stop`),children:[a?`Start`:e.running?`Stop`:`Restart`,` importer`]}),!e.running&&!a?(0,X.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`stop`),children:`Stop importer`}):null,!e.running&&!a?(0,X.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`install`),children:`Reinstall background service`}):null]})}function yu({title:e,inspection:t,busy:n,onSelect:r,onRefresh:i,onClose:a}){return(0,X.jsxs)(`section`,{className:`native-branch-picker`,"aria-label":`Choose Claude conversation branch`,children:[(0,X.jsx)(`strong`,{children:e||`Claude conversation`}),(0,X.jsx)(`p`,{children:`This conversation has multiple branches. Choose the history to view. Each branch opens as a read-only snapshot.`}),t.branches.map(e=>(0,X.jsxs)(`button`,{type:`button`,disabled:n,onClick:()=>r({leafId:e.leafId,revision:t.revision}),children:[(0,X.jsx)(`span`,{children:e.title||`Branch without a text message`}),(0,X.jsxs)(`small`,{children:[e.messages,` messages · `,e.updatedAt?new Date(e.updatedAt).toLocaleString():`Date unavailable`]}),(0,X.jsx)(`code`,{children:e.leafId})]},e.leafId)),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:i,children:`Refresh branches`}),(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:a,children:`Cancel`})]})]})}function bu({connection:e,selectedSessionId:t,selectedSession:n,active:r=!0,onOpen:i}){let a=(0,Y.useRef)({selectedSessionId:t,active:r});a.current={selectedSessionId:t,active:r};let o=(0,Y.useRef)(null),s=(0,Y.useRef)(0),c=(0,Y.useRef)(null);(0,Y.useEffect)(()=>(s.current++,o.current=null,v(null),m(null),g(null),f(null),S(null),u(null),()=>{s.current++}),[e]);let[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(null),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(null),C=(0,Y.useCallback)(async()=>{if(!e||c.current===s.current)return;let t=s.current;c.current=t,v(`refresh`);try{let n=await q(e,`/v1/native-history/list`,{method:`POST`,body:JSON.stringify({retain:!0})});t===s.current&&(m(n),g(null))}catch(e){t===s.current&&g(e instanceof Error?e.message:`Local history is unavailable.`)}finally{c.current===t&&(c.current=null),t===s.current&&v(null)}},[e]);(0,Y.useEffect)(()=>{C()},[C]),(0,Y.useEffect)(()=>{let e=window.setInterval(()=>{document.hidden||C()},3e4);return()=>window.clearInterval(e)},[C]),(0,Y.useEffect)(()=>{if(!r||!e||!l||l.sessionId!==t)return;let n=s.current,i=window.setInterval(()=>{document.hidden||q(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:l.id})}).catch(e=>{n===s.current&&g(e.message)})},1e4);return()=>window.clearInterval(i)},[r,e,l,t]);async function w(){let t=s.current;if(e&&p){v(`more`);try{let n=await q(e,`/v1/native-history/list`,{method:`POST`,body:JSON.stringify({cursors:p.nextCursors,retain:!0})});if(t!==s.current)return;m(e=>({...n,items:[...new Map([...e?.items??[],...n.items].map(e=>[e.id,e])).values()]}))}catch(e){t===s.current&&g(e instanceof Error?e.message:`Could not load more conversations.`)}finally{t===s.current&&v(null)}}}async function T(t,n,r=a.current.selectedSessionId){let o=s.current;if(e&&_===null){v(t);try{let c=await q(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:t,branch:n})});if(o!==s.current)return;u(n?null:{id:t,sessionId:c.id}),S(null),g(c.metadata?.nativeHistoryProjection&&!c.nativeAgent?typeof c.metadata.nativeReadOnlyReason==`string`?c.metadata.nativeReadOnlyReason:`Read-only history: the native source does not report its original working directory.`:null),a.current.active&&a.current.selectedSessionId===r&&await i(c)}catch(e){o===s.current&&g(e instanceof Error?e.message:`Could not read this conversation.`)}finally{o===s.current&&v(null)}}}async function E(t,n=a.current.selectedSessionId){if(!e||_!==null)return;let r=s.current;v(t);try{let i=await q(e,`/v1/native-history/branches`,{method:`POST`,body:JSON.stringify({id:t})});if(r!==s.current)return;a.current.active&&a.current.selectedSessionId===n&&S({id:t,inspection:i,originSessionId:n}),g(null)}catch(e){r===s.current&&g(e instanceof Error?e.message:`Could not read conversation branches.`)}finally{r===s.current&&v(null)}}(0,Y.useEffect)(()=>{if(!r||!e||_!==null||!n||n.metadata?.nativeHistoryLoaded!==!1||n.metadata.nativeBranch)return;let t=n.metadata.nativeHistoryId;if(typeof t!=`string`)return;let i=`${s.current}:${n.id}`;o.current!==i&&(o.current=i,T(t,void 0,n.id))},[e,n,_,r]);async function D(t){let n=s.current;if(e){v(t);try{await q(e,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:t})}),n===s.current&&await C()}catch(e){n===s.current&&g(e instanceof Error?e.message:`Collector action failed.`)}finally{n===s.current&&v(null)}}}async function O(t,n){let r=s.current;if(e){v(t);try{let i=await q(e,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:t,connectionId:n})});if(r!==s.current)return;f(i.command),g(null)}catch(e){r===s.current&&g(e instanceof Error?e.message:`Could not change Importer connection.`)}finally{r===s.current&&v(null)}}}async function k(t){let n=s.current;if(e){v(`connect`);try{let r=await q(e,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:t?`reconnect`:`connect`,connectionId:t})});if(n!==s.current)return;f(r.command),g(null)}catch(e){n===s.current&&g(e instanceof Error?e.message:`Could not open Importer setup.`)}finally{n===s.current&&v(null)}}}async function A(e){let t=e.metadata?.nativeHistoryId;await i(e)&&e.metadata?.nativeHistoryProjection&&!e.metadata.nativeBranch&&typeof t==`string`&&T(t,void 0,e.id)}return{connection:e,history:p,error:h,busy:_,command:d,expanded:y,branchSelection:x,branchHistoryId:n?.provider===`claude-code`&&typeof n.metadata?.nativeHistoryId==`string`?n.metadata.nativeHistoryId:null,setCommand:f,setExpanded:b,setBranchSelection:S,refresh:C,more:w,open:T,inspectBranches:E,control:D,connectionControl:O,connect:k,select:A}}function xu({history:e}){let{connection:t,history:n,error:r,busy:i,command:a,expanded:o,branchSelection:s,branchHistoryId:c,setCommand:l,setExpanded:u,setBranchSelection:d,refresh:f,more:p,open:m,inspectBranches:h,control:g,connectionControl:_,connect:v}=e;return t?(0,X.jsxs)(`section`,{className:`sidebar-section native-conversations`,"aria-label":`Conversation import controls`,children:[(0,X.jsxs)(`div`,{className:`sidebar-section-heading`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:()=>u(e=>!e),"aria-expanded":o,children:`Import conversations`}),(0,X.jsx)(`button`,{type:`button`,className:`sidebar-icon`,"aria-label":`Refresh saved conversation history`,disabled:i!==null,onClick:()=>void f(),children:i===`refresh`?(0,X.jsx)(_n,{size:14}):(0,X.jsx)(xn,{size:14})})]}),a?(0,X.jsx)(Fn,{connection:t,command:a,onClose:()=>{l(null),f()}}):null,s?(0,X.jsx)(yu,{title:n?.items.find(e=>e.id===s.id)?.title??``,inspection:s.inspection,busy:i!==null,onSelect:e=>void m(s.id,e,s.originSessionId??null),onRefresh:()=>void h(s.id,s.originSessionId??null),onClose:()=>d(null)}):null,o?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void v(),children:`Connect an import source`}),c?(0,X.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void h(c),children:`View conversation branches`}):null,n&&Object.keys(n.nextCursors).length?(0,X.jsx)(`button`,{type:`button`,disabled:i!==null,onClick:()=>void p(),children:`Load more saved conversations`}):null,n&&n.items.length===0?(0,X.jsx)(`p`,{children:`No saved conversations found in configured source locations.`}):null,n?.warnings.map(e=>(0,X.jsxs)(`p`,{children:[(0,X.jsx)(Ao,{size:12,"aria-hidden":`true`}),` `,e]},e)),n?.collector.connections.length?(0,X.jsx)(vu,{status:n.collector,busy:i!==null,onControl:e=>void g(e),onConnectionControl:(e,t)=>void _(e,t),onReconnect:e=>void v(e)}):(0,X.jsx)(`p`,{children:`Connect an import source to upload conversations. Local history remains available without cloud sync.`})]}):null,r?(0,X.jsx)(as,{error:r}):null]}):null}function Su(e){let{trainingSessionIds:t}=us(e.productArea===`chat`?e.connection:null),{productArea:r,setSectionMenuOpen:i,setSelectedAppId:a,setSelectedProjectId:o,setSelectedSessionId:s,setSidebarOpen:c,setView:l,view:u,modelProjects:d,modelTrainingActivityByProjectId:f}=e,p=(0,Y.useCallback)(e=>{i(e)},[i]),m=(0,Y.useCallback)(async t=>{if(!await Ks({kind:`chat`,sessionId:t.id}))return!1;s(t.id);let n=e.sidebarProjectIdBySessionId[t.id]??null;return o(n),a(n?null:t.appId),l(`chat`),e.requestComposerFocus(),!0},[s,o,a,l,e.sidebarProjectIdBySessionId,e.requestComposerFocus]),h=JSON.stringify({account:e.account?.activeProfile??null,baseUrl:e.account?.baseUrl??null,owner:e.account?.profile?.id??null,state:e.account?.state??null,teamId:e.selectedTeamId??null}),g=r===`chat`&&e.account?.state===`signed_in`,_=Xs(e.connection,g,h),v=g&&_.data?.ownerScope?_.data.localHandoffs.filter(e=>e.workflow&&[`installationId`,`profileId`,`ownerUserId`,`teamId`].every(t=>e.scope[t]===_.data.ownerScope[t])):[],y=new Set(v.flatMap(e=>[e.prerequisite.sessionId,e.successor.sessionId,e.workflow?.preparationSessionId].filter(e=>!!e))),b=(e.allSessions??[...e.activeSessions,...e.archivedSessions]).filter(e=>{let t=e.metadata?.ponderLocalOwner;return y.has(e.id)&&typeof t==`object`&&!!t&&!Array.isArray(t)&&[`installationId`,`profileId`,`ownerUserId`,`teamId`].every(e=>t[e]===_.data?.ownerScope?.[e])}),x=bu({connection:r===`chat`?e.connection:null,active:u===`chat`,selectedSessionId:e.selectedSessionId,selectedSession:[...e.activeSessions,...e.archivedSessions,...Object.values(e.childSessionRowsByParentId??{}).flat()].find(t=>t.id===e.selectedSessionId)??null,onOpen:m});return(0,X.jsxs)(`aside`,{className:`sidebar`,inert:e.open===!1,children:[(0,X.jsxs)(`div`,{className:`sidebar-toolbar`,children:[(0,X.jsx)(`button`,{className:`sidebar-icon`,"aria-label":`Hide sidebar`,onClick:()=>c(!1),children:(0,X.jsx)(Wo,{size:16})}),(0,X.jsx)(`div`,{className:`sidebar-brand`,children:(0,X.jsx)(`img`,{className:`sidebar-wordmark`,src:n,alt:`OpenPond`})}),(0,X.jsx)(cs,{hasRunningWork:e.runningSessionIds.size>0||Object.values(e.terminalSummaries).some(e=>e.tabCount>0)})]}),(0,X.jsxs)(`div`,{className:`sidebar-scroll`,children:[r===`chat`?null:(0,X.jsx)(Ys,{productArea:r,setSectionMenuOpen:p,setSelectedAppId:a,setSelectedProjectId:o,setSelectedSessionId:s,setView:l,view:u,modelProjects:d,modelTrainingActivityByProjectId:f}),r!==`chat`||u!==`chat`?null:(0,X.jsx)(gu,{...e,trainingSessionIds:t,workflowGroups:v,workflowSessions:b,onSelectSession:x.select,setSectionMenuOpen:p}),r===`chat`&&u===`chat`?(0,X.jsx)(xu,{history:x}):null]})]})}function Cu(e){let t=(0,Y.useCallback)(t=>Dt(e,t),[e]),n=(0,Y.useCallback)(()=>Et(e),[e]);return(0,Y.useSyncExternalStore)(t,n)}var wu=[{destination:`walkthroughs`,icon:wo,label:`Walkthroughs`},{destination:`external`,icon:wo,label:`Docs`,url:`https://openpond.ai/docs`},{destination:`external`,icon:Fo,label:`Blog`,url:`https://openpond.ai/blog`},{destination:`external`,icon:Mo,label:`Pricing`,url:`https://openpond.ai/pricing`},{destination:`external`,icon:Bo,label:`Web app`,url:`https://openpond.ai/sandboxes`},{destination:`external`,icon:zo,label:`GitHub`,url:`https://github.com/openpond/openpond`},{destination:`external`,icon:yn,label:`Submit issue`,url:`https://github.com/openpond/openpond/issues/new/choose`}];function Tu({onOpenWalkthroughs:e,onCloseAccount:t,walkthroughsActive:n}){let[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(null),o=(0,Y.useRef)(null);(0,Y.useLayoutEffect)(()=>{r&&o.current?.querySelector(`[role="menuitem"]`)?.focus()},[r]);function s(){i(!0)}function c(){i(!1),a.current?.focus()}return(0,X.jsxs)(`div`,{className:`user-auth-help`,onKeyDown:e=>{r&&(e.key===`Escape`||e.key===`ArrowLeft`)&&(e.preventDefault(),e.stopPropagation(),c())},children:[(0,X.jsxs)(`button`,{ref:a,type:`button`,className:`user-auth-menu-link`,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>r?c():s(),onKeyDown:e=>{e.key===`ArrowRight`&&(e.preventDefault(),s())},children:[(0,X.jsx)(Vo,{size:15}),(0,X.jsx)(`span`,{children:`Help`}),(0,X.jsx)(mn,{className:`user-auth-help-chevron`,size:14})]}),r?(0,X.jsx)(`div`,{ref:o,className:`user-auth-help-submenu`,role:`menu`,"aria-label":`Help`,onKeyDown:e=>{if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=Array.from(o.current?.querySelectorAll(`[role="menuitem"]`)??[]),n=t.indexOf(document.activeElement);t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowDown`?1:-1)+t.length)%t.length]?.focus()},children:wu.map(r=>{let i=r.icon,a=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(i,{size:15}),(0,X.jsx)(`span`,{children:r.label})]});return r.destination===`walkthroughs`?(0,X.jsx)(`button`,{type:`button`,role:`menuitem`,className:`user-auth-menu-link`,"aria-current":n?`page`:void 0,onClick:()=>{t(),e()},children:a},r.label):(0,X.jsx)(`a`,{className:`user-auth-menu-link`,role:`menuitem`,href:r.url,target:`_blank`,rel:`noreferrer`,onClick:e=>{e.preventDefault(),t(),Eu(r.url)},children:a},r.label)})}):null]})}async function Eu(e){let t=window.openpond?.browser;t?.openExternal&&(await t.openExternal({conversationId:`openpond-help`,url:e})).ok||window.open(e,`_blank`,`noopener,noreferrer`)}function Du({hasRunningWork:e}){let{state:t,busy:n,pendingAction:r,error:i,run:a}=ss(e),[o,s]=(0,Y.useState)(!1),c=window.openpond?.updates;if(!t||t.status===`unsupported`||!c)return null;let l=t.status===`ready`||t.status===`restarting`||t.retry===`restart`,u=t.status===`available`||t.retry===`download`,d=t.status===`checking`||r===`check`,f=t.status===`restarting`||r===`restart`,p=t.status===`downloading`||r===`download`,m=l?`restart`:o&&u?`download`:`check`,h=i?`Try again`:d?`Checking…`:f?`Restarting…`:p?`Downloading${t.progress===null?`…`:` ${t.progress}%`}`:l?`Restart to update`:o&&u?`Update available`:o&&t.status===`current`?`Up to date`:null,g=i??(m===`restart`?`Restart OpenPond to install the downloaded update.`:m===`download`?`Download OpenPond ${t.version}.`:`Check for OpenPond updates.`);async function _(){!n&&c&&(s(!0),await a(m))}return(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link user-auth-update-check`,role:`menuitem`,title:g,"aria-description":g,disabled:n,"aria-busy":n,onClick:()=>void _(),children:[n?(0,X.jsx)(`span`,{className:`sidebar-update-icon sidebar-update-spinner`,"aria-hidden":`true`,children:(0,X.jsx)(_n,{size:15})}):(0,X.jsx)(xn,{size:15,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`user-auth-update-label`,children:`Check for updates`}),h?(0,X.jsx)(`span`,{className:`user-auth-update-status`,role:i?`alert`:`status`,children:h}):null]})}function Ou(e){return window.addEventListener(`openpond:theme-changed`,e),()=>window.removeEventListener(`openpond:theme-changed`,e)}function ku(){return document.documentElement.dataset.theme===`light`?`light`:`dark`}function Au(){let e=document.documentElement.dataset.themePreference;return e===`dark`||e===`light`?e:`system`}function ju(){return(0,Y.useSyncExternalStore)(Ou,Au,()=>`system`)}function Mu(e){localStorage.setItem(`openpond:appearance`,e),window.dispatchEvent(new CustomEvent(`openpond:appearance`,{detail:e}))}function Nu(){let e=(0,Y.useSyncExternalStore)(Ou,ku,()=>`dark`),[t,n]=(0,Y.useState)(null);Dn(t);let r=e===`light`;return(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link user-auth-theme-toggle`,role:`menuitemcheckbox`,"aria-label":`Dark mode`,"aria-checked":!r,title:`Switch to ${r?`dark`:`light`} mode`,onClick:()=>{try{Mu(r?`dark`:`light`),n(null)}catch{n(`Could not save your appearance preference.`)}},children:[(0,X.jsx)(fs,{size:15,"aria-hidden":`true`}),(0,X.jsx)(`span`,{children:`Dark mode`}),(0,X.jsx)(`span`,{className:`user-auth-theme-switch`,"aria-hidden":`true`})]})}function Pu(e,t,n={}){return w({queryKey:[`provider-plan-usage`,dn(e),t],enabled:!!e,queryFn:({signal:n})=>q(e,`/v1/providers/${t}/plan-usage`,{signal:AbortSignal.any([n,AbortSignal.timeout(25e3)])}),staleTime:3e4,refetchInterval:n.poll!==!1&&6e4,refetchOnWindowFocus:n.poll!==!1&&`always`,refetchOnMount:n.poll!==!1,retry:!1,gcTime:3e5})}function Fu(e){return`${Math.floor(e)}%`}function Iu(e){return e.resetsAt?`Resets ${new Date(e.resetsAt).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}`:`Reset time unavailable`}function Lu(e,t){return t?`Loading…`:e?.status===`signed_out`?`Sign in`:e?.status===`unsupported`?`Not available`:`Unavailable`}function Ru({connection:e,provider:t}){let n=Pu(e,t,{poll:!1});return(0,X.jsx)(`button`,{type:`button`,className:`plan-usage-refresh`,"aria-label":`Refresh ${t===`claude-code`?`Claude`:`Codex`} plan usage`,title:`Check usage (cached for up to ${t===`claude-code`?`5 minutes`:`1 minute`})`,disabled:!e||n.isFetching,onClick:()=>void n.refetch(),children:(0,X.jsx)(xn,{size:13,className:n.isFetching?`settings-spin`:void 0})})}function zu({connection:e,provider:t,compact:n=!1,onOpen:r}){let i=Pu(e,t),a=i.data,o=a?.windows.filter(e=>e.shared)??[],s=!!a?.windows.some(e=>e.resetsAt&&Date.parse(e.resetsAt)<=Date.now()),c=i.isError||s||!!(a&&Date.parse(a.refreshAfter)+6e4<Date.now()),l=t===`claude-code`?`Claude`:`Codex`,u=a?.status===`ready`,d=Lu(a,i.isPending&&!!e),f=a?.windows.map(e=>`${e.label}: ${Fu(e.remainingPercent)} remaining. ${Iu(e)}.`).join(`
|
|
19
|
+
`);return n?(0,X.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`plan-usage-compact`,onClick:r,title:c?`Usage needs refreshing. ${f??``}`:f||a?.message||`View plan usage in Providers`,children:[(0,X.jsxs)(`span`,{className:`plan-usage-compact-provider`,children:[(0,X.jsx)(`img`,{src:`/agent-sources/${t}.svg`,alt:``,"aria-hidden":`true`}),l]}),(0,X.jsx)(`span`,{className:`plan-usage-compact-values`,children:!c&&u&&o.length?o.map(e=>(0,X.jsxs)(`span`,{className:`plan-usage-compact-value`,children:[(0,X.jsx)(`small`,{children:e.label}),(0,X.jsx)(`strong`,{children:Fu(e.remainingPercent)})]},e.id)):(0,X.jsx)(`strong`,{children:c?`Unavailable`:d})})]}):(0,X.jsx)(`section`,{className:`provider-plan-usage`,"aria-label":`${l} plan usage`,children:u?(0,X.jsxs)(X.Fragment,{children:[a.windows.map(e=>(0,X.jsxs)(`div`,{className:`plan-usage-window`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{children:e.label}),(0,X.jsxs)(`strong`,{children:[Fu(e.remainingPercent),c?` · last known`:``]})]}),(0,X.jsx)(`meter`,{min:0,max:100,low:10,high:25,optimum:100,value:e.remainingPercent,"aria-label":`${l} ${e.label} remaining`}),(0,X.jsx)(`small`,{children:Iu(e)})]},e.id)),c?(0,X.jsxs)(`small`,{role:`status`,children:[`Usage needs refreshing. Last checked `,new Date(a.fetchedAt).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}),`.`]}):null]}):(0,X.jsx)(`p`,{role:`status`,children:i.isError?`Could not load usage. Try refreshing.`:a?.message??(e?`Loading plan usage…`:`Connect to load plan usage.`)})})}function Bu(...e){for(let t of e){let e=t?.trim();if(e)return e}return null}function Vu(e){let t=e?.accounts.find(e=>e.isActive)??null,n=e?.profile??null,r=e?.activeProfile?.handle??null;return{label:(e?.state===`signed_in`?Bu(e?.label,n?.handle,n?.name,n?.email,t?.displayLabel,t?.handle,r,e?.email,`Signed in`):e?.state===`loading`||e?.state===`switching`?`Loading account`:`Sign in`)??`Account`,image:e?.avatarUrl??n?.image??t?.avatarUrl??null}}function Hu({connection:e,onOpenProviders:t,account:n,open:r,organizations:i,selectedTeamId:a,onOpenActivity:o,onOpenChange:s,onOpenSettings:c,onOpenWalkthroughs:l,walkthroughsActive:u,onSelectTeam:d,onLogOut:f,railTooltip:p,hasRunningWork:m}){let[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(!1),y=(0,Y.useRef)(null),b=(0,Y.useMemo)(()=>Vu(n),[n]),x=b.label.trim().slice(0,1).toUpperCase();return(0,Y.useEffect)(()=>{if(!r)return;function e(e){y.current?.contains(e.target)||s(!1)}function t(e){e.key===`Escape`&&s(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[s,r]),(0,X.jsxs)(`div`,{className:`user-auth-footer`,ref:y,children:[(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-trigger ${r?`active`:``}`,"aria-haspopup":`menu`,"aria-expanded":r,"aria-label":`${b.label} account menu`,"data-rail-tooltip":p,onClick:()=>s(!r),children:[(0,X.jsx)(`span`,{className:`user-auth-avatar`,"aria-hidden":`true`,children:b.image?(0,X.jsx)(`img`,{src:b.image,alt:``}):x?(0,X.jsx)(`span`,{children:x}):(0,X.jsx)(ts,{size:16})}),(0,X.jsx)(`span`,{className:`user-auth-name`,children:b.label})]}),r?(0,X.jsxs)(`div`,{className:`user-auth-menu`,role:`menu`,"aria-label":`Account`,children:[(0,X.jsxs)(`div`,{className:`user-auth-menu-header`,children:[(0,X.jsx)(`span`,{className:`user-auth-menu-avatar`,"aria-hidden":`true`,children:b.image?(0,X.jsx)(`img`,{src:b.image,alt:``}):x?(0,X.jsx)(`span`,{children:x}):(0,X.jsx)(ts,{size:17})}),(0,X.jsxs)(`span`,{className:`user-auth-menu-identity`,children:[(0,X.jsx)(`strong`,{children:b.label}),n?.state===`signed_in`&&n.environment?(0,X.jsx)(`small`,{title:n.baseUrl??void 0,children:n.environment.slice(0,1).toUpperCase()+n.environment.slice(1)}):null]})]}),i.length>0&&d?(0,X.jsx)(ms,{className:`user-auth-team-picker`,label:`Active team`,icon:(0,X.jsx)(Qo,{size:15,"aria-hidden":`true`}),placement:`right`,floating:!0,floatingMenuWidth:260,disabled:h!==null,value:a??``,options:[{value:``,label:`Personal account`},...a&&!i.some(e=>e.teamId===a)?[{value:a,label:`Selected workspace unavailable`,disabled:!0}]:[],...i.map(e=>({value:e.teamId,label:e.displayName}))],onChange:async e=>{g(e);try{await d(e||null)}catch{}finally{g(null)}}}):null,(0,X.jsx)(`div`,{className:`user-auth-plan-usage`,children:[`claude-code`,`codex`].map(n=>(0,X.jsx)(zu,{connection:e,provider:n,compact:!0,onOpen:()=>{s(!1),t()}},n))}),(0,X.jsx)(`div`,{className:`user-auth-menu-divider`}),o?(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,onClick:()=>{s(!1),o()},children:[(0,X.jsx)(Do,{size:15}),(0,X.jsx)(`span`,{children:`Activity`})]}):null,(0,X.jsx)(Nu,{}),(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,onClick:()=>{s(!1),c()},children:[(0,X.jsx)(Zo,{size:15}),(0,X.jsx)(`span`,{children:`Settings`})]}),(0,X.jsx)(Du,{hasRunningWork:m}),(0,X.jsx)(Tu,{onOpenWalkthroughs:l,walkthroughsActive:u,onCloseAccount:()=>s(!1)}),n?.state===`signed_in`&&f?(0,X.jsxs)(`button`,{type:`button`,className:`user-auth-menu-link`,role:`menuitem`,disabled:_,onClick:async()=>{v(!0);try{await f(),s(!1)}catch{}finally{v(!1)}},children:[(0,X.jsx)(Jo,{size:15}),(0,X.jsx)(`span`,{children:_?`Logging out…`:`Log out`})]}):null]}):null]})}function Uu({sidebar:e,open:t}){let[n,r]=(0,Y.useState)(!1),i=Cu(e.connection),a=[{view:`chat`,label:`Home`,Icon:ds},{view:`training`,label:`Ponder`,Icon:ps},{view:`scheduled`,label:`Workflows`,Icon:Eo},{view:`outputs`,label:`Outputs`,Icon:Po},{view:`apps`,label:`Apps`,Icon:Qo},{view:`projects`,label:`Projects`,Icon:Lo}];async function o(n){r(!1),e.productArea===`chat`&&e.view===n?n===`chat`&&e.setSidebarOpen(!t):await Ks(n===`chat`?{kind:`chat`,sessionId:e.selectedSessionId}:{kind:`view`,view:n})&&(e.setSectionMenuOpen(null),e.setView(n),n===`chat`&&e.setSidebarOpen(!0))}async function s(){await Ks({kind:`view`,view:`get-started`})&&(e.setSelectedAppId(null),e.setSelectedProjectId(null),e.setSelectedSessionId(null),e.setSectionMenuOpen(null),e.setView(`get-started`))}return(0,X.jsxs)(`nav`,{className:`desktop-navigation-rail`,"aria-label":`Desktop destinations`,children:[(0,X.jsxs)(`div`,{className:`desktop-rail-destinations`,children:[(0,X.jsx)(`button`,{type:`button`,className:`desktop-rail-button desktop-rail-brand`,"aria-label":`OpenPond`,"data-rail-tooltip":`OpenPond`,onClick:()=>void o(`chat`),children:(0,X.jsx)(`img`,{src:c,alt:``})}),a.map(({view:n,label:i,Icon:a})=>{if(n===`training`)return(0,X.jsx)(`button`,{type:`button`,"data-rail-tooltip":i,"aria-label":i,className:`desktop-rail-button desktop-training-entry${e.productArea===`console`?` active`:``}`,"aria-current":e.productArea===`console`?`page`:void 0,"aria-expanded":e.productArea===`console`&&t,onClick:()=>{r(!1),e.productArea===`console`?e.setSidebarOpen(!t):(e.onProductAreaChange(`console`),e.setSidebarOpen(!0))},children:(0,X.jsx)(a,{size:19})},n);let s=e.productArea===`chat`&&e.view===n;return(0,X.jsx)(`button`,{type:`button`,"data-rail-tooltip":i,"aria-label":i,"aria-current":s?`page`:void 0,"aria-expanded":n===`chat`?s&&t:void 0,className:`desktop-rail-button${s?` active`:``}`,onClick:()=>void o(n),children:(0,X.jsx)(a,{size:19})},n)}),[{view:`team`,label:`Team chat`,Icon:yn,onOpen:e.onOpenTeamChat},{view:`community`,label:`Discover communities`,Icon:Bo,onOpen:e.discoverCommunities}].map(({view:t,label:n,Icon:i,onOpen:a})=>(0,X.jsx)(`button`,{type:`button`,"data-rail-tooltip":n,"aria-label":n,className:`desktop-rail-button${e.productArea===`chat`&&e.view===t?` active`:``}`,"aria-current":e.productArea===`chat`&&e.view===t?`page`:void 0,onClick:()=>{r(!1),(e.productArea!==`chat`||e.view!==t)&&a()},children:(0,X.jsx)(i,{size:19})},t))]}),(0,X.jsxs)(`div`,{className:`desktop-rail-account`,children:[i.error?(0,X.jsx)(`button`,{type:`button`,className:`desktop-rail-button desktop-connection-error`,"aria-label":`OpenPond connection interrupted`,"aria-description":`${i.error} Retrying every 5 seconds.`,"data-rail-tooltip":`${i.error} Retrying every 5 seconds.`,onClick:()=>void Ks({kind:`settings`,section:`diagnostics`}),children:(0,X.jsx)(Ao,{size:18})}):null,(0,X.jsx)(Hu,{account:e.account,open:n,onOpenChange:r,hasRunningWork:e.runningSessionIds.size>0||Object.values(e.terminalSummaries).some(e=>e.tabCount>0),connection:e.connection,onOpenProviders:()=>void Ks({kind:`settings`,section:`providers`}),railTooltip:n?void 0:`Account`,organizations:e.organizations,selectedTeamId:e.selectedTeamId,onSelectTeam:e.onSelectTeam,onLogOut:e.onLogOut,walkthroughsActive:e.view===`get-started`,onOpenWalkthroughs:()=>void s(),onOpenActivity:()=>void Ks({kind:`settings`,section:`usage`}),onOpenSettings:()=>void Ks({kind:`settings`,section:`account`})})]})]})}function Wu({state:e,onClose:t,onOpenBrowserUrl:n,onStart:r}){if(Dn(e?.previewError,{prefix:`Upload preview`}),Dn(e?.error,{prefix:`Cloud setup`}),!e)return null;let i=e.status===`uploading`,a=e.status===`ready`,o=e.status===`error`,s=e.projectKind===`cloud`,c=e.preview??null;return(0,X.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,X.jsxs)(`section`,{className:`git-dialog cloud-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Set up Cloud coding`,children:[(0,X.jsx)(`button`,{className:`git-dialog-close`,disabled:i,type:`button`,onClick:t,"aria-label":`Close Cloud setup`,title:`Close`,children:(0,X.jsx)(Cn,{size:14})}),(0,X.jsx)(`div`,{className:`git-dialog-icon`,children:a?(0,X.jsx)(ko,{size:18}):(0,X.jsx)(jo,{size:18})}),(0,X.jsx)(`h2`,{children:a?`Cloud repo ready`:`Set up Cloud coding`}),(0,X.jsx)(`p`,{children:a?`Your source is ready in OpenPond Git. Finish by creating the Cloud sandbox environment.`:s?`This Cloud Project is ready for a sandbox environment.`:`OpenPond will upload tracked and unignored files into OpenPond Git, then send you to the Cloud sandbox setup page.`}),(0,X.jsxs)(`div`,{className:`cloud-setup-summary`,children:[(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Project`}),(0,X.jsx)(`strong`,{children:e.projectName})]}),(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Source`}),(0,X.jsx)(`strong`,{children:s?`OpenPond Git`:`Local project upload`})]}),(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Branch`}),(0,X.jsx)(`strong`,{children:c?.branch??e.branch??`main`})]}),!s&&(0,X.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,X.jsx)(`span`,{children:`Cloud project`}),(0,X.jsx)(`strong`,{children:c?.targetProjectId??e.cloudProjectId??`New on upload`})]})]}),!a&&!s&&(0,X.jsx)(`div`,{className:`cloud-setup-upload-preview`,role:`status`,"aria-live":`polite`,children:e.previewLoading?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:`Calculating upload preview`}),(0,X.jsx)(`span`,{children:`Checking tracked and unignored files before anything is pushed.`})]}):e.previewError?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:`Preview unavailable`}),(0,X.jsx)(`span`,{children:`Close and reopen setup to try the preview again.`})]}):c?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:c.initializedEmptyProject?`Will initialize an empty project`:`Will upload ${c.fileCount} files`}),(0,X.jsx)(`span`,{children:qu({byteCount:c.byteCount,skippedCount:c.skippedCount,headCommit:c.headCommit,targetProjectName:c.targetProjectName})})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`strong`,{children:`Upload preview pending`}),(0,X.jsx)(`span`,{children:`File count, byte count, and skipped files will appear here before upload.`})]})}),i&&(0,X.jsxs)(`div`,{className:`cloud-setup-progress`,role:`status`,"aria-live":`polite`,children:[(0,X.jsx)(_n,{className:`cloud-setup-spinner`,size:16}),(0,X.jsx)(`span`,{children:`Uploading source to OpenPond Git...`})]}),a&&e.upload&&(0,X.jsxs)(`div`,{className:`cloud-setup-upload-result`,children:[(0,X.jsx)(`strong`,{children:e.upload.initializedEmptyProject?`Initialized empty project`:`Uploaded ${e.upload.fileCount} files`}),(0,X.jsx)(`span`,{children:qu({byteCount:e.upload.byteCount,skippedCount:e.upload.skippedCount,headCommit:e.upload.headCommit,targetProjectName:e.upload.branch})})]}),a&&e.setupUrl&&(0,X.jsxs)(`div`,{className:`cloud-setup-next`,children:[e.projectUrl?(0,X.jsxs)(`span`,{children:[`Your repo is ready here:`,` `,(0,X.jsxs)(`a`,{href:e.projectUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>Gu(t,e.projectUrl,n,{newTab:!0}),children:[`Project page`,(0,X.jsx)(gn,{size:13})]})]}):(0,X.jsx)(`span`,{children:`Your repo is ready. Next step:`}),(0,X.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>Gu(t,e.setupUrl,n),children:[`Setup the Cloud sandbox`,(0,X.jsx)(gn,{size:13})]})]}),(0,X.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,X.jsx)(`button`,{className:`git-dialog-secondary`,disabled:i,type:`button`,onClick:t,children:a?`Done`:`Cancel`}),a?e.setupUrl?(0,X.jsxs)(`a`,{className:`git-dialog-primary cloud-setup-primary-link`,href:e.setupUrl,target:`_blank`,rel:`noreferrer`,onClick:t=>Gu(t,e.setupUrl,n),children:[`Open setup`,(0,X.jsx)(gn,{size:13})]}):null:(0,X.jsx)(`button`,{className:`git-dialog-primary`,disabled:i,type:`button`,onClick:r,children:i?`Uploading`:o?`Try again`:s?`Show setup link`:`Upload source`})]})]})})}function Gu(e,t,n,r={}){t&&n&&(e.preventDefault(),n(t,r))}function Ku(e){return!Number.isFinite(e)||e<=0?`0 B`:e<1024?`${Math.round(e)} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function qu({byteCount:e,skippedCount:t,headCommit:n,targetProjectName:r}){let i=[Ku(e),`${t} skipped`],a=Ju(n);return a&&i.push(`local ${a}`),i.push(r),i.join(` · `)}function Ju(e){let t=e?.trim();return t?t.slice(0,7):null}var Yu=(0,Y.lazy)(()=>l(()=>import(`./CommandMenu-EPPjB14H.js`).then(e=>({default:e.CommandMenu})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),Xu=(0,Y.lazy)(()=>l(()=>import(`./SettingsView-CckoIki3.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([12,1,2,3,6,5,7,13,14,4,15,16,17,18,8,10,19,20,21,22,23,24,25,26,9,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52]))),Zu=(0,Y.lazy)(()=>l(()=>import(`./NewProjectDialog-CjrjgkTN.js`).then(e=>({default:e.NewProjectDialog})),__vite__mapDeps([53,1,2,3,8,23,10,39,54,21]))),Qu=(0,Y.lazy)(()=>l(()=>import(`./WorkspaceGitDialogs-NRIMXnkS.js`).then(e=>({default:e.CommitDialog})),__vite__mapDeps([55,2,1,3,8,37,10,40,56,21]))),$u=(0,Y.lazy)(()=>l(()=>import(`./WorkspaceGitDialogs-NRIMXnkS.js`).then(e=>({default:e.BranchDialog})),__vite__mapDeps([55,2,1,3,8,37,10,40,56,21])));function ed({payload:e,connection:t,diagnostics:n,initialSection:r,onPayload:i,onError:a,onToast:o,onBack:s,onOpenSourceSession:c,onStartRefinerAuthoring:l,onAcceptEvaluationReview:u,onOpenSkill:d,onOpenExtension:f,teamChatCurrentUserId:p,teamChatEnabled:m,teamChatNotificationMode:h,teamChatThreads:g,onTeamChatNotificationModeChange:_,onTeamChatThreadMuteChange:v,diffPanelWidth:y,diffPanelResizing:b,diffPanelExpanded:x,onDiffPanelResizeStart:S,onDiffPanelExpandedChange:C}){return(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Xu,{payload:e,connection:t,diagnostics:n,initialSection:r,onPayload:i,onError:a,onToast:o,onBack:s,onOpenSourceSession:c,onStartRefinerAuthoring:l,onAcceptEvaluationReview:u,onOpenSkill:d,onOpenExtension:f,teamChatCurrentUserId:p,teamChatEnabled:m,teamChatNotificationMode:h,teamChatThreads:g,onTeamChatNotificationModeChange:_,onTeamChatThreadMuteChange:v,diffPanelWidth:y,diffPanelResizing:b,diffPanelExpanded:x,onDiffPanelResizeStart:S,onDiffPanelExpandedChange:C})})}function td({activeSessions:e,branchDialogName:t,branchDialogOpen:n,commitDialogOpen:r,commitDraft:i,commitIncludeUnstaged:a,commitMessage:o,commitNextStep:s,canPublishOpenPondProject:c,expandProject:l,newProjectBusy:u,newProjectDialogOpen:d,newProjectDirectory:f,newProjectMode:p,newProjectName:m,newProjectPath:h,projectRows:g,query:_,searchOpen:v,visibleWorkspaceDiff:y,visibleWorkspaceState:b,workspaceBusy:x,appDispatch:S,beginNewChat:C,openDefaultsSettingsFromBranchDialog:w,setBranchDialogName:T,setBranchDialogOpen:E,setCommitDialogOpen:D,setCommitDraft:O,setCommitIncludeUnstaged:k,setCommitMessage:A,setCommitNextStep:j,setNewProjectDialogOpen:M,setNewProjectName:ee,setNewProjectPath:N,setQuery:te,setSearchOpen:P,submitCommitDialog:F,submitCreateWorkspaceBranch:I,submitNewProjectDialog:L}){return(0,X.jsxs)(X.Fragment,{children:[v&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Yu,{open:v,query:_,projects:g,sessions:e,onQueryChange:te,onClose:()=>{P(!1),te(``)},onNewChat:()=>{P(!1),te(``),C()},onOpenProject:e=>{S({type:`selectProject`,projectId:e.id}),S({type:`patch`,patch:{searchOpen:!1,query:``}}),l(e.id)},onOpenSession:e=>{S({type:`selectSession`,sessionId:e.id,appId:e.appId,projectId:e.workspaceKind===`local_project`&&e.workspaceId?U(`local`,e.workspaceId):null}),S({type:`patch`,patch:{searchOpen:!1,query:``}})}})}),d&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Zu,{open:d,mode:p,name:m,path:h,directory:f,busy:u,onNameChange:ee,onPathChange:N,onClose:()=>{u||M(!1)},onSubmit:L})}),r&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Qu,{open:r,branch:b?.currentBranch??null,filesChanged:y?.filesChanged??b?.changedFilesCount??0,additions:y?.additions??0,deletions:y?.deletions??0,message:o,includeUnstaged:a,nextStep:s,draft:i,busy:x,canPush:!!b?.remoteUrl,canPublish:c,onMessageChange:A,onIncludeUnstagedChange:k,onNextStepChange:j,onDraftChange:O,onClose:()=>{x||D(!1)},onSubmit:F})}),n&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)($u,{open:n,branchName:t,busy:x,onBranchNameChange:T,onSetPrefix:w,onClose:()=>{x||E(!1)},onSubmit:I})})]})}function nd({cards:e,onDismiss:t,onPause:n,onCapacity:r,isCurrent:i}){let a=(0,Y.useRef)(null),o=(0,Y.useRef)(new Map),s=(0,Y.useRef)(new Map),[c,l]=(0,Y.useState)(new Map),[u,d]=(0,Y.useState)(new Set),f=(0,Y.useRef)(new Set),[p,m]=(0,Y.useState)(new Map),h=(0,Y.useRef)(e);h.current=e;let g=e.map(e=>`${e.toast.id}:${e.phase}:${e.parked}`).join(`|`);(0,Y.useEffect)(()=>{let e=new Set(h.current.map(e=>e.toast.id));m(t=>[...t.keys()].every(t=>e.has(t))?t:new Map([...t].filter(([t])=>e.has(t))))},[g]),(0,Y.useLayoutEffect)(()=>{let e=a.current;if(!e)return;function t(){let t=0,n=new Map(h.current.map(e=>[e.toast.id,s.current.get(e.toast.id)??0])),i=h.current.filter(e=>!e.parked&&e.phase!==`exiting`);for(let e of i)n.set(e.toast.id,t),t+=(o.current.get(e.toast.id)?.offsetHeight??100)+8;let a=i.map(e=>o.current.get(e.toast.id)?.offsetHeight??100),c=0,u=0;for(let t=0;t<3;t++)c+=(a[t]??Math.max(100,...a))+(t?8:0),c<=e.clientHeight&&u++;r(Math.max(1,u)),s.current=n,l(e=>e.size===n.size&&[...n].every(([t,n])=>e.get(t)===n)?e:n)}let n=new ResizeObserver(t);n.observe(e);for(let e of o.current.values())n.observe(e);return t(),()=>n.disconnect()},[g,r]);function _(e){if(!o.current.get(e)?.contains(document.activeElement))return;let t=[...o.current].find(([t,n])=>t!==e&&!n.inert);if(t)t[1].querySelector(`button`)?.focus();else{let e=document.querySelector(`.main-pane, .settings-content`);e&&(e.tabIndex=-1,e.focus({preventScroll:!0}))}}async function v(e){let{toast:r}=e;if(r.onAction&&!f.current.has(r.id)&&i()){f.current.add(r.id),d(e=>new Set(e).add(r.id)),n(r.id,!0);try{let e=await r.onAction();i()&&e!==!1&&(_(r.id),t(r.id))}catch(e){i()&&m(t=>new Map(t).set(r.id,Tn(e,`Could not open this thread.`)))}finally{f.current.delete(r.id),d(e=>{let t=new Set(e);return t.delete(r.id),t});let e=o.current.get(r.id);n(r.id,!!(e?.matches(`:hover`)||e?.contains(document.activeElement)))}}}return(0,X.jsx)(`div`,{className:`app-toast-region`,ref:a,"aria-label":`Notifications`,children:e.map(e=>{let{toast:r,parked:i,phase:a}=e,s=!!r.onAction,l=u.has(r.id),d=p.get(r.id),f=r.title??(r.tone===`error`?`Error`:r.tone===`success`?`Success`:`Notification`),m=d??[r.message,r.detail].filter(Boolean).join(` · `),h=(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`app-toast-title`,title:f,children:f}),m?(0,X.jsx)(`span`,{className:`app-toast-description${d?` app-toast-action-error`:``}`,title:m,role:d?`alert`:void 0,children:m}):null]});return(0,X.jsx)(`div`,{ref:e=>{e?o.current.set(r.id,e):o.current.delete(r.id)},className:`app-toast-position${i?` parked`:``}`,inert:i||a===`exiting`,style:{"--toast-y":`${c.get(r.id)??0}px`},onMouseEnter:()=>n(r.id,!0),onMouseLeave:e=>n(r.id,l||e.currentTarget.contains(document.activeElement)),onFocus:()=>n(r.id,!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||n(r.id,l||e.currentTarget.matches(`:hover`))},children:(0,X.jsxs)(`div`,{className:`app-toast ${r.tone} ${i?``:a}`,role:r.tone===`error`?`alert`:`status`,"aria-live":r.tone===`error`?`assertive`:`polite`,children:[(0,X.jsx)(`button`,{type:`button`,className:`app-toast-close`,"aria-label":`Dismiss notification`,onClick:()=>{_(r.id),t(r.id)},children:(0,X.jsx)(Cn,{size:14})}),s?(0,X.jsx)(`button`,{type:`button`,className:`app-toast-body`,disabled:l,onClick:()=>void v(e),children:h}):(0,X.jsx)(`div`,{className:`app-toast-body`,children:h}),s?(0,X.jsx)(`div`,{className:`app-toast-actions`,children:(0,X.jsx)(`button`,{type:`button`,disabled:l,"aria-label":r.kind?`Open thread: ${r.message}`:r.actionLabel,onClick:()=>void v(e),children:l?`Opening…`:r.actionLabel??`Open thread`})}):null]})},r.id)})})}async function rd(e,t,n){if(t.scope!==e.scope)throw Error(`Review workspace changed. Reload the assignment.`);return q(e.connection,`/v1/human-review?location=${e.location}`,{method:`POST`,body:JSON.stringify(Be.parse(t)),signal:n})}function id(e,t,n){let r=Ve.parse(e);if(r.scope!==t.scope||r.id!==n)throw Error(`Review response identity differs from the requested assignment.`);return r}var ad={inbox:async(e,t,n)=>od(await rd(e,{...t,endpoint:`inbox`,scope:e.scope},n),e),get:async(e,t,n)=>id(await rd(e,{endpoint:`get`,scope:e.scope,id:t},n),e,t),inspect:async(e,t,n,r,i)=>sd(await rd(e,{endpoint:`inspect`,scope:e.scope,id:t,...n===void 0?{}:{slot:n},...r?{afterId:r}:{}},i),t),command:async(e,t)=>id(await rd(e,{endpoint:`command`,scope:e.scope,command:t}),e,t.id)};function od(e,t){let n=He.parse(e);if(n.items.some(e=>e.scope!==t.scope))throw Error(`Inbox response belongs to another workspace.`);return n}function sd(e,t){let n=ze.parse(e);if(n.some(e=>e.reviewId!==t))throw Error(`Evidence response belongs to another assignment.`);return n}function cd({context:e,onOpen:t}){let[n,r]=(0,Y.useState)(null);return(0,Y.useEffect)(()=>{let t=new AbortController,n=0;async function i(){let i=++n;try{let a=await ad.inbox(e,{view:`mine`,status:`active`,limit:1},t.signal);!t.signal.aborted&&i===n&&r(a.actionCount)}catch{!t.signal.aborted&&i===n&&r(null)}}r(null),i();let a=window.setInterval(()=>{document.visibilityState===`visible`&&i()},15e3);return window.addEventListener(`human-review-changed`,i),()=>{t.abort(),window.clearInterval(a),window.removeEventListener(`human-review-changed`,i)}},[e.scope,e.actorId,e.location,e.connection]),(0,X.jsxs)(`button`,{type:`button`,className:`titlebar-icon human-review-inbox-control`,title:n?`Inbox · ${n} actions`:`Inbox`,"aria-label":n?`Inbox, ${n} actions`:`Inbox`,onClick:t,children:[(0,X.jsx)(ns,{size:17,"aria-hidden":`true`}),n?(0,X.jsx)(`span`,{className:`human-review-inbox-count`,"aria-hidden":`true`,children:n>99?`99+`:n}):null]})}function ld({connection:e,teamId:t,actorId:n,projectId:r}){return!e||!t||!n?null:(0,X.jsx)(cd,{context:{connection:e,scope:t,actorId:n,location:`hosted`},onOpen:()=>{qs(An(`inbox`,null,{area:`console`,projectId:r}))}})}var ud=(0,Y.lazy)(()=>l(()=>import(`./WorkspaceEnvironmentMenu-C8y3537a.js`).then(e=>({default:e.WorkspaceEnvironmentMenu})),__vite__mapDeps([57,1,2,3,6,8,10,36,38,40,24,54,47,28,58,59,56,21,30,48,60,61])));function dd({sidebarOpen:e,sidebarAvailable:t=!0,title:n,breadcrumbs:r,backAction:i,workspaceName:a,workspaceId:o,busy:s,workspaceState:c,workspaceKind:l,selectedApp:u,selectedProject:d,workspaceDiff:f,managedWorkspace:p,workspaceBusy:m,defaultTeamId:h,activityActorId:g,activityProjectId:_,showDiffControls:v,diffPanelOpen:y,terminalOpen:b,rightSidebarAvailable:x=!1,rightSidebarOpen:S=!1,onToggleDiffPanel:C,onToggleRightSidebar:w,onOpenSearch:T,onToggleTerminal:E,onRunTerminalCommand:D,onWorkspaceToolAction:O,onOpenCommitDialog:k,onWorkspaceBranchChange:A,onWorkspaceBranchCreate:j,connection:M,onBootstrap:ee,onOpenSandboxWorkspace:N,onShowSidebar:te,platform:P,showWorkspaceControls:F=!0}){let I=f?.filesChanged??0;return(0,X.jsxs)(`header`,{className:`app-titlebar`,children:[(0,X.jsxs)(`div`,{className:`titlebar-left`,children:[t&&!e&&(0,X.jsx)(`button`,{className:`titlebar-icon`,title:`Show sidebar`,onClick:te,children:(0,X.jsx)(Wo,{size:16})}),i?(0,X.jsx)(`button`,{className:`titlebar-icon`,type:`button`,"aria-label":i.label,title:i.label,onClick:i.onSelect,children:(0,X.jsx)(xo,{size:16})}):null,(0,X.jsx)(In,{children:r?.length?(0,X.jsx)(`nav`,{className:`titlebar-breadcrumbs`,"aria-label":`Breadcrumb`,children:r.map((e,t)=>{let n=t===r.length-1;return(0,X.jsxs)(`div`,{className:`titlebar-breadcrumb-item`,children:[e.onSelect&&!n?(0,X.jsx)(`button`,{type:`button`,onClick:e.onSelect,children:e.label}):(0,X.jsx)(`strong`,{children:e.label}),!n&&(0,X.jsx)(mn,{size:14})]},`${e.label}-${t}`)})}):(0,X.jsxs)(`div`,{className:`titlebar-title`,children:[(0,X.jsx)(`strong`,{children:n}),a&&(0,X.jsx)(`span`,{children:a})]})})]}),(0,X.jsxs)(`div`,{className:`titlebar-right`,children:[(0,X.jsx)(Rn,{className:`page-chrome-actions`}),(0,X.jsx)(ld,{connection:M,teamId:h??null,actorId:g??null,projectId:_??null}),F&&(0,X.jsxs)(`div`,{className:`titlebar-actions`,children:[(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ud,{mode:`topbar`,busy:s,workspaceState:c,workspaceId:o,workspaceKind:l,selectedApp:u,selectedProject:d,workspaceBusy:m,defaultTeamId:h,workspaceDiff:f,managedWorkspace:p,showDiffControls:v,diffPanelOpen:y,onToggleDiffPanel:C,onRunTerminalCommand:D,onWorkspaceToolAction:O,onOpenCommitDialog:k,onWorkspaceBranchChange:A,onWorkspaceBranchCreate:j,connection:M,onBootstrap:ee,onOpenSandboxWorkspace:N})}),(0,X.jsx)(`button`,{type:`button`,className:`titlebar-icon`,title:`Search chats and projects`,"aria-label":`Search chats and projects`,onClick:T,children:(0,X.jsx)(Xo,{size:16})}),(0,X.jsx)(`button`,{type:`button`,className:`titlebar-icon ${b?`active`:``}`,title:`${b?`Hide`:`Show`} terminal`,"aria-label":`${b?`Hide`:`Show`} terminal`,"aria-pressed":b,onClick:E,children:(0,X.jsx)(Sn,{size:16})}),v&&(0,X.jsx)(`button`,{type:`button`,className:`topbar-diff-button ${S?`active`:``}`,title:`${S?`Hide`:`Show`} sidebar${I?`, ${I} changed files`:``}`,"aria-label":`${S?`Hide`:`Show`} sidebar`,"aria-pressed":S,onClick:C,children:(0,X.jsx)(Go,{size:16})})]}),x&&w&&!v?(0,X.jsx)(`div`,{className:`titlebar-actions`,children:(0,X.jsx)(`button`,{type:`button`,className:`topbar-diff-button ${S?`active`:``}`,title:`${S?`Hide`:`Show`} sidebar`,"aria-label":`${S?`Hide`:`Show`} sidebar`,"aria-pressed":S,onClick:w,children:(0,X.jsx)(Go,{size:16})})}):null,(0,X.jsx)(ou,{platform:P})]})]})}function fd(){let[e,t]=(0,Y.useState)(null),n=(0,Y.useRef)(null);return{confirmAction:(0,Y.useCallback)(e=>new Promise(r=>{n.current?.resolve(!1);let i={...e,cancelLabel:e.cancelLabel??`Cancel`,tone:e.tone??`default`,resolve:r};n.current=i,t(i)}),[]),confirmDialog:e,resolveConfirmDialog:(0,Y.useCallback)(e=>{let r=n.current;n.current=null,t(null),r?.resolve(e)},[])}}function pd({state:e,onResolve:t}){let n=(0,Y.useId)(),r=(0,Y.useId)();if((0,Y.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t(!1)}return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[t,e]),!e)return null;let i=e.tone===`danger`?`git-dialog-primary danger`:`git-dialog-primary`;return(0,X.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,onMouseDown:()=>t(!1),children:(0,X.jsxs)(`section`,{className:`git-dialog project-confirm-dialog`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":n,"aria-describedby":r,onMouseDown:e=>e.stopPropagation(),children:[(0,X.jsx)(`h2`,{id:n,children:e.title}),(0,X.jsx)(`p`,{id:r,children:e.body}),(0,X.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>t(!1),children:e.cancelLabel}),(0,X.jsx)(`button`,{type:`button`,className:i,autoFocus:!0,onClick:()=>t(!0),children:e.confirmLabel})]})]})})}function md(){let{confirmAction:e,confirmDialog:t,resolveConfirmDialog:n}=fd();return{confirmProjectAction:(0,Y.useCallback)(t=>e({tone:`danger`,...t}),[e]),projectConfirmDialog:t,resolveProjectConfirmDialog:n}}function hd({state:e,onResolve:t}){return(0,X.jsx)(pd,{state:e,onResolve:t})}var gd=new Map,_d=(e,t,n)=>{let r=gd.get(e)??{commits:0,maxActualDurationMs:0,totalActualDurationMs:0};r.commits+=1,r.maxActualDurationMs=Math.max(r.maxActualDurationMs,n),r.totalActualDurationMs+=n,gd.set(e,r)};function vd({children:e,id:t}){return(0,X.jsx)(Y.Profiler,{id:t,onRender:_d,children:e})}typeof window<`u`&&(window.__OPENPOND_RENDER_COMMITS__={get:()=>Object.fromEntries([...gd.entries()].map(([e,t])=>[e,{...t}])),reset:()=>gd.clear()});var yd=(0,Y.lazy)(()=>l(()=>import(`./MainPane-6OlLiKKb.js`).then(e=>({default:e.MainPane})),__vite__mapDeps([62,1,2,3,16,6,7,5,13,14,4,63,17,64,65,66,8,19,10,20,21,67,68,69,70,71,72,73,74,75,33,76,77,78,79,80,81,82,83,84,18,35,36,32,37,38,23,25,26,9,85,47,27,28,58,59,30,43,44,86])));function bd({className:e,style:t,sidebar:n,topBar:r,mainPane:i,cloudSetup:a,projectConfirm:o,lazyPanels:s,toast:c}){return(0,X.jsx)(Ln,{children:(0,X.jsxs)(`div`,{className:e,style:t,children:[(0,X.jsx)(Uu,{sidebar:n,open:r.sidebarOpen}),r.sidebarAvailable===!1?null:(0,X.jsxs)(vd,{id:`sidebar`,children:[(0,X.jsx)(Su,{...n,open:r.sidebarOpen}),r.sidebarOpen?(0,X.jsx)(`div`,{className:`sidebar-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,onPointerDown:n.onSidebarResizeStart}):null]}),(0,X.jsxs)(`div`,{className:`content-shell`,children:[(0,X.jsx)(dd,{...r}),(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`main`,{className:`main-pane`,"aria-busy":`true`,"aria-label":`Loading workspace`}),children:(0,X.jsx)(yd,{...i})}),(0,X.jsx)(`div`,{className:`app-toast-anchor`,children:(0,X.jsx)(nd,{...c})})]}),(0,X.jsx)(Wu,{...a}),(0,X.jsx)(hd,{...o}),(0,X.jsx)(td,{...s})]})})}function xd({settings:e,toast:t}){return(0,X.jsxs)(`div`,{className:`app-settings-shell`,children:[(0,X.jsx)(ed,{...e}),(0,X.jsx)(`div`,{className:`app-toast-anchor`,children:(0,X.jsx)(nd,{...t})})]})}var Sd=5e3;function Cd(e,t){if(e.length===0)return t;if(t.length===0)return e;let n=new Set,r=[];for(let i of[...e,...t])n.has(i.id)||(n.add(i.id),r.push(i));return r.map((e,t)=>({event:e,index:t})).sort(kd).map(({event:e})=>e)}function wd(e,t,n=Sd){return Td(Cd(e,t),n)}function Td(e,t=Sd){return e.length<=t?e:e.slice(e.length-t)}function Ed(e,t){if(t.length===0)return Td(e);if(e.length===0)return Td(t);let n=new Map,r=0;for(let i of[...e,...t])n.has(i.id)||n.set(i.id,{event:i,index:r}),r+=1;return Td([...n.values()].sort((e,t)=>kd(e,t)).map(({event:e})=>e))}function Dd(e){let t=null;for(let n of e)typeof n.sequence==`number`&&(t=t===null?n.sequence:Math.max(t,n.sequence));return t}function Od(e){let t=null;for(let n of e)n.sequence!==void 0&&(t===null||n.sequence<t)&&(t=n.sequence);return t}function kd(e,t){let n=e.event.sequence,r=t.event.sequence;if(typeof n==`number`&&typeof r==`number`){let e=n-r;if(e!==0)return e}let i=Date.parse(e.event.timestamp),a=Date.parse(t.event.timestamp);if(Number.isFinite(i)&&Number.isFinite(a)){let e=i-a;if(e!==0)return e}return e.index-t.index}function Ad(e,t){if(!t)return null;let n=new Map,r=[];for(let i of e){if(!i.name.startsWith(`subagent.`))continue;let e=Nd(i);e&&r.push(e);let a=Md(i);a?.parentSessionId===t&&n.set(a.id,a)}if(n.size===0)return null;let i=[...n.values()].sort((e,t)=>Fd(t).localeCompare(Fd(e))),a=i.filter(e=>e.status===`queued`||e.status===`running`),o=i.filter(e=>e.status===`completed`),s=i.filter(e=>e.status===`failed`),c=i.filter(e=>e.status===`cancelled`),l=i.filter(e=>e.status===`needs_resume`),u=[...o,...s,...c].sort((e,t)=>Fd(t).localeCompare(Fd(e))),d=i.reduce((e,t)=>{let n=Rd(t.metadata?.usage);return e.totalTokens+=Bd(n?.totalTokens),e.promptTokens+=Bd(n?.promptTokens),e.completionTokens+=Bd(n?.completionTokens),e.requestCount+=Bd(n?.requestCount),e},{totalTokens:0,promptTokens:0,completionTokens:0,requestCount:0}),f=i.flatMap(e=>Id([...e.report?.blockers??[],e.error,e.progress.currentBlocker]).map(t=>({runId:e.id,roleId:e.roleId,status:e.status,message:t}))),p=i.flatMap(e=>Ld([...e.report?.artifacts??[],e.report?.patchRef,e.report?.diffRef,...e.progress.patchRefs]).map(t=>({...t,runId:e.id,roleId:e.roleId}))),m=u.map(e=>jd(e,r)),h=i[0]??null,g=h?{runId:h.id,roleId:h.roleId,status:h.status,message:h.progress.latestMeaningfulActivity||h.report?.summary||h.objective,updatedAt:Fd(h)}:null,_=a.length>0?`${a.length} ${a.length===1?`child`:`children`} running`:`${u.length} ${u.length===1?`child`:`children`} finished`,v=[a.length?`${a.length} active`:null,o.length?`${o.length} completed`:null,s.length?`${s.length} failed`:null,c.length?`${c.length} cancelled`:null,l.length?`${l.length} paused`:null].filter(Boolean).join(` · `),y=g?`${Hd(g.roleId)}: ${g.message}`:``;return{sessionId:t,runs:i,activeRuns:a,completedRuns:o,failedRuns:s,cancelledRuns:c,needsResumeRuns:l,terminalRuns:u,latestRun:h,latestMeaningfulUpdate:g,activeCount:a.length,completedCount:o.length,failedCount:s.length,cancelledCount:c.length,needsResumeCount:l.length,terminalCount:u.length,usage:d,blockers:f,evidenceRefs:p,finalResults:m,testsRunCount:i.reduce((e,t)=>e+t.progress.validationAttempts.length,0),label:_,tooltip:[v,y].filter(Boolean).join(`. `)}}function jd(e,t){return{runId:e.id,roleId:e.roleId,status:e.status,objective:e.objective,summary:e.report?.summary||e.error||`Child conversation finished.`,findings:e.report?.findings??[],changedFiles:e.progress.changedFiles,refs:Ld([...e.report?.artifacts??[],e.report?.patchRef,e.report?.diffRef]),testsRun:e.report?.testsRun??[],validationAttempts:e.progress.validationAttempts.map(e=>e.command),blockers:Id([...e.report?.blockers??[],e.error]),confidence:e.report?.confidence??null,importantMessages:t.filter(t=>t.fromRunId===e.id).map(t=>({id:t.id,runId:e.id,fromRunId:t.fromRunId,kind:t.kind,body:t.body,createdAt:t.createdAt})),workspaceRetention:Pd(e),updatedAt:Fd(e)}}function Md(e){let t=Rd(e.data),n=[t?.run,Rd(t?.message)?.run];for(let e of n){let t=ce.safeParse(e);if(t.success)return t.data}return null}function Nd(e){let t=le.safeParse(Rd(e.data)?.message);return t.success?t.data:null}function Pd(e){let t=Rd(Rd(e.metadata?.workspaceHandoff)?.workspaceRetention);return t?.status===`retained`?{status:`retained`,reason:zd(t.reason),retainedAt:zd(t.retainedAt),expiresAt:zd(t.expiresAt),retentionDays:Vd(t.retentionDays),trigger:zd(t.trigger),cleanupAfterExpiry:t.cleanupAfterExpiry===!0}:null}function Fd(e){return e.updatedAt??e.completedAt??e.startedAt??e.createdAt}function Id(e){return[...new Set(e.map(e=>e?.trim()).filter(e=>!!e))]}function Ld(e){let t=new Map;for(let n of e)n&&t.set(`${n.kind}:${n.id}`,n);return[...t.values()]}function Rd(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function zd(e){return typeof e==`string`&&e.trim()?e.trim():null}function Bd(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function Vd(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Hd(e){return e.slice(0,1).toUpperCase()+e.slice(1).replace(/[-_]+/g,` `)}var Ud=[];function Wd(e,t){return Gd(e,t,null)}function Gd(e,t,n){let r=n&&Qd(n.events,e)?qd(n.indexes,n.events.length,e):Kd(e),i=Zd(t);return{...r,...i}}function Kd(e){let t=new Map;for(let n of e){if(!n.sessionId)continue;let e=t.get(n.sessionId);e?e.push(n):t.set(n.sessionId,[n])}return Jd(t)}function qd(e,t,n){let r=new Map(e.eventsBySessionId),i=new Map(e.latestContextUsageBySessionId),a=new Map(e.latestGoalRuntimeBySessionId),o=new Map(e.latestSubagentRuntimeBySessionId),s=new Set(e.activeGoalSessionIds),c=new Set(e.activeSubagentSessionIds),l=new Set;for(let e=t;e<n.length;e+=1){let t=n[e];if(!t.sessionId)continue;if(l.has(t.sessionId)){r.get(t.sessionId).push(t);continue}let i=r.get(t.sessionId);r.set(t.sessionId,i?[...i,t]:[t]),l.add(t.sessionId)}for(let e of l){let t=r.get(e)??Ud,n=on(t);n?i.set(e,n):i.delete(e);let l=Xd(t);l?(a.set(e,l),l.tone===`active`?s.add(e):s.delete(e)):(a.delete(e),s.delete(e));let u=Ad(t,e);u?(o.set(e,u),Yd({sessionEvents:t,sessionId:e,latestGoalRuntimeBySessionId:a,activeGoalSessionIds:s}),u.activeCount>0?c.add(e):c.delete(e)):(o.delete(e),c.delete(e))}return{eventsBySessionId:r,latestContextUsageBySessionId:i,latestGoalRuntimeBySessionId:a,latestSubagentRuntimeBySessionId:o,activeGoalSessionIds:s,activeSubagentSessionIds:c}}function Jd(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=new Set;for(let[r,a]of e){let e=on(a);e&&t.set(r,e);let o=Xd(a);o&&(n.set(r,o),o.tone===`active`&&i.add(r))}for(let[t,o]of e){let e=Ad(o,t);e&&(r.set(t,e),Yd({sessionEvents:o,sessionId:t,latestGoalRuntimeBySessionId:n,activeGoalSessionIds:i}),e.activeCount>0&&a.add(t))}return{eventsBySessionId:e,latestContextUsageBySessionId:t,latestGoalRuntimeBySessionId:n,latestSubagentRuntimeBySessionId:r,activeGoalSessionIds:i,activeSubagentSessionIds:a}}function Yd(e){if(e.latestGoalRuntimeBySessionId.has(e.sessionId))return;let t=Lt(e.sessionEvents);t&&(e.latestGoalRuntimeBySessionId.set(e.sessionId,t),t.tone===`active`&&e.activeGoalSessionIds.add(e.sessionId))}function Xd(e){return un(e)??Kt(e)??Lt(e)}function Zd(e){let t=new Map,n=new Map,r=new Map,i=new Map;for(let a of e){t.set(a.id,a);let e=n.get(a.status);if(e?e.push(a):n.set(a.status,[a]),a.status!==`pending`)continue;let o=r.get(a.sessionId);o?o.push(a):r.set(a.sessionId,[a]);let s=i.get(a.sessionId);(!s||af(a.createdAt)>af(s.createdAt))&&i.set(a.sessionId,a)}return{approvalsById:t,approvalsByStatus:n,pendingApprovalsBySessionId:r,latestPendingApprovalBySessionId:i}}function Qd(e,t){return e===t?!0:e.length>t.length||e.length===t.length?!1:e.length===0||e[0]===t[0]&&e[e.length-1]===t[e.length-1]}function $d(e,t){return t?e.eventsBySessionId.get(t)??Ud:Ud}function ef(e,t){return t?e.latestContextUsageBySessionId.get(t)??null:null}function tf(e,t){return t?e.latestGoalRuntimeBySessionId.get(t)??null:null}function nf(e,t){return t?e.latestSubagentRuntimeBySessionId.get(t)??null:null}function rf(e,t){return t?e.latestPendingApprovalBySessionId.get(t)??null:null}function af(e){let t=Date.parse(e);return Number.isFinite(t)?t:-1/0}function of(e,t){return e?.conversationId===t}function sf(e,t){return e?.id===t?null:e}function cf(e){let t=new Set;if(e.readmePath){let n=e.readmePath.replaceAll(`\\`,`/`).split(`/`).at(-1);n&&t.add(n)}for(let n of e.skills){t.add(n.relativePath);let e=n.relativePath.lastIndexOf(`/`),r=e>=0?n.relativePath.slice(0,e):``;for(let e of n.resourceFiles)t.add(r?`${r}/${e}`:e)}return{name:`${e.owner}/${e.repo}`,description:`${e.skills.length} installed skill${e.skills.length===1?``:`s`} from GitHub.`,scope:`extension`,packagePath:e.sourcePath,files:[...t]}}function lf(e){return JSON.stringify([e.source,e.repositoryId,e.profileId])}function uf(e,t){return e.profiles.find(e=>lf(e.ref)===t)?.ref??null}function df(e,t){return!!(e&&t&&e.source===t.source&&e.repositoryId===t.repositoryId&&e.profileId===t.profileId)}function ff(e,t){return e.profiles.find(e=>df(e.ref,t))?.state??null}function pf(e,t){let n=new Map(Yr.map(e=>[e.name,{...e,validationMessages:[...e.validationMessages],resourceFiles:[...e.resourceFiles]}]));for(let t of e?.skills??[])n.has(t.name)||n.set(t.name,t);for(let e of t?.extensions??[])if(e.validationStatus===`valid`)for(let t of e.skills)t.validationStatus!==`valid`||n.has(t.name)||n.set(t.name,{name:t.name,description:t.description,path:t.relativePath,scope:`profile`,enabled:!0,sourcePath:e.sourcePath,charCount:t.charCount,sourceHash:t.sourceHash,validationStatus:`valid`,validationMessages:[],resourceFiles:t.resourceFiles});return[...n.values()].sort((e,t)=>e.name.localeCompare(t.name))}function mf(e){return{sourceTaskId:e.sourceTaskId,sourceExperience:e.sourceExperience,targetExperience:e.targetExperience,sourceMessageIds:[...e.sourceMessageIds??[]],sourceContext:e.sourceContext?.trim()||null,outputId:e.output?.id??null,outputRevision:e.output?.revision??null,createdAt:e.createdAt??new Date().toISOString(),checkoutMutation:`none`}}function hf(e,t){return e===`labs`?`models`:`chat`}var gf=`uploaded to a different account`;function _f(e,t){let n=e?.linkedSandboxProject??null;if(!n?.projectId||!n.teamId)return{state:`none`,linked:null,cloudProject:null};let r=t?.find(e=>e.id===n.projectId&&e.teamId===n.teamId)??null;return r?{state:`confirmed`,linked:n,cloudProject:r}:{state:`different_account`,linked:n,cloudProject:null}}function vf(e,t){let n=_f(e,t);return n.state===`confirmed`?n.cloudProject:null}function yf(e,t){return _f(e,t).state===`different_account`?gf:null}function bf(e){return e===`sandbox`||e===`sandbox_template`||e===`sandbox_app`}function xf(e={}){return{...e,workspaceTarget:`hybrid`}}function Sf(e={}){return{...e,workspaceTarget:`local`}}function Cf(e){return e?.metadata?.workspaceTarget===`hybrid`}function wf(e){return!!(e&&e.provider===`openpond`&&e.workspaceKind===`local_project`&&e.cloudProjectId&&e.title.trim().endsWith(` Cloud`))}function Tf({cloudProjects:e,selectedCloudProject:t,selectedProject:n}){let r=n?.linkedSandboxProject??null,i=e?vf(n,e):null,a=t?.id??i?.id??(e?null:r?.projectId??null),o=t?.teamId??i?.teamId??(e?null:r?.teamId??null);return!a||!o?{kind:`missing_cloud_project`,message:`Upload/sync this Project to Cloud before using Hybrid.`}:{kind:`ready`,cloudProjectId:a,cloudTeamId:o,cwd:n?.workspacePath??null,localProjectId:n?.id??null,workspaceName:t?.name??i?.name??r?.projectName??n?.name??`Hybrid workspace`}}function Ef({modelRef:e,provider:t,target:n,title:r}){return{provider:t,...e?{modelRef:e}:{},appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:null,workspaceName:n.workspaceName,localProjectId:n.localProjectId,cloudProjectId:n.cloudProjectId,cloudTeamId:n.cloudTeamId,metadata:xf(),cwd:n.cwd,title:r}}function Df(e){return(0,Y.useEffect)(()=>{let t=hc(e.selectedSession);t&&!e.composerDraftStore.getSnapshot()&&e.composerDraftStore.set(t)},[e.composerDraftStore,e.selectedSession?.id]),(0,Y.useCallback)(async t=>{let n=t.trim();if(!e.connection||!n||e.activeExperience===`chat`)return!1;let r=_c(n);try{let t,i=e.selectedSession;if(i&&gc(i))t=await Z.patchSession(e.connection,i.id,{title:r,metadata:vc(i.metadata,n)}),e.setSessions(e=>e.map(e=>e.id===t.id?t:e));else{let a=i?.metadata?.workspaceTarget===`hybrid`?`hybrid`:i?.metadata?.workspaceTarget===`local`?`local`:null,o=i?.provider??(e.selectedCloudProject?`openpond`:e.activeProvider),s=i?.modelRef??(o===`openpond`?{providerId:`openpond`,modelId:`openpond-chat`}:{providerId:o,modelId:e.activeModel}),c=a?{workspaceTarget:a}:!i&&e.workspaceTarget===`local`?{workspaceTarget:`local`}:{},l;if(!i&&e.workspaceTarget===`hybrid`){let t=Tf({cloudProjects:e.cloudProjects,selectedCloudProject:e.selectedCloudProject,selectedProject:e.selectedProject});if(t.kind!==`ready`)throw Error(t.message);let i=Ef({modelRef:s,provider:o,target:t,title:r});l={...i,experience:`work`,metadata:vc(i.metadata,n)}}else l={experience:`work`,provider:o,modelRef:s,openPondCommandAccessMode:i?.openPondCommandAccessMode??e.activeOpenPondCommandAccessMode,appId:i?.appId??null,appName:i?.appName??null,workspaceKind:i?.workspaceKind??(e.selectedCloudProject?`sandbox`:e.selectedProject?`local_project`:void 0),workspaceId:i?.workspaceId??e.selectedCloudProject?.id??e.selectedProject?.id??null,workspaceName:i?.workspaceName??e.selectedCloudProject?.name??e.selectedProject?.name??null,localProjectId:i?.localProjectId??e.selectedProject?.id??null,cloudProjectId:i?.cloudProjectId??e.selectedCloudProject?.id??null,cloudTeamId:i?.cloudTeamId??e.selectedCloudProject?.teamId??null,cwd:i?.cwd??e.selectedProject?.workspacePath??null,metadata:vc(c,n),title:r};t=await Z.createSession(e.connection,l),e.setSessions(e=>[t,...e])}return e.composerDraftStore.set(``),e.setMentionedAppId(null),e.setSelectedSessionId(null),e.setView(`chat`),e.requestComposerFocus(),e.showToast(`Task draft saved.`,`success`),!0}catch(t){return e.showToast(t instanceof Error?t.message:`Could not save task draft.`,`error`),!1}},[e.activeExperience,e.activeModel,e.activeOpenPondCommandAccessMode,e.activeProvider,e.cloudProjects,e.composerDraftStore,e.connection,e.requestComposerFocus,e.selectedCloudProject,e.selectedProject,e.selectedSession,e.setMentionedAppId,e.setSelectedSessionId,e.setSessions,e.setView,e.showToast,e.workspaceTarget])}var Of=[];function kf({primary:e,secondary:t}){let[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(0),o=(0,Y.useRef)(new Set),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(null),d=Gs(),f=d?.kind===`models`&&[`home`,`inbox`,`datasets`,`graders`,`experiments`].includes(d.route.page),{composerDraftStore:p,appDispatch:m,pendingTerminalCommand:h,setPendingTerminalCommand:g,terminalTabs:_,setTerminalTabs:v,trainingDetailTasksetId:y,setTrainingDetailTasksetId:b,mentionedAppId:x,setMentionedAppId:S,cloudSetupDialog:C,setCloudSetupDialog:w,rightPanelTabRequest:T,workspaceDiffPanelViewState:E,mainComposerFocusRequestId:D,requestMainComposerFocus:O,projectConfirmDialog:k,resolveProjectConfirmDialog:A,query:j,searchOpen:M,archivedChatsOpen:ee,sectionMenuOpen:N,cloudProjectsExpanded:te,sidebarOpen:P,view:F,selectedAppId:I,selectedProjectId:L,selectedSessionId:R,codexPermissionMode:z,codexReasoningEffort:B,busy:V,diffPanelOpen:H,diffPanelExpanded:ne,rightPanelMode:re,activeExperience:ie,beginNewThread:ae,terminalOpen:oe,settingsSection:se,newProjectDialogOpen:ce,newProjectMode:le,newProjectName:ue,newProjectPath:de,newProjectBusy:fe,commitDialogOpen:pe,commitMessage:me,commitIncludeUnstaged:he,commitNextStep:ge,commitDraft:_e,branchDialogOpen:ve,branchDialogName:be,toasts:xe,labDetailNavigation:Se,setQuery:Ce,setSearchOpen:we,setArchivedChatsOpen:Te,setSectionMenuOpen:Ee,setCloudProjectsExpanded:De,setChatRowsVisibleCount:Oe,setSidebarOpen:ke,setView:W,setSelectedAppId:je,setSelectedProjectId:Me,setSelectedSessionId:Ne,setPrompt:Pe,setDraftProvider:Fe,setDraftModel:G,setDraftExperience:Ie,setDiffPanelOpen:Le,setDiffPanelExpanded:Re,setRightPanelMode:ze,setTerminalOpen:Be,setSettingsSection:Ve,setNewProjectDialogOpen:He,setNewProjectName:Ue,setNewProjectPath:We,setCommitDialogOpen:Ge,setCommitMessage:Ke,setCommitIncludeUnstaged:qe,setCommitNextStep:Je,setCommitDraft:Ye,setBranchDialogOpen:Xe,setBranchDialogName:Ze,setError:Qe,showToast:$e,applyBootstrapPayload:et,applyPreferencesPayload:tt,bootstrap:nt,connection:rt,startup:it,training:at,trainingNavigation:ot,cloudProjectsCollapsed:st,chatsCollapsed:ct,savedForLaterCollapsed:lt,sidebarWidth:ut,sidebarResizing:dt,diffPanelWidth:ft,diffPanelResizing:pt,toggleCloudProjectsCollapsed:mt,toggleChatsCollapsed:ht,toggleSavedForLaterCollapsed:gt,startSidebarResize:_t,startDiffPanelResize:vt,selectedApp:yt,selectedCloudProject:bt,selectedProject:K,selectedProjectLinkedApp:xt,selectedSession:St,sidebarSessions:Ct,runtimeIndexes:wt,runtimeEventStore:Tt,notificationAfterSequence:Et,chatMentionApps:Dt,connectedAppMentions:Ot,pendingApproval:kt,pendingChatUserMessages:q,account:At,activeModel:jt,activeProvider:Mt,appDefaults:Nt,startMessage:Pt,organizations:Ft,teamChatOrganization:Lt,teamChatTeamId:Rt,teamChat:zt,publishTeamProfileAgent:Bt,communitySidebar:Vt,communityView:Ht,teamAiThreadId:Ut,toggleTeamAiSidebar:Wt,activeOpenPondCommandAccessMode:Gt,viewWorkspaceAppId:Kt,viewWorkspaceId:qt,viewWorkspaceKind:Jt,viewWorkspaceName:Yt,selectedActionCatalog:Xt,expandedProjectIds:Zt,expandProject:Qt,toggleProjectExpanded:$t,changeCodexPermissionMode:en,changeCodexReasoningEffort:tn,changeOpenPondCommandAccessMode:nn,resolveApproval:rn,beginNewChat:an,beginNewChatWithTrainingModel:on,dismissTrainingChatHandoff:sn,trainingChatHandoff:cn,selectTrainingChatTaskForComposer:ln,chatHistoryLoadStates:un,loadMoreSelectedChatHistory:J,selectedPagedSessionEvents:fn,activeSessions:pn,archivedSessions:mn,pinnedSessions:hn,savedForLaterSessions:gn,savedForLaterFiles:_n,sidebarFileBookmarks:vn,setSidebarFileStatus:yn,setSessions:bn,projectRows:xn,localProjectRows:Sn,cloudProjectRows:Cn,projectSessionRowsByProjectId:wn,childSessionRowsByParentId:Tn,sidebarProjectIdBySessionId:En,chatRows:Dn,visibleChatRows:kn,chatRowsVisibleCount:jn,sessionEvents:Mn,goalRuntime:Nn,subagentRuntime:Pn,visibleChatMessages:Fn,activeTerminalScope:In,terminalSummaries:Ln,runningSessionIds:Rn,selectedSessionRunning:zn,sidebarGoalRuntimeBySessionId:Bn,sidebarSubagentRuntimeBySessionId:Vn,taskDragSessionId:Hn,taskPreviewSessionIds:Un,startTaskDrag:Wn,clearTaskDrag:Gn,previewTaskDrop:Kn,commitTaskDrop:qn,commitTaskPreviewDrop:Jn,dragItem:Yn,startPinnedDrag:Xn,clearSidebarDrag:Zn,previewPinnedDrop:Qn,commitPinnedDrop:$n,commitPinnedPreviewDrop:er,commandProjectRows:tr,contextWindowStatus:nr,pinnedRows:rr,workspaceBusy:ir,diffBusy:ar,visibleWorkspaceState:or,visibleWorkspaceDiff:sr,refreshVisibleWorkspaceDiff:cr,managedWorkspace:lr,canSyncActiveWorkspace:ur,canPublishOpenPondProject:dr,projectTarget:fr,workspaceTarget:pr}=e,{title:mr,browserConversationId:hr,handleWorkspaceDiffPanelViewStateChange:gr,openSessionInChat:_r,changeProjectTarget:vr,submitNewProjectDialog:yr,changeWorkspaceBranch:br,openCommitDialog:xr,openCreateWorkspaceBranchDialog:Sr,openDefaultsSettingsFromBranchDialog:Cr,runWorkspaceTool:wr,submitCommitDialog:Tr,submitCreateWorkspaceBranch:Er,syncWorkspaceLocally:Dr,answerCreateImproveQuestion:Or,applyCreateImproveCandidate:kr,approveCreateImproveRun:Ar,cancelCreateImproveRun:jr,changeDraftProvider:Mr,openCreateImprovePullRequest:Nr,reconcileCreateImprovePullRequest:Pr,rejectCreateImproveCandidate:Fr,pauseCreateImproveRun:Ir,resumeCreateImproveRun:Lr,reviseCreateImproveRun:Rr,stopTurn:zr,archiveSession:Br,restoreSession:Vr,renameSession:Hr,toggleSessionPinned:Ur,toggleProjectPinned:Wr,toggleSessionSavedForLater:Gr,moveProjectToCloud:Kr,startCloudSetupUpload:qr,changeWorkspaceTarget:Jr,sendPromptFromMainComposer:Yr,openSandboxWorkspace:Xr,openCloudProjectDialog:Zr,openExistingProjectPathDialog:Qr,openUrlInBrowserPanel:$r,showBrowserPanel:ei,showGoalSidebarTab:ti,rightChatTrainingLaunchRequest:ni,setRightChatTrainingLaunchRequest:ri,closeRightChatPanel:ii,openRightChatPanel:ai,rightChatPanelViews:oi,showRightChatPanel:si,showRightPanelDiffTab:ci,submitRightChatPrompt:li,activateRightChatPanel:ui,updateRightChatModel:di,updateRightChatPrompt:fi,updateRightChatProvider:pi,updateRightChatScrollState:mi,openProfileSettings:hi,diagnosticEvents:gi,toggleRightSidebar:_i,removeProject:vi}=t,yi=JSON.stringify([dn(rt),nt?.server.id,nt?.account.activeProfile,nt?.account.profile?.id,Rt]),bi=ka(xe,(0,Y.useCallback)(e=>m({type:`clearToast`,toastId:e}),[m]),yi);Ba(yi),La({scope:yi,afterSequence:Et,store:Tt,indexes:wt,sessions:Ct,visibleSessionIds:(0,Y.useMemo)(()=>{let e=new Set;if(F===`chat`&&R&&e.add(R),H&&re===`chat`)for(let t of oi)t.sessionId&&e.add(t.sessionId);return e},[F,R,H,re,oi]),toasts:xe,showToast:$e,dispatch:m,openThread:(0,Y.useCallback)((e,t)=>_r(e.sessionId,e,t),[_r])}),Ka(rt,nt?.account.activeProfile&&nt.preferences.defaultTeamId?JSON.stringify([nt.account.baseUrl,nt.account.activeProfile,nt.account.profile?.id,nt.account.state,nt.preferences.defaultTeamId]):null,()=>{Ks({kind:`chat`,sessionId:null}).then(e=>{e&&(Ne(null),W(`chat`),r(`activity`))})});let xi=nt?.account.activeProfile&&nt?.preferences.defaultTeamId?`${nt.account.activeProfile.handle}:${nt.preferences.defaultTeamId}`:null;(0,Y.useEffect)(()=>{if(!(!xi||F!==`chat`||d?.kind!==`chat`||d.sessionId||R||o.current.has(xi))){o.current.add(xi);try{let e=localStorage.getItem(`openpond:ponder-mode:v1:${xi}`);(e===`clean`||e===`activity`)&&r(e)}catch{}}},[xi,d,F,R]),(0,Y.useEffect)(()=>{if(xi&&o.current.has(xi))try{localStorage.setItem(`openpond:ponder-mode:v1:${xi}`,n??`off`)}catch{}},[xi,n]);let Si=(0,Y.useCallback)(e=>{je(null),Me(e),Ne(null),W(`chat`),Qt(e),O()},[Qt,O,je,Me,Ne,W]),Ci=(0,Y.useCallback)((e=null)=>{r(null),e?an(e):ae()},[an,ae]),wi=(0,Y.useCallback)(async e=>{if(rt&&nt)try{let t=await Z.savePreferences(rt,{defaultTeamId:e});tt(t)}catch(e){let t=e instanceof Error?e.message:String(e);throw Qe(t),$e(`Could not switch teams`,`error`),e}},[tt,nt,rt,Qe,$e]),Ti=(0,Y.useCallback)(async()=>{if(rt)try{let e=await Z.signOutOpenPondAccount(rt);et(e),$e(`Logged out`,`success`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Qe(t),$e(`Could not log out`,`error`),e}},[et,rt,Qe,$e]),Ei=Nt.defaultTeamId??null,Di=(0,Y.useMemo)(()=>xn.filter(e=>e.kind===`local`||Ei!==null&&e.project.teamId===Ei),[xn,Ei]),Oi=(0,Y.useMemo)(()=>{let e={};for(let t of pn){let n=En[t.id];n&&(e[n]=(e[n]??0)+1)}for(let t of Sn){if(t.kind!==`local`)continue;let n=t.project.linkedSandboxProject?.projectId;if(!n||!t.cloudLinkTrusted)continue;let r=U(`cloud`,n);e[t.id]=(e[t.id]??0)+(e[r]??0)}return e},[pn,Sn,En]),[ki,Ai]=(0,Y.useState)(null),[ji,Mi]=(0,Y.useState)(null),Ni=pf(nt?.profile,nt?.extensionCatalog),[Pi,Fi]=(0,Y.useState)(null),[Ii,Li]=(0,Y.useState)(null),[Ri,zi]=(0,Y.useState)(null),Bi=(0,Y.useCallback)(async()=>{await Ks({kind:`view`,view:`team`})&&(je(null),Me(null),Ne(null),Ee(null),W(`team`))},[Ee,je,Me,Ne,W]),Vi=(0,Y.useCallback)(async()=>{await Ks({kind:`view`,view:`community`})&&(je(null),Me(null),Ne(null),Ee(null),Vt.discoverCommunities())},[Vt.discoverCommunities,Ee,je,Me,Ne]),Hi=Df({activeExperience:ie,activeModel:jt,activeOpenPondCommandAccessMode:Gt,activeProvider:Mt,cloudProjects:nt?.cloudProjects??Of,composerDraftStore:p,connection:rt,requestComposerFocus:O,selectedCloudProject:bt,selectedProject:K,selectedSession:St,setMentionedAppId:S,setSelectedSessionId:Ne,setSessions:bn,setView:W,showToast:$e,workspaceTarget:pr.value}),Ui=(0,Y.useCallback)(async e=>{if(!rt)throw Error(`OpenPond is not connected.`);let t=Mt,n=jt;t===`codex`&&(t=ye(nt?.providers,{enabledOnly:!0}).find(e=>e.value!==`codex`)?.value??`openpond`,n=Ae(t,nt?.providers)??`openpond-chat`);let r=Ct.find(t=>t.id===e.sourceSessionId),i=await Z.createSession(rt,{experience:e.target,provider:t,modelRef:{providerId:t,modelId:n},openPondCommandAccessMode:Gt,appId:null,appName:null,workspaceId:null,workspaceName:null,localProjectId:null,cloudProjectId:null,cloudTeamId:null,cwd:null,title:`Continue ${r?.title??`task`}`.slice(0,120),metadata:{experienceHandoff:mf({sourceTaskId:e.sourceSessionId,sourceExperience:r?.experience??null,targetExperience:e.target,sourceMessageIds:e.sourceMessageIds??[],sourceContext:e.sourceContext,output:e.output})}});return bn(e=>[i,...e]),Ie(e.target),Fe(t),G(n),p.set(e.prompt),Ks({kind:`chat`,sessionId:i.id}),m({type:`selectSession`,sessionId:i.id,appId:null,projectId:null}),je(null),Me(null),Be(!1),W(`chat`),ze(`home`),Le(e.target===`work`),Re(!1),i},[jt,Gt,Mt,m,nt?.providers,p,rt,Re,Le,Ie,G,Fe,ze,je,Me,bn,Be,W,Ct]),Wi=(0,Y.useCallback)(e=>{Fi(e),Li(null),an(null),ke(!0)},[an,ke]);(0,Y.useEffect)(()=>{let e=e=>{let t=e.detail?.prompt;typeof t!=`string`||!t||t.length>25e4||(an(null),Ie(`work`),p.set(t),W(`chat`),ke(!0))};return window.addEventListener(`openpond:diagnostic-draft`,e),()=>window.removeEventListener(`openpond:diagnostic-draft`,e)},[an,p,Ie,ke,W]);let Gi=(0,Y.useCallback)(e=>{an(null),Ie(`work`),p.set(`$openpond-refiner-authoring ${e}`),W(`chat`),ke(!0)},[an,p,Ie,ke,W]),Ki=(0,Y.useCallback)(e=>{Li(cf(e)),Fi(null),an(null),ke(!0)},[an,ke]);(0,Y.useEffect)(()=>{!Pi&&!Ii||F!==`chat`||R||L||I||(Ai(Pi),Mi(Ii),Fi(null),Li(null),ze(`home`),Re(!1),Le(!0))},[Pi,Ii,I,L,R,Re,Le,ze,F]),(0,Y.useEffect)(()=>{(ki||ji)&&(F===`chat`&&H&&re===`home`||(Ai(null),Mi(null)))},[H,ji,ki,re,F]);let qi=(0,Y.useCallback)(()=>{Ai(null),Mi(null),Re(!1),Le(!1)},[Re,Le]),Ji=(0,Y.useCallback)(e=>{let t;if(e.workspaceKind===`local`){let n=U(`local`,e.workspaceId);t=`draft:${n}`,je(null),Me(n),Ne(null),Qt(n),W(`chat`)}else{let n=Ct.find(t=>t.id===e.sourceSessionId||t.workspaceId===e.workspaceId);if(!n){$e(`This saved file's cloud chat is no longer available.`,`error`);return}t=n.id,_r(n.id)}ze(`changes`),Le(!0),zi({id:Date.now(),conversationId:t,file:e}),e.available||$e(`File unavailable: ${e.path}`,`error`)},[Qt,_r,Le,ze,je,Me,Ne,W,$e,Ct]);(0,Y.useEffect)(()=>{if(!of(Ri,hr))return;let e=window.setTimeout(()=>{ze(`changes`),Le(!0),zi(e=>sf(e,Ri.id))},0);return()=>window.clearTimeout(e)},[hr,Le,ze,Ri]);let Yi=d?.kind===`models`&&d.route.area===`console`?`console`:hf(F,ie);(0,Y.useEffect)(()=>{d&&(d.kind===`models`||d.kind===`models_unavailable`?F!==`labs`&&W(`labs`):d.kind===`settings`?(je(null),Me(null),Ne(null),Ve(d.section),F!==`settings`&&W(`settings`)):d.kind===`view`?(je(null),Me(null),Ne(null),F!==d.view&&W(d.view)):(d.sessionId!==null&&(r(null),je(null),Me(null)),Ne(d.sessionId),F!==`chat`&&W(`chat`)))},[d,je,Me,Ne,Ve,W,F]);let Xi=(0,Y.useCallback)(e=>{Ee(null),je(null),Me(null),Ne(null),e===`models`||e===`console`?(qs(e===`console`?An(`datasets`,null,{area:`console`}):An()),W(`labs`)):(e===`chat`&&Ks({kind:`chat`,sessionId:null}),ae())},[ae,Ks,Ee,je,Me,Ne,W]),Zi=(0,Y.useCallback)(async(e,t)=>{let n=await at.actions.acceptHarnessReview(e,t,{providerId:Mt,modelId:jt},B);return n?(b(n.materializedTasksetId??null),qs(An()),W(`labs`),!0):($e(`Taskset review could not be opened.`,`error`),!1)},[jt,Mt,B,qs,An,b,W,$e,at.actions]),Qi=(0,Y.useMemo)(()=>Ha(Ga(wt.eventsBySessionId)),[wt.eventsBySessionId]);if(!it.ready)return null;if(F===`settings`)return(0,X.jsx)(On,{showToast:$e,children:(0,X.jsx)(xd,{settings:{payload:nt,connection:rt,diagnostics:gi,initialSection:se,onPayload:et,onError:Qe,onToast:$e,onOpenSourceSession:_r,onStartRefinerAuthoring:Gi,onAcceptEvaluationReview:Zi,onOpenSkill:Wi,onOpenExtension:Ki,teamChatCurrentUserId:zt.currentUserId,teamChatEnabled:Rt!==null,teamChatNotificationMode:zt.notificationMode,teamChatThreads:zt.threads,onTeamChatNotificationModeChange:zt.setNotificationMode,onTeamChatThreadMuteChange:zt.setThreadMuted,diffPanelWidth:ft,diffPanelResizing:pt,diffPanelExpanded:ne,onDiffPanelResizeStart:vt,onDiffPanelExpandedChange:Re,onBack:()=>{let e=Ms(d);Ks(e),W(e.kind===`models`?`labs`:`chat`),ke(!0)}},toast:{...bi}})});let $i=cu(),ea=Yi===`console`||F===`chat`,ta=ea&&P,na=rt?.platform??navigator.platform,ra=$i&&su(na),ia=In,aa=or?.initialized?or.repoPath:St?.cwd??null,oa={"--sidebar-width":`${ut}px`,"--diff-panel-width":`${ft}px`},sa=F===`chat`||F===`labs`||F===`scheduled`&&s||F===`team`&&!!Ut,ca=[`app-shell`,ra?`platform-macos`:``,ta?`sidebar-open`:`sidebar-closed`,dt?`sidebar-resizing`:``,pt?`diff-panel-resizing`:``].filter(Boolean).join(` `),la=R?un[R]:null,ua=R?la?.cursorSequence??Od(wd(fn,$d(wt,R))):null,da=!!R&&!!rt&&(_l(R)?!0:!!nt?.eventWindow?.hasMoreBefore&&!!ua)&&(la?.hasMore??!0),fa=!!la?.loading;return(0,X.jsx)(On,{showToast:$e,children:(0,X.jsx)(bd,{className:ca,style:oa,sidebar:{activityTimes:Qi,onOpenPonder:()=>{a(e=>e+1),Ks({kind:`chat`,sessionId:null}),Ne(null),W(`chat`),r(`activity`)},productArea:Yi,modelProjects:(ot.data?.projects??[]).filter(e=>e.teamId===null||e.teamId===(Nt.defaultTeamId?.trim()??null)),modelTrainingActivityByProjectId:ot.data?.activityByProjectId??{},onProductAreaChange:Xi,experience:ie,view:F,selectedAppId:I,selectedProjectId:L,selectedSessionId:R,selectedTeamThreadId:zt.selectedThreadId,teamChatEnabled:Rt!==null,organizations:Ft,selectedTeamId:Nt.defaultTeamId??null,teamChatOrganization:Lt,teamChatLoading:zt.loading,currentUserId:zt.currentUserId,teamMembers:zt.members,teamThreads:zt.threads,...Vt,onOpenTeamChat:Bi,discoverCommunities:Vi,account:At,connection:rt,profile:nt?.profile,cloudProjectsCollapsed:st,chatsCollapsed:ct,savedForLaterCollapsed:lt,archivedChatsOpen:ee,cloudProjectsExpanded:te,sectionMenuOpen:N,dragItem:Yn,taskDragSessionId:Hn,taskPreviewSessionIds:Un,allSessions:Ct,activeSessions:pn,archivedSessions:mn,pinnedRows:rr,pinnedSessions:hn,savedForLaterSessions:gn,savedForLaterFiles:_n,projectRows:xn,localProjectRows:Sn,cloudProjectRows:Cn,projectSessionRowsByProjectId:wn,childSessionRowsByParentId:Tn,sidebarProjectIdBySessionId:En,terminalSummaries:Ln,runningSessionIds:Rn,goalRuntimeBySessionId:Bn,subagentRuntimeBySessionId:Vn,visibleChatRows:kn,chatRows:Dn,chatRowsVisibleCount:jn,expandedProjectIds:Zt,currentVersion:nt?.server.version??null,platform:na,arch:rt?.arch??null,onSidebarResizeStart:_t,requestComposerFocus:O,setSidebarOpen:ke,setView:W,setSelectedAppId:je,setSelectedProjectId:Me,setSelectedSessionId:Ne,setSearchOpen:we,setSectionMenuOpen:Ee,setSettingsSection:Ve,onSelectTeam:wi,onLogOut:Ti,onToggleCloudProjectsCollapsed:mt,onToggleChatsCollapsed:ht,onToggleSavedForLaterCollapsed:gt,setArchivedChatsOpen:Te,setCloudProjectsExpanded:De,setChatRowsVisibleCount:Oe,beginNewChat:Ci,beginProjectChat:Si,onAddProject:Qr,dockSessionRight:ai,selectTeamThread:e=>{W(`team`),zt.selectThread(e)},openTeamDm:e=>{W(`team`),zt.openDm(e)},toggleSessionPinned:Ur,toggleProjectPinned:Wr,toggleSessionSavedForLater:Gr,openSidebarFile:Ji,setSidebarFileStatus:(e,t)=>void yn(e,t),archiveSession:Br,restoreSession:Vr,renameSession:Hr,removeProject:vi,expandProject:Qt,toggleProjectExpanded:$t,startPinnedDrag:Xn,clearSidebarDrag:Zn,previewPinnedDrop:Qn,commitPinnedDrop:$n,commitPinnedPreviewDrop:er,startTaskDrag:Wn,clearTaskDrag:Gn,previewTaskDrop:Kn,commitTaskDrop:qn,commitTaskPreviewDrop:Jn},topBar:{sidebarOpen:ta,sidebarAvailable:ea,title:F===`chat`&&n?`Pal`:mr,backAction:Se.backAction,breadcrumbs:Se.breadcrumbs,workspaceName:Yt,workspaceId:qt,busy:V,workspaceState:or,workspaceKind:Jt,selectedApp:xt??yt,selectedProject:K,workspaceDiff:sr,managedWorkspace:lr,workspaceBusy:ir,defaultTeamId:Nt.defaultTeamId,activityActorId:nt?.account.profile?.id??null,activityProjectId:d?.kind===`models`?d.route.projectId??null:null,showDiffControls:F===`chat`&&ie===`development`,diffPanelOpen:H,terminalOpen:oe,rightSidebarAvailable:sa,rightSidebarOpen:F===`labs`&&f?l?.open??!1:F===`scheduled`?s:H,onToggleDiffPanel:()=>{F===`chat`&&n&&!H?ci(`outputs`,`agents`):_i()},onToggleRightSidebar:F===`labs`&&f?l?.toggle:F===`scheduled`?()=>c(e=>!e):F===`team`&&Ut?Wt:()=>{F===`chat`&&n&&!H?ci(`outputs`,`agents`):_i()},onOpenSearch:()=>{Ee(null),we(!0)},onToggleTerminal:()=>Be(e=>!e),onRunTerminalCommand:e=>{g({id:Date.now(),scope:ia,command:e}),Be(!0)},onWorkspaceToolAction:wr,onOpenCommitDialog:xr,onWorkspaceBranchChange:br,onWorkspaceBranchCreate:Sr,connection:rt,onBootstrap:et,onOpenSandboxWorkspace:Xr,onShowSidebar:()=>ke(!0),platform:na,showWorkspaceControls:F!==`team`&&F!==`community`&&F!==`labs`&&F!==`scheduled`&&F!==`outputs`&&F!==`projects`&&(ie===`development`||ie===`work`&&!!(K||St?.localProjectId||St?.cloudProjectId||St?.workspaceKind===`local_project`))},mainPane:{ponderNavigationVersion:i,ponderMode:n,onPonderModeChange:r,experience:ie,view:F,teamChat:{currentUserId:zt.currentUserId,members:zt.members,agents:zt.agents,profile:nt?.profile??null,teamId:Rt,teamName:Lt?.displayName??null,detail:zt.detail,aiThread:zt.aiThread,agentConversation:zt.agentConversation,loading:zt.loading,busy:zt.busy,error:zt.error,connection:rt,providerSettings:nt?.providers??null,provider:Mt,model:jt,codexPermissionMode:z,codexReasoningEffort:B,openPondCommandAccessMode:Gt,contextWindowStatus:nr,showToast:$e,onProviderChange:Mr,onModelChange:e=>{It(Mt,e),G(e)},onCodexPermissionModeChange:en,onCodexReasoningEffortChange:tn,onOpenPondCommandAccessModeChange:nn,onOpenProviderSettings:()=>{Ks({kind:`view`,view:`apps`})},onSendMessage:zt.sendMessage,onPublishProfileAgent:Bt,onOpenAiThread:async e=>{await zt.openAiThread(e),ze(`chat`),Le(!0)},onOpenAgentConversation:async e=>{await zt.openAgentConversation(e),ze(`chat`),Le(!0)},onCloseAiThread:()=>Le(!1),onCloseAgentConversation:()=>{zt.closeAgentConversation(),Le(!1)},onSendAgentTurn:zt.sendAgentTurn,onSendAiTurn:zt.sendAiTurn,onStopAiTurn:zt.stopAiTurn,onEditMessage:zt.editMessage,onDeleteMessage:zt.deleteMessage,onRetryMessage:zt.retryMessage,onDismissFailedMessage:zt.dismissFailedMessage,onLoadMoreMessages:zt.loadMoreMessages,onRetryLoad:zt.refresh},community:Ht,bootstrap:nt,runtimeEvents:Mn,chatMessages:Fn,pendingUserMessage:R?q[R]??null:null,contextWindowStatus:nr,goalRuntime:Nn,subagentRuntime:Pn,selectedSessionId:R,composerDraftStore:p,mainComposerFocusRequestId:D,labCloseDetailRequestId:Se.closeDetailRequestId,labCloseDetailKind:Se.closeDetailKind,sideChatTrainingLaunchRequest:ni,onSideChatTrainingLaunchHandled:e=>ri(t=>t?.id===e?null:t),mentionApps:Dt,connectedAppMentions:Ot,profileSkills:Ni,selectedMentionAppId:x,busy:V,turnRunning:zn,activeProvider:Mt,activeModel:jt,codexPermissionMode:z,codexReasoningEffort:B,openPondCommandAccessMode:Gt,pendingApproval:kt,activeWorkspaceAppId:Kt,activeWorkspaceId:qt,activeWorkspaceKind:Jt,projectTarget:fr,actionCatalog:Xt,workspaceTarget:pr,connection:rt,workspaceName:Yt,workspaceState:or,workspaceDiff:sr,workspaceBusy:ir,diffBusy:ar,forceChatThread:!!R,diffPanelOpen:H,diffPanelExpanded:ne,rightPanelMode:re,rightPanelTabRequest:T,rightChatPanels:oi,runtimeEventStore:Tt,nativeSkillSidebar:ki,extensionSkillSidebar:ji,workspaceDiffPanelViewState:E,sidebarFileOpenRequest:Ri,sidebarFileBookmarks:vn,onSetSidebarFileStatus:(e,t)=>void yn(e,t),browserConversationId:hr,terminalScope:ia,terminalTabs:_,terminalCwd:aa,pendingTerminalCommand:h,terminalOpen:oe,onToggleTerminal:()=>Be(e=>!e),onWorkspaceDiffPanelViewStateChange:gr,training:at,trainingSessions:Ct,trainingChatHandoff:cn,trainingDetailTasksetId:y,onTrainingDetailTasksetIdChange:b,onTrainingChatTaskSelect:ln,onTrainingChatHandoffDismiss:sn,onOpenSession:_r,onExperienceHandoff:Ui,cloudProjects:nt?.cloudProjects??[],projects:Di,projectsAccountBaseUrl:At?.baseUrl??At?.activeProfile?.baseUrl??null,projectsTeamName:Lt?.displayName??null,projectTaskCounts:Oi,onNewCloudProject:Zr,onNewLocalProject:Qr,onNewProjectTask:e=>Si(e.id),onToggleProjectPinned:Wr,onUploadLocalProject:Kr,chatHistoryHasMore:da,chatHistoryLoading:fa,onDiffPanelResizeStart:vt,onToggleDiffPanelExpanded:()=>Re(e=>!e),onShowDiffPanel:()=>ci(`files`),onShowFilePreview:()=>ci(`file`),onShowBrowserPanel:ei,onShowFilesPanel:()=>ci(`files`),onShowExperimentsPanel:()=>ci(`outputs`,`experiments`),onShowAgentsPanel:()=>ci(`outputs`,`agents`),onShowGoalSidebarTab:ti,onShowTrainingDraftPanel:()=>{ze(`training`),Le(!0)},onShowRightChatPanel:si,onAddRightChat:()=>ai(null),onOpenRightChatForSession:(e,t)=>{let n=t??Ct.find(t=>t.id===e)??null;n&&ai(n,{preserveView:!0})},onLabDetailOpenChange:Se.onDetailOpenChange,evaluationSidebarActive:F===`labs`&&f,onEvaluationSidebarControl:u,scheduledDetailOpen:s,onScheduledDetailOpenChange:c,onTerminalTabsChange:v,onCloseRightChatPanel:ii,onCloseNativeSkillSidebar:qi,onActivateRightChatPanel:ui,onRightChatModelChange:di,onRightChatPromptChange:fi,onRightChatScrollStateChange:mi,onRightChatProviderChange:pi,onSubmitRightChat:li,onStopRightChat:e=>zr(e),onCloseTerminal:()=>Be(!1),onLoadMoreChatHistory:J,canSyncWorkspace:ur,startMessage:Pt,onPayload:et,onError:Qe,setView:W,onOpenProfileSettings:hi,onOpenProviderSettings:()=>{Ks({kind:`view`,view:`apps`})},onOpenTrainingSettings:()=>{Ks({kind:`settings`,section:`training`})},onOpenDatasetStorageSettings:()=>{Ks({kind:`settings`,section:`dataset-storage`})},changeDraftProvider:Mr,changeProjectTarget:vr,changeWorkspaceTarget:Jr,setDraftProvider:Fe,setDraftModel:G,onBeginNewChatWithModel:on,changeCodexPermissionMode:en,changeCodexReasoningEffort:tn,changeOpenPondCommandAccessMode:nn,resolveApproval:rn,answerCreateImproveQuestion:Or,applyCreateImproveCandidate:kr,approveCreateImproveRun:Ar,cancelCreateImproveRun:jr,openCreateImprovePullRequest:Nr,reconcileCreateImprovePullRequest:Pr,rejectCreateImproveCandidate:Fr,pauseCreateImproveRun:Ir,resumeCreateImproveRun:Lr,reviseCreateImproveRun:Rr,setMentionedAppId:S,showToast:$e,onSaveTaskDraft:Hi,sendPrompt:Yr,stopTurn:e=>zr(void 0,e),syncWorkspaceLocally:Dr,refreshWorkspaceDiff:cr},cloudSetup:{state:C,onClose:()=>w(null),onOpenBrowserUrl:$r,onStart:()=>void qr()},projectConfirm:{state:k,onResolve:A},lazyPanels:{activeSessions:pn,branchDialogName:be,branchDialogOpen:ve,commitDialogOpen:pe,commitDraft:_e,commitIncludeUnstaged:he,commitMessage:me,commitNextStep:ge,canPublishOpenPondProject:dr,connection:rt,expandProject:Qt,newProjectBusy:fe,newProjectDialogOpen:ce,newProjectDirectory:Nt.defaultNewProjectDirectory,newProjectMode:le,newProjectName:ue,newProjectPath:de,projectRows:tr,query:j,searchOpen:M,visibleWorkspaceDiff:sr,visibleWorkspaceState:or,workspaceBusy:ir,appDispatch:m,beginNewChat:()=>an(null),openDefaultsSettingsFromBranchDialog:Cr,setBranchDialogName:Ze,setBranchDialogOpen:Xe,setCommitDialogOpen:Ge,setCommitDraft:Ye,setCommitIncludeUnstaged:qe,setCommitMessage:Ke,setCommitNextStep:Je,setNewProjectDialogOpen:He,setNewProjectName:Ue,setNewProjectPath:We,setPrompt:Pe,setQuery:Ce,setSearchOpen:we,submitCommitDialog:Tr,submitCreateWorkspaceBranch:Er,submitNewProjectDialog:yr},toast:{...bi}})})}var Af=new Map,jf=new Map;function Mf(e){if(!e||e.state!==`signed_in`)return null;let t=e.accounts.find(e=>e.isActive)??null;return[e.activeProfile?.handle?.trim()||t?.handle?.trim()||e.label.trim()||`signed_in`,e.activeProfile?.baseUrl??t?.baseUrl??e.baseUrl??``,e.apiBaseUrl??``,e.chatApiBaseUrl??``].join(`|`)}function Nf(e){let t=e?.trim();if(!t)return null;let n=Af.get(t);return n?.updatedAt?n.organizations:null}function Pf(e,t){let n=e?.trim();if(n){Af.set(n,{organizations:t,promise:null,updatedAt:Date.now()});for(let e of jf.get(n)??[])e()}}function Ff(e,t){let n=e?.trim();if(!n)return()=>void 0;let r=jf.get(n)??new Set;return r.add(t),jf.set(n,r),()=>{r.delete(t),r.size===0&&jf.delete(n)}}function If(e){let t=e.accountKey?.trim();if(!t)return Promise.resolve([]);let n=Af.get(t);if(!e.force&&n?.updatedAt)return Promise.resolve(n.organizations);if(n?.promise)return n.promise;let r=e.fetchOrganizations().then(e=>(Af.get(t)?.promise===r&&Pf(t,e),e)).catch(e=>{let n=Af.get(t);throw n?.promise===r&&Af.set(t,{organizations:n.organizations,promise:null,updatedAt:n.updatedAt}),e});return Af.set(t,{organizations:n?.organizations??[],promise:r,updatedAt:n?.updatedAt??0}),r}function Lf(e){return e===`development`?`development`:`work`}function Rf(e){return`New thread`}var zf=`openpond.config.json`;function Bf(e,t,n){return t<=0?-1:n===`Home`?0:n===`End`?t-1:n===`ArrowRight`?(e+1)%t:(e-1+t)%t}function Vf(){return{activeTab:`files`,openFilePaths:[],selectedPath:null,filesTabOpen:!1,overviewTabs:[0],activeOverviewId:0,tabOrder:[`overview-0`]}}function Hf(e){return{activeTab:e.activeTab,openFilePaths:[...e.openFilePaths],selectedPath:e.selectedPath,filesTabOpen:e.filesTabOpen,overviewTabs:[...e.overviewTabs],activeOverviewId:e.activeOverviewId,tabOrder:[...e.tabOrder]}}function Uf(e,t=null){let n=$f(e.openFilePaths.map(e=>Gf(e,t)).filter(Boolean)),r=e.selectedPath&&Gf(e.selectedPath,t)||null;return{...Hf(e),activeTab:e.activeTab===`file`&&!r?`files`:e.activeTab,openFilePaths:n,selectedPath:r}}function Wf(e,t){return e.activeTab===t.activeTab&&e.selectedPath===t.selectedPath&&e.filesTabOpen===t.filesTabOpen&&e.activeOverviewId===t.activeOverviewId&&e.overviewTabs.length===t.overviewTabs.length&&e.overviewTabs.every((e,n)=>e===t.overviewTabs[n])&&e.tabOrder.length===t.tabOrder.length&&e.tabOrder.every((e,n)=>e===t.tabOrder[n])&&e.openFilePaths.length===t.openFilePaths.length&&e.openFilePaths.every((e,n)=>e===t.openFilePaths[n])}function Gf(e,t=null){let n=Qf(e),r=t?.trim().replace(/\\/g,`/`).replace(/\/+$/,``);if(!r)return n;if(n===r)return``;n.startsWith(`${r}/`)&&(n=n.slice(r.length+1));let i=r.split(`/`).filter(Boolean).at(-1);return i&&n.startsWith(`${i}/`)&&(n=n.slice(i.length+1)),n}function Kf(e){return e.startsWith(`/`)||/^[A-Za-z]:\//.test(e)}function qf(e){return{path:e,status:`unchanged`,additions:0,deletions:0,patch:``,content:null}}function Jf(e,t){let n=ep(e.path);return!n||e.path.endsWith(`/`)||e.content==null&&/Could not access .+\/null['"]?/.test(e.patch)?!0:t.some(e=>{let t=ep(e);return!!(t&&t.startsWith(`${n}/`))})}function Yf(e){return/\.(?:md|markdown|mdx)$/i.test(e)||/(?:^|\/)readme$/i.test(e)}function Xf(e){return/\.(?:doc|docx|pdf|pptx)$/i.test(e)}function Zf(e){return/\.pptx$/i.test(e.path)||e.contentType===`application/vnd.openxmlformats-officedocument.presentationml.presentation`}function Qf(e){let t=e.trim().replace(/^['"`]+|['"`]+$/g,``);if(/^file:\/\//i.test(t))try{t=decodeURIComponent(new URL(t).pathname)}catch{t=t.replace(/^file:\/\//i,``)}return t.replace(/\\/g,`/`).replace(/^\.\/+/,``)}function $f(e){return Array.from(new Set(e))}function ep(e){let t=e.replace(/\\/g,`/`).replace(/^\.\/+/,``).split(`/`).filter(Boolean);return t.length===0?null:t.join(`/`)}function tp(e){if(!e||e.state!==`signed_in`)return null;let t=e.accounts.find(e=>e.isActive)??null,n=e.profile?.id?.trim()??``,r=e.activeProfile?.handle?.trim()||t?.handle?.trim()||e.label.trim()||`signed_in`,i=e.activeProfile?.baseUrl??t?.baseUrl??e.baseUrl??``,a=e.apiBaseUrl??t?.apiBaseUrl??``,o=e.chatApiBaseUrl??t?.chatApiBaseUrl??``;return[n?`profile:${n}`:`profile:unknown`,r,i,a,o].join(`|`)}function np(...e){for(let t of e){let e=t?.trim();if(e)return e}return``}function rp({draftProvider:e,hasSelectedCloudProject:t,selectedSessionHybridWorkspace:n}){return t&&!n?`openpond`:e}var ip=[{value:`action:new-local-project`,label:`New local project`,detail:`Create a new project folder on this machine`,kind:`action`},{value:`action:add-local-project`,label:`Use existing folder`,detail:`Choose a folder on this machine`,kind:`action`},{value:`action:add-local-project-path`,label:`Use existing folder path`,detail:`Enter a local folder path manually`,kind:`action`},{value:`action:new-cloud-project`,label:`New cloud project`,detail:`Create a project in OpenPond Cloud`,kind:`action`},{value:`action:create-cloud-environment`,label:`Create cloud environment`,detail:`Set up compute for a cloud project`,kind:`action`}];function ap(...e){return np(...e.map(e=>{let t=e?.trim();return t&&!t.includes(`@`)?t:null}))}function op(e){if(e?.state!==`signed_in`)return``;let t=e.accounts.find(e=>e.isActive)??null;return ap(e.profile?.name,e.label,t?.displayLabel,e.profile?.handle,t?.handle,e.activeProfile?.handle)}function sp({bootstrap:e,draftModel:t,draftProvider:n,selectedApp:r,selectedAppId:i,selectedCloudProject:a,selectedProject:o,selectedSession:s,selectedSessionId:c,selectedSessionLinkedProject:l}){let u=s?.workspaceKind===`local_project`?s.workspaceId??null:l?.id??null,d=_l(c)&&!s,f=s?bf(s.workspaceKind):!1,p=Cf(s),m=s?wf(s):!1,h=s?.cwd&&(!f||p)?zr(s.cwd):null,g=e?.providers??null,_=vf(o,e?.cloudProjects??[]),v=rp({draftProvider:n,hasSelectedCloudProject:!!a,selectedSessionHybridWorkspace:p}),y=be(v,t,g),b=ge(e?.preferences),x=d?null:s?f?s.workspaceKind??`sandbox`:m?`sandbox`:u?`local_project`:s.workspaceKind??(s.appId?`sandbox_app`:h?`local_project`:null):a?`sandbox`:o?`local_project`:i?`sandbox_app`:null,S=d?null:s?f&&!p||m?null:u||(s.workspaceId??s.appId??h):a?null:o?.id??i,C=d?null:s?f?s.workspaceId??null:m?null:u??s.workspaceId??s.appId??h:a?null:o?.id??i,w=e?.account??null,T=!e||w?.state===`loading`||w?.state===`switching`,E=!T&&w?.state===`signed_out`,D=T?null:E?`Sign in`:w?.label??w?.activeProfile?.handle??`Account`,O=op(w),k=O?`Welcome, ${O}`:`Welcome`,A=s?.workspaceName??s?.appName??a?.name??o?.name??r?.name??null,j=bf(x)?`cloud`:`local`,M=o?.name??l?.name??(s?.workspaceKind===`local_project`?s.workspaceName:null)??`Local workspace`,ee=(j===`cloud`?A:null)??a?.name??_?.name??o?.name??`Cloud workspace`;return{account:w,accountLabel:D,accountPending:T,accountSignedOut:E,activeModel:y,activeProvider:v,activeWorkspaceAppId:S,activeWorkspaceId:C,activeWorkspaceKind:x,activeWorkspaceLocation:j,appDefaults:b,cloudLinked:!!(a?.id||_?.id||s?.cloudProjectId||j===`cloud`),cloudTargetName:ee,localTargetName:M,selectedCodexHistoryPending:d,selectedSessionCloudWorkspace:f,selectedSessionLocalPathWorkspaceId:h,selectedSessionPendingCloudStart:m,selectedSessionProjectId:u,startMessage:k,workspaceName:A}}function cp({accountPending:e,accountSignedOut:t,activeWorkspaceLocation:n,bootstrap:r,busy:i,cloudLinked:a,selectedCloudProject:o,selectedProject:s,selectedSession:c,pendingWorkspaceTarget:l,workspaceStates:u,workspaceBusy:d}){let f=vf(s,r?.cloudProjects??[]),p=!s?.linkedSandboxProject?.projectId||!!f,m=(0,Y.useMemo)(()=>{let e=(r?.localProjects??[]).map(e=>({value:`local:${e.id}`,label:e.name,detail:e.workspacePath,kind:`local`})),t=(r?.cloudProjects??[]).map(e=>({value:`cloud:${e.id}`,label:e.name,detail:e.organizationName??e.sourceLabel??`OpenPond Cloud`,kind:`cloud`})),n=s?`local:${s.id}`:o?`cloud:${o.id}`:`none`,a=[...e,...t].find(e=>e.value===n)??null;return{value:n,label:a?.label??`Select Project`,detail:a?.detail??`Choose a project for local or cloud work`,busy:d||i,options:[...e,...t,...ip,{value:`none`,label:`Don't work in a project`,detail:`General chat without project files`,kind:`none`}]}},[r?.cloudProjects,r?.localProjects,i,o,s,d]),h=!!(a||s),g=!!(o?.id||f?.id||c?.cloudProjectId||Cf(c)),_=s?u[s.id]??null:null,v=$s(_,{branch:s?.linkedSandboxProject?.defaultBranch??null,path:s?.workspacePath??c?.cwd??null,linkedCloudSourceKnown:s?.linkedSandboxProject?.projectId&&p?!!s.linkedSandboxProject.lastUploadedCommit||!_?.headCommit:!0}),y=ec(s,o??f,_,{cloudLinkTrusted:p}),b=tc(s,_,{cloudLinkTrusted:p});return{projectTarget:m,workspaceTarget:(0,Y.useMemo)(()=>{let r={value:`local`,label:s?`Local checkout`:`Local`,detail:s?`Use the selected checkout on this machine.`:`Use an app-managed task workspace on this machine.`,stateNote:s?v:`App-managed local task workspace`,disabled:!1,disabledReason:null},i={value:`hybrid`,label:`Hybrid`,detail:`Use your selected model with hosted sandbox edits.`,stateNote:g?y:`upload required`,disabled:e||t||!g,disabledReason:t?`Add an OpenPond account before using Hybrid.`:`Upload/sync this Project to Cloud before using Hybrid.`},a={value:`cloud`,label:`Hosted`,detail:`Run with hosted compute, with or without a Project.`,stateNote:s||o?y:`Projectless hosted task`,disabled:e||t,disabledReason:t?`Add an OpenPond account before using Cloud.`:e?`Checking OpenPond account.`:null},u={value:`upload_cloud`,label:`Upload/sync to cloud`,detail:`Push local source to OpenPond Git before cloud work.`,stateNote:b,disabled:e||t||!s,disabledReason:t?`Add an OpenPond account before uploading source.`:`Select a local Project before uploading source.`},f=n===`cloud`?`local`:`cloud`,p=f===`local`?r:a,m=n===`cloud`?a:r;return l===`cloud`?m=a:l===`local`?m=r:(Cf(c)||l===`hybrid`)&&(m=i),{value:m.value,label:m.label,detail:m.stateNote||m.detail,busy:d,action:{...p,label:f===`cloud`?`Hosted`:s?`Local checkout`:`Check out locally`},uploadAction:s?u:null,options:[r,i,a]}},[n,e,t,a,h,y,g,v,l,s,c,b,d])}}function lp(e){return new Set(e.map(e=>e.id))}function up(e,t){let n=e?.linkedOpenPondApp??null;return n?.appId&&t.has(n.appId)?n:null}function dp({bootstrap:e,codexHistorySessions:t,selectedProjectId:n,selectedSessionId:r,selectedAppId:i,sessions:a}){let o=(0,Y.useMemo)(()=>e?.apps.find(e=>e.id===i)??null,[e?.apps,i]),s=(0,Y.useMemo)(()=>new Map((e?.localProjects??[]).map(e=>[e.id,e])),[e?.localProjects]),c=(0,Y.useMemo)(()=>new Map((e?.cloudProjects??[]).map(e=>[e.id,e])),[e?.cloudProjects]),l=(0,Y.useMemo)(()=>xe(n),[n]),u=(0,Y.useMemo)(()=>l?.kind===`local`?s.get(l.id)??null:null,[s,l]),d=(0,Y.useMemo)(()=>l?.kind===`cloud`?c.get(l.id)??null:null,[c,l]),f=(0,Y.useMemo)(()=>lp(e?.apps??[]),[e?.apps]),p=(0,Y.useMemo)(()=>Jn(e?.apps??[]),[e?.apps]),m=(0,Y.useMemo)(()=>{let t=[];for(let n of e?.localProjects??[]){let e=up(n,f);e&&t.push([e.appId,n.id])}return new Map(t)},[e?.localProjects,f]),h=(0,Y.useMemo)(()=>new Set((e?.localProjects??[]).map(e=>e.id)),[e?.localProjects]),g=(0,Y.useMemo)(()=>vl(e?.localProjects??[]),[e?.localProjects]),_=(0,Y.useRef)([]),v=(0,Y.useMemo)(()=>fp(a,t,_.current),[t,a]),y=(0,Y.useMemo)(()=>v.find(e=>e.id===r)??null,[v,r]),b=(0,Y.useMemo)(()=>{if(!y)return null;if(y.localProjectId)return s.get(y.localProjectId)??null;if(y.workspaceKind===`local_project`)return y.workspaceId?s.get(y.workspaceId)??null:null;let e=yl(y,h,g);if(e)return s.get(e)??null;if(!y.appId)return null;let t=m.get(y.appId);return t?s.get(t)??null:null},[m,s,h,g,y]),x=(0,Y.useMemo)(()=>y?.cloudProjectId?c.get(y.cloudProjectId)??null:null,[c,y]),S=u??b,C=d??x,w=(0,Y.useMemo)(()=>up(S,f),[f,S]);return{cloudProjectById:c,currentAppIds:f,linkedProjectByAppId:m,localProjectById:s,mentionableSandboxApps:p,selectedApp:o,selectedCloudProject:C,selectedProject:S,selectedProjectLinkedApp:(0,Y.useMemo)(()=>w?e?.apps.find(e=>e.id===w.appId)??null:null,[e?.apps,w]),selectedProjectLinkedOpenPondApp:w,selectedSession:y,selectedSessionLinkedProject:b,sidebarSessions:v}}function fp(e,t,n){let r=new Map;for(let t of e){let e=mp(t);r.set(e,t)}for(let e of t){let t=mp(e),n=r.get(t);r.set(t,n?pp(n,e):e)}let i=Array.from(r.entries());if(!n)return i.sort((e,t)=>hp(e[1],t[1])).map(e=>e[1]);let a=[],o=new Set;for(let e of n){let t=r.get(e);t&&(a.push([e,t]),o.add(e))}let s=[...i.filter(([e])=>!o.has(e)).sort((e,t)=>hp(e[1],t[1])),...a];return n.splice(0,n.length,...s.map(([e])=>e)),s.map(e=>e[1])}function pp(e,t){return{...e,metadata:gp(e.metadata,t.metadata),status:e.status===`active`||t.status===`active`?`active`:e.status,updatedAt:_p(e.updatedAt,t.updatedAt)}}function mp(e){return e.codexThreadId?`codex:${e.codexThreadId}`:`session:${e.id}`}function hp(e,t){let n=vp(t)-vp(e);return n===0?e.title.localeCompare(t.title):n}function gp(e,t){let n={...e??{},...t??{}};return Object.keys(n).length>0?n:void 0}function _p(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return t;let r=Date.parse(t);return Number.isFinite(r)&&r>n?t:e}function vp(e){let t=Date.parse(e.updatedAt);if(Number.isFinite(t))return t;let n=Date.parse(e.createdAt);return Number.isFinite(n)?n:0}function yp(e){return!!(e&&bf(e.workspaceKind)&&!Cf(e)&&e.provider!==`openpond`)}function bp(e,t){let n=Ce(e,t);return`${e.id}\u0000${n.provider}\u0000${n.model}`}function xp({activeWorkspaceId:e,activeWorkspaceKind:t,connection:n,expandProject:r,linkedProjectByAppId:i,providerSettings:a,selectedAppId:o,selectedSession:s,selectedSessionId:c,selectedSessionProjectId:l,setDiffPanelExpanded:u,setDraftModel:d,setDraftProvider:f,setError:p,setSelectedAppId:m,setSelectedProjectId:h,setSessions:g,setTerminalOpen:_}){let v=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!o)return;let e=l??(c?null:i.get(o)??null);if(!e)return;let t=U(`local`,e);m(null),h(t),r(t)},[r,i,o,c,l,m,h]),(0,Y.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key==="`"&&(e.preventDefault(),_(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_]),(0,Y.useEffect)(()=>{u(!1)},[e,t,u]),(0,Y.useEffect)(()=>{if(!c){v.current=null;return}if(!s||s.id!==c)return;let e=bp(s,a);if(v.current===e)return;v.current=e;let t=Ce(s,a);f(t.provider),d(t.model)},[a,s,c,d,f]),(0,Y.useEffect)(()=>{n&&s&&yp(s)&&Z.patchSession(n,s.id,{provider:`openpond`}).then(e=>{g(t=>t.map(t=>t.id===e.id?e:t)),f(`openpond`),d(e=>be(`openpond`,e))}).catch(e=>{p(e instanceof Error?e.message:String(e))})},[n,s,d,f,p,g])}function Sp({connection:e,setError:t}){return(0,Y.useCallback)(async(n,r,i)=>{if(!e){let e=Error(`OpenPond App server is not connected.`);throw t(e.message),e}t(null);try{await Z.resolveApproval(e,n,{decision:r,answers:i})}catch(e){throw t(e instanceof Error?e.message:String(e)),e}},[e,t])}function Cp({activeProvider:e,contextCompaction:t,contextUsage:n,pinnedItems:r,pinnedPreviewKeys:i,pinnedProjects:a,projectRows:o,visibleProjectRows:s}){let c=(0,Y.useMemo)(()=>W(r,i),[r,i]),l=(0,Y.useMemo)(()=>en({provider:e,snapshot:n,preferences:t}),[e,t,n]),u=(0,Y.useMemo)(()=>Array.from(new Set([...a,...s].filter(Te).map(e=>e.project.id))),[a,s]);return{commandProjectRows:(0,Y.useMemo)(()=>o,[o]),contextWindowStatus:l,pinnedRows:c,sidebarWorkspaceAppIds:u}}function wp({appDispatch:e,expandProject:t,linkedProjectByAppId:n,requestComposerFocus:r,onBeginNewChat:i,setMentionedAppId:a}){return(0,Y.useCallback)((o=null,s=null)=>{i?.();let c=o?.id?n.get(o.id)??null:null;if(c){let n=U(`local`,c);a(null),e({type:`selectProject`,projectId:n}),t(n),r()}else a(null),e({type:`beginNewChat`,appId:o?.id??null,projectId:o?null:s}),!o&&s&&t(s),r()},[e,t,n,i,r,a])}function Tp(e,t,n){let r=Cu(e),i=d();(0,Y.useEffect)(()=>{if(!r.error)return;let e=t(r.error,`error`,{dedupeKey:`openpond-connection`,groupKey:`openpond-connection`,detail:`Reconnecting automatically…`});return()=>{n({type:`clearToast`,toastId:e})}},[r.error,t,n]),(0,Y.useEffect)(()=>{r.recovery&&!r.error&&i.refetchQueries({type:`active`,predicate:e=>{let t=e.state.error;return e.state.status===`error`&&t instanceof Error&&wn(t.message)}})},[r.recovery,r.error,i])}function Ep({bootstrap:e,connectedAppRows:t,mentionableSandboxApps:n,runtimeIndexes:r,selectedApp:i,selectedCloudProject:a,selectedProject:o,selectedSession:s,selectedSessionId:c}){let l=(0,Y.useMemo)(()=>{let t=new Map;for(let n of e?.cloudProjects??[]){let e=t.get(n.teamId)??[];e.push(n.id),t.set(n.teamId,e)}return t},[e?.cloudProjects]);return{chatMentionApps:s||i||o||a?[]:n,cloudProjectIdsByTeam:l,connectedAppMentions:(0,Y.useMemo)(()=>Yn(t),[t]),pendingApproval:(0,Y.useMemo)(()=>rf(r,c),[r,c])}}function Dp({connection:e,setBootstrap:t,setCodexPermissionMode:n,setCodexReasoningEffort:r,setError:i}){return{changeCodexPermissionMode:(0,Y.useCallback)(a=>{e?Z.savePreferences(e,{codexPermissionMode:a}).then(e=>{n(e.preferences.codexPermissionMode),r(e.preferences.codexReasoningEffort),t(t=>t&&{...t,preferences:e.preferences})}).catch(e=>{i(e instanceof Error?e.message:String(e))}):i(`Connect to OpenPond before saving preferences.`)},[e,t,n,r,i]),changeCodexReasoningEffort:(0,Y.useCallback)(a=>{e?Z.savePreferences(e,{codexReasoningEffort:a}).then(e=>{n(e.preferences.codexPermissionMode),r(e.preferences.codexReasoningEffort),t(t=>t&&{...t,preferences:e.preferences})}).catch(e=>{i(e instanceof Error?e.message:String(e))}):i(`Connect to OpenPond before saving preferences.`)},[e,t,n,r,i])}}function Op(e,t){if(!e)return t;let n=Ip(e.updatedAt,t.updatedAt)?{...t,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order,status:e.status,updatedAt:e.updatedAt}:t;return Lp(e,n)?e:n}function kp(e,t){let n=Op(e,t),r=e?{...n,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order,updatedAt:e.updatedAt}:n;return e&&Lp(e,r)?e:r}function Ap(e,t){let n=!1,r=!1,i=e.map(e=>{if(e.id!==t.id)return e;n=!0;let i=Op(e,t);return i!==e&&(r=!0),i});return n?r?i:e:[t,...e]}function jp(e,t){let n=!1,r=!1,i=e.map(e=>{if(e.id!==t.id)return e;n=!0;let i=kp(e,t);return i!==e&&(r=!0),i});return n?r?i:e:[t,...e]}function Mp(e,t,n,r=Date.now()){let i=new Map(e.map(e=>[e.id,e]));return t.map(e=>{let t=i.get(e.id);if(t&&n){let i=zp(t,e,n,r);if(i)return i}return Op(t,e)})}function Np(e,t,n,r=Date.now()){let i=new Map(e.map(e=>[e.id,e])),a=new Map(Mp(e,t,n,r).map(e=>[e.id,e])),o=new Set(i.keys()),s=t.filter(e=>!o.has(e.id)).map(e=>a.get(e.id)??e),c=e.map(e=>a.get(e.id)||(Pp(e,t)?e:null)).filter(e=>!!e);return[...s,...c]}function Pp(e,t){let n=Date.parse(e.updatedAt);if(!Number.isFinite(n))return!1;let r=Rp(t);return r===null||n>=r}function Fp(e,t,n,r=Date.now()){let i=new Map(t.map(e=>[e.id,e]));for(let t of n){let n=i.get(t.id);n&&(Bp(n,t)||(e[t.id]=r))}}function Ip(e,t){let n=Date.parse(e),r=Date.parse(t);return Number.isFinite(n)&&Number.isFinite(r)&&n>r}function Lp(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Rp(e){let t=null;for(let n of e){let e=Date.parse(n.updatedAt);Number.isFinite(e)&&(t=t===null?e:Math.max(t,e))}return t}function zp(e,t,n,r){let i=n[t.id];return i===void 0?null:r-i>6e4||Bp(e,t)?(delete n[t.id],null):{...t,pinned:e.pinned,savedForLater:e.savedForLater,archived:e.archived,order:e.order}}function Bp(e,t){return e.pinned===t.pinned&&e.savedForLater===t.savedForLater&&e.archived===t.archived&&e.order===t.order}var Vp=5e3,Hp=5e4,Up=16,Wp=3e4,Gp=new Map;function Kp(e,t){return Gp.get(Jp(e,t))?.payload??null}async function qp(e,t,n={}){let r=Jp(e,t),i=Gp.get(r),a=n.limit??800,o=n.tail??!0;if(i?.promise)return i.promise;if(!n.force&&o&&i?.payload&&Date.now()-i.fetchedAt<=Wp)return Yp(r,i),i.payload;let s=!!(n.force&&o&&i?.payload),c=s?i?.payload?.events.at(-1)?.id:void 0,l=Z.codexHistoryThreadIncremental(e,t,{afterEventId:c,limit:a,revision:s?i?.revision:void 0,tail:o}).then(e=>{let t=Gp.get(r)?.payload??i?.payload;if(e.unchanged){if(!t)throw Error(`Codex history revision matched without a cached thread.`);return Gp.set(r,{fetchedAt:Date.now(),payload:t,revision:e.revision}),Yp(r,Gp.get(r)),t}let n={session:e.session,events:e.events},a=o&&t&&!e.reset?{...n,events:Zp(t.events,n.events)}:n;return Gp.set(r,{fetchedAt:Date.now(),payload:a,revision:e.revision}),Xp(),a}).catch(e=>{throw Gp.get(r)?.promise===l&&Gp.delete(r),e});return Gp.set(r,{fetchedAt:i?.fetchedAt??0,payload:i?.payload,promise:l,revision:i?.revision}),Xp(),l}function Jp(e,t){return`${e.serverUrl}\n${e.token}\n${t}`}function Yp(e,t){Gp.delete(e),Gp.set(e,t)}function Xp(){for(;Gp.size>Up;){let e=Gp.keys().next().value;if(!e)return;Gp.delete(e)}}function Zp(e,t){let n=new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.set(e.id,e);return Array.from(n.values())}var Qp=500,$p=2500,em=15e3;function tm(e){return e.active?e.surface===`thread`?Qp:2e3:e.surface===`thread`?$p:em}function nm(e,t){return!t||e.session.status===`active`?e:{...e,session:{...e.session,status:`active`}}}function rm(e={}){let t={isVisible:e.isVisible??(()=>typeof document>`u`||document.visibilityState!==`hidden`),onVisibilityChange:e.onVisibilityChange??(e=>typeof document>`u`?()=>{}:(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e))),cachedPayload:e.cachedPayload??Kp,clearTimer:e.clearTimer??(e=>globalThis.clearTimeout(e)),loadPayload:e.loadPayload??qp,now:e.now??Date.now,setTimer:e.setTimer??((e,t)=>globalThis.setTimeout(e,t))},n=new Map,r=1,i=null;function a(){for(let e of n.values())u(e),t.isVisible()&&s(e,0)}function o(e){i??=t.onVisibilityChange(a);let o=om(e.connection,e.sessionId),c=n.get(o);c||(c={connection:e.connection,disposed:!1,inFlight:null,latestPayload:t.cachedPayload(e.connection,e.sessionId),nextRefreshAt:null,sessionId:e.sessionId,subscribers:new Map,timer:null},n.set(o,c));let d=r++;return c.subscribers.set(d,e),c.latestPayload&&e.onPayload(c.latestPayload),s(c,0),()=>{let e=n.get(o);e&&(e.subscribers.delete(d),e.subscribers.size>0?s(e,l(e)):(e.disposed=!0,u(e),n.delete(o),n.size===0&&(i?.(),i=null)))}}function s(e,n){if(!t.isVisible()||e.disposed||e.subscribers.size===0||e.inFlight)return;let r=t.now()+Math.max(0,n);e.timer&&e.nextRefreshAt!==null&&e.nextRefreshAt<=r||(u(e),e.nextRefreshAt=r,e.timer=t.setTimer(()=>{e.timer=null,e.nextRefreshAt=null,c(e)},Math.max(0,n)))}async function c(e){if(!t.isVisible()||e.disposed||e.subscribers.size===0||e.inFlight)return;let n=t.loadPayload(e.connection,e.sessionId,{force:!!e.latestPayload});e.inFlight=n;try{let t=await n;if(e.disposed||t===e.latestPayload)return;e.latestPayload=t;for(let n of e.subscribers.values())n.onPayload(t)}catch(t){if(e.disposed)return;for(let n of e.subscribers.values())n.onError?.(t)}finally{e.inFlight===n&&(e.inFlight=null),e.disposed||s(e,l(e))}}function l(e){let t=[...e.subscribers.values()];return tm({active:t.some(e=>e.locallyActive||e.reportedActive)||e.latestPayload?.session.status===`active`||Kt(e.latestPayload?.events??[])?.tone===`active`,surface:t.some(e=>e.surface===`thread`)?`thread`:`sidebar`})}function u(e){e.timer&&t.clearTimer(e.timer),e.timer=null,e.nextRefreshAt=null}return{subscribe:o}}var im=rm();function am(e){return im.subscribe(e)}function om(e,t){return`${e.serverUrl}\n${e.token}\n${t}`}function sm({connection:e,selectedSessionId:t,selectedSessionLocallyActive:n,selectedSessionStatus:r,setCodexHistorySessions:i,setError:a}){let[o,s]=(0,Y.useState)({events:[],sessionId:null}),c=_l(t)?t:null,l=c&&o.sessionId===c?o.events:[],u=(0,Y.useCallback)(e=>{s(t=>{if(!c)return{events:[],sessionId:null};let n=t.sessionId===c?t.events:[];return{events:typeof e==`function`?e(n):e,sessionId:c}})},[c]);return(0,Y.useEffect)(()=>{if(!e||!c){s(e=>e.sessionId===null&&e.events.length===0?e:{events:[],sessionId:null});return}a(e=>e===`Session not found`?null:e);let t=n;return am({connection:e,locallyActive:t,onError:e=>a(e instanceof Error?e.message:String(e)),onPayload:e=>{let n=nm(e,t);s(e=>e.sessionId===c?{events:wd(e.events,n.events),sessionId:c}:{events:n.events,sessionId:c}),a(e=>e===`Session not found`?null:e),i(e=>jp(e,n.session))},reportedActive:r===`active`,sessionId:c,surface:`thread`})},[e,c,n,r,i,a]),{codexHistoryEvents:l,setCodexHistoryEvents:u}}function cm(e){let t=e.currentTarget,n=t.getBoundingClientRect(),r=t.cloneNode(!0);r.classList.add(`sidebar-drag-preview`),r.style.width=`${n.width}px`,r.style.height=`${n.height}px`,r.style.position=`fixed`,r.style.top=`-1000px`,r.style.left=`-1000px`,r.style.pointerEvents=`none`,r.style.boxSizing=`border-box`,r.style.maxWidth=`none`,document.body.appendChild(r),e.dataTransfer.setDragImage(r,e.clientX-n.left,e.clientY-n.top),window.setTimeout(()=>r.remove(),0)}function lm({connection:e,appPreferences:t,sessions:n,pinnedItems:r,setAppPreferences:i,setCodexHistorySessions:a,setSessions:o,sidebarFileBookmarks:s,setSidebarFileBookmarks:c,setError:l}){let[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(null),m=(0,Y.useRef)(null),h=(0,Y.useRef)(null);function g(e,t){e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`${t.type}:${t.id}`),cm(e);let n=r.map(e=>e.key);m.current=t,h.current=n,d(t),p(n)}function _(){m.current=null,h.current=null,d(null),p(null)}function v(e,t){let n=m.current;if(!n)return;let i=ke(e),a=h.current??r.map(e=>e.key),o=he(a,ve(n),ve(t),i);Ee(a,o)||(h.current=o,p(o))}function y(u){if(!e)return;let d=r.map(e=>e.key),f=new Set(d),p=[...u.filter(e=>f.has(e)),...d.filter(e=>!u.includes(e))];if(Ee(d,p))return;let m=t,h=new Map(n.map(e=>[e.id,e])),g=s,_=new Map(r.map(e=>[e.key,e]));i(e=>{let t={...e};return p.forEach((e,n)=>{let r=_.get(e);r?.type===`project`&&(t[r.id]={...t[r.id]??{},pinned:!0,archived:!1,order:n})}),t});let v=e=>{let t=new Map(e.map(e=>[e.id,e])),n=p.map((e,n)=>{let r=_.get(e),i=r?.type===`session`?t.get(r.id):null;return i?{...i,order:n}:null}).filter(e=>!!e),r=new Map(n.map(e=>[e.id,e]));return e.map(e=>r.get(e.id)??e)};o(v),a(v),c(e=>{let t=new Map;return p.forEach((e,n)=>{let r=_.get(e);r?.type===`file`&&t.set(r.id,n)}),e.map(e=>{let n=t.get(e.id);return n===void 0?e:{...e,order:n}})}),Promise.all(p.map((t,n)=>{let r=_.get(t);return r?r.type===`project`?Z.patchSidebarAppPreference(e,r.id,{pinned:!0,archived:!1,order:n}):r.type===`session`?Z.patchSession(e,r.id,{order:n}):Z.patchSidebarFile(e,{workspaceKind:r.file.workspaceKind,workspaceId:r.file.workspaceId,workspaceName:r.file.workspaceName,path:r.file.path,status:`pinned`,order:n,sourceSessionId:r.file.sourceSessionId}):Promise.resolve(null)})).catch(e=>{l(e instanceof Error?e.message:String(e)),i(m);let t=e=>e.map(e=>h.get(e.id)??e);o(t),a(t),c(g)})}function b(e,t){let n=m.current;if(n){let i=h.current??r.map(e=>e.key);y(he(i,ve(n),ve(t),ke(e)))}_()}function x(){m.current&&y(h.current??r.map(e=>e.key)),_()}return{dragItem:u,pinnedPreviewKeys:f,startPinnedDrag:g,clearSidebarDrag:_,previewPinnedDrop:v,commitPinnedDrop:b,commitPinnedPreviewDrop:x}}function um({connection:e,sessions:t,setCodexHistorySessions:n,setError:r,setSessions:i}){let[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(null);function d(e,t){e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`session:${t.sessionId}`),cm(e),l.current=t,u.current=t.visibleSessionIds,o(t.sessionId),c(t.visibleSessionIds)}function f(e,t){let n=l.current;if(!n)return;let r=u.current??n.visibleSessionIds,i=he(r,n.sessionId,t,ke(e));dm(r,i)||(u.current=i,c(i))}function p(){l.current=null,u.current=null,o(null),c(null)}function m(e,t){let n=l.current;if(!n){p();return}let r=u.current??n.visibleSessionIds,i=he(r,n.sessionId,t,ke(e));g(Ml(n.allSessionIds,n.visibleSessionIds,i)),p()}function h(){let e=l.current;e&&g(Ml(e.allSessionIds,e.visibleSessionIds,u.current??e.visibleSessionIds)),p()}function g(a){let o=new Map(a.map((e,t)=>[e,t])),s=new Map(t.map(e=>[e.id,e.order])),c=a.filter((e,t)=>s.get(e)!==t);if(c.length===0)return;let l=e=>e.map(e=>{let t=o.get(e.id);return t===void 0||t===e.order?e:{...e,order:t}});i(l),n(l),e&&Promise.all(c.map(t=>Z.patchSession(e,t,{order:o.get(t)}))).catch(e=>{let t=e=>e.map(e=>{let t=s.get(e.id);return t===void 0||t===e.order?e:{...e,order:t}});i(t),n(t),r(e instanceof Error?e.message:String(e))})}return{clearTaskDrag:p,commitTaskDrop:m,commitTaskPreviewDrop:h,previewTaskDrop:f,startTaskDrag:d,taskDragSessionId:a,taskPreviewSessionIds:s}}function dm(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function fm(e){let t=/^\s*<task-notification>\s*([\s\S]*?)\s*<\/task-notification>\s*$/.exec(e);if(!t)return null;let n=new Map,r=/<(task-id|tool-use-id|output-file|status|summary)>([\s\S]*?)<\/\1>/g,i=0;for(let e of t[1].matchAll(r)){if(t[1].slice(i,e.index).trim()||n.has(e[1]))return null;n.set(e[1],e[2].trim()),i=e.index+e[0].length}if(t[1].slice(i).trim())return null;let a=n.get(`task-id`),o=n.get(`summary`),s=n.get(`status`);if(!a||!o||![`completed`,`failed`,`stopped`].includes(s??``))return null;let c=n.get(`output-file`);return{taskId:a,summary:o,status:s,...c?.startsWith(`/`)&&!/[\0\r\n]/.test(c)?{outputFile:c}:{}}}var pm=64e3,mm=2400,hm={"--bg":`--surface-page`,"--panel":`--surface-panel`,"--panel-soft":`--surface-raised`,"--text":`--text-primary`,"--muted":`--text-muted`,"--border":`--border-default`,"--orange":`--accent-warm`,"--cyan":`--accent-primary`,"--blue":`--accent-info`},gm={...Object.fromEntries(Object.entries(hm).map(([e,t])=>[e,Zn.dark[t]])),"--font-web":`"Figtree",Inter,system-ui,sans-serif`,"--color-scheme":`dark`};ee(L(Object.keys(gm)),R().min(1).max(300));var _m=P({width:I().int().min(280).max(1440),height:I().int().min(80).max(mm)}),vm=P({visualId:R().regex(/^visual_[a-f0-9]{32}$/),publicationId:R().regex(/^visual_pub_[a-f0-9]{32}$/),sessionId:R().min(1),turnId:R().min(1),output:Ge,heights:k(_m).min(1).max(4)}),ym=P({kind:L([`dataset`,`experiment`]),id:R().trim().min(1).max(240),revision:I().int().positive().optional()}).strict().refine(e=>e.kind!==`dataset`||e.revision!==void 0,`Dataset selection requires an exact revision.`);P({html:R().min(1).max(pm),width:I().int().min(280).max(1440).default(680),assets:k(P({name:R().regex(/^[a-zA-Z0-9_-]{1,64}$/),path:R().min(1).max(4096)})).max(8).default([])}),P({previewId:R().uuid(),title:R().trim().min(1).max(200).regex(/^[^\u0000-\u001f\u007f]+$/,`Use a single-line title without control characters.`),visualId:R().regex(/^visual_[a-f0-9]{32}$/).optional()}),P({screenshots:k(R().min(1).max(56e5)).min(1).max(2),heights:k(_m).min(1).max(4),console:k(P({level:L([`log`,`warn`,`error`]),text:R().max(2e3)})).max(40)}).refine(e=>e.screenshots.length===e.heights.length,`Each measured width needs a screenshot.`);function Q(e,t){if(!e)return null;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t}return null}function bm(e){let t=e.trim();if(!t||!t.startsWith(`{`)&&!t.startsWith(`[`))return null;try{return JSON.parse(t)}catch{return null}}function $(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function xm(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(t(r))return r}return null}function Sm(e){if(e.action!==`mcpToolCall`||![`tool.started`,`tool.completed`].includes(e.name))return e;let t=$(e.data),n=Q(t,[`tool`]);return n!==`openpond_dataset`&&n!==`openpond_experiment`?e:{...e,action:n,args:$(t?.arguments)??void 0,status:e.name===`tool.completed`&&t?.status===`failed`?`failed`:e.status}}function Cm(e){if(e.action!==`openpond_dataset`&&e.action!==`openpond_experiment`)return null;if(e.name===`tool.started`)return e.args?JSON.stringify(e.args,null,2):null;let t=$(e.data),n=$(t?.result),r=Array.isArray(n?.content)?n.content.flatMap(e=>{let t=$(e);return t?.type===`text`&&typeof t.text==`string`?[t.text]:[]}):[],i=Q($(t?.error),[`message`]);return i&&r.push(i),r.length?r.join(`
|
|
20
|
+
`):null}function wm(e,t){let n=new Map;for(let e of t){if(e.source!==`server`||!e.sessionId||!e.turnId||!e.data||typeof e.data!=`object`||e.data.chatResourcePresentation===`context`)continue;let t=ft.safeParse(e.data.chatResource);if(!t.success)continue;let r=t.data,i=n.get(e.turnId)??{sessionId:e.sessionId,timestamp:e.timestamp,resources:new Map},a=`${r.kind}:${r.id}`,o=i.resources.get(a);o&&(r.revision<o.summary.revision||r.revision===o.summary.revision&&(e.timestamp<o.timestamp||[`Creating`,`Importing`].includes(r.state)&&![`Creating`,`Importing`].includes(o.summary.state)))||(i.resources.set(a,{summary:r,timestamp:e.timestamp}),n.set(e.turnId,i))}let r=[],i=new Map;e.forEach((e,t)=>{e.turnId&&i.set(e.turnId,t)}),e.forEach((e,t)=>{r.push(e);let a=e.turnId?n.get(e.turnId):void 0;a&&i.get(e.turnId)===t&&(r.push({id:`chat-resources:${e.turnId}`,role:`resources`,turnId:e.turnId,resourceSessionId:a.sessionId,timestamp:a.timestamp,resources:[...a.resources.values()].map(e=>e.summary)}),n.delete(e.turnId))});for(let[e,t]of n)r.push({id:`chat-resources:${e}`,role:`resources`,turnId:e,resourceSessionId:t.sessionId,timestamp:t.timestamp,resources:[...t.resources.values()].map(e=>e.summary)});return r}function Tm(e,t,n){if(t.name===`workspace_action_result`){let r=xm(e,e=>e.role===`assistant`&&e.turnId===t.turnId&&e.actionRun?.actionName===n.actionName);if(r?.actionRun){r.id=t.id,r.timestamp=t.timestamp,r.actionRun={...r.actionRun,...n,refs:jm([...r.actionRun.refs,...n.refs]),childCalls:n.childCalls.length>0?n.childCalls:r.actionRun.childCalls};return}}e.push({id:t.id,role:`assistant`,actionRun:n,timestamp:t.timestamp,turnId:t.turnId})}function Em(e){if(e.name!==`workspace_action`&&e.name!==`workspace_action_result`)return null;let t=$(e.data),n=$(e.args),r=Q(n,[`actionName`])??Q($(n?.input),[`actionName`])??Dm(t)??Dm($(t?.run))??Dm($(t?.agentRun));if(!(e.action===`sandbox_run_action`||e.action===`profile_run_action`||r||t?.openPondActionRun===!0||t?.openPondProfileActionRun===!0)||!r)return null;let i=$(t?.run)??$(t?.agentRun),a=$(i?.metadata),o=$(t?.actionSummary)??$(i?.actionSummary)??$(a?.actionSummary),s=$(t?.action)??o??$(a?.selectedAction)??null,c=$(t?.responseSummary)??$(i?.responseSummary)??$(a?.responseSummary),l=$(t?.sourceSummary)??$(i?.sourceSummary)??$(a?.sourceSummary),u=$(t?.traceSummary)??$(i?.traceSummary)??$(a?.traceSummary),d=$(t?.evalSummary)??$(i?.evalSummary)??$(a?.evalSummary),f=jm([...km(`artifact`,t?.artifactRefs,`Artifact`),...km(`artifact`,s?.artifactRefs,`Artifact`),...km(`artifact`,o?.artifactRefs,`Artifact`),...km(`artifact`,c?.artifactRefs,`Artifact`),...km(`trace`,t?.traceArtifactRefs,`Trace`),...km(`trace`,u?.artifactRefs,`Trace`),...km(`eval`,t?.evalResultArtifactRefs,`Eval`),...km(`eval`,d?.artifactRefs,`Eval`),...km(`output`,t?.outputRefs,`Output`)]),p=Q(l,[`sourceRef`,`ref`]);return p&&f.push({id:Mm(`source`,p),kind:`source`,label:`Source`,target:p}),{actionName:r,title:Q(s,[`label`,`title`,`name`])??Q(a,[`selectedActionLabel`])??Im(r),status:Om(e,c,i),responseText:Q(c,[`text`,`summary`,`message`])??(e.name===`workspace_action_result`&&e.output?.trim()||null),runId:Q(i,[`id`,`runId`])??Q(t,[`runId`,`agentRunId`])??null,projectId:Q(i,[`projectId`])??Q(t,[`projectId`])??Q(n,[`projectId`])??null,agentId:Q(i,[`agentId`])??Q(t,[`agentId`])??Q(n,[`agentId`])??null,agentName:Q($(s?.implementation),[`agentName`])??Q(s,[`agentName`])??Q(a,[`selectedAgentName`])??null,sandboxId:Q(i,[`sandboxId`])??Q(t,[`sandboxId`])??Q($(t?.sandbox),[`id`])??Q($(t?.createdSandbox),[`id`])??Q(n,[`sandboxId`])??null,runtimeId:Q(i,[`runtimeId`])??Q(t,[`runtimeId`])??null,implementationType:Q(t,[`implementationType`])??Q(s,[`implementationType`,`type`,`kind`])??Q($(s?.implementation),[`type`,`kind`])??Q(a,[`implementationType`])??(e.action===`profile_run_action`||t?.openPondProfileActionRun===!0?`openpond-profile-action`:null),sourceRef:p,manifestHash:Q(l,[`manifestHash`])??Q(t,[`manifestHash`])??Q(a,[`manifestHash`])??null,refs:jm(f),childCalls:Nm(t,i,a)}}function Dm(e){return e?Q(e,[`actionName`,`name`])??Q($(e.action),[`actionName`,`name`])??Q($(e.actionSummary),[`actionName`,`name`])??Q($(e.selectedEntrypoint),[`name`]):null}function Om(e,t,n){if(e.status===`failed`)return`failed`;let r=Q(t,[`status`]);if(r===`failed`)return`failed`;if(r===`running`||r===`pending`)return r;if(r===`available`||e.status===`completed`)return`completed`;let i=Q(n,[`status`]);return i===`failed`?`failed`:i===`succeeded`||i===`completed`?`completed`:i===`queued`||i===`running`||i===`runtime_created`?`running`:e.status===`pending`?`pending`:e.status===`started`||e.name===`workspace_action`?`running`:`unknown`}function km(e,t,n){return(Array.isArray(t)?t:t?[t]:[]).flatMap(t=>{let r=Am(e,t,n);return r?[r]:[]})}function Am(e,t,n){if(typeof t==`string`&&t.trim()){let r=t.trim();return{id:Mm(e,r),kind:e,label:n,target:r}}let r=$(t);if(!r)return null;let i=Q(r,[`url`,`webUrl`,`artifactPath`,`path`,`ref`])??Q($(r.artifact),[`url`,`webUrl`,`path`,`ref`]);if(!i)return null;let a=Q(r,[`label`,`title`,`name`,`type`,`kind`])??n;return{id:Mm(e,i),kind:e,label:a,target:i}}function jm(e){let t=new Set,n=[];for(let r of e){let e=`${r.kind}:${r.target}`;t.has(e)||(t.add(e),n.push(r))}return n}function Mm(e,t){return`${e}:${t}`}function Nm(e,t,n){return[e?.childCalls,e?.childRuns,e?.implementationCalls,t?.childCalls,t?.childRuns,n?.childCalls,n?.childRuns].flatMap(e=>Pm(e)).slice(0,6)}function Pm(e){return(Array.isArray(e)?e:e?[e]:[]).flatMap((e,t)=>{let n=$(e);if(!n)return[];let r=Q(n,[`id`,`runId`,`callId`])??`child_${t+1}`,i=Q(n,[`label`,`title`,`actionName`,`name`,`tool`])??Q($(n.action),[`label`,`name`])??`Implementation call`,a=Q(n,[`detail`,`summary`,`runId`,`sandboxId`,`runtimeId`])??null;return[{id:r,label:i,status:Fm(n),detail:a}]})}function Fm(e){let t=Q(e,[`status`,`state`]);return t===`running`||t===`completed`||t===`failed`||t===`pending`?t:t===`succeeded`?`completed`:`unknown`}function Im(e){let t=e.replace(/[._-]+/g,` `).trim();return t?t.replace(/\b\w/g,e=>e.toUpperCase()):e}var Lm=8192;function Rm(e){return e.length<=65536?e:`${e.slice(0,Lm)}
|
|
21
|
+
|
|
22
|
+
… output omitted from live view; full output remains in task history …
|
|
23
|
+
|
|
24
|
+
${e.slice(-57270)}`}var zm=new Set([`.avif`,`.gif`,`.jpeg`,`.jpg`,`.png`,`.webp`]);function Bm(e){if(!e)return!1;let t=e.split(`?`)[0]?.split(`#`)[0]??e,n=t.lastIndexOf(`.`);return n<0?!1:zm.has(t.slice(n).toLowerCase())}function Vm(e){return e.split(`/`).filter(Boolean).pop()??e}function Hm(e){if(!Gm(e))return;let t=$(e.data),n=(typeof t?.openpondImagePreviewPath==`string`?t.openpondImagePreviewPath:null)??Km(e.data)??Km(e.args)??Km(e.output);if(n&&Bm(n))return{path:n,appId:e.appId??null,title:Vm(n)}}function Um(e){if(e.name!==`tool.completed`&&e.name!==`workspace_action_result`)return[];let t=[],n=new Set;return Wm(e.data,t,n),t.slice(0,12)}function Wm(e,t,n,r=0){if(r>7||e==null)return;if(Array.isArray(e)){for(let i of e)Wm(i,t,n,r+1);return}let i=$(e);if(!i)return;let a=Q(i,[`path`,`artifactRef`]),o=Q(i,[`contentType`,`mimeType`]);a&&o&&!n.has(a)&&(n.add(a),t.push({path:a,title:Q(i,[`title`,`name`])??Vm(a),contentType:o,sizeBytes:typeof i.sizeBytes==`number`?i.sizeBytes:null}));for(let e of Object.values(i))Wm(e,t,n,r+1)}function Gm(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return!1;let t=$(e.data);return typeof t?.openpondImagePreviewPath==`string`&&t.openpondImagePreviewPath.trim()?!0:[e.output,e.action,Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`,`command`]),Q($(t?.input),[`tool`,`toolName`,`tool_name`,`name`]),Q($(t?.arguments),[`tool`,`toolName`,`tool_name`,`name`]),Q($(t?.args),[`tool`,`toolName`,`tool_name`,`name`])].filter(e=>!!e).some(e=>e.toLowerCase().includes(`view_image`))}function Km(e,t=0,n=``){if(t>5||e==null)return null;if(typeof e==`string`){if(qm(n)&&Bm(e.trim()))return e.trim();let r=bm(e);if(r!==null){let e=Km(r,t+1,n);if(e)return e}return Jm(e)}if(Array.isArray(e)){for(let r of e){let e=Km(r,t+1,n);if(e)return e}return null}let r=$(e);if(!r)return null;for(let[e,n]of Object.entries(r)){if(!qm(e))continue;let r=Km(n,t+1,e);if(r)return r}for(let[e,n]of Object.entries(r)){if(qm(e))continue;let r=Km(n,t+1,e);if(r)return r}return null}function qm(e){return/^(path|filePath|filepath|imagePath|image|localPath|uri|url)$/i.test(e)}function Jm(e){let t=/(?:file:\/\/)?(?:\/|\.\/|[\w.-]+\/)[^\s"'`<>]+\.(?:avif|gif|jpe?g|png|webp)\b/i.exec(e);if(!t)return null;if(!t[0].startsWith(`file://`))return t[0];try{return decodeURIComponent(new URL(t[0]).pathname)}catch{return t[0].replace(/^file:\/\//i,``)}}function Ym(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return null;let t=e.action;if(t!==`connected_app_search`&&t!==`connected_app_read`&&t!==`connected_app_write`)return null;let n=Zm(e),r=e.status===`failed`;return t===`connected_app_search`?e.name===`tool.started`?`${n} search`:r?`${n} search failed`:`${n} search`:t===`connected_app_read`?e.name===`tool.started`?`${n} lookup`:r?`${n} lookup failed`:`${n} lookup`:e.name===`tool.started`?`${n} update`:r?`${n} update failed`:`${n} update`}function Xm(e){if(e.action!==`connected_app_search`&&e.action!==`connected_app_read`&&e.action!==`connected_app_write`)return null;let t=Qm(e);return[t.providerOperation,t.operation&&t.operation!==t.providerOperation?t.operation:null,t.capabilityCount>0?`${t.capabilityCount} ${t.capabilityCount===1?`capability`:`capabilities`}`:null].filter(e=>!!e).join(` / `)||t.providerLabel}function Zm(e){return Qm(e).providerLabel}function Qm(e){let t=$(e.args),n=$(e.data),r=$(n?.result),i=xr(Q(t,[`provider`])??Q(r,[`provider`])??Q(n,[`provider`])??void 0);return{providerLabel:Q(r,[`providerLabel`])??Q(n,[`providerLabel`])??(i?vr(i)?.label:null)??`connected app`,providerOperation:Q(t,[`operation`]),operation:Q(r,[`operation`])??Q(n,[`operation`]),capabilityCount:$m(t?.capabilityIds)||$m(r?.capabilityIds)||$m(n?.capabilityIds)}}function $m(e){return Array.isArray(e)?e.length:0}function eh(e){let t=e.trim(),n=/^<(goal_context|turn_aborted)>\s*([\s\S]*?)\s*<\/\1>$/.exec(t);if(n){let e=n[1];return{kind:e,text:n[2]?.trim()||th(e)}}return t===`<turn_aborted>`?{kind:`turn_aborted`,text:th(`turn_aborted`)}:t===`<goal_context>`?{kind:`goal_context`,text:th(`goal_context`)}:null}function th(e){return e===`turn_aborted`?`The previous turn was interrupted.`:`Goal context updated.`}function nh(e){return e.name===`diagnostic`&&$(e.data)?.kind===`goal_context`}var rh=`Steered by user`;function ih(e){return e?.trim().toLowerCase()===rh.toLowerCase()}function ah(e,t){if(!t.turnId)return;dh(e,t.turnId);let n=oh(t);if(!n)return;let r=uh(e,t.turnId);if(r){r.refinerActivity=n;return}let i={id:`${t.id}:work-refiner`,role:`activity_group`,activities:[],timestamp:t.timestamp,turnId:t.turnId,traceState:`completed`,traceStartedAt:t.timestamp,traceCompletedAt:t.timestamp,refinerActivity:n},a=e.findIndex(e=>e.role===`assistant`&&e.turnId===t.turnId);a>=0?e.splice(a,0,i):e.push(i)}function oh(e){let t=$(e.data),n=$(t?.activity);return n?ch(n,e):lh(e,t)}function sh(e){if(e.state===`running`)return`Refiner · Reviewing for a reusable improvement`;if(e.state===`failed`)return`Refiner · Review failed`;if(e.result===`no_action`)return`Refiner · No reusable change`;if(e.result===`routed`)return`Refiner · ${bh(e.route??`external`)} issue routed`;let t=e.result===`applied`?`Applied`:`Needs review`;return`Refiner · ${e.summary} — ${t}`}function ch(e,t){let n=vh(e.state,[`running`,`completed`,`failed`]);if(!n)return null;let r=n===`failed`?`failed`:vh(e.result,[`no_action`,`routed`,`applied`,`retained`]),i=_h(e.reason)??t.output??t.error??null;return{state:n,visibility:vh(e.visibility,[`always`,`material_only`])??`material_only`,result:n===`running`?null:r,workspaceId:_h(e.workspaceId),decision:vh(e.decision,[`no_action`,`route`,`propose`]),route:_h(e.route),operation:vh(e.operation,[`create`,`update`,`delete`]),target:_h(e.target),summary:_h(e.summary)??yh(n,r),expectedOutcome:_h(e.expectedOutcome),reason:i,evidenceBasis:fh(e.evidenceBasis),critiqueStatus:vh(e.critiqueStatus,[`not_applicable`,`pending`,`passed`,`rejected`,`failed`])??(n===`running`?`pending`:`not_applicable`),validationStatus:vh(e.validationStatus,[`not_applicable`,`pending`,`passed`,`failed`])??(n===`running`?`pending`:`not_applicable`),validations:ph(e.validationReceipts),edits:mh(e.edits),refs:{trigger:hh(e.trigger),outcome:hh(e.outcome),proposal:hh(e.proposal),applyReceipt:hh(e.applyReceipt),advanceReceipt:hh(e.advanceReceipt),inputHarness:hh(e.inputHarness),outputHarness:hh(e.outputHarness)}}}function lh(e,t){if(!e.name.startsWith(`harness.refiner.`))return null;let n=e.name===`harness.refiner.failed`||e.status===`failed`,r=e.name===`harness.refiner.completed`,i=$(t?.outcome),a=$(t?.proposal),o=i?.routed===!0,s=_h(t?.workspaceAdvance),c=n?`failed`:r?a?s===`advanced`||/\bapplied\b/i.test(e.output??``)?`applied`:`retained`:o?`routed`:`no_action`:null;return{state:n?`failed`:r?`completed`:`running`,visibility:`material_only`,result:c,workspaceId:null,decision:a?`propose`:o?`route`:r?`no_action`:null,route:_h(i?.route),operation:null,target:null,summary:yh(n?`failed`:r?`completed`:`running`,c),expectedOutcome:null,reason:e.output??e.error??null,evidenceBasis:null,critiqueStatus:a?`passed`:`not_applicable`,validationStatus:a?`pending`:`not_applicable`,validations:[],edits:[],refs:{trigger:hh(t?.trigger),outcome:hh(i),proposal:hh(a),applyReceipt:null,advanceReceipt:null,inputHarness:null,outputHarness:null}}}function uh(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.role===`activity_group`&&r.turnId===t&&!r.activities?.some(e=>e.subagentMessage))return r}return null}function dh(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];r?.role===`status_divider`&&r.statusKind===`harness_refinement`&&r.turnId===t&&e.splice(n,1)}}function fh(e){let t=$(e),n=vh(t?.kind,[`single_deterministic`,`recurrent_independent`]);return!t||!n?null:{kind:n,supportingEvidenceIds:gh(t.supportingEvidenceIds),counterevidence:gh(t.counterevidence)}}function ph(e){return Array.isArray(e)?e.flatMap(e=>{let t=$(e),n=_h(t?.id),r=vh(t?.status,[`passed`,`failed`,`blocked`,`skipped`]),i=_h(t?.summary);return n&&r&&i?[{id:n,status:r,summary:i}]:[]}):[]}function mh(e){return Array.isArray(e)?e.flatMap(e=>{let t=$(e),n=_h(t?.id),r=vh(t?.operation,[`create`,`update`,`delete`]),i=_h(t?.target),a=_h(t?.summary);return!n||!r||!i||!a?[]:[{id:n,operation:r,target:i,summary:a,content:typeof t?.content==`string`?t.content:null}]}):[]}function hh(e){let t=$(e),n=_h(t?.id),r=_h(t?.contentHash);return n&&r?`${n} · ${r.slice(0,12)}`:null}function gh(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&!!e.trim()):[]}function _h(e){return typeof e==`string`&&e.trim()?e.trim():null}function vh(e,t){return typeof e==`string`&&t.includes(e)?e:null}function yh(e,t){return e===`running`?`Reviewing for a reusable improvement`:e===`failed`?`Review failed`:t===`no_action`?`No reusable change`:t===`routed`?`Issue routed`:`Harness change`}function bh(e){return e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e}function xh(e,t){let n=Ph(t);if($(t.data)?.nativeBackgroundTask===!0&&n.callId){let r=xm(e,e=>e.turnId===t.turnId&&e.role===`activity_group`&&!!e.activities?.some(e=>e.callId===n.callId));if(r){r.activities=Dh(r.activities??[],t,n);let e=r.activities.filter(e=>e.backgroundTaskId),i=e.some(e=>e.state===`running`||e.state===`pending`);r.traceState=i?`running`:e.some(e=>e.state===`failed`)?`failed`:`settled`,r.traceCompletedAt=i?void 0:t.timestamp;return}}if(t.name===`tool.completed`&&n.callId){let r=xm(e,e=>e.turnId===t.turnId&&e.role===`activity_group`&&!!e.activities?.some(e=>e.callId===n.callId&&e.state===`running`));if(r){r.activities=Dh(r.activities??[],t,n);return}}if(n.subagentMessage){e.push({id:t.id,role:`activity_group`,activities:[n],timestamp:t.timestamp,turnId:t.turnId});return}let r=Ch(e,t.turnId);r?(r.activities=Dh(r.activities??[],t,n),r.timestamp=t.timestamp):(Sh(e,t),e.push({id:t.id,role:`activity_group`,activities:[n],timestamp:t.timestamp,turnId:t.turnId,traceState:`running`,traceStartedAt:t.timestamp}))}function Sh(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];r.role!==`activity_group`||r.activities?.some(e=>e.subagentMessage)||r.traceState===`running`&&(r.activities?.some(e=>e.backgroundTaskId&&(e.state===`running`||e.state===`pending`))||(r.traceState=`settled`,r.traceCompletedAt=t.timestamp))}}function Ch(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.turnId!==t||r.role!==`activity_group`)return null;if(!r.activities?.some(e=>e.subagentMessage))return r}return null}function wh(e,t,n){if(!t.turnId)return;let r=e.filter(e=>e.role===`activity_group`&&e.turnId===t.turnId&&!e.activities?.some(e=>e.subagentMessage)),i=r.filter(e=>e.traceState===`running`),a=i.length>0?i:r.length>0?[r[r.length-1]]:[];for(let e of a)e.traceState=n;let o=a.at(-1);o&&(o.traceCompletedAt=t.timestamp,o.timestamp=t.timestamp)}function Th(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(r?.turnId!==t.turnId||r.role!==`activity_group`)continue;let i=r.activities?.filter(e=>e.controlKind!==`turn_aborted`)??[];i.length!==r.activities?.length&&(i.length===0?e.splice(n,1):r.activities=i)}wh(e,t,`interrupted`),!ih(t.output)&&e.push({id:t.id,role:`status_divider`,content:Eh(t),timestamp:t.timestamp,turnId:t.turnId,statusKind:`interruption`,statusState:`failed`,statusTone:`danger`})}function Eh(e){let t=e.output?.trim()||e.error?.trim();return t?/server shutting down|app restart|local app server stopped/i.test(t)?`Interrupted by app restart`:/stopped by user|cancelled by user/i.test(t)?`Stopped by user`:t:`Turn interrupted`}function Dh(e,t,n=Ph(t)){let r=[...e];if(t.name===`tool.started`&&$(t.data)?.nativeTool===!0&&n.callId){let e=xm(r,e=>e.callId===n.callId&&e.state===`running`);if(e){let t=e.timestamp;return Object.assign(e,n,{timestamp:t}),r}}return Rh(r,t,n)||Fh(r,t,n)||Ih(r,t,n)||Lh(r,t,n)?r:[...r,n]}function Oh(e){return e.name===`session.compaction.started`||e.name===`session.compaction.completed`||e.name===`session.compaction.failed`}function kh(e,t){let n={id:t.id,role:`status_divider`,content:Ah(t),timestamp:t.timestamp,turnId:t.turnId,statusKind:`compaction`,statusState:jh(t),statusTone:Mh(t)};if(t.name!==`session.compaction.started`){let r=xm(e,e=>e.role===`status_divider`&&e.statusKind===`compaction`&&e.statusState===`running`&&e.turnId===t.turnId);if(r){r.id=n.id,r.content=n.content,r.timestamp=n.timestamp,r.statusState=n.statusState,r.statusTone=n.statusTone;return}}e.push(n)}function Ah(e){let t=Nh(e);return e.name===`session.compaction.started`?t===`auto`?`Auto compacting context`:`Compacting context`:e.name===`session.compaction.completed`?t===`auto`?`Auto compacted context`:`Compacted context`:t===`auto`?`Auto compaction failed`:`Context compaction failed`}function jh(e){return e.name===`session.compaction.started`?`running`:e.name===`session.compaction.completed`?`completed`:`failed`}function Mh(e){return e.name===`session.compaction.failed`?`danger`:e.name===`session.compaction.completed`?`success`:`info`}function Nh(e){return $(e.data)?.reason===`auto`?`auto`:`manual`}function Ph(e){e=Sm(e);let t=Hm(e),n=e.name===`assistant.reasoning.delta`?`reasoning`:Xh(e),r=Zh(e),i=ng(e),a=tg(e),o=ig(e),s=rg(e),c=ag(e),l=Um(e),u=Cm(e),d=xg(e);return{id:e.id,...d?{plan:d}:{},label:c?c.direction===`received`?`Child message received`:`Child message sent`:Hh(e),content:c?.summary??Gh(e,t),timestamp:e.timestamp,...n?{kind:n}:{},...e.action?{action:e.action}:{},...r?{kind:`control`,controlKind:r}:{},...e.name===`assistant.reasoning.delta`||e.name===`tool.started`||e.name===`tool.completed`||n===`command`?{callId:eg(e)??void 0}:{},...n&&e.name===`command.output`?{detail:mg(e)}:{},...typeof $(e.data)?.nativeTaskId==`string`?{backgroundTaskId:String($(e.data)?.nativeTaskId)}:{},...n!==`command`&&e.name===`tool.started`&&$(e.data)?.nativeTool===!0&&e.args&&Object.keys(e.args).length>0?{detail:Rm(JSON.stringify(e.args,null,2))}:{},...n!==`command`&&e.name===`tool.completed`&&$(e.data)?.nativeTool===!0&&e.output?{detail:Rm(e.output)}:{},...n===`command`?{terminal:hg(e)}:{},...u?{detail:Rm(u)}:{},...a?{meta:a}:{},...i?{receipt:i}:{},...o?{openSession:o}:{},...s?{startedAgent:s,startedAgentProvider:Q($($(e.args)?.modelRef),[`providerId`])??void 0}:{},...c?{subagentMessage:c}:{},state:Vh(e),...t?{imagePreview:t}:{},...l.length>0?{artifacts:l}:{}}}function Fh(e,t,n){if(t.name===`tool.completed`){let r=zh(e,t);if(!r)return!1;let i=gg(r.timestamp,t.timestamp);r.label=t.status===`failed`?`Failed`:`Ran`,r.state=n.state,r.backgroundTaskId=n.backgroundTaskId??r.backgroundTaskId,r.timestamp=t.timestamp,r.artifacts=n.artifacts,r.terminal={...r.terminal,...n.terminal,...i===null?{}:{durationMs:i}};let a=mg(t);return a&&a!==r.content&&(r.detail=bg(r.detail,a)),!0}if(t.name===`command.output`){let r=zh(e,t);if(!r)return!1;let i=mg(t);return i&&(r.detail=bg(r.detail,i)),r.terminal={...r.terminal,...n.terminal},r.timestamp=t.timestamp,n.state===`failed`?r.state=`failed`:r.state!==`completed`&&r.state!==`failed`&&(r.state=`running`),!0}return!1}function Ih(e,t,n){if(t.name!==`tool.completed`||n.kind===`command`)return!1;let r=eg(t),i=xm(e,e=>e.state===`running`&&e.kind!==`command`&&(r?e.callId===r:!!t.action&&e.action===t.action));if(!i)return!1;let a=n.content.trim();return i.id=n.id,i.label=n.label,i.timestamp=n.timestamp,i.state=n.state,a&&a!==i.content.trim()&&(i.content.trim()===i.action?i.content=a:i.detail=bg(i.detail,a)),n.detail&&(i.detail=bg(i.detail,n.detail)),i.plan=n.plan??i.plan,i.startedAgent=n.startedAgent??i.startedAgent,i.startedAgentProvider=n.startedAgentProvider??i.startedAgentProvider,i.openSession=n.openSession??i.openSession,i.meta=n.meta,i.receipt=n.receipt,i.imagePreview=n.imagePreview??i.imagePreview,i.artifacts=n.artifacts,!0}function Lh(e,t,n){if(t.name!==`workspace_action_result`)return!1;let r=Bh(e,t);return r?(r.id=n.id,r.label=n.label,r.content=n.content,r.timestamp=n.timestamp,r.state=n.state,r.detail=n.detail,r.plan=n.plan??r.plan,r.meta=n.meta,r.receipt=n.receipt,r.imagePreview=n.imagePreview,!0):!1}function Rh(e,t,n){if(t.name!==`assistant.reasoning.delta`)return!1;let r=e[e.length-1];return!r||r.kind!==`reasoning`||n.kind!==`reasoning`||r.action!==n.action||(r.callId||n.callId)&&r.callId!==n.callId?!1:(r.content=`${r.content}${n.content}`,r.timestamp=t.timestamp,!0)}function zh(e,t){let n=eg(t);if(n){let t=xm(e,e=>e.kind===`command`&&e.callId===n);if(t)return t}return xm(e,e=>e.kind===`command`)}function Bh(e,t){let n=Uh[t.action??``]??{started:`Running workspace action`,completed:`Workspace action completed`};return xm(e,e=>e.state===`running`&&e.label===n.started&&e.kind!==`command`&&!e.controlKind)}function Vh(e){if(e.name===`turn.interrupted`||e.status===`failed`)return`failed`;if(e.status===`pending`||e.name===`approval.requested`)return`pending`;if(e.name===`tool.started`||e.name===`workspace_action`||e.name===`command.output`)return`running`;if(e.name===`tool.completed`||e.name===`workspace_action_result`)return`completed`;if(e.status===`started`)return`running`;if(e.status===`completed`)return`completed`}function Hh(e){if(e.name===`assistant.reasoning.delta`)return Q($(e.data),[`kind`])===`commentary`?`Update`:`Reasoning`;if(e.action===`openpond_dataset`||e.action===`openpond_experiment`){let t={create:`Creating dataset`,save:`Editing dataset`,file:`Editing dataset file`,import:`Importing dataset`,inspect_source:`Inspecting dataset source`,import_source:`Importing dataset sample`,check_graders:`Checking graders`,check_sources:`Checking dataset sources`,test_grader:`Testing grader`,save_grader:`Editing grader`,validate:`Validating dataset`,package:`Packaging dataset`,upload:`Uploading dataset`,publish:`Publishing dataset`,sync:`Synchronizing dataset`,run:`Running experiment`,run_cloud:`Running cloud experiment`,cancel:`Cancelling experiment`,charts:`Publishing experiment charts`,improve:`Improving experiment`}[Q($(e.args),[`action`])??``]??(e.action===`openpond_dataset`?`Reading dataset resources`:`Reading experiment evidence`);return e.status===`failed`?t+` · Failed`:t}return nh(e)?`Goal context`:e.name===`turn.interrupted`?`Turn aborted`:e.name===`subagent.started`?e.status===`started`?`Subagent running`:`Started subagent`:e.name===`subagent.reported`?`Subagent reported`:e.name===`subagent.progress`?`Subagent progress`:e.name===`subagent.completed`?`Subagent completed`:e.name===`subagent.failed`?`Subagent failed`:e.name===`subagent.workspace_retained`?`Subagent workspace retained`:e.name===`subagent.archived`?`Subagent archived`:e.name===`subagent.message`?`Subagent message`:Gm(e)&&e.name===`tool.started`?`Reading image`:Gm(e)&&e.name===`tool.completed`?`Read image`:e.action===`resource_search`&&e.name===`tool.started`?`Searching resources`:e.action===`resource_search`&&e.name===`tool.completed`?`Searched resources`:e.action===`resource_read`&&e.name===`tool.started`?`Reading resource`:e.action===`resource_read`&&e.name===`tool.completed`?`Read resource`:e.action===`web_fetch`&&e.name===`tool.started`?`Fetching web page`:e.action===`web_fetch`&&e.name===`tool.completed`?`Fetched web page`:e.action===`web_search`&&e.name===`tool.started`?`Searching web`:e.action===`web_search`&&e.name===`tool.completed`?`Searched web`:e.action===`openpond_action_search`&&e.name===`tool.started`?`Searching actions`:e.action===`openpond_action_search`&&e.name===`tool.completed`?`Searched actions`:e.action===`openpond_action_run`&&e.name===`tool.started`?`Running OpenPond action`:e.action===`openpond_action_run`&&e.name===`tool.completed`?`Ran OpenPond action`:Ym(e)||qh(e)||Kh(e)||(e.name===`skill.selected`?`Selected skill`:e.name===`skill.loaded`?`Loaded skill`:e.name===`skill.load_failed`?`Skill load failed`:e.name===`tool.started`?`Started`:e.name===`tool.completed`?e.status===`failed`?`Failed`:`Ran`:e.name===`command.output`?`Output`:e.name===`workspace_action`||e.name===`workspace_action_result`?Wh(e):e.name===`approval.requested`?`Approval requested`:e.name===`session.compaction.started`?`Compacting context`:e.name===`session.compaction.completed`?`Compacted conversation context`:e.name===`session.compaction.failed`?`Context compaction failed`:e.name.replace(`.`,` `))}var Uh={workspace_status:{started:`Checking workspace`,completed:`Checked workspace`},resource_search:{started:`Searching resources`,completed:`Searched resources`},resource_read:{started:`Reading resource`,completed:`Read resource`},list_files:{started:`Listing files`,completed:`Listed files`},read_files:{started:`Reading files`,completed:`Read files`},search_files:{started:`Searching files`,completed:`Searched files`},preview_write_files:{started:`Previewing files`,completed:`Previewed files`},preview_write_file:{started:`Previewing file`,completed:`Previewed file`},preview_edit_file:{started:`Previewing edit`,completed:`Previewed edit`},preview_delete_file:{started:`Previewing delete`,completed:`Previewed delete`},write_files:{started:`Editing files`,completed:`Edited files`,failed:`File checks failed`},write_file:{started:`Editing file`,completed:`Edited file`,failed:`File checks failed`},edit_file:{started:`Editing file`,completed:`Edited file`,failed:`File checks failed`},delete_file:{started:`Deleting file`,completed:`Deleted file`,failed:`File checks failed`},validate_sandbox_template:{started:`Validating template`,completed:`Validated template`,failed:`Template validation failed`},build_sandbox_template:{started:`Building template`,completed:`Built template`,failed:`Template build failed`},run_sandbox_template:{started:`Running sandbox template`,pending:`Sandbox template log`,completed:`Ran sandbox template`,failed:`Sandbox template failed`},git_status:{started:`Checking git status`,completed:`Checked git status`},git_fetch:{started:`Fetching git`,completed:`Fetched git`,failed:`Git fetch failed`},git_commit:{started:`Committing changes`,completed:`Committed changes`,failed:`Commit failed`},git_push:{started:`Pushing changes`,completed:`Pushed changes`,failed:`Push failed`},publish_openpond_repo:{started:`Publishing to OpenPond`,completed:`Published to OpenPond`,failed:`Publish failed`},upload_cloud_source:{started:`Uploading source`,completed:`Uploaded source`,failed:`Upload failed`},sandbox_create:{started:`Starting sandbox`,completed:`Started sandbox`,failed:`Sandbox start failed`},sandbox_status:{started:`Checking sandbox`,completed:`Checked sandbox`,failed:`Sandbox status failed`},sandbox_list_files:{started:`Listing sandbox files`,completed:`Listed sandbox files`,failed:`Sandbox file list failed`},sandbox_read_file:{started:`Reading sandbox file`,completed:`Read sandbox file`,failed:`Sandbox file read failed`},sandbox_search_files:{started:`Searching sandbox files`,completed:`Searched sandbox files`,failed:`Sandbox search failed`},sandbox_run_action:{started:`Running sandbox action`,completed:`Ran sandbox action`,failed:`Sandbox action failed`},sandbox_upload_file:{started:`Uploading file`,completed:`Uploaded file`,failed:`Upload failed`},sandbox_write_file:{started:`Writing sandbox file`,completed:`Wrote sandbox file`,failed:`Write failed`},sandbox_edit_file:{started:`Editing sandbox file`,completed:`Edited sandbox file`,failed:`Edit failed`},sandbox_delete_file:{started:`Deleting sandbox file`,completed:`Deleted sandbox file`,failed:`Delete failed`},sandbox_mkdir:{started:`Creating sandbox directory`,completed:`Created sandbox directory`,failed:`Directory create failed`},sandbox_move_file:{started:`Moving sandbox file`,completed:`Moved sandbox file`,failed:`Move failed`},sandbox_exec:{started:`Running sandbox command`,completed:`Ran sandbox command`,failed:`Sandbox command failed`},sandbox_git_status:{started:`Checking sandbox git`,completed:`Checked sandbox git`},sandbox_git_diff:{started:`Reading sandbox diff`,completed:`Read sandbox diff`},sandbox_git_export_patch:{started:`Exporting sandbox patch`,completed:`Exported sandbox patch`,failed:`Patch export failed`},sandbox_git_apply_patch_local:{started:`Applying sandbox patch locally`,completed:`Applied locally`,failed:`Apply locally failed`},sandbox_git_branch:{started:`Switching sandbox branch`,completed:`Switched sandbox branch`,failed:`Branch failed`},sandbox_git_commit:{started:`Committing sandbox changes`,completed:`Committed sandbox changes`,failed:`Commit failed`},sandbox_git_pull:{started:`Pulling sandbox changes`,completed:`Pulled sandbox changes`,failed:`Pull failed`},sandbox_git_push:{started:`Pushing sandbox changes`,completed:`Pushed sandbox changes`,failed:`Push failed`},sandbox_preserve_source:{started:`Preserving sandbox source`,completed:`Preserved sandbox source`,failed:`Preserve failed`},sandbox_promote_source:{started:`Promoting sandbox source`,completed:`Promoted sandbox source`,failed:`Promote failed`},sandbox_logs:{started:`Reading sandbox logs`,completed:`Read sandbox logs`,failed:`Sandbox logs failed`},sandbox_receipts:{started:`Reading sandbox receipts`,completed:`Read sandbox receipts`,failed:`Sandbox receipts failed`},sandbox_stop:{started:`Stopping sandbox`,completed:`Stopped sandbox`,failed:`Sandbox stop failed`},file_change:{started:`Editing files`,completed:`Edited files`}};function Wh(e){let t=Uh[e.action??``]??{started:`Running workspace action`,completed:`Workspace action completed`,failed:`Workspace action failed`};return e.name===`workspace_action`?e.status===`pending`?t.pending??t.started:t.started:e.status===`failed`?t.failed??`${t.completed} failed`:t.completed}function Gh(e,t){if(e.name===`assistant.reasoning.delta`)return e.output??``;if(t)return t.path;let n=eh(e.output??``);if(n)return n.text;if(nh(e)||e.name===`turn.interrupted`)return e.output??e.error??``;let r=Jh(e);if(r)return r;let i=Yh(e);if(i)return i;let a=Xm(e);if(a)return a;let o=Qh(e);if(o)return o;if(e.name===`command.output`)return pg(e.output??``);if($(e.data)?.nativeTool===!0)return Q($(e.data),[`filePath`,`toolName`])??e.action??`Tool`;if(e.name===`tool.started`||e.name===`tool.completed`){let t=e.data;if(t&&typeof t==`object`){let e=t.command;if(typeof e==`string`&&e.trim())return e;let n=t.tool;if(typeof n==`string`&&n.trim())return n;let r=t.type;if(typeof r==`string`&&r.trim())return r}}return e.name===`session.compaction.started`||e.name===`session.compaction.completed`||e.name===`session.compaction.failed`?e.error??e.output??``:e.output??e.action??``}function Kh(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return null;let t=e.status===`failed`;return e.action===`openpond_create_improve`?e.name===`tool.started`?`Starting Create Pipeline`:t?`Create Pipeline failed`:`Started Create Pipeline`:null}function qh(e){if(e.name!==`tool.started`&&e.name!==`tool.completed`)return null;let t=e.status===`failed`,n=e.name===`tool.completed`;switch(e.action){case`openpond_browser_open`:return n?t?`Browser open failed`:`Opened browser`:`Opening browser`;case`openpond_browser_snapshot`:return n?t?`Browser capture failed`:`Captured browser`:`Capturing browser`;case`openpond_browser_move_cursor`:return n?t?`Cursor move failed`:`Moved browser cursor`:`Moving browser cursor`;case`openpond_browser_click`:return n?t?`Browser click failed`:`Clicked browser`:`Clicking browser`;case`openpond_browser_type`:return n?t?`Browser typing failed`:`Typed in browser`:`Typing in browser`;case`openpond_browser_key`:return n?t?`Browser key failed`:`Pressed browser key`:`Pressing browser key`;case`openpond_browser_scroll`:return n?t?`Browser scroll failed`:`Scrolled browser`:`Scrolling browser`;default:return null}}function Jh(e){return e.action?.startsWith(`openpond_browser_`)?Q($($(e.data)?.result),[`output`])||Q($(bm(e.output??``)),[`output`])||Q($(e.args),[`url`])||(e.action===`openpond_browser_type`?`Text redacted`:e.error??e.output??e.action):null}function Yh(e){if(e.action!==`openpond_create_improve`)return null;let t=Q($($(e.data)?.result),[`nextStep`]);if(t)return t;let n=Q($(bm(e.output??``)),[`output`]);if(n)return n;let r=$(e.args);return Q(r,[`reason`])||Q(r,[`objective`])||(e.error??null)}function Xh(e){if(e.name===`command.output`)return`command`;if(e.name!==`tool.started`&&e.name!==`tool.completed`)return;let t=$(e.data),n=Q(t,[`type`]),r=Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`]);if(e.action===`commandExecution`||n===`commandExecution`||Qh(e)||r&&/(^|[._-])exec_command$/i.test(r))return`command`}function Zh(e){if(e.name===`turn.interrupted`)return`turn_aborted`;if(nh(e))return`goal_context`}function Qh(e){let t=$(e.data),n=Q(t,[`type`]),r=Q(t,[`tool`,`toolName`,`tool_name`,`name`,`functionName`,`function_name`]),i=$(t?.result),a=$($(bm(e.output??``))?.data);return(Q(t,[`command`,`cmd`])??Q($(t?.input),[`command`,`cmd`])??Q($(t?.arguments),[`command`,`cmd`])??Q($(t?.args),[`command`,`cmd`])??$h(Q(t,[`arguments`,`args`,`input`]))??Q($(e.args),[`command`,`cmd`])??Q(i,[`command`,`cmd`])??Q(a,[`command`,`cmd`]))||e.name===`tool.started`&&(e.action===`commandExecution`||n===`commandExecution`||/(^|[._-])exec_command$/i.test(r??``))&&e.output?.trim()||null}function $h(e){return e?Q($(bm(e)),[`command`,`cmd`]):null}function eg(e){return Q($(e.data),[`callId`,`call_id`,`toolCallId`,`tool_call_id`,`id`,`itemId`,`item_id`])}function tg(e){let t=$(e.data);if(!t)return null;let n=[],r=$(t.workspaceToolTiming),i=typeof r?.durationMs==`number`?r.durationMs:null;i!==null&&n.push(lg(i));let a=$(t.workspaceExecutionTarget),o=Q(a,[`target`]);if(o===`sandbox`){let e=a?.hybrid===!0,t=Q(a,[`sandboxId`,`workspaceId`]);n.push(`${e?`Hybrid `:``}sandbox${t?` ${fg(t)}`:``}`)}else o===`local`&&n.push(`local workspace`);let s=$(t.sourcePreservation);if(s?.attempted===!0){if(s.ok!==!0)n.push(`checkpoint failed`);else if(s.preserved===!0){let e=Q(s,[`preservedSha`]);n.push(e?`checkpoint ${dg(e)}`:`checkpoint saved`)}else n.push(`checkpoint clean`)}let c=cg(t);return c&&(n.push(`receipt ${fg(c.id)}`),n.push(`${ug(c.totalUsd)} ${c.status}`)),n.length>0?n.join(` · `):null}function ng(e){let t=cg($(e.data));return t?{id:t.id,status:t.status,totalUsd:t.totalUsd}:void 0}function rg(e){if(e.action===`openpond_start_agent`)return Q($(e.args),[`title`])??void 0;if(e.name!==`subagent.started`)return;let t=$(e.data);return Q($(t?.run),[`title`,`name`,`roleId`])??Q(t,[`title`,`name`,`roleId`])??void 0}function ig(e){if(e.action===`openpond_start_agent`&&e.name===`tool.completed`&&e.status!==`failed`){let t=Q($($(e.data)?.result)??$(bm(e.output??``)),[`sessionId`]);if(t)return{sessionId:t,label:`Open conversation`}}if(!e.name.startsWith(`subagent.`))return;let t=$(e.data),n=$(t?.run),r=Q(t,[`childSessionId`])??Q(n,[`childSessionId`]);if(!r)return;let i=Q(n,[`roleId`])??Q(t,[`roleId`]),a=Q(n,[`status`])??Q(t,[`status`]);return{sessionId:r,label:`Open conversation`,...i?{roleId:i}:{},...a?{status:a}:{}}}function ag(e){if(e.name!==`subagent.message`)return;let t=$(e.data),n=$(t?.message);if(!n)return;let r=Q(n,[`id`]),i=Q(n,[`kind`]),a=Q(n,[`fromRunId`]),o=Q(n,[`body`]);if(!r||!i||!a||!o)return;let s=$(t?.delivery??n.delivery),c=$(t?.modelRef),l=Q(c,[`providerId`]),u=Q(c,[`modelId`]),d=Q(s,[`deliveredParentSessionId`])===e.sessionId&&!a.startsWith(`parent:`)?`received`:`sent`,f=Array.isArray(n.refs)?n.refs.flatMap(e=>{let t=$(e),n=Q(t,[`kind`]),r=Q(t,[`id`]),i=Q(t,[`label`]);return n&&r&&i?[{kind:n,id:r,label:i}]:[]}):[];return{direction:d,summary:og(o),body:o,messageId:r,kind:i,fromRunId:a,toRunId:Q(n,[`toRunId`]),toRole:Q(n,[`toRole`]),childSessionId:Q(t,[`childSessionId`]),roleId:Q(t,[`roleId`]),modelRef:l&&u?{providerId:l,modelId:u}:null,deliveryStatus:Q(s,[`status`]),wakeReason:Q(s,[`wakeParentReason`]),createdAt:Q(n,[`createdAt`]),refs:f}}function og(e){let t=e.replace(/\s+/g,` `).trim();return t?sg(/^(.*?[.!?])(?:\s|$)/.exec(t)?.[1]??t,96):`No message body`}function sg(e,t){if(e.length<=t)return e;let n=e.slice(0,t-1),r=n.lastIndexOf(` `),i=r>=Math.floor(t*.55)?r:t-1;return`${n.slice(0,i).trimEnd()}...`}function cg(e){let t=$(e?.sandbox),n=Array.isArray(t?.receipts)?t.receipts:[];for(let e=n.length-1;e>=0;--e){let t=$(n[e]),r=Q(t,[`id`]),i=Q(t,[`status`]),a=Q(t,[`totalUsd`,`retailTotalUsd`]);if(r&&i&&a)return{id:r,status:i,totalUsd:a}}return null}function lg(e){return e<1e3?`${Math.max(0,Math.round(e))} ms`:e<1e4?`${(e/1e3).toFixed(1)} s`:`${Math.round(e/1e3)} s`}function ug(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function dg(e){return e.length>12?e.slice(0,12):e}function fg(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function pg(e){let t=e.replace(/\r\n/g,`
|
|
25
|
+
`).trim();if(!t)return``;let n=_g(t);if(n!==null)return Rm(n);let r=t.indexOf(`
|
|
26
|
+
Output:
|
|
27
|
+
`);return r>=0&&yg(t.slice(0,r))&&(t=t.slice(r+9).trim()),t=t.replace(/^Total output lines: \d+\n\n/,``),Rm(t.trim())}function mg(e){let t=pg(e.output??``);if(t)return t;let n=$($(e.data)?.result);return n?Rm(vg(n)):``}function hg(e){let t=$(e.data),n=$(t?.result),r=$($(bm(e.output??``))?.data),i=$(t?.workspaceToolTiming),a=[n?.exitCode,r?.exitCode,t?.exitCode].find(e=>typeof e==`number`),o=i?.durationMs;return{...typeof a==`number`?{exitCode:a}:{},...typeof o==`number`?{durationMs:o}:{}}}function gg(e,t){let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function _g(e){let t=$(bm(e)),n=typeof t?.action==`string`?t.action:``;if(!t||typeof t.ok!=`boolean`||!n||typeof t.output!=`string`)return null;let r=$(t.data);return r?vg(r,Q(t,[`output`])):typeof t.output==`string`?t.output.trim():``}function vg(e,t=null){let n=[Q(e,[`stdout`])?.replace(/\r\n/g,`
|
|
28
|
+
`).trimEnd()??``,Q(e,[`stderr`])?.replace(/\r\n/g,`
|
|
29
|
+
`).trimEnd()??``].filter(Boolean);return n.length>0?n.join(`
|
|
30
|
+
`):t?.replace(/\r\n/g,`
|
|
31
|
+
`).trim()??``}function yg(e){return/^(Chunk ID|Exit code):/m.test(e)&&/Wall time:/m.test(e)}function bg(e,t){let n=e??``;return n?n===t||n.includes(t)?n:t.includes(n)?Rm(t):Rm(`${n}${n.endsWith(`
|
|
32
|
+
`)||t.startsWith(`
|
|
33
|
+
`)?``:`
|
|
34
|
+
`}${t}`):Rm(t)}function xg(e){let t=$(e.data),n=e.action===`update_plan`?t?.plan??$(e.args)?.plan:void 0;if(!Array.isArray(n))return;let r=[];for(let e of n){let t=$(e),n=t?.content??t?.step;if(typeof n!=`string`||![`pending`,`in_progress`,`completed`].includes(String(t?.status)))return;r.push({content:n,status:t.status,...typeof t?.id==`string`?{id:t.id}:{},...typeof t?.activeForm==`string`?{activeForm:t.activeForm}:{}})}return r}var Sg=/\bopenpond\s+opchat\b/i,Cg=/\b(?:50[0-9]|52[0-9]|53[0-9])\b|bad\s+gateway|gateway\s+timeout|service\s+unavailable/i;function wg(e){let t=e?.trim()||`Turn failed`;return Sg.test(t)&&Cg.test(t)?`Server connection lost. Retry your message.`:t}function Tg(e,t){if((Eg(t,`code`)??Eg(t,`errorCode`))===`opchat_quota_exceeded`)return`opchat_quota_exceeded`;let n=t&&typeof t==`object`?t.error:null;if(n&&typeof n==`object`&&(Eg(n,`code`)??Eg(n,`errorCode`))===`opchat_quota_exceeded`)return`opchat_quota_exceeded`;let r=e??``;return/\bopchat_quota_exceeded\b/i.test(r)||/OpChat token allowance is exhausted/i.test(r)?`opchat_quota_exceeded`:null}function Eg(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim()?n.trim():null}function Dg(e){let t=new Map,n=new Set;for(let r of e)r.turnId&&(r.role===`assistant`&&r.content?.trim()&&t.set(r.turnId,r.content),(r.role===`error`||r.role===`status_divider`&&r.statusState!==`running`||r.role===`activity_group`&&r.traceState!==`running`)&&n.add(r.turnId));for(let r of e){if(r.role!==`activity_group`||!r.turnId||r.activities?.some(e=>e.subagentMessage))continue;let e=Og(r.activities??[]);if(e.length===0){r.deliverables=void 0;continue}let i=t.get(r.turnId)??``,a=i?kg(e,i):[];r.deliverables=a.length>0?a:n.has(r.turnId)?[e[e.length-1]]:void 0}}function Og(e){let t=new Set(e.map(e=>e.imagePreview?.path).filter(e=>!!e)),n=new Map;for(let r of e)if(!r.imagePreview)for(let e of r.artifacts??[])t.has(e.path)||(n.delete(e.path),n.set(e.path,e));return[...n.values()]}function kg(e,t){let n=Mg(t);return e.filter(e=>Ag(e).some(e=>t.includes(e)||n.includes(e)))}function Ag(e){let t=new Set;for(let n of[e.path,e.title,jg(e.path)]){let e=n.trim();e&&(t.add(e),t.add(Mg(e)))}return[...t]}function jg(e){return e.replace(/\\/g,`/`).split(`/`).filter(Boolean).at(-1)??e}function Mg(e){try{return decodeURIComponent(e)}catch{return e}}var Ng=8;function Pg(e){if(e.name!==`tool.completed`||e.status===`failed`||e.action!==`web_search`&&e.action!==`web_fetch`)return[];let t=Ig(e.data),n=e.output?Ig(bm(e.output)):null;return Lg(t??n)}function Fg(e,t){if(t.length===0)return e;let n=[],r=new Set;for(let i of[...e??[],...t]){let e=Bg(i.url);if(e&&!r.has(e)&&(r.add(e),n.push(i),n.length>=Ng))break}return n.length>0?n:void 0}function Ig(e,t=0){if(t>5)return null;let n=$(e);if(!n)return null;let r=Array.isArray(n.results)?n.results:Array.isArray(n.items)?n.items:Q(n,[`url`])?[n]:null;if(r)return{provider:Q(n,[`provider`]),results:r};for(let e of[`result`,`data`,`output`]){let r=Ig(n[e],t+1);if(r)return r}return null}function Lg(e){if(!e)return[];let t=[],n=new Set;for(let r=0;r<e.results.length;r+=1){let i=Rg(e.results[r],r,e.provider);if(!i)continue;let a=Bg(i.url);if(a&&!n.has(a)&&(n.add(a),t.push(i),t.length>=Ng))break}return t}function Rg(e,t,n){let r=$(e);if(!r)return null;let i=Q(r,[`url`,`href`]);if(!i||!zg(i))return null;let a=Q(r,[`title`])??Ug(i)??`Source ${t+1}`;return{id:Q(r,[`id`])??`source_${t+1}`,title:a,url:i,sourceName:Q(r,[`sourceName`,`source_name`,`source`])??Ug(i),snippet:Q(r,[`snippet`,`description`]),provider:n,faviconUrl:Vg(Q(r,[`faviconUrl`,`favicon_url`,`iconUrl`,`icon_url`]))??Hg(i),publishedAt:Q(r,[`publishedAt`,`published_at`]),updatedAt:Q(r,[`updatedAt`,`updated_at`])}}function zg(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Bg(e){try{let t=new URL(e);return t.hash=``,t.toString()}catch{return null}}function Vg(e){if(!e)return null;try{let t=new URL(e);return t.protocol!==`http:`&&t.protocol!==`https:`?null:t.toString()}catch{return null}}function Hg(e){try{return new URL(`/favicon.ico`,e).toString()}catch{return null}}function Ug(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function Wg(e){let t=$(e.data),n=da.safeParse(t?.input);if(!n.success||n.data.senderKind===`user`)return null;let r=n.data,i=$(t?.delivery);if(r.senderKind===`ponder`){let t=wt.safeParse($(r.payload.ponderDesktop)?.operation),n=$(i?.peer);return!t.success||r.senderSessionId!==null||e.sessionId!==r.sessionId||n?.kind!==`ponder`||n.bindingId!==t.data.origin.scope.bindingId?null:{id:`task-input:${r.id}:received`,role:`task_message`,content:r.body,timestamp:r.createdAt,turnId:r.turnId??void 0,taskMessage:{input:r,direction:`received`,peer:{kind:`ponder`,bindingId:t.data.origin.scope.bindingId,ponderScope:t.data.origin.scope,sessionId:``,title:`Pal`,provider:`openpond`}}}}if(!r.senderSessionId)return null;let a=i?.direction===`sent`&&e.sessionId===r.senderSessionId;if(!a&&e.sessionId!==r.sessionId)return null;let o=a?r.sessionId:r.senderSessionId,s=$(i?.peer),c=s?.sessionId===o;return{id:`task-input:${r.id}:${a?`sent`:`received`}`,role:`task_message`,content:r.body,timestamp:r.createdAt,turnId:a?void 0:r.turnId??void 0,taskMessage:{input:r,direction:a?`sent`:`received`,peer:{sessionId:o,title:c&&typeof s.title==`string`?s.title:`Another task`,provider:c&&typeof s.provider==`string`?s.provider:``}}}}function Gg(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.every(e=>typeof $(e)?.text==`string`)?e.map(e=>$(e).text).join(`
|
|
35
|
+
`):JSON.stringify(e);let t=$(e);return typeof t?.text==`string`?t.text:e==null?``:JSON.stringify(e)}function Kg(e,t){let n=$(e.data);if(!n?.retainedHistory||e.action!==`native_tool`||![`tool.started`,`tool.completed`].includes(e.name))return e;let r=$(n.content)??{},i=e.name===`tool.started`,a=typeof n.callId==`string`?n.callId:null,o=i&&typeof r.name==`string`?r.name:(a?t.get(a):void 0)??`native_tool`;i&&a&&t.set(a,o);let s=r.input??r.arguments;if(typeof s==`string`)try{s=JSON.parse(s)}catch{s={input:s}}let c=r.error||(r.is_error===!0?r.content:null);return{...e,action:o,status:i?`started`:c!=null||r.status===`error`?`failed`:`completed`,...i?{args:$(s)??{}}:{output:Gg(r.output??r.content??n.content),...c==null?{}:{error:Gg(c)}}}}function qg(e,t,n){let r=$(n.data),i=n.name===`assistant.delta`&&r?.phase===`final_answer`&&r.nativeMessageSnapshot===!0,a=(n.name===`assistant.delta`||n.name===`assistant.reasoning.delta`)&&(r?.phase===`commentary`||r?.phase===`reasoning`);if(!i&&!a||typeof r?.nativeMessageId!=`string`||!n.output)return null;let o=r.nativeMessageId,s=t.get(o);s||(s={message:{id:o,role:`assistant`,turnId:n.turnId,timestamp:n.timestamp},finalized:!1},t.set(o,s),e.push(s.message));let{message:c}=s;if(i){s.finalized=!0,c.content=n.output,delete c.reasoningContent;let t=e.indexOf(c);t!==e.length-1&&(e.splice(t,1),e.push(c))}else s.finalized||(r.phase===`commentary`?c.content=`${c.content??``}${n.output}`:c.reasoningContent=`${c.reasoningContent??``}${n.output}`);return c.timestamp=n.timestamp,c}var Jg=new WeakMap;function Yg(e){let t=Jg.get(e);if(t)return t;let n=Xg(e);return Jg.set(e,n),n}function Xg(e){let t=[],n=new Set,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map;for(let c of e){let e=Kg(c,a);if(e.source===`server`&&$(e.data)?.chatResource)continue;if(e.name===`visual.published`){let n=vm.safeParse($(e.data)?.visual);n.success&&n.data.sessionId===e.sessionId&&!t.some(e=>e.id===n.data.publicationId)&&(Sh(t,e),t.push({id:n.data.publicationId,role:`visual`,visual:n.data,timestamp:e.timestamp,turnId:e.turnId}));continue}if(e.name===`task.input`){let i=Wg(e);if(i){let e=r.get(i.id);if(!e)r.set(i.id,i),t.push(i);else{let t=i.taskMessage.input,n=e.taskMessage.input;(t.revision>n.revision||t.revision===n.revision&&t.updatedAt>=n.updatedAt)&&Object.assign(e,i)}continue}let a=da.safeParse($(e.data)?.input);a.success&&a.data.senderKind===`user`&&a.data.kind===`steer`&&!n.has(a.data.id)&&(n.add(a.data.id),t.push({id:`task-input:${a.data.id}`,role:`user`,content:a.data.body,attachments:r_({attachments:a.data.payload.attachmentSummaries??a.data.payload.attachments}),timestamp:e.timestamp,turnId:a.data.turnId??void 0,interactionKind:`steer`}));continue}if(e.name===`turn.started`){e.turnId&&o.set(e.turnId,e.timestamp),Sh(t,e),Zg(t,e);let n=n_(e.args);if(n){let i=$(e.args)?.taskInputId,a=typeof i==`string`?r.get(`task-input:${i}:received`):null;if(a?.taskMessage?.input.kind===`followup`){a.turnId=e.turnId;continue}let o=$(e.data),s=e.source===`provider`&&o?.retainedHistory===!0&&o.nativeProvider===`claude-code`?fm(n):null;if(s){t.push({id:e.id,role:`assistant`,nativeTaskNotification:s,timestamp:e.timestamp,turnId:e.turnId});continue}let c=eh(n);if(c){xh(t,{...e,name:c.kind===`turn_aborted`?`turn.interrupted`:`diagnostic`,source:`provider`,output:c.text,data:{...$(e.data),kind:c.kind}});continue}t.push({id:e.id,role:`user`,content:n,...$(e.args)?.interactionKind===`steer`?{interactionKind:`steer`}:{},attachments:r_(e.args),timestamp:e.timestamp,turnId:e.turnId});let l=i_(e.args);l&&t.push({id:`${e.id}:create-improve`,role:`assistant`,timestamp:e.timestamp,turnId:e.turnId,createImproveRun:l})}continue}if(e.name===`create_improve.updated`){let n=i_(e.data);if(!n)continue;let r=xm(t,t=>t.turnId===e.turnId&&!!t.createImproveRun);r?(r.createImproveRun=n,r.timestamp=e.timestamp):t.push({id:`${e.id}:create-improve`,role:`assistant`,timestamp:e.timestamp,turnId:e.turnId,createImproveRun:n});continue}let l=qg(t,s,e);if(l)Sh(t,e),l.sources=Fg(l.sources,$g(i,e.turnId)??[]);else if(e.name===`assistant.delta`){let n=e.output??``;if(!n)continue;Sh(t,e);let r=$(e.data);if(r?.retainedHistory===!0&&typeof r.nativeMessageId==`string`){let i=r.nativeMessageId,a=t.find(e=>e.id===i);a?(a.content=n,a.timestamp=e.timestamp):t.push({id:i,role:`assistant`,content:n,timestamp:e.timestamp,turnId:e.turnId});continue}let a=t[t.length-1];if(a?.role===`assistant`&&a.turnId===e.turnId&&!a.createImproveRun)a.content=`${a.content??``}${n}`,a.timestamp=e.timestamp,a.sources=Fg(a.sources,$g(i,e.turnId)??[]);else{let r=$g(i,e.turnId);t.push({id:e.id,role:`assistant`,content:n,timestamp:e.timestamp,turnId:e.turnId,...r?.length?{sources:r}:{}})}}else if(e.name===`assistant.reasoning.delta`){let n=e.output??``;if(!n)continue;Sh(t,e);let r=t[t.length-1];r?.role===`assistant`&&r.turnId===e.turnId&&r.reasoningContent!==void 0&&!r.createImproveRun?(r.reasoningContent=`${r.reasoningContent}${n}`,r.timestamp=e.timestamp):r?.role===`assistant`&&r.turnId===e.turnId&&!r.reasoningContent&&!r.createImproveRun?(r.reasoningContent=n,r.timestamp=e.timestamp):t.push({id:e.id,role:`assistant`,reasoningContent:n,timestamp:e.timestamp,turnId:e.turnId})}else if(e.name===`user_question.asked`){let n=$(e.data),r=sr.safeParse(n?.question);if(!r.success)continue;t.push({id:e.id,role:`assistant`,timestamp:e.timestamp,turnId:e.turnId,userQuestion:r.data})}else if(e.name===`user_question.answered`||e.name===`user_question.dismissed`){let n=$(e.data),r=cr.safeParse(n?.resolution);if(!r.success)continue;let i=xm(t,e=>e.userQuestion?.id===r.data.questionId);if(!i?.userQuestion||i.userQuestion.status!==`pending`)continue;i.userQuestion={...i.userQuestion,status:r.data.action===`answer`?`answered`:`dismissed`,answer:r.data.action===`answer`?{optionId:r.data.optionId,text:r.data.text}:null,answeredAt:e.timestamp},i.timestamp=e.timestamp}else if(e.name===`turn.completed`){let n=xm(t,t=>t.role===`assistant`&&t.turnId===e.turnId&&!!t.content?.trim());n&&(n.finalAnswer=!0,n.turnStartedAt=e.turnId?o.get(e.turnId):void 0,n.turnCompletedAt=e.timestamp),wh(t,e,`completed`)}else if(e.name===`turn.failed`){wh(t,e,`failed`);let n=e.error??`Turn failed`,r=Tg(n,e.data);t.push({id:e.id,role:`error`,content:wg(n),...r?{errorKind:r}:{},timestamp:e.timestamp,turnId:e.turnId})}else if(e.name===`turn.interrupted`)Th(t,e);else if(Oh(e))kh(t,e);else if(e.name.startsWith(`harness.refiner.`))ah(t,e);else{if(e.name===`tool.started`||e.name===`tool.completed`||e.name===`skill.selected`||e.name===`skill.loaded`||e.name===`skill.load_failed`||e.name===`command.output`||e.name===`workspace_action`||e.name===`workspace_action_result`||e.name===`approval.requested`||e.name.startsWith(`subagent.`)||nh(e)){if(e_(e))continue;let n=Em(e);if(n){Tm(t,e,n);continue}let r=Pg(e);r.length>0&&Qg(t,i,e.turnId,r),xh(t,e)}if(e.name===`workspace.diff`){let n=t_(e.data);if(!n||n.filesChanged===0)continue;let r=xm(t,t=>t.role===`assistant`&&t.turnId===e.turnId);r&&(r.changeSummary=n,r.timestamp=e.timestamp)}}}return Dg(t),wm(t,e)}function Zg(e,t){if($(t.args)?.interactionKind!==`steer`)return;let n=e.at(-1);n?.role===`status_divider`&&n.statusKind===`interruption`&&n.content===`Stopped by user`&&e.pop()}function Qg(e,t,n,r){if(!n)return;let i=e[e.length-1];i?.role!==`assistant`||i.turnId!==n?t.set(n,Fg(t.get(n),r)):i.sources=Fg(i.sources,r)}function $g(e,t){if(!t)return;let n=e.get(t);return n&&e.delete(t),n}function e_(e){if(e.name!==`approval.requested`)return!1;if(e.action===`create_plan`)return!0;let t=$(e.data),n=$(t?.approval);return t?.kind===`create_plan`||n?.kind===`create_plan`}function t_(e){let t=Vr.safeParse(e);return t.success?t.data:null}function n_(e){if(!e||typeof e!=`object`||!(`prompt`in e))return``;let t=e.prompt;return typeof t==`string`?t:``}function r_(e){if(!e||typeof e!=`object`||!(`attachments`in e))return;let t=Fe.array().safeParse(e.attachments);return t.success&&t.data.length>0?t.data:void 0}function i_(e){let t=$(e);if(!t)return null;let n=Ie.safeParse(t.createImproveRun);return n.success?n.data:null}function a_(e){if(!e)return``;let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<48?`${i}h`:`${Math.floor(i/24)}d`}function o_(e){let t=c_(e);return t?t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}):``}function s_(e){let t=c_(e);return t?t.toLocaleString():``}function c_(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function l_(e){let{chatMessages:t,runtimeIndexes:n,selectedSessionId:r}=e,[i,a]=(0,Y.useState)({}),o=(0,Y.useCallback)(e=>{a(t=>({...t,[e.sessionId]:e}))},[]);return(0,Y.useEffect)(()=>{a(e=>{let t=e;for(let[r,i]of Object.entries(e)){let a=Yg($d(n,r));nn(a,i)&&(t===e&&(t={...e}),delete t[r])}return t})},[n]),{pendingChatUserMessages:i,recordPendingChatUserMessage:o,visibleChatMessages:(0,Y.useMemo)(()=>an(t,r?i[r]:null),[t,i,r])}}function u_({connection:e,selectedSession:t,setBootstrap:n,setError:r,setOpenPondCommandAccessMode:i,setSessions:a}){return{changeOpenPondCommandAccessMode:(0,Y.useCallback)((o,s=t)=>{if(!e){r(`Connect to OpenPond before saving preferences.`);return}let c=s?.provider===`codex`?null:s;Z.savePreferences(e,{openPondCommandAccessMode:o}).then(e=>{i(e.preferences.openPondCommandAccessMode),n(t=>t&&{...t,preferences:e.preferences})}).catch(e=>{r(e instanceof Error?e.message:String(e))}),c&&Z.patchSession(e,c.id,{openPondCommandAccessMode:o}).then(e=>{a(t=>t.map(t=>t.id===e.id?e:t))}).catch(e=>{r(e instanceof Error?e.message:String(e))})},[e,t,n,r,i,a])}}function d_({localProjects:e,cloudProjects:t,teamId:n,sessions:r,runtimeIndexes:i,appPreferences:a,selectedSessionId:o,selectedProjectId:s,archivedChatsOpen:c,projectsExpanded:l,chatRowsVisibleCount:u,sidebarFileBookmarks:d=[]}){let f=(0,Y.useMemo)(()=>e.filter(e=>!e.hiddenFromDefaultSidebar),[e]),p=(0,Y.useMemo)(()=>r.filter(e=>!e.archived&&f_(e)),[r]),m=(0,Y.useMemo)(()=>p.filter(e=>e.pinned),[p]),h=(0,Y.useMemo)(()=>p.filter(e=>!!e.savedForLater),[p]),g=(0,Y.useMemo)(()=>r.filter(e=>e.archived&&f_(e)),[r]),_=(0,Y.useMemo)(()=>new Set(e.map(e=>e.id)),[e]),v=(0,Y.useMemo)(()=>new Set(t.map(e=>e.id)),[t]),y=(0,Y.useMemo)(()=>vl(e),[e]),b=(0,Y.useMemo)(()=>{let e={};for(let t of r){let n=bl(t,_,y,v);n&&(e[t.id]=n)}let t=new Map(r.map(e=>[e.id,e]));for(let n of r){if(e[n.id])continue;let r=new Set([n.id]),i=n.parentSessionId;for(;i&&!r.has(i);){if(e[i]){e[n.id]=e[i];break}r.add(i),i=t.get(i)?.parentSessionId}}return e},[r,v,_,y]),x=(0,Y.useMemo)(()=>p.filter(e=>!e.pinned&&!e.savedForLater&&!e.appId&&!b[e.id]),[p,b]),S=(0,Y.useMemo)(()=>g.filter(e=>!e.appId&&!bl(e,_,y,v)),[g,v,_,y]),C=(0,Y.useMemo)(()=>{let e={};for(let t of p){if(t.pinned||t.savedForLater)continue;let n=b[t.id];if(!n)continue;let r=e[n];r?r.push(t):e[n]=[t]}return e},[p,b]),w=(0,Y.useMemo)(()=>{let e={};for(let t of r){if(!p_(t))continue;let n=e[t.parentSessionId];n?n.push(t):e[t.parentSessionId]=[t]}for(let t of Object.values(e))t.sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt));return e},[r]),T=(0,Y.useMemo)(()=>f.map((e,n)=>{let r=U(`local`,e.id),i=yf(e,t);return{id:r,kind:`local`,project:e,pinned:!!a[r]?.pinned,order:a[r]?.order??n,cloudLinkTrusted:!i,cloudLinkWarning:i}}).sort(m_),[a,t,f]),E=(0,Y.useMemo)(()=>t.filter(e=>!!n&&e.teamId===n).map((e,t)=>{let n=U(`cloud`,e.id);return{id:n,kind:`cloud`,project:e,pinned:!!a[n]?.pinned,order:a[n]?.order??t,cloudLinkTrusted:!0,cloudLinkWarning:null}}).sort(m_),[a,t,n]),D=(0,Y.useMemo)(()=>new Set(f.map(e=>vf(e,t)?.id??null).filter(e=>!!e)),[t,f]),O=(0,Y.useMemo)(()=>E.filter(e=>!D.has(e.project.id)),[E,D]),k=(0,Y.useMemo)(()=>[...T,...O].sort(m_),[O,T]),A=(0,Y.useMemo)(()=>k.filter(e=>e.pinned),[k]),j=(0,Y.useMemo)(()=>d.filter(e=>e.status===`pinned`),[d]),M=(0,Y.useMemo)(()=>d.filter(e=>e.status===`saved_for_later`),[d]),ee=k,N=(0,Y.useMemo)(()=>h_(ee,l,s),[ee,l,s]),te=(0,Y.useMemo)(()=>[...A.map(e=>({type:`project`,key:ve({type:`project`,id:e.id}),id:e.id,item:e,order:e.order})),...m.map(e=>({type:`session`,key:ve({type:`session`,id:e.id}),id:e.id,session:e,order:e.order})),...j.map((e,t)=>({type:`file`,key:ve({type:`file`,id:e.id}),id:e.id,file:e,order:e.order??A.length+m.length+t}))].sort((e,t)=>{if(e.order!==t.order)return e.order-t.order;if(e.type!==t.type){let n={project:0,session:1,file:2};return n[e.type]-n[t.type]}let n=e.type===`project`?e.item.project.name:e.type===`session`?e.session.title:e.file.path,r=t.type===`project`?t.item.project.name:t.type===`session`?t.session.title:t.file.path;return n.localeCompare(r)}),[j,A,m]),P=(0,Y.useMemo)(()=>c?[...x,...S]:x,[c,S,x]),F=(0,Y.useMemo)(()=>P.slice(0,Math.max(15,u)),[P,u]),I=(0,Y.useMemo)(()=>$d(i,o),[i,o]);return{activeSessions:p,pinnedSessions:m,savedForLaterSessions:h,pinnedFiles:j,savedForLaterFiles:M,chatSessions:x,archivedSessions:g,pinnedProjects:A,pinnedItems:te,projectRows:ee,localProjectRows:T,visibleProjectRows:N,cloudProjectRows:O,projectSessionRowsByProjectId:C,childSessionRowsByParentId:w,sidebarProjectIdBySessionId:b,chatRows:P,visibleChatRows:F,sessionEvents:I,chatMessages:(0,Y.useMemo)(()=>Yg(I),[I]),contextUsage:ef(i,o),goalRuntime:tf(i,o),subagentRuntime:nf(i,o)}}function f_(e){return p_(e)?!1:!e.hiddenFromDefaultSidebar||e.metadata?.benchmarkRuntime===`desktop_local_work`}function p_(e){return!!(e.parentSessionId&&e.subagentRunId)}function m_(e,t){return e.pinned===t.pinned?e.order===t.order?e.project.name.localeCompare(t.project.name):e.order-t.order:e.pinned?-1:1}function h_(e,t,n){if(t||e.length<=5)return e;let r=e.slice(0,5);if(!n||r.some(e=>e.id===n))return r;let i=e.find(e=>e.id===n);return i?[...r.slice(0,4),i]:r}function g_(e){return e.name===`turn.completed`||e.name===`turn.failed`||e.name===`turn.interrupted`}function __(e){let t=-1,n=null;for(let r=e.length-1;r>=0;--r){let i=e[r];if(i?.name===`turn.started`){t=r,n=i.turnId??null;break}}if(t===-1)return`none`;for(let r=e.length-1;r>t;--r){let t=e[r];if(t&&g_(t)&&!(n&&t.turnId&&t.turnId!==n))return t.name===`turn.completed`?`completed`:`blocked`}return`pending`}function v_(e,t){if(e.systemKind)return!1;let n=$d(t,e.id);if(n.length===0)return!1;let r=__(n);return r===`pending`||r===`none`&&b_(n)===`pending`}function y_(e,t){if(e.systemKind||e.status!==`active`)return!1;let n=$d(t,e.id);if(n.length===0)return!0;let r=__(n);return r===`pending`||r===`none`&&b_(n)!==`terminal`}function b_(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n){if(n.name===`turn.completed`||n.name===`turn.failed`||n.name===`turn.interrupted`)return`terminal`;if(n.name===`assistant.delta`||n.name===`assistant.reasoning.delta`||n.name===`tool.started`||n.name===`tool.completed`||n.name===`skill.selected`||n.name===`skill.loaded`||n.name===`skill.load_failed`||n.name===`approval.requested`||n.name===`approval.resolved`||n.name===`command.output`||n.name===`workspace_action`||n.name===`workspace_action_result`)return`pending`}}return`none`}function x_({goalRuntime:e,goalRuntimeBySessionId:t,runtimeIndexes:n,selectedSession:r,selectedSessionId:i,sidebarSessions:a,subagentRuntimeBySessionId:o}){let s=(0,Y.useMemo)(()=>new Map(a.map(e=>[e.id,e])),[a]),c=(0,Y.useMemo)(()=>{let a=new Set;for(let[e,n]of t??[]){let t=s.get(e);n.tone===`active`&&!t?.systemKind&&a.add(e)}for(let e of n.activeGoalSessionIds)s.get(e)?.systemKind||a.add(e);return i&&!r?.systemKind&&e?.tone===`active`&&a.add(i),a},[e,t,n,r,i,s]),l=(0,Y.useMemo)(()=>{let e=new Set(c);for(let[t,n]of o??[]){let r=s.get(t);n.activeCount>0&&!r?.systemKind&&e.add(t)}for(let t of n.activeSubagentSessionIds)s.get(t)?.systemKind||e.add(t);for(let t of a)t.systemKind||v_(t,n)&&e.add(t.id);return r&&v_(r,n)&&e.add(r.id),e},[c,n,r,a,s,o]);return{runningSessionIds:(0,Y.useMemo)(()=>{let e=new Set(l);for(let t of a)y_(t,n)&&e.add(t.id);return r&&y_(r,n)&&e.add(r.id),e},[l,n,r,a]),selectedSessionRunning:!!(r&&!r.systemKind&&l.has(r.id))}}function S_(e){let{codexHistoryEvents:t,codexHistorySessions:n,connection:r,expandedProjectIds:i,goalRuntime:a,locallyActiveCodexHistorySessionIds:o,pinnedSessions:s,savedForLaterSessions:c,projectSessionRowsByProjectId:l,rightChatHistoryEvents:u,runtimeIndexes:d,selectedSession:f,selectedSessionId:p,serverId:m,setCodexHistorySessions:h,sidebarSessions:g,subagentRuntime:_,visibleChatRows:v,visibleProjectRows:y}=e,[b,x]=(0,Y.useState)({});(0,Y.useEffect)(()=>{x({})},[m]);let S=(0,Y.useMemo)(()=>{let e=[],t=new Set,r=n=>{n&&n.id!==p&&_l(n.id)&&!t.has(n.id)&&(t.add(n.id),e.push(n.id))};for(let e of n)(e.status===`active`||o.has(e.id))&&r(e);let a=e.length;for(let e of y)for(let t of(l[e.id]??[]).slice(0,2))r(t);for(let e of i)for(let t of(l[e]??[]).slice(0,5))r(t);for(let e of s)r(e);for(let e of c)r(e);for(let e of v)r(e);return[...e.slice(0,a),...e.slice(a,a+8)].join(`
|
|
36
|
+
`)},[n,i,o,s,c,l,p,v,y]),C=(0,Y.useCallback)(e=>{x(t=>t[e.session.id]===e.events?t:{...t,[e.session.id]:e.events}),h(t=>jp(t,e.session))},[h]),w=(0,Y.useMemo)(()=>{if(!S)return``;let e=new Set(S.split(`
|
|
37
|
+
`).filter(Boolean));return g.filter(t=>e.has(t.id)&&t.status===`active`).map(e=>e.id).join(`
|
|
38
|
+
`)},[S,g]),T=(0,Y.useMemo)(()=>S?S.split(`
|
|
39
|
+
`).filter(e=>o.has(e)).join(`
|
|
40
|
+
`):``,[S,o]);(0,Y.useEffect)(()=>{f&&p&&_l(p)&&t.length!==0&&C({session:f,events:t})},[C,t,f,p]),(0,Y.useEffect)(()=>{if(!r||!S)return;let e=r,t=S.split(`
|
|
41
|
+
`).filter(Boolean),n=new Set(w.split(`
|
|
42
|
+
`).filter(Boolean)),i=new Set(T.split(`
|
|
43
|
+
`).filter(Boolean)),a=t.map(t=>am({connection:e,locallyActive:i.has(t),onPayload:e=>C(nm(e,i.has(t))),reportedActive:n.has(t),sessionId:t,surface:`sidebar`}));return()=>a.forEach(e=>e())},[C,w,T,S,r]);let E=(0,Y.useMemo)(()=>new Map(g.map(e=>[e.id,e])),[g]),D=(0,Y.useMemo)(()=>{let e=new Map(d.latestGoalRuntimeBySessionId);for(let t of g){let n=t.status===`active`?qt(t.metadata):null;n&&e.set(t.id,n)}for(let t of[b,u])for(let[n,r]of Object.entries(t)){let t=E.get(n),i=t?.status===`active`?qt(t.metadata):null,a=un(r)??Kt(r)??(t?.status===`active`?Lt(r)??i:null);a?e.set(n,a):e.delete(n)}if(p){if(a)e.set(p,a);else if(f?.status===`active`&&t.length>0){let n=un(t)??Lt(t)??qt(f.metadata);n?e.set(p,n):e.delete(p)}else(!_l(p)||t.length>0)&&e.delete(p)}return e},[t.length,b,a,u,d.latestGoalRuntimeBySessionId,f?.status,f?.metadata,p,E,g]),O=(0,Y.useMemo)(()=>[...D.values()].some(e=>e.tone===`active`&&!!e.observedAt),[D]),k=zt(O),A=(0,Y.useMemo)(()=>O?new Map([...D].map(([e,t])=>[e,Rt(t,k)??t])):D,[D,k,O]),j=p?A.get(p)??a:a,M=(0,Y.useMemo)(()=>{let e=new Map(d.latestSubagentRuntimeBySessionId);return p&&(_?e.set(p,_):e.delete(p)),e},[d.latestSubagentRuntimeBySessionId,p,_]),{runningSessionIds:ee,selectedSessionRunning:N}=x_({goalRuntime:j,goalRuntimeBySessionId:A,runtimeIndexes:d,selectedSession:f,selectedSessionId:p,sidebarSessions:g,subagentRuntimeBySessionId:M});return{goalRuntime:j,runningSessionIds:ee,selectedSessionRunning:N,sidebarGoalRuntimeBySessionId:A,sidebarSubagentRuntimeBySessionId:M}}function C_({searchOpen:e,sectionMenuOpen:t,setSectionMenuOpen:n,setSearchOpen:r,setQuery:i}){(0,Y.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&a.key.toLowerCase()===`k`?(a.preventDefault(),n(null),r(e=>!e)):a.key===`Escape`&&e?(a.preventDefault(),r(!1),i(``),n(null)):a.key===`Escape`&&t&&(a.preventDefault(),n(null))};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,i,r,n])}function w_({afterSequence:e,appendEvents:t,connection:n,setApprovals:r,setSessions:i,setError:a,onDisconnected:o}){(0,Y.useEffect)(()=>{if(!n?.token||e===null)return;let s=n,c=!1,l=null,u=[],d=null,f=null,p=!1,m=new Map,h=0;function g(){l!==null&&(window.clearTimeout(l),l=null)}function _(){a(e=>e===`Event stream disconnected`?null:e)}function v(){if(c)return;d=null;let e=u;if(u=[],e.length===0)return;h=Date.now(),t(e);for(let t of new Set(e.filter(e=>e.name===`workspace_action_result`&&e.action===`chat_resource`).map(e=>e.sessionId).filter(Boolean)))window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:t}}));let n=T_(e);n.length>0&&i(e=>n.reduce(Ap,e)),r(t=>{let n=t;for(let t of e)if(t.name===`approval.requested`&&t.data&&(n=[t.data,...n]),t.name===`approval.resolved`&&t.data&&typeof t.data==`object`){let e=t.data;e.approvalId&&(n=n.filter(t=>t.id!==e.approvalId))}return n})}function y(){let e=Date.now()-h;e>=16?(d!==null&&(window.clearTimeout(d),d=null),v()):d===null&&(d=window.setTimeout(v,16-e))}function b(e){c||(x(e),u.push(e),y())}function x(e){e.sessionId&&e.name.startsWith(`harness.refiner.`)&&(e.name===`harness.refiner.completed`||e.name===`harness.refiner.failed`?m.delete(e.sessionId):(e.name===`harness.refiner.queued`||e.name===`harness.refiner.started`)&&(m.set(e.sessionId,typeof e.sequence==`number`?e.sequence:0),S()))}function S(){c||f!==null||m.size===0||(f=window.setTimeout(()=>{f=null,C()},1e3))}async function C(){if(!(p||m.size===0)){p=!0;try{await Promise.all([...m].map(async([e,t])=>{let n=await Z.runtimeEventsPage(s,{sessionId:e,afterSequence:t,limit:100});if(!c)for(let t of n.events){let n=t.event;m.set(e,Math.max(m.get(e)??0,t.sequence)),b(n)}}))}catch{}finally{p=!1,S()}}}function w(){d!==null&&(window.clearTimeout(d),d=null),v()}document.addEventListener(`visibilitychange`,w);let T=Ca(n,e=>{c||(g(),_(),b(e))},()=>{c||(g(),l=window.setTimeout(()=>{T.isOpen()||(kt(s),o?.())},2e3))},()=>{c||(g(),_(),window.dispatchEvent(new Event(`openpond-runtime-connected`)),Et(s).error&&o?.())},{afterSequence:e});return()=>{c=!0,g(),d!==null&&window.clearTimeout(d),f!==null&&window.clearTimeout(f),d=null,f=null,u=[],document.removeEventListener(`visibilitychange`,w),T.close()}},[e,t,n,o,r,a,i])}function T_(e){let t=new Map;for(let n of e){let e=n.data;if(!e||typeof e!=`object`||Array.isArray(e))continue;let r=n.name===`session.started`||n.name===`session.updated`||n.name===`session.title.updated`?`session`:n.name===`subagent.started`||n.name===`subagent.failed`?`childSession`:null;if(!r)continue;let i=Ne.safeParse(e[r]);i.success&&t.set(i.data.id,i.data)}return[...t.values()]}function E_(e,t){return w({queryKey:[`training-navigation`,dn(e),t],queryFn:({signal:n})=>q(e,`/v1/training/navigation?profileId=${encodeURIComponent(t)}`,{signal:n}),enabled:!!e,staleTime:3e4,gcTime:3e5,refetchInterval:3e4,refetchIntervalInBackground:!1})}function D_(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function O_(e){return typeof e==`string`&&e.trim()?e.trim():null}function k_(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.name!==`create_improve.updated`)continue;let r=D_(D_(n.data)?.createImproveRun);if(r?.state!==`ready_local`&&r?.state!==`released`||D_(r.adapter)?.kind!==`local`)continue;let i=O_(r.id)??n.id;return[n.sessionId??`global`,n.turnId??`turn`,i].join(`:`)}return null}var A_=244,j_=560,M_=320,N_=2400,P_=440;function F_(e){let t=typeof window>`u`?j_:Math.min(j_,Math.max(A_,window.innerWidth-420));return Math.min(t,Math.max(A_,Math.round(e)))}function I_(e){let t=typeof window>`u`?N_:Math.min(N_,Math.max(M_,window.innerWidth-P_));return Math.min(t,Math.max(M_,Math.round(e)))}function L_(e,t){return!!(e&&e.serverUrl===t.serverUrl&&e.token===t.token&&e.platform===t.platform)}function R_(e,t){let{error:n}=Cu(e);(0,Y.useEffect)(()=>{if(!e||!n)return;let r=window.setInterval(t,5e3);return()=>window.clearInterval(r)},[e,n,t])}var z_=new Map;function B_(e,t){let n=e?.trim();return n?`${t?.trim()||`global`}|${n}`:null}function V_(e,t){let n=B_(e,t);if(!n)return null;let r=z_.get(n);return r?.updatedAt?r.agents:null}function H_(e,t,n){let r=B_(e,n);r&&z_.set(r,{agents:t,promise:null,updatedAt:Date.now()})}function U_(e){let t=e.teamId?.trim();if(!t)return Promise.resolve([]);let n=B_(t,e.accountKey);if(!n)return Promise.resolve([]);let r=z_.get(n);if(!e.force&&r?.updatedAt)return Promise.resolve(r.agents);if(r?.promise)return r.promise;let i=e.fetchAgents(t).then(r=>(z_.get(n)?.promise===i&&H_(t,r,e.accountKey),r)).catch(e=>{let t=z_.get(n);throw t?.promise===i&&z_.set(n,{agents:t.agents,promise:null,updatedAt:t.updatedAt}),e});return z_.set(n,{agents:r?.agents??[],promise:i,updatedAt:r?.updatedAt??0}),i}var W_=[`pinned`,`projects`,`cloudProjects`,`chats`,`savedForLater`];function G_(e,t,n,r=Date.now()){for(let i of Z_(t,n))Q_(t[i],n[i])||(e[i]=r)}function K_(e,t,n,r=Date.now()){let i={...t};for(let[a,o]of Object.entries(n)){if(r-o>6e4){delete n[a];continue}let s=ev(e,a),c=e[a];s&&!Q_(c,t[a])&&(i[a]=c)}return i}function q_(e,t,n,r=Date.now()){for(let i of W_)t[i]!==n[i]&&(e[i]=r)}function J_(e,t,n,r=Date.now()){let i={...t};for(let a of W_){let o=n[a];o!==void 0&&(r-o>6e4||e[a]===t[a]?delete n[a]:i[a]=e[a])}return $_(e,i)?e:i}function Y_(e,t,n=Date.now()){return e===t?null:{value:t,changedAt:n}}function X_(e,t,n=Date.now()){return!t||n-t.changedAt>6e4?{value:e,localChange:null}:e===t.value?{value:e,localChange:t}:{value:t.value,localChange:t}}function Z_(e,t){return new Set([...Object.keys(e),...Object.keys(t)])}function Q_(e,t){return e?.pinned===t?.pinned&&e?.archived===t?.archived&&e?.order===t?.order}function $_(e,t){return W_.every(n=>e[n]===t[n])}function ev(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var tv=`\0openpond-unscoped-runtime-events`,nv=[],rv=class{perSessionLimit;totalLimit;entries=new Map;eventKeyById=new Map;listenersByKey=new Map;liveListeners=new Set;allListeners=new Set;summaryListeners=new Set;retainedKeys=new Set;allEventsSnapshot=nv;summaryEventsSnapshot=nv;clock=0;eventCount=0;constructor(e={}){if(this.perSessionLimit=lv(e.perSessionLimit??5e3,`perSessionLimit`),this.totalLimit=lv(e.totalLimit??5e4,`totalLimit`),this.totalLimit<this.perSessionLimit)throw Error(`totalLimit must be greater than or equal to perSessionLimit`)}appendLive(e){let t=e.filter(e=>!this.eventKeyById.has(e.id)),n=this.append(e);if(t.length)for(let e of this.liveListeners)e(t);return n}subscribeLive=e=>(this.liveListeners.add(e),()=>this.liveListeners.delete(e));append(e){if(e.length===0)return sv();let t=new Map,n=0;for(let r of e){if(this.eventKeyById.has(r.id)){n+=1;continue}let e=r.sessionId||tv,i=t.get(e);i?i.push(r):t.set(e,[r]),this.eventKeyById.set(r.id,e)}if(t.size===0)return{...sv(),duplicateEventCount:n};let r=new Set,i=0,a=0,o=!1;for(let[e,n]of t){n.some(uv)&&(o=!0);let t=this.entries.get(e),s=t?.snapshot.events??nv,c=Math.max(0,Math.min(s.length,this.perSessionLimit-n.length)),l=n.length>this.perSessionLimit?n.slice(n.length-this.perSessionLimit):n,u=c===s.length?s:s.slice(s.length-c),d=u.length===0?l:[...u,...l],f=s.slice(0,s.length-u.length);f.some(uv)&&(o=!0);for(let e of f)this.eventKeyById.delete(e.id);for(let e of n.slice(0,n.length-l.length))this.eventKeyById.delete(e.id);let p={eventIds:new Set(d.map(e=>e.id)),lastTouched:++this.clock,retained:t?.retained??this.retainedKeys.has(e),snapshot:{events:d,latestSequence:Dd(d),revision:(t?.snapshot.revision??0)+1}};this.entries.set(e,p),this.eventCount+=d.length-s.length,i+=l.length,a+=f.length+n.length-l.length,r.add(e)}let s=this.enforceTotalLimit(r);return a+=s,this.publish(r,o||s>0),ov({acceptedEventCount:i,duplicateEventCount:n,evictedEventCount:a,changedKeys:r})}mergeBootstrap(e){let t=av(e),n=new Set([...this.entries.keys(),...t.keys()]),r=[];for(let e of n){let n=t.get(e)??nv,i=this.entries.get(e)?.snapshot.events??nv;r.push(...Ed(n,i))}return this.replace(r)}replace(e){let t=new Set(this.eventKeyById.keys()),n=new Set(this.entries.keys());this.entries.clear(),this.eventKeyById.clear(),this.eventCount=0,this.allEventsSnapshot=nv,this.summaryEventsSnapshot=nv;let r=this.append(e);for(let e of this.retainedKeys){let t=this.entries.get(e);t&&(t.retained=!0)}let i=this.eventKeyById,a=0;for(let e of t)i.has(e)||(a+=1);let o=new Set([...n].filter(e=>!this.entries.has(e)));return o.size>0&&this.publish(o,!0),{...r,evictedEventCount:r.evictedEventCount+a,changedSessionIds:new Set([...r.changedSessionIds,...[...o].filter(e=>e!==tv)]),unscopedEventsChanged:r.unscopedEventsChanged||o.has(tv)}}clear(){if(this.entries.size===0)return;let e=new Set(this.entries.keys());this.entries.clear(),this.eventKeyById.clear(),this.eventCount=0,this.allEventsSnapshot=nv,this.summaryEventsSnapshot=nv,this.publish(e,!0)}retainSession(e,t=!0){t?this.retainedKeys.add(e):this.retainedKeys.delete(e);let n=this.entries.get(e);n&&(n.retained=t)}getSessionSnapshot=e=>e?this.entries.get(e)?.snapshot??iv:iv;getSessionEvents(e){return this.getSessionSnapshot(e).events}getAllEvents=()=>{if(this.allEventsSnapshot)return this.allEventsSnapshot;let e=[...this.entries.values()].flatMap(e=>e.snapshot.events);return e.sort(cv),this.allEventsSnapshot=e,e};getSummaryEvents=()=>(this.summaryEventsSnapshot||=this.getAllEvents(),this.summaryEventsSnapshot);getStats(){let e=0;for(let[t,n]of this.entries)t!==tv&&n.retained&&(e+=1);return{eventCount:this.eventCount,retainedSessionCount:e,sessionCount:this.entries.size-+!!this.entries.has(tv),perSessionLimit:this.perSessionLimit,totalLimit:this.totalLimit}}subscribeAll=e=>(this.allListeners.add(e),()=>this.allListeners.delete(e));subscribeSummary=e=>(this.summaryListeners.add(e),()=>this.summaryListeners.delete(e));subscribeSession(e,t){let n=this.listenersByKey.get(e);return n||(n=new Set,this.listenersByKey.set(e,n)),n.add(t),()=>{n?.delete(t),n?.size===0&&this.listenersByKey.delete(e)}}enforceTotalLimit(e){let t=0;for(;this.eventCount>this.totalLimit&&this.entries.size>0;){let n=this.oldestEvictionCandidate(!1)??this.oldestEvictionCandidate(!0);if(!n)break;let[r,i]=n,a=this.eventCount-this.totalLimit;if(!i.retained||i.snapshot.events.length<=a){t+=i.snapshot.events.length,this.removeEntry(r),e.add(r);continue}let o=i.snapshot.events.slice(0,a),s=i.snapshot.events.slice(a);for(let e of o)this.eventKeyById.delete(e.id);i.eventIds=new Set(s.map(e=>e.id)),i.snapshot={events:s,latestSequence:Dd(s),revision:i.snapshot.revision+1},this.eventCount-=o.length,t+=o.length,e.add(r)}return t}oldestEvictionCandidate(e){let t=null;for(let n of this.entries)(e||!n[1].retained)&&(!t||n[1].lastTouched<t[1].lastTouched)&&(t=n);return t}removeEntry(e){let t=this.entries.get(e);if(t){for(let e of t.snapshot.events)this.eventKeyById.delete(e.id);this.eventCount-=t.snapshot.events.length,this.entries.delete(e)}}publish(e,t=!1){if(e.size!==0){this.allEventsSnapshot=null,t&&(this.summaryEventsSnapshot=null);for(let t of e)for(let e of this.listenersByKey.get(t)??[])e();for(let e of this.allListeners)e();if(t)for(let e of this.summaryListeners)e()}}},iv=Object.freeze({events:nv,latestSequence:null,revision:0});function av(e){let t=new Map;for(let n of e){let e=n.sessionId||tv,r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function ov(e){return{acceptedEventCount:e.acceptedEventCount,duplicateEventCount:e.duplicateEventCount,evictedEventCount:e.evictedEventCount,changedSessionIds:new Set([...e.changedKeys].filter(e=>e!==tv)),unscopedEventsChanged:e.changedKeys.has(tv)}}function sv(){return{acceptedEventCount:0,duplicateEventCount:0,evictedEventCount:0,changedSessionIds:new Set,unscopedEventsChanged:!1}}function cv(e,t){if(e.sequence!==void 0&&t.sequence!==void 0)return e.sequence-t.sequence;let n=Date.parse(e.timestamp)-Date.parse(t.timestamp);return Number.isFinite(n)&&n!==0?n:e.id.localeCompare(t.id)}function lv(e,t){if(!Number.isInteger(e)||e<=0)throw Error(`${t} must be a positive integer`);return e}function uv(e){return e.name!==`assistant.delta`&&e.name!==`assistant.reasoning.delta`&&e.name!==`command.output`}var dv=256,fv=15e3,pv=5e3,mv=3e4,hv=new class{options;entries=new Map;connection=null;accountScope=null;generation=0;constructor(e={}){this.options=e}activateConnection(e){_v(this.connection,e)||(this.connection=e,this.clear())}activateAccountScope(e){e!==this.accountScope&&(this.accountScope=e,this.clear())}get(e){let t=this.now(),n=this.entries.get(e);return n?this.expired(n,t)?(this.entries.delete(e),null):(n.lastAccessedAt=t,vv(this.entries,e,n),n.state===`ready`?n.url:null):null}load(e,t){let n=this.get(e);if(n)return Promise.resolve(n);let r=this.now(),i=this.entries.get(e);if(i?.state===`loading`&&!this.expired(i,r))return i.promise;if(i?.state===`failed`&&!this.expired(i,r))return Promise.resolve(null);let a=this.generation,o=t().then(t=>this.generation===a?(this.entries.set(e,{state:`ready`,url:t.url,expiresAt:t.expiresAt,lastAccessedAt:this.now()}),this.prune(),t.url):null).catch(()=>{if(this.generation!==a)return null;let t=this.now();return this.entries.set(e,{state:`failed`,expiresAt:t+(this.options.failureTtlMs??pv),lastAccessedAt:t}),this.prune(),null});return this.entries.set(e,{state:`loading`,promise:o,expiresAt:r+(this.options.loadingTtlMs??mv),lastAccessedAt:r}),this.prune(),o}clear(){this.generation+=1,this.entries.clear()}watch(e,t,n){let r=!1,i=0,a=0,o,s=async(c=!1)=>{if(r)return;let l=++i;clearTimeout(o),c&&this.entries.get(e)?.state!==`loading`&&this.entries.delete(e);let u=this.get(e);n({url:u,status:u?`ready`:`loading`});let d=await this.load(e,t);if(r||l!==i)return;if(n({url:d,status:d?`ready`:`error`}),!d){++a<=3&&(o=setTimeout(()=>void s(),[5e3,15e3,3e4][a-1]));return}a=0;let f=this.entries.get(e),p=Math.max(1e3,(f?.expiresAt??this.now()+6e4)-this.now()-(this.options.expirySkewMs??fv));o=setTimeout(()=>void s(),p)};return s(),{refresh:(e=!1)=>{a=0,s(e)},close:()=>{r=!0,i+=1,clearTimeout(o)}}}size(){return this.prune(),this.entries.size}prune(){let e=this.now();for(let[t,n]of this.entries)this.expired(n,e)&&this.entries.delete(t);let t=this.options.maxEntries??dv;for(;this.entries.size>t;){let e=this.entries.keys().next().value;if(!e)break;this.entries.delete(e)}}expired(e,t){let n=e.state===`ready`?this.options.expirySkewMs??fv:0;return e.expiresAt<=t+n}now(){return(this.options.now??Date.now)()}};function gv(e,t,...n){return[t,e.serverUrl,...n].join(`\0`)}function _v(e,t){return e?.serverUrl===t?.serverUrl&&e?.token===t?.token&&e?.platform===t?.platform}function vv(e,t,n){e.delete(t),e.set(t,n)}async function yv(e,t,n=3e4){let r=new AbortController,i=()=>r.abort(t.reason);t.addEventListener(`abort`,i,{once:!0}),t.aborted&&i();let a=setTimeout(()=>r.abort(Error(`OpenPond took too long to respond. Check the server connection and try again.`)),n),o=()=>{};try{return r.signal.throwIfAborted(),await Promise.race([e(r.signal),new Promise((e,t)=>{o=()=>t(r.signal.reason),r.signal.addEventListener(`abort`,o,{once:!0}),r.signal.aborted&&o()})])}finally{clearTimeout(a),t.removeEventListener(`abort`,i),r.signal.removeEventListener(`abort`,o),r.abort()}}function bv(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(0),s=(0,Y.useRef)(null),c=(0,Y.useCallback)(()=>{if(s.current)return s.current.promise;let t=new AbortController;i(!0);let r=yv(e,t.signal).then(()=>{t.signal.aborted||n(null)}).catch(e=>{throw t.signal.aborted||n(e instanceof Error?e.message:String(e)),e}).finally(()=>{s.current?.controller===t&&(s.current=null,i(!1))});return s.current={controller:t,promise:r},r},[e]);return(0,Y.useEffect)(()=>{let e=!1,t,n=async r=>{try{await c()}catch{!e&&r<2&&(t=setTimeout(()=>void n(r+1),1500*(r+1)))}};return n(0),()=>{e=!0,clearTimeout(t),s.current?.controller.abort(),s.current=null}},[c,a]),{error:t,retrying:r,retry:(0,Y.useCallback)(()=>o(e=>e+1),[]),recover:(0,Y.useCallback)(()=>{c().catch(()=>void 0)},[c])}}function xv(e){let t=0,n=!1,r=!1,i=null;async function a(){for(;n&&!r;){n=!1;let i=t;try{let n=await e.fetch();!r&&i===t&&e.apply(n)}catch(n){!r&&i===t&&e.onError(n)}}}return{refresh(){return r?Promise.resolve():(t+=1,n=!0,i??=a().finally(()=>{i=null}),i)},invalidate(){t+=1,i&&(n=!0)},dispose(){r=!0,t+=1,n=!1}}}function Sv({connection:e,events:t,refreshRef:n,setBootstrap:r,setError:i}){(0,Y.useEffect)(()=>{if(!e)return;let t=xv({fetch:()=>Z.accountScopeSnapshot(e),apply:e=>r(t=>t&&{...t,account:e.account,accountMeta:e.accountMeta,preferences:e.preferences,configuration:e.configuration,providers:e.providers,apps:e.apps,appsError:e.appsError,appsMeta:e.appsMeta,cloudProjects:e.cloudProjects}),onError:e=>i(e instanceof Error?e.message:String(e))});n.current=t;let a=()=>{t.refresh()};return window.addEventListener(`focus`,a),()=>{t.dispose(),n.current=null,window.removeEventListener(`focus`,a)}},[e,n,r,i]);let a;for(let e=t.length-1;e>=0;--e){let n=t[e];if(n.name===`diagnostic`&&n.status===`completed`&&(n.action?.startsWith(`openpond.account.`)||n.action===`openpond.preferences.update`)){a=n.id;break}}(0,Y.useEffect)(()=>{a&&n.current?.refresh()},[e,n,a])}var Cv=6e4;function wv(e){let{selectedSessionId:t,setDraftModel:n,setDraftProvider:r,setCodexPermissionMode:i,setCodexReasoningEffort:a,setOpenPondCommandAccessMode:o,setError:c,setSelectedAppId:l,setSelectedProjectId:u,setSelectedSessionId:d}=e,[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(null),[g]=(0,Y.useState)(()=>new rv),_=(0,Y.useSyncExternalStore)(g.subscribeSummary,g.getSummaryEvents,g.getSummaryEvents),v=(0,Y.useCallback)(e=>{let t=g.getAllEvents(),n=typeof e==`function`?e(t):e;n!==t&&g.replace(n)},[g]),y=(0,Y.useCallback)(e=>{g.appendLive(e)},[g]),[b,x]=(0,Y.useState)(null),[S,C]=(0,Y.useState)([]),[w,T]=(0,Y.useState)([]),[E,D]=(0,Y.useState)([]),[O,k]=(0,Y.useState)({}),[A,j]=(0,Y.useState)(`connecting`),M=Mf(m?.account),ee=(0,Y.useRef)({}),N=(0,Y.useRef)({}),te=(0,Y.useRef)({}),P=(0,Y.useRef)([]),F=(0,Y.useRef)([]),I=(0,Y.useRef)(null),L=(0,Y.useRef)(null),R=(0,Y.useRef)(!1),z=(0,Y.useRef)(null),B=(0,Y.useRef)(null),V=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{hv.activateConnection(f),hv.activateAccountScope(M)},[f,M]);let H=(0,Y.useCallback)(e=>{R.current||j(e)},[]),ne=(0,Y.useCallback)(e=>{k(t=>{let n=typeof e==`function`?e(t):e;return G_(ee.current,t,n),n})},[]),re=(0,Y.useCallback)(e=>{C(t=>{let n=typeof e==`function`?e(t):e;return Fp(N.current,t,n),P.current=n,n})},[]),ie=(0,Y.useCallback)(e=>{T(t=>{let n=typeof e==`function`?e(t):e;return Fp(te.current,t,n),F.current=n,n})},[]),ae=(0,Y.useCallback)(()=>{R.current||(R.current=!0,j(`ready`))},[]),oe=(0,Y.useCallback)(e=>{V.current?.invalidate();let t=I.current,n=!t||t===e.server.id;I.current=e.server.id,x(t=>t?.serverId===e.server.id?t:{afterSequence:e.eventWindow?.latestSequence??Dd(e.events)??0,serverId:e.server.id}),h(e),n?g.mergeBootstrap(e.events):g.replace(e.events),C(t=>{let r=n?Np(t,e.sessions,N.current):Mp(t,e.sessions,N.current);return P.current=r,r}),T(t=>{let r=n?Np(t,e.codexHistorySessions??[],te.current):Mp(t,e.codexHistorySessions??[],te.current);return F.current=r,r}),D(e.approvals),k(t=>K_(t,e.sidebarAppPreferences,ee.current)),l(t=>t&&e.apps.some(e=>e.id===t)?t:null),u(t=>{if(!t)return null;let n=xe(t);return n?.kind===`local`&&e.localProjects.some(e=>e.id===n.id)?U(`local`,n.id):n?.kind===`cloud`&&(e.cloudProjects??[]).some(e=>e.id===n.id)?U(`cloud`,n.id):e.localProjects.some(e=>e.id===t)?U(`local`,t):(e.cloudProjects??[]).some(e=>e.id===t)?U(`cloud`,t):null}),d(t=>{if(!t)return null;let r=[...e.sessions,...e.codexHistorySessions??[]];if(r.some(e=>e.id===t&&!e.archived))return t;if(!n)return null;let i=P.current.find(e=>e.id===t)??F.current.find(e=>e.id===t)??null;return i&&!i.archived&&Pp(i,r)?t:null})},[g,l,u,d]),se=(0,Y.useCallback)(e=>{V.current?.invalidate(),h(t=>t&&{...t,preferences:e.preferences})},[]);Sv({connection:f,events:_,refreshRef:V,setBootstrap:h,setError:c});let ce=(0,Y.useSyncExternalStore)(ue,()=>de.getItem(Bt),()=>null);(0,Y.useEffect)(()=>{if(t)return;let e=ge(m?.preferences),i=Ft();r(i?.provider??e.defaultChatProvider),n(i?.model??e.defaultChatModel)},[t,m?.preferences.defaultChatProvider,m?.preferences.defaultChatModel,ce,n,r]),(0,Y.useEffect)(()=>{i(ge(m?.preferences).codexPermissionMode)},[m?.preferences.codexPermissionMode,i]),(0,Y.useEffect)(()=>{a(ge(m?.preferences).codexReasoningEffort)},[m?.preferences.codexReasoningEffort,a]),(0,Y.useEffect)(()=>{o(ge(m?.preferences).openPondCommandAccessMode)},[m?.preferences.openPondCommandAccessMode,o]),(0,Y.useEffect)(()=>{if(!f||!m||m.account.state!==`signed_in`){L.current=null;return}let e=Mf(m.account);if(!e){L.current=null;return}let t=m.preferences.defaultTeamId?.trim()??``,n=Ev(e,t,m.accountMeta.asOf??`initial`);if(L.current===n)return;L.current=n;let r=!1,i=t=>U_({teamId:t,accountKey:e,fetchAgents:async e=>(await Z.listSandboxAgents(f,{teamId:e})).agents}).catch(()=>{!r&&L.current===n&&(L.current=null)});return If({accountKey:e,force:!0,fetchOrganizations:()=>Tv(f)}).then(async e=>{if(r||e.length===0)return;if(t&&e.some(e=>e.teamId===t)){await i(t);return}let n=Vn(e)?.teamId;n&&(t?c(`The configured default team is unavailable for this account. Select an available team in account settings.`):await i(n))}).catch(e=>{r||(L.current=null,c(e instanceof Error?e.message:String(e)))}),()=>{r=!0}},[m?.account,m?.accountMeta.asOf,m?.preferences.defaultTeamId,f,c]),(0,Y.useEffect)(()=>{if(!f||!M)return;let e=!1,t=()=>{e||(e=!0,If({accountKey:M,force:!0,fetchOrganizations:()=>Tv(f)}).catch(()=>void 0).finally(()=>{e=!1}))},n=()=>{document.visibilityState===`visible`&&t()},r=window.setInterval(t,Cv);return window.addEventListener(`focus`,t),document.addEventListener(`visibilitychange`,n),()=>{window.clearInterval(r),window.removeEventListener(`focus`,t),document.removeEventListener(`visibilitychange`,n)}},[f,M]),fe(()=>{let e=me();c(e||(e=>e?.startsWith(`Preference changes have not been saved.`)?null:e))}),(0,Y.useEffect)(()=>{f&&M!==z.current&&(z.current=M,pe(f,{force:!0}).catch(e=>c(String(e))))},[f,M,c]);let le=bv((0,Y.useCallback)(async e=>{H(`connecting`),x(null);let t=await _o();e.throwIfAborted(),p(e=>L_(e,t)?e:t),H(`account`);let[n]=await Promise.all([Z.bootstrap(t,e),pe(t,{signal:e})]);e.throwIfAborted(),z.current=Mf(n.account),oe(n),ae(),jt(t),c(e=>e&&(wn(e)||e===`Event stream disconnected`)?null:e)},[oe,ae,H,c]));R_(f,le.recover),w_({afterSequence:b?.afterSequence??null,appendEvents:y,connection:f,setApprovals:D,setSessions:re,setError:c,onDisconnected:le.recover}),(0,Y.useEffect)(()=>{if(!f||!m){B.current=null;return}let e=k_(_);e&&B.current!==e&&(B.current=e,Z.profileCurrent(f).then(e=>{h(t=>t&&{...t,profile:e})}).catch(e=>{B.current=null,c(e instanceof Error?e.message:String(e))}))},[m,f,_,c]);let he=(0,Y.useCallback)(()=>{f&&Z.refreshOpenPondAccount(f).then(({account:e,accountMeta:t})=>{h(n=>n&&{...n,account:e,accountMeta:t})}).catch(e=>c(e instanceof Error?e.message:String(e)))},[f,c]);return{appPreferences:O,applyBootstrapPayload:oe,applyPreferencesPayload:se,approvals:E,bootstrap:m,codexHistorySessions:w,connection:f,events:_,runtimeEventStore:g,notificationAfterSequence:b?.afterSequence??null,refreshOpenPondAccount:he,sessions:S,startup:{...s(A),error:le.error,retrying:le.retrying,retry:le.retry},setAppPreferences:ne,setBootstrap:h,setCodexHistorySessions:ie,setEvents:v,setSessions:re}}async function Tv(e){return(await Z.organizations(e)).organizations.map(Un).filter(e=>!!e).filter(e=>e.status===`active`)}function Ev(e,t,n){return`${e}::${t||`none`}::${n}`}function Dv({appDispatch:e,error:t,setErrorState:n}){let r=(0,Y.useRef)(null),i=(0,Y.useRef)(null),a=(0,Y.useRef)(null),o=(0,Y.useRef)(0),s=(0,Y.useCallback)((t,n=`info`,r={})=>{let i=Date.now()+ ++o.current;return n===`error`&&wn(t)&&r.dedupeKey!==`openpond-connection`||e({type:`showToast`,toast:{id:i,createdAt:Date.now(),message:t,tone:n,...r}}),i},[e]),c=(0,Y.useCallback)(t=>{let o=i.current,c=typeof t==`function`?t(o):t;if(c&&wn(c)&&r.current||Object.is(o,c))return;if(i.current=c,n(c),!c){a.current!==null&&(e({type:`clearToast`,toastId:a.current}),a.current=null);return}a.current=s(Ov(c),`error`);let l=r.current;l&&Z.recordClientDiagnostic(l,{message:c,surface:`app`,context:{href:window.location.href}}).catch(e=>{console.warn(`Unable to record client diagnostic.`,e)})},[e,n,s]);return(0,Y.useEffect)(()=>{i.current=t,!(t||a.current===null)&&(e({type:`clearToast`,toastId:a.current}),a.current=null)},[e,t]),{connectionRef:r,setError:c,showToast:s}}function Ov(e){return Tn(e)}function kv(e,t){if(e.find(e=>t.dedupeKey&&e.dedupeKey===t.dedupeKey))return e;let n=e.find(e=>t.groupKey&&e.groupKey===t.groupKey);if(n&&n.kind===`attention`)return e.map(e=>e.id===n.id?{...t,id:e.id,createdAt:e.createdAt}:e);let r=[t,...e.filter(e=>!t.groupKey||e.groupKey!==t.groupKey)];if(r.length<=23)return r;let i=-1;for(let e=r.length-1;e>=3;e--)if(r[e].kind!==`attention`){i=e;break}return r.splice(i===-1?r.length-1:i,1),r}var Av={query:``,searchOpen:!1,archivedChatsOpen:!1,sectionMenuOpen:null,projectsExpanded:!1,cloudProjectsExpanded:!1,chatRowsVisibleCount:15,sidebarOpen:!0,view:`chat`,selectedAppId:null,selectedProjectId:null,selectedSessionId:null,prompt:``,promptDrafts:{},draftProvider:ae,draftModel:ie,draftExperience:`work`,codexPermissionMode:re,codexReasoningEffort:se,openPondCommandAccessMode:`ask`,busy:!1,diffPanelOpen:!1,diffPanelExpanded:!1,rightPanelMode:`home`,rightChatPanels:[],terminalOpen:!1,syncingWorkspaceAppId:null,settingsSection:`account`,newProjectDialogOpen:!1,newProjectMode:`local`,newProjectName:``,newProjectPath:``,newProjectBusy:!1,commitDialogOpen:!1,commitMessage:``,commitIncludeUnstaged:!0,commitNextStep:`commit`,commitDraft:!0,branchDialogOpen:!1,branchDialogName:``,toasts:[],error:null};function jv(e){return e.selectedSessionId?`session:${e.selectedSessionId}`:e.selectedProjectId?`project:${e.selectedProjectId}`:e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`}function Mv(e,t,n){if(!n){if(!(t in e))return e;let{[t]:n,...r}=e;return r}return e[t]===n?e:{...e,[t]:n}}function Nv(e){return Mv(e.promptDrafts,jv(e),e.prompt)}function Pv(e,t,n={}){let r=jv({...e,...t}),i=Nv(e),a=n.clearSelectedDraft?Mv(i,r,``):n.preserveCurrentPrompt?Mv(i,r,e.prompt):i;return{...e,...t,promptDrafts:a,prompt:n.clearSelectedDraft?``:n.preserveCurrentPrompt?e.prompt:a[r]??``}}function Fv(e){return e===`draftExperience`||e===`selectedAppId`||e===`selectedProjectId`||e===`selectedSessionId`}function Iv(e,t){switch(t.type){case`field`:{let n=e[t.key],r=typeof t.value==`function`?t.value(n):t.value;if(Object.is(n,r))return e;if(t.key===`prompt`){let t=String(r);return{...e,prompt:t,promptDrafts:Mv(e.promptDrafts,jv(e),t)}}return Fv(t.key)?Pv(e,{[t.key]:r}):{...e,[t.key]:r}}case`patch`:return{...e,...t.patch};case`selectApp`:return Pv(e,{selectedAppId:t.appId,selectedProjectId:null,selectedSessionId:null,view:`chat`});case`selectProject`:return Pv(e,{selectedAppId:null,selectedProjectId:t.projectId,selectedSessionId:null,view:`chat`},{preserveCurrentPrompt:!0});case`selectSession`:{let n=t.projectId??null;return Pv(e,{selectedSessionId:t.sessionId,selectedAppId:n?null:t.appId??null,selectedProjectId:n,view:`chat`})}case`beginNewChat`:return Pv(e,{selectedSessionId:null,selectedAppId:t.appId,selectedProjectId:t.projectId??null,error:null,view:`chat`});case`openCommitDialog`:return{...e,commitMessage:``,commitIncludeUnstaged:!0,commitNextStep:t.nextStep,commitDraft:!0,commitDialogOpen:!0,error:null,view:`chat`};case`openBranchDialog`:return{...e,branchDialogName:t.branchName,branchDialogOpen:!0,error:null,view:`chat`};case`showToast`:return{...e,toasts:kv(e.toasts,t.toast)};case`clearToast`:return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)};case`clearToastGroup`:return{...e,toasts:e.toasts.filter(e=>e.groupKey!==t.groupKey)};case`clearToasts`:return{...e,toasts:[]};default:return e}}function Lv(e,t){return n=>e({type:`field`,key:t,value:n})}function Rv(e){return{setQuery:Lv(e,`query`),setSearchOpen:Lv(e,`searchOpen`),setArchivedChatsOpen:Lv(e,`archivedChatsOpen`),setSectionMenuOpen:Lv(e,`sectionMenuOpen`),setProjectsExpanded:Lv(e,`projectsExpanded`),setCloudProjectsExpanded:Lv(e,`cloudProjectsExpanded`),setChatRowsVisibleCount:Lv(e,`chatRowsVisibleCount`),setSidebarOpen:Lv(e,`sidebarOpen`),setView:Lv(e,`view`),setSelectedAppId:Lv(e,`selectedAppId`),setSelectedProjectId:Lv(e,`selectedProjectId`),setSelectedSessionId:Lv(e,`selectedSessionId`),setPrompt:Lv(e,`prompt`),setDraftProvider:Lv(e,`draftProvider`),setDraftModel:Lv(e,`draftModel`),setDraftExperience:Lv(e,`draftExperience`),setCodexPermissionMode:Lv(e,`codexPermissionMode`),setCodexReasoningEffort:Lv(e,`codexReasoningEffort`),setOpenPondCommandAccessMode:Lv(e,`openPondCommandAccessMode`),setBusy:Lv(e,`busy`),setDiffPanelOpen:Lv(e,`diffPanelOpen`),setDiffPanelExpanded:Lv(e,`diffPanelExpanded`),setRightPanelMode:Lv(e,`rightPanelMode`),setRightChatPanels:Lv(e,`rightChatPanels`),setTerminalOpen:Lv(e,`terminalOpen`),setSyncingWorkspaceAppId:Lv(e,`syncingWorkspaceAppId`),setSettingsSection:Lv(e,`settingsSection`),setNewProjectDialogOpen:Lv(e,`newProjectDialogOpen`),setNewProjectMode:Lv(e,`newProjectMode`),setNewProjectName:Lv(e,`newProjectName`),setNewProjectPath:Lv(e,`newProjectPath`),setNewProjectBusy:Lv(e,`newProjectBusy`),setCommitDialogOpen:Lv(e,`commitDialogOpen`),setCommitMessage:Lv(e,`commitMessage`),setCommitIncludeUnstaged:Lv(e,`commitIncludeUnstaged`),setCommitNextStep:Lv(e,`commitNextStep`),setCommitDraft:Lv(e,`commitDraft`),setBranchDialogOpen:Lv(e,`branchDialogOpen`),setBranchDialogName:Lv(e,`branchDialogName`),setError:Lv(e,`error`)}}function zv(e){return e.selectedSessionId?`session:${e.selectedSessionId}`:e.selectedProjectId?`project:${e.selectedProjectId}`:e.selectedAppId?`app:${e.selectedAppId}`:`new-chat`}function Bv(e={selectedAppId:null,selectedProjectId:null,selectedSessionId:null},t={}){let n=e,r=new Map,i=new Map(Object.entries(t).map(([e,t])=>{if(typeof t==`string`)return[e,t];let n=pa.safeParse(t.resourceContexts);return n.success&&r.set(e,n.data),[e,t.prompt]})),a=i.get(zv(n))??``,o=new Set,s=e=>{if(!Object.is(a,e)){a=e;for(let e of o)e()}},c=()=>{let e=zv(n);a?i.set(e,a):i.delete(e)},l=(e,t={})=>{let o=a;c(),n={...n,...e};let l=zv(n);t.clear&&(i.delete(l),r.delete(l)),t.preserveCurrentDraft?(o?i.set(l,o):i.delete(l),s(o)):s(t.clear?``:i.get(l)??``)},u={getScopeKey:()=>zv(n),getSnapshot:()=>a,resourceContexts:r,getDrafts:()=>(c(),Object.fromEntries([...i].map(([e,t])=>[e,r.has(e)?{prompt:t,resourceContexts:structuredClone(r.get(e))}:t]))),subscribe(e){return o.add(e),()=>o.delete(e)},set:e=>u.setForScope(zv(n),e),setForScope(e,t){let c=zv(n),l=e===c?a:i.get(e)??``,u=typeof t==`function`?t(l):t;if(u.trim()||r.delete(e),!Object.is(l,u)){if(u?i.set(e,u):i.delete(e),e===c)s(u);else for(let e of o)e()}},applyAppAction(e){if(e.type===`field`){if(e.key===`prompt`){u.set(e.value);return}if(e.key===`selectedAppId`||e.key===`selectedProjectId`||e.key===`selectedSessionId`){let t=n[e.key],r=typeof e.value==`function`?e.value(t):e.value;Object.is(t,r)||l({[e.key]:r})}}else if(e.type===`patch`){let t={};`selectedAppId`in e.patch&&(t.selectedAppId=e.patch.selectedAppId),`selectedProjectId`in e.patch&&(t.selectedProjectId=e.patch.selectedProjectId),`selectedSessionId`in e.patch&&(t.selectedSessionId=e.patch.selectedSessionId),Object.keys(t).length>0&&l(t),`prompt`in e.patch&&typeof e.patch.prompt==`string`&&u.set(e.patch.prompt)}else if(e.type===`selectApp`)l({selectedAppId:e.appId,selectedProjectId:null,selectedSessionId:null});else if(e.type===`selectProject`)l({selectedAppId:null,selectedProjectId:e.projectId,selectedSessionId:null},{preserveCurrentDraft:!0});else if(e.type===`selectSession`){let t=e.projectId??null;l({selectedSessionId:e.sessionId,selectedAppId:t?null:e.appId??null,selectedProjectId:t})}else e.type===`beginNewChat`&&l({selectedSessionId:null,selectedAppId:e.appId,selectedProjectId:e.projectId??null})}};return u}function Vv(e){return(0,Y.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}var Hv=`openpond.desktop-update-drafts.v1`,Uv=524288;function Wv(e,t=window.localStorage){if(Object.keys(e).length>512)throw Error(`Too many unsent drafts for local recovery.`);let n=JSON.stringify(e);if(n.length>Uv)throw Error(`Unsent drafts exceed local recovery capacity.`);t.setItem(Hv,n)}function Gv(e){try{let t=(e??window.localStorage).getItem(Hv);if(!t||t.length>Uv)return{};let n=JSON.parse(t);if(!n||typeof n!=`object`||Array.isArray(n)||Object.keys(n).length>512)return{};let r={};for(let[e,t]of Object.entries(n))if(/^(?:new-chat|(?:session|project|app):.+)$/.test(e)){if(typeof t==`string`)r[e]=t;else if(t&&typeof t==`object`&&!Array.isArray(t)){let n=t,i=pa.safeParse(n.resourceContexts);typeof n.prompt==`string`&&i.success&&(r[e]={prompt:n.prompt,resourceContexts:i.data})}}return r}catch{return{}}}function Kv(){let[e,t]=(0,Y.useReducer)(Iv,Av),[n]=(0,Y.useState)(()=>Bv(void 0,Gv()));(0,Y.useEffect)(()=>{let e=()=>Wv(n.getDrafts()),r=()=>t({type:`showToast`,toast:{id:Date.now(),createdAt:Date.now(),tone:`error`,message:`Unsent drafts could not be saved on this device.`,dedupeKey:`composer-draft-recovery`,actionLabel:`Retry`,onAction:()=>(e(),!0)}}),i=t=>{try{e()}catch{r(),t.preventDefault()}},a,o=n.subscribe(()=>{clearTimeout(a),a=setTimeout(()=>{try{e()}catch{r()}},500)});return window.addEventListener(`openpond:before-update`,i),window.addEventListener(`beforeunload`,i),window.addEventListener(`pagehide`,i),()=>{clearTimeout(a),o(),window.removeEventListener(`openpond:before-update`,i),window.removeEventListener(`beforeunload`,i),window.removeEventListener(`pagehide`,i)}},[n]);let r=(0,Y.useCallback)(e=>{n.applyAppAction(e),t(e)},[n]);return{composerDraftStore:n,dispatch:r,setters:(0,Y.useMemo)(()=>({...Rv(r),setPrompt:n.set}),[n,r]),state:e}}function qv(e){return!!(e&&e.includes(`Git is required for OpenPond app workspaces`)&&e.includes(`Command Line Tools`))}function Jv(e){let{connection:t,events:n,showToast:r}=e,i=(0,Y.useRef)(new Set),a=(0,Y.useCallback)(async()=>{if(t)try{let e=await Z.installMacOSCommandLineTools(t);r(e.message,`info`)}catch(e){r(e instanceof Error?e.message:String(e),`error`)}},[t,r]),o=(0,Y.useCallback)((e=`OpenPond needs Git to create and sync local projects.`)=>{r(e,`error`,{actionLabel:`Install Tools`,onAction:()=>void a()})},[r,a]);(0,Y.useEffect)(()=>{if(!t)return;let e=!1;return Z.gitAvailability(t).then(t=>{e||t.ok||t.installAction!==`macos_command_line_tools`||o(`OpenPond needs Git before it can create local projects.`)}).catch(()=>void 0),()=>{e=!0}},[t,o]),(0,Y.useEffect)(()=>{for(let e of n){if(i.current.has(e.id))continue;let t=e.error??e.output??null;e.name===`workspace_action_result`&&e.status===`failed`&&qv(t)&&(i.current.add(e.id),o(`OpenPond needs Git before it can update this project.`))}},[n,o])}function Yv(e){let t=null,n=null,r=!1;function i(){return n||!t||r?n??Promise.resolve():(n=(async()=>{for(;t&&!r;){let n=t;t=null;try{let t=await e.save(n);r||e.apply(t)}catch(t){r||e.onError(t)}}})().finally(()=>{if(n=null,t&&!r)return i()}),n)}return{write(e){return r?Promise.resolve():(t={...t,...e},i())},dispose(){r=!0,t=null}}}function Xv({connection:e,preferences:t,sidebarOpen:n,diffPanelExpanded:r,setBootstrap:i,setError:a}){let[o,s]=(0,Y.useState)(()=>ge().sidebarSectionsCollapsed),c=(0,Y.useRef)(o),l=(0,Y.useRef)({}),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=(0,Y.useRef)(null),[p,m]=(0,Y.useState)(332),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(560),[y,b]=(0,Y.useState)(!1),{projects:x,cloudProjects:S,chats:C,savedForLater:w}=o;(0,Y.useEffect)(()=>{if(h)return;let e=X_(F_(ge(t).sidebarWidth),u.current);u.current=e.localChange,m(e.value)},[t,h]),(0,Y.useEffect)(()=>{if(y)return;let e=X_(I_(ge(t).diffPanelWidth),d.current);d.current=e.localChange,v(e.value)},[y,t]),(0,Y.useEffect)(()=>{let e=ge(t).sidebarSectionsCollapsed;s(t=>{let n=J_(t,e,l.current);return c.current=n,n})},[t]);let T=(0,Y.useCallback)(e=>{i(t=>t&&{...t,preferences:e.preferences})},[i]);(0,Y.useEffect)(()=>{if(!e)return;let t=Yv({save:t=>Z.savePreferences(e,t),apply:T,onError:e=>a(e instanceof Error?e.message:String(e))});return f.current=t,()=>{t.dispose(),f.current=null}},[e,a,T]);let E=(0,Y.useCallback)(e=>f.current?.write({sidebarWidth:e}),[]),D=(0,Y.useCallback)(e=>f.current?.write({diffPanelWidth:e}),[]),O=(0,Y.useCallback)(e=>f.current?.write({sidebarSectionsCollapsed:e}),[]),k=(0,Y.useCallback)(e=>{let t=c.current;q_(l.current,t,e),c.current=e,s(e),O(e)},[O]);return{projectsCollapsed:x,cloudProjectsCollapsed:S,chatsCollapsed:C,savedForLaterCollapsed:w,sidebarWidth:p,sidebarResizing:h,diffPanelWidth:_,diffPanelResizing:y,toggleProjectsCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,projects:!e.projects})},[k]),toggleCloudProjectsCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,cloudProjects:!e.cloudProjects})},[k]),toggleChatsCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,chats:!e.chats})},[k]),toggleSavedForLaterCollapsed:(0,Y.useCallback)(()=>{let e=c.current;k({...e,savedForLater:!e.savedForLater})},[k]),startSidebarResize:(0,Y.useCallback)(e=>{if(!n)return;e.preventDefault();let t=e.clientX,r=p,i=r;g(!0);function a(e){i=F_(r+e.clientX-t),m(i)}function o(){window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o);let e=Y_(r,i);e&&(u.current=e),g(!1),E(i)}window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o,{once:!0})},[E,n,p]),startDiffPanelResize:(0,Y.useCallback)(e=>{if(r||e.button!==0||!e.isPrimary)return;e.preventDefault();let t=e.currentTarget,n=e.pointerId;t.setPointerCapture(n);let i=e.clientX,a=_,o=a;b(!0);function s(e){o=I_(a-(e.clientX-i)),v(o)}function c(){window.removeEventListener(`pointermove`,s),window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),t.removeEventListener(`lostpointercapture`,c),t.hasPointerCapture(n)&&t.releasePointerCapture(n);let e=Y_(a,o);e&&(d.current=e),b(!1),D(o)}window.addEventListener(`pointermove`,s),window.addEventListener(`pointerup`,c,{once:!0}),window.addEventListener(`pointercancel`,c,{once:!0}),t.addEventListener(`lostpointercapture`,c,{once:!0})},[r,_,D])}}function Zv(e){let[t,n]=(0,Y.useState)({id:0,kind:null}),[r,i]=(0,Y.useState)(null),a=(0,Y.useCallback)((e=null)=>{n(t=>({id:t.id+1,kind:e}))},[]),o=(0,Y.useCallback)(e=>{i(e)},[]);return{backAction:null,breadcrumbs:(0,Y.useMemo)(()=>{if(e)return Qv(r,a)},[e,r,a]),closeDetailKind:t.kind,closeDetailRequestId:t.id,onDetailOpenChange:o}}function Qv(e,t){return e?[{label:e.rootLabel??`Models`,onSelect:()=>t(null)},{label:e.kindLabel,onSelect:e.kindOnSelect??(()=>t(e.kind))},...e.workproductLabel?[{label:e.workproductLabel,onSelect:e.workproductOnSelect}]:[],...e.segments]:[{label:`Models`}]}function $v(e,t,n){return{inspectModelBatch:async n=>{if(!e)throw Error(`Connect to OpenPond to inspect this batch.`);return ga.parse(await Z.trainingRequest(e,`/models/batch-review/inspect`,{profileId:t,modelId:n},`POST`))},beginModelBatchReview:async e=>{let t=await n(e);return t?va.parse(t):null}}}function ey(e,t,n,r){async function i(n,r){if(!e)throw Error(`Connect to OpenPond to load tasks.`);let i=ta.parse(r),a=new URLSearchParams({profileId:t});for(let[e,t]of Object.entries(i))t!==void 0&&a.set(e,String(t));return Z.trainingRequest(e,`${n}?${a}`,{},`GET`)}return{taskInventory:async(e={})=>ia.parse(await i(`/tasks`,e)),taskInventoryDetail:async e=>{let t=await i(`/tasks/detail`,e);return{item:ra.parse(t.item),task:mt.parse(t.task)}},tasksetDraftFiles:async n=>{if(!e)return null;try{return await Z.trainingRequest(e,`/taskset-drafts/${encodeURIComponent(n)}/files?${new URLSearchParams({profileId:t})}`,{},`GET`)}catch(e){return r(e),null}},tasksetDraftFile:async(n,i)=>{if(!e)return null;try{return await Z.trainingRequest(e,`/taskset-drafts/${encodeURIComponent(n)}/file?${new URLSearchParams({profileId:t,path:i})}`,{},`GET`)}catch(e){return r(e),null}},saveTasksetDraftFile:e=>n(`save-taskset-draft-file`,`/taskset-drafts/${encodeURIComponent(e.draftId)}/file`,{profileId:t,...e},`PATCH`),inspectTasksetDraftSource:(e,r)=>n(`inspect-taskset-draft-source`,`/taskset-drafts/source`,{profileId:t,modelId:e,expectedModelRevision:r}),createTasksetDraftFromSource:e=>n(`create-taskset-draft`,`/taskset-drafts`,{profileId:t,sourceRequest:e}),createTasksetDraft:(e=``,r)=>n(`create-taskset-draft`,`/taskset-drafts`,{profileId:t,name:e,modelId:r??null}),importTasksetDraftPackage:e=>n(`import-taskset-draft-package`,`/taskset-drafts/import`,{packagePath:e,profileId:t}),saveTasksetDraft:e=>n(`save-taskset-draft`,`/taskset-drafts/${encodeURIComponent(e.id)}`,e,`PUT`),tasksetDraftWorkspace:async t=>{if(!e)return null;try{return await Z.trainingRequest(e,`/taskset-drafts/${encodeURIComponent(t)}/workspace`,{},`GET`)}catch(e){return r(e),null}},publishTasksetDraft:(e,t)=>n(`publish-taskset-draft`,`/taskset-drafts/${encodeURIComponent(e)}/publish`,{modelId:t??null}),refreshTasksetDraftModel:(e,t)=>n(`refresh-taskset-draft-model`,`/taskset-drafts/${encodeURIComponent(e.id)}/model-revision`,{expectedDraftRevision:e.revision,expectedModelRevision:t}),deleteTasksetDraft:e=>n(`delete-taskset-draft`,`/taskset-drafts/${encodeURIComponent(e)}`,{},`DELETE`)}}function ty(e,t){return ht({id:e.id,profileId:e.profileId,name:e.name,objective:e.objective,defaultBaseModel:e.defaultBaseModel,defaultDestinationId:e.defaultDestinationId,trainingSetup:e.trainingSetup},t)}async function ny(e,t,n){if(!e)throw Error(`Connect to the execution owner to check this configuration.`);let r=await ty(t,n);return St.parse(await Z.trainingRequest(e,`/models/check`,r,`POST`))}function ry(e,t){return{listModelStarters:async(t,n=!1)=>{if(!e)throw Error(`Connect to OpenPond to browse model starters.`);return Z.trainingRequest(e,`/model-starters?limit=30${t?`&afterId=${encodeURIComponent(t)}`:``}${n?`&fresh=true`:``}`,{},`GET`)},previewModelStarter:async t=>{if(!e)throw Error(`Connect to OpenPond to preview a starter.`);return Z.trainingRequest(e,`/model-starters/preview`,{id:t.id,revision:t.revision,contentHash:t.contentHash})},checkModelStarter:async t=>{if(!e)throw Error(`Connect to OpenPond to check this starter.`);return St.parse(await Z.trainingRequest(e,`/model-starters/check`,t))},createModelFromStarter:e=>t(`create-model-from-starter`,`/model-starters/create`,e)}}var iy=1e4,ay=3e4;function oy(e){let{connection:t,profileId:n,enabled:r=!0}=e,i=d(),a=dn(t),o=(0,Y.useMemo)(()=>[`training`,a,n],[a,n]),s=(0,Y.useCallback)(async({signal:e})=>nt.parse(await Z.trainingState(t,n,e)),[t,n]),c=w({queryKey:r?o:[`training-inactive`,a,n],queryFn:s,enabled:!!t&&r,gcTime:6e4}),l=c.data??null,u=!!t&&r&&c.isPending,[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(null),g=(0,Y.useRef)(null);g.current=l?.activityRevision??null;let _=(0,Y.useCallback)(async()=>{if(!t)return null;try{let e=await i.fetchQuery({queryKey:o,queryFn:s,staleTime:0});return h(null),e}catch(e){return h(sy(e)),null}},[t,i,o,s]),v=(0,Y.useCallback)(async()=>(await i.cancelQueries({queryKey:o,exact:!0}),await i.invalidateQueries({queryKey:o,exact:!0,refetchType:`none`}),await i.invalidateQueries({queryKey:[`task-inventory`,a,n]}),await i.invalidateQueries({queryKey:[`training-navigation`,a,n]}),_()),[i,o,a,n,_]),y=(0,Y.useCallback)(async(e,n,r,i=`POST`,a={})=>{if(!t)return null;a.silent||p(e);try{let e=await Z.trainingRequest(t,n,r,i);return await v(),a.silent||h(null),e}catch(e){return a.silent||h(sy(e)),null}finally{a.silent||p(null)}},[t,v]),b=l?[l.jobs.some(e=>[`queued`,`starting`,`running`,`cancelling`,`reconciling`].includes(e.status)),l.creations.some(e=>[`planning`,`materializing`,`validating`].includes(e.state)),l.minerRuns.some(e=>[`queued`,`running`,`cancelling`].includes(e.status)),l.datasetImports.some(e=>[`inspecting`,`materializing`,`validating`,`cancelling`].includes(e.status))].some(Boolean):!1;(0,Y.useEffect)(()=>{if(!t||!r)return;let e=!0,i=null,a=new AbortController,o=b?iy:ay,s=async()=>{let r=o;if(document.visibilityState===`hidden`)e&&(i=window.setTimeout(()=>void s(),ay));else{try{let i=await Z.trainingActivity(t,n,a.signal);if(!e)return;r=i.active?iy:ay,(g.current===null||g.current!==i.revision)&&await _()}catch(t){e&&h(sy(t))}e&&(i=window.setTimeout(()=>void s(),r))}};return i=window.setTimeout(()=>void s(),o),()=>{e=!1,a.abort(),i!==null&&window.clearTimeout(i)}},[t,r,b,n,_]);let x=(0,Y.useMemo)(()=>({...ry(t,y),saveComparisonSeries:e=>y(`save-comparison-series`,`/comparison-series`,{series:e}),saveContinualBenchIssueReview:e=>y(`save-continual-support-issue-review`,`/continual-support/issue-reviews`,{review:e},`PUT`),importContinualLearningDailyBatch:(e,t=`json_upload`)=>y(`import-continual-learning-daily-batch`,`/continual-learning/daily-batches/import`,{manifest:e,source:t}),saveContinualLearningDailyBatch:e=>y(`save-continual-learning-daily-batch`,`/continual-learning/daily-batches`,{batch:e},`PUT`),generateContinualLearningResponses:e=>y(`generate-continual-learning-responses`,`/continual-learning/responses`,e),sealComparisonSeries:(e,t)=>y(`seal-comparison-series`,`/comparison-series/${encodeURIComponent(e)}/seal`,{expectedRevision:t}),archiveComparisonSeries:(e,t)=>y(`archive-comparison-series`,`/comparison-series/${encodeURIComponent(e)}/archive`,{expectedRevision:t}),queueComparisonRelease:e=>y(`queue-comparison-release`,`/comparison-series/${encodeURIComponent(e.seriesId)}/releases`,e),startComparisonEvaluation:e=>y(`start-comparison-evaluation`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/evaluations`,e),loadComparisonAttemptEvidence:e=>t?Z.trainingRequest(t,`/model-runs/${encodeURIComponent(e.runId)}/attempts/${encodeURIComponent(e.attemptId)}/evidence?kind=${e.kind}`,{},`GET`):Promise.resolve(null),linkComparisonRun:e=>y(`link-comparison-run`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/run`,e,`PATCH`),decideComparisonEntry:e=>y(`decide-comparison-entry`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/decision`,e),recordComparisonPromotion:e=>y(`record-comparison-promotion`,`/comparison-series-entries/${encodeURIComponent(e.entryId)}/promotion`,e),checkModelProject:(e,n=e.revision)=>ny(t,e,n),...$v(t,n,e=>y(`begin-model-batch-review`,`/models/batch-review`,{profileId:n,request:e})),saveModelProject:async(e,t=e.revision)=>y(`save-model-project`,`/models`,await ty(e,t),`PUT`),listHostedModelProjects:async(e={})=>{if(!t)return null;e.silent||p(`list-hosted-model-projects`);try{let r=await Z.trainingRequest(t,`/hosted-model-projects?profileId=${encodeURIComponent(n)}&refresh=${e.refresh===!0}`,{},`GET`);return e.silent||h(null),r}catch(t){return e.silent||h(sy(t)),null}finally{e.silent||p(e=>e===`list-hosted-model-projects`?null:e)}},openHostedModelProject:(e,t,r,i={})=>y(`open-hosted-model-project:${e}`,`/hosted-model-projects/${encodeURIComponent(e)}/open`,{profileId:n,teamId:t,apiOrigin:r},`POST`,i),pullHostedModelProject:e=>y(`pull-hosted-model-project:${e}`,`/hosted-model-projects/${encodeURIComponent(e)}/pull`,{profileId:n}),syncModelProject:e=>y(`sync-model-project`,`/models/${encodeURIComponent(e)}/sync`,{}),publishModelProjectTaskset:(e,t)=>y(`publish-model-project-taskset`,`/models/${encodeURIComponent(e)}/tasksets/${encodeURIComponent(t)}/publish`,{}),createScorer:(e,t,n)=>y(`create-scorer`,`/scorers`,{grader:e,tasksetId:t,modelProjectId:n??null}),prepareLearningBatch:e=>y(`prepare-learning-batch`,`/learning-batches/prepare`,{profileId:n,batchId:e}),...ey(t,n,y,e=>h(sy(e))),tasksetGraderDetails:async e=>{if(!t)return null;try{return await Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/graders`,{},`GET`)}catch(e){return h(sy(e)),null}},inspectHuggingFaceDataset:e=>y(`inspect-huggingface-dataset`,`/dataset-imports/huggingface/inspect`,{profileId:n,url:e}),materializeDatasetImport:(e,t)=>y(`materialize-dataset-import`,`/dataset-imports/${encodeURIComponent(e)}/materialize`,t),cancelDatasetImport:e=>y(`cancel-dataset-import`,`/dataset-imports/${encodeURIComponent(e)}/cancel`,{}),datasetRows:(e,n={})=>{if(!t)return Promise.resolve(null);let r=new URLSearchParams;n.split&&r.set(`split`,n.split),n.cursor&&r.set(`cursor`,n.cursor),r.set(`limit`,String(n.limit??25));for(let e of n.columns??[])r.append(`column`,e);return Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/rows?${r}`,{},`GET`)},addSource:(e,t)=>y(`add-source`,`/sources`,{profileId:n,sessionId:e,turnIds:t}),addSources:e=>y(`add-sources`,`/sources/batch`,{profileId:n,sessionIds:e}),estimateSources:e=>t?Z.trainingRequest(t,`/sources/estimate`,{sessionIds:e}):Promise.resolve([]),searchChats:(e,n,r=0,i=20)=>t?Z.trainingRequest(t,`/sources/search`,{query:e,candidates:n,offset:r,limit:i}):Promise.resolve({schemaVersion:`openpond.trainingChatSearchResult.v1`,query:e,offset:r,limit:i,total:0,hasMore:!1,indexedChats:0,totalChats:0,indexing:!1,entries:[]}),removeSource:e=>y(`remove-source`,`/sources/${encodeURIComponent(e)}`,{},`DELETE`),deleteTaskset:e=>y(`delete-model`,`/tasksets/${encodeURIComponent(e)}`,{},`DELETE`),runBenchmark:(e,t,n,r)=>y(`run-benchmark-${t}`,`/tasksets/${encodeURIComponent(e)}/benchmark-runs`,{phase:t,model:n,reasoningEffort:r,seeds:[17],repetitions:1}),startHarnessRefinerBenchmark:(e,t,r)=>y(`run-harness-refiner-benchmark`,`/models/${encodeURIComponent(e)}/harness-refiner-benchmark`,{profileId:n,model:t,reasoningEffort:r,maximumSpendUsd:10}),acceptHarnessReview:(e,t,r=null,i=null)=>y(`accept-harness-review`,`/harness-reviews/accept`,{profileId:n,workspaceId:e,reviewRef:t,analysisModel:r,analysisReasoningEffort:i}),startCreation:(e,t={})=>y(`create-taskset`,`/task-creations`,{profileId:n,sourceIds:e,surface:t.surface??`training_page`,mode:t.mode??`defaults`,entryMode:t.entryMode??`manual`,resourceIntent:t.resourceIntent??`workproduct`,buildIntent:t.buildIntent??`demonstrations`,buildSpecification:t.buildSpecification??null,objective:t.objective??null,methodHint:t.methodHint??null,preferredBaseModelId:t.preferredBaseModel?.modelId??null,preferredBaseModel:t.preferredBaseModel??null,candidateId:t.candidateId??null,analysisModel:t.analysisModel??null,analysisReasoningEffort:t.analysisReasoningEffort??null,createImproveRunId:t.createImproveRunId??null,targetIntent:t.targetIntent??{kind:`model`,id:null,displayName:null,operation:`create`}}),createModelFromTaskset:(e,t)=>y(`create-model`,`/models/from-taskset`,{profileId:n,tasksetId:e,preferredBaseModelId:t.modelId,preferredBaseModel:t}),scanBaseModels:async()=>{if(!t)return null;p(`scan-base-models`);try{let e=await _();return h(null),e}catch(e){return h(sy(e)),null}finally{p(null)}},approveDisclosure:(e,t)=>y(`approve-disclosure`,`/task-creations/${encodeURIComponent(e)}/disclosure`,{approved:t}),retryCreation:e=>y(`retry-creation`,`/task-creations/${encodeURIComponent(e)}/retry`,{}),answerQuestions:(e,t)=>y(`answer-questions`,`/task-creations/${encodeURIComponent(e)}/questions`,{answers:t}),materialize:(e,t)=>y(`materialize`,`/task-creations/${encodeURIComponent(e)}/materialize`,{approved:t}),chatCreation:(e,t)=>y(`task-creator-chat`,`/task-creations/${encodeURIComponent(e)}/chat`,{message:t}),renameCreation:(e,t)=>y(`rename-creation`,`/task-creations/${encodeURIComponent(e)}/name`,{name:t},`PATCH`),cancelCreation:e=>y(`cancel-creation`,`/task-creations/${encodeURIComponent(e)}/cancel`,{}),runMiner:(e=[],t=[],r)=>y(`run-miner`,`/miner/run`,{profileId:n,sourceIds:e,sessionIds:t,config:r}),cancelMinerRun:e=>y(`cancel-miner-run`,`/miner/runs/${encodeURIComponent(e)}/cancel`,{}),configureMiner:e=>y(`configure-miner`,`/miner/config`,{profileId:n,config:e},`PUT`),patchCandidate:(e,t)=>y(`candidate`,`/candidates/${encodeURIComponent(e)}`,t,`PATCH`),createCandidate:(e,t,n,r)=>y(`create-candidate`,`/candidates/${encodeURIComponent(e)}/create`,{mode:t,analysisModel:n??null,analysisReasoningEffort:r??null}),auditGraders:e=>y(`audit-graders`,`/audit-graders`,{tasksetId:e}),executeTasksetAttempt:(e,t,n)=>y(`execute-taskset-attempt`,`/tasksets/${encodeURIComponent(e)}/attempts`,{taskId:t,model:n,seed:17,attempt:0,sampling:{maxOutputTokens:4096,temperature:0,topP:1}}),materializeSyntheticPreferenceCollection:e=>y(`materialize-synthetic-preference-collection`,`/tasksets/${encodeURIComponent(e.tasksetId)}/synthetic-preference-collection`,e),tasksetOperationalState:e=>t?Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/operations`,{},`GET`):Promise.resolve(null),calibrateJudges:e=>y(`calibrate-judges`,`/calibrate-judges`,{tasksetId:e}),nextPreferenceComparison:(e,t)=>y(`next-preference-comparison`,`/tasksets/${encodeURIComponent(e)}/preference-comparisons/next`,{reviewerKey:t}),submitPreferenceComparison:e=>y(`submit-preference-comparison`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/submit`,e),submitSyntheticFixturePreference:e=>y(`submit-synthetic-fixture-preference`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/fixture-submit`,{...e,id:crypto.randomUUID()}),listPreferenceDatasets:e=>t?Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/preference-datasets`,{},`GET`):Promise.resolve(null),materializePreferenceDataset:e=>y(`materialize-preference-dataset`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-datasets`,{...e,id:`preference-dataset-${crypto.randomUUID()}`,revision:1}),launchRewardModelRun:e=>y(`launch-reward-model-run`,`/tasksets/${encodeURIComponent(e.tasksetId)}/reward-model-runs`,{...e,id:`reward-model-run-${crypto.randomUUID()}`}),learnedPreferenceRewardBinding:e=>y(`learned-preference-reward-binding`,`/tasksets/${encodeURIComponent(e.tasksetId)}/learned-preference-reward-binding`,e),retryRewardModelQualification:e=>y(`retry-reward-model-qualification`,`/reward-model-runs/${encodeURIComponent(e.runId)}/retry-qualification`,e),cancelRewardModelRun:e=>y(`cancel-reward-model-run`,`/reward-model-runs/${encodeURIComponent(e)}/cancel`,{}),markPreferenceComparisonUnreviewable:e=>y(`mark-preference-comparison-unreviewable`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/unreviewable`,e),preferenceCalibrationStatus:(e,n,r)=>{if(!t)return Promise.resolve(null);let i=new URLSearchParams({reviewerKey:n});return r&&i.set(`comparisonReleaseId`,r),Z.trainingRequest(t,`/tasksets/${encodeURIComponent(e)}/preference-comparisons/calibration/status?${i}`,{},`GET`)},startPreferenceCalibrationBatch:e=>y(`start-preference-calibration-batch`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/batches`,{...e,id:crypto.randomUUID()}),syncPreferenceCalibrationBatch:e=>y(`sync-preference-calibration-batch`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/batches/${encodeURIComponent(e.jobId)}/sync`,e),reviewPreferenceComparisonWithModel:e=>y(`review-preference-comparison-with-model`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/${encodeURIComponent(e.assignmentId)}/model-review`,{...e,id:crypto.randomUUID()}),runNextPreferenceCalibrationReview:e=>y(`run-next-preference-calibration-review`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/model-reviews/next`,{...e,id:crypto.randomUUID()}),savePreferenceCalibration:e=>y(`save-preference-calibration`,`/tasksets/${encodeURIComponent(e.tasksetId)}/preference-comparisons/calibration/report`,{...e,id:crypto.randomUUID()}),preferenceArtifactUrl:async e=>{if(!t)return null;let n=await Ot(t,`/v1/training/artifacts/${encodeURIComponent(e)}/download`);if(!n.ok)throw Error(await n.text());return URL.createObjectURL(await n.blob())},readiness:e=>y(`readiness`,`/readiness`,{tasksetId:e}),previewExpertBootstrap:e=>y(`preview-expert-bootstrap`,`/tasksets/${encodeURIComponent(e)}/expert-bootstrap/preview`,{}),approveExpertBootstrap:(e,t)=>y(`approve-expert-bootstrap`,`/tasksets/${encodeURIComponent(e)}/expert-bootstrap/approve`,{previewHash:t}),createPlan:e=>y(`create-plan`,`/plans`,{...e,tasksetId:e.tasksetId}),buildBundle:e=>y(`build-bundle`,`/bundles`,{planId:e}),approveTraining:(e,t)=>y(`approve-training`,`/approvals`,{planId:e,bundleId:t}),launch:(e,t)=>y(`launch`,`/launch`,{planId:e,approvalId:t}),prepareTraining:e=>y(`prepare-training`,`/prepare`,e),prepareModelRun:(e,t)=>y(`prepare-model-run`,`/model-projects/${encodeURIComponent(e)}/training/prepare`,t),startModelRun:(e,t)=>y(`start-model-run`,`/model-projects/${encodeURIComponent(e)}/training/start`,t),startPreparedTraining:e=>y(`start-prepared-training`,`/start/prepared`,e),startTraining:e=>y(`start-training`,`/start`,e),cancelJob:e=>y(`cancel-job`,`/jobs/${encodeURIComponent(e)}/cancel`,{}),retryModelRunCollection:e=>y(`retry-model-run-collection`,`/model-runs/${encodeURIComponent(e)}/retry-collection`,{}),cancelModelRun:e=>y(`cancel-model-run`,`/model-runs/${encodeURIComponent(e)}/cancel`,{}),rejectModel:(e,t)=>y(`reject-model`,`/models/${encodeURIComponent(e)}/reject`,{reason:t}),bindModel:(e,t,r)=>y(`bind-model`,`/models/${encodeURIComponent(e)}/bind`,{profileId:n,role:t,roleTargetId:r,promotedBy:n}),rollbackModelBinding:e=>y(`rollback-model-binding`,`/bindings/${encodeURIComponent(e)}/rollback`,{rolledBackBy:n}),updateModelConfiguration:(e,t)=>y(`update-model-configuration`,`/models/${encodeURIComponent(e)}/configuration`,t,`PATCH`,{silent:!0}),setModelPinned:(e,t)=>y(`pin-model-version`,`/models/${encodeURIComponent(e)}/pin`,{pinned:t},`PATCH`),downloadArtifact:async e=>{if(!t)return!1;p(`download-artifact`);try{let n=await Ot(t,`/v1/training/artifacts/${encodeURIComponent(e)}/download`);if(!n.ok)throw Error(await n.text());let r=n.headers.get(`content-disposition`)??``,i=/filename="([^"]+)"/.exec(r)?.[1]??`openpond-model-artifact`,a=URL.createObjectURL(await n.blob()),o=document.createElement(`a`);return o.href=a,o.download=i,o.click(),URL.revokeObjectURL(a),!0}catch(e){return h(sy(e)),!1}finally{p(null)}},downloadModelPackage:async e=>S(`/models/${encodeURIComponent(e)}/download`,`${e}.openpond-lora.tar`),downloadBundle:async e=>S(`/bundles/${encodeURIComponent(e)}/download`,`openpond-model-improvement-bundle.json`)}),[t,y,n,_]);async function S(e,n){if(!t)return!1;p(`download-bundle`);try{let r=await Ot(t,`/v1/training${e}`);if(!r.ok)throw Error(await r.text());let i=r.headers.get(`content-disposition`)??``,a=/filename="([^"]+)"/.exec(i)?.[1]??n,o=URL.createObjectURL(await r.blob()),s=document.createElement(`a`);return s.href=o,s.download=a,s.click(),URL.revokeObjectURL(o),!0}catch(e){return h(sy(e)),!1}finally{p(null)}}return{connection:t,payload:l,loading:u,busyAction:f,error:m??c.error?.message??null,refresh:_,actions:x}}function sy(e){return e instanceof Error?e.message:String(e)}function cy({modelId:e,taskset:t}){let n=t.metadata.toolContractHash===tt?`cross_system`:t.environment.kind===`stateful_harness`&&t.environment.actionBindings?.length?`harness`:null,r=n?gy(t,n):[];return{model:{providerId:`openpond`,modelId:e},tasksetId:t.id,tasksetName:t.name,taskRuntime:n,sourceProjectId:_y(t),tasks:r,selectedTaskIndex:0,sessionId:null}}function ly(e){return{model:{providerId:`openpond`,modelId:e.modelId},tasksetId:e.tasksetId,tasksetName:e.modelName,taskRuntime:null,sourceProjectId:null,tasks:[],selectedTaskIndex:0,sessionId:null}}function uy(e){return e?.tasks.length?e.tasks[vy(e,e.selectedTaskIndex)]??null:null}function dy(e,t){return{...e,selectedTaskIndex:vy(e,t)}}function fy(e){return dy(e,e.selectedTaskIndex+1)}function py(e,t,n){if(!e||my(e,n))return null;let r=uy(e);return!r||t.trim()!==r.prompt.trim()?null:{...e.taskRuntime===`cross_system`?{crossSystemTaskId:r.generatedTaskId}:{trainingHarnessTaskId:r.generatedTaskId},trainingTasksetId:e.tasksetId,trainingTasksetName:e.tasksetName,source:`training_model_chat_handoff`}}function my(e,t){return!e?.sourceProjectId||e.sourceProjectId===t?null:`This generated Taskset question is bound to its source Cross-System Operations project. Return to Models and choose Chat again to restore the correct project.`}async function hy({model:e,connection:t,loadBootstrap:n,applyBootstrap:r}){e.providerId===`openpond`&&t&&r(await n(t))}function gy(e,t){let n=new Set;return e.tasks.flatMap(e=>{let r=t===`cross_system`?e.metadata.taskId:e.metadata.caseId,i=typeof r==`string`?r.trim():``,a=typeof e.input.prompt==`string`?e.input.prompt.trim():``;return!i||!a||n.has(i)?[]:(n.add(i),[{authoredTaskId:e.id,generatedTaskId:i,prompt:a,split:e.split}])})}function _y(e){let t=new Set(e.sourceRefs.filter(yt).flatMap(e=>{let t=e.workspaceId?.trim();return t?[t]:[]}));return t.size===1?t.values().next().value??null:null}function vy(e,t){return e.tasks.length?Math.max(0,Math.min(Math.trunc(t),e.tasks.length-1)):0}function yy({activeModel:e,activeProvider:t,applyBootstrapPayload:n,beginNewChat:r,composerDraftStore:i,connection:a,requestComposerFocus:o,selectedLocalProjectId:s,selectedSessionId:c,selectLocalProject:l,setDraftModel:u,setDraftProvider:d,setError:f,view:p}){let[m,h]=(0,Y.useState)(null),g=(0,Y.useCallback)(e=>{e.sourceProjectId?l(e.sourceProjectId):r(null)},[r,l]),_=(0,Y.useCallback)(e=>{if(!m)return;let t={...dy(m,e),sessionId:m.sessionId?null:m.sessionId},n=uy(t);h(t),n&&(m.sessionId&&g(t),i.set(n.prompt),o())},[g,i,m,o]),v=(0,Y.useCallback)(()=>{let e=uy(m);e&&i.getSnapshot().trim()===e.prompt.trim()&&i.set(``),h(null)},[i,m]),y=(0,Y.useCallback)(e=>{let t=e.model;hy({model:t,connection:a,loadBootstrap:Z.bootstrap,applyBootstrap:n}).then(()=>{let n={...e,selectedTaskIndex:0,sessionId:null};d(t.providerId),u(t.modelId),h(n.tasks.length?n:null),g(n);let r=uy(n);r&&i.set(r.prompt)}).catch(f)},[n,g,i,a,u,d,f]),b=(0,Y.useCallback)(n=>{let r=!!(m&&m.model.providerId===t&&m.model.modelId===e);return{active:r,error:r?my(m,s):null,metadata:r?py(m,n,s):null}},[e,t,m,s]),x=(0,Y.useCallback)(e=>{h(t=>t&&{...t,sessionId:e})},[]),S=(0,Y.useCallback)(()=>{if(!m)return;let e={...fy(m),sessionId:null},t=uy(e);h(e),t&&(g(e),i.set(t.prompt),o())},[g,i,m,o]);return(0,Y.useEffect)(()=>{let e=uy(m);e&&p===`chat`&&!c&&i.set(t=>t.trim()?t:e.prompt)},[i,m,s,c,p]),(0,Y.useEffect)(()=>{m&&c&&m.sessionId!==c&&h(null)},[m?.sessionId,c]),{advanceAfterTurn:S,begin:y,bindSession:x,dismiss:v,handoff:m,prepareTurn:b,selectTask:_}}function by(e){let t=null,n=!1,r=null,i=!1;async function a(){try{do{i=!1;let r;do{let i=t===null,a=t,s=await e.fetchPage({sessionId:e.sessionId,limit:500,...i?{beforeSequence:2**53-1}:{afterSequence:t}});if(n||(i&&(s=await o(s)),n))return;if(!i&&s.hasMore&&s.nextSequence<=a)throw Error(`Chat history did not advance. Reopen the task to retry.`);let c=new Set(e.store.getSessionEvents(e.sessionId).map(e=>e.id));s.events.some(e=>!c.has(e.event.id))&&e.store.mergeBootstrap(s.events.map(e=>e.event)),t=s.events.at(-1)?.sequence??a??0,e.onPage(s,i),r=!i&&s.hasMore}while(r&&!n)}while(i&&!n)}catch(t){n||e.onError(t)}}async function o(t){let r=t.events.find(({event:e})=>e.turnId)?.event.turnId;if(!r||t.events.some(({event:e})=>e.turnId===r&&e.name===`turn.started`))return t;let i=t.events,a=t;for(;a.hasMore&&!n;){let o=e.store.perSessionLimit-i.length;if(o<=0)throw Error(`This turn exceeds the automatic history window. Load older messages to recover its beginning.`);let s=await e.fetchPage({sessionId:e.sessionId,beforeSequence:a.previousSequence,limit:Math.min(500,o)});if(n)return t;if(!s.events.length||s.previousSequence>=a.previousSequence)throw Error(`Chat history did not advance. Reopen the task to retry.`);let c=s.events.findIndex(({event:e})=>e.turnId===r&&e.name===`turn.started`);if(i=[...c>=0?s.events.slice(c):s.events,...i],a=s,c>=0)return{...t,events:i,previousSequence:i[0].sequence,hasMore:s.hasMore||c>0,remainingMatchingEvents:s.remainingMatchingEvents+c}}return{...t,events:i,previousSequence:i[0]?.sequence??t.previousSequence,hasMore:a.hasMore,remainingMatchingEvents:a.remainingMatchingEvents}}return{refresh(){return n?Promise.resolve():r?(i=!0,r):(r=a().finally(()=>{r=null}),r)},close(){n=!0}}}var xy=[],Sy=500;function Cy(e){let{approvals:t,codexHistoryEvents:n,connection:r,runtimeIndexes:i,runtimeEventStore:a,selectedSessionId:o,serverId:s,setCodexHistoryEvents:c,setCodexHistorySessions:l,setError:u}=e,[d,f]=(0,Y.useState)({}),[p,m]=(0,Y.useState)({}),h=(0,Y.useRef)(new Set);(0,Y.useEffect)(()=>{f({}),m({}),h.current.clear()},[s]);let g=(0,Y.useCallback)(async()=>{if(!r||!o||h.current.has(o))return!1;let e=p[o];if(e?.hasMore===!1)return!1;if(_l(o)){let t=Math.max(e?.totalMatchingEvents??0,n.length,800),i=Math.min(Hp,Math.max(Vp,t*2));h.current.add(o),m(e=>({...e,[o]:{cursorSequence:null,hasMore:!0,loading:!0,totalMatchingEvents:e[o]?.totalMatchingEvents??n.length}}));try{let e=await qp(r,o,{force:!0,limit:i,tail:!1});return c(e.events),l(t=>jp(t,e.session)),m(t=>({...t,[o]:{cursorSequence:null,hasMore:e.events.length>=i&&i<5e4,loading:!1,totalMatchingEvents:i}})),e.events.length>n.length}catch(e){return u(e instanceof Error?e.message:String(e)),m(e=>({...e,[o]:{cursorSequence:null,hasMore:e[o]?.hasMore??!0,loading:!1,totalMatchingEvents:e[o]?.totalMatchingEvents??n.length}})),!1}finally{h.current.delete(o)}}let t=Cd(d[o]??xy,a.getSessionEvents(o)),i=e?.cursorSequence??wy(t);if(!i)return!1;h.current.add(o),m(e=>({...e,[o]:{cursorSequence:e[o]?.cursorSequence??i,hasMore:e[o]?.hasMore??!0,loading:!0,totalMatchingEvents:e[o]?.totalMatchingEvents??null}}));try{let e=await Z.runtimeEventsPage(r,{sessionId:o,beforeSequence:i,limit:Sy}),t=e.events.map(e=>e.event);return f(e=>({...e,[o]:Cd(t,e[o]??xy)})),m(t=>({...t,[o]:{cursorSequence:e.previousSequence,hasMore:e.hasMore,loading:!1,totalMatchingEvents:e.totalMatchingEvents}})),t.length>0}catch(e){return u(e instanceof Error?e.message:String(e)),m(e=>({...e,[o]:{cursorSequence:e[o]?.cursorSequence??i,hasMore:e[o]?.hasMore??!0,loading:!1,totalMatchingEvents:e[o]?.totalMatchingEvents??null}})),!1}finally{h.current.delete(o)}},[p,n.length,r,d,a,o,c,l,u]),_=o?d[o]??xy:xy;return(0,Y.useEffect)(()=>{if(!r||!o||_l(o))return;let e=o,t=by({sessionId:e,store:a,fetchPage:e=>Z.runtimeEventsPage(r,e),onPage:(t,n)=>{n&&m(n=>{let r=n[e],i=r?.cursorSequence!=null&&r.cursorSequence<t.previousSequence;return{...n,[e]:{cursorSequence:i?r.cursorSequence:t.previousSequence,hasMore:i?r.hasMore:t.hasMore,loading:r?.loading??!1,totalMatchingEvents:t.totalMatchingEvents}}})},onError:e=>u(e instanceof Error?e.message:String(e))}),n=()=>{document.visibilityState===`visible`&&t.refresh()};t.refresh();let i=window.setInterval(n,1e4);return window.addEventListener(`focus`,n),window.addEventListener(`openpond-runtime-connected`,n),document.addEventListener(`visibilitychange`,n),()=>{t.close(),window.clearInterval(i),window.removeEventListener(`focus`,n),window.removeEventListener(`openpond-runtime-connected`,n),document.removeEventListener(`visibilitychange`,n)}},[r,a,o,s,u]),{chatHistoryLoadStates:p,loadMoreSelectedChatHistory:g,selectedPagedSessionEvents:_,selectedRuntimeIndexes:(0,Y.useMemo)(()=>_l(o)?Wd(n,[]):!o||_.length===0?i:Wd(Cd(_,a.getSessionEvents(o)),t),[t,n,i,_,o])}}function wy(e){let t=null;for(let n of e)n.sequence!==void 0&&(t===null||n.sequence<t)&&(t=n.sequence);return t}function Ty(e,t){let n=(0,Y.useRef)(null);return(0,Y.useMemo)(()=>{let r=Gd(e,t,n.current);return n.current={events:e,indexes:r},r},[t,e])}function Ey(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function Dy(e){return Array.isArray(e)?e.filter(e=>!!Ey(e)):[]}function Oy(e){return typeof e==`string`&&e.trim()?e.trim():null}function ky(e){return Oy(e)??Ey(e)}function Ay(e){if(!e)return[];let t=Ey(e.sandboxActionRegistry),n=Ey(e.sandboxManifest),r=new Map;for(let e of[...Dy(n?.actionCatalog),...Dy(t?.actions),...Dy(n?.actions)]){let t=Oy(e.id)??Oy(e.name);if(!t)continue;let n=r.get(t);r.set(t,{id:t,name:Oy(e.name)??n?.name??t,label:Oy(e.label)??n?.label??jy(t),description:Oy(e.description)??n?.description??null,visibility:Oy(e.visibility)??n?.visibility??`default`,inputSchema:ky(e.inputSchema)??n?.inputSchema??null,outputSchema:ky(e.outputSchema)??n?.outputSchema??null,implementation:Ey(e.implementation)??n?.implementation??null,mcp:Ey(e.mcp)??n?.mcp??null,invokesModel:typeof e.invokesModel==`boolean`?e.invokesModel:n?.invokesModel})}return Array.from(r.values()).filter(e=>e.visibility!==`internal`&&e.visibility!==`debug`)}function jy(e){let t=e.replace(/[._-]+/g,` `).trim();return t?t.replace(/\b\w/g,e=>e.toUpperCase()):e}function My(e){if(e.selectedCloudProject)return{id:e.selectedCloudProject.id,teamId:e.selectedCloudProject.teamId,name:e.selectedCloudProject.name,selectionKey:U(`cloud`,e.selectedCloudProject.id),localProjectId:null};let t=e.selectedProject?.linkedSandboxProject??null;if(!t?.projectId||!t.teamId)return null;let n=e.cloudProjects?vf(e.selectedProject,e.cloudProjects):null;return e.cloudProjects&&!n?null:{id:n?.id??t.projectId,teamId:n?.teamId??t.teamId,name:n?.name??t.projectName??e.selectedProject?.name??`Cloud Project`,selectionKey:U(`cloud`,n?.id??t.projectId),localProjectId:e.selectedProject?.id??null}}var Ny=new Map;function Py(e,t){let n=e?.trim();return n?`${t?.trim()||`global`}|${n}`:null}function Fy(e,t){let n=Py(e,t);if(!n)return null;let r=Ny.get(n);return r?.updatedAt?r.projects:null}function Iy(e,t,n){let r=Py(e,n);r&&Ny.set(r,{projects:t,promise:null,updatedAt:Date.now()})}function Ly(e){let t=e.teamId?.trim();if(!t)return Promise.resolve([]);let n=Py(t,e.accountKey);if(!n)return Promise.resolve([]);let r=Ny.get(n);if(!e.force){if(r?.updatedAt)return Promise.resolve(r.projects);if(r?.promise)return r.promise}let i=e.fetchProjects(t).then(n=>(Iy(t,n,e.accountKey),n)).catch(e=>{let t=Ny.get(n);throw t?.promise===i&&Ny.set(n,{projects:t.projects,promise:null,updatedAt:t.updatedAt}),e});return Ny.set(n,{projects:r?.projects??[],promise:i,updatedAt:r?.updatedAt??0}),i}function Ry(e){let t=new Map;for(let n of e)n.archivedAt||n.status!==`active`||t.set(n.id,n);return[...t.values()].sort((e,t)=>e.name.localeCompare(t.name))}function zy({cloudProjectById:e,cloudProjects:t,connection:n,defaultTeamId:r,accountScopeKey:i,localProjects:a,profile:o,selectedCloudProject:s,selectedProject:c,reportError:l}){let[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)([]),[m,h]=(0,Y.useState)([]),g=(0,Y.useMemo)(()=>{let e=new Set;r&&e.add(r);for(let n of t)e.add(n.teamId);for(let n of a){let r=t.find(e=>e.id===n.linkedSandboxProject?.projectId&&e.teamId===n.linkedSandboxProject?.teamId);r?.teamId&&e.add(r.teamId)}return[...e].sort()},[t,r,a]),_=g.join(`\0`),v=(0,Y.useMemo)(()=>My({cloudProjects:t,selectedCloudProject:s,selectedProject:c}),[t,s,c]);(0,Y.useEffect)(()=>{if(!n||g.length===0){h([]);return}let e=!1,t=g.flatMap(e=>V_(e,i)??[]);return h(Ry(t)),Promise.all(g.map(e=>U_({teamId:e,accountKey:i,fetchAgents:async e=>(await Z.listSandboxAgents(n,{teamId:e})).agents}))).then(t=>{e||h(Ry(t.flat()))}).catch(()=>{e||h(Ry(t))}),()=>{e=!0}},[i,n,_]),(0,Y.useEffect)(()=>{if(!n||!v){d(null);return}let e=Fy(v.teamId,i);e&&d(e.find(e=>e.id===v.id)??null);let t=!1;return Ly({teamId:v.teamId,accountKey:i,fetchProjects:async e=>(await Z.listSandboxProjects(n,{teamId:e})).projects}).then(e=>{t||d(e.find(e=>e.id===v.id)??null)}).catch(()=>{t||d(null)}),()=>{t=!0}},[i,n,v?.id,v?.teamId]),(0,Y.useEffect)(()=>{if(!n||!c){p([]);return}let e=!1;return Z.localProjectActions(n,c.id).then(t=>{e||p(t.actions)}).catch(t=>{e||(p([]),l?.(`Could not load Project Actions for ${c.name}: ${t instanceof Error?t.message:String(t)}`))}),()=>{e=!0}},[n,l,c?.id,c?.name,c?.updatedAt]);let y=(0,Y.useMemo)(()=>{let e=new Map;for(let t of Ay(u))e.set(t.id,t);for(let t of f)e.set(t.id,t);return[...e.values()]},[f,u]),b=(0,Y.useMemo)(()=>Qt(o),[o]),x=(0,Y.useMemo)(()=>[...m.map(t=>$t(t,e.get(t.projectId)?.name??null)),...b,...y],[e,b,y,m]);return{openPondActionCatalog:(0,Y.useMemo)(()=>[...b,...y],[b,y]),selectedActionCatalog:x,selectedProjectActionCatalog:y}}function By({selectedProjectId:e}){let[t,n]=(0,Y.useState)(()=>new Set),r=(0,Y.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),i=(0,Y.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);return(0,Y.useEffect)(()=>{e&&r(e)},[r,e]),{expandedProjectIds:t,expandProject:r,toggleProjectExpanded:i,setExpandedProjectIds:n}}function Vy(){let e=new Map;function t(t,r){let i=e.get(t);if(i)return i.consumers+=1,n(t,i,!0);let a=new AbortController,o={controller:a,consumers:1,settled:!1,promise:Promise.resolve().then(()=>r(a.signal)).finally(()=>{o.settled=!0,e.get(t)===o&&e.delete(t)})};return e.set(t,o),n(t,o,!1)}function n(e,t,n){let r=!1;return{key:e,promise:t.promise,shared:n,release:()=>{r||(r=!0,t.consumers=Math.max(0,t.consumers-1),t.consumers===0&&!t.settled&&t.controller.abort())}}}function r(){for(let t of e.values())t.consumers=0,t.settled||t.controller.abort()}return{request:t,cancelAll:r,inFlightCount:()=>e.size}}function Hy(e,t,n){return`workspace-status:${e.serverUrl}:${t}:${n?`ensure`:`read`}`}function Uy(e,t){return`workspace-diff:${e.serverUrl}:${t}`}function Wy(e){return e instanceof Error&&e.name===`AbortError`}function Gy({connection:e,activeWorkspaceAppId:t,view:n,shouldLoadWorkspaceDiff:r,sidebarWorkspaceAppIds:i,setError:a}){let[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)({}),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),g=(0,Y.useRef)(new Set),_=(0,Y.useRef)(new Set),v=(0,Y.useRef)(Vy()),y=t?c[t]??(o?.appId===t?o:null):null,b=u?.appId===t?u:null,x=n===`chat`||n===`labs`,S=(0,Y.useCallback)(e=>{g.current.add(e.appId),s(e),l(t=>({...t,[e.appId]:e}))},[]),C=(0,Y.useCallback)(async(t,n=!1)=>{if(!e||!t)return s(null),null;p(!0);let r=v.current.request(Hy(e,t,n),r=>Z.workspaceStatus(e,t,n,{signal:r}));try{let e=await r.promise;return S(e),n&&e.error?a(`Workspace sync failed: ${e.error}`):n&&a(null),e}catch(e){return Wy(e)||(s(null),a(e instanceof Error?e.message:String(e))),null}finally{r.release(),p(!1)}},[e,S,a]),w=(0,Y.useCallback)(async(n=t,r={})=>{if(!e||!n)return d(null),null;r.silent||h(!0);let i=v.current.request(Uy(e,n),t=>Z.workspaceDiff(e,n,{signal:t}));try{let e=await i.promise;return d(e),e}catch(e){return Wy(e)||(d(null),a(e instanceof Error?e.message:String(e))),null}finally{i.release(),r.silent||h(!1)}},[t,e,a]);return(0,Y.useEffect)(()=>{if(!e||!t||!x){s(null),d(null),p(!1);return}let n=!1,r=v.current.request(Hy(e,t,!1),n=>Z.workspaceStatus(e,t,!1,{signal:n}));return p(!0),r.promise.then(e=>{n||(S(e),e.initialized||d(t=>t?.appId===e.appId?null:t))}).catch(e=>{Wy(e)||n||(s(null),a(e instanceof Error?e.message:String(e)))}).finally(()=>{r.release(),n||p(!1)}),()=>{n=!0,r.release()}},[t,e,S,a,x]),(0,Y.useEffect)(()=>{!e||!t||!x?d(null):y?.initialized?r&&w(t):y&&!y.initialized&&d(e=>e?.appId===t?null:e)},[t,e,w,r,x,y?.dirty,y?.initialized]),(0,Y.useEffect)(()=>{if(!e||i.length===0)return;let t=i.filter(e=>!g.current.has(e)&&!_.current.has(e));if(t.length===0)return;t.forEach(e=>_.current.add(e));let n=!1,r=t.map(t=>({appId:t,request:v.current.request(Hy(e,t,!1),n=>Z.workspaceStatus(e,t,!1,{signal:n}))}));return Promise.all(r.map(({appId:e,request:t})=>t.promise.then(t=>({appId:e,state:t})).catch(()=>({appId:e,state:null})).finally(()=>{t.release(),_.current.delete(e)}))).then(e=>{if(!n)for(let t of e)t.state&&S(t.state)}),()=>{n=!0,r.forEach(({appId:e,request:t})=>{t.release(),_.current.delete(e)})}},[e,S,i]),(0,Y.useEffect)(()=>()=>v.current.cancelAll(),[]),{workspaceState:o,workspaceStates:c,workspaceDiff:u,workspaceBusy:f,diffBusy:m,visibleWorkspaceState:y,visibleWorkspaceDiff:b,rememberWorkspaceState:S,refreshWorkspace:C,refreshWorkspaceDiff:w,setWorkspaceBusy:p}}function Ky(e){let{connection:t,accountScopeKey:n,currentUserId:r,teamId:i}=e;return ir({queryKey:[`team-members`,dn(t),n,r,i],enabled:!!(t&&n&&r&&i),queryFn:async({signal:e})=>!t||!n||!r||!i?[]:(await Z.teamChatMembers(t,i,e)).members,staleTime:6e4,gcTime:3e5,refetchInterval:6e4,refetchOnWindowFocus:!0,retry:!1})}var qy=1,Jy=15e3,Yy=15e3,Xy=3e5,Zy=5e3,Qy=1e4;function $y(e,t=(e,t)=>new WebSocket(e,t),n={}){let r=new eb(e,t,n.reconnectDelayMs??tb);return r.open(),{close:()=>r.close()}}var eb=class{input;webSocketFactory;reconnectDelayMs;socket=null;closed=!1;generation=0;reconnectAttempt=0;reconnectTimer=null;connectionAckTimer=null;subscriptionAckTimer=null;keepAliveTimer=null;keepAliveTimeoutMs=Xy;lastKeepAliveAt=Date.now();ready=!1;subscriptionChannels=new Map;acknowledgedSubscriptions=new Set;constructor(e,t,n){this.input=e,this.webSocketFactory=t,this.reconnectDelayMs=n}open(){this.connect()}close(){if(this.closed)return;this.closed=!0,this.clearTimers();let e=this.socket;if(this.socket=null,e){if(e.readyState===qy)for(let t of this.subscriptionChannels.keys())e.send(JSON.stringify({type:`unsubscribe`,id:t}));e.onclose=null,e.onerror=null,e.onmessage=null,e.onopen=null,e.close(1e3,`Client closed`)}}connect(){if(this.closed)return;let e=++this.generation;this.subscriptionChannels.clear(),this.acknowledgedSubscriptions.clear(),this.ready=!1,this.clearConnectionTimers();let t;try{t=this.webSocketFactory(this.input.realtimeUrl,[`aws-appsync-event-ws`,`header-${nb(JSON.stringify({Authorization:this.input.authorizationToken,host:new URL(this.input.httpUrl).host}))}`])}catch(e){this.reportError(e),this.scheduleReconnect();return}this.socket=t,t.onopen=()=>{this.isCurrent(t,e)&&(t.send(JSON.stringify({type:`connection_init`})),this.connectionAckTimer=setTimeout(()=>{this.failConnection(Error(`Team chat realtime connection acknowledgement timed out.`))},Jy))},t.onmessage=n=>{this.isCurrent(t,e)&&this.handleMessage(t,n)},t.onerror=()=>{this.isCurrent(t,e)&&this.failConnection(Error(`Team chat realtime socket failed.`),!1)},t.onclose=n=>{this.isCurrent(t,e)&&(this.socket=null,this.clearConnectionTimers(),this.closed||((n.code===4401||n.code===4403)&&this.reportError(Error(`Team chat realtime authorization expired.`)),this.scheduleReconnect()))}}handleMessage(e,t){if(typeof t.data!=`string`)return;let n;try{let e=JSON.parse(t.data);if(!e||typeof e!=`object`||Array.isArray(e))return;n=e}catch{this.reportError(Error(`Team chat realtime returned an invalid frame.`));return}let r=typeof n.type==`string`?n.type:``;if(r===`connection_ack`)this.connectionAckTimer&&clearTimeout(this.connectionAckTimer),this.connectionAckTimer=null,this.keepAliveTimeoutMs=ib(n.connectionTimeoutMs),this.lastKeepAliveAt=Date.now(),this.startKeepAliveMonitor(),this.subscribe(e);else if(r===`ka`)this.lastKeepAliveAt=Date.now();else if(r===`subscribe_success`){let e=typeof n.id==`string`?n.id:``;if(!this.subscriptionChannels.has(e))return;this.acknowledgedSubscriptions.add(e),this.markReadyWhenSubscribed()}else if(r===`data`){if(this.lastKeepAliveAt=Date.now(),typeof n.event!=`string`)return;try{this.input.onEvent(JSON.parse(n.event))}catch{this.reportError(Error(`Team chat realtime returned an invalid event.`))}}else if(r===`connection_error`||r===`subscribe_error`){let e=ab(n);if(this.reportError(e),r===`connection_error`)this.failConnection(e,!1);else{let e=typeof n.id==`string`?n.id:``;this.subscriptionChannels.delete(e),this.acknowledgedSubscriptions.delete(e),this.markReadyWhenSubscribed()}}}subscribe(e){let t={Authorization:this.input.authorizationToken,host:new URL(this.input.httpUrl).host};for(let n of Array.from(new Set(this.input.channels))){let r=rb();this.subscriptionChannels.set(r,n),e.send(JSON.stringify({type:`subscribe`,id:r,channel:n,authorization:t}))}this.subscriptionAckTimer=setTimeout(()=>{this.failConnection(Error(`Team chat realtime subscription acknowledgement timed out.`))},Yy)}startKeepAliveMonitor(){this.keepAliveTimer&&clearInterval(this.keepAliveTimer),this.keepAliveTimer=setInterval(()=>{Date.now()-this.lastKeepAliveAt<=this.keepAliveTimeoutMs||this.failConnection(Error(`Team chat realtime connection became stale.`))},Zy)}markReadyWhenSubscribed(){this.ready||this.subscriptionChannels.size===0||this.acknowledgedSubscriptions.size!==this.subscriptionChannels.size||(this.ready=!0,this.subscriptionAckTimer&&clearTimeout(this.subscriptionAckTimer),this.subscriptionAckTimer=null,this.reconnectAttempt=0,this.input.onReady?.())}failConnection(e,t=!0){if(this.closed)return;t&&this.reportError(e);let n=this.socket;this.clearConnectionTimers(),n?n.close(4e3,`Reconnect`):this.scheduleReconnect()}scheduleReconnect(){if(this.closed||this.reconnectTimer)return;let e=Math.max(0,Math.floor(this.reconnectDelayMs(this.reconnectAttempt)));this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}reportError(e){this.input.onError?.(e)}isCurrent(e,t){return!this.closed&&this.socket===e&&this.generation===t}clearConnectionTimers(){this.connectionAckTimer&&clearTimeout(this.connectionAckTimer),this.subscriptionAckTimer&&clearTimeout(this.subscriptionAckTimer),this.keepAliveTimer&&clearInterval(this.keepAliveTimer),this.connectionAckTimer=null,this.subscriptionAckTimer=null,this.keepAliveTimer=null}clearTimers(){this.clearConnectionTimers(),this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null}};function tb(e){let t=Math.min(Qy,500*2**Math.min(e,5));return Math.max(100,Math.floor(Math.random()*t))}function nb(e){let t=new TextEncoder().encode(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/,``)}function rb(){return globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}function ib(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:Xy}function ab(e){let t=(Array.isArray(e.errors)?e.errors:[])[0];if(t&&typeof t==`object`){let e=t,n=typeof e.errorType==`string`?e.errorType:`RealtimeError`,r=typeof e.message==`string`?e.message:`Request failed`;return Error(`${n}: ${r}`)}return Error(`Team chat realtime request failed.`)}function ob(e,t,n){let r=[`/team-chat/users/${e.session.userId}/${e.session.teamId}`,...Array.from(new Set(e.threadIds)).map(e=>`/team-chat/threads/${e}`)];return $y({realtimeUrl:e.session.realtimeUrl,httpUrl:e.session.httpUrl,authorizationToken:e.session.token,channels:r,onEvent:t=>{let n=si.safeParse(t);n.success&&e.onEvent(n.data)},onReady:e.onReady,onError:e.onError},t,n)}function sb(e){return e.refs.find(e=>e.refType===`message_reply`)??null}function cb(e){return{id:e.id,authorType:e.authorType,authorUserId:e.authorUserId,authorAgentId:e.authorAgentId,body:e.body,deleted:!!e.deletedAt}}function lb(e,t){let n=sb(e);if(!n)return null;let r=t.get(n.refId);return r?cb(r):pb(n)}function ub(e){let t=e.body.slice(0,500);return{authorType:e.authorType,authorUserId:e.authorUserId,authorAgentId:e.authorAgentId,body:t,truncated:t.length<e.body.length}}function db(e,t){return e.authorUserId?t.get(e.authorUserId)?.name??`Team member`:e.authorType===`agent`||e.authorAgentId?`Agent`:e.authorType===`system`?`System`:`Team member`}function fb(e){return e.deleted?`Message deleted`:e.body.replace(/\s+/g,` `).trim()||`Attachment`}function pb(e){let t=e.preview;return{id:e.refId,authorType:mb(t.authorType),authorUserId:typeof t.authorUserId==`string`?t.authorUserId:null,authorAgentId:typeof t.authorAgentId==`string`?t.authorAgentId:null,body:typeof t.body==`string`?t.body:``,deleted:t.deleted===!0}}function mb(e){return e===`agent`||e===`system`?e:`user`}function hb(e,t,n){return n===t.conversationId?{...e,aiThread:t}:e}function gb(e,t){return!e||e.thread.id!==t.thread.id?t:{...t,messages:Sb([...e.messages,...t.messages]),hasMoreBefore:e.messages.length>t.messages.length?e.hasMoreBefore:t.hasMoreBefore}}function _b(e,t){let n=Array.from(t.values()).filter(t=>t.threadId===e.thread.id);if(n.length===0)return e;let r=e.thread;for(let e of n)r=Tb(r,e,`message.created`,!0,e.authorUserId);return{...e,thread:r,messages:Sb([...e.messages,...n])}}function vb(e,t){let n=new Set(e.map(e=>e.lastMessage?.clientRequestId).filter(e=>!!e)),r=new Map;for(let e of t.values()){if(e.clientRequestId&&n.has(e.clientRequestId))continue;let t=r.get(e.threadId)??[];t.push(e),r.set(e.threadId,t)}return e.map(e=>{let t=e;for(let n of r.get(e.id)??[])t=Tb(t,n,`message.created`,!0,n.authorUserId);return t}).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt))}function yb(e,t,n){for(let r of e)r.clientRequestId&&!r.id.startsWith(`pending:`)&&(t.delete(r.clientRequestId),n.delete(r.clientRequestId))}function bb(e,t,n){let r=e.get(t);r&&e.set(t,{...r,metadata:{...r.metadata,deliveryStatus:n}})}function xb(e,t,n){let r=e.get(t);r&&e.set(t,{...r,metadata:{...r.metadata,uploadProgress:n}})}function Sb(e){let t=new Map,n=new Set(e.filter(e=>!e.id.startsWith(`pending:`)).map(e=>e.clientRequestId).filter(e=>!!e));for(let r of e)r.id.startsWith(`pending:`)&&r.clientRequestId&&n.has(r.clientRequestId)||t.set(r.id,r);return Array.from(t.values()).sort((e,t)=>e.sequence===t.sequence?e.createdAt.localeCompare(t.createdAt):e.sequence-t.sequence)}function Cb(e){return e.type!==`message.created`&&e.type!==`message.updated`&&e.type!==`message.deleted`?null:ni.safeParse(e.payload.message).data??null}function wb(e,t,n){let r=Cb(t);if(r){let i=e.selectedThreadId===r.threadId,a=e.detail?.thread.id===r.threadId?{...e.detail,thread:Tb(e.detail.thread,r,t.type,i,n),messages:Sb([...e.detail.messages,r])}:e.detail,o=e.threads.some(e=>e.id===r.threadId)?e.threads.map(e=>e.id===r.threadId?Tb(e,r,t.type,i,n):e).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt)):e.threads;return{...e,detail:a,threads:o,error:null}}if(t.type===`read.updated`){let n=typeof t.payload.userId==`string`?t.payload.userId:null,r=Number(t.payload.sequence);if(!n||!Number.isSafeInteger(r)||r<0)return e;let i=e=>({...e,participants:e.participants.map(e=>e.userId===n?{...e,lastReadSequence:Math.max(e.lastReadSequence,r)}:e)});return{...e,threads:e.threads.map(e=>e.id===t.threadId?i(e):e),detail:e.detail?.thread.id===t.threadId?{...e.detail,thread:i(e.detail.thread)}:e.detail}}return e}function Tb(e,t,n,r,i){let a=n===`message.created`,o=t.sequence>=e.lastMessageSequence;return{...e,lastMessageId:o?t.id:e.lastMessageId,lastMessageSequence:Math.max(e.lastMessageSequence,t.sequence),lastMessageAt:o?t.createdAt:e.lastMessageAt,updatedAt:o?t.createdAt:e.updatedAt,lastMessage:o?t:e.lastMessage,unreadCount:r||t.authorUserId===i?0:a?e.unreadCount+1:e.unreadCount}}function Eb(e){let t=new Date().toISOString(),n=`pending:${e.clientRequestId}`;return{id:n,threadId:e.threadId,teamId:e.teamId,clientRequestId:e.clientRequestId,authorType:`user`,authorUserId:e.userId,authorAgentId:null,sequence:e.sequence,kind:`text`,body:e.body,metadata:{deliveryStatus:`sending`,mentionUserIds:e.mentionUserIds,localAttachmentPreviews:e.attachments.map(e=>({id:e.id,url:`data:${e.mediaType};base64,${e.contentsBase64}`}))},editedAt:null,deletedAt:null,createdAt:t,refs:e.replyToMessage?[{id:`pending-reply:${e.clientRequestId}`,messageId:n,refType:`message_reply`,refId:e.replyToMessage.id,preview:ub(e.replyToMessage),createdAt:t}]:[],attachments:e.attachments.map(e=>({id:e.id,messageId:null,clientAttachmentId:e.id,kind:`image`,name:e.name,mediaType:e.mediaType,sizeBytes:e.sizeBytes,status:`pending`,createdAt:t,readyAt:null}))}}function Db(e,t){let n=e.detail?.thread.id===t.threadId?{...e.detail,thread:Tb(e.detail.thread,t,`message.created`,!0,t.authorUserId),messages:Sb([...e.detail.messages,t])}:e.detail;return{...e,detail:n,threads:e.threads.map(e=>e.id===t.threadId?Tb(e,t,`message.created`,!0,t.authorUserId):e).sort((e,t)=>t.lastMessageAt.localeCompare(e.lastMessageAt)),error:null}}function Ob(e,t,n){return wb(e,{id:0,teamId:t.teamId,threadId:t.threadId,conversationId:null,type:`message.created`,payload:{message:t},createdAt:t.createdAt},n)}function kb(e,t){return Ab(e,t,`failed`)}function Ab(e,t,n){let r=e=>e.clientRequestId===t&&e.id.startsWith(`pending:`)?{...e,metadata:{...e.metadata,deliveryStatus:n}}:e;return{...e,detail:e.detail?{...e.detail,thread:{...e.detail.thread,lastMessage:e.detail.thread.lastMessage?r(e.detail.thread.lastMessage):null},messages:e.detail.messages.map(r)}:null,threads:e.threads.map(e=>({...e,lastMessage:e.lastMessage?r(e.lastMessage):null}))}}function jb(e,t,n){let r=e=>e.clientRequestId===t&&e.id.startsWith(`pending:`)?{...e,metadata:{...e.metadata,uploadProgress:n}}:e;return{...e,detail:e.detail?{...e.detail,thread:{...e.detail.thread,lastMessage:e.detail.thread.lastMessage?r(e.detail.thread.lastMessage):null},messages:e.detail.messages.map(r)}:null,threads:e.threads.map(e=>({...e,lastMessage:e.lastMessage?r(e.lastMessage):null}))}}function Mb(e,t){let n=e.detail?.messages.filter(e=>e.id!==t)??[],r=n.at(-1)??null,i=e.detail?{...e.detail,thread:e.detail.thread.lastMessageId===t?Pb(e.detail.thread,r):e.detail.thread,messages:n}:null;return{...e,detail:i,threads:e.threads.map(e=>e.lastMessageId===t?Pb(e,r):e)}}function Nb(e){if(e.length>G.maxAttachments)return null;let t=[];for(let n of e){if(n.kind!==`image`||!Fb(n.mediaType)||!n.contentsBase64||n.sizeBytes<=0||n.sizeBytes>G.maxAttachmentBytes)return null;t.push({...n,kind:`image`,mediaType:n.mediaType,contentsBase64:n.contentsBase64})}return t}function Pb(e,t){return{...e,lastMessageId:t?.id??null,lastMessageSequence:t?.sequence??0,lastMessageAt:t?.createdAt??e.createdAt,updatedAt:t?.createdAt??e.createdAt,lastMessage:t}}function Fb(e){return e===`image/png`||e===`image/jpeg`||e===`image/webp`||e===`image/gif`}var Ib={team_chat_team_not_found:`You no longer have access to this workspace.`,workspace_membership_required:`You no longer have access to this workspace.`,team_chat_billing_inactive:`Workspace chat is unavailable while its subscription is inactive. Ask the workspace owner to review billing.`,workspace_billing_suspended:`Workspace billing is suspended. Ask the workspace owner to update billing.`,workspace_billing_cancelled:`This workspace subscription is cancelled. Ask the workspace owner to reactivate it.`,workspace_checkout_pending:`Workspace checkout is still pending. Ask the workspace owner to finish setup.`,member_paid_usage_disabled:`The workspace owner has not enabled paid model usage for your account.`,member_spend_cap_exceeded:`You reached your workspace member spending limit. Ask the workspace owner to adjust it.`,member_opchat_quota_exceeded:`You reached your workspace member OpChat limit. Ask the workspace owner to adjust it.`,member_search_quota_exceeded:`You reached your workspace member Search limit. Ask the workspace owner to adjust it.`,workspace_prepaid_credit_required:`This workspace needs more prepaid credits. Ask the workspace owner to add credits.`,workspace_spend_cap_exceeded:`This workspace reached its spend cap. Ask the workspace owner to review billing.`,opchat_workspace_quota_exceeded:`This workspace reached its included OpChat limit for the period.`,search_workspace_quota_exceeded:`This workspace reached its included Search limit for the period.`};function Lb(e){let t=e instanceof Error?e.message:String(e),n=t.trim().toLowerCase();for(let[e,t]of Object.entries(Ib))if(n.includes(e))return t;return n.includes(`event stream ended`)?`Team chat realtime disconnected. Messages will continue to refresh automatically.`:wg(t)}var Rb=`openpond.team-chat.notification-mode`;function zb(){try{return typeof window>`u`?null:de}catch{return null}}function Bb(e=zb()){let t=e?.getItem(Rb);return t===`direct_mentions`||t===`none`?t:`all`}function Vb(e,t=zb()){try{t?.setItem(Rb,e)}catch{}}function Hb(e){return e.mode===`none`||!e.currentUserId||!e.thread||e.thread.mutedAt||e.message.deletedAt||e.message.authorUserId===e.currentUserId?!1:e.mode===`all`||e.thread.kind===`dm`||(Array.isArray(e.message.metadata.mentionUserIds)?e.message.metadata.mentionUserIds:[]).includes(e.currentUserId)}function Ub(e){let t=e.message.authorUserId?e.members.find(t=>t.userId===e.message.authorUserId)?.name??`Team member`:e.message.authorType===`agent`?`Agent`:`Team`,n=e.thread.title?.trim()||(e.thread.kind===`general`?`general`:`conversation`),r=e.thread.kind===`dm`?t:`${t} in #${n}`,i=e.message.body.replace(/\s+/g,` `).trim()||(e.message.attachments.length===1?`Sent an image`:e.message.attachments.length>1?`Sent ${e.message.attachments.length} images`:`New message`);return{eventId:e.eventId,threadId:e.message.threadId,title:r,body:i.length>160?`${i.slice(0,157)}…`:i}}var Wb={members:[],agents:[],threads:[],selectedThreadId:null,detail:null,aiThread:null,agentConversation:null,loading:!1,busy:!1,error:null};function Gb(e,t){return e.map(e=>e.id===t&&e.unreadCount!==0?{...e,unreadCount:0}:e)}function Kb(e){return!e||e.thread.unreadCount===0?e:{...e,thread:{...e.thread,unreadCount:0}}}function qb(e){return{teamId:e.teamId,body:e.body.trim(),clientRequestId:e.clientRequestId,selectedAgentId:e.conversation.agent.id,conversationId:e.conversation.conversationId}}function Jb(e){return{teamId:e.teamId,body:e.body.trim(),clientRequestId:e.clientRequestId,selectedActionKey:e.selectedActionKey,approvalId:e.approvalId??null}}async function Yb(e,t=Z.markTeamChatRead){return e.lastMessageSequence<=0?!1:t(e.connection,e.threadId,e.teamId,e.lastMessageSequence).then(()=>!0,()=>!1)}function Xb(e){let t=w(Ky(e)),n=t.isError?Wb.members:t.data??Wb.members,[r,i]=(0,Y.useState)(Wb),a=(0,Y.useRef)(r);a.current={...r,members:n};let[o,s]=(0,Y.useState)(Bb);fe(()=>s(Bb()));let[c,l]=(0,Y.useState)(null),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=(0,Y.useRef)(0),p=(0,Y.useRef)(new Map),m=(0,Y.useRef)(new Map),h=(0,Y.useRef)(0),g=(0,Y.useRef)(null),_=(0,Y.useRef)(0),v=(0,Y.useRef)(new Set),y=(0,Y.useRef)(0),b=(0,Y.useRef)(!1),x=(0,Y.useRef)(new Map),S=(0,Y.useRef)(new Map),[C,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(null),O=(0,Y.useCallback)(e=>{s(e),Vb(e)},[]),k=(0,Y.useCallback)(e=>{l(t=>t?.eventId===e?null:t)},[]),A=(0,Y.useCallback)(async()=>{if(!e.connection||!e.teamId)return[];let t=vb((await Z.teamChatThreads(e.connection,e.teamId)).threads,x.current);return i(e=>({...e,threads:t})),t},[e.connection,e.teamId]),j=(0,Y.useCallback)(async()=>{if(!e.connection||!e.teamId)return{members:[],agents:[]};let[n,r]=await Promise.all([t.refetch({throwOnError:!0}),Z.teamChatAgents(e.connection,e.teamId)]);return i(e=>({...e,agents:r.agents})),{members:n.data??[],agents:r.agents}},[e.connection,e.teamId,t.refetch]),M=(0,Y.useCallback)(async t=>{let n=t??u.current;if(!e.connection||!e.teamId||!n)return null;let r=(m.current.get(n)??0)+1;m.current.set(n,r);let a=await Z.teamChatThread(e.connection,e.teamId,n);yb(a.messages,x.current,S.current);let o=_b(a,x.current);return m.current.get(n)===r&&(i(e=>e.selectedThreadId===n?{...e,threads:Gb(e.threads,n),detail:Kb(gb(e.detail,o))}:e),u.current===n&&o.thread.lastMessageSequence>0&&await Z.markTeamChatRead(e.connection,n,e.teamId,o.thread.lastMessageSequence).catch(()=>void 0)),o},[e.connection,e.teamId]),ee=(0,Y.useCallback)(async t=>{let n=t??d.current;if(!e.connection||!e.teamId||!n)return null;let r=(p.current.get(n)??0)+1;p.current.set(n,r);let a=await Z.teamChatAiThread(e.connection,e.teamId,n);return p.current.get(n)===r&&d.current===n&&i(e=>hb(e,a,d.current)),a},[e.connection,e.teamId]),N=(0,Y.useCallback)(async t=>{let n=t??g.current;if(!e.connection||!e.teamId||!n)return null;let r=await Z.teamChatAgentConversation(e.connection,e.teamId,n);return i(e=>e.agentConversation?.run.id===n?{...e,agentConversation:r}:e),r},[e.connection,e.teamId]);(0,Y.useEffect)(()=>{u.current=r.selectedThreadId},[r.selectedThreadId]),(0,Y.useEffect)(()=>{g.current=r.agentConversation?.run.id??null},[r.agentConversation?.run.id]),(0,Y.useEffect)(()=>{let e=r.agentConversation?.run.status;if(!e||![`pending`,`queued`,`running`].includes(e))return;let t=window.setInterval(()=>{N().catch(e=>{i(t=>({...t,error:Zb(e)}))})},2500);return()=>window.clearInterval(t)},[N,r.agentConversation?.run.status]),(0,Y.useEffect)(()=>{if(!e.connection||!e.teamId||!e.currentUserId){i(Wb),T(null),D(null),S.current.clear(),x.current.clear(),m.current.clear(),p.current.clear(),h.current+=1,l(null),v.current.clear(),y.current=0,_.current=0;return}let t=!1;return d.current=null,f.current+=1,h.current+=1,T(null),D(null),S.current.clear(),x.current.clear(),v.current.clear(),y.current=0,i(e=>({...e,aiThread:null,agentConversation:null,loading:!0,error:null})),(async()=>{try{let n=await Z.teamChatEvents(e.connection,e.teamId);if(t)return;_.current=n.cursor;let r=Z.teamChatAgents(e.connection,e.teamId),a=await Z.teamChatGeneral(e.connection,e.teamId),[o,s]=await Promise.all([r,Z.teamChatThreads(e.connection,e.teamId)]);if(t)return;let c=u.current&&s.threads.some(e=>e.id===u.current)?u.current:a.thread.id,l=c===a.thread.id?a:await Z.teamChatThread(e.connection,e.teamId,c);if(t)return;let d=Kb(l);i(e=>({...e,agents:o.agents,threads:Gb(s.threads,c),selectedThreadId:c,detail:d,loading:!1,error:null})),Yb({connection:e.connection,teamId:e.teamId,threadId:c,lastMessageSequence:d?.thread.lastMessageSequence??0}),D(e.teamId)}catch(e){if(t)return;i(t=>({...t,loading:!1,error:Zb(e)}))}})(),()=>{t=!0}},[e.connection,e.currentUserId,e.refreshToken,e.teamId]);let te=(0,Y.useCallback)(t=>{if(v.current.has(t.id))return;if(v.current.add(t.id),v.current.size>2e3){let e=v.current.values().next().value;typeof e==`number`&&v.current.delete(e)}let n=Cb(t);if(n&&t.type===`message.created`){let r=a.current,i=r.threads.find(e=>e.id===n.threadId)??(r.detail?.thread.id===n.threadId?r.detail.thread:null),s=i=>{t.id<=y.current||Hb({mode:o,currentUserId:e.currentUserId,message:n,thread:i})&&(y.current=t.id,l(Ub({eventId:t.id,message:n,thread:i,members:r.members})))};i?s(i):A().then(e=>{let t=e.find(e=>e.id===n.threadId);t&&s(t)}).catch(()=>void 0)}n?.clientRequestId&&!n.id.startsWith(`pending:`)&&(x.current.delete(n.clientRequestId),S.current.delete(n.clientRequestId)),i(n=>wb(n,t,e.currentUserId)),t.type===`thread.created`&&A().catch(e=>{i(t=>({...t,error:Zb(e)}))}),(t.type===`ai_thread.created`||t.type===`ai_turn.updated`)&&(M(t.threadId).catch(e=>{i(t=>({...t,error:Zb(e)}))}),t.conversationId===d.current&&ee(t.conversationId).catch(e=>{i(t=>({...t,error:Zb(e)}))})),n&&t.type===`message.created`&&u.current===n.threadId&&n.authorUserId!==e.currentUserId&&e.connection&&e.teamId&&Z.markTeamChatRead(e.connection,n.threadId,e.teamId,n.sequence).catch(()=>void 0)},[e.connection,e.currentUserId,e.teamId,o,ee,M,A]),P=(0,Y.useCallback)(async()=>{if(e.connection&&e.teamId&&!b.current){b.current=!0;try{let t=!0;for(;t;){let n=await Z.teamChatEvents(e.connection,e.teamId,{after:_.current,limit:250});for(let e of n.events)te(e);_.current=n.cursor,t=n.hasMore}}finally{b.current=!1}}},[te,e.connection,e.teamId]);(0,Y.useEffect)(()=>{if(!e.connection||!e.teamId||E!==e.teamId)return;let t=!1,n=null,r=async()=>{try{let i=await Z.teamChatRealtimeSession(e.connection,e.teamId);if(t||(await P(),t))return;T(i);let a=Math.max(3e4,new Date(i.expiresAt).getTime()-Date.now()-3e4);n=window.setTimeout(()=>void r(),a)}catch{t||(P().catch(()=>void 0),n=window.setTimeout(()=>void r(),1e4))}};return r(),()=>{t=!0,n!==null&&window.clearTimeout(n),T(null)}},[P,e.connection,e.teamId,E]);let F=r.threads.map(e=>e.id).sort().join(`,`);(0,Y.useEffect)(()=>{if(!C)return;let e=ob({session:C,threadIds:F?F.split(`,`):[],onEvent:te,onReady:()=>{P().catch(e=>{i(t=>({...t,error:Zb(e)}))})},onError:()=>{P().catch(()=>void 0)}});return()=>{e.close()}},[te,P,C,F]),(0,Y.useEffect)(()=>{if(!e.connection||!e.teamId||E!==e.teamId)return;let t=window.setInterval(()=>{P().catch(()=>void 0)},15e3);return()=>window.clearInterval(t)},[P,e.connection,e.teamId,E]);let I=(0,Y.useCallback)(async t=>{if(!e.connection||!e.teamId)return;let n=h.current+1;h.current=n;let r=u.current!==t;u.current=t,r&&(f.current+=1,d.current=null),i(e=>({...e,threads:Gb(e.threads,t),selectedThreadId:t,detail:e.detail?.thread.id===t?Kb(e.detail):null,aiThread:r?null:e.aiThread,agentConversation:r?null:e.agentConversation,loading:!0,error:null}));try{let r=await Z.teamChatThread(e.connection,e.teamId,t);if(h.current!==n||u.current!==t)return;yb(r.messages,x.current,S.current);let a=_b(r,x.current);i(e=>({...e,threads:Gb(e.threads,t),detail:Kb(a),loading:!1})),await Z.markTeamChatRead(e.connection,t,e.teamId,a.thread.lastMessageSequence).catch(()=>void 0)}catch(e){if(h.current!==n)return;i(t=>({...t,loading:!1,error:Zb(e)}))}},[e.connection,e.teamId]),L=(0,Y.useCallback)(async t=>{if(!e.connection||!e.teamId)return null;let n=h.current+1;h.current=n,i(e=>({...e,busy:!0,error:null}));try{let r=await Z.teamChatDm(e.connection,e.teamId,t);if(h.current!==n)return null;yb(r.messages,x.current,S.current);let a=_b(r,x.current),o=u.current!==a.thread.id;return u.current=a.thread.id,o&&(f.current+=1,d.current=null),i(e=>({...e,selectedThreadId:a.thread.id,detail:a,aiThread:o?null:e.aiThread,agentConversation:o?null:e.agentConversation,busy:!1})),await Yb({connection:e.connection,teamId:e.teamId,threadId:a.thread.id,lastMessageSequence:a.thread.lastMessageSequence}),await A(),a}catch(e){return h.current===n&&i(t=>({...t,busy:!1,error:Zb(e)})),null}},[e.connection,e.teamId,A]),R=(0,Y.useCallback)(async()=>{let t=r.detail,n=t?.messages[0]?.sequence;if(!e.connection||!e.teamId||!t||!t.hasMoreBefore||n==null)return!1;i(e=>({...e,loading:!0,error:null}));try{let r=await Z.teamChatThread(e.connection,e.teamId,t.thread.id,{beforeSequence:n,limit:50});return i(e=>{if(e.detail?.thread.id!==t.thread.id)return e;let n=[...r.messages,...e.detail.messages];return{...e,loading:!1,detail:{...e.detail,messages:Sb(n),hasMoreBefore:r.hasMoreBefore}}}),!0}catch(e){return i(t=>({...t,loading:!1,error:Zb(e)})),!1}},[e.connection,e.teamId,r.detail]),z=(0,Y.useCallback)(async t=>{let n=u.current,a=Nb(t.attachments??[]);if(!a)return i(e=>({...e,error:`Team chat supports up to 10 PNG, JPEG, WebP, or GIF images per message.`})),!1;if(!e.connection||!e.teamId||!n||!t.body.trim()&&a.length===0)return!1;if(t.replyToMessage&&(t.replyToMessage.threadId!==n||t.replyToMessage.teamId!==e.teamId||t.replyToMessage.id.startsWith(`pending:`)||t.replyToMessage.deletedAt))return i(e=>({...e,error:`That message is no longer available to reply to.`})),!1;if(t.useModel){if(a.length>0)return i(e=>({...e,error:`Images can be sent to the team thread with Use model turned off.`})),!1;let r=f.current;i(e=>({...e,busy:!0,error:null}));try{let a=await Z.createTeamChatAiThread(e.connection,n,{teamId:e.teamId,body:t.body.trim(),clientRequestId:crypto.randomUUID(),providerId:t.providerId,modelId:t.modelId}),o=f.current===r&&u.current===n;return o&&(f.current+=1,d.current=a.conversationId),i(e=>({...e,aiThread:o?a:e.aiThread})),a.activeTurn&&await Z.executeTeamChatAiTurn(e.connection,a.activeTurn.id,e.teamId),await Promise.all([M(n),A()]),i(e=>({...e,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:Zb(e)})),!1}}let o=crypto.randomUUID();if(t.selectedActionKey){if(a.length>0)return i(e=>({...e,error:`Agent invocations do not support image attachments yet.`})),!1;i(e=>({...e,busy:!0,error:null}));try{return await Z.createTeamChatAgentRun(e.connection,n,Jb({teamId:e.teamId,body:t.body,clientRequestId:o,selectedActionKey:t.selectedActionKey,approvalId:t.approvalId})),await Promise.all([M(n),A()]),i(e=>({...e,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:Zb(e)})),!1}}S.current.set(o,{inputs:a,uploaded:null});let s=Eb({clientRequestId:o,threadId:n,teamId:e.teamId,userId:e.currentUserId,body:t.body.trim(),mentionUserIds:t.mentionUserIds??[],attachments:a,replyToMessage:t.replyToMessage,sequence:(r.detail?.thread.lastMessageSequence??0)+1});x.current.set(o,s),i(e=>Db(e,s));try{let r=[];for(let[t,s]of a.entries())r.push(await Z.uploadTeamChatAttachment(e.connection,n,{teamId:e.teamId,attachment:s})),xb(x.current,o,`${t+1} of ${a.length}`),i(e=>jb(e,o,`${t+1} of ${a.length}`));let s=S.current.get(o);s&&(s.uploaded=r);let c=await Z.sendTeamChatMessage(e.connection,n,{teamId:e.teamId,body:t.body.trim(),clientRequestId:o,mentionUserIds:t.mentionUserIds,attachmentIds:r.map(e=>e.id),replyToMessageId:t.replyToMessage?.id??null});return S.current.delete(o),x.current.delete(o),i(t=>Ob(t,c,e.currentUserId)),!0}catch(e){return bb(x.current,o,`failed`),i(t=>({...kb(t,o),error:Zb(e)})),!1}},[e.connection,e.currentUserId,e.teamId,M,A,r.detail?.thread.lastMessageSequence]),B=(0,Y.useCallback)(async t=>{if(e.connection&&e.teamId){f.current+=1,d.current=t,i(e=>({...e,aiThread:e.aiThread?.conversationId===t?e.aiThread:null,busy:!0,error:null}));try{let n=await Z.teamChatAiThread(e.connection,e.teamId,t);if(d.current!==t)return;i(e=>({...e,aiThread:n,busy:!1}))}catch(e){if(d.current!==t)return;i(t=>({...t,busy:!1,error:Zb(e)}))}}},[e.connection,e.teamId]),V=(0,Y.useCallback)(async t=>{if(e.connection&&e.teamId){g.current=t,i(e=>({...e,busy:!0,error:null}));try{let n=await Z.teamChatAgentConversation(e.connection,e.teamId,t);i(e=>({...e,agentConversation:n,busy:!1}))}catch(e){i(t=>({...t,busy:!1,error:Zb(e)}))}}},[e.connection,e.teamId]),H=(0,Y.useCallback)(()=>{g.current=null,i(e=>({...e,agentConversation:null}))},[]),ne=(0,Y.useCallback)(async t=>{let n=u.current,a=r.agentConversation;if(!e.connection||!e.teamId||!n||!a||!t.body.trim())return!1;i(e=>({...e,busy:!0,error:null}));try{let r=await Z.createTeamChatAgentRun(e.connection,n,qb({teamId:e.teamId,body:t.body,clientRequestId:t.clientRequestId,conversation:a}));g.current=r.run.id;let[o]=await Promise.all([Z.teamChatAgentConversation(e.connection,e.teamId,r.run.id),M(n),A()]);return i(e=>({...e,agentConversation:o,busy:!1})),!0}catch(e){return i(t=>({...t,busy:!1,error:Zb(e)})),!1}},[e.connection,e.teamId,M,A,r.agentConversation]),re=(0,Y.useCallback)(()=>{f.current+=1,d.current=null,i(e=>({...e,aiThread:null}))},[]),ie=(0,Y.useCallback)(async t=>{let n=d.current;if(!e.connection||!e.teamId||!n||!t.body.trim())return!1;i(e=>({...e,busy:!0,error:null}));try{let r=await Z.sendTeamChatAiTurn(e.connection,n,{teamId:e.teamId,body:t.body.trim(),clientRequestId:crypto.randomUUID(),providerId:t.providerId,modelId:t.modelId});return i(e=>({...hb(e,r,d.current),busy:!1})),r.activeTurn&&await Z.executeTeamChatAiTurn(e.connection,r.activeTurn.id,e.teamId),!0}catch(e){return i(t=>({...t,busy:!1,error:Zb(e)})),!1}},[e.connection,e.teamId]),ae=(0,Y.useCallback)(async()=>{let t=r.aiThread?.activeTurn?.id;return!e.connection||!e.teamId||!t?!1:(await Z.cancelTeamChatAiTurnExecution(e.connection,t,e.teamId)).cancelled},[e.connection,e.teamId,r.aiThread?.activeTurn?.id]),oe=(0,Y.useCallback)(async(t,n)=>{if(!e.connection||!e.teamId)return!1;try{return await Z.editTeamChatMessage(e.connection,t.threadId,t.id,{teamId:e.teamId,body:n}),await M(t.threadId),!0}catch(e){return i(t=>({...t,error:Zb(e)})),!1}},[e.connection,e.teamId,M]),se=(0,Y.useCallback)(async t=>{if(!e.connection||!e.teamId)return!1;try{return await Z.deleteTeamChatMessage(e.connection,t.threadId,t.id,e.teamId),await M(t.threadId),!0}catch(e){return i(t=>({...t,error:Zb(e)})),!1}},[e.connection,e.teamId,M]),ce=(0,Y.useCallback)(async t=>{if(!e.connection||!e.teamId||!t.clientRequestId||!t.id.startsWith(`pending:`))return!1;let n=Array.isArray(t.metadata.mentionUserIds)?t.metadata.mentionUserIds.filter(e=>typeof e==`string`):[],r=S.current.get(t.clientRequestId),a=t.refs.find(e=>e.refType===`message_reply`);bb(x.current,t.clientRequestId,`sending`),i(e=>Ab(e,t.clientRequestId,`sending`));try{let o=r?.uploaded??[];if(r&&!r.uploaded){o=[];for(let[n,a]of r.inputs.entries())o.push(await Z.uploadTeamChatAttachment(e.connection,t.threadId,{teamId:e.teamId,attachment:a})),xb(x.current,t.clientRequestId,`${n+1} of ${r.inputs.length}`),i(e=>jb(e,t.clientRequestId,`${n+1} of ${r.inputs.length}`));r.uploaded=o}let s=await Z.sendTeamChatMessage(e.connection,t.threadId,{teamId:e.teamId,body:t.body,clientRequestId:t.clientRequestId,mentionUserIds:n,attachmentIds:o.map(e=>e.id),replyToMessageId:a?.refId??null});return S.current.delete(t.clientRequestId),x.current.delete(t.clientRequestId),i(t=>Ob(t,s,e.currentUserId)),!0}catch(e){return bb(x.current,t.clientRequestId,`failed`),i(n=>({...Ab(n,t.clientRequestId,`failed`),error:Zb(e)})),!1}},[e.connection,e.currentUserId,e.teamId]),le=(0,Y.useCallback)(e=>{e.id.startsWith(`pending:`)&&(e.clientRequestId&&S.current.delete(e.clientRequestId),e.clientRequestId&&x.current.delete(e.clientRequestId),i(t=>Mb(t,e.id)))},[]),ue=(0,Y.useCallback)(async(t,n)=>{if(!e.connection||!e.teamId)return!1;try{let r=await Z.setTeamChatThreadMuted(e.connection,t,e.teamId,n),a=e=>e.id===r.threadId?{...e,mutedAt:r.mutedAt}:e;return i(e=>({...e,threads:e.threads.map(a),detail:e.detail?.thread.id===r.threadId?{...e.detail,thread:a(e.detail.thread)}:e.detail,error:null})),!0}catch(e){return i(t=>({...t,error:Zb(e)})),!1}},[e.connection,e.teamId]);return{...r,members:n,error:r.error??(t.error?Zb(t.error):null),currentUserId:e.currentUserId,notificationMode:o,incomingNotification:c,setNotificationMode:O,dismissIncomingNotification:k,setThreadMuted:ue,selectThread:I,openDm:L,loadMoreMessages:R,sendMessage:z,openAiThread:B,openAgentConversation:V,closeAgentConversation:H,sendAgentTurn:ne,closeAiThread:re,sendAiTurn:ie,stopAiTurn:ae,editMessage:oe,deleteMessage:se,retryMessage:ce,dismissFailedMessage:le,refreshDirectory:j,refresh:async()=>{await Promise.all([j(),A(),M(),ee(),N()])}}}function Zb(e){return Lb(e)}var Qb=`local-profile-agent`;function $b(e){let t=e.profile;if(!t||t.mode!==`local`)return e.hostedActions;let n=new Set(e.hostedActions.flatMap(e=>{let n=e.implementation;return n?.type!==`openpond-agent`||n.profileName!==t.activeProfile?[]:[ox(n.agentName),ox(e.name),ox(e.label)].filter(Boolean)})),r=t.hosted?.teamId===e.teamId?t.hosted.hostedSourceMaterialization:null,i=new Set(e.hostedActions.map(e=>e.implementation?.agentId).filter(e=>typeof e==`string`)),a=t.agents.flatMap(e=>!e.enabled||r?.agentId===e.id&&r.runtimeAgentId&&i.has(r.runtimeAgentId)||n.has(ox(e.name))||n.has(ox(e.id))?[]:[ix(t,e)]);return[...e.hostedActions,...a]}function ex(e){return e?.implementation?.type===Qb}function tx(e){let t=e.implementation?.profileAgentId;return typeof t==`string`&&t.trim()?t.trim():null}function nx(e,t){if(!e||e.mode!==`local`)return`Load a local OpenPond profile before publishing an agent to Team.`;let n=e.agents.find(e=>e.id===t);return n?n.enabled?e.git?.head?e.git.dirty?`Commit your profile changes before publishing ${n.name} to Team.`:e.setupGate.blockingCount>0?`${n.name} has ${e.setupGate.blockingCount} blocking setup requirement${e.setupGate.blockingCount===1?``:`s`}. Complete setup before publishing it to Team.`:null:`Commit ${n.name} before publishing it to Team.`:`${n.name} is disabled in the active profile.`:`Profile agent not found: ${t}`}function rx(e,t){let n=t.runtimeAgentId?.trim()??``,r=t.profileName?.trim()??``,i=ox(t.agentName);return e.find(e=>{let t=e.implementation;return t?.type===`openpond-agent`?n&&typeof t.agentId==`string`&&t.agentId===n?!0:!!(r&&t.profileName===r&&i&&[t.agentName,e.name,e.label].some(e=>ox(e)===i)):!1})??null}function ix(e,t){return{id:`local-profile:${e.activeProfile??`default`}:${t.id}:chat`,name:t.name,label:t.name,description:ax(e),approvalPolicy:{required:!1,risk:`write`},setupRequirements:e.setupGate.blockingRequirements,invokesModel:!0,implementation:{type:Qb,profileAgentId:t.id,profileName:e.activeProfile??`default`}}}function ax(e){return e.git?.head?e.git.dirty?`My Agent · Commit profile changes before publishing to this Team`:e.setupGate.blockingCount>0?`My Agent · Complete required setup before publishing to this Team`:`My Agent · Publishes to this Team on first use`:`My Agent · Commit the profile before publishing to this Team`}function ox(e){return typeof e==`string`?e.trim().toLowerCase().replace(/[^a-z0-9]+/g,``):``}var sx=5;function cx(e){return(0,Y.useCallback)(async t=>{if(!e.connection||!e.teamId)throw Error(`Connect OpenPond to a Team before publishing an agent.`);let n=await Z.profileCheck(e.connection,{kind:`all`}),r=nx(n,t);if(r)throw Error(r);let i=n?.agents.find(e=>e.id===t);if(!i)throw Error(`Profile agent not found: ${t}`);let a=(await Z.profilePush(e.connection,{teamId:e.teamId,ensureHosted:!0,hostedSourceAgentId:t,message:null})).localProfile?.hosted?.hostedSourceMaterialization,o=a?.agentId===t?a.runtimeAgentId:null;e.applyBootstrapPayload(await Z.bootstrap(e.connection));let s=null;for(let t=0;t<sx&&(s=rx((await e.refreshDirectory()).agents,{runtimeAgentId:o,profileName:n.activeProfile,agentName:i.name}),!s);t+=1)t<4&&await lx(200*(t+1));if(!s)throw Error(`${i.name} was published, but the Team agent directory has not refreshed yet. Retry the mention in a moment.`);return s},[e.applyBootstrapPayload,e.connection,e.refreshDirectory,e.teamId])}function lx(e){return new Promise(t=>{setTimeout(t,e)})}function ux(e){let t=(0,Y.useRef)(e.scope);t.current=e.scope,(0,Y.useEffect)(()=>{if(!e.notification)return;let{eventId:n,threadId:r,title:i,body:a}=e.notification,o=e.scope,s=()=>t.current===o;e.showToast(i,`info`,{title:`New message`,detail:a,kind:`team`,dedupeKey:`team:${o}:${n}`,actionLabel:`Open thread`,onAction:async()=>!await Ks({kind:`view`,view:`team`},`push`,s)||!s()||(await e.selectThread(r),!s())?!1:(e.setView(`team`),!0)}),e.dismiss(n)},[e.scope,e.dismiss,e.notification,e.selectThread,e.setView,e.showToast])}function dx(e){let{connection:t,refreshToken:n=null}=e,[r,i]=(0,Y.useState)([]),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(null),[y,b]=(0,Y.useState)(null),[x,S]=(0,Y.useState)(null),[C,w]=(0,Y.useState)(0),T=(0,Y.useRef)(0),E=(0,Y.useMemo)(()=>r.find(e=>e.id===s)??null,[r,s]),D=(0,Y.useCallback)(async()=>{if(!t)return!1;f(!0),v(null);try{let e=await Z.communities(t);return i(e.items),o(e.nextCursor),c(t=>t&&e.items.some(e=>e.id===t)?t:null),!0}catch(e){return v(px(e)),!1}finally{f(!1)}},[t]),O=(0,Y.useCallback)(async()=>{if(!t||!a||d)return!1;f(!0),v(null);try{let e=await Z.communities(t,a);return i(t=>fx(t,e.items)),o(e.nextCursor),!0}catch(e){return v(px(e)),!1}finally{f(!1)}},[t,d,a]),k=(0,Y.useCallback)(async e=>{if(!t)return null;let n=++T.current;m(!0),b(null);try{let r=await Z.communityPreview(t,e.slug);return T.current===n&&u(r),r}catch(e){return T.current===n&&b(px(e)),null}finally{T.current===n&&m(!1)}},[t]),A=(0,Y.useCallback)(e=>{let t=r.find(t=>t.id===e);t&&(c(t.id),u(e=>e?.id===t.id?e:null),S(null),k(t))},[r,k]),j=(0,Y.useCallback)(()=>{T.current+=1,c(null),u(null),b(null),S(null)},[]);(0,Y.useEffect)(()=>{t?D():(i([]),u(null),c(null))},[t,D,n]),(0,Y.useEffect)(()=>{E&&l?.id!==E.id&&!p&&k(E)},[k,l?.id,p,E]);let M=(0,Y.useCallback)(async()=>{let e=E;await D(),e&&await k(e)},[k,D,E]);return{items:r,nextCursor:a,selectedCommunityId:s,selectedSummary:E,preview:l,discoveryLoading:d,previewLoading:p,membershipBusy:h,discoveryError:_,previewError:y,membershipError:x,membershipVersion:C,refresh:D,loadMore:O,showDiscovery:j,selectCommunity:A,join:(0,Y.useCallback)(async()=>{if(!t||!l?.currentRules||h)return!1;g(!0),S(null);try{return await Z.joinCommunity(t,l.id,l.currentRules.id),w(e=>e+1),await M(),!0}catch(e){let t=mx(e);return S(t),t.kind===`rules_stale`&&await M(),!1}finally{g(!1)}},[t,h,l,M]),acceptRules:(0,Y.useCallback)(async()=>{if(!t||!l?.currentRules||h)return!1;g(!0),S(null);try{return await Z.acceptCommunityRules(t,l.id,l.currentRules.id),w(e=>e+1),await M(),!0}catch(e){let t=mx(e);return S(t),t.kind===`rules_stale`&&await M(),!1}finally{g(!1)}},[t,h,l,M]),leave:(0,Y.useCallback)(async()=>{if(!t||!l||h)return!1;g(!0),S(null);try{return await Z.leaveCommunity(t,l.id),w(e=>e+1),await M(),!0}catch(e){return S(mx(e)),!1}finally{g(!1)}},[t,h,l,M]),updateNotifications:(0,Y.useCallback)(async e=>{if(!t||!l||h)return!1;g(!0),S(null);try{return await Z.updateCommunityNotifications(t,l.id,e),i(t=>t.map(t=>t.id===l.id&&t.membership?{...t,membership:{...t.membership,notificationMode:e}}:t)),u(t=>t?.id===l.id&&t.membership?{...t,membership:{...t.membership,notificationMode:e}}:t),!0}catch(e){return S(mx(e)),!1}finally{g(!1)}},[t,h,l]),clearMembershipError:()=>S(null)}}function fx(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()]}function px(e){return e instanceof Error?e.message:String(e)}function mx(e){let t=px(e);return t.includes(`community_rules_version_stale`)?{kind:`rules_stale`,message:`The community rules changed. Review the newest version and try again.`}:t.includes(`community_membership_required`)?{kind:`membership_lost`,message:`Your community membership is no longer active.`}:t.includes(`community_join_closed`)||t.includes(`community_invalid_request`)?{kind:`join_conflict`,message:`The community could not be joined in its current state.`}:{kind:`unknown`,message:t}}function hx(e,t,n){return $y({realtimeUrl:e.session.realtimeUrl,httpUrl:e.session.httpUrl,authorizationToken:e.session.token,channels:[e.session.channel],onEvent:t=>{let n=Oi.safeParse(t);n.success&&e.onEvent(n.data)},onReady:e.onReady,onError:e.onError},t,n)}function gx(e){let{connection:t,preview:n,currentUserId:r,membershipVersion:i}=e,a=n?.id??null,o=n?.membership?.status===`active`,s=!n?.capabilities.requiresRulesAcceptance,[c,l]=(0,Y.useState)([]),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)({}),[m,h]=(0,Y.useState)([]),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(!1),[S,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(null),[O,k]=(0,Y.useState)(null),[A,j]=(0,Y.useState)(null),[M,ee]=(0,Y.useState)(!1),[N,te]=(0,Y.useState)(null),[P,F]=(0,Y.useState)(null),I=(0,Y.useRef)(null),L=(0,Y.useRef)([]),R=(0,Y.useRef)(`mentions`),z=(0,Y.useRef)(0),B=(0,Y.useRef)({}),V=(0,Y.useRef)(new Set),H=(0,Y.useMemo)(()=>c.find(e=>e.id===u)??null,[c,u]),ne=u?f[u]??null:null;(0,Y.useEffect)(()=>{I.current=u},[u]),(0,Y.useEffect)(()=>{L.current=c},[c]),(0,Y.useEffect)(()=>{R.current=n?.membership?.notificationMode??`mentions`},[n?.membership?.notificationMode]);let re=(0,Y.useCallback)(async()=>{if(!t||!a)return!1;_(!0),T(null);try{let e=await Z.communityChannels(t,a);return l(e.channels),d(t=>t&&e.channels.some(e=>e.id===t)?t:e.channels.find(e=>e.isDefault)?.id??e.channels[0]?.id??null),ee(!1),!0}catch(e){let t=xx(e);return T(t),bx(t)&&ee(!0),!1}finally{_(!1)}},[a,t]),ie=(0,Y.useCallback)(async e=>{if(!t||!a)return!1;let n=++z.current;y(!0),D(null);try{let r=await Z.communityMessages(t,a,e,{limit:50});return n===z.current&&(p(t=>({...t,[e]:{items:r.messages,hasMoreBefore:r.hasMoreBefore,preview:r.preview}})),ee(!1),!0)}catch(e){if(n!==z.current)return!1;let t=xx(e);return D(t),bx(t)&&ee(!0),!1}finally{n===z.current&&y(!1)}},[a,t]);(0,Y.useEffect)(()=>{l(n?.channels??[]),p({}),d(n?.channels.find(e=>e.isDefault)?.id??n?.channels[0]?.id??null),T(null),D(null),k(null),ee(!1),V.current.clear(),a&&re()},[a,re,i]),(0,Y.useEffect)(()=>{u&&ie(u)},[ie,u]);let ae=(0,Y.useCallback)(async(e,n)=>{if(!t||!a||!o||!s||n<=0)return!1;if((B.current[e]??0)>=n)return!0;B.current[e]=n;try{let r=await Z.markCommunityRead(t,a,e,n);return l(t=>t.map(t=>t.id===e?{...t,unreadCount:0,readState:t.readState?{...t.readState,lastReadSequence:r.sequence,lastReadAt:new Date().toISOString()}:{lastReadSequence:r.sequence,lastReadAt:new Date().toISOString(),mutedAt:null,pinnedAt:null}}:t)),!0}catch(e){return bx(xx(e))&&ee(!0),!1}},[a,t,o,s]);(0,Y.useEffect)(()=>{let e=ne?.items.at(-1)?.sequence??0;u&&e>0&&ae(u,e)},[ae,u,ne?.items]);let oe=(0,Y.useCallback)(e=>{if(e.communityId!==a||V.current.has(e.id))return;V.current.add(e.id);let t=Ei.safeParse(e.payload.message);if(t.success&&e.type!==`read.updated`){let n=t.data;if(p(t=>{let r=t[e.channelId];if(!r)return t;let i=r.items.some(e=>e.id===n.id)?r.items.map(e=>e.id===n.id?n:e):[...r.items,n].sort((e,t)=>e.sequence-t.sequence);return{...t,[e.channelId]:{...r,items:i}}}),l(t=>t.map(t=>t.id===e.channelId?{...t,lastMessageSequence:Math.max(t.lastMessageSequence,n.sequence),unreadCount:I.current===e.channelId||n.authorUserId===r?0:Math.max(t.unreadCount+ +(e.type===`message.created`),0)}:t)),e.type===`message.created`&&n.authorUserId!==r){let t=L.current.find(t=>t.id===e.channelId),i=vx(n).includes(r??``),a=R.current;!t?.readState?.mutedAt&&(a===`all`||a===`mentions`&&i)&&F({communityId:e.communityId,channelId:e.channelId,message:n})}I.current===e.channelId&&ae(e.channelId,n.sequence)}else e.type===`read.updated`&&e.payload.userId===r&&re()},[a,r,re,ae]);(0,Y.useEffect)(()=>{if(!t||!a||!o||!s)return;let e=!1,n=null;return k(null),Promise.all([Z.communityRealtimeSession(t,a),Z.communityEvents(t,a)]).then(async([r,i])=>{if(e)return;let o=async()=>{let n=i.cursor;for(;;){let r=await Z.communityEvents(t,a,{after:n,limit:200});if(e)return;for(let e of r.events)oe(e);if(n=r.cursor,!r.hasMore)return}},s=hx({session:r,onEvent:oe,onReady:()=>{k(null),o().catch(e=>k(xx(e)))},onError:e=>k(xx(e))});n=()=>s.close(),await o()}).catch(t=>{if(!e){let e=xx(t);k(e),bx(e)&&ee(!0)}}),()=>{e=!0,n?.()}},[oe,a,t,o,i,s]);let se=(0,Y.useCallback)(async()=>{if(!t||!a||!u||b)return!1;let e=f[u],n=e?.items[0]?.sequence;if(!e?.hasMoreBefore||n==null)return!1;x(!0),D(null);try{let r=await Z.communityMessages(t,a,u,{beforeSequence:n,limit:50});return p(t=>{let n=t[u]??e,i=new Set(n.items.map(e=>e.id));return{...t,[u]:{...n,items:[...r.messages.filter(e=>!i.has(e.id)),...n.items],hasMoreBefore:r.hasMoreBefore}}}),!0}catch(e){return D(xx(e)),!1}finally{x(!1)}},[a,t,f,b,u]),ce=(0,Y.useCallback)(async e=>{if(!t||!a||!u||S)return!1;C(!0),j(null),te(null);try{let n=await Promise.all(e.attachments.map(e=>Z.uploadCommunityAttachment(t,a,u,e))),r=await Z.sendCommunityMessage(t,a,u,{body:e.body,clientRequestId:e.clientRequestId,mentionUserIds:e.mentionUserIds,attachmentIds:n.map(e=>e.id),replyToMessageId:e.replyToMessageId});return p(e=>{let t=e[u]??{items:[],hasMoreBefore:!1,preview:!1};return t.items.some(e=>e.id===r.id)?e:{...e,[u]:{...t,items:[...t.items,r]}}}),await ae(u,r.sequence),!0}catch(t){let n=xx(t);return j(n),te({...e,message:n}),bx(n)&&ee(!0),!1}finally{C(!1)}},[a,t,ae,u,S]),le=(0,Y.useCallback)(e=>ce({body:e.body,clientRequestId:crypto.randomUUID(),mentionUserIds:e.mentionUserIds??[],attachments:e.attachments??[],replyToMessageId:e.replyToMessageId??null}),[ce]),ue=(0,Y.useCallback)(async(e,n)=>{if(!t||!a||!u)return!1;j(null);try{let r=await Z.editCommunityMessage(t,a,u,e,n);return _x(p,u,r),!0}catch(e){return j(xx(e)),!1}},[a,t,u]),de=(0,Y.useCallback)(async e=>{if(!t||!a||!u)return!1;j(null);try{let n=await Z.deleteCommunityMessage(t,a,u,e);return _x(p,u,n),!0}catch(e){return j(xx(e)),!1}},[a,t,u]),fe=(0,Y.useCallback)(async(e,n)=>{if(!t||!a)return!1;j(null);try{let r=await Z.setCommunityChannelMuted(t,a,e,n);return l(t=>t.map(t=>t.id===e&&t.readState?{...t,readState:{...t.readState,mutedAt:r.mutedAt}}:t)),!0}catch(e){return j(xx(e)),!1}},[a,t]),pe=(0,Y.useCallback)(async(e=``)=>{if(!t||!a||!o)return[];try{let n=await Z.searchCommunityMembers(t,a,{query:e,limit:50});return h(e=>yx(e,n.items)),n.items}catch(e){return j(xx(e)),[]}},[a,t,o]);(0,Y.useEffect)(()=>{o&&s?pe():h([])},[o,s,pe]);let me=(0,Y.useCallback)(async e=>{if(!t||!a||!u)return!1;try{let n=await Z.communityAttachmentDownload(t,a,u,e);return window.open(n.url,`_blank`,`noopener,noreferrer`),!0}catch(e){return j(xx(e)),!1}},[a,t,u]),he=(0,Y.useCallback)(()=>u?ie(u):Promise.resolve(!1),[ie,u]),ge=(0,Y.useCallback)(()=>N?ce(N):Promise.resolve(!1),[N,ce]),_e=(0,Y.useCallback)(()=>te(null),[]),U=(0,Y.useCallback)(()=>F(null),[]);return{channels:c,selectedChannelId:u,selectedChannel:H,messages:ne?.items??[],hasMoreBefore:ne?.hasMoreBefore??!1,previewMode:ne?.preview??!o,members:m,channelsLoading:g,messagesLoading:v,olderMessagesLoading:b,sending:S,channelsError:w,messagesError:E,realtimeError:O,actionError:A,lostMembership:M,failedSend:N,incomingNotification:P,selectChannel:d,loadChannels:re,loadMessages:he,loadOlder:se,sendMessage:le,retrySend:ge,dismissFailedSend:_e,editMessage:ue,deleteMessage:de,setMuted:fe,searchMembers:pe,downloadAttachment:me,dismissIncomingNotification:U}}function _x(e,t,n){e(e=>{let r=e[t];return r?{...e,[t]:{...r,items:r.items.map(e=>e.id===n.id?n:e)}}:e})}function vx(e){let t=e.metadata.mentionUserIds;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function yx(e,t){let n=new Map(e.map(e=>[e.userId,e]));for(let e of t)n.set(e.userId,e);return[...n.values()].slice(-200)}function bx(e){return e.includes(`community_membership_required`)||e.includes(`community_rules`)}function xx(e){return e instanceof Error?e.message:String(e)}function Sx(e){let t=dx({connection:e.connection,refreshToken:e.refreshToken}),n=gx({connection:e.connection,preview:t.preview,currentUserId:e.currentUserId,membershipVersion:t.membershipVersion}),r=n.incomingNotification,i=t.items,a=n.channels,o=t.selectCommunity,s=n.selectChannel,c=n.dismissIncomingNotification,{setView:l,showToast:u}=e,d=(0,Y.useCallback)(()=>{t.showDiscovery(),l(`community`)},[t.showDiscovery,l]),f=(0,Y.useCallback)(e=>{t.selectCommunity(e),l(`community`)},[t.selectCommunity,l]),p=(0,Y.useCallback)(e=>{n.selectChannel(e),l(`community`)},[n.selectChannel,l]);return(0,Y.useEffect)(()=>{if(!r)return;let e=i.find(e=>e.id===r.communityId),t=a.find(e=>e.id===r.channelId);u(`${e?.displayName??`Community`} · #${t?.displayName??`channel`}: ${r.message.body.slice(0,120)||`New message`}`,`info`,{actionLabel:`View`,onAction:()=>{o(r.communityId),s(r.channelId),l(`community`)}}),c()},[a,i,c,r,s,o,l,u]),{communities:t,chat:n,sidebar:{communityItems:t.items,communityChannels:n.channels,communityLoading:t.discoveryLoading,communityError:t.discoveryError,selectedCommunityId:t.selectedCommunityId,selectedCommunityChannelId:n.selectedChannelId,discoverCommunities:d,selectCommunity:f,selectCommunityChannel:p},view:{communities:t,chat:n,currentUserId:e.currentUserId}}}var Cx=[];function wx(e){let t=(0,Y.useCallback)(t=>Ff(e,t),[e]),n=(0,Y.useCallback)(()=>Nf(e)??Cx,[e]);return(0,Y.useSyncExternalStore)(t,n,n)}function Tx(e){let[t,n]=(0,Y.useState)(()=>Sr());return(0,Y.useEffect)(()=>{let t=!0;return e?(Z.connectedAppStatus(e,{status:`all`}).then(e=>{t&&n(e.apps)}).catch(e=>{console.warn(`Unable to load connected app mention status.`,e),t&&n(Sr())}),()=>{t=!1}):(n(Sr()),()=>{t=!1})},[e]),t}function Ex(){let{composerDraftStore:e,dispatch:t,setters:n,state:r}=Kv(),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)([]),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)([]),[m,h]=(0,Y.useState)(null),[g,_]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(Vf),[b,x]=(0,Y.useState)({}),[S,C]=(0,Y.useState)(()=>new Set),w=(0,Y.useCallback)((e,t)=>{C(n=>{if(n.has(e)===t)return n;let r=new Set(n);return t?r.add(e):r.delete(e),r})},[]),[T,E]=(0,Y.useState)(0),[D,O]=(0,Y.useState)(null),k=(0,Y.useRef)(null),{confirmProjectAction:A,projectConfirmDialog:j,resolveProjectConfirmDialog:M}=md(),{query:ee,searchOpen:N,archivedChatsOpen:te,sectionMenuOpen:P,projectsExpanded:F,cloudProjectsExpanded:I,chatRowsVisibleCount:L,sidebarOpen:R,view:z,selectedAppId:B,selectedProjectId:V,selectedSessionId:H,draftProvider:ne,draftModel:re,draftExperience:ie,codexPermissionMode:ae,codexReasoningEffort:oe,openPondCommandAccessMode:se,busy:ce,diffPanelOpen:le,diffPanelExpanded:ue,rightPanelMode:de,rightChatPanels:fe,terminalOpen:pe,settingsSection:me,newProjectDialogOpen:he,newProjectMode:ge,newProjectName:_e,newProjectPath:ve,newProjectBusy:ye,commitDialogOpen:be,commitMessage:xe,commitIncludeUnstaged:Se,commitNextStep:Ce,commitDraft:we,branchDialogOpen:Te,branchDialogName:Ee,toasts:De,error:Oe}=r,ke=Zv(z===`labs`),{setQuery:Ae,setSearchOpen:W,setArchivedChatsOpen:je,setSectionMenuOpen:Me,setProjectsExpanded:Ne,setCloudProjectsExpanded:Pe,setChatRowsVisibleCount:Fe,setSidebarOpen:G,setView:Ie,setSelectedAppId:Le,setSelectedProjectId:Re,setSelectedSessionId:ze,setPrompt:Be,setDraftProvider:Ve,setDraftModel:He,setDraftExperience:Ue,setCodexPermissionMode:We,setCodexReasoningEffort:Ge,setOpenPondCommandAccessMode:Ke,setDiffPanelOpen:qe,setDiffPanelExpanded:Je,setRightPanelMode:Ye,setRightChatPanels:Xe,setTerminalOpen:Ze,setSyncingWorkspaceAppId:Qe,setSettingsSection:$e,setNewProjectDialogOpen:et,setNewProjectMode:tt,setNewProjectName:nt,setNewProjectPath:rt,setNewProjectBusy:it,setCommitDialogOpen:at,setCommitMessage:ot,setCommitIncludeUnstaged:st,setCommitNextStep:ct,setCommitDraft:lt,setBranchDialogOpen:ut,setBranchDialogName:dt,setError:ft}=n,{connectionRef:pt,setError:mt,showToast:ht}=Dv({appDispatch:t,error:Oe,setErrorState:ft}),{appPreferences:gt,applyBootstrapPayload:_t,applyPreferencesPayload:vt,bootstrap:yt,codexHistorySessions:bt,connection:K,events:xt,runtimeEventStore:St,notificationAfterSequence:Ct,approvals:wt,sessions:Tt,startup:Et,setAppPreferences:Dt,setBootstrap:Ot,setCodexHistorySessions:kt,setEvents:q,setSessions:At}=wv({selectedSessionId:H,setDraftModel:He,setDraftProvider:Ve,setCodexPermissionMode:We,setCodexReasoningEffort:Ge,setOpenPondCommandAccessMode:Ke,setError:mt,setSelectedAppId:Le,setSelectedProjectId:Re,setSelectedSessionId:ze});pt.current=K,Tp(K,ht,t),(0,Y.useEffect)(()=>{yt&&p(yt.sidebarFileBookmarks??[])},[yt?.sidebarFileBookmarks]);let jt=(0,Y.useMemo)(()=>[...xt].reverse().find(e=>e.name===`tool.completed`&&e.action===`manage_sidebar_file`)??null,[xt]),Mt=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{K&&jt&&Mt.current!==jt.id&&(Mt.current=jt.id,Z.sidebarFiles(K).then(e=>p(e.items)).catch(e=>mt(e instanceof Error?e.message:String(e))))},[K,jt,mt]);let Nt=(0,Y.useCallback)(async(e,t)=>{if(!K)return;let n=f;p(n=>t===`none`?n.filter(t=>t.id!==e.id):n.some(t=>t.id===e.id)?n.map(n=>n.id===e.id?{...n,status:t}:n):[...n,{...e,status:t}]);try{let n=await Z.patchSidebarFile(K,{workspaceKind:e.workspaceKind,workspaceId:e.workspaceId,workspaceName:e.workspaceName,path:e.path,status:t,sourceSessionId:e.sourceSessionId});p(n.items)}catch(e){p(n),mt(e instanceof Error?e.message:String(e))}},[K,mt,f]),Pt=Tx(K),Ft=yt?.profile?.activeProfile??`default`,It=E_(yt?K:null,Ft),Lt=oy({connection:yt?K:null,profileId:Ft,enabled:z===`labs`||!!(H&&It.data?.creationSessionIds.includes(H))}),{projectsCollapsed:Rt,cloudProjectsCollapsed:zt,chatsCollapsed:Bt,savedForLaterCollapsed:Vt,sidebarWidth:Ht,sidebarResizing:Ut,diffPanelWidth:Wt,diffPanelResizing:Gt,toggleProjectsCollapsed:Kt,toggleCloudProjectsCollapsed:qt,toggleChatsCollapsed:Jt,toggleSavedForLaterCollapsed:Yt,startSidebarResize:Xt,startDiffPanelResize:Zt}=Xv({connection:K,preferences:yt?.preferences,sidebarOpen:R,diffPanelExpanded:ue,setBootstrap:Ot,setError:mt}),{cloudProjectById:Qt,linkedProjectByAppId:$t,localProjectById:en,mentionableSandboxApps:tn,selectedApp:nn,selectedCloudProject:rn,selectedProject:an,selectedProjectLinkedApp:on,selectedProjectLinkedOpenPondApp:sn,selectedSession:cn,selectedSessionLinkedProject:ln,sidebarSessions:un}=dp({bootstrap:yt,codexHistorySessions:bt,selectedAppId:B,selectedProjectId:V,selectedSessionId:H,sessions:Tt}),J=Lf(cn?.experience??ie),fn=Ty(xt,wt),{chatMentionApps:pn,connectedAppMentions:mn,pendingApproval:hn}=Ep({bootstrap:yt,connectedAppRows:Pt,mentionableSandboxApps:tn,runtimeIndexes:fn,selectedApp:nn,selectedCloudProject:rn,selectedProject:an,selectedSession:cn,selectedSessionId:H}),{codexHistoryEvents:gn,setCodexHistoryEvents:_n}=sm({connection:K,selectedSessionId:H,selectedSessionLocallyActive:!!(H&&S.has(H)),selectedSessionStatus:cn?.status,setCodexHistorySessions:kt,setError:mt}),{account:vn,accountPending:yn,accountSignedOut:bn,activeModel:xn,activeProvider:Sn,activeWorkspaceAppId:Cn,activeWorkspaceId:wn,activeWorkspaceKind:Tn,activeWorkspaceLocation:En,appDefaults:Dn,cloudLinked:On,selectedCodexHistoryPending:kn,selectedSessionProjectId:An,startMessage:jn,workspaceName:Mn}=sp({bootstrap:yt,draftModel:re,draftProvider:ne,selectedApp:nn,selectedAppId:B,selectedCloudProject:rn,selectedProject:an,selectedSession:cn,selectedSessionId:H,selectedSessionLinkedProject:ln}),Nn=(0,Y.useMemo)(()=>tp(yt?.account??null),[yt?.account]),Pn=wx((0,Y.useMemo)(()=>Mf(yt?.account??null),[yt?.account])),Fn=(0,Y.useMemo)(()=>Bn(Pn,Dn.defaultTeamId),[Dn.defaultTeamId,Pn]),In=Fn?.teamId??null,Ln=Xb({connection:K,accountScopeKey:Nn,teamId:In,currentUserId:vn?.profile?.id??null,refreshToken:yt?.accountMeta.asOf??null}),Rn=cx({connection:K,teamId:In,applyBootstrapPayload:_t,refreshDirectory:Ln.refreshDirectory});ux({scope:JSON.stringify([dn(K),yt?.server.id,Nn,In]),notification:Ln.incomingNotification,dismiss:Ln.dismissIncomingNotification,selectThread:Ln.selectThread,setView:Ie,showToast:ht});let{communities:zn,sidebar:Vn,view:Hn}=Sx({connection:K,currentUserId:vn?.profile?.id??null,refreshToken:yt?.accountMeta.asOf??null,setView:Ie,showToast:ht}),Un=Ln.aiThread?.conversationId??null,Wn=z===`team`&&!!Un&&le&&de===`chat`;(0,Y.useEffect)(()=>{z===`team`&&(Un?(Ye(`chat`),qe(!0)):de===`chat`&&qe(!1))},[de,qe,Ye,Un,z]);let Gn=(0,Y.useCallback)(()=>{Un&&(Wn?qe(!1):(Ye(`chat`),qe(!0)))},[qe,Ye,Wn,Un]),Kn=(0,Y.useMemo)(()=>vf(an,yt?.cloudProjects??[]),[yt?.cloudProjects,an]),qn=cn?.provider===`codex`?se:cn?.openPondCommandAccessMode??se,Jn=Cn,Yn=wn,Xn=Tn,Zn=Mn,{openPondActionCatalog:Qn,selectedActionCatalog:$n}=zy({cloudProjectById:Qt,cloudProjects:yt?.cloudProjects??[],connection:K,defaultTeamId:Dn.defaultTeamId,accountScopeKey:Nn,localProjects:yt?.localProjects??[],profile:yt?.profile,selectedCloudProject:rn,selectedProject:an,reportError:mt}),{expandedProjectIds:er,expandProject:tr,toggleProjectExpanded:nr,setExpandedProjectIds:rr}=By({selectedProjectId:V});xp({activeWorkspaceId:wn,activeWorkspaceKind:Tn,connection:K,expandProject:tr,linkedProjectByAppId:$t,providerSettings:yt?.providers??null,selectedAppId:B,selectedSession:cn,selectedSessionId:H,selectedSessionProjectId:An,setDiffPanelExpanded:Je,setDraftModel:He,setDraftProvider:Ve,setError:mt,setSelectedAppId:Le,setSelectedProjectId:Re,setSessions:At,setTerminalOpen:Ze});let{changeCodexPermissionMode:ir,changeCodexReasoningEffort:ar}=Dp({connection:K,setBootstrap:Ot,setCodexPermissionMode:We,setCodexReasoningEffort:Ge,setError:mt}),{changeOpenPondCommandAccessMode:or}=u_({connection:K,selectedSession:cn,setBootstrap:Ot,setError:mt,setOpenPondCommandAccessMode:Ke,setSessions:At}),sr=Sp({connection:K,setError:mt}),cr=(0,Y.useCallback)(()=>{E(e=>e+1)},[]);(0,Y.useEffect)(()=>{z===`chat`&&cr()},[z,H,V,B,cr]);let lr=wp({appDispatch:t,expandProject:tr,linkedProjectByAppId:$t,requestComposerFocus:cr,onBeginNewChat:()=>{Ks({kind:`chat`,sessionId:null}),O(null),Ue(`work`)},setMentionedAppId:d}),ur=(0,Y.useCallback)(e=>{let n=U(`local`,e);t({type:`selectProject`,projectId:n}),tr(n)},[t,tr]),{advanceAfterTurn:dr,begin:fr,bindSession:pr,dismiss:mr,handoff:hr,prepareTurn:gr,selectTask:_r}=yy({activeModel:xn,activeProvider:Sn,applyBootstrapPayload:_t,beginNewChat:lr,composerDraftStore:e,connection:K,requestComposerFocus:cr,selectedLocalProjectId:an?.id??null,selectedSessionId:H,selectLocalProject:ur,setDraftModel:He,setDraftProvider:Ve,setError:mt,view:z});Jv({connection:K,events:xt,showToast:ht}),C_({searchOpen:N,sectionMenuOpen:P,setSectionMenuOpen:Me,setSearchOpen:W,setQuery:Ae}),(0,Y.useEffect)(()=>{x({})},[yt?.server.id]);let{chatHistoryLoadStates:vr,loadMoreSelectedChatHistory:yr,selectedPagedSessionEvents:br,selectedRuntimeIndexes:xr}=Cy({approvals:wt,codexHistoryEvents:gn,connection:K,runtimeIndexes:fn,runtimeEventStore:St,selectedSessionId:H,serverId:yt?.server.id,setCodexHistoryEvents:_n,setCodexHistorySessions:kt,setError:mt}),{activeSessions:Sr,archivedSessions:Cr,pinnedProjects:wr,pinnedSessions:Tr,savedForLaterSessions:Er,pinnedFiles:Dr,savedForLaterFiles:Or,pinnedItems:kr,projectRows:Ar,localProjectRows:jr,visibleProjectRows:Mr,cloudProjectRows:Nr,projectSessionRowsByProjectId:Pr,childSessionRowsByParentId:Fr,sidebarProjectIdBySessionId:Ir,chatRows:Lr,visibleChatRows:Rr,sessionEvents:zr,chatMessages:Br,contextUsage:Vr,goalRuntime:Hr,subagentRuntime:Ur}=d_({localProjects:yt?.localProjects??[],cloudProjects:yt?.cloudProjects??[],teamId:Dn.defaultTeamId,sessions:un,runtimeIndexes:xr,appPreferences:gt,selectedSessionId:H,selectedProjectId:V,archivedChatsOpen:te,projectsExpanded:F,chatRowsVisibleCount:L,sidebarFileBookmarks:f}),Wr=(0,Y.useCallback)(()=>{let e=(H?Ir[H]:null)??V??(an?U(`local`,an.id):null)??(rn?U(`cloud`,rn.id):null);lr(null,e)},[lr,H,Ir,V,an,rn]),{pendingChatUserMessages:Gr,recordPendingChatUserMessage:Kr,visibleChatMessages:qr}=l_({chatMessages:Br,runtimeIndexes:xr,selectedSessionId:H}),Jr=(0,Y.useMemo)(()=>ql({selectedAppId:B,selectedProjectId:V,selectedSessionId:H}),[B,V,H]),Yr=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let e=Yr.current;Yr.current=Jr,e&&e.kind===`draft`&&Jr.kind===`session`&&(Ul(e,Jr)||s(t=>{let n=Jl({tabs:t,previousScope:e,activeScope:Jr});return n.some((e,n)=>e!==t[n])?n:t}))},[Jr]);let Xr=(0,Y.useMemo)(()=>Zl(o),[o]),{goalRuntime:Zr,runningSessionIds:Qr,selectedSessionRunning:$r,sidebarGoalRuntimeBySessionId:ei,sidebarSubagentRuntimeBySessionId:ti}=S_({codexHistoryEvents:gn,codexHistorySessions:bt,connection:K,expandedProjectIds:er,goalRuntime:Hr,locallyActiveCodexHistorySessionIds:S,pinnedSessions:Tr,savedForLaterSessions:Er,projectSessionRowsByProjectId:Pr,rightChatHistoryEvents:b,runtimeIndexes:fn,selectedSession:cn,selectedSessionId:H,serverId:yt?.server.id,setCodexHistorySessions:kt,setError:mt,sidebarSessions:un,subagentRuntime:Ur,visibleChatRows:Rr,visibleProjectRows:Mr}),{dragItem:ni,pinnedPreviewKeys:ri,startPinnedDrag:ii,clearSidebarDrag:ai,previewPinnedDrop:oi,commitPinnedDrop:si,commitPinnedPreviewDrop:ci}=lm({connection:K,appPreferences:gt,sessions:un,pinnedItems:kr,setAppPreferences:Dt,setCodexHistorySessions:kt,setSessions:At,sidebarFileBookmarks:f,setSidebarFileBookmarks:p,setError:mt}),{clearTaskDrag:li,commitTaskDrop:ui,commitTaskPreviewDrop:di,previewTaskDrop:fi,startTaskDrag:pi,taskDragSessionId:mi,taskPreviewSessionIds:hi}=um({connection:K,sessions:un,setCodexHistorySessions:kt,setError:mt,setSessions:At}),{commandProjectRows:gi,contextWindowStatus:_i,pinnedRows:vi,sidebarWorkspaceAppIds:yi}=Cp({activeProvider:Sn,contextCompaction:Dn.contextCompaction,contextUsage:Vr,pinnedItems:kr,pinnedPreviewKeys:ri??[],pinnedProjects:wr,projectRows:Ar,visibleProjectRows:Mr}),bi=!(!Jn||z!==`chat`&&z!==`labs`||!be&&(!le||de!==`changes`&&de!==`goal`)),{workspaceStates:xi,workspaceBusy:Si,diffBusy:Ci,visibleWorkspaceState:wi,visibleWorkspaceDiff:Ti,rememberWorkspaceState:Ei,refreshWorkspace:Di,refreshWorkspaceDiff:Oi,setWorkspaceBusy:ki}=Gy({connection:K,activeWorkspaceAppId:Jn,view:z,shouldLoadWorkspaceDiff:bi,sidebarWorkspaceAppIds:yi,setError:mt});k.current=Ei;let Ai=(0,Y.useCallback)((e=Jn)=>!e||e!==Jn||!bi?Promise.resolve(null):Oi(e),[Oi,bi,Jn]),ji=(0,Y.useCallback)(async(e={})=>{Jn&&bi&&await Oi(Jn,e)},[Oi,bi,Jn]),Mi=!(cn?.provider!==`codex`||!cn.cwd||bf(cn.workspaceKind)),Ni=!(!wi||wi.initialized||Tn===`local_project`||Sn===`codex`||Mi||kn),Pi=Tn===`local_project`&&!!an?.sandboxTemplate?.detected&&!an?.linkedOpenPondApp?.appId,[Fi,Ii]=(0,Y.useState)(null),[Li,Ri]=(0,Y.useState)(null),{projectTarget:zi,workspaceTarget:Bi}=cp({accountPending:yn,accountSignedOut:bn,activeWorkspaceLocation:En,bootstrap:yt,busy:ce,cloudLinked:On,selectedCloudProject:rn,selectedProject:an,selectedSession:cn,pendingWorkspaceTarget:Fi,workspaceStates:xi,workspaceBusy:Si});return(0,Y.useEffect)(()=>{Ii(null)},[cn?.id]),{composerDraftStore:e,appDispatch:t,pendingTerminalCommand:i,setPendingTerminalCommand:a,terminalTabs:o,setTerminalTabs:s,trainingDetailTasksetId:c,setTrainingDetailTasksetId:l,mentionedAppId:u,setMentionedAppId:d,cloudSetupDialog:m,setCloudSetupDialog:h,rightPanelTabRequest:g,setRightPanelTabRequest:_,workspaceDiffPanelViewState:v,setWorkspaceDiffPanelViewState:y,rightChatHistoryEvents:b,setRightChatHistoryEvents:x,locallyActiveCodexHistorySessionIds:S,setCodexHistoryTurnLocallyActive:w,mainComposerFocusRequestId:T,requestMainComposerFocus:cr,draftSubagentDelegationMode:D,setDraftSubagentDelegationMode:O,confirmProjectAction:A,projectConfirmDialog:j,resolveProjectConfirmDialog:M,query:ee,searchOpen:N,archivedChatsOpen:te,sectionMenuOpen:P,projectsExpanded:F,cloudProjectsExpanded:I,sidebarOpen:R,view:z,selectedAppId:B,selectedProjectId:V,selectedSessionId:H,draftProvider:ne,draftModel:re,draftExperience:ie,activeExperience:J,beginNewThread:Wr,codexPermissionMode:ae,codexReasoningEffort:oe,openPondCommandAccessMode:se,busy:ce,diffPanelOpen:le,diffPanelExpanded:ue,rightPanelMode:de,rightChatPanels:fe,terminalOpen:pe,settingsSection:me,newProjectDialogOpen:he,newProjectMode:ge,newProjectName:_e,newProjectPath:ve,newProjectBusy:ye,commitDialogOpen:be,commitMessage:xe,commitIncludeUnstaged:Se,commitNextStep:Ce,commitDraft:we,branchDialogOpen:Te,branchDialogName:Ee,toasts:De,error:Oe,labDetailNavigation:ke,setQuery:Ae,setSearchOpen:W,setArchivedChatsOpen:je,setSectionMenuOpen:Me,setProjectsExpanded:Ne,setCloudProjectsExpanded:Pe,setChatRowsVisibleCount:Fe,setSidebarOpen:G,setView:Ie,setSelectedAppId:Le,setSelectedProjectId:Re,setSelectedSessionId:ze,setPrompt:Be,setDraftProvider:Ve,setDraftModel:He,setDraftExperience:Ue,setDiffPanelOpen:qe,setDiffPanelExpanded:Je,setRightPanelMode:Ye,setRightChatPanels:Xe,setTerminalOpen:Ze,setSyncingWorkspaceAppId:Qe,setSettingsSection:$e,setNewProjectDialogOpen:et,setNewProjectMode:tt,setNewProjectName:nt,setNewProjectPath:rt,setNewProjectBusy:it,setCommitDialogOpen:at,setCommitMessage:ot,setCommitIncludeUnstaged:st,setCommitNextStep:ct,setCommitDraft:lt,setBranchDialogOpen:ut,setBranchDialogName:dt,setError:mt,showToast:ht,appPreferences:gt,applyBootstrapPayload:_t,applyPreferencesPayload:vt,approvals:wt,bootstrap:yt,connection:K,events:xt,runtimeEventStore:St,notificationAfterSequence:Ct,sessions:Tt,startup:Et,setAppPreferences:Dt,setCodexHistorySessions:kt,setEvents:q,setSessions:At,training:Lt,trainingNavigation:It,projectsCollapsed:Rt,cloudProjectsCollapsed:zt,chatsCollapsed:Bt,savedForLaterCollapsed:Vt,sidebarWidth:Ht,sidebarResizing:Ut,diffPanelWidth:Wt,diffPanelResizing:Gt,toggleProjectsCollapsed:Kt,toggleCloudProjectsCollapsed:qt,toggleChatsCollapsed:Jt,toggleSavedForLaterCollapsed:Yt,startSidebarResize:Xt,startDiffPanelResize:Zt,cloudProjectById:Qt,localProjectById:en,selectedApp:nn,selectedCloudProject:rn,selectedProject:an,selectedProjectLinkedApp:on,selectedProjectLinkedOpenPondApp:sn,selectedSession:cn,sidebarSessions:un,runtimeIndexes:fn,chatMentionApps:pn,connectedAppMentions:mn,pendingApproval:hn,codexHistoryEvents:gn,setCodexHistoryEvents:_n,account:vn,accountPending:yn,accountSignedOut:bn,activeModel:xn,activeProvider:Sn,activeWorkspaceAppId:Cn,activeWorkspaceId:wn,activeWorkspaceKind:Tn,activeWorkspaceLocation:En,appDefaults:Dn,selectedSessionProjectId:An,startMessage:jn,workspaceName:Mn,accountScopeKey:Nn,organizations:Pn,teamChatOrganization:Fn,teamChatTeamId:In,teamChat:Ln,publishTeamProfileAgent:Rn,communities:zn,communitySidebar:Vn,communityView:Hn,teamAiThreadId:Un,toggleTeamAiSidebar:Gn,selectedProjectConfirmedCloudProject:Kn,activeOpenPondCommandAccessMode:qn,viewWorkspaceAppId:Jn,viewWorkspaceId:Yn,viewWorkspaceKind:Xn,viewWorkspaceName:Zn,openPondActionCatalog:Qn,selectedActionCatalog:$n,expandedProjectIds:er,expandProject:tr,toggleProjectExpanded:nr,setExpandedProjectIds:rr,changeCodexPermissionMode:ir,changeCodexReasoningEffort:ar,changeOpenPondCommandAccessMode:or,resolveApproval:sr,beginNewChat:lr,advanceTrainingModelChatAfterTurn:dr,beginNewChatWithTrainingModel:fr,bindTrainingModelChatSession:pr,dismissTrainingChatHandoff:mr,trainingChatHandoff:hr,prepareTrainingModelChatTurn:gr,selectTrainingChatTaskForComposer:_r,chatHistoryLoadStates:vr,loadMoreSelectedChatHistory:yr,selectedPagedSessionEvents:br,activeSessions:Sr,archivedSessions:Cr,pinnedSessions:Tr,savedForLaterSessions:Er,pinnedFiles:Dr,savedForLaterFiles:Or,sidebarFileBookmarks:f,setSidebarFileStatus:Nt,projectRows:Ar,localProjectRows:jr,visibleProjectRows:Mr,cloudProjectRows:Nr,projectSessionRowsByProjectId:Pr,childSessionRowsByParentId:Fr,sidebarProjectIdBySessionId:Ir,chatRows:Lr,visibleChatRows:Rr,chatRowsVisibleCount:L,sessionEvents:zr,chatMessages:Br,goalRuntime:Zr,subagentRuntime:Ur,pendingChatUserMessages:Gr,recordPendingChatUserMessage:Kr,visibleChatMessages:qr,activeTerminalScope:Jr,terminalSummaries:Xr,runningSessionIds:Qr,selectedSessionRunning:$r,sidebarGoalRuntimeBySessionId:ei,sidebarSubagentRuntimeBySessionId:ti,taskDragSessionId:mi,taskPreviewSessionIds:hi,startTaskDrag:pi,clearTaskDrag:li,previewTaskDrop:fi,commitTaskDrop:ui,commitTaskPreviewDrop:di,dragItem:ni,startPinnedDrag:ii,clearSidebarDrag:ai,previewPinnedDrop:oi,commitPinnedDrop:si,commitPinnedPreviewDrop:ci,commandProjectRows:gi,contextWindowStatus:_i,pinnedRows:vi,workspaceStates:xi,workspaceBusy:Si,diffBusy:Ci,visibleWorkspaceState:wi,visibleWorkspaceDiff:Ti,rememberWorkspaceState:Ei,refreshWorkspace:Di,refreshWorkspaceDiff:Oi,setWorkspaceBusy:ki,refreshWorkspaceDiffWhenNeeded:Ai,refreshVisibleWorkspaceDiff:ji,managedWorkspace:!1,canSyncActiveWorkspace:Ni,canPublishOpenPondProject:Pi,pendingWorkspaceTarget:Fi,setPendingWorkspaceTarget:Ii,pendingSidebarWorkspaceTarget:Li,setPendingSidebarWorkspaceTarget:Ri,projectTarget:zi,workspaceTarget:Bi}}var Dx=`openpond-coding-core-v1`,Ox=`feature`;function kx(e){let t=new URL(`/sandboxes`,Mx(e.accountBaseUrl));return t.searchParams.set(`teamId`,e.teamId),t.searchParams.set(`create`,`sandbox`),t.searchParams.set(`intent`,`cloud-coding`),t.searchParams.set(`source`,e.source),t.searchParams.set(`projectId`,e.projectId),t.searchParams.set(`workflowMode`,Ox),t.searchParams.set(`runtimeProfileId`,Dx),e.projectName?.trim()&&t.searchParams.set(`projectName`,e.projectName.trim()),e.baseBranch?.trim()&&t.searchParams.set(`baseBranch`,e.baseBranch.trim()),e.localProjectId?.trim()&&t.searchParams.set(`localProjectId`,e.localProjectId.trim()),t.toString()}function Ax(e){let t=e.organizationSlug?.trim(),n=t?`/sandboxes/${encodeURIComponent(t)}/billing`:`/sandboxes/billing`,r=new URL(n,Mx(e.accountBaseUrl));return!t&&e.teamId?.trim()&&r.searchParams.set(`teamId`,e.teamId.trim()),r.toString()}function jx(e){let t=e.organizationSlug?.trim(),n=e.projectSlug?.trim();return!t||!n?null:new URL(`/${encodeURIComponent(t)}/${encodeURIComponent(n)}`,Mx(e.accountBaseUrl)).toString()}function Mx(e){let t=e?.trim();if(!t)return`https://openpond.ai`;try{let e=new URL(t);return`${e.protocol}//${e.host}`}catch{return`https://openpond.ai`}}function Nx({account:e,browserConversationId:t,cloudProjectById:n,cloudProjects:r,diffPanelOpen:i,rightPanelMode:a,selectedProjectId:o,setDiffPanelOpen:s,setNewProjectDialogOpen:c,setNewProjectMode:l,setNewProjectName:u,setRightPanelMode:d}){let f=(0,Y.useCallback)(()=>{d(`changes`),s(!0)},[s,d]),p=(0,Y.useCallback)(()=>{i&&a===`changes`?s(!1):f()},[i,a,s,f]),m=(0,Y.useCallback)(()=>{d(`browser`),s(!0)},[s,d]),h=(0,Y.useCallback)(()=>{d(`goal`),s(!0)},[s,d]),g=(0,Y.useCallback)((e,n)=>{ln({conversationId:t,href:e,explicitFile:n?.explicitFile,newTab:n?.newTab}).then(e=>{e&&m()})},[t,m]),_=(0,Y.useCallback)(()=>{l(`cloud`),u(``),c(!0)},[c,l,u]),v=(0,Y.useCallback)(t=>{let r=n.get(t);r&&g(kx({accountBaseUrl:e?.baseUrl??e?.activeProfile?.baseUrl??null,teamId:r.teamId,projectId:r.id,projectName:r.name,baseBranch:r.defaultBranch,source:`openpond-app`}),{newTab:!0})},[e,n,g]);return{createCloudEnvironmentFromSidebar:(0,Y.useCallback)(()=>{let e=o?.startsWith(`cloud:`)?o.slice(6):r[0]?.id??null;e?v(e):_()},[r,_,o,v]),openCloudProjectDialog:_,openUrlInBrowserPanel:g,showBrowserPanel:m,showChangesPanel:f,showGoalSidebarTab:h,toggleChangesPanel:p}}function Px(e){let t=e.requestConversationId.trim();return t?t===e.currentConversationId?{reveal:!0,sessionIdToOpen:null}:new Set(e.sessionIds).has(t)?{reveal:!0,sessionIdToOpen:t}:{reveal:!1,sessionIdToOpen:null}:{reveal:!1,sessionIdToOpen:null}}function Fx({browserConversationId:e,sessionIds:t,onOpenSession:n,onShowBrowserPanel:r}){(0,Y.useEffect)(()=>window.openpond?.browser?.onRevealRequest?.(i=>{let a=Px({currentConversationId:e,requestConversationId:i.conversationId,sessionIds:t});a.reveal&&(a.sessionIdToOpen&&n(a.sessionIdToOpen),r())}),[e,n,r,t])}function Ix(e){let t=zx(e.organizations,e.defaultTeamId),n=Gn(t),r=e.localProject??null;if(!r)return Rx(`Open a local project to set up an Agent.`);let i=Bx(r,e.projects),a=Vx(r,i,e.agents),o=!!r.sandboxTemplate?.detected,s=t&&!n?`Ask an owner or admin to connect this project.`:null;return o?i?Hx(r,i)?Lx({state:`needs_sync`,actionLabel:`Sync Project`,project:i,agent:a,canManage:n,actionBlockedReason:s}):a?{state:`ready`,actionLabel:`Run Agent`,canAct:!0,reason:null,project:i,agent:a}:Lx({state:`needs_agent`,actionLabel:`Create Agent`,project:i,agent:null,canManage:n,actionBlockedReason:s}):Lx({state:`needs_project`,actionLabel:`Connect Project`,project:null,agent:null,canManage:n,actionBlockedReason:s}):Lx({state:`missing_config`,actionLabel:`Add Agent config`,project:i,agent:a,canManage:n,actionBlockedReason:s})}function Lx(e){return e.canManage?{state:e.state,actionLabel:e.actionLabel,canAct:!0,reason:null,project:e.project,agent:e.agent}:{state:`blocked`,actionLabel:`Ask admin`,canAct:!1,reason:e.actionBlockedReason,project:e.project,agent:e.agent}}function Rx(e){return{state:`blocked`,actionLabel:`Ask admin`,canAct:!1,reason:e,project:null,agent:null}}function zx(e,t){if(e.length===0)return null;let n=t?.trim()??``;if(n){let t=e.find(e=>e.teamId===n);if(t)return t}return e.length===1?e[0]??null:e.find(e=>e.role===`owner`)??e.find(e=>e.role===`admin`)??e[0]??null}function Bx(e,t){let n=e.linkedSandboxProject;return n?.projectId?t.find(e=>e.id===n.projectId)??null:null}function Vx(e,t,n){if(!t)return null;let r=e.preferredSandboxAgentId;if(r){let e=n.find(e=>e.id===r&&e.projectId===t.id);if(e)return e}return n.find(e=>e.projectId===t.id)??null}function Hx(e,t){if(t.sandboxManifestError||!t.sandboxManifestSyncedAt||!t.sandboxManifestHash)return!0;if(e.sandboxTemplate?.manifestHash&&t.sandboxManifestHash)return e.sandboxTemplate.manifestHash!==t.sandboxManifestHash;if(e.linkedSandboxProject?.manifestHash&&t.sandboxManifestHash)return e.linkedSandboxProject.manifestHash!==t.sandboxManifestHash;let n=e.sandboxTemplate?.manifestPath;return n&&t.sandboxManifestPath?!n.endsWith(t.sandboxManifestPath):!1}var Ux=e=>e.slice(0,2e4);function Wx({model:e,provider:t,providerSettings:n}){return{model:Se(t,e,n),modelRef:Me(t,e,n)}}function Gx(e,t){return e.some(e=>e.id===t.id)?e:[...e,t]}function Kx(e,t){let n=new Date().toISOString(),r=`codex_history_optimistic_${n}_${Math.random().toString(36).slice(2,8)}`;return{id:r,sessionId:e,turnId:`${r}_turn`,name:`turn.started`,timestamp:n,source:`chat_action`,args:{prompt:t},status:`started`}}function qx(e,t){return{id:`${e.id}_failed`,sessionId:e.sessionId,turnId:e.turnId,name:`turn.failed`,timestamp:new Date().toISOString(),source:`server`,status:`failed`,error:t instanceof Error?t.message:String(t)}}function Jx({action:e,prompt:t,runPayload:n,sessionId:r}){let i=new Date().toISOString(),a=`openpond_action_${n.run.id}`,o=n.run.status===`failed`?`failed`:n.run.status===`succeeded`?`completed`:`started`;return[{id:`${a}_user`,sessionId:r,turnId:a,name:`turn.started`,timestamp:i,source:`chat_action`,args:{prompt:t}},{id:`${a}_result`,sessionId:r,turnId:a,name:`workspace_action_result`,timestamp:n.run.updatedAt??i,source:`chat_action`,action:`sandbox_run_action`,appId:null,status:o,output:o===`completed`?`Ran ${e.label??e.name??e.id}`:`Started ${e.label??e.name??e.id}`,data:{openPondActionRun:!0,action:{name:e.id,label:e.label??e.name??e.id,implementation:e.implementation},agent:n.agent,run:n.run,sandbox:n.sandbox??null,actionSummary:n.run.actionSummary??null,responseSummary:n.run.responseSummary??null,traceSummary:n.run.traceSummary??null,evalSummary:n.run.evalSummary??null,sourceSummary:n.run.sourceSummary??null}}]}function Yx({applyBootstrapPayload:e,connection:t,codexPermissionMode:n,codexReasoningEffort:r,openPondCommandAccessMode:i,draftModel:a,draftProvider:o,experience:s,expandProject:c,ensureCloudSessionReady:l,getPrompt:u,bootstrap:d,chatMessages:f,apps:p,connectedAppMentions:m,mentionedAppId:h,refreshWorkspace:g,refreshWorkspaceDiff:_,selectedApp:v,selectedActionCatalog:y,openPondActionCatalog:b,cloudProjects:x,accountScopeKey:S,selectedCloudProject:C,selectedProject:w,selectedProjectLinkedOpenPondApp:T,selectedSession:E,workspaceTarget:D,subagentDelegationMode:O,setDraftModel:k,setDraftProvider:A,setError:j,setPrompt:M,setMentionedAppId:ee,setCodexHistoryEvents:N,setCodexHistorySessions:te,onCodexHistoryTurnActivityChange:P,onCodexHistoryTurnPayload:F,onPendingUserMessage:I,setEvents:L,setSelectedAppId:R,setSelectedProjectId:z,setSelectedSessionId:B,setSessions:V,setView:H,setWorkspaceBusy:re}){function ie(t){Z.bootstrap(t).then(e).catch(e=>{console.warn(`[chat] Message was accepted, but the post-send bootstrap refresh failed.`,e),j(`Message sent, but the chat list could not refresh: ${e instanceof Error?e.message:String(e)}`)})}let ae=(0,Y.useRef)(new Set),oe=d?.providers??null;function se(e,t){return e===`codex`?void 0:t}function ce(e){return!!(e&&e.provider!==`codex`&&(e.workspaceKind===`local_project`&&e.cwd?.trim()||(e.workspaceKind===`sandbox`||e.workspaceKind===`sandbox_template`||e.workspaceKind===`sandbox_app`)&&e.workspaceId))}function le(e,t){let n=t??Pt(e,oe);It(e,n),A(e),k(n),H(`chat`)}async function ue(e,n){return(V_(n,S)??await U_({teamId:n,accountKey:S,fetchAgents:async e=>(await Z.listSandboxAgents(t,{teamId:e})).agents})).find(t=>t.projectId===e)??null}async function de(){if(!t)throw Error(`OpenPond App server is not connected.`);if(d?.account.state!==`signed_in`)throw Error(`Add an OpenPond account before syncing a Project to Cloud.`);let e=zx((await Z.organizations(t)).organizations.map(Un).filter(e=>!!e).filter(e=>e.status===`active`),d?.preferences.defaultTeamId??null);if(!e)throw Error(`Add an OpenPond account before syncing a Project to Cloud.`);if(!Gn(e))throw Error(`You need owner or admin access to create projects in ${e.displayName}.`);return e}async function fe(n){if(!t)return!1;let r=w;if(!r)throw Error(`Select a local Project before using /sync-cloud.`);let a=await de(),o=r.linkedSandboxProject?.defaultBranch?.trim()||`main`,s=U(`local`,r.id),l=vf(r,x),u=await Z.createSession(t,{provider:`openpond`,modelRef:Me(`openpond`,ne,oe),openPondCommandAccessMode:se(`openpond`,i),appId:null,appName:null,workspaceKind:`local_project`,workspaceId:r.id,workspaceName:r.name,localProjectId:r.id,cloudProjectId:l?.id??null,cloudTeamId:l?.teamId??null,cwd:r.workspacePath,title:`Sync ${r.name} to Cloud`});V(e=>[u,...e]),n.onSessionCreated?.(u),n.selectSession&&(B(u.id),z(s),R(null),H(`chat`),c(s)),n.clearPromptForTurn(),re(!0);try{let i=await Z.uploadLocalProjectCloudSource(t,r.id,{teamId:a.teamId,projectName:r.name,branch:o,chatSessionId:u.id,displayPrompt:n.displayPrompt});return e(i.bootstrap),c(s),c(U(`cloud`,i.project.id)),!0}catch(n){let r=await Z.bootstrap(t).catch(()=>null);throw r&&e(r),n}finally{re(!1)}}async function pe(e){if(!t||e.providerForTurn===`codex`||e.selectedSessionForTurn?.provider===`codex`)return!1;let n=ce(e.selectedSessionForTurn)?e.selectedSessionForTurn:null;if(!n&&e.selectedSessionForTurn)throw Error(`Select a project to use this.`);if(!n){if(C){let r=U(`cloud`,C.id),i=e.providerForTurn;n=await Z.createSession(t,{provider:i,modelRef:Me(i,e.modelForTurnValue,oe),openPondCommandAccessMode:se(i,e.openPondCommandAccessModeForTurn),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:C.id,workspaceName:C.name,localProjectId:null,cloudProjectId:C.id,cloudTeamId:C.teamId,cwd:null,autoTitlePrompt:Ux(e.command)}),V(e=>[n,...e]),e.onSessionCreated?.(n),e.selectSession&&(B(n.id),z(r),R(null),H(`chat`),c(r))}else{let r=w;if(!r)throw Error(`Select a project to use this.`);let i=vf(r,x),a=U(`local`,r.id),o=e.providerForTurn;n=await Z.createSession(t,{provider:o,modelRef:Me(o,e.modelForTurnValue,oe),openPondCommandAccessMode:se(o,e.openPondCommandAccessModeForTurn),appId:null,appName:null,workspaceKind:`local_project`,workspaceId:r.id,workspaceName:r.name,localProjectId:r.id,cloudProjectId:i?.id??null,cloudTeamId:i?.teamId??null,cwd:r.workspacePath,autoTitlePrompt:Ux(e.command)}),V(e=>[n,...e]),e.onSessionCreated?.(n),e.selectSession&&(B(n.id),z(a),R(null),H(`chat`),c(a))}}if(!n)throw Error(`Select a project to use this.`);e.clearPromptForTurn();let r=await Z.runSessionCommand(t,n.id,{command:e.command,cwd:n.cwd});return V(e=>Ap(e,r.session)),L(e=>wd(e,r.events)),!0}async function me(d=[],S=null,k,A={}){let R=k??u(),H=R.trim()||(d.length>0?`Please review the attached files.`:``);if(!t||!H)return!1;let ne=A.displayPrompt?.trim()||H,re=A.provider??o,ce=A.model??a,le=A.openPondCommandAccessMode??i,de=A.session!==void 0,me=de?A.session??null:E,he=Lf(A.experience??me?.experience??s),ge=he===`development`||he===`work`&&(me?.workspaceKind===`local_project`||!!me?.localProjectId||!!me?.cloudProjectId||!de&&!!(w||C||v||D===`hybrid`||D===`local`)),ve=de||!ge?null:v,ye=de||!ge?null:w,be=de||!ge?null:C,xe=de||!ge?null:T,Ce=!de&&ge&&D===`hybrid`,Te=A.selectSession??!0,Ee=A.chatMessages??f,Oe=A.session===void 0?h:null,ke=A.clearPrompt===void 0?()=>{M(``),ee(null)}:A.clearPrompt,Ae=S?null:Wt(H,y),W=S??Ae?.action??null,je=Ae?.prompt||H,Ne=ge&&!W?Xt(H):null,Pe=W||Ne?null:Ut(H),Fe=Pe&&!Yt({id:Pe.command},he)?Pe:null,G=A.usageAttribution??(Pe?{surface:`chat`,workflowKind:`slash_command`,commandName:`/${Pe.command}`,commandSource:`prompt_parse`}:void 0);j(null);let Ie=null,Le=!1,Re=null;try{if(!ge&&re===`codex`)throw Error(`Select a local workspace to use the Codex provider.`);if(Fe)throw Error(`/${Fe.command} isn't available in ${he}.`);if(Ne&&re!==`codex`&&me?.provider!==`codex`){if(d.length>0)throw Error(`Direct commands do not accept attachments.`);return await pe({command:Ne.command,clearPromptForTurn:ke,modelForTurnValue:ce,onSessionCreated:A.onSessionCreated,openPondCommandAccessModeForTurn:le,providerForTurn:re,selectedSessionForTurn:me,selectSession:Te})}if(!de&&Pe?.command===`sync-cloud`)return await fe({clearPromptForTurn:ke,displayPrompt:ne,onSessionCreated:A.onSessionCreated,selectSession:Te});if(W){let n=Vt(W);if(n){let r=me;if(!r||r.cloudProjectId!==n.projectId){r=await Z.createSession(t,{provider:`openpond`,modelRef:Me(`openpond`,ce,oe),openPondCommandAccessMode:se(`openpond`,le),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:n.projectId,workspaceName:n.projectName??n.agentName,localProjectId:null,cloudProjectId:n.projectId,cloudTeamId:n.teamId,cwd:null,autoTitlePrompt:Ux(ne)}),V(e=>[r,...e]),A.onSessionCreated?.(r),Te&&B(r.id);let e=U(`cloud`,n.projectId);Te&&z(e),Te&&c(e)}let i=await Z.runSandboxAgent(t,n.agentId,Zt({agent:n,attachments:d,displayPrompt:ne,prompt:je}));return e(await Z.bootstrap(t)),ke(),L(e=>wd(e,Jx({action:W,prompt:ne,runPayload:i,sessionId:r.id}))),!0}let r=Nt(W);if(r){let n=me;return(!n||n.provider!==`openpond`)&&(n=await Z.createSession(t,{provider:`openpond`,modelRef:Me(`openpond`,ce,oe),openPondCommandAccessMode:se(`openpond`,le),appId:null,appName:null,workspaceId:null,workspaceName:`OpenPond profile`,localProjectId:null,cloudProjectId:null,cloudTeamId:null,cwd:null,autoTitlePrompt:Ux(ne)}),V(e=>[n,...e]),A.onSessionCreated?.(n),Te&&B(n.id)),await Z.runProfileAction(t,Mt({action:r,attachments:d,displayPrompt:ne,prompt:je,sessionId:n.id})),e(await Z.bootstrap(t)),ke(),!0}let i=My({cloudProjects:x,selectedCloudProject:C,selectedProject:w});if(!i)throw Error(`Select a Project linked to an OpenPond Cloud Project before running an action.`);let a=me;(!a||a.cloudProjectId!==i.id)&&(a=await Z.createSession(t,{provider:`openpond`,modelRef:Me(`openpond`,ce,oe),openPondCommandAccessMode:se(`openpond`,le),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:i.id,workspaceName:i.name,localProjectId:i.localProjectId,cloudProjectId:i.id,cloudTeamId:i.teamId,cwd:null,autoTitlePrompt:Ux(ne)}),V(e=>[a,...e]),A.onSessionCreated?.(a),Te&&(B(a.id),z(i.selectionKey),c(i.selectionKey)));let o=await ue(i.id,i.teamId);if(!o)throw Error(`No OpenPond Agent is available for this Project.`);ke();let s=await Z.runSandboxAgent(t,o.id,Ht({action:W,attachments:d,displayPrompt:ne,prompt:je,teamId:i.teamId}));return e(await Z.bootstrap(t)),L(e=>wd(e,Jx({action:W,prompt:ne,runPayload:s,sessionId:a.id}))),!0}let i=me;if(i&&_l(i.id)){Re=sn({afterMessageId:Ee.at(-1)?.id??null,attachments:d,content:H,sessionId:i.id}),ke(),Ie=i.id,ae.current.add(Ie),I?.(Re),P?.(Ie,!0);let e=Kx(i.id,H),a=e=>{(!de||E?.id===i.id)&&N(t=>Gx(t,e)),A.onCodexHistoryOptimisticEvent?.(e)};a(e),te(e=>e.map(e=>e.id===i.id?{...e,status:`active`}:e));let o=await Z.sendCodexHistoryTurn(t,i.id,{prompt:H,attachments:d.length>0?d:void 0,model:Se(`codex`,ce,oe),modelRef:Me(`codex`,ce,oe),...De(n),codexPermissionMode:n,codexReasoningEffort:r}).catch(t=>{throw a(qx(e,t)),t});return(!de||E?.id===i.id)&&N(e=>wd(e,o.events)),te(e=>Ap(e,o.session)),F?.(o),ie(t),!0}let a=(Oe?p.find(e=>e.id===Oe&&Xn(R,e)&&e.sandbox)??null:null)??qn(R,Jn(p)),o=Kn(R,m).map(e=>e.ref);if(!i){let e=xe?.appId??ve?.id??null,n=xe?.appName??ve?.name??null,r=be,a=de?null:vf(ye,x),o=Ce?Tf({cloudProjects:x,selectedCloudProject:r,selectedProject:ye}):null;if(o?.kind===`missing_cloud_project`)throw Error(o.message);let s=o?.kind===`ready`,l=s?re:r?`openpond`:re,u=Me(l,ce,oe),d=se(l,le),f=s?Ef({modelRef:u,provider:l,target:o,title:H.slice(0,64)}):null;i=await Z.createSession(t,f?{...f,subagentDelegationMode:O,metadata:{...f.metadata,...A.sessionMetadata??{}},...d?{openPondCommandAccessMode:d}:{},autoTitlePrompt:Ux(H)}:{experience:he,provider:l,modelRef:u,subagentDelegationMode:O,...d?{openPondCommandAccessMode:d}:{},appId:e,appName:n,workspaceKind:r?`sandbox`:ye?`local_project`:ve?`sandbox_app`:void 0,workspaceId:ye?.id??(ve?e:void 0),workspaceName:r?.name??ye?.name??n,localProjectId:ye?.id??null,cloudProjectId:r?.id??a?.id??null,cloudTeamId:r?.teamId??a?.teamId??null,...!r&&!ye&&!ve&&D===`local`?{metadata:{...Sf(),...A.sessionMetadata??{}}}:{cwd:ye?ye.workspacePath:null,...A.sessionMetadata?{metadata:A.sessionMetadata}:{}},autoTitlePrompt:Ux(H)}),V(e=>[i,...e]),A.onSessionCreated?.(i),Te&&(B(i.id),r&&z(U(`cloud`,r.id)),i.workspaceKind===`local_project`&&i.workspaceId&&c(U(`local`,i.workspaceId)),r&&c(U(`cloud`,r.id)))}if(Xx(i)&&bf(i.workspaceKind)&&i.provider!==`openpond`&&!Cf(i))throw Error(`Cloud workspaces use OpenPond Chat. Switch to Local to use local providers.`);if(Xx(i)&&bf(i.workspaceKind)&&l)try{i=await l(i)}catch(n){let r=n instanceof Error?n.message:String(n);throw await Z.recordPreflightTurnFailure(t,i.id,{prompt:H,error:r,target:Cf(i)?`hybrid_sandbox`:`cloud_workspace`}).then(e).catch(()=>void 0),n}Re=sn({afterMessageId:Ee.at(-1)?.id??null,attachments:d,content:H,sessionId:i.id}),ke(),Ie=i.id,ae.current.add(Ie),I?.(Re),V(e=>e.map(e=>e.id===Ie?{...e,status:`active`}:e));let s=re,u=Wx({provider:s,model:ce,providerSettings:oe}),f=_e(s,u.model??ce,oe),h=s===`codex`?De(n):{approvalPolicy:`on-request`,sandbox:`workspace-write`};await Z.sendTurn(t,i.id,{prompt:H,metadata:A.turnMetadata,attachments:d.length>0?d:void 0,mentionedAppIds:a?[a.id]:void 0,mentionedConnectedApps:o.length>0?o:void 0,openPondActionCatalog:b.length>0?b:void 0,usageAttribution:G,...u,...h,codexPermissionMode:s===`codex`?n:`default`,codexReasoningEffort:f?we(s,u.model??ce,r,oe):void 0}),Le=!0,ie(t);let v=i.workspaceId??i.appId;return v&&i.workspaceKind!==`sandbox`&&i.workspaceKind!==`sandbox_template`&&g(v,!1).then(e=>{e?.initialized&&_(v)}),!0}catch(e){return j(e instanceof Error?e.message:String(e)),!1}finally{Ie&&ae.current.delete(Ie),Ie&&_l(Ie)&&P?.(Ie,!1),Ie&&(_l(Ie)?te(e=>e.map(e=>e.id===Ie&&e.status===`active`?{...e,status:`idle`}:e)):Le||V(e=>e.map(e=>e.id===Ie&&e.status===`active`?{...e,status:`idle`}:e)))}}async function he(n,r){let i=ae.current.values().next().value??null,a=n??E?.id??i;if(!t||!a)return!1;if(j(null),_l(a))try{let e=await Z.interruptCodexHistoryTurn(t,a);if(!e.interrupted){if(e.reason===`no_active_openpond_turn`){let e=await Z.codexHistoryThread(t,a,{tail:!0}),n={...e.session,status:`idle`};return E?.id===a&&N(t=>wd(t,e.events)),te(e=>Ap(e,n)),j(`OpenPond no longer has a live interrupt handle for this Codex history turn. The chat was marked idle so you can send again.`),!0}return j(`This Codex history turn is still starting. Try stopping it again in a moment.`),!1}let n=await Z.codexHistoryThread(t,a,{tail:!0});return E?.id===a&&N(e=>wd(e,n.events)),te(e=>Ap(e,n.session)),!0}catch(e){let t=e instanceof Error?e.message:String(e);return j(t===`Not found`?`OpenPond could not find this Codex history session, so it cannot interrupt it here.`:t),!1}try{return await Z.interruptTurn(t,a,r),e(await Z.bootstrap(t)),!0}catch(e){return j(e instanceof Error?e.message:String(e)),!1}}async function ge(n,r){t?(j(null),await Z.applyCreateImproveAction(t,n.id,{...r,runId:n.id,expectedRevision:n.revision,actionId:`web:${r.type}:${crypto.randomUUID()}`}),e(await Z.bootstrap(t))):j(`OpenPond App server is not connected.`)}async function ve(e){await ge(e.run,{type:`approve_plan`})}async function ye(e){await ge(e.run,{type:`cancel`,reason:null})}async function be(e,t){await ge(e.run,{type:`revise_plan`,revision:t})}async function xe(e,t,n){await ge(e.run,{type:`answer_question`,questionId:t,value:n})}async function Ce(e){await ge(e.run,{type:`pause`})}async function Te(e){await ge(e.run,{type:`resume`})}async function Ee(e,t){await ge(e.run,{type:`open_pull_request`,candidateId:t})}async function Oe(e,t){await ge(e.run,{type:`apply_candidate`,candidateId:t})}async function ke(e,t){await ge(e.run,{type:`reject_candidate`,candidateId:t,reason:null})}async function Ae(e,t){await ge(e.run,{type:`reconcile_pull_request`,candidateId:t})}return{answerCreateImproveQuestion:xe,approveCreateImproveRun:ve,applyCreateImproveCandidate:Oe,cancelCreateImproveRun:ye,changeDraftProvider:le,openCreateImprovePullRequest:Ee,pauseCreateImproveRun:Ce,reconcileCreateImprovePullRequest:Ae,rejectCreateImproveCandidate:ke,resumeCreateImproveRun:Te,reviseCreateImproveRun:be,sendPrompt:me,stopTurn:he}}function Xx(e){return e.experience===`development`||e.experience===`work`&&(e.workspaceKind===`local_project`||!!e.localProjectId||!!e.cloudProjectId||e.metadata?.workspaceTarget===`local`)}async function Zx({branch:e,connection:t,session:n}){if(!bf(n.workspaceKind))return{sandbox:null,session:n,status:`already_running`};let r=await Z.ensureCloudWorkspaceReady(t,n.id,{branch:e,surface:`desktop`});return{bootstrap:await Z.bootstrap(t),output:r.output,sandbox:null,session:r.session,status:r.status}}function Qx(e){return Cf(e)?`Preparing Hybrid sandbox...`:`Starting Cloud workspace...`}function $x(e,t){if(e===`already_running`)return null;let n=Cf(t)?`Hybrid sandbox`:`Cloud workspace`;return e===`waited_for_creating`?`${n} is ready.`:e===`started`?`Started ${n}.`:e===`resumed`?`Resumed ${n}.`:e===`restored`?`Restored ${n}.`:`Recreated ${n}.`}function eS(e,t){return!e.cloudProjectId||!e.cloudTeamId||t.some(t=>t.id===e.cloudProjectId&&t.teamId===e.cloudTeamId)}function tS({applyBootstrapPayload:e,cloudProjects:t,connection:n,localProjectById:r,selectedCloudProject:i,selectedProject:a,setWorkspaceBusy:o,showToast:s,visibleWorkspaceState:c}){return(0,Y.useCallback)(async l=>{if(!n)throw Error(`OpenPond App server is not connected.`);let u=a??(l.localProjectId?r.get(l.localProjectId)??null:null);if(l.cloudProjectId&&l.cloudTeamId&&!eS(l,t))throw Error(`This Cloud session belongs to a different OpenPond account. Sync or select a Project in the current account.`);l.workspaceId||s(Qx(l),`info`),o(!0);try{let t=await Zx({branch:a?.linkedSandboxProject?.defaultBranch??i?.defaultBranch??c?.currentBranch??null,connection:n,localProject:u,session:l,source:Cf(l)?`openpond-app-hybrid-chat-preflight`:`openpond-app-cloud-chat-preflight`});t.bootstrap&&e(t.bootstrap);let r=$x(t.status,l);return r&&s(r,`success`),t.session}finally{o(!1)}},[e,t,n,r,i,a,o,s,c?.currentBranch])}function nS(){return{diffPanelOpen:!1,diffPanelExpanded:!1,rightPanelMode:`home`,rightChatPanels:[]}}function rS(e){return{diffPanelOpen:e.diffPanelOpen,diffPanelExpanded:e.diffPanelExpanded,rightPanelMode:e.rightPanelMode,rightChatPanels:e.rightChatPanels}}function iS(e){return{...e,rightChatPanels:e.rightChatPanels.map(e=>({...e}))}}function aS(e,t){return e.diffPanelOpen!==t.diffPanelOpen||e.diffPanelExpanded!==t.diffPanelExpanded||e.rightPanelMode!==t.rightPanelMode||e.rightChatPanels.length!==t.rightChatPanels.length?!1:e.rightChatPanels.every((e,n)=>{let r=t.rightChatPanels[n];return!!(r&&e.id===r.id&&e.activationVersion===r.activationVersion&&e.sessionId===r.sessionId&&e.prompt===r.prompt&&e.provider===r.provider&&e.model===r.model&&e.scrollTop===r.scrollTop&&e.stickyToBottom===r.stickyToBottom)})}function oS(e){return`${e.conversationId}\u0000${e.workspaceSourceKey||`none`}`}var sS=`openpond.conversation-sidebar-recovery.v1`,cS=524288,lS=P({conversations:ee(R(),P({diffPanelOpen:F(),diffPanelExpanded:F(),rightPanelMode:L([`home`,`changes`,`browser`,`goal`,`chat`,`training`]),rightChatPanels:k(P({id:R(),activationVersion:I(),sessionId:R().nullable(),prompt:R(),provider:oe,model:R(),scrollTop:I(),stickyToBottom:F()})).max(100)})).refine(e=>Object.keys(e).length<=512),workspaces:ee(R(),P({activeTab:L([`goal`,`summary`,`files`,`file`,`outputs`]),openFilePaths:k(R()).max(200),selectedPath:R().nullable(),filesTabOpen:F(),overviewTabs:k(I().int()).max(200),activeOverviewId:I().int(),tabOrder:k(R()).max(400)})).refine(e=>Object.keys(e).length<=1024)});function uS(e){try{let t=(e??window.localStorage).getItem(sS);if(t&&t.length<=cS){let e=lS.safeParse(JSON.parse(t));if(e.success)return e.data}}catch{}return{conversations:{},workspaces:{}}}function dS(e,t=window.localStorage){let n=JSON.stringify(lS.parse(e));if(n.length>cS)throw Error(`Sidebar state exceeds local recovery capacity.`);t.setItem(sS,n)}function fS(e){let{appDispatch:t,diffPanelExpanded:n,diffPanelOpen:r,rightChatPanels:i,rightPanelMode:a,selectedAppId:o,selectedCloudProject:s,selectedProjectId:c,selectedSession:l,selectedSessionId:u,setWorkspaceDiffPanelViewState:d,view:f,viewWorkspaceAppId:p,viewWorkspaceId:m,viewWorkspaceKind:h,workspaceDiffPanelViewState:g}=e,[_]=(0,Y.useState)(uS),v=(0,Y.useRef)(new Map(Object.entries(_.conversations))),y=(0,Y.useRef)(new Map(Object.entries(_.workspaces))),b=(0,Y.useRef)(null),x=(0,Y.useRef)(null),S=u??`draft:${c??o??s?.id??`general`}`,C=oS({conversationId:S,workspaceSourceKey:(0,Y.useMemo)(()=>m?`${h??`workspace`}:${m}`:p?`app:${p}`:l?.cwd&&!bf(l.workspaceKind)?`cwd:${l.cwd}`:`none`,[l?.cwd,l?.workspaceKind,f,p,m,h])}),w=(0,Y.useMemo)(()=>rS({diffPanelExpanded:n,diffPanelOpen:r,rightChatPanels:i,rightPanelMode:a}),[n,r,i,a]);(0,Y.useEffect)(()=>{let e=b.current;e&&v.current.set(e,iS(w))},[S,w]),(0,Y.useEffect)(()=>{if(b.current===S)return;b.current=S;let e=v.current.get(S)??nS();aS(w,e)||t({type:`patch`,patch:iS(e)})},[S,w]),(0,Y.useEffect)(()=>{let e=x.current;e&&y.current.set(e,Hf(g))},[C,g]),(0,Y.useEffect)(()=>{if(x.current===C)return;x.current=C;let e=y.current.get(C)??Vf();d(t=>Wf(t,e)?t:Hf(e))},[C]);let T=(0,Y.useCallback)(()=>{dS({conversations:Object.fromEntries(v.current),workspaces:Object.fromEntries(y.current)})},[]),E=(0,Y.useCallback)(()=>t({type:`showToast`,toast:{id:Date.now(),createdAt:Date.now(),tone:`error`,message:`Sidebar selections could not be saved on this device.`,dedupeKey:`conversation-sidebar-recovery`,actionLabel:`Retry`,onAction:()=>(T(),!0)}}),[t,T]);return(0,Y.useEffect)(()=>{let e=window.setTimeout(()=>{try{T()}catch{E()}},500);return()=>window.clearTimeout(e)},[T,E,S,w,C,g]),(0,Y.useEffect)(()=>{let e=e=>{try{T()}catch{E(),e.preventDefault()}};return window.addEventListener(`beforeunload`,e),window.addEventListener(`pagehide`,e),window.addEventListener(`openpond:before-update`,e),()=>{window.removeEventListener(`beforeunload`,e),window.removeEventListener(`pagehide`,e),window.removeEventListener(`openpond:before-update`,e)}},[T,E]),{browserConversationId:S,handleWorkspaceDiffPanelViewStateChange:(0,Y.useCallback)(e=>{d(t=>Wf(t,e)?t:Hf(e))},[])}}function pS({account:e,accountPending:t,accountSignedOut:n,activeWorkspaceKind:r,activeWorkspaceLocation:i,appDispatch:a,applyBootstrapPayload:o,busy:s,cloudSetupDialog:c,cloudProjects:l,connection:u,defaultTeamId:d,expandProject:f,localProjectById:p,selectedCloudProject:m,selectedProject:h,selectedSession:g,selectedSessionProjectId:_,setCloudSetupDialog:v,setDiffPanelOpen:y,setError:b,setSessions:x,setWorkspaceBusy:S,showToast:C,visibleWorkspaceState:w,workspaceBusy:T}){let E=e?.baseUrl??e?.activeProfile?.baseUrl??null,D=(0,Y.useCallback)(async(e,t)=>{if(u)try{let n=await Z.previewLocalProjectCloudSource(u,e.id,{branch:t});v(r=>!r||r.status!==`confirm`||r.localProjectId!==e.id||r.branch!==t?r:{...r,branch:n.preview.branch,cloudProjectId:n.preview.targetProjectId,preview:n.preview,previewLoading:!1,previewError:null})}catch(n){let r=n instanceof Error?n.message:String(n);v(n=>!n||n.status!==`confirm`||n.localProjectId!==e.id||n.branch!==t?n:{...n,preview:null,previewLoading:!1,previewError:r})}},[u,v]),O=(0,Y.useCallback)(async()=>{let e=c;if(!e||e.status===`uploading`)return;if(e.projectKind===`cloud`){v(e=>e&&{...e,status:`ready`,error:null});return}if(!u){v(e=>e&&{...e,status:`error`,error:`OpenPond App server is not connected.`});return}let t=e.localProjectId??``,n=p.get(t);if(!n){v(e=>e&&{...e,status:`error`,error:`Project is no longer available.`});return}S(!0);let r=vf(n,l);v(e=>e&&{...e,status:`uploading`,error:null,previewLoading:!1});try{let t=zx((await Z.organizations(u)).organizations.map(Un).filter(e=>!!e).filter(e=>e.status===`active`),d);if(!t)throw Error(`Add an OpenPond account before creating a Cloud environment.`);if(!Gn(t))throw Error(`You need owner or admin access to create projects in ${t.displayName}.`);let i=e.branch||n.linkedSandboxProject?.defaultBranch||`main`,s=U(`local`,n.id),c=await Z.createSession(u,{provider:`openpond`,appId:null,appName:null,workspaceKind:`local_project`,workspaceId:n.id,workspaceName:n.name,localProjectId:n.id,cloudProjectId:r?.id??null,cloudTeamId:r?.teamId??null,cwd:n.workspacePath,title:`Sync ${n.name} to Cloud`});x(e=>[c,...e]),a({type:`selectSession`,sessionId:c.id,projectId:s}),f(s);let l=await Z.uploadLocalProjectCloudSource(u,n.id,{teamId:t.teamId,projectName:n.name,branch:i,chatSessionId:c.id,displayPrompt:`/sync-cloud ${n.name}`});o(l.bootstrap),f(s),f(U(`cloud`,l.project.id));let p=kx({accountBaseUrl:E,teamId:l.project.teamId,projectId:l.project.id,projectName:l.project.name,baseBranch:l.upload.branch,localProjectId:n.id,source:`openpond-app`}),m=jx({accountBaseUrl:E,organizationSlug:l.project.organizationSlug,projectSlug:l.project.slug});v({status:`ready`,localProjectId:n.id,cloudProjectId:l.project.id,teamId:l.project.teamId,projectName:l.project.name,projectKind:`local`,projectUrl:m,setupUrl:p,branch:l.upload.branch,preview:e.preview??null,previewLoading:!1,previewError:null,upload:{branch:l.upload.branch,headCommit:l.upload.headCommit,fileCount:l.upload.fileCount,byteCount:l.upload.byteCount,skippedCount:l.upload.skippedCount,initializedEmptyProject:l.upload.initializedEmptyProject},error:null}),C(`Source uploaded to OpenPond Git. Cloud setup link is ready.`,`success`)}catch(e){let t=e instanceof Error?e.message:String(e),n=u?await Z.bootstrap(u).catch(()=>null):null;n&&o(n),b(t),v(e=>e&&{...e,status:`error`,error:t})}finally{S(!1)}},[E,a,o,c,l,u,d,f,p,v,b,x,S,C]),k=(0,Y.useCallback)((e,r)=>{if(!u){C(`OpenPond App server is not connected.`,`error`);return}if(t){C(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(n){C(`Add an OpenPond account before using Cloud.`,`error`);return}let i=r||e.linkedSandboxProject?.defaultBranch||`main`;v({status:`confirm`,localProjectId:e.id,projectName:e.name,projectKind:`local`,projectUrl:null,setupUrl:null,branch:i,preview:null,previewLoading:!0,previewError:null,upload:null,error:null}),D(e,i)},[t,n,u,D,v,C]);return{changeWorkspaceTarget:(0,Y.useCallback)(async e=>{if(e===i||T||s)return;if(b(null),e===`upload_cloud`){if(!h){C(`Select a local Project before uploading source.`,`error`);return}k(h,w?.currentBranch??null);return}if(e===`local`){let e=g?.localProjectId??h?.id??_??null,t=e?p.get(e)??null:null;if(!t){C(`No linked local workspace for this Cloud chat.`,`error`);return}if(bf(r)&&!window.confirm(`Switch to Local? Cloud changes will stay in the hosted workspace until you preserve or export them.`))return;let n=U(`local`,t.id);a({type:`selectProject`,projectId:n}),f(n),y(!1),C(`Switched to Local: ${t.name}`,`info`);return}if(!u){C(`OpenPond App server is not connected.`,`error`);return}if(t){C(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(n){C(`Add an OpenPond account before using Cloud.`,`error`);return}if(m){v({status:`ready`,cloudProjectId:m.id,teamId:m.teamId,projectName:m.name,projectKind:`cloud`,projectUrl:jx({accountBaseUrl:E,organizationSlug:m.organizationSlug,projectSlug:m.slug}),setupUrl:kx({accountBaseUrl:E,teamId:m.teamId,projectId:m.id,projectName:m.name,baseBranch:m.defaultBranch,source:`openpond-app`}),branch:m.defaultBranch??`main`,preview:null,previewLoading:!1,previewError:null,upload:null,error:null});return}let o=h;if(!o){C(`Select a Project before Cloud coding.`,`error`);return}let c=w?.currentBranch||o.linkedSandboxProject?.defaultBranch||`main`;k(o,c)},[E,t,n,r,i,a,s,u,l,f,p,k,m,h,g,_,v,y,b,C,w?.currentBranch,T]),moveProjectToCloud:(0,Y.useCallback)(e=>{Te(e)&&k(e.project)},[k]),openCloudSetupForLocalProject:k,startCloudSetupUpload:O}}function mS({advanceTrainingTurn:e,bindTrainingSession:t,composerDraftStore:n,onSessionCreated:r,onSubmitted:i,prepareTrainingTurn:a,sendPrompt:o,setMentionedAppId:s,showToast:c}){return(0,Y.useCallback)(async(s=[],l=null,u,d={})=>{let f=u??n.getSnapshot(),p=a(f);if(p.active&&f.trim()&&!p.metadata)return c(p.error??`Load the selected generated Taskset question before sending, or close the generated-question handoff to write a normal prompt.`,`error`),!1;let m=await o(s,l,u,{clearPrompt:d.preservePrompt?()=>void 0:void 0,displayPrompt:d.displayPrompt,onSessionCreated:e=>{r(e),d.onSessionCreated?.(e),p.metadata&&t(e.id)},turnMetadata:p.metadata||d.turnMetadata?{...p.metadata,...d.turnMetadata}:void 0,sessionMetadata:p.metadata||d.sessionMetadata?{...d.sessionMetadata,trainingTasksetId:p.metadata?.trainingTasksetId,trainingTasksetName:p.metadata?.trainingTasksetName}:void 0});return m&&await i?.(),m&&p.metadata&&e(),m},[e,t,n,r,i,a,o,s,c])}function hS({appDispatch:e,connection:t,sessions:n,setDiffPanelOpen:r,setRightPanelMode:i,setSessions:a,setView:o}){return(0,Y.useCallback)(async s=>{if(!t)return;let c=n.find(e=>!e.archived&&e.workspaceKind===`sandbox`&&e.workspaceId===s.sandboxId);if(c){e({type:`selectSession`,sessionId:c.id,appId:null,projectId:null}),i(`changes`),r(!0),o(`chat`);return}let l=s.name??`Sandbox ${s.sandboxId.slice(0,8)}`,u=await Z.createSession(t,{provider:`openpond`,appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:s.sandboxId,workspaceName:l,cwd:null,title:l});a(e=>[u,...e]),e({type:`selectSession`,sessionId:u.id,appId:null,projectId:null}),i(`changes`),r(!0),o(`chat`)},[e,t,n,r,i,a,o])}function gS({connection:e,defaultTeamId:t,sessions:n,selectedProjectId:r,confirmProjectAction:i,applyBootstrapPayload:a,expandProject:o,setExpandedProjectIds:s,setSelectedAppId:c,setSelectedProjectId:l,setSelectedSessionId:u,setError:d,setView:f,showToast:p}){function m(e){let t=U(`local`,e.id);c(null),l(t),u(null),f(`chat`),o(t)}async function h(t){if(!e)return!1;d(null);try{let n=await Z.createLocalProject(e,t);return a(n.bootstrap),m(n.project),p(n.created===!1?`Opened ${n.project.name}`:`Created ${n.project.name}`,`success`),!0}catch(e){let t=e instanceof Error?e.message:String(e);return d(t),p(t,`error`),!1}}async function g(t){if(!e)return!1;let n=t.trim();if(!n)return!1;d(null);try{let t=await Z.createLocalProject(e,{createNew:!0,name:n});return a(t.bootstrap),m(t.project),p(`Created ${t.project.name}`,`success`),!0}catch(e){return d(e instanceof Error?e.message:String(e)),p(`Project could not be created`,`error`),!1}}async function _(n){if(!e)return!1;let r=n.trim();if(!r)return!1;d(null);try{let n=zx((await Z.organizations(e)).organizations.map(Un).filter(e=>!!e).filter(e=>e.status===`active`),t);if(!n)throw Error(`Add an OpenPond account before creating a Cloud Project.`);if(!Gn(n))throw Error(`You need owner or admin access to create projects in ${n.displayName}.`);let i=`${Hn(r)}-${Date.now().toString(36)}`,s=(await Z.upsertSandboxProject(e,{teamId:n.teamId,name:r,sourceType:`internal_repo`,normalizedSourceIdentity:i,internalRepoPath:i,defaultBranch:`main`,sourceConfig:{sourceType:`internal_repo`,sourceValue:i},metadata:{source:`openpond-app-new-cloud-project`}})).project;s=(await Z.uploadSandboxProjectSource(e,s.id,{teamId:n.teamId,branch:`main`,commitMessage:`Initialize cloud project`,entries:[{path:`README.md`,type:`file`,contentsBase64:Wn(`# ${r}\n\nCreated in OpenPond Cloud.\n`)}]})).project,a(await Z.bootstrap(e));let d=U(`cloud`,s.id);return c(null),l(d),u(null),f(`chat`),o(d),p(`Created Cloud Project: ${s.name}`,`success`),!0}catch(e){let t=e instanceof Error?e.message:String(e);return d(t),p(t,`error`),!1}}async function v(t){if(!e)return;if(Oe(t)){let n=`Archive ${t.project.name} in OpenPond Cloud?`;if(!(i?await i({title:`Archive Cloud Project`,body:`${t.project.name} will be archived in OpenPond Cloud. Existing task history stays available through Cloud history.`,confirmLabel:`Archive project`}):window.confirm(n)))return;d(null);try{await Z.archiveSandboxProject(e,t.project.id,{teamId:t.project.teamId}),a(await Z.bootstrap(e)),s(e=>{let n=new Set(e);return n.delete(t.id),n}),r===t.id&&(l(null),u(null)),p(`Archived ${t.project.name}`,`success`)}catch(e){d(e instanceof Error?e.message:String(e)),p(`Cloud Project could not be archived`,`error`)}return}if(!Te(t))return;let o=t.project,c=`Remove ${o.name} from Projects? The folder will not be deleted.`;if(i?await i({title:`Remove Project`,body:`${o.name} will be removed from the sidebar. The folder and files on disk will not be deleted.`,confirmLabel:`Remove project`}):window.confirm(c)){d(null);try{a(await Z.deleteLocalProject(e,o.id)),s(e=>{let n=new Set(e);return n.delete(t.id),n}),r===t.id&&(l(null),u(e=>{let t=n.find(t=>t.id===e);return t?.workspaceKind===`local_project`&&t.workspaceId===o.id?null:e})),p(`Removed ${o.name}`,`success`)}catch(e){d(e instanceof Error?e.message:String(e)),p(`Project could not be removed`,`error`)}}}return{createCloudProjectFromScratch:_,createProjectFromScratch:g,createProjectCollection:h,removeProject:v}}function _S(e,t,n,r){if(n===`cloud`){let n=t;return{appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:n.id,workspaceName:n.name,localProjectId:null,cloudProjectId:n.id,cloudTeamId:n.teamId,cwd:null,metadata:{...e.metadata,workspaceTarget:`cloud`}}}let i=t,a=vf(i,r);return{appId:i.linkedOpenPondApp?.appId??null,appName:i.linkedOpenPondApp?.appName??null,workspaceKind:`local_project`,workspaceId:i.id,workspaceName:i.name,localProjectId:i.id,cloudProjectId:a?.id??null,cloudTeamId:a?.teamId??null,cwd:i.workspacePath,metadata:Sf(e.metadata)}}function vS({appDispatch:e,connection:t,selectedSession:n,setSessions:r,setWorkspaceBusy:i,busy:a,cloudProjectById:o,createCloudProjectFromScratch:s,createProjectFromScratch:c,createProjectCollection:l,expandProject:u,localProjectById:d,onCreateCloudEnvironment:f,onNewCloudProject:p,onNewLocalProject:m,onUseExistingFolderPath:h,newProjectBusy:g,newProjectMode:_,newProjectName:v,projectTargetValue:y,setDiffPanelOpen:b,setDraftModel:x,setDraftProvider:S,setError:C,setNewProjectBusy:w,setNewProjectDialogOpen:T,setNewProjectName:E,setNewProjectPath:D,showToast:O,workspaceBusy:k}){let A=(0,Y.useRef)({connection:t,sessionId:n?.id});return A.current={connection:t,sessionId:n?.id},{changeProjectTarget:(0,Y.useCallback)(async s=>{let c=n?.nativeAgent&&n.nativeAgent.cwd!==n.cwd;if(s===y&&!c||a||k)return;if(C(null),s===`action:new-local-project`){m();return}if(s===`action:add-local-project`||s===`action:add-local-project-path`){h();return}if(s===`action:new-cloud-project`){p();return}if(s===`action:create-cloud-environment`){f();return}if(s===`none`){e({type:`selectProject`,projectId:null}),b(!1),O(`Started a chat without project files.`,`info`);return}let l=s.indexOf(`:`),g=l>=0?s.slice(0,l):``,_=l>=0?s.slice(l+1):``;if(n&&(g===`local`||g===`cloud`)){let a=g===`local`?d.get(_):o.get(_);if(!a||!t)return;if(_l(n.id)){O(`Imported native history cannot change its project. Start a new task in that project.`,`error`);return}i(!0);try{let i=await Z.patchSession(t,n.id,_S(n,a,g,[...o.values()]));if(r(e=>e.map(e=>e.id===i.id?i:e)),A.current.connection!==t||A.current.sessionId!==n.id)return;let s=U(g,a.id);e({type:`selectSession`,sessionId:i.id,appId:i.appId,projectId:s}),u(s),O(`Attached this chat to ${a.name}.`,`success`)}catch(e){A.current.sessionId===n.id&&O(e instanceof Error?e.message:`Could not attach this chat.`,`error`)}finally{i(!1)}}else if(g===`local`){let t=d.get(_);if(!t){O(`Project is no longer available.`,`error`);return}let n=U(`local`,t.id);e({type:`selectProject`,projectId:n}),u(n),b(!1)}else if(g===`cloud`){let t=o.get(_);if(!t){O(`Cloud Project is no longer available.`,`error`);return}let n=U(`cloud`,t.id);e({type:`selectProject`,projectId:n}),u(n),S(`openpond`),x(e=>be(`openpond`,e)),b(!1)}},[e,t,n,r,i,a,o,u,d,f,p,m,h,y,b,x,S,C,O,k]),submitNewProjectDialog:(0,Y.useCallback)(async e=>{let t=v.trim();if(!g){if(_===`existing-local`?!e?.name.trim()||!e.sourceFolders.length:!t)return!1;w(!0);try{let n=_===`cloud`?await s(t):_===`existing-local`?await l(e):await c(t);return n&&(T(!1),E(``),D(``)),!!n}finally{w(!1)}}},[s,c,l,g,_,v,w,T,E,D])}}function yS(e){return{id:`right-chat-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,activationVersion:1,sessionId:e.sessionId,prompt:e.prompt??``,provider:e.provider,model:e.model,scrollTop:0,stickyToBottom:!0}}function bS(e){return e.reduce((e,t)=>!e||t.activationVersion>=e.activationVersion?t:e,null)}function xS(e,t){let n=Math.max(0,...e.map(e=>e.activationVersion))+1,r=!1,i=e.map(e=>e.id===t?(r=!0,{...e,activationVersion:n}):e);return r?i:[...e]}function SS(e,t){let n=Math.max(0,...e.map(e=>e.activationVersion))+1,r=!1,i=e.map(e=>e.sessionId===t.sessionId?(r=!0,{...e,activationVersion:n,prompt:t.prompt??e.prompt}):e);return r?i:[...e]}function CS(e){return!!(e.parentSessionId&&e.subagentRunId)}function wS(e){let t=e.sessions.filter(CS);return{knownSessionIds:new Set(t.map(e=>e.id)),newSessions:t.filter(t=>!e.knownSessionIds.has(t.id))}}function TS(e,t){let n=new Set(e.map(e=>e.sessionId).filter(Boolean)),r=t.filter(CS).filter(e=>!n.has(e.id)).map(e=>({id:`right-subagent-${e.id}`,activationVersion:1,sessionId:e.id,prompt:``,provider:e.provider,model:e.modelRef?.modelId??``,scrollTop:0,stickyToBottom:!0}));return r.length>0?[...e,...r]:e}function ES(e,t){let n=t.trim();switch(e.id){case`agent`:return{kind:`send_prompt`,prompt:`/agent ${n}`,requiresInstructions:!0};case`skill`:return{kind:`send_prompt`,prompt:`/skill ${n}`,requiresInstructions:!1};case`goal`:return{kind:`send_prompt`,prompt:`/goal ${n}`,requiresInstructions:!0};case`workflow`:return{kind:`send_prompt`,prompt:[`Create a scheduled workflow attached to this chat.`,`Use the schedule_work tool after resolving the exact cadence, local date/time, and timezone from my request. Ask a concise clarification only if a required scheduling detail is genuinely missing.`,`Workflow request: ${n}`].join(`
|
|
44
|
+
|
|
45
|
+
`),requiresInstructions:!0};case`train`:return{kind:`open_training`,objective:n||null};case`submit-issue`:return{kind:`send_prompt`,prompt:Jt(n),requiresInstructions:!0};case`sync-cloud`:return{kind:`send_prompt`,prompt:`/sync-cloud ${n}`,requiresInstructions:!1}}}var DS=[];function OS(e){let{approvals:t,codexHistoryEvents:n,contextCompaction:r,pendingChatUserMessages:i,rightChatHistoryEvents:a,rightChatPanels:o,runningSessionIds:s,selectedSessionId:c,sidebarSessions:l}=e;return(0,Y.useMemo)(()=>{let e=new Map(l.map(e=>[e.id,e])),u=kS(t);return o.map(t=>{let o=t.sessionId?e.get(t.sessionId)??null:null,l=_l(t.sessionId),d=l?(t.sessionId?a[t.sessionId]:void 0)??(t.sessionId===c?n:DS):DS,f=Wd(d,[]),p=t.sessionId?u.get(t.sessionId)??null:null,m=!!(o&&s.has(o.id)),h=l?rn({events:d}):null,g=o?.cwd??null,_=o?.appId??o?.localProjectId??(o?.workspaceKind===`local_project`?o.workspaceId??null:null)??(o?.cwd&&!bf(o.workspaceKind)?zr(o.cwd):null),v=t.sessionId?i[t.sessionId]??null:null;return{...t,session:o,title:cn(h,o?.title??`New task`),messages:l?an(Yg(d),v):[],createImproveRun:h,contextWindowStatus:en({provider:t.provider,snapshot:ef(f,t.sessionId),preferences:r}),goalRuntime:tf(f,t.sessionId),pendingApproval:p,running:m,workspaceRootPath:g,activeWorkspaceAppId:_,pendingUserMessage:v,runtimeSource:l?`history`:`live`}})},[t,n,r,i,a,o,s,c,l])}function kS(e){let t=new Map;for(let n of e){if(n.status!==`pending`)continue;let e=t.get(n.sessionId);(!e||Date.parse(n.createdAt)>Date.parse(e.createdAt))&&t.set(n.sessionId,n)}return t}function AS(e){let{applyPayload:t,connection:n,locallyActiveSessionIds:r,panels:i,sessions:a,setError:o}=e,s=(0,Y.useMemo)(()=>{let e=new Set,t=[];for(let n of i)_l(n.sessionId)&&n.sessionId&&!e.has(n.sessionId)&&(e.add(n.sessionId),t.push(n.sessionId));return t.join(`
|
|
46
|
+
`)},[i]),c=(0,Y.useMemo)(()=>{if(!s)return``;let e=new Set(s.split(`
|
|
47
|
+
`).filter(Boolean));return a.filter(t=>e.has(t.id)&&t.status===`active`).map(e=>e.id).join(`
|
|
48
|
+
`)},[s,a]),l=(0,Y.useMemo)(()=>s?s.split(`
|
|
49
|
+
`).filter(e=>r.has(e)).join(`
|
|
50
|
+
`):``,[r,s]);(0,Y.useEffect)(()=>{if(!n||!s)return;let e=s.split(`
|
|
51
|
+
`).filter(Boolean),r=new Set(c.split(`
|
|
52
|
+
`).filter(Boolean)),i=new Set(l.split(`
|
|
53
|
+
`).filter(Boolean)),a=e.map(e=>am({connection:n,locallyActive:i.has(e),onError:e=>o(e instanceof Error?e.message:String(e)),onPayload:n=>t(nm(n,i.has(e))),reportedActive:r.has(e),sessionId:e,surface:`thread`}));return()=>a.forEach(e=>e())},[c,t,n,l,s,o])}var jS=[];function MS(e){let{activeModel:t,activeProvider:n,approvals:r,applyRightCodexHistoryPayload:i,codexHistoryEvents:a,connectedAppMentions:o,connection:s,contextCompaction:c,openLabTraining:l,locallyActiveCodexHistorySessionIds:u,openPondCommandAccessMode:d,pendingChatUserMessages:f,providerSettings:p,rightChatHistoryEvents:m,rightChatPanels:h,rightPanelMode:g,runtimeIndexes:_,runtimeEventStore:v,runningSessionIds:y,selectedSession:b,selectedSessionId:x,sendPrompt:S,setDiffPanelOpen:C,setError:w,setRightChatHistoryEvents:T,setRightChatPanels:E,setRightPanelMode:D,setRightPanelTabRequest:O,setView:k,showChangesPanel:A,showToast:j,sidebarSessions:M,startupReady:ee}=e,N=(0,Y.useRef)(null),te=(0,Y.useRef)(new Map),P=(0,Y.useRef)(new Set);(0,Y.useEffect)(()=>{if(!s)return;let e=h.flatMap(e=>e.sessionId&&!_l(e.sessionId)?[e.sessionId]:[]);for(let t of e)Object.hasOwn(m,t)||P.current.has(t)||(P.current.add(t),Z.runtimeEventsPage(s,{sessionId:t,beforeSequence:2**53-1,limit:500}).then(e=>{let n=e.events.map(e=>e.event);T(e=>({...e,[t]:Cd(e[t]??jS,n)}))}).catch(e=>{w(e instanceof Error?e.message:String(e))}).finally(()=>{P.current.delete(t)}))},[s,m,h,w,T]);let F=(0,Y.useCallback)((e,t)=>{O(n=>({id:(n?.id??0)+1,tab:e,overview:t})),A()},[A]),I=(0,Y.useCallback)((e=null,r={})=>{let i=e?.id?h.find(t=>t.sessionId===e.id)??null:null;if(i)return E(t=>SS(t,{sessionId:e.id,prompt:r.prompt})),C(!0),D(`chat`),r.preserveView||k(`chat`),i.id;let a=yS({sessionId:e?.id??null,provider:e?.provider??n,model:e?.modelRef?.modelId??t,prompt:r.prompt});return E(e=>[...e,a]),C(!0),D(`chat`),r.preserveView||k(`chat`),a.id},[t,n,h,C,E,D,k]);(0,Y.useEffect)(()=>{if(!ee)return;let e=N.current;if(!e){N.current=new Set(M.filter(e=>!!(e.parentSessionId&&e.subagentRunId)).map(e=>e.id));return}let t=wS({sessions:M,knownSessionIds:e});N.current=t.knownSessionIds;for(let e of t.newSessions)te.current.set(e.id,e);let n=b?.parentSessionId??b?.id??null;if(!n)return;let r=[...te.current.values()].filter(e=>e.parentSessionId===n);if(r.length!==0){for(let e of r)te.current.delete(e.id);E(e=>TS(e,r)),C(!0),D(`chat`)}},[b?.id,b?.parentSessionId,C,E,D,M,ee]);let L=(0,Y.useCallback)(()=>{h.length===0?I(null):(C(!0),D(`chat`),k(`chat`))},[I,h.length,C,D,k]),R=(0,Y.useCallback)(e=>{let t=h.length<=1&&h.some(t=>t.id===e),n=()=>{E(t=>t.filter(t=>t.id!==e))};if(t&&g===`chat`){if(F(`files`),typeof window>`u`){n();return}window.requestAnimationFrame(n)}else n()},[h,g,E,F]),z=(0,Y.useCallback)((e,t)=>{E(n=>n.map(n=>n.id===e?{...n,prompt:t}:n))},[E]),B=(0,Y.useCallback)(e=>{E(t=>xS(t,e))},[E]),V=(0,Y.useCallback)((e,t)=>{E(n=>n.map(n=>n.id===e?{...n,...t}:n))},[E]),H=(0,Y.useCallback)((e,t)=>{let n=h.find(t=>t.id===e);n&&It(n.provider,t),E(n=>n.map(n=>n.id===e?{...n,model:t}:n))},[h,E]),ne=(0,Y.useCallback)((e,t,n)=>{let r=n??Pt(t,p);It(t,r),E(n=>n.map(n=>n.id===e?{...n,provider:t,model:r}:n))},[p,E]);return AS({applyPayload:i,connection:s,locallyActiveSessionIds:u,panels:h,sessions:M,setError:w}),{activateRightChatPanel:B,closeRightChatPanel:R,openRightChatPanel:I,rightChatPanelViews:OS({approvals:r,codexHistoryEvents:a,contextCompaction:c,pendingChatUserMessages:f,rightChatHistoryEvents:m,rightChatPanels:h,runningSessionIds:y,selectedSessionId:x,sidebarSessions:M}),showRightChatPanel:L,showRightPanelDiffTab:F,submitRightChatPrompt:(0,Y.useCallback)(async(e,t=[],n=null,r=null,i={})=>{let s=h.find(t=>t.id===e);if(!s)return!1;let c=i.promptOverride??s.prompt,u=r?ES(r,c):null;if(u?.kind===`open_training`)return t.length>0?(j(`/train uses this chat; add other chats from Models.`,`error`),!1):(l({objective:u.objective,sessionId:s.sessionId}),i.preservePrompt||z(e,``),!0);if(r&&u?.kind===`send_prompt`&&u.requiresInstructions&&!c.trim())return j(`Add instructions after ${r.command}.`,`info`),!1;if(r&&t.length>0)return j(`${r.command} tasks do not accept attachments yet. Add file context in the task thread.`,`error`),!1;if(r?.id===`submit-issue`&&!Gt(o))return j(`Connect the GitHub app before using /submit-issue.`,`error`),!1;let f=s.sessionId?M.find(e=>e.id===s.sessionId)??null:null,p=s.provider===`codex`?d:f?.openPondCommandAccessMode??d,g=u?.kind===`send_prompt`?u.prompt:c,_=_l(s.sessionId)?(s.sessionId?m[s.sessionId]:void 0)??(s.sessionId===x?a:jS):v.getSessionEvents(s.sessionId),y=_l(s.sessionId)&&s.sessionId?e=>{let t=s.sessionId;T(n=>({...n,[t]:Cd(n[t]??_,[e])}))}:void 0;return S(t,n,g,{session:f,selectSession:!1,provider:s.provider,model:s.model,openPondCommandAccessMode:p,chatMessages:Yg(_),displayPrompt:i.displayPrompt,turnMetadata:i.turnMetadata,usageAttribution:r?.id===`submit-issue`?{surface:`chat`,workflowKind:`slash_command`,commandName:r.command,commandSource:`composer_selection`}:void 0,onCodexHistoryOptimisticEvent:y,clearPrompt:i.preservePrompt?()=>void 0:()=>z(e,``),onSessionCreated:t=>{E(n=>n.map(n=>n.id===e?{...n,sessionId:t.id,provider:t.provider,model:t.modelRef?.modelId??n.model}:n))}})},[a,o,m,h,_,v,x,l,d,S,E,k,M,j,z]),updateRightChatModel:H,updateRightChatPrompt:z,updateRightChatProvider:ne,updateRightChatScrollState:V}}function NS(e){let{appPreferences:t,connection:n,selectedSessionId:r,setAppPreferences:i,setCodexHistorySessions:a,setError:o,setSelectedSessionId:s,setSessions:c}=e;async function l(e,r){if(!n)return;let a=t[e]??{},s={...a,...r,archived:r.pinned?!1:r.archived??a.archived};i(t=>({...t,[e]:s}));try{let t=await Z.patchSidebarAppPreference(n,e,r);i(n=>({...n,[e]:t}))}catch(t){o(t instanceof Error?t.message:String(t)),i(t=>({...t,[e]:a}))}}function u(e){l(e.id,{pinned:!e.pinned,archived:!1})}async function d(e,t){if(!n)return;let r=_l(e.id)?a:c,i={...e,...t};r(t=>t.some(t=>t.id===e.id)?t.map(t=>t.id===e.id?i:t):[i,...t]);try{let i=await Z.patchSession(n,e.id,t);r(e=>e.some(e=>e.id===i.id)?e.map(e=>e.id===i.id?i:e):[i,...e])}catch(t){o(t instanceof Error?t.message:String(t)),r(t=>t.map(t=>t.id===e.id?e:t))}}function f(e){d(e,{pinned:!1,savedForLater:!e.savedForLater,archived:!1})}function p(e,t=!e.pinned){d(e,{pinned:t,savedForLater:!1,archived:!1})}function m(e){d(e,{pinned:!1,savedForLater:!1,archived:!0}),r===e.id&&s(null)}function h(e){d(e,{archived:!1})}function g(e,t){let n=t.trim();n&&n!==e.title&&d(e,{title:n})}return{archiveSession:m,renameSession:g,restoreSession:h,toggleProjectPinned:u,toggleSessionPinned:p,toggleSessionSavedForLater:f}}function PS(e){return e.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,72)||`new-branch`}function FS({connection:e,activeWorkspaceAppId:t,appDefaults:n,bootstrap:r,branchDialogName:i,commitIncludeUnstaged:a,commitMessage:o,commitNextStep:s,draftModel:c,draftProvider:l,cloudProjects:u,selectedApp:d,selectedProject:f,selectedProjectLinkedOpenPondApp:p,selectedSession:m,sessions:h,title:g,visibleWorkspaceDiff:_,visibleWorkspaceState:v,workspaceBusy:y,workspaceName:b,appDispatch:x,applyBootstrapPayload:S,expandProject:C,refreshWorkspace:w,refreshWorkspaceDiff:T,rememberWorkspaceState:E,setBranchDialogOpen:D,setCommitDialogOpen:O,setError:k,setSessions:A,setSettingsSection:j,setSyncingWorkspaceAppId:M,setView:ee,setWorkspaceBusy:N,showToast:te}){function P(){return`${je(n.defaultBranchPrefix)}${PS(b??g??`new-branch`)}`}function F(){return b?`Update ${b}`:(_?.filesChanged??v?.changedFilesCount??0)===1?`Update workspace file`:`Update workspace files`}function I(e=`commit`){x({type:`openCommitDialog`,nextStep:e})}function L(){x({type:`openBranchDialog`,branchName:P()})}function R(){y||D(!1),j(`configuration`),ee(`settings`),Ks({kind:`settings`,section:`configuration`})}async function z(n){if(e&&t){N(!0),k(null);try{let r=await Z.checkoutWorkspaceBranch(e,t,{branch:n});E(r),r.initialized&&T(t)}catch(e){k(e instanceof Error?e.message:String(e))}finally{N(!1)}}}async function B(){if(!e||!t)return;let n=i.trim();if(n){N(!0),k(null);try{let r=await Z.createWorkspaceBranch(e,t,{branch:n});E(r),r.initialized&&T(t),D(!1),te(`Checked out ${n}`,`success`)}catch(e){k(e instanceof Error?e.message:String(e))}finally{N(!1)}}}async function V(e){M(e);let n=r?.apps.find(t=>t.id===e)?.name??r?.localProjects.find(t=>t.id===e)?.name??`Workspace`;try{let r=await w(e,!0);r?.initialized&&e===t&&T(e),r?.initialized&&!r.error?te(`${n} synced locally`,`success`):r?.error&&te(`Workspace sync failed`,`error`)}finally{M(t=>t===e?null:t)}}async function H(){t&&await V(t)}async function ne(t,n,i={}){if(!e)return null;let a=m&&!_l(m.id)?m:null;if(BS(n,a,i)||a&&IS(a,f,d))return a;let o=a?await re(a):null;if(o)return o;let s=LS(h,f,d);if(s){let e=s.workspaceKind===`local_project`&&s.workspaceId?U(`local`,s.workspaceId):null;return x({type:`selectSession`,sessionId:s.id,appId:s.appId,projectId:e}),s.workspaceKind===`local_project`&&s.workspaceId&&C(U(`local`,s.workspaceId)),s}let g=vf(f,u),_=await Z.createSession(e,{provider:l,modelRef:Me(l,c,r?.providers??null),appId:p?.appId??d?.id??null,appName:p?.appName??d?.name??null,workspaceKind:f?`local_project`:d?`sandbox_app`:void 0,workspaceId:f?.id??d?.id??null,workspaceName:f?.name??d?.name??null,localProjectId:f?.id??null,cloudProjectId:g?.id??null,cloudTeamId:g?.teamId??null,cwd:f?f.workspacePath:null,title:t});A(e=>[_,...e]);let v=_.workspaceKind===`local_project`&&_.workspaceId?U(`local`,_.workspaceId):null;return x({type:`selectSession`,sessionId:_.id,appId:_.appId,projectId:v}),_.workspaceKind===`local_project`&&_.workspaceId&&C(U(`local`,_.workspaceId)),_}async function re(t){if(!e||!f||!p?.appId||_l(t.id)||t.workspaceKind===`local_project`||t.appId!==p.appId)return null;let n=vf(f,u),r=await Z.patchSession(e,t.id,{appId:p.appId,appName:p.appName,workspaceKind:`local_project`,workspaceId:f.id,workspaceName:f.name,localProjectId:f.id,cloudProjectId:n?.id??null,cloudTeamId:n?.teamId??null,cwd:f.workspacePath});return A(e=>e.map(e=>e.id===r.id?r:e)),x({type:`selectSession`,sessionId:r.id,appId:r.appId,projectId:U(`local`,f.id)}),C(U(`local`,f.id)),r}async function ie(t,n={}){if(!e)return null;let r=await ne(b?`${b} workspace`:`Workspace action`,t,n);if(!r)return null;let i=await Z.workspaceTool(e,r.id,{action:t,args:n,source:`ui_button`});te(i.output,i.ok?`success`:`error`),S(await Z.bootstrap(e));let a=i.appId??zS(r);return a&&(await w(a,!1))?.initialized&&await T(a),i}async function ae(e,t={}){if(e===`git_commit`&&typeof t.message!=`string`)return I(`commit`),null;N(!0),k(null);try{return await ie(e,t)}catch(e){return k(e instanceof Error?e.message:String(e)),null}finally{N(!1)}}async function oe(){let e=o.trim()||F(),t=s===`commit_publish`,n=t&&!!v?.remoteUrl;if(!n||window.confirm(`Replace the current origin remote with the new OpenPond repo after committing?`)){N(!0),k(null);try{if(!(await ie(`git_commit`,{message:e,includeUnstaged:a}))?.ok||s===`commit_push`&&!(await ie(`git_push`,{runChecks:!1}))?.ok||t&&!(await ie(`publish_openpond_repo`,{replaceOrigin:n}))?.ok)return;O(!1)}catch(e){k(e instanceof Error?e.message:String(e))}finally{N(!1)}}}return{changeWorkspaceBranch:z,openCommitDialog:I,openCreateWorkspaceBranchDialog:L,openDefaultsSettingsFromBranchDialog:R,runWorkspaceTool:ae,submitCommitDialog:oe,submitCreateWorkspaceBranch:B,syncWorkspaceLocally:H,syncWorkspaceLocallyForApp:V}}function IS(e,t,n){return!t&&!n||RS(e,t,n)}function LS(e,t,n){if(!t&&!n)return null;let r=null,i=-1/0;for(let a of e){if(a.archived||!RS(a,t,n))continue;let e=Date.parse(a.updatedAt),o=Number.isFinite(e)?e:0;(!r||o>i)&&(r=a,i=o)}return r}function RS(e,t,n){return t?e.workspaceKind===`local_project`&&e.workspaceId===t.id:n?e.appId===n.id||e.workspaceId===n.id:!1}function zS(e){return e.workspaceKind===`sandbox`?e.localProjectId??null:e.workspaceId??e.appId??null}function BS(e,t,n={}){return(VS(e)||US(e,n))&&HS(t)}function VS(e){return e.startsWith(`sandbox_`)?e!==`sandbox_create`&&e!==`sandbox_templates`&&e!==`sandbox_template_launch`:!1}function HS(e){return e?.workspaceKind===`sandbox`||e?.workspaceKind===`sandbox_template`}function US(e,t){if(e!==`sandbox_create`)return!1;let n=t.runtime;return!!(n&&typeof n==`object`&&!Array.isArray(n)&&typeof n.runtimeId==`string`&&n.runtimeId.trim())}function WS(e,t){return e.kind===`general`?`# general`:e.title?e.title:e.participants.find(e=>e.userId!==t)?.name??`Direct message`}var GS=[];function KS(e){let{composerDraftStore:t,appDispatch:n,mentionedAppId:r,setMentionedAppId:i,cloudSetupDialog:a,setCloudSetupDialog:o,setRightPanelTabRequest:s,workspaceDiffPanelViewState:c,setWorkspaceDiffPanelViewState:l,rightChatHistoryEvents:u,setRightChatHistoryEvents:d,locallyActiveCodexHistorySessionIds:f,setCodexHistoryTurnLocallyActive:p,draftSubagentDelegationMode:m,setDraftSubagentDelegationMode:h,confirmProjectAction:g,view:_,selectedAppId:v,selectedProjectId:y,selectedSessionId:b,draftProvider:x,draftModel:S,activeExperience:C,codexPermissionMode:w,codexReasoningEffort:T,openPondCommandAccessMode:E,busy:D,diffPanelOpen:O,diffPanelExpanded:k,rightPanelMode:A,rightChatPanels:j,newProjectMode:M,newProjectName:ee,newProjectBusy:N,commitMessage:te,commitIncludeUnstaged:P,commitNextStep:F,branchDialogName:I,setSectionMenuOpen:L,setView:R,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:V,setPrompt:H,setDraftProvider:ne,setDraftModel:re,setDiffPanelOpen:ie,setRightPanelMode:ae,setRightChatPanels:oe,setSyncingWorkspaceAppId:se,setSettingsSection:ce,setNewProjectDialogOpen:le,setNewProjectMode:ue,setNewProjectName:de,setNewProjectPath:fe,setNewProjectBusy:pe,setCommitDialogOpen:me,setBranchDialogOpen:he,setError:ge,showToast:_e,appPreferences:U,applyBootstrapPayload:ve,approvals:ye,bootstrap:be,connection:xe,events:Se,runtimeEventStore:Ce,sessions:we,startup:Te,setAppPreferences:Ee,setCodexHistorySessions:De,setEvents:Oe,setSessions:ke,cloudProjectById:Ae,localProjectById:W,selectedApp:je,selectedCloudProject:Ne,selectedProject:Pe,selectedProjectLinkedOpenPondApp:Fe,selectedSession:G,sidebarSessions:Ie,runtimeIndexes:Le,connectedAppMentions:Re,codexHistoryEvents:ze,setCodexHistoryEvents:Be,account:Ve,accountPending:He,accountSignedOut:Ue,activeModel:We,activeProvider:Ge,activeWorkspaceAppId:Ke,activeWorkspaceKind:qe,activeWorkspaceLocation:Je,appDefaults:Ye,selectedSessionProjectId:Xe,workspaceName:Ze,accountScopeKey:Qe,teamChat:$e,communities:et,selectedProjectConfirmedCloudProject:tt,activeOpenPondCommandAccessMode:nt,viewWorkspaceAppId:rt,viewWorkspaceId:it,viewWorkspaceKind:at,openPondActionCatalog:ot,selectedActionCatalog:st,expandProject:ct,setExpandedProjectIds:lt,advanceTrainingModelChatAfterTurn:ut,bindTrainingModelChatSession:dt,prepareTrainingModelChatTurn:ft,chatMessages:pt,pendingChatUserMessages:mt,recordPendingChatUserMessage:ht,runningSessionIds:gt,workspaceBusy:_t,visibleWorkspaceState:vt,visibleWorkspaceDiff:yt,rememberWorkspaceState:bt,refreshWorkspace:K,setWorkspaceBusy:xt,refreshWorkspaceDiffWhenNeeded:St,setPendingWorkspaceTarget:Ct,pendingSidebarWorkspaceTarget:wt,setPendingSidebarWorkspaceTarget:Tt,projectTarget:Et,workspaceTarget:Dt}=e,Ot=_===`apps`?`Apps`:_===`get-started`?`Walkthroughs`:_===`labs`?`Models`:_===`scheduled`?`Workflows`:_===`outputs`?`Outputs`:_===`projects`?`Projects`:_===`team`?$e.detail?WS($e.detail.thread,$e.currentUserId):`Team Chat`:_===`community`?et.preview?.displayName??`Communities`:G?.title??Rf(C),{browserConversationId:kt,handleWorkspaceDiffPanelViewStateChange:q}=fS({appDispatch:n,diffPanelExpanded:k,diffPanelOpen:O,rightChatPanels:j,rightPanelMode:A,selectedAppId:v,selectedCloudProject:Ne,selectedProjectId:y,selectedSession:G,selectedSessionId:b,setWorkspaceDiffPanelViewState:l,view:_,viewWorkspaceAppId:rt,viewWorkspaceId:it,viewWorkspaceKind:at,workspaceDiffPanelViewState:c}),At=JSON.stringify([dn(xe),be?.server.id,be?.account.activeProfile,be?.account.profile?.id,be?.preferences.defaultTeamId]),jt=(0,Y.useRef)(At);jt.current=At;let Mt=(0,Y.useCallback)(async(e,t,n=()=>!0)=>{let r=()=>jt.current===At&&n();if(!xe||!r())return!1;let i=Ie.find(t=>t.id===e);if(!i&&e.startsWith(`codex_history_`)){let t=await Z.codexHistoryThread(xe,e,{tail:!0});if(!r())return!1;i=t.session}if(!i){let t=await Z.bootstrap(xe);if(!r())return!1;if(i=t.sessions.find(t=>t.id===e),!i)throw Error(`This thread is no longer available.`)}return t&&(await Z.taskInbox(xe,e),!r())||!await Ks({kind:`chat`,sessionId:e},`push`,r)||!r()?!1:(ke(e=>jp(e,i)),V(e),z(null),B(null),R(`chat`),t&&za(t),!0)},[xe,At,Ie,ke,z,B,V,R]),Nt=(0,Y.useCallback)(()=>{ue(`existing-local`),de(``),fe(``),le(!0)},[le,ue,de,fe]),Pt=(0,Y.useCallback)(()=>{ue(`local`),de(``),fe(``),le(!0)},[le,ue,de,fe]),{createCloudProjectFromScratch:Ft,createProjectFromScratch:It,createProjectCollection:Lt,removeProject:Rt}=gS({connection:xe,defaultTeamId:Ye.defaultTeamId,sessions:we,selectedProjectId:y,confirmProjectAction:g,applyBootstrapPayload:ve,expandProject:ct,setExpandedProjectIds:lt,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:V,setError:ge,setView:R,showToast:_e}),{changeWorkspaceBranch:zt,openCommitDialog:Bt,openCreateWorkspaceBranchDialog:Vt,openDefaultsSettingsFromBranchDialog:Ht,runWorkspaceTool:Ut,submitCommitDialog:Wt,submitCreateWorkspaceBranch:Gt,syncWorkspaceLocally:Kt}=FS({connection:xe,activeWorkspaceAppId:Ke,appDefaults:Ye,bootstrap:be,branchDialogName:I,commitIncludeUnstaged:P,commitMessage:te,commitNextStep:F,draftModel:S,draftProvider:x,cloudProjects:be?.cloudProjects??[],selectedApp:je,selectedProject:Pe,selectedProjectLinkedOpenPondApp:Fe,selectedSession:G,sessions:we,title:Ot,visibleWorkspaceDiff:yt,visibleWorkspaceState:vt,workspaceBusy:_t,workspaceName:Ze,appDispatch:n,applyBootstrapPayload:ve,expandProject:ct,refreshWorkspace:K,refreshWorkspaceDiff:St,rememberWorkspaceState:bt,setBranchDialogOpen:he,setCommitDialogOpen:me,setError:ge,setSessions:ke,setSettingsSection:ce,setSyncingWorkspaceAppId:se,setView:R,setWorkspaceBusy:xt,showToast:_e}),qt=tS({applyBootstrapPayload:ve,cloudProjects:be?.cloudProjects??[],connection:xe,localProjectById:W,selectedCloudProject:Ne,selectedProject:Pe,setWorkspaceBusy:xt,showToast:_e,visibleWorkspaceState:vt}),Jt=be?.preferences.subagents.delegationMode??`manual`,Yt=G?.subagentDelegationMode??m,Xt=!(C!==`development`||!be?.preferences.subagents.enabled||Ge===`codex`||_l(b)||G?.subagentRunId),Zt=(0,Y.useCallback)(e=>{if(!G){h(e);return}if(!xe||_l(G.id)||G.subagentRunId)return;let t=G.id,n=G.subagentDelegationMode??null;ke(n=>n.map(n=>n.id===t?{...n,subagentDelegationMode:e}:n)),Z.patchSession(xe,t,{subagentDelegationMode:e}).then(e=>{ke(t=>t.map(t=>t.id===e.id?e:t))}).catch(e=>{ke(e=>e.map(e=>e.id===t?{...e,subagentDelegationMode:n}:e)),ge(e instanceof Error?e.message:String(e))})},[xe,G,ge,ke]),Qt=(0,Y.useCallback)(e=>{d(t=>t[e.session.id]===e.events?t:{...t,[e.session.id]:e.events}),De(t=>jp(t,e.session))},[De]),{answerCreateImproveQuestion:$t,applyCreateImproveCandidate:en,approveCreateImproveRun:tn,cancelCreateImproveRun:nn,changeDraftProvider:rn,openCreateImprovePullRequest:an,reconcileCreateImprovePullRequest:on,rejectCreateImproveCandidate:sn,pauseCreateImproveRun:cn,resumeCreateImproveRun:ln,reviseCreateImproveRun:un,sendPrompt:J,stopTurn:fn}=Yx({applyBootstrapPayload:ve,bootstrap:be,chatMessages:pt,connection:xe,codexPermissionMode:w,codexReasoningEffort:T,openPondCommandAccessMode:nt,draftModel:S,draftProvider:x,experience:C,expandProject:ct,getPrompt:t.getSnapshot,apps:be?.apps??[],connectedAppMentions:Re,mentionedAppId:r,ensureCloudSessionReady:qt,refreshWorkspace:K,refreshWorkspaceDiff:St,selectedApp:je,selectedActionCatalog:st,openPondActionCatalog:ot,cloudProjects:be?.cloudProjects??[],accountScopeKey:Qe,selectedCloudProject:Ne,selectedProject:Pe,selectedProjectLinkedOpenPondApp:Fe,selectedSession:G,sessions:we,workspaceTarget:Dt.value,subagentDelegationMode:G?.subagentDelegationMode??m,setDraftModel:re,setDraftProvider:ne,setError:ge,setPrompt:H,setMentionedAppId:i,setCodexHistoryEvents:Be,setCodexHistorySessions:De,onCodexHistoryTurnActivityChange:p,onCodexHistoryTurnPayload:Qt,onPendingUserMessage:ht,setEvents:Oe,setSelectedAppId:z,setSelectedProjectId:B,setSelectedSessionId:V,setSessions:ke,setView:R,setWorkspaceBusy:xt}),{archiveSession:pn,restoreSession:mn,renameSession:hn,toggleProjectPinned:gn,toggleSessionPinned:_n,toggleSessionSavedForLater:vn}=NS({appPreferences:U,connection:xe,selectedSessionId:b,setAppPreferences:Ee,setCodexHistorySessions:De,setError:ge,setSelectedSessionId:V,setSessions:ke}),{changeWorkspaceTarget:yn,moveProjectToCloud:bn,startCloudSetupUpload:xn}=pS({account:Ve,accountPending:He,accountSignedOut:Ue,activeWorkspaceKind:qe,activeWorkspaceLocation:Je,appDispatch:n,applyBootstrapPayload:ve,busy:D,cloudSetupDialog:a,cloudProjects:be?.cloudProjects??[],connection:xe,defaultTeamId:Ye.defaultTeamId,expandProject:ct,localProjectById:W,selectedCloudProject:Ne,selectedProject:Pe,selectedSession:G,selectedSessionProjectId:Xe,setCloudSetupDialog:o,setDiffPanelOpen:ie,setError:ge,setSessions:ke,setWorkspaceBusy:xt,showToast:_e,visibleWorkspaceState:vt,workspaceBusy:_t}),Sn=(0,Y.useCallback)(async e=>{if(C===`work`&&!G){if(e===`local`){Ct(`local`),_e(Pe?`Next task will use the local ${Pe.name} checkout.`:`Next task will use an app-managed local workspace.`,`info`);return}if(e===`cloud`&&!Pe&&!Ne){if(He){_e(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(Ue){_e(`Add an OpenPond account before using Hosted.`,`error`);return}Ct(`cloud`),_e(`Next task will use Hosted without a Project.`,`info`);return}}if(e===`hybrid`){let e=Ne?.id??tt?.id??G?.cloudProjectId??null,t=Ne?.teamId??tt?.teamId??G?.cloudTeamId??null;if(He){_e(`Checking OpenPond account. Try again in a moment.`,`info`);return}if(Ue){_e(`Add an OpenPond account before using Hybrid.`,`error`);return}if(!e||!t){Ct(null),_e(`Upload/sync this Project to Cloud before using Hybrid.`,`error`);return}if(G&&!_l(G.id)){if(Cf(G))return;if(!xe){_e(`OpenPond App server is not connected.`,`error`);return}let n=await Z.patchSession(xe,G.id,{provider:x,modelRef:Me(x,S,be?.providers??null),appId:null,appName:null,workspaceKind:`sandbox`,workspaceId:null,workspaceName:Ne?.name??tt?.name??Pe?.name??G.workspaceName??`Hybrid workspace`,localProjectId:Pe?.id??G.localProjectId??null,cloudProjectId:e,cloudTeamId:t,metadata:xf(G.metadata),cwd:Pe?.workspacePath??G.cwd??null});ke(e=>e.map(e=>e.id===n.id?n:e)),Ct(null),_e(`Hybrid will use your selected model with hosted sandbox edits.`,`info`);return}Ct(`hybrid`),_e(`Next message will use Hybrid with a hosted sandbox.`,`info`)}else Ct(null),await yn(e)},[He,Ue,C,be?.providers,yn,xe,S,x,Ne?.id,Ne?.name,Ne?.teamId,Pe?.id,tt?.id,tt?.name,tt?.teamId,Pe?.name,Pe?.workspacePath,G,Ct,ke,_e]),Cn=(0,Y.useCallback)((e,t)=>{z(null),B(e),V(null),R(`chat`),ct(e),Tt({projectId:e,target:t})},[ct,z,B,V,R]);(0,Y.useEffect)(()=>{if(!wt||_!==`chat`||y!==wt.projectId||b!==null)return;let e=wt.target;Tt(null),Sn(e)},[Sn,wt,y,b,_]);let wn=mS({advanceTrainingTurn:ut,bindTrainingSession:dt,composerDraftStore:t,onSessionCreated:e=>{V(e.id),R(`chat`),Ks({kind:`chat`,sessionId:e.id}),h(null)},onSubmitted:async()=>{let e=G;if(xe&&e&&gc(e))try{let t=await Z.patchSession(xe,e.id,{metadata:yc(e.metadata)});ke(e=>e.map(e=>e.id===t.id?t:e))}catch(e){_e(e instanceof Error?`Task started, but its Draft label could not be cleared: ${e.message}`:`Task started, but its Draft label could not be cleared.`,`error`)}},prepareTrainingTurn:ft,sendPrompt:J,setMentionedAppId:i,showToast:_e}),Tn=hS({appDispatch:n,connection:xe,sessions:we,setDiffPanelOpen:ie,setRightPanelMode:ae,setSessions:ke,setView:R}),{createCloudEnvironmentFromSidebar:En,openCloudProjectDialog:Dn,openUrlInBrowserPanel:On,showBrowserPanel:kn,showChangesPanel:jn,showGoalSidebarTab:Mn}=Nx({account:Ve,browserConversationId:kt,cloudProjectById:Ae,cloudProjects:be?.cloudProjects??[],diffPanelOpen:O,rightPanelMode:A,selectedProjectId:y,setDiffPanelOpen:ie,setNewProjectDialogOpen:le,setNewProjectMode:ue,setNewProjectName:de,setRightPanelMode:ae}),{changeProjectTarget:Nn,submitNewProjectDialog:Pn}=vS({appDispatch:n,connection:xe,selectedSession:G,setSessions:ke,setWorkspaceBusy:xt,busy:D,cloudProjectById:Ae,createCloudProjectFromScratch:Ft,createProjectFromScratch:It,createProjectCollection:Lt,expandProject:ct,localProjectById:W,newProjectBusy:N,newProjectMode:M,newProjectName:ee,onCreateCloudEnvironment:En,onNewCloudProject:Dn,onNewLocalProject:Pt,onUseExistingFolderPath:Nt,projectTargetValue:Et.value,setDiffPanelOpen:ie,setDraftModel:re,setDraftProvider:ne,setError:ge,setNewProjectBusy:pe,setNewProjectDialogOpen:le,setNewProjectName:de,setNewProjectPath:fe,showToast:_e,workspaceBusy:_t});Fx({browserConversationId:kt,sessionIds:(0,Y.useMemo)(()=>we.map(e=>e.id),[we]),onOpenSession:Mt,onShowBrowserPanel:kn});let[Fn,In]=(0,Y.useState)(null),Ln=(0,Y.useCallback)(e=>{In({id:Date.now(),objective:e.objective,initialSessionIds:e.sessionId?[e.sessionId]:[]}),qs(An()),R(`labs`)},[R]),{activateRightChatPanel:Rn,closeRightChatPanel:zn,openRightChatPanel:Bn,rightChatPanelViews:Vn,showRightChatPanel:Hn,showRightPanelDiffTab:Un,submitRightChatPrompt:Wn,updateRightChatModel:Gn,updateRightChatPrompt:Kn,updateRightChatProvider:qn,updateRightChatScrollState:Jn}=MS({activeModel:We,activeProvider:Ge,approvals:ye,applyRightCodexHistoryPayload:Qt,codexHistoryEvents:ze,connectedAppMentions:Re,connection:xe,contextCompaction:Ye.contextCompaction,openLabTraining:Ln,locallyActiveCodexHistorySessionIds:f,openPondCommandAccessMode:E,pendingChatUserMessages:mt,providerSettings:be?.providers??null,rightChatHistoryEvents:u,rightChatPanels:j,rightPanelMode:A,runtimeIndexes:Le,runtimeEventStore:Ce,runningSessionIds:gt,selectedSession:G,selectedSessionId:b,sendPrompt:J,setDiffPanelOpen:ie,setError:ge,setRightChatHistoryEvents:d,setRightChatPanels:oe,setRightPanelMode:ae,setRightPanelTabRequest:s,setView:R,showChangesPanel:jn,showToast:_e,sidebarSessions:Ie,startupReady:Te.ready});return{title:Ot,browserConversationId:kt,handleWorkspaceDiffPanelViewStateChange:q,openSessionInChat:Mt,openExistingProjectPathDialog:Nt,removeProject:Rt,changeProjectTarget:Nn,submitNewProjectDialog:Pn,changeWorkspaceBranch:zt,openCommitDialog:Bt,openCreateWorkspaceBranchDialog:Vt,openDefaultsSettingsFromBranchDialog:Ht,runWorkspaceTool:Ut,submitCommitDialog:Wt,submitCreateWorkspaceBranch:Gt,syncWorkspaceLocally:Kt,subagentDelegationDefaultMode:Jt,subagentDelegationMode:Yt,subagentDelegationAvailable:Xt,changeSubagentDelegationMode:Zt,answerCreateImproveQuestion:$t,applyCreateImproveCandidate:en,approveCreateImproveRun:tn,cancelCreateImproveRun:nn,changeDraftProvider:rn,openCreateImprovePullRequest:an,reconcileCreateImprovePullRequest:on,rejectCreateImproveCandidate:sn,pauseCreateImproveRun:cn,resumeCreateImproveRun:ln,reviseCreateImproveRun:un,sendPrompt:J,stopTurn:fn,archiveSession:pn,restoreSession:mn,renameSession:hn,toggleProjectPinned:gn,toggleSessionPinned:_n,toggleSessionSavedForLater:vn,moveProjectToCloud:bn,startCloudSetupUpload:xn,changeWorkspaceTarget:Sn,switchProjectWorkspaceTarget:Cn,sendPromptFromMainComposer:wn,openSandboxWorkspace:Tn,createCloudEnvironmentFromSidebar:En,openCloudProjectDialog:Dn,openUrlInBrowserPanel:On,showBrowserPanel:kn,showChangesPanel:jn,showGoalSidebarTab:Mn,rightChatTrainingLaunchRequest:Fn,setRightChatTrainingLaunchRequest:In,closeRightChatPanel:zn,openRightChatPanel:Bn,rightChatPanelViews:Vn,showRightChatPanel:Hn,showRightPanelDiffTab:Un,submitRightChatPrompt:Wn,activateRightChatPanel:Rn,updateRightChatModel:Gn,updateRightChatPrompt:Kn,updateRightChatProvider:qn,updateRightChatScrollState:Jn,openProfileSettings:(0,Y.useCallback)(()=>{L(null),ce(`profile`),R(`settings`),Ks({kind:`settings`,section:`profile`})},[L,ce,R]),diagnosticEvents:(0,Y.useMemo)(()=>wd(be?.diagnostics??GS,Se.filter(e=>e.name===`diagnostic`)),[be?.diagnostics,Se]),toggleRightSidebar:(0,Y.useCallback)(()=>{O?ie(!1):_===`labs`?(ae(`changes`),s({id:Date.now(),tab:`summary`}),ie(!0)):(ae(`home`),_===`chat`&&s(e=>({id:(e?.id??0)+1,tab:`outputs`,overview:`new`})),ie(!0))},[O,ie,ae,s,_])}}var qS=`openpond:desktop-get-started:v1`,JS=`openpond:open-get-started`;function YS(){window.dispatchEvent(new Event(JS))}function XS(e,t){let n=setTimeout(r,5e3);function r(){t()?n=setTimeout(r,500):e()}return()=>clearTimeout(n)}var ZS=(0,Y.lazy)(()=>l(()=>import(`./GettingStartedDialog-DFBYQdHz.js`).then(e=>({default:e.GettingStartedDialog})),__vite__mapDeps([87,1,2,3,14,8,38,10,25,27,21,42,43,44,45,49,88,52])));function QS({ready:e,connection:t,payload:n,onPayload:r}){let[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(()=>{try{return localStorage.getItem(qS)!==null}catch{return!1}}),c=cu(),l=n?.account.state===`signed_in`||n?.account.state===`signed_out`||n?.account.state===`auth_error`,u=n?.account.state===`signed_in`&&!!(n.providers.providers.codex?.enabled&&n.providers.statuses.codex?.available)&&!!(n.providers.providers[`claude-code`]?.enabled&&n.providers.statuses[`claude-code`]?.available);(0,Y.useEffect)(()=>{if(c&&e&&t&&l&&!o&&!u&&!i)return XS(()=>a(!0),()=>{let e=document.activeElement;return document.hidden||!!document.querySelector(`[role="dialog"]`)||e instanceof HTMLElement&&(e.isContentEditable||e.matches(`input, textarea`))})},[c,e,t?.serverUrl,t?.token,l,o,u,i]),(0,Y.useEffect)(()=>{function n(){e&&t&&a(!0)}return window.addEventListener(JS,n),()=>window.removeEventListener(JS,n)},[e,t]);function d(){a(!1),s(!0);try{localStorage.setItem(qS,`dismissed`)}catch{}}return!i||!e||!t||!n?null:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ZS,{connection:t,payload:n,onPayload:r,onClose:d},JSON.stringify([t.serverUrl,t.token]))})}var $S=new Set([`claude.ai`,`console.anthropic.com`,`platform.claude.com`,`console.claude.com`]);function eC(e){let t=e.replace(/\x1b\][\s\S]*?(?:\x07|\x1b\\)/gu,``).replace(/\x1b\[[0-?]*[ -/]*[@-~]/gu,``).replace(/\r/gu,``),n=null;for(let e of t.matchAll(/https:\/\/[^\s<>"']+(?=\s)/gu))try{let t=new URL(e[0]);if(t.protocol!==`https:`||t.username||t.password||t.port||!$S.has(t.hostname)||t.pathname!==`/oauth/authorize`||t.searchParams.get(`response_type`)!==`code`||!t.searchParams.get(`client_id`)||!t.searchParams.get(`state`)||!t.searchParams.get(`code_challenge`))continue;n=t.href}catch{}return{url:n,needsCode:/(?:paste|enter)\s+(?:(?:the|your)\s+)?(?:(?:authorization|authentication|login)\s+)?code\b/iu.test(t),needsEnter:/login successful[\s\S]*(?:press|hit)\s+(?:the\s+)?enter\b/iu.test(t)}}function tC(e){let t=e.trim();return t&&t.length<=4096&&!/[\s\x00-\x1f\x7f]/u.test(t)?`${t}\r`:null}var nC=(0,Y.lazy)(()=>l(()=>import(`./TerminalOverlay-d7A2F9Lx.js`).then(e=>({default:e.TerminalOverlay})),__vite__mapDeps([89,1,2,3,14,8,36,10,27,21,30,60,90])));function rC(e){let[t,n]=(0,Y.useState)(0);return(0,X.jsx)(iC,{...e,onRetry:()=>n(e=>e+1)},t)}function iC({connection:e,command:t,displayCommand:n=`claude auth login`,onClose:r,onComplete:i,openRequest:a,onRetry:o}){let[s,c]=(0,Y.useState)(`dialog`);(0,Y.useEffect)(()=>{c(`dialog`)},[a]);let[l,u]=(0,Y.useState)([]),[d]=(0,Y.useState)(()=>({kind:`draft`,id:`native-login-${crypto.randomUUID()}`})),[f]=(0,Y.useState)(()=>({command:t,displayCommand:n})),[p,m]=(0,Y.useState)({url:null,needsCode:!1,needsEnter:!1}),[h,g]=(0,Y.useState)(),[_,v]=(0,Y.useState)(``),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(null);Dn(x,{prefix:`Claude sign-in`});let C=En(),w=(0,Y.useRef)(``),T=(0,Y.useRef)(0),E=(0,Y.useRef)(!1),D=(0,Y.useRef)(!1),O=l.some(e=>e.commandStatus===`failed`||e.status===`error`),k=l.some(e=>e.status===`exited`&&e.lastExitCode!==0),A=!O&&!l.some(e=>e.status===`exited`),j=(0,Y.useCallback)(e=>{w.current=(w.current+e).slice(-65536);let t=eC(w.current);m(e=>e.url===t.url&&e.needsCode===t.needsCode&&e.needsEnter===t.needsEnter?e:t)},[]);(0,Y.useEffect)(()=>{p.needsEnter&&!E.current&&A&&(E.current=!0,g({id:++T.current,data:`\r`}))},[p.needsEnter,A]),(0,Y.useEffect)(()=>{!D.current&&l.some(e=>e.commandStatus===`success`&&e.lastExitCode===0)&&(D.current=!0,(i??r)())},[r,i,l]),(0,Y.useEffect)(()=>{k&&S(`Sign-in did not complete. Try again or open the terminal for details.`)},[k]);async function M(){if(p.url&&A)try{let e=window.openpond?.browser;if(e?.openExternal){let t=await e.openExternal({conversationId:d.id,url:p.url});if(!t.ok)throw Error(t.error??`Could not open your browser.`)}else window.open(p.url,`_blank`,`noopener,noreferrer`)?.focus()}catch(e){S(e instanceof Error?e.message:String(e))}}async function ee(){if(p.url&&A)try{await navigator.clipboard.writeText(p.url),C?.(`Sign-in link copied.`,`success`)}catch(e){S(e instanceof Error?e.message:`Could not copy the sign-in link.`)}}function N(e){e.preventDefault();let t=tC(_);t?A&&p.needsCode&&!y&&(S(null),g({id:++T.current,data:t}),v(``),b(!0)):S(`Paste the code from your browser as a single line.`)}return(0,Wi.createPortal)((0,X.jsxs)(`div`,{className:`native-login-session`,children:[(0,X.jsxs)(`div`,{className:`native-login-status`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`native-login-resume`,onClick:()=>c(`dialog`),children:[A?(0,X.jsx)(_n,{size:15,className:`native-login-spin`}):(0,X.jsx)(`img`,{src:`/agent-sources/claude-code.svg`,alt:``}),(0,X.jsx)(`span`,{children:`Claude sign-in`})]}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(s===`terminal`?`minimized`:`terminal`),"aria-expanded":s===`terminal`,children:[(0,X.jsx)(Sn,{size:15}),` `,s===`terminal`?`Hide terminal`:`Show terminal`]}),(0,X.jsx)(`button`,{type:`button`,"aria-label":`Cancel Claude sign-in`,onClick:r,children:(0,X.jsx)(Cn,{size:15})})]}),(0,X.jsx)(`div`,{className:`native-setup-terminal native-login-terminal ${s===`terminal`?`expanded`:``}`,children:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(nC,{open:s===`terminal`,background:!0,disposeOnUnmount:!0,connection:e,scope:d,tabs:l,onTabsChange:u,cwd:null,appId:null,workspaceName:`Claude sign-in`,queuedCommand:null,setupCommand:f,setupInput:h,onOutput:j,onClose:()=>c(`minimized`)})})}),s===`dialog`?(0,X.jsxs)(zn,{ariaLabel:`Sign in to Claude`,backdropClassName:`git-dialog-backdrop native-login-backdrop`,className:`git-dialog native-login-dialog`,onClose:()=>c(`minimized`),children:[(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Minimize Claude sign-in`,onClick:()=>c(`minimized`),children:(0,X.jsx)(Cn,{size:16})}),(0,X.jsx)(`img`,{className:`native-login-icon`,src:`/agent-sources/claude-code.svg`,alt:``}),(0,X.jsx)(`h2`,{children:`Sign in to Claude`}),(0,X.jsx)(`p`,{children:`Finish signing in through your browser. This window will close when you’re connected.`}),A?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`native-login-actions`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`git-dialog-primary`,disabled:!p.url,onClick:()=>void M(),children:[(0,X.jsx)(gn,{size:15}),` Continue in browser`]}),(0,X.jsxs)(`button`,{type:`button`,className:`native-login-secondary`,disabled:!p.url,onClick:()=>void ee(),children:[(0,X.jsx)(hn,{size:15}),` Copy link`]})]}),(0,X.jsxs)(`p`,{className:`native-login-progress`,role:`status`,children:[(0,X.jsx)(_n,{size:14,className:`native-login-spin`}),` `,y?`Completing sign-in…`:p.url?`Waiting for browser sign-in…`:`Preparing your sign-in link…`]}),p.needsCode?(0,X.jsxs)(`form`,{onSubmit:N,className:`native-login-code`,children:[(0,X.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,X.jsx)(`span`,{children:`If your browser gave you a code`}),(0,X.jsx)(`input`,{type:`password`,autoComplete:`off`,spellCheck:!1,"aria-label":`Claude sign-in code`,value:_,disabled:y,onChange:e=>v(e.target.value),placeholder:`Paste the code`})]}),(0,X.jsx)(`button`,{type:`submit`,className:`native-login-secondary`,disabled:y||!_.trim(),children:`Submit code`})]}):null]}):(0,X.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,onClick:o,children:`Try again`}),(0,X.jsxs)(`footer`,{children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(`terminal`),children:[(0,X.jsx)(Sn,{size:14}),` Terminal details`]}),(0,X.jsx)(`button`,{type:`button`,onClick:r,children:`Cancel sign-in`})]})]}):null]}),document.body)}var aC=(0,Y.createContext)(null);function oC({connection:e,onProviders:t,children:n}){let r=e?JSON.stringify([e.serverUrl,e.token]):null,[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null),c=o?.key===r?o.result:null,[l,u]=(0,Y.useState)(0),d=(0,Y.useRef)(null),f=(0,Y.useRef)(t);f.current=t;let p=En(),[m,h]=(0,Y.useState)(null);Dn(m,{prefix:`Claude connection`});let g=i?.key===r&&i!==null;(0,Y.useEffect)(()=>(a(null),s(null),h(null),()=>{d.current?.abort(),d.current=null}),[r]);let _=(0,Y.useCallback)(t=>{e&&r&&(d.current?.abort(),h(null),s(null),a(n=>n?.key===r?n:{id:crypto.randomUUID(),key:r,connection:e,command:t}),u(e=>e+1))},[e,r]),v=(0,Y.useCallback)(()=>u(e=>e+1),[]);async function y(){if(!i||i.key!==r)return;a(null);let e=new AbortController;d.current?.abort(),d.current=e;try{let t=await q(i.connection,`/v1/providers/claude-code/native-setup`,{method:`POST`,body:JSON.stringify({action:`check`}),signal:AbortSignal.any([e.signal,AbortSignal.timeout(45e3)])});if(e.signal.aborted)return;s({key:i.key,result:t}),f.current(t.settings),t.status===`ready`?p?.(`Claude connected.`,`success`):h(t.error??`Claude sign-in could not be verified. Refresh the connection in Settings.`)}catch(t){e.signal.aborted||h(t instanceof Error?t.message:`Could not verify the Claude connection.`)}finally{d.current===e&&(d.current=null)}}return(0,X.jsxs)(aC.Provider,{value:{active:g,result:c,start:_,resume:v},children:[n,g&&i?(0,X.jsx)(rC,{connection:i.connection,...i.command,openRequest:l,onClose:()=>a(null),onComplete:()=>void y()},i.id):null]})}function sC(){let e=(0,Y.useContext)(aC);if(!e)throw Error(`Native login requires the app shell.`);return e}var cC=ar();function lC(){return(0,X.jsx)(D,{client:cC,children:(0,X.jsx)(uC,{})})}function uC(){let e=Ex(),t=KS(e);return o(e.startup),(0,X.jsx)(On,{showToast:e.showToast,children:(0,X.jsxs)(oC,{connection:e.connection,onProviders:t=>{e.bootstrap&&e.applyBootstrapPayload({...e.bootstrap,providers:t})},children:[(0,X.jsx)(kf,{primary:e,secondary:t}),(0,X.jsx)(QS,{ready:e.startup.ready,connection:e.connection,payload:e.bootstrap,onPayload:e.applyBootstrapPayload})]})})}export{pf as $,Vo as $t,$ as A,zr as An,lC as App,wc as At,Jf as B,as as Bt,Xg as C,Ca as Cn,su as Ct,sh as D,aa as Dn,Yl as Dt,a_ as E,oa as En,Ul as Et,ym as F,xr as Fn,Hs as Ft,Uf as G,Xo as Gt,Yf as H,es as Ht,zf as I,$n as In,Us as It,Wf as J,qo as Jt,Gf as K,Yo as Kt,Hf as L,Ws as Lt,gm as M,yr as Mn,Xs as Mt,hm as N,Sr as Nn,Ks as Nt,Bm as O,Hi as On,_l as Ot,vm as P,vr as Pn,qs as Pt,bf as Q,Ho as Qt,Vf as R,ms as Rt,U_ as S,qa as Sn,cu as St,s_ as T,pa as Tn,Hl as Tt,Zf as U,$o as Ut,Xf as V,ts as Vt,Bf as W,Zo as Wt,If as X,Go as Xt,Mf as Y,Ko as Yt,Nf as Z,Uo as Zt,cy as _,So as _n,Mu as _t,zx as a,Fo as an,Wd as at,gv as b,Z as bn,Cu as bt,Ax as c,jo as cn,Cd as ct,$b as d,Oo as dn,fd as dt,Bo as en,uf as et,db as f,Do as fn,ad as ft,ly as g,Co as gn,ku as gt,cb as h,wo as hn,Ru as ht,bS as i,Io as in,of as it,mm as j,mr as jn,Cc as jt,Vm as k,Ai as kn,Tc as kt,ex as l,Ao as ln,vd as lt,lb as m,To as mn,zu as mt,YS as n,Ro as nn,df as nt,Ix as o,No as on,ef as ot,fb as p,Eo as pn,rd as pt,qf as q,Jo as qt,WS as r,Lo as rn,ff as rt,jx as s,Mo as sn,tf as st,sC as t,zo as tn,lf as tt,tx as u,ko as un,pd as ut,uy as v,xo as vn,Ou as vt,o_ as w,_a as wn,Xl as wt,hv as x,Ja as xn,ou as xt,Vv as y,yo as yn,ju as yt,Kf as z,ls as zt};
|