openpond 0.2.61 → 0.2.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +3264 -18
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-DYRBDJRU.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-UTLP7C3I.js} +1 -1
- package/dist/chunks/{actions-command-LOHNQUWP.js → actions-command-6LF4Z4WK.js} +1 -1
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-N2H3RBEN.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-Q2VWWJNX.js → app-server-connected-apps-3T546FE7.js} +1 -1
- package/dist/chunks/app-server-evaluations-TXD747QA.js +2 -0
- package/dist/chunks/{app-server-harness-services-2PSZBT7U.js → app-server-harness-services-BBCDV5P3.js} +1 -1
- package/dist/chunks/app-server-runtime-VEJPDAFP.js +2 -0
- package/dist/chunks/{apps-7PIBF32Q.js → apps-CTT2XYRR.js} +1 -1
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-2IIBCCOK.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-2UDAKLJ4.js} +1 -1
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-3R4MSE2S.js} +1 -1
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-47AXSBPV.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/chunk-4PZWGNX4.js +86 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-4RZBGKT7.js} +1 -1
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-4TM75R7V.js} +1 -1
- package/dist/chunks/chunk-4U2FNXQW.js +2 -0
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/{chunk-VWJ5IYQP.js → chunk-547AUVKN.js} +1 -1
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-557XSPVS.js} +1 -1
- package/dist/chunks/{chunk-ZHFH2TZN.js → chunk-557YG77L.js} +1 -1
- package/dist/chunks/{chunk-MF35MALN.js → chunk-5A6ER3M2.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-5OSM75X5.js} +1 -1
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-6SH4B7DV.js} +1 -1
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-7JBB4PXS.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-7JXZNCBC.js} +1 -1
- package/dist/chunks/chunk-7KTARW23.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-AKZPMKWP.js} +1 -1
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-AMO5DVKM.js} +2 -2
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-4RHM4WN2.js → chunk-B42QQUZY.js} +1 -1
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-BEI4YULC.js} +1 -1
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-C7M2WBWZ.js} +14 -14
- package/dist/chunks/{chunk-ELYRVTTG.js → chunk-CJUVHE4U.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-EIX2V2KU.js} +1 -1
- package/dist/chunks/{chunk-AWPYTDH4.js → chunk-EWOTDVDJ.js} +1 -1
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-F4TJ7WQV.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-F7D4BMTO.js} +1 -1
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FFWOTZQM.js} +1 -1
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-FUSCTBJI.js} +1 -1
- package/dist/chunks/{chunk-BN5AVRUG.js → chunk-GAQLXFOT.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-GEKORCMN.js} +1 -1
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-GNCEZ3UP.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-GOIKLFXK.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GQGLPKU4.js} +1 -1
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-GSWBNJGZ.js} +1 -1
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-GV3LFSMI.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-GW5SE3FM.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HBLN4OLY.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-4P3X2RXA.js → chunk-HKV7RX5E.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-HXZXDDKW.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-INO67SEN.js} +1 -1
- package/dist/chunks/{chunk-E67M5WGY.js → chunk-IWK3RTLR.js} +1 -1
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-J3B2GM4A.js} +1 -1
- package/dist/chunks/chunk-JCLTFDVW.js +2 -0
- package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-JIFUGA3U.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/{chunk-FWIPHEVA.js → chunk-JX6OX6XE.js} +1 -1
- package/dist/chunks/{chunk-D5ADDBS5.js → chunk-JY3YSI54.js} +1 -1
- package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
- package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
- package/dist/chunks/chunk-LILXHGIA.js +2 -0
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-LJDBR3RN.js} +1 -1
- package/dist/chunks/{chunk-3TYCIYW6.js → chunk-LJPO3TEL.js} +1 -1
- package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LRRBYIGH.js} +2 -2
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-M5IX6VUA.js} +1 -1
- package/dist/chunks/chunk-MEK7DLX3.js +2 -0
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/{chunk-ZBBVRYU3.js → chunk-MNFW5WLD.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-MNXNZDDW.js} +1 -1
- package/dist/chunks/chunk-N5GPINVP.js +2 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-NBE74GLF.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-NE4ESZPT.js} +1 -1
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-NKZNPTLA.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-NLQ2UPN2.js} +1 -1
- package/dist/chunks/chunk-NOSBNHGC.js +18 -0
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-NWOK6NLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/chunk-O3MHHGC5.js +151 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-OCC43RSJ.js} +1 -1
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-P74RR2GB.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-PAE3PQEC.js} +1 -1
- package/dist/chunks/{chunk-M4ZRCRJM.js → chunk-PGO4FRHU.js} +2 -2
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-Q324ZA5M.js → chunk-QAVQJZCM.js} +1 -1
- package/dist/chunks/{chunk-EIIGTADO.js → chunk-RBDUMASL.js} +1 -1
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-RH43WLBX.js} +1 -1
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-RTJCELRR.js} +1 -1
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-SD64CLJX.js} +1 -1
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-SZKFNKWO.js} +1 -1
- package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-T6C5BNXK.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-TGEGXTPR.js} +1 -1
- package/dist/chunks/chunk-TM4VEMNN.js +2 -0
- package/dist/chunks/chunk-TUCKED4T.js +4 -0
- package/dist/chunks/chunk-TVTFEGTU.js +2 -0
- package/dist/chunks/{chunk-HZLV773Y.js → chunk-TW3SRBLU.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-U456UP3N.js} +1 -1
- package/dist/chunks/chunk-UC3FXTDL.js +9 -0
- package/dist/chunks/{chunk-XLULTQLZ.js → chunk-UT6F6AIB.js} +1 -1
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-VAJSRUAB.js} +1 -1
- package/dist/chunks/chunk-VE6ZIGUQ.js +2 -0
- package/dist/chunks/{chunk-GLVR74PX.js → chunk-VI32G77S.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-VK4TPZTA.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-VSQXDS6H.js} +1 -1
- package/dist/chunks/{chunk-4GZ2FPB5.js → chunk-VWRTE64Y.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-WGLVSGFA.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-WQMXEZVE.js} +3 -3
- package/dist/chunks/chunk-X4ZT22SG.js +2 -0
- package/dist/chunks/{chunk-DGPGOBYZ.js → chunk-XSB3T4JZ.js} +1 -1
- package/dist/chunks/{chunk-ZZWAQBA2.js → chunk-XWDFXM3S.js} +1 -1
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-Y2KPHVZK.js} +1 -1
- package/dist/chunks/chunk-ZQHPGEYT.js +2 -0
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-ZXT7V64X.js} +1 -1
- package/dist/chunks/cli-GCSO2OAI.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-BU2RPG33.js} +1 -1
- package/dist/chunks/connected-app-executor-UDE7U4KG.js +2 -0
- package/dist/chunks/{connected-evidence-4J3YXU4O.js → connected-evidence-GXIY2L7C.js} +1 -1
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-V5QXRK5Q.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-FLW6DAJK.js} +1 -1
- package/dist/chunks/{core-commands-JGXU6B4C.js → core-commands-NJ6TGND4.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-DFGJBMVF.js → dataset-preparation-authoring-IUXUQK3L.js} +1 -1
- package/dist/chunks/{datasets-MNHZAZIB.js → datasets-AH56DKLZ.js} +1 -1
- package/dist/chunks/{desktop-test-P23MHAIG.js → desktop-test-PYUTEOWO.js} +1 -1
- package/dist/chunks/{dist-IIFTZWNR.js → dist-5267UT3V.js} +1 -1
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{evaluation-coordination-6NQEH5WU.js → evaluation-coordination-3AUICOC5.js} +1 -1
- package/dist/chunks/{experiment-improvements-M27Z5OF4.js → experiment-improvements-YS7GGPDW.js} +1 -1
- package/dist/chunks/experiments-EJZK7FPT.js +2 -0
- package/dist/chunks/{experiments-signal-R3NNH7WR.js → experiments-signal-NKUIJCIY.js} +1 -1
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-PXUUREHZ.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +2 -0
- package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +2 -0
- package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +3 -0
- package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-37ZFY2LH.js → hosted-profile-candidate-DKEMVIYG.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-UQBMML6K.js → hosted-profile-evaluation-control-ERCXAPZD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-YASS4T6L.js → hosted-profile-evaluation-inspection-Q3AIIIB6.js} +1 -1
- package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +3 -0
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-X2YCFYEJ.js} +1 -1
- package/dist/chunks/{human-review-IJETDOWB.js → human-review-5WM6MSON.js} +1 -1
- package/dist/chunks/{import-WLLUIDS6.js → import-JWZSZCE4.js} +1 -1
- package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +2 -0
- package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +2 -0
- package/dist/chunks/{model-projects-AVBQDNYG.js → model-projects-H22KENI4.js} +1 -1
- package/dist/chunks/opchat-3S6TSDZO.js +3 -0
- package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +2 -0
- package/dist/chunks/{organizations-DJRJWC5I.js → organizations-62YNTZTO.js} +1 -1
- package/dist/chunks/{profile-JRS3JNRC.js → profile-ELE2D7HU.js} +1 -1
- package/dist/chunks/project-action-payload-32F4X2BB.js +2 -0
- package/dist/chunks/{project-agent-2KNJFNZI.js → project-agent-O4REKO6T.js} +1 -1
- package/dist/chunks/{published-experiment-source-LFYHKFAO.js → published-experiment-source-DAOTJLIN.js} +1 -1
- package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-776NUSE7.js} +2 -2
- package/dist/chunks/{sandbox-command-IIGTPYN3.js → sandbox-command-UQ26NDIX.js} +1 -1
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-WP6YCGBK.js} +1 -1
- package/dist/chunks/saved-work-PG52WCRQ.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-RPB65PME.js} +1 -1
- package/dist/chunks/{src-4YZF6L6H.js → src-2R4CMCJ5.js} +1 -1
- package/dist/chunks/src-AU6LG7E6.js +421 -0
- package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +2 -0
- package/dist/chunks/{store-chat-resources-CGW7PDCG.js → store-chat-resources-T4LR7K25.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-R62D2HD6.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-25O7BAR2.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-T5E2GUKK.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-5Y4U5L3R.js} +1 -1
- package/dist/chunks/{store-evaluation-results-V5J6L4NV.js → store-evaluation-results-WUVJWCFU.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-HHMM6GNK.js → store-harness-workspaces-IFEFY5CK.js} +1 -1
- package/dist/chunks/{store-human-review-V5H4QDHR.js → store-human-review-ZQNLZRGG.js} +1 -1
- package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +2 -0
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-LOH4F4TF.js} +1 -1
- package/dist/chunks/{store-model-batch-review-KMYPYWJR.js → store-model-batch-review-QO4VVKWC.js} +1 -1
- package/dist/chunks/{store-model-configuration-UXNC4PGY.js → store-model-configuration-C3HSOFD5.js} +1 -1
- package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +2 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-RNIFLJRW.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-DVQ2PP4F.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-LXWFFYCZ.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-4HH7LX6N.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-JLW4GD4Q.js} +1 -1
- package/dist/chunks/{store-task-inbox-LNDCZOYE.js → store-task-inbox-DL5RYFPO.js} +1 -1
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-NJXRXFLC.js} +1 -1
- package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-VRLU6NFX.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-3ZHG4LGI.js} +1 -1
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-KWQD5PRP.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-ZRS3ILF2.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-QDMCQQDJ.js} +1 -1
- package/dist/chunks/{taskset-packages-I7I5KBFP.js → taskset-packages-CBLJFWDQ.js} +1 -1
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-GF272RGC.js} +1 -1
- package/dist/chunks/{training-UBX6E7SK.js → training-DF5UEPY3.js} +1 -1
- package/dist/chunks/{training-error-AYOGHHL2.js → training-error-L5V5IBX3.js} +1 -1
- package/dist/chunks/training-hosted-I2NDBYGS.js +2 -0
- package/dist/chunks/training-hosted-report-4F25RZZ4.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-5RUXYIOF.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-JRY2IE7H.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/hosted-chat.d.ts +28 -0
- package/dist/index.js +1 -1
- package/dist/skills/openpond-cli/SKILL.md +15 -2
- package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
- package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
- package/dist/skills/openpond-cli/references/experiments-and-training.md +155 -10
- package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
- package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
- package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
- package/dist/web/assets/App-DHJVXTI2.js +54 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-BurL61qE.js +1 -0
- package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-DZLErwj0.js} +1 -1
- package/dist/web/assets/AppsView-ttlr9ckQ.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-CpMSfHCK.js} +1 -1
- package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-CEbM980A.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-IKzZsHoI.js → ChatTimelineEntry-BITv20Ze.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-DrKJmJZK.js} +1 -1
- package/dist/web/assets/{CommandMenu-CBY2AJxV.js → CommandMenu-6oj8FUr6.js} +1 -1
- package/dist/web/assets/CommunityView-BzpIq1lD.js +1 -0
- package/dist/web/assets/ComposerAttachments-6en7m_ov.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-ChplO9YP.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DRHgc7j_.js +1 -0
- package/dist/web/assets/FilePagePreview-CW4J_1u7.js +2 -0
- package/dist/web/assets/GetStartedView-CaBk_mX6.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/GettingStartedDialog-JtFLyU3F.js +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-hhcjDifK.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CY8198Y1.js +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +1 -0
- package/dist/web/assets/LabSkillSidebar-HibUEEko.js +1 -0
- package/dist/web/assets/{LabsRoute-DOnw39du.js → LabsRoute-B61l1b8P.js} +8 -8
- package/dist/web/assets/MainChatThread-egKi0gLk.js +2 -0
- package/dist/web/assets/MainPane-2dj6Dg4l.js +95 -0
- package/dist/web/assets/{MainPane-CuBUBA9F.css → MainPane-BwHw3UYp.css} +1 -1
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +1 -0
- package/dist/web/assets/NewProjectDialog-t9Imnb__.js +1 -0
- package/dist/web/assets/OutputsPage-CeGq_F1S.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-VHME5V8j.js} +1 -1
- package/dist/web/assets/ProjectsPage-2TMZoEPB.js +1 -0
- package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +1 -0
- package/dist/web/assets/SettingsView-D2bu3tK_.js +5 -0
- package/dist/web/assets/TeamChatView-CN17AsgA.js +1 -0
- package/dist/web/assets/TerminalOverlay-DlhRpi-X.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-BhhZPPuY.js} +1 -1
- package/dist/web/assets/{TrainingMetricWorkbench-BmzHLwIP.js → TrainingMetricWorkbench-DBy8F1xp.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-DTZslBeW.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-ChEeZffU.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-D_RUXhTi.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-BJxaiDrj.js} +3 -3
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-A28Poeca.js} +1 -1
- package/dist/web/assets/{chat-resources-CItQ4mZD.js → chat-resources-3SvnVeKv.js} +1 -1
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-dYn0pd4Q.js} +1 -1
- package/dist/web/assets/chevron-right-sFx2xRvT.js +1 -0
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-BYNVSWIQ-DWh9SmdB.js} +1 -1
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ZFYI4P6C-BmsNtSkR.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-DTTLbrYt.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-CRMPCFnq.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/copy-DR4ielPn.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-DmttVQ_a.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-d-2GuNvW.js} +1 -1
- package/dist/web/assets/external-link-B4rPiZEp.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-BrIUcUk_.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-DwImGEt-.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-Ds1mkrlW.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-s15GR0Fn.js} +1 -1
- package/dist/web/assets/icons-CK5-nxVC.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-CY-sHbfQ.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-DYrLeSyY.js} +2 -2
- package/dist/web/assets/index-Dezj4Z2p.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-aSvM8YlJ.js} +1 -1
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-vos9H2hz.js} +1 -1
- package/dist/web/assets/loader-circle-cyf35w3i.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-pQmEaoMt.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-DgF6ZVOM.js} +1 -1
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-BPwsKvRB.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-BbMpa0_-.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-CJlccVX3.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-pWurLXbm.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-DlEV241C.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-fnRZSIRc.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-CT3zVKCE.js} +1 -1
- package/dist/web/assets/play-wI_3FLr4.js +1 -0
- package/dist/web/assets/plus-DoJe4fLj.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-Bb8ecExR.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-DXA1xp0A.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-B53QjxMO.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-V1Q4Fcqa.js} +1 -1
- package/dist/web/assets/settings-lists-CtH1A57b.js +5 -0
- package/dist/web/assets/square-BqSK-hv9.js +1 -0
- package/dist/web/assets/square-terminal-Dmgkm5zY.js +1 -0
- package/dist/web/assets/submit-issue-command-DRgUboVW.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-B-BD2K2Q.js} +1 -1
- package/dist/web/assets/{training-managed-adapter-81RrdT1k.js → training-managed-adapter-BXNwgd3P.js} +1 -1
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-14942K_Z.js} +5 -5
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-DdgIcxK3.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-82Y6RjLi.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-BgHXNpq_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-BV4CUWzJ.js → useAgentInventory-B-LNn3up.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CsKv22Hs.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-CPC2wsWm.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-DXOoDN9l.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-Clf4hKt5.js} +1 -1
- package/dist/web/assets/x-IPhrr4ju.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-I1tf8Uxx.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +28 -2
- package/package.json +2 -1
- package/dist/chunks/app-server-evaluations-HAAYVEXB.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
- package/dist/chunks/chunk-UJBEWIR3.js +0 -8
- package/dist/chunks/chunk-V67IFV26.js +0 -86
- package/dist/chunks/chunk-VSUHJ46L.js +0 -18
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
- package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
- package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
- package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-preparation-ZAOGDQXO.js +0 -3
- package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/saved-work-QA46KCME.js +0 -2
- package/dist/chunks/src-E7NWAN5B.js +0 -420
- package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/web/assets/App-Df7uYQGj.css +0 -1
- package/dist/web/assets/App-Yy3l2sdD.js +0 -56
- package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
- package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
- package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
- package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
- package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
- package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
- package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
- package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
- package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
- package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
- package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
- package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
- package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
- package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
- package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
- package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
- package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
- package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
- package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
- package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
- package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
- package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
- package/dist/web/assets/icons-kaq6k88m.js +0 -1
- package/dist/web/assets/index-DUMDOdB2.css +0 -1
- package/dist/web/assets/play-BPPQoqMl.js +0 -1
- package/dist/web/assets/plus-D18vYzHF.js +0 -1
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-BsPUniZy.js";import"./icons-kaq6k88m.js";import{Bn as r,Gn as i,Mn as a,qn as o,vn as s}from"./App-Yy3l2sdD.js";import"./MainPane-BpE7AKXu.js";var c=e(t(),1),l=n();function u({creation:e,training:t,compact:n=!1,onOpenTraining:u}){let[d,h]=(0,c.useState)(``),[g,_]=(0,c.useState)(``),v=e.state,y=!!t.busyAction;return(0,c.useEffect)(()=>{h(``),_(``)},[e.id,v]),(0,l.jsxs)(`section`,{className:n?`composer-create-strip ${m(v)} training-create-strip`:`training-approval`,"aria-label":`Training task status`,children:[n?(0,l.jsxs)(`div`,{className:`composer-create-strip-heading`,children:[v===`planning`||v===`materializing`||v===`validating`?(0,l.jsx)(a,{className:`composer-create-spin`,size:15}):v===`failed`?(0,l.jsx)(i,{size:15}):(0,l.jsx)(r,{size:15}),(0,l.jsx)(`span`,{children:f(v)}),(0,l.jsx)(`small`,{children:`training`})]}):null,v===`awaiting_disclosure_approval`?(0,l.jsxs)(`div`,{className:n?`composer-create-plan-summary`:`training-creation-content`,children:[n?null:(0,l.jsx)(`strong`,{children:`Review selected evidence with the authoring model?`}),(0,l.jsxs)(`p`,{children:[`Approve sends excerpts from `,e.request.sourceIds.length,` explicitly selected source`,e.request.sourceIds.length===1?``:`s`,` to `,e.request.analysisModel?.providerId,`/`,e.request.analysisModel?.modelId,` so it can propose a Taskset and grader. This does not start training.`]}),(0,l.jsxs)(`div`,{className:n?`composer-create-actions`:`training-inline-actions`,children:[(0,l.jsxs)(`button`,{className:n?void 0:`training-button`,disabled:y,onClick:()=>void t.actions.approveDisclosure(e.id,!0),children:[(0,l.jsx)(o,{size:13}),(0,l.jsx)(`span`,{children:`Approve evidence`})]}),(0,l.jsxs)(`button`,{className:n?void 0:`training-button secondary`,disabled:y,onClick:()=>void t.actions.approveDisclosure(e.id,!1),children:[(0,l.jsx)(s,{size:13}),(0,l.jsx)(`span`,{children:`Decline`})]}),n&&u?(0,l.jsxs)(`button`,{disabled:y,onClick:u,children:[(0,l.jsx)(r,{size:13}),(0,l.jsx)(`span`,{children:`Open Training`})]}):null]})]}):v===`awaiting_materialization_approval`&&e.proposal?(0,l.jsxs)(`div`,{className:n?`composer-create-plan-summary`:`training-creation-content`,children:[n?null:(0,l.jsx)(`strong`,{children:e.proposal.name}),(0,l.jsx)(`p`,{children:e.proposal.objective}),(0,l.jsxs)(`div`,{className:`training-creation-plan-facts`,children:[(0,l.jsx)(`span`,{children:e.proposal.taskKind.replaceAll(`_`,` `)}),(0,l.jsxs)(`span`,{children:[e.proposal.proposedGraders.length,` grader`,e.proposal.proposedGraders.length===1?``:`s`]}),(0,l.jsx)(`span`,{children:e.proposal.proposedMethod.replaceAll(`_`,` `)})]}),e.request.mode===`customize`?(0,l.jsxs)(`div`,{className:`training-question-answer`,children:[(0,l.jsx)(`input`,{value:g,onChange:e=>_(e.target.value),placeholder:`Revise tasks, graders, fixtures, or policy`}),(0,l.jsx)(`button`,{className:n?void 0:`training-button secondary`,disabled:!g.trim()||y,onClick:async()=>{let n=g;_(``),await t.actions.chatCreation(e.id,n)},children:`Revise`})]}):null,(0,l.jsxs)(`div`,{className:n?`composer-create-actions`:`training-inline-actions`,children:[(0,l.jsxs)(`button`,{className:n?void 0:`training-button`,disabled:y,onClick:()=>void t.actions.materialize(e.id,!0),children:[(0,l.jsx)(o,{size:13}),(0,l.jsx)(`span`,{children:`Materialize Taskset`})]}),u?(0,l.jsxs)(`button`,{className:n?void 0:`training-button secondary`,disabled:y,onClick:u,children:[(0,l.jsx)(r,{size:13}),(0,l.jsx)(`span`,{children:`Review details`})]}):null,(0,l.jsxs)(`button`,{className:n?void 0:`training-button secondary`,disabled:y,onClick:()=>void t.actions.materialize(e.id,!1),children:[(0,l.jsx)(s,{size:13}),(0,l.jsx)(`span`,{children:`Cancel`})]})]})]}):v===`awaiting_questions`?(0,l.jsx)(`div`,{className:n?`composer-create-question`:`training-creation-content`,children:(()=>{let r=e.blockingQuestions.find(e=>!e.answer);return r?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`p`,{children:r.prompt}),(0,l.jsxs)(`div`,{className:`training-question-answer`,children:[(0,l.jsx)(`input`,{value:d,onChange:e=>h(e.target.value)}),(0,l.jsx)(`button`,{className:n?void 0:`training-button`,disabled:!d.trim()||y,onClick:()=>void t.actions.answerQuestions(e.id,{[r.id]:d}),children:`Continue`})]})]}):null})()}):(0,l.jsxs)(`div`,{className:n?`composer-create-status-body`:`training-creation-content`,children:[(0,l.jsx)(`p`,{children:p(e)}),n&&u?(0,l.jsx)(`div`,{className:`composer-create-actions`,children:(0,l.jsxs)(`button`,{onClick:u,children:[(0,l.jsx)(r,{size:13}),(0,l.jsx)(`span`,{children:`Open Training`})]})}):null]})]})}function d({creation:e}){return(0,l.jsxs)(`section`,{className:`chat-create-receipt`,"aria-label":`Training status`,children:[(0,l.jsxs)(`div`,{className:`chat-create-receipt-heading`,children:[(0,l.jsx)(r,{size:14}),(0,l.jsx)(`span`,{children:f(e.state)}),(0,l.jsx)(`small`,{children:`training`})]}),(0,l.jsx)(`p`,{children:e.request.objective??p(e)}),(0,l.jsxs)(`div`,{className:`chat-create-receipt-facts`,children:[(0,l.jsxs)(`span`,{children:[e.request.sourceIds.length,` selected source`,e.request.sourceIds.length===1?``:`s`]}),(0,l.jsx)(`span`,{children:e.request.mode===`customize`?`guided plan`:`fast draft`})]})]})}function f(e){return e===`awaiting_disclosure_approval`?`Training evidence review`:e===`awaiting_materialization_approval`?`Training plan ready`:e===`awaiting_questions`?`Training question`:e===`materializing`?`Materializing Taskset`:e===`ready`?`Taskset ready`:e===`failed`?`Training plan failed`:e===`cancelled`?`Training plan cancelled`:`Preparing training plan`}function p(e){return e.blockedReason?e.blockedReason:e.state===`ready`?`The reviewed Taskset was materialized. Training still requires a separate approval.`:e.state===`cancelled`?`Taskset creation was cancelled.`:e.state===`planning`?`The authoring model is proposing tasks, graders, fixtures, and policy boundaries.`:`Task Creator is ${e.state.replaceAll(`_`,` `)}.`}function m(e){return e===`ready`?`success`:e===`failed`||e===`cancelled`?`danger`:e===`awaiting_disclosure_approval`||e===`awaiting_materialization_approval`||e===`awaiting_questions`?`warning`:`info`}export{u as TrainingCreationPanel,d as TrainingStatusReceipt};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{g as WorkSidebarPanel}from"./MainPane-BpE7AKXu.js";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/FilePagePreview-CTHuPzJt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-BsPUniZy.js","assets/index-DUMDOdB2.css","assets/icons-kaq6k88m.js","assets/App-Yy3l2sdD.js","assets/useQuery-ByaRC9SK.js","assets/schemas-lO3MoWQr.js","assets/common-BMjyKlX-.js","assets/settings-BKmRueaw.js","assets/client-choice-storage-BuNdhYSV.js","assets/api-client-Dgz-fOMl.js","assets/app-models-BviS9b7U.js","assets/create-pipeline-CyUZrbbO.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BHTOD1nd.js","assets/training-managed-adapter-81RrdT1k.js","assets/chunk-GAIDBPFY-BLuHpurI.js","assets/reward-checks-5AOStF27.js","assets/chat-resources-CItQ4mZD.js","assets/ponder-desktop-Dm7tOkKo.js","assets/browser-sidebar-links-ujSvTf5h.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/createLucideIcon-C4b2afqG.js","assets/chevron-down-Bnma8EMP.js","assets/chevron-right-Cxv_xBz5.js","assets/maximize-2-DUWvLap6.js","assets/plus-D18vYzHF.js","assets/refresh-cw-NXOER_CD.js","assets/AppToastContext-BB_2hRfw.js","assets/models-route-Bl_TmMl6.js","assets/PageChrome-BBnWAENV.js","assets/organization-types-PP-yuR2J.js","assets/ui-theme.generated-R0MY_Jy0.js","assets/App-Df7uYQGj.css","assets/WorkspaceMonacoEditor-DfsL1WIi.js","assets/WorkspaceMonacoEditor-C5uazxST.css","assets/WorkspacePresentationPreview-WuS_B45u.js","assets/WorkspaceFileLocation-Ai8Tz2Mz.js","assets/aiden0z-pptx-renderer.es-Bo43EjzT.js","assets/jszip.min-BWcKrrYP.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e,n as t}from"./rolldown-runtime-Dd_uD5pT.js";import{g as n,m as r,t as i}from"./index-BsPUniZy.js";import{t as a}from"./useQuery-ByaRC9SK.js";import{a as o,m as s,o as c,p as l,r as u,v as d}from"./schemas-lO3MoWQr.js";import{n as f,o as p}from"./client-choice-storage-BuNdhYSV.js";import{n as m}from"./app-models-BviS9b7U.js";import{n as h}from"./create-pipeline-CyUZrbbO.js";import{t as g}from"./query-scope-BRpcgljO.js";import"./icons-kaq6k88m.js";import{t as _}from"./createLucideIcon-C4b2afqG.js";import{A as v,E as ee,F as te,H as y,L as b,M as ne,R as x,T as S,U as re,V as ie,_ as ae,a as C,b as w,c as T,f as oe,g as se,h as ce,j as le,m as ue,n as de,o as fe,r as pe,s as me,t as he,v as ge,x as _e,y as ve}from"./training-model-data-CmVo80ZR.js";import{t as E}from"./folder-open-wJwCoIDs.js";import{t as ye}from"./info-BLWDShaz.js";import{t as be}from"./maximize-2-DUWvLap6.js";import{t as xe}from"./plus-D18vYzHF.js";import{t as Se}from"./refresh-cw-NXOER_CD.js";import{t as Ce}from"./save-BxXc21N6.js";import{n as we,r as Te}from"./AppToastContext-BB_2hRfw.js";import{$n as Ee,An as De,Bn as D,Dn as Oe,Fn as ke,Gn as O,Hn as Ae,J as k,Kn as je,Mn as A,On as j,Qn as M,Rr as Me,St as Ne,_n as Pe,_t as Fe,bt as Ie,dt as Le,er as Re,ft as ze,gt as Be,ht as Ve,jn as N,mt as He,qn as Ue,rr as P,vn as F,vt as We,wn as Ge,xt as Ke,yt as qe,zn as I,zr as Je}from"./App-Yy3l2sdD.js";import{n as L,t as R}from"./WorkspaceFileLocation-Ai8Tz2Mz.js";var Ye=u([`local`,`sandbox`]),Xe=u([`pinned`,`saved_for_later`]),Ze=s({id:d().min(1),workspaceKind:Ye,workspaceId:d().min(1),workspaceName:d().min(1),path:d().min(1),status:Xe,order:l().int().nonnegative().nullable().default(null),sourceSessionId:d().min(1).nullable().default(null),available:c().default(!0),createdAt:d().min(1),updatedAt:d().min(1)});s({items:o(Ze)}),s({workspaceKind:Ye,workspaceId:d().trim().min(1),workspaceName:d().trim().min(1),path:d().trim().min(1),status:u([`pinned`,`saved_for_later`,`none`]),order:l().int().nonnegative().nullable().optional(),sourceSessionId:d().trim().min(1).nullable().optional()}),u([`pin`,`save_for_later`,`remove`,`list`]);function Qe(e){let t=e.trim().replaceAll(`\\`,`/`);if(t=t.replace(/^(?:workspace|sandbox):file:/,``),t=t.replace(/^\/workspace\/app\//,``),t=t.replace(/^\.\//,``),!t||t.startsWith(`/`))throw Error(`File path must be relative to the workspace.`);let n=t.split(`/`).filter(e=>e&&e!==`.`);if(n.some(e=>e===`..`))throw Error(`File path cannot leave the workspace.`);if(n.length===0)throw Error(`File path is required.`);return n.join(`/`)}function $e(e){return[`sidebar-file`,e.workspaceKind,encodeURIComponent(e.workspaceId),encodeURIComponent(Qe(e.path))].join(`:`)}var et=_(`text-align-start`,[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M17 19H3`,key:`z6ezky`}]]),tt=_(`chevrons-up`,[[`path`,{d:`m17 11-5-5-5 5`,key:`e8nh98`}],[`path`,{d:`m17 18-5-5-5 5`,key:`2avn1x`}]]),nt=_(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),rt=_(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),it=_(`panel-top`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]),at=_(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),ot=_(`redo-2`,[[`path`,{d:`m15 14 5-5-5-5`,key:`12vg1m`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`,key:`6uklza`}]]),st=_(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),z=e(n(),1),B=r();function ct({createRuntime:e,goalRuntime:t,subagentRuntime:n=null,onRunSubagentLifecycleAction:r}){let i=e?`Create/Improve Details`:`Goal Details`,a=e?U(e.run.state):n?.activeCount?n.label:t?.actionLabel??`No active goal`;return(0,B.jsxs)(`div`,{className:`goal-details-view`,"aria-label":i,children:[(0,B.jsxs)(`div`,{className:`goal-details-header`,children:[(0,B.jsxs)(`div`,{className:`goal-details-title`,children:[(0,B.jsx)(D,{size:15,"aria-hidden":`true`}),(0,B.jsx)(`span`,{children:i})]}),(0,B.jsx)(`span`,{className:`goal-details-state ${Pt(e?.run.state??null)}`,children:a})]}),(0,B.jsx)(`div`,{className:`goal-details-body`,children:e?(0,B.jsx)(lt,{runtime:e}):t||n?(0,B.jsx)(dt,{goalRuntime:t,subagentRuntime:n,onRunSubagentLifecycleAction:r}):(0,B.jsx)(kt,{})})]})}function lt({runtime:e}){let t=e.run,n=t.plan,r=h(n?.metadata)??h(t.metadata),i=t.questions,a=i.filter(e=>e.status===`pending`),o=t.sourceRefs,s=t.checkRefs,c=t.state,l=t.target.kind===`agent`?t.target.defaultActionKey:null;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(H,{title:`Current Work`,children:(0,B.jsx)(At,{rows:[[`State`,U(c)],[`Operation`,t.operation],[`Target`,U(t.target.kind)],[`Name`,t.target.displayName??t.target.id??`Pending`],[`Target ID`,t.target.id??`Pending`],[`Default action`,l??n?.defaultChatAction.key??`Pending`],[`Adapter`,U(t.adapter.kind)],[`Run`,t.id],[`Revision`,String(t.revision)]]})}),(0,B.jsx)(H,{title:`Plan`,children:n?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`p`,{className:`goal-details-summary`,children:n.summary}),(0,B.jsx)(At,{rows:[[`Objective`,n.objective],[`Context`,n.capturedContextSummary],[`Status`,U(n.status)],[`Plan ID`,n.id],[`Run ID`,n.runId],[`Approval`,n.approvalId??`Pending`],[`Approved`,n.approvedAt??`Not approved`]]})]}):a.length?(0,B.jsx)(`p`,{className:`goal-details-summary`,children:`Waiting for answers before the model finalizes the Create plan.`}):(0,B.jsx)(`p`,{className:`goal-details-summary`,children:`The model is preparing the Create plan.`})}),r?(0,B.jsxs)(H,{title:`Action Shape`,children:[(0,B.jsx)(At,{rows:[[`Mode`,r.label],[`Default action`,r.defaultActionKey??`None`],[`Direct action`,r.directActionHint??`None planned`],[`Artifacts`,r.artifactPolicy]]}),(0,B.jsx)(`p`,{className:`goal-details-note`,children:r.detail})]}):null,i.length?(0,B.jsx)(H,{title:`Questions`,children:(0,B.jsx)(`div`,{className:`goal-details-list`,children:i.map(e=>(0,B.jsxs)(`article`,{className:`goal-details-list-item`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:e.title}),(0,B.jsx)(`span`,{className:`goal-details-inline-state ${e.status}`,children:U(e.status)})]}),(0,B.jsx)(`p`,{children:e.prompt}),e.answer?(0,B.jsxs)(`small`,{children:[`Answer: `,e.answer.label??e.answer.value]}):e.options.length?(0,B.jsxs)(`small`,{children:[`Options: `,e.options.map(e=>e.label).join(`, `)]}):null]},e.id))})}):null,n?.requirements.length?(0,B.jsx)(H,{title:`Setup Requirements`,children:(0,B.jsx)(`div`,{className:`goal-details-list`,children:n.requirements.map(e=>(0,B.jsxs)(`article`,{className:`goal-details-list-item`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:e.name}),(0,B.jsx)(`span`,{className:`goal-details-inline-state ${e.status}`,children:U(e.status)})]}),(0,B.jsxs)(`small`,{children:[U(e.kind),e.detail?`: ${e.detail}`:``]})]},`${e.kind}:${e.name}`))})}):null,n?.sourcePlan.length?(0,B.jsx)(H,{title:`Source Plan`,children:(0,B.jsx)(jt,{refs:n.sourcePlan.map(e=>({id:`${e.operation}:${e.path}`,primary:e.path,secondary:`${U(e.operation)}: ${e.reason}`}))})}):null,n?.checks.length?(0,B.jsx)(H,{title:`Checks`,children:(0,B.jsx)(jt,{refs:n.checks.map(e=>({id:e.name,primary:e.name,secondary:`${e.required?`Required`:`Optional`}: ${e.command}`}))})}):null,o.length||s.length?(0,B.jsx)(H,{title:`Run Refs`,children:(0,B.jsx)(jt,{refs:[...o.map(e=>({id:`source:${e}`,primary:e,secondary:`Source ref`})),...s.map(e=>({id:`check:${e}`,primary:e,secondary:`Check ref`}))]})}):null,(0,B.jsx)(ut,{run:t}),t.blockedReason?(0,B.jsx)(H,{title:`Blocked`,children:(0,B.jsxs)(`div`,{className:`goal-details-alert`,children:[(0,B.jsx)(O,{size:15}),(0,B.jsx)(`span`,{children:t.blockedReason})]})}):null,(0,B.jsx)(H,{title:`Raw State`,children:(0,B.jsxs)(`details`,{className:`goal-details-raw`,children:[(0,B.jsx)(`summary`,{children:`Show structured payload`}),(0,B.jsx)(`pre`,{children:JSON.stringify(t,null,2)})]})})]})}function ut({run:e}){let t=[...e.context.attachments.map(e=>({id:`attachment:${e.id??e.name}`,primary:e.name,secondary:e.ref??e.mediaType??`Attachment`})),...e.context.apps.map(e=>({id:`app:${e.id}`,primary:e.name,secondary:e.required?`Required app context`:`Optional app context`})),...e.context.tools.map(e=>({id:`tool:${e.name}`,primary:e.name,secondary:e.outputSummary??e.inputSummary??`Tool context`})),...e.context.targetRepoAssumptions.map(e=>({id:`target:${e}`,primary:e,secondary:`Target assumption`}))],n=e.workflowCapture,r=n?[...n.files.map(e=>({id:`workflow-file:${e}`,primary:e,secondary:`Captured file`})),...n.outputArtifacts.map(e=>({id:`workflow-artifact:${e}`,primary:e,secondary:`Output artifact`})),...n.traceRefs.map(e=>({id:`workflow-trace:${e}`,primary:e,secondary:`Trace`}))]:[];return!t.length&&!r.length?null:(0,B.jsx)(H,{title:`Context`,children:(0,B.jsx)(jt,{refs:[...t,...r]})})}function dt({goalRuntime:e,subagentRuntime:t,onRunSubagentLifecycleAction:n}){return(0,B.jsxs)(B.Fragment,{children:[e?(0,B.jsxs)(H,{title:`Goal`,children:[(0,B.jsx)(`p`,{className:`goal-details-summary`,children:e.objective}),(0,B.jsx)(At,{rows:[[`Status`,e.actionLabel],[`Runtime`,e.timeLabel],[`Detail`,e.detail]]})]}):null,t?(0,B.jsx)(ft,{runtime:t,onRunSubagentLifecycleAction:n}):null,(0,B.jsx)(H,{title:`Raw State`,children:(0,B.jsxs)(`details`,{className:`goal-details-raw`,children:[(0,B.jsx)(`summary`,{children:`Show structured payload`}),(0,B.jsx)(`pre`,{children:JSON.stringify({goalRuntime:e,subagentRuntime:t},null,2)})]})})]})}function ft({runtime:e,onRunSubagentLifecycleAction:t}){let[n,r]=(0,z.useState)(null),[i,a]=(0,z.useState)(null);Te(i);let o=async(e,n)=>{if(!t)return;let i=`${e}:${n}`;r(i),a(null);try{await t({runId:e,action:n})}catch(e){a(e instanceof Error?e.message:String(e))}finally{r(e=>e===i?null:e)}};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(H,{title:`Subagents`,children:[(0,B.jsx)(At,{rows:[[`Latest update`,yt(e)],[`Active`,String(e.activeCount)],[`Completed`,String(e.completedCount)],[`Failed`,String(e.failedCount)],[`Cancelled`,String(e.cancelledCount)],[`Paused`,String(e.needsResumeCount)],[`Terminal`,String(e.terminalCount)],[`Usage`,bt(e.usage.totalTokens,e.usage.requestCount)],[`Evidence`,String(e.evidenceRefs.length)],[`Checks`,String(e.testsRunCount)]]}),e.blockers.length>0?(0,B.jsx)(`ul`,{className:`goal-details-list compact`,children:e.blockers.slice(0,4).map(e=>(0,B.jsxs)(`li`,{className:`goal-details-list-item`,children:[(0,B.jsx)(`span`,{className:`goal-details-inline-state ${e.status}`,children:e.status}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:xt(e.roleId)}),(0,B.jsx)(`p`,{children:e.message})]})]},`${e.runId}:${e.message}`))}):null,(0,B.jsx)(`ul`,{className:`goal-details-list`,children:e.runs.slice(0,8).map(e=>(0,B.jsxs)(`li`,{className:`goal-details-list-item`,children:[(0,B.jsx)(`span`,{className:`goal-details-inline-state ${e.status}`,children:e.status}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:xt(e.roleId)}),(0,B.jsx)(`p`,{children:e.objective}),e.report?.summary?(0,B.jsx)(`small`,{children:e.report.summary}):null,t?(0,B.jsx)(mt,{pendingAction:n,run:e,onRun:o}):null]})]},e.id))})]}),e.finalResults.length>0?(0,B.jsx)(pt,{results:e.finalResults}):null]})}function pt({results:e}){return(0,B.jsx)(H,{title:`Child Results`,children:(0,B.jsx)(`ol`,{className:`goal-details-task-graph`,children:e.slice(0,6).map(e=>(0,B.jsxs)(`li`,{className:`goal-details-task-node`,children:[(0,B.jsxs)(`div`,{className:`goal-details-task-node-header`,children:[(0,B.jsx)(`span`,{className:`goal-details-inline-state ${e.status}`,children:e.status}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:xt(e.roleId)}),(0,B.jsx)(`small`,{children:e.objective})]})]}),(0,B.jsx)(`p`,{children:e.summary}),(0,B.jsxs)(`div`,{className:`goal-details-task-node-meta`,children:[(0,B.jsxs)(`span`,{children:[e.refs.length,` refs`]}),(0,B.jsxs)(`span`,{children:[e.testsRun.length+e.validationAttempts.length,` checks`]}),(0,B.jsxs)(`span`,{children:[e.blockers.length,` blockers`]}),(0,B.jsx)(`span`,{children:e.confidence?`${U(e.confidence)} confidence`:`Confidence unknown`})]}),e.findings.length>0?(0,B.jsxs)(`small`,{children:[`Findings: `,Tt(e.findings,3)]}):null,e.changedFiles.length>0?(0,B.jsxs)(`small`,{children:[`Files: `,Tt(e.changedFiles,4)]}):null,e.testsRun.length>0?(0,B.jsxs)(`small`,{children:[`Tests: `,Tt(e.testsRun,3)]}):null,e.validationAttempts.length>0?(0,B.jsxs)(`small`,{children:[`Validation: `,Tt(e.validationAttempts,2)]}):null,e.refs.length>0?(0,B.jsxs)(`small`,{children:[`Refs: `,Tt(e.refs.map(St),4)]}):null,e.blockers.length>0?(0,B.jsxs)(`small`,{children:[`Blockers: `,Tt(e.blockers,3)]}):null,e.workspaceRetention?(0,B.jsxs)(`small`,{children:[`Workspace: `,wt(e.workspaceRetention)]}):null,e.importantMessages.length>0?(0,B.jsxs)(`small`,{children:[`Messages: `,Tt(e.importantMessages.map(Ct),2)]}):null]},e.runId))})})}function mt({pendingAction:e,run:t,onRun:n}){let r=ht(t);return r.length===0?null:(0,B.jsx)(`div`,{className:`goal-details-actions`,children:r.map(r=>{let i=e===`${t.id}:${r}`;return(0,B.jsx)(`button`,{type:`button`,disabled:!!e,onClick:()=>void n(t.id,r),children:i?`Working...`:gt(r)},r)})})}function ht(e){let t=[],n=_t(e),r=vt(e);return n&&t.push(`cleanup`),r&&t.push(`archive`),t}function gt(e){return e===`cleanup`?`Clean`:e===`archive`?`Archive`:`Clean + archive`}function _t(e){if(!V(e))return!1;let t=Mt(e.metadata);if(!t?.subagentWorkspace&&!t?.workspaceHandoff)return!1;let n=Nt(Mt(Mt(t.lifecycleCleanup)?.workspaceCleanup)?.status);return n!==`removed`&&n!==`deleted`&&n!==`retained`&&n!==`skipped`}function vt(e){if(!e.childSessionId||!V(e))return!1;let t=Nt(Mt(Mt(e.metadata)?.childSessionArchive)?.status);return t!==`archived`&&t!==`already_archived`}function V(e){return e.status===`completed`||e.status===`failed`||e.status===`cancelled`}function yt(e){let t=e.latestMeaningfulUpdate;return t?`${xt(t.roleId)} ${t.status}: ${t.message}`:`No structured update`}function bt(e,t){if(e<=0&&t<=0)return`0 tokens`;let n=`${t} ${t===1?`request`:`requests`}`;return`${Et(e)} tokens · ${n}`}function xt(e){return e.slice(0,1).toUpperCase()+e.slice(1).replace(/[-_]+/g,` `)}function St(e){return`${e.kind}: ${e.label}`}function Ct(e){return`${U(e.kind)}: ${e.body}`}function wt(e){return`retained ${e.expiresAt?`until ${Dt(e.expiresAt)}`:`for inspection`}${e.trigger?` · ${U(e.trigger)}`:``}`}function Tt(e,t){let n=e.slice(0,t),r=e.length-n.length;return r>0?`${n.join(`, `)} +${r}`:n.join(`, `)}function Et(e){if(e<1e3)return String(e);if(e>=1e6){let t=e/1e6;return`${Ot(t,t<10?2:1)}M`}let t=e/1e3;return`${Ot(t,+(t<10))}k`}function Dt(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString([],{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function Ot(e,t){return e.toFixed(t).replace(/\.0+$/,``).replace(/(\.\d*?)0+$/,`$1`)}function kt(){return(0,B.jsxs)(`div`,{className:`goal-details-empty`,children:[(0,B.jsx)(D,{size:18}),(0,B.jsx)(`span`,{children:`No active Goal or Create workflow.`})]})}function H({children:e,title:t}){return(0,B.jsxs)(`section`,{className:`goal-details-section`,children:[(0,B.jsx)(`h2`,{children:t}),e]})}function At({rows:e}){return(0,B.jsx)(`dl`,{className:`goal-details-grid`,children:e.map(([e,t])=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:e}),(0,B.jsx)(`dd`,{children:t})]},e))})}function jt({refs:e}){return(0,B.jsx)(`ul`,{className:`goal-details-ref-list`,children:e.map(e=>(0,B.jsxs)(`li`,{children:[(0,B.jsx)(`code`,{title:e.primary,children:e.primary}),(0,B.jsx)(`span`,{children:e.secondary})]},e.id))})}function Mt(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function Nt(e){return typeof e==`string`&&e.trim()?e.trim():null}function U(e){return e.split(/[_-]/g).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Pt(e){return e===`ready_local`||e===`published_hosted`?`success`:e===`blocked`||e===`failed`||e===`cancelled`?`danger`:e===`awaiting_questions`||e===`awaiting_plan_approval`?`warning`:`active`}function Ft({sandboxId:e,connection:t}){let[n,r]=(0,z.useState)(null),[i,a]=(0,z.useState)([]),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(null),[u,d]=(0,z.useState)(null),[f,p]=(0,z.useState)(null);Te(u,{prefix:`Sandbox`}),Te(f,{prefix:`Sandbox integrations`});let m=n?.integrationLeases??[],h=(0,z.useMemo)(()=>i.filter(e=>e.status===`active`),[i]),g=(0,z.useMemo)(()=>Rt(n),[n]),_=(0,z.useCallback)(async()=>{if(!t)d(`OpenPond App server is not connected.`);else if(!e)r(null),a([]),d(null);else{s(`summary`),d(null);try{let n=await P.sandbox(t,e),i=await P.integrationConnections(t,It(n.sandbox));r(n.sandbox),a(i.connections),p(null)}catch(e){d(e instanceof Error?e.message:String(e))}finally{s(null)}}},[t,e]),v=(0,z.useCallback)(async()=>{if(t&&n){l(`load`),p(null);try{let[e,i]=await Promise.all([P.integrationConnections(t,It(n)),P.sandboxIntegrationLeases(t,n.id)]);a(e.connections),r(i.sandbox)}catch(e){p(e instanceof Error?e.message:String(e))}finally{l(null)}}},[t,n]),ee=(0,z.useCallback)(async e=>{if(!t||!n)return;let i=Je(e.provider),a=i?Me(i):null,o=a?.leasePolicy.allowedCapabilityIds??[];if(!i||!a?.leasePolicy.leaseable||o.length===0)p(`${W(e.provider)} cannot be attached to this sandbox.`);else{l(`attach:${e.id}`),p(null);try{let i=await P.attachSandboxIntegrationConnection(t,n.id,{connectionId:e.id,provider:e.provider,capabilities:o,...e.scopes.length>0?{scopes:e.scopes}:{},...a.leasePolicy.defaultTtlSeconds?{ttlSeconds:a.leasePolicy.defaultTtlSeconds}:{},required:!1});r(i.sandbox)}catch(e){p(e instanceof Error?e.message:String(e))}finally{l(null)}}},[t,n]),y=(0,z.useCallback)(async e=>{if(t&&n){l(`remove:${e}`),p(null);try{let i=await P.removeSandboxIntegrationLease(t,n.id,e);r(i.sandbox)}catch(e){p(e instanceof Error?e.message:String(e))}finally{l(null)}}},[t,n]);return(0,z.useEffect)(()=>{_()},[_]),e?(0,B.jsxs)(`div`,{className:`sandbox-summary-tab`,children:[(0,B.jsxs)(`section`,{className:`sandbox-workspace-section`,children:[(0,B.jsxs)(`div`,{className:`sandbox-workspace-heading`,children:[(0,B.jsx)(`h3`,{children:`Sandbox`}),(0,B.jsxs)(`div`,{className:`sandbox-workspace-heading-actions`,children:[n?(0,B.jsx)(`span`,{children:n.state}):null,(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Refresh summary`,"aria-label":`Refresh summary`,disabled:o!==null,onClick:()=>void _(),children:o===`summary`?(0,B.jsx)(A,{className:`spinning`,size:14}):(0,B.jsx)(Se,{size:14})})]})]}),n?(0,B.jsxs)(`dl`,{className:`sandbox-workspace-kv`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:`Sandbox`}),(0,B.jsx)(`dd`,{children:Wt(n.id)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:`Spend`}),(0,B.jsxs)(`dd`,{children:[Kt(n.reservation.capturedUsd),` / `,Kt(n.budget.maxUsd)]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:`Reservation`}),(0,B.jsx)(`dd`,{children:n.reservation.status})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:`Idle cleanup`}),(0,B.jsx)(`dd`,{children:n.quotas?.idleTimeoutSeconds?`${Math.round(n.quotas.idleTimeoutSeconds/60)} min`:`-`})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:`Updated`}),(0,B.jsx)(`dd`,{children:Gt(n.updatedAt)})]}),g?(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:`Receipt`}),(0,B.jsxs)(`dd`,{children:[Wt(g.id),` / `,Kt(g.totalUsd)]})]}):null]}):(0,B.jsxs)(`div`,{className:`sandbox-workspace-loading`,children:[o===`summary`?(0,B.jsx)(A,{className:`spinning`,size:16}):null,(0,B.jsx)(`span`,{children:o===`summary`?`Loading sandbox`:`Sandbox unavailable`})]})]}),(0,B.jsxs)(`section`,{className:`sandbox-workspace-section`,children:[(0,B.jsxs)(`div`,{className:`sandbox-workspace-heading`,children:[(0,B.jsx)(`h3`,{children:`Integrations`}),(0,B.jsxs)(`div`,{className:`sandbox-workspace-heading-actions`,children:[(0,B.jsx)(`span`,{children:m.length}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Refresh integrations`,"aria-label":`Refresh integrations`,disabled:c!==null||!n,onClick:()=>void v(),children:c===`load`?(0,B.jsx)(A,{className:`spinning`,size:14}):(0,B.jsx)(Se,{size:14})})]})]}),m.length>0?(0,B.jsx)(`div`,{className:`sandbox-workspace-integration-list`,children:m.map(e=>(0,B.jsxs)(`div`,{className:`sandbox-workspace-integration-row`,children:[(0,B.jsxs)(`div`,{className:`sandbox-workspace-integration-main`,children:[(0,B.jsx)(`span`,{children:W(e.provider)}),(0,B.jsxs)(`small`,{children:[e.required?`required`:`optional`,` / `,Vt(e),` / `,Lt(e)]})]}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Revoke ${W(e.provider)} lease`,"aria-label":`Revoke ${W(e.provider)} lease`,disabled:c!==null,onClick:()=>void y(e.leaseId),children:c===`remove:${e.leaseId}`?(0,B.jsx)(A,{className:`spinning`,size:14}):(0,B.jsx)(te,{size:14})}),(0,B.jsxs)(`div`,{className:`sandbox-workspace-chip-row`,children:[e.capabilities.slice(0,5).map(t=>(0,B.jsx)(`span`,{children:Bt(e.provider,t)},t)),e.capabilities.length>5?(0,B.jsxs)(`span`,{children:[`+`,e.capabilities.length-5]}):null]})]},e.leaseId))}):(0,B.jsx)(`p`,{className:`sandbox-workspace-empty`,children:`No active integration leases.`}),h.length>0?(0,B.jsx)(`div`,{className:`sandbox-workspace-integration-list`,children:h.map(e=>{let t=m.some(t=>t.provider===e.provider),n=zt(e)?.leasePolicy.allowedCapabilityIds.length??0;return(0,B.jsxs)(`div`,{className:`sandbox-workspace-integration-row compact`,children:[(0,B.jsxs)(`div`,{className:`sandbox-workspace-integration-main`,children:[(0,B.jsx)(`span`,{children:Ht(e)}),(0,B.jsx)(`small`,{children:Ut(e,n)})]}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:t?`${W(e.provider)} already attached`:`Attach ${W(e.provider)}`,"aria-label":t?`${W(e.provider)} already attached`:`Attach ${W(e.provider)}`,disabled:t||c!==null||n===0,onClick:()=>void ee(e),children:c===`attach:${e.id}`?(0,B.jsx)(A,{className:`spinning`,size:14}):(0,B.jsx)(at,{size:14})})]},e.id)})}):(0,B.jsx)(`p`,{className:`sandbox-workspace-empty`,children:`No connected accounts available.`})]})]}):(0,B.jsx)(`div`,{className:`sandbox-summary-tab`,children:(0,B.jsx)(`p`,{className:`sandbox-workspace-empty`,children:`No sandbox is attached yet.`})})}function It(e){return{status:`active`}}function Lt(e){return e.proxyUrl?`runtime proxy available`:`metadata only, no runtime proxy`}function Rt(e){return e?.receipts?.at(-1)??null}function zt(e){let t=Je(e.provider);return t?Me(t):null}function W(e){let t=Je(e),n=t?Me(t):null;return n?n.label:e===`microsoft_teams`?`Microsoft Teams`:e?e.replace(/_/g,` `):`Integration`}function Bt(e,t){let n=Je(e);return(n?Me(n):null)?.capabilities.find(e=>e.id===t)?.label??t}function Vt(e){return e.expiresAt?`expires ${Gt(e.expiresAt)}`:`active`}function Ht(e){let t=e.providerAccountName?.trim();return t?`${W(e.provider)} / ${t}`:W(e.provider)}function Ut(e,t){let n=[];return e.providerWorkspaceName&&n.push(e.providerWorkspaceName),n.push(`${t} lease ${t===1?`capability`:`capabilities`}`),e.scopes.length>0&&n.push(`${e.scopes.length} ${e.scopes.length===1?`scope`:`scopes`}`),n.join(` / `)}function Wt(e){return e.length>10?`${e.slice(0,8)}...`:e}function Gt(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.valueOf())?`-`:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}).format(t)}function Kt(e){let t=Number(e??0);return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`,maximumFractionDigits:t>=10?2:4}).format(Number.isFinite(t)?t:0)}function qt({summary:e}){let t=me(e.taskset),n=e.taskset.learningSignals.demonstrations.filter(e=>e.approved).length,r=e.taskset.tasks.filter(e=>e.split===`frozen_eval`).length,i=e.plan?.recipe.method===`sft`||e.plan?.recipe.method===`grpo`?e.plan.recipe:null,a=oe(e.taskset,e.plan),o=e.job?T(e.job.status,e.job.completedAt,e.job.updatedAt):null;return(0,B.jsxs)(`div`,{className:`training-sidebar-summary`,children:[(0,B.jsxs)(`header`,{children:[(0,B.jsx)(`h2`,{children:C(e.taskset.name,t)}),(0,B.jsx)(`span`,{children:e.job?fe(e.job.status):e.taskset.readiness?.ready?`Ready to train`:`Needs review`})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{children:`Run`}),(0,B.jsxs)(`dl`,{children:[(0,B.jsx)(G,{label:`Primary recommendation`,value:t.toUpperCase()}),(0,B.jsx)(G,{label:`Training stage`,value:a}),(0,B.jsx)(G,{label:`Base model`,value:i?.baseModel.id??`Not selected`}),(0,B.jsx)(G,{label:`Compute`,value:e.plan?he(e.plan.destinationId):`Not selected`}),(0,B.jsx)(G,{label:`Started`,value:de(e.job?.startedAt??null)}),(0,B.jsx)(G,{label:`Duration`,value:pe(e.job?.startedAt??null,o)})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{children:`Data`}),(0,B.jsxs)(`dl`,{children:[(0,B.jsx)(G,{label:`Training examples`,value:String(n)}),(0,B.jsx)(G,{label:`Test examples`,value:String(r)}),(0,B.jsx)(G,{label:`Dataset sources`,value:String(e.taskset.sourceRefs.length)})]})]}),i?(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{children:`Recipe`}),(0,B.jsxs)(`dl`,{children:[i.method===`grpo`?(0,B.jsx)(G,{label:`RL loss`,value:i.loss.method===`gspo-token`?`GSPO-token`:i.loss.method.toUpperCase()}):null,(0,B.jsx)(G,{label:`LoRA rank`,value:String(i.lora.rank)}),(0,B.jsx)(G,{label:`Learning rate`,value:String(i.optimizer.learningRate)}),(0,B.jsx)(G,{label:`Optimizer steps`,value:String(i.optimizer.maxSteps)}),(0,B.jsx)(G,{label:i.method===`grpo`?`Prompt length`:`Sequence length`,value:String(i.method===`grpo`?i.dataset.maxPromptTokens:i.dataset.maxSequenceLength)})]})]}):null,(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{children:`Result`}),(0,B.jsxs)(`dl`,{children:[(0,B.jsx)(G,{label:`Adapter`,value:e.lineage?`${a} ready`:`Not created`}),(0,B.jsx)(G,{label:`Evaluation`,value:e.lineage?.frozenEvaluationArtifactId?`Completed`:`Not completed`}),(0,B.jsx)(G,{label:`Artifacts`,value:String(e.artifacts.length)})]})]})]})}function G({label:e,value:t}){return(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`dt`,{children:e}),(0,B.jsx)(`dd`,{children:t})]})}function Jt(e){let t=Yt(``,``,`folder`);for(let n of e){let e=n.endsWith(`/`),r=n.split(`/`).filter(Boolean);if(r.length===0)continue;let i=t,a=``;for(let t=0;t<r.length;t+=1){let n=r[t];a=a?`${a}/${n}`:n;let o=!e&&t===r.length-1?`file`:`folder`,s=`${o}:${n}`,c=i.childMap.get(s);c||(c=Yt(n,a,o),i.childMap.set(s,c),i.children.push(c)),i=c}}return Xt(t.children)}function Yt(e,t,n){return{name:e,path:t,type:n,children:[],childMap:new Map}}function Xt(e){return e.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`folder`?-1:1).map(e=>({name:e.name,path:e.path,type:e.type,children:Xt(e.children)}))}function Zt({className:e,currentStatus:t,onSetStatus:n}){let r=t===`pinned`,i=t===`saved_for_later`;return(0,B.jsxs)(`span`,{className:`workspace-file-bookmark-actions ${e??`workspace-file-heading-actions`}`,children:[(0,B.jsx)(`button`,{type:`button`,className:r?`active`:void 0,"data-tooltip":r?`Unpin file`:`Pin file`,"aria-label":r?`Unpin file`:`Pin file`,"aria-pressed":r,onClick:()=>n(r?`none`:`pinned`),children:r?(0,B.jsx)(Oe,{size:14}):(0,B.jsx)(j,{size:14})}),(0,B.jsx)(`button`,{type:`button`,className:i?`active`:void 0,"data-tooltip":i?`Remove from Save for later`:`Save file for later`,"aria-label":i?`Remove from Save for later`:`Save file for later`,"aria-pressed":i,onClick:()=>n(i?`none`:`saved_for_later`),children:i?(0,B.jsx)(Ee,{size:14}):(0,B.jsx)(Re,{size:14})})]})}function Qt({changedByPath:e,expandedFolderPaths:t,rootPath:n,repoFiles:r,selectedPath:i,getFileBookmarkStatus:a,onOpenFile:o,onSetFileBookmarkStatus:s,onToggleFolder:c}){let l=(0,z.useMemo)(()=>Jt(r),[r]);return(0,B.jsxs)(`div`,{className:`workspace-file-tree-view`,children:[(0,B.jsxs)(`div`,{className:`workspace-file-tree-header`,children:[(0,B.jsx)(E,{size:14}),(0,B.jsx)(`strong`,{title:n??void 0,children:n?n.split(`/`).at(-1):`Files`}),(0,B.jsx)(`span`,{children:r.length})]}),(0,B.jsx)(`div`,{className:`workspace-file-tree`,children:l.map(r=>(0,B.jsx)(K,{changedByPath:e,expandedFolderPaths:t,node:r,rootPath:n,selectedPath:i,getFileBookmarkStatus:a,onOpenFile:o,onSetFileBookmarkStatus:s,onToggleFolder:c},`${r.type}:${r.path}`))})]})}function K({changedByPath:e,depth:t=0,expandedFolderPaths:n,node:r,rootPath:i,selectedPath:a,getFileBookmarkStatus:o,onOpenFile:s,onSetFileBookmarkStatus:c,onToggleFolder:l}){let u=i?`${i}/${r.path}`:r.path,d=r.type===`folder`&&n.has(u),f=e.get(u),p=2+t*11;return r.type===`folder`?(0,B.jsxs)(`div`,{className:`workspace-file-tree-node`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`workspace-file-tree-row folder`,"aria-expanded":d,style:{paddingLeft:p},onClick:()=>l(u),children:[d?(0,B.jsx)(E,{size:14}):(0,B.jsx)(I,{size:14}),(0,B.jsx)(`span`,{children:r.name})]}),d&&r.children.map(r=>(0,B.jsx)(K,{changedByPath:e,depth:t+1,expandedFolderPaths:n,node:r,rootPath:i,selectedPath:a,getFileBookmarkStatus:o,onOpenFile:s,onSetFileBookmarkStatus:c,onToggleFolder:l},`${r.type}:${r.path}`))]}):(0,B.jsxs)(`div`,{className:`workspace-file-tree-row file ${f?`changed`:``} ${a===u?`selected`:``}`,style:{paddingLeft:p},children:[(0,B.jsxs)(`button`,{type:`button`,className:`workspace-file-tree-row-main`,title:u,onClick:()=>s(u),children:[(0,B.jsx)(x,{size:13}),(0,B.jsx)(`span`,{children:r.name}),f&&(0,B.jsxs)(`small`,{children:[(0,B.jsxs)(`span`,{className:`diff-addition`,children:[`+`,f.additions]}),(0,B.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,f.deletions]})]})]}),/\.html?$/i.test(u)&&(0,B.jsx)(`button`,{type:`button`,className:`workspace-file-tree-bookmark-actions`,title:`View source`,"aria-label":`View source for ${r.name}`,onClick:()=>s(u,{source:!0}),children:`</>`}),c?(0,B.jsx)(Zt,{className:`workspace-file-tree-bookmark-actions`,currentStatus:o?.(u)??null,onSetStatus:e=>c(u,e)}):null]})}function $t({diff:e,expandedFolderPaths:t,rootPath:n,repoFiles:r,selectedPath:i,getFileBookmarkStatus:a,onOpenFile:o,onSetFileBookmarkStatus:s,onToggleFolder:c}){let l=e?.files??[],u=(0,z.useMemo)(()=>new Map(l.map(e=>[e.path,e])),[l]),d=n?.replace(/^\/+|\/+$/g,``)||null,f=(0,z.useMemo)(()=>{if(!d)return r;let e=`${d}/`;return r.filter(t=>t.startsWith(e)).map(t=>t.slice(e.length)).filter(Boolean)},[d,r]);return(0,B.jsx)(`div`,{className:`workspace-diff-files-view`,children:(0,B.jsx)(Qt,{changedByPath:u,expandedFolderPaths:t,rootPath:d,repoFiles:f,selectedPath:i,getFileBookmarkStatus:a,onOpenFile:o,onSetFileBookmarkStatus:s,onToggleFolder:c})})}function en({collapsed:e,editorControlsVisible:t,hideWhiteSpace:n,loadFullFiles:r,renderMarkdown:i,wordDiffs:a,wordWrap:o,onClose:s,onCopyGitApply:c,onRefresh:l,onToggleCollapsed:u,onToggleEditorControlsVisible:d,onToggleHideWhiteSpace:f,onToggleLoadFullFiles:p,onToggleRenderMarkdown:m,onToggleWordDiffs:h,onToggleWordWrap:g}){return(0,B.jsxs)(`div`,{className:`workspace-diff-options-menu`,role:`menu`,children:[(0,B.jsx)(q,{icon:(0,B.jsx)(Se,{size:14}),label:`Refresh`,onClick:l,onClose:s}),(0,B.jsx)(q,{checked:o,icon:(0,B.jsx)(re,{size:14}),label:`Enable word wrap`,onClick:g,onClose:s}),(0,B.jsx)(q,{checked:e,icon:(0,B.jsx)(tt,{size:14}),label:`Collapse all diffs`,onClick:u,onClose:s}),(0,B.jsx)(`div`,{className:`workspace-diff-menu-divider`}),(0,B.jsx)(q,{checked:t,icon:(0,B.jsx)(it,{size:14}),label:`Show editor controls`,onClick:d,onClose:s}),(0,B.jsx)(q,{checked:i,icon:(0,B.jsx)(M,{size:14}),label:`Render Markdown`,onClick:m,onClose:s}),(0,B.jsx)(q,{checked:!r,icon:(0,B.jsx)(D,{size:14}),label:`Show diffs first`,onClick:p,onClose:s}),(0,B.jsx)(q,{checked:a,icon:(0,B.jsx)(et,{size:14}),label:`Enable word diffs`,onClick:h,onClose:s}),(0,B.jsx)(q,{checked:n,icon:(0,B.jsx)(rt,{size:14}),label:`Hide white space`,onClick:f,onClose:s}),(0,B.jsx)(q,{icon:(0,B.jsx)(ie,{size:14}),label:`Copy git apply command`,onClick:c,onClose:s})]})}function q({checked:e,icon:t,label:n,onClick:r,onClose:i}){return(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{r?.(),i()},children:[t,(0,B.jsx)(`span`,{children:n}),e&&(0,B.jsx)(Ue,{size:14})]})}function tn({addMenuOpen:e,expanded:t,filteredFiles:n,dirtyFilePaths:r,openFiles:i,goalDetailsAvailable:a,searchOpen:o,searchQuery:s,selectedPath:c,sideChatTabs:l=[],summaryAvailable:u,sourceStatus:d,sourceSwitcher:f,visibleTab:p,toolbarActions:m,additionalTabs:h,tabOrder:g=[],filesTabOpen:_=!0,onCloseFilesTab:v,overviewTabs:ee=[],outputsLabel:te=`Training`,activeOverviewId:y,onNewOverview:ne,onSelectOverview:x,onCloseOverview:S,getFileBookmarkStatus:re,onCloseFileTab:ie,onCloseSideChat:ae,onCloseSearch:C,onOpenFile:w,onOpenBrowser:T,onOpenSearch:oe,onOpenSideChat:se,onSearchQueryChange:ce,onSetFileBookmarkStatus:le,onSelectFile:ue,onSelectFiles:de,onSelectOutputs:fe,onSelectGoal:pe,onSelectSummary:me,onSelectSideChat:he,onToggleAddMenu:ge,onToggleExpanded:_e}){let ve=(0,z.useRef)(null),Se=(0,z.useRef)(null);(0,z.useEffect)(()=>{Se.current?.querySelector(`button[role="tab"][aria-selected="true"]`)?.scrollIntoView({block:`nearest`,inline:`nearest`})},[y,i.length,c,p]),(0,z.useEffect)(()=>{if(!e&&!o)return;function t(){e&&ge(),o&&C()}function n(e){ve.current?.contains(e.target)||t()}function r(e){e.key===`Escape`&&t()}return document.addEventListener(`pointerdown`,n),document.addEventListener(`keydown`,r),()=>{document.removeEventListener(`pointerdown`,n),document.removeEventListener(`keydown`,r)}},[e,C,ge,o]);function Ce(e){e.key===`Escape`?C():e.key===`Enter`&&(n[0]||s.trim())&&w(n[0]||s.trim())}function we(e){if(![`ArrowRight`,`ArrowLeft`,`Home`,`End`].includes(e.key))return;let t=e.target;if(!(t instanceof HTMLButtonElement)||t.getAttribute(`role`)!==`tab`)return;let n=Array.from(e.currentTarget.querySelectorAll(`button[role="tab"]`)),r=n.indexOf(t);if(r<0||n.length===0)return;e.preventDefault();let i=n[We(r,n.length,e.key)];if(!i)return;i.focus(),i.click();let a=i.id;a&&window.requestAnimationFrame(()=>document.getElementById(a)?.focus())}let Te=[...ee.map(e=>(0,B.jsxs)(`div`,{className:`workspace-diff-tab file ${p===`outputs`&&y===e?`active`:``}`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab-main`,role:`tab`,"aria-selected":p===`outputs`&&y===e,tabIndex:p===`outputs`&&y===e?0:-1,onClick:()=>x?.(e),children:[(0,B.jsx)(D,{className:`workspace-diff-tab-icon`,size:14}),(0,B.jsx)(`span`,{children:e===-1?te:`New tab`})]}),(0,B.jsx)(`button`,{type:`button`,className:`workspace-diff-tab-close`,"aria-label":e===-1?`Close ${te}`:`Close new tab`,onClick:()=>S?.(e),children:(0,B.jsx)(F,{size:12})})]},`overview-${e}`)),a?(0,B.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab ${p===`goal`?`active`:``}`,role:`tab`,"aria-selected":p===`goal`,onClick:pe,children:[(0,B.jsx)(D,{size:14}),(0,B.jsx)(`span`,{children:`Goal`})]},`goal`):null,u&&me?(0,B.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab ${p===`summary`?`active`:``}`,role:`tab`,"aria-selected":p===`summary`,onClick:me,children:[(0,B.jsx)(ye,{size:14}),(0,B.jsx)(`span`,{children:`Summary`})]},`summary`):null,_?(0,B.jsxs)(`div`,{className:`workspace-diff-tab file ${p===`files`?`active`:``}`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab-main`,role:`tab`,id:`right-sidebar-files-tab`,"aria-controls":`right-sidebar-files-panel`,"aria-selected":p===`files`,tabIndex:p===`files`?0:-1,onClick:de,children:[(0,B.jsx)(E,{className:`workspace-diff-tab-icon`,size:14}),(0,B.jsx)(`span`,{children:`Files`})]}),v?(0,B.jsx)(`button`,{type:`button`,className:`workspace-diff-tab-close`,"aria-label":`Close files tab`,onClick:v,children:(0,B.jsx)(F,{size:12})}):null]},`files`):null,...i.map(e=>(0,B.jsxs)(`div`,{className:`workspace-diff-tab file ${p===`file`&&c===e.path?`active`:``}`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab-main`,role:`tab`,"aria-selected":p===`file`&&c===e.path,title:e.path,onClick:()=>ue(e.path),children:[(0,B.jsx)(D,{className:`workspace-diff-tab-icon`,size:13}),r.has(e.path)&&(0,B.jsx)(`span`,{className:`workspace-diff-tab-dirty`,"aria-hidden":`true`}),(0,B.jsx)(`span`,{children:L(e.path)})]}),le?(0,B.jsx)(Zt,{className:`workspace-diff-tab-bookmark-actions`,currentStatus:re?.(e.path)??null,onSetStatus:t=>le(e.path,t)}):null,(0,B.jsx)(`button`,{type:`button`,className:`workspace-diff-tab-close`,title:`Close ${e.path}`,onClick:t=>ie(e.path,t),children:(0,B.jsx)(F,{size:12})})]},e.path)),...l.map(e=>(0,B.jsxs)(`div`,{className:`workspace-diff-tab right-chat-tab`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab-main`,role:`tab`,id:`right-chat-tab-${e.id}`,"aria-controls":`right-chat-panel-${e.id}`,"aria-selected":!1,tabIndex:-1,title:e.title,onClick:()=>he?.(e.id),children:[e.running?(0,B.jsx)(`span`,{className:`right-chat-status-dot`,"aria-label":`Running`}):null,(0,B.jsx)(`span`,{children:e.title})]}),ae?(0,B.jsx)(`button`,{type:`button`,className:`workspace-diff-tab-close`,title:`Close ${e.title}`,"aria-label":`Close ${e.title}`,onClick:t=>{t.stopPropagation(),ae(e.id)},children:(0,B.jsx)(F,{size:12})}):null]},e.id))].filter(e=>e!==null),Ee=new Map(g.map((e,t)=>[e,t]));return Te.sort((e,t)=>(Ee.get(String(e.key))??g.length)-(Ee.get(String(t.key))??g.length)),(0,B.jsxs)(`div`,{className:`workspace-diff-topbar`,children:[(0,B.jsxs)(`div`,{className:`workspace-diff-tabs`,role:`tablist`,"aria-label":`Right sidebar views`,ref:Se,onKeyDown:we,children:[Te,h]}),(0,B.jsxs)(`div`,{className:`workspace-diff-add-anchor`,ref:ve,children:[(0,B.jsx)(`button`,{type:`button`,className:`workspace-diff-add-tab ${!ne&&(e||o)?`active`:``}`,title:`Add`,"aria-label":ne?`New tab`:`Add to right sidebar`,onClick:ne??ge,children:(0,B.jsx)(xe,{size:15})}),e&&(0,B.jsxs)(`div`,{className:`workspace-diff-add-menu`,role:`menu`,children:[fe?(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:fe,children:[(0,B.jsx)(D,{size:14}),(0,B.jsx)(`span`,{children:`Training`}),(0,B.jsx)(`kbd`,{})]}):null,se?(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:se,children:[(0,B.jsx)(N,{size:14}),(0,B.jsx)(`span`,{children:`New task`}),(0,B.jsx)(`kbd`,{})]}):null,(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:de,children:[(0,B.jsx)(E,{size:14}),(0,B.jsx)(`span`,{children:`Files`}),(0,B.jsx)(`kbd`,{})]}),u&&me?(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:me,children:[(0,B.jsx)(ye,{size:14}),(0,B.jsx)(`span`,{children:`Summary`}),(0,B.jsx)(`kbd`,{})]}):null,(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:oe,children:[(0,B.jsx)(Ge,{size:14}),(0,B.jsx)(`span`,{children:`Open file`}),(0,B.jsx)(`kbd`,{children:`Ctrl+P`})]}),T?(0,B.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:T,children:[(0,B.jsx)(ke,{size:14}),(0,B.jsx)(`span`,{children:`Browser`}),(0,B.jsx)(`kbd`,{children:`Ctrl+I`})]}):null]}),o&&(0,B.jsxs)(`div`,{className:`workspace-file-search-popover`,children:[(0,B.jsx)(`input`,{autoFocus:!0,placeholder:`Search files`,value:s,onChange:e=>ce(e.target.value),onKeyDown:Ce}),(0,B.jsx)(`span`,{children:`Files`}),(0,B.jsx)(`div`,{className:`workspace-file-search-results`,children:n.length===0?(0,B.jsx)(`small`,{children:`Type to search for files`}):n.map(e=>(0,B.jsx)(`button`,{type:`button`,onClick:()=>w(e),children:e},e))})]})]}),p!==`outputs`&&(f||d)?(0,B.jsxs)(`div`,{className:`workspace-diff-source-bar`,"aria-label":`Workspace source`,children:[f?(0,B.jsx)(`div`,{className:`workspace-diff-source-toggle`,role:`group`,"aria-label":`File source`,children:f.options.map(e=>(0,B.jsx)(`button`,{type:`button`,className:f.value===e.value?`active`:``,"aria-pressed":f.value===e.value,onClick:()=>f.onChange(e.value),children:e.label},e.value))}):null,d?(0,B.jsx)(`span`,{className:`workspace-diff-source-status ${d.tone}`,children:d.label}):null]}):null,m,(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:t?`Restore files panel`:`Expand files panel`,"aria-label":t?`Restore files panel`:`Expand files panel`,onClick:_e,children:t?(0,B.jsx)(b,{size:14}):(0,B.jsx)(be,{size:14})})]})}function nn({inline:e=!1,canCheckActiveFile:t,canSaveActiveFile:n,collapsed:r,editorControlsVisible:i,editorDiagnosticStatus:a,editorDiagnosticsChecking:o,hideWhiteSpace:s,loadFullFiles:c,menuOpen:l,renderMarkdown:u,showEditorCommandBar:d,showRenderMarkdownToggle:f,splitView:p,wordDiffs:m,wordWrap:h,onCopyGitApply:g,onEditorCheck:_,onEditorRedo:v,onEditorSave:ee,onEditorUndo:te,onRefresh:y,onToggleCollapsed:b,onToggleEditorControlsVisible:ne,onToggleHideWhiteSpace:x,onToggleLoadFullFiles:S,onToggleMenu:re,onToggleRenderMarkdown:ie,onToggleSplitView:ae,onToggleWordDiffs:C,onToggleWordWrap:w}){return(0,B.jsx)(`div`,{className:`workspace-diff-toolbar ${e?`inline`:``}`,children:(0,B.jsxs)(`div`,{className:`workspace-diff-toolbar-actions`,children:[(0,B.jsxs)(`div`,{className:`workspace-diff-menu-anchor`,children:[(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Diff options`,"aria-haspopup":`menu`,"aria-expanded":l,onClick:()=>re(),children:(0,B.jsx)(De,{size:15})}),l&&(0,B.jsx)(en,{collapsed:r,editorControlsVisible:i,hideWhiteSpace:s,loadFullFiles:c,renderMarkdown:u,wordDiffs:m,wordWrap:h,onClose:()=>re(!1),onCopyGitApply:g,onRefresh:y,onToggleCollapsed:b,onToggleEditorControlsVisible:ne,onToggleHideWhiteSpace:x,onToggleLoadFullFiles:S,onToggleRenderMarkdown:ie,onToggleWordDiffs:C,onToggleWordWrap:w})]}),d&&(0,B.jsxs)(`div`,{className:`workspace-editor-command-bar`,"aria-label":`Editor controls`,children:[(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Save file`,"aria-label":`Save file`,disabled:!n,onClick:ee,children:(0,B.jsx)(Ce,{size:14})}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Undo`,"aria-label":`Undo`,onClick:te,children:(0,B.jsx)(st,{size:14})}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Redo`,"aria-label":`Redo`,onClick:v,children:(0,B.jsx)(ot,{size:14})}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:`Check file`,"aria-label":`Check file`,disabled:!t,onClick:_,children:o?(0,B.jsx)(A,{className:`spinning`,size:14}):(0,B.jsx)(je,{size:14})}),a&&(0,B.jsxs)(`span`,{className:`workspace-editor-diagnostic-chip ${a.severity}`,children:[a.severity===`error`||a.severity===`warning`||a.severity===`unavailable`?(0,B.jsx)(O,{size:13}):(0,B.jsx)(je,{size:13}),(0,B.jsx)(`span`,{children:a.label})]})]}),f&&(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button ${u?`active`:``}`,title:u?`Show Markdown source`:`Render Markdown`,"aria-label":u?`Show Markdown source`:`Render Markdown`,"aria-pressed":u,onClick:ie,children:(0,B.jsx)(M,{size:14})}),(0,B.jsx)(`button`,{type:`button`,className:`diff-icon-button ${p?`active`:``}`,title:p?`Show unified diff`:`Show split diff`,"aria-label":p?`Show unified diff`:`Show split diff`,"aria-pressed":p,onClick:ae,children:(0,B.jsx)(nt,{size:14})})]})})}var rn=class{pending=new Map;cancelled=new Set;receive(e,t){let n=t?.loadId;if(n===void 0)return`open`;let r=this.pending.get(e);return t?.loading?(r!==void 0&&r!==n&&this.cancelled.add(r),this.pending.set(e,n),`open`):this.cancelled.delete(n)||r!==void 0&&r!==n?`ignore`:(this.pending.delete(e),r===void 0?`open`:`complete`)}close(e){let t=this.pending.get(e);t!==void 0&&this.cancelled.add(t),this.pending.delete(e)}retain(e){for(let t of this.pending.keys())e.has(t)||this.close(t)}};function an({connection:e,workspaceId:t,sandboxId:n,file:r,dirty:i,onReload:o}){let s=w(r.path)||t,c=we(),[l,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(!1),p=(0,z.useRef)(!0);(0,z.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let[m,h]=(0,z.useState)(r.readVersion),_=(0,z.useRef)(null),v=a({queryKey:[`open-file-version`,g(e),n??s,r.path],enabled:!!(e&&(n||s)),queryFn:async()=>{if(!n)return P.workspaceFileVersion(e,s,r.path);let t=r.path.includes(`/`)?r.path.slice(0,r.path.lastIndexOf(`/`))||`/`:`.`,{files:i}=await P.sandboxFiles(e,n,{path:t,recursive:!1}),a=i.find(e=>e.path===r.path||e.path.split(`/`).pop()===r.path.split(`/`).pop());if(!a)return{exists:!1,revision:null};let o=`${a.sizeBytes}:${a.updatedAt}`;if(r.readStamp===o)return{exists:!0,revision:r.readVersion??null};if(_.current?.stamp===o)return{exists:!0,revision:_.current.revision??null};let c=await ue(e,n,r.path);return _.current={stamp:o,revision:c.readVersion},{exists:!0,revision:c.readVersion??null}},refetchInterval:5e3,refetchOnWindowFocus:!0}),ee=v.refetch;(0,z.useEffect)(()=>{let t=!1;return f(!1),(async()=>{let i=r.contentEncoding===`base64`&&r.content?await ve(r.content):r.readVersion;t||(h(i),e&&(n||s)&&await ee(),t||f(!0))})().catch(()=>{t||f(!0)}),()=>{t=!0}},[ee,e,r.content,r.contentEncoding,r.readVersion,n,s]),(0,z.useEffect)(()=>{m===void 0&&!r.content&&v.data&&h(v.data.revision)},[m,r.content,v.data]);let te=d&&m!==void 0&&!v.isError&&v.data?.exists&&m!==v.data.revision;async function y(){if(e&&(n||s)&&!l&&(!i||window.confirm(`Discard unsaved edits and refresh this file from disk?`))){u(!0);try{let t=await v.refetch();if(t.error)throw t.error;if(!n&&k(r.path)){let n=/^(?:[~/\\]|[A-Za-z]:)/.test(r.path)?await P.signLocalImageUrl(e,{path:r.path}):await P.signWorkspaceImageUrl(e,{appId:s,path:r.path}),i=new URL(n.url);if(i.searchParams.set(`refresh`,String(Date.now())),!p.current)return;o({...r,readVersion:t.data?.revision},i.href)}else{let i=n?await ue(e,n,r.path):await P.workspaceFile(e,s,r.path);if(!p.current)return;o(i,k(r.path)&&i.contentEncoding===`base64`&&i.content?`data:image/${/\.jpe?g$/i.test(r.path)?`jpeg`:r.path.split(`.`).pop()};base64,${i.content}`:void 0),h(i.readVersion??t.data?.revision)}v.refetch()}catch(e){p.current&&c?.(e instanceof Error?e.message:`Could not refresh file.`,`error`)}finally{p.current&&u(!1)}}}return!te&&!l?null:(0,B.jsxs)(`button`,{type:`button`,className:`workspace-file-refresh`,disabled:l||!e||!n&&!s,onClick:()=>void y(),"aria-label":`Reload updated file`,title:te?`The file changed. Reload to show the latest version.`:`Reload this file from disk`,children:[(0,B.jsx)(Se,{size:14,className:l?`spinning`:void 0}),(0,B.jsx)(`span`,{children:l?`Reloading…`:`Reload`})]})}var on={cjs:`typescript`,css:`css`,html:`html`,js:`typescript`,json:`json`,jsx:`typescript`,md:`markdown`,mjs:`typescript`,py:`python`,sh:`shell`,ts:`typescript`,tsx:`typescript`,yaml:`yaml`,yml:`yaml`};function sn(e){let t=e.split(`/`).pop()?.toLowerCase()??``;return t===`dockerfile`?`shell`:t===`readme`||t===`readme.md`?`markdown`:on[t.includes(`.`)?t.split(`.`).pop()??``:``]??`text`}function cn(e,t){return e?t===`markdown`?ln(e):t===`json`?J(e,/("(?:\\.|[^"\\])*"(?=\s*:)|"(?:\\.|[^"\\])*"|[-]?\b\d+(?:\.\d+)?\b|\btrue\b|\bfalse\b|\bnull\b|[{}[\]:,])/g):t===`css`?J(e,/(\/\*.*?\*\/|#[\da-fA-F]{3,8}\b|--[\w-]+|[.#]?[\w-]+(?=\s*:)|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b\d+(?:\.\d+)?(?:px|rem|em|%|vh|vw)?\b|[{}():;,])/g):t===`html`?J(e,/(<!--.*?-->|<\/?[\w-]+|[\w:-]+(?==)|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[<>/=])/g):t===`shell`?J(e,/(#.*$|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b(?:cd|cp|export|git|npm|pnpm|bun|yarn|rm|mkdir|test|if|then|fi|for|do|done|echo)\b|\$[\w_]+|&&|\|\||[|&;=])/g):t===`python`?J(e,/(#.*$|"""[\s\S]*?"""|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b(?:class|def|return|if|elif|else|for|while|try|except|finally|with|as|import|from|None|True|False|async|await|lambda|yield)\b|\b[A-Z][\w]*\b|\b\d+(?:\.\d+)?\b|[+\-*/%=<>!&|.:,()[\]{}]+)/g):J(e,/(\/\/.*$|\/\*.*?\*\/|`(?:\\.|[^`\\])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b(?:abstract|as|async|await|boolean|break|case|catch|class|const|continue|default|else|enum|export|extends|false|finally|for|from|function|if|import|in|interface|let|new|null|number|of|return|string|switch|throw|true|try|type|undefined|void|while)\b|\b[A-Z][\w]*\b|\b\d+(?:\.\d+)?\b|[+\-*/%=<>!&|?:.,()[\]{}]+)/g):[{text:` `,kind:`plain`}]}function ln(e){return/^\s{0,3}#{1,6}\s/.test(e)?[{text:e,kind:`keyword`}]:/^\s*[-*+]\s/.test(e)?[{text:e,kind:`property`}]:J(e,/(`[^`]+`|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\)|https?:\/\/\S+)/g)}function un(e){return/^(\/\/|#|\/\*|<!--)/.test(e)?`comment`:/^["'`]/.test(e)?`string`:/^[-]?\d/.test(e)||/^#[\da-fA-F]{3,8}\b/.test(e)?`number`:/^\b[A-Z]/.test(e)?`type`:/^[.#]?[\w-]+$/.test(e)&&e.includes(`-`)?`property`:/^(?:[{}()[\],.:;<>/=+\-*&|!?%]+)$/.test(e)?`operator`:/^(?:--|\$)/.test(e)?`property`:`keyword`}function J(e,t){let n=[],r=0;for(let i of e.matchAll(t)){let t=i.index??0;t>r&&n.push({text:e.slice(r,t),kind:`plain`});let a=i[0];if(n.push({text:a,kind:un(a)}),r=t+a.length,/^(\/\/|#|<!--)/.test(a))break}return r<e.length&&n.push({text:e.slice(r),kind:`plain`}),n.length>0?n:[{text:e,kind:`plain`}]}function Y({language:e,text:t}){return(0,B.jsx)(B.Fragment,{children:cn(t,e).map((e,t)=>(0,B.jsx)(`span`,{className:`syntax-token ${e.kind}`,children:e.text},`${t}-${e.text}`))})}var dn=(0,z.lazy)(()=>i(()=>import(`./FilePagePreview-CTHuPzJt.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37])));function X({path:e,contentBase64:t}){let n=L(e),r=(0,z.useMemo)(()=>{try{let n=atob(t.replace(/\s/g,``)),r=Uint8Array.from(n,e=>e.charCodeAt(0));return new Blob([r],{type:Z(e)})}catch{return null}},[t,e]),[i,a]=(0,z.useState)(null);(0,z.useEffect)(()=>{if(!r)return;let e=URL.createObjectURL(r);return a({blob:r,url:e}),()=>URL.revokeObjectURL(e)},[r]);let o=i?.blob===r?i.url:null;return r?o?(0,B.jsxs)(`div`,{className:`workspace-document-preview`,children:[(0,B.jsxs)(`div`,{className:`workspace-document-preview-card`,children:[(0,B.jsx)(R,{path:e}),(0,B.jsxs)(`div`,{className:`workspace-document-preview-actions`,children:[(0,B.jsx)(`span`,{children:/\.pdf$/i.test(e)?`PDF`:`Word`}),(0,B.jsx)(`a`,{href:o,download:n,"aria-label":`Download document`,title:`Download document`,children:(0,B.jsx)(Ae,{size:16,"aria-hidden":`true`})})]})]}),/\.docx$/i.test(e)?(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{role:`status`,children:`Loading document…`}),children:(0,B.jsx)(dn,{thumbnail:!1,file:{path:e,content:t,contentEncoding:`base64`,status:``,additions:0,deletions:0,patch:``}})}):(0,B.jsx)(`iframe`,{src:o,title:`${e} preview`})]}):(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,role:`status`,children:`Loading document…`}):(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,children:`Document preview unavailable.`})}function Z(e){return/\.pdf$/i.test(e)?`application/pdf`:/\.docx$/i.test(e)?`application/vnd.openxmlformats-officedocument.wordprocessingml.document`:`application/msword`}var fn=`
|
|
3
|
-
|
|
4
|
-
[file truncated]`,pn=(0,z.lazy)(()=>i(()=>import(`./WorkspaceMonacoEditor-DfsL1WIi.js`).then(e=>e.t),__vite__mapDeps([38,1,2,3,39]))),mn=(0,z.lazy)(()=>i(()=>import(`./WorkspacePresentationPreview-WuS_B45u.js`),__vite__mapDeps([40,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,41,42,43]))),hn=6,gn=18,_n=22,vn=160,yn=12;function bn({collapsed:e=!1,diagnostics:t=[],draftContent:n,editable:r=!1,editorRef:i,error:a,file:o,hideWhiteSpace:s=!1,headerActions:c,imageSrc:l,loading:u,loadFullFiles:d,onOpenImage:f,onSelectBreadcrumbPath:p,onDraftContentChange:m,onLspAction:h,onSave:g,renderMarkdown:_,saveError:v,saving:ee=!1,splitView:te=!1,wordDiffs:y=!1,wordWrap:b,workspaceName:ne,workspaceRootPath:x}){Te(a,{prefix:`File preview`}),Te(v,{prefix:`Save failed`});let S=o.contentEncoding===`base64`?o.content??``:n??o.content??``,re=(0,z.useMemo)(()=>S.split(`
|
|
5
|
-
`).slice(0,800),[S]),ie=sn(o.path),ae=n!=null||o.content!=null,C=S.endsWith(fn),w=_&&ae&&Be(o.path),T=Fe(o),oe=ae&&(o.contentEncoding===`base64`||Ve(o.path))&&Cn(S);return l?(0,B.jsxs)(`div`,{className:`workspace-file-preview`,children:[(0,B.jsxs)(`div`,{className:`workspace-diff-file-heading`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(R,{path:o.path,workspaceName:ne,workspaceRootPath:x,onSelectPath:p}),(0,B.jsxs)(`span`,{className:`diff-addition`,children:[`+`,o.additions]}),(0,B.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,o.deletions]})]}),c]}),(0,B.jsx)(`div`,{className:`workspace-file-image-stage`,children:(0,B.jsx)(`button`,{type:`button`,className:`workspace-file-image-button`,"aria-label":`Open image preview for ${o.path}`,onClick:f,children:(0,B.jsx)(`img`,{alt:o.path,decoding:`async`,src:l})})})]}):!d&&o.patch||!ae&&o.patch?te?(0,B.jsx)(Sn,{collapsed:e,file:o,hideWhiteSpace:s,onSelectBreadcrumbPath:p,wordDiffs:y,wordWrap:b,headerActions:c,workspaceName:ne,workspaceRootPath:x}):(0,B.jsx)(xn,{collapsed:e,file:o,hideWhiteSpace:s,wordWrap:b,workspaceName:ne,workspaceRootPath:x,onSelectBreadcrumbPath:p,headerActions:c}):(0,B.jsxs)(`div`,{className:`workspace-file-preview ${b?`wrap`:``} ${oe?`document-only`:``}`,children:[oe?null:(0,B.jsxs)(`div`,{className:`workspace-diff-file-heading`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(R,{path:o.path,workspaceName:ne,workspaceRootPath:x,onSelectPath:p}),(0,B.jsxs)(`span`,{className:`diff-addition`,children:[`+`,o.additions]}),(0,B.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,o.deletions]})]}),(0,B.jsxs)(`span`,{className:`workspace-file-heading-end`,children:[ee?(0,B.jsx)(`span`,{className:`workspace-file-save-state`,children:`Saving`}):null,c]})]}),ae?w?(0,B.jsx)(`div`,{className:`workspace-markdown-preview`,children:(0,B.jsx)(_e,{content:S})}):T&&oe?(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,role:`status`,children:`Loading presentation…`}),children:(0,B.jsx)(mn,{path:o.path,contentBase64:S})}):oe?(0,B.jsx)(X,{path:o.path,contentBase64:S}):r&&!C?(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,children:`Loading editor`}),children:(0,B.jsx)(pn,{diagnostics:t,filePath:o.path,onChange:e=>m?.(e),onLspAction:h,onSave:()=>g?.(),ref:i,value:S,wordWrap:b})}):(0,B.jsx)(`div`,{className:`workspace-file-code`,children:re.map((e,t)=>(0,B.jsxs)(`div`,{className:`workspace-file-code-row`,children:[(0,B.jsx)(`span`,{children:t+1}),(0,B.jsx)(`code`,{children:(0,B.jsx)(Y,{language:ie,text:e||` `})})]},`${t}-${e}`))}):(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,children:u?`Loading file content…`:`No file content available.`})]})}function xn({collapsed:e=!1,file:t,hideWhiteSpace:n=!1,wordWrap:r,workspaceName:i,workspaceRootPath:a,onSelectBreadcrumbPath:o,headerActions:s}){let c=(0,z.useMemo)(()=>En(t.patch,n),[t.patch,n]),l=sn(t.path);return(0,B.jsxs)(`div`,{className:`workspace-diff-preview ${r?`wrap`:``}`,children:[(0,B.jsxs)(`div`,{className:`workspace-diff-file-heading`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(R,{path:t.path,workspaceName:i??null,workspaceRootPath:a,onSelectPath:o}),(0,B.jsxs)(`span`,{className:`diff-addition`,children:[`+`,t.additions]}),(0,B.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,t.deletions]})]}),s]}),e?(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,children:`Diff collapsed`}):(0,B.jsx)(wn,{ariaLabel:`${t.path} diff`,className:`workspace-diff-code`,emptyMessage:`No patch available.`,rows:c,renderRow:(e,t)=>e.kind===`spacer`?(0,B.jsx)(`div`,{className:`workspace-diff-spacer`,role:`row`,children:e.label},`${e.label}-${t}`):(0,B.jsxs)(`div`,{className:`workspace-diff-code-row ${e.kind}`,role:`row`,children:[(0,B.jsx)(`span`,{className:`workspace-diff-line-number`,role:`cell`,children:e.newLine||e.oldLine}),(0,B.jsx)(`code`,{role:`cell`,children:(0,B.jsx)(Y,{language:l,text:e.newContent||e.oldContent||` `})})]},`${e.oldLine}-${e.newLine}-${t}`),wordWrap:r})]})}function Sn({collapsed:e,file:t,hideWhiteSpace:n,wordDiffs:r,wordWrap:i,workspaceName:a,workspaceRootPath:o,onSelectBreadcrumbPath:s,headerActions:c}){let l=(0,z.useMemo)(()=>En(t.patch,n),[t.patch,n]),u=sn(t.path);return(0,B.jsxs)(`div`,{className:`workspace-diff-preview split ${i?`wrap`:``} ${r?`word-diffs`:``}`,children:[(0,B.jsxs)(`div`,{className:`workspace-diff-file-heading`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(R,{path:t.path,workspaceName:a,workspaceRootPath:o,onSelectPath:s}),(0,B.jsxs)(`span`,{className:`diff-addition`,children:[`+`,t.additions]}),(0,B.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,t.deletions]})]}),(0,B.jsxs)(`span`,{className:`workspace-file-heading-end`,children:[c,(0,B.jsx)(y,{size:14})]})]}),e?(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,children:`Diff collapsed`}):(0,B.jsx)(wn,{ariaLabel:`${t.path} split diff`,className:`workspace-split-code`,emptyMessage:`No patch available.`,rows:l,renderRow:(e,t)=>e.kind===`spacer`?(0,B.jsx)(`div`,{className:`workspace-diff-spacer split`,role:`row`,children:e.label},`${e.label}-${t}`):(0,B.jsxs)(`div`,{className:`workspace-split-row ${e.kind}`,role:`row`,children:[(0,B.jsx)(`span`,{className:`workspace-diff-line-number old`,role:`cell`,children:e.oldLine}),(0,B.jsx)(`code`,{className:`old`,role:`cell`,children:(0,B.jsx)(Y,{language:u,text:e.oldContent||` `})}),(0,B.jsx)(`span`,{className:`workspace-diff-line-number new`,role:`cell`,children:e.newLine}),(0,B.jsx)(`code`,{className:`new`,role:`cell`,children:(0,B.jsx)(Y,{language:u,text:e.newContent||` `})})]},`${e.oldLine}-${e.newLine}-${t}`),wordWrap:i})]})}function Cn(e){return e.length>0&&/^[A-Za-z0-9+/=\s]+$/.test(e)}function wn({ariaLabel:e,className:t,emptyMessage:n,rows:r,renderRow:i,wordWrap:a}){let o=!a&&r.length>vn,{endIndex:s,offsetTop:c,scrollRef:l,startIndex:u,totalHeight:d}=Tn(r.length,o);return r.length===0?(0,B.jsx)(`div`,{className:t,role:`table`,"aria-label":e,children:(0,B.jsx)(`div`,{className:`workspace-diff-code-empty`,children:n})}):o?(0,B.jsx)(`div`,{className:`${t} virtualized`,ref:l,role:`table`,"aria-label":e,"aria-rowcount":r.length,children:(0,B.jsx)(`div`,{className:`workspace-diff-virtual-spacer`,style:{height:d},children:(0,B.jsx)(`div`,{className:`workspace-diff-virtual-window`,style:{transform:`translateY(${c}px)`},children:r.slice(u,s).map((e,t)=>i(e,u+t))})})}):(0,B.jsx)(`div`,{className:t,role:`table`,"aria-label":e,children:r.map(i)})}function Tn(e,t){let n=(0,z.useRef)(null),[r,i]=(0,z.useState)({height:968,scrollTop:0}),a=(0,z.useCallback)(()=>{let e=n.current;e&&i({height:e.clientHeight||968,scrollTop:e.scrollTop})},[]);if((0,z.useEffect)(()=>{if(!t)return;let e=n.current;if(!e)return;a();let r=0,i=()=>{typeof window>`u`?a():(window.cancelAnimationFrame(r),r=window.requestAnimationFrame(a))};e.addEventListener(`scroll`,i,{passive:!0});let o=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>i());return o?.observe(e),()=>{e.removeEventListener(`scroll`,i),o?.disconnect(),typeof window<`u`&&window.cancelAnimationFrame(r)}},[t,a]),!t)return{endIndex:e,offsetTop:0,scrollRef:n,startIndex:0,totalHeight:e*_n};let o=Math.ceil(r.height/_n),s=Math.max(0,Math.floor(r.scrollTop/_n)-yn);return{endIndex:Math.min(e,s+o+24),offsetTop:s*_n,scrollRef:n,startIndex:s,totalHeight:e*_n}}function En(e,t){if(!e.trim())return[];let n=[],r=0,i=0,a=null,o=null,s=!1,c=[];function l(){n.push(...Dn(c)),c=[]}function u(){s&&=(l(),a=r,o=i,!1)}for(let d of e.split(`
|
|
6
|
-
`)){let e=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(d);if(e){u();let t=Number(e[1]),c=Number(e[2]);if(a!==null&&o!==null){let e=Math.max(t-a,c-o,0);e>0&&n.push({kind:`spacer`,label:On(e)})}r=t,i=c,s=!0;continue}if(d.startsWith(`diff --git`)||d.startsWith(`index `)||d.startsWith(`--- `)||d.startsWith(`+++ `)||!s||d.startsWith(`\\ No newline`))continue;let f=d.slice(1)||` `;if(t&&!f.trim())continue;if(d.startsWith(`+`)){l(),n.push({kind:`addition`,oldLine:``,newLine:String(i||``),oldContent:``,newContent:f}),i+=1;continue}if(d.startsWith(`-`)){l(),n.push({kind:`deletion`,oldLine:String(r||``),newLine:``,oldContent:f,newContent:``}),r+=1;continue}let p=d.startsWith(` `)?d.slice(1)||` `:d||` `;(!t||p.trim())&&(c.push({kind:`context`,oldLine:String(r||``),newLine:String(i||``),oldContent:p,newContent:p}),r+=1,i+=1)}return u(),n}function Dn(e){if(e.length<gn)return e;let t=e.length-12;return t<=0?e:[...e.slice(0,hn),{kind:`spacer`,label:On(t)},...e.slice(-6)]}function On(e){return`${e} unmodified ${e===1?`line`:`lines`}`}var kn=`openpond.workspace.editorControlsVisible`;function An(){try{return f.getItem(kn)===`true`}catch{return!1}}function jn(e){try{f.setItem(kn,String(e))}catch{}}function Mn({activeDiagnostics:e,activeServers:t,editorDiagnosticsChecking:n,editorLspEnabled:r,showEditorCommandBar:i}){if(!i)return null;if(!r)return{label:`LSP off`,severity:`unavailable`};if(n)return{label:`Checking`,severity:`info`};let a=e.filter(e=>e.severity===`error`).length;if(a>0)return{label:`${a} error${a===1?``:`s`}`,severity:`error`};let o=e.filter(e=>e.severity===`warning`).length;if(o>0)return{label:`${o} warning${o===1?``:`s`}`,severity:`warning`};let s=e.length;if(s>0)return{label:`${s} note${s===1?``:`s`}`,severity:`info`};if(!t)return null;let c=t.find(e=>e.status!==`connected`);return c?{label:c.id===`none`?`No LSP`:`${c.id} unavailable`,severity:`unavailable`}:{label:`No issues`,severity:`none`}}var Nn=t({WorkspaceDiffPanel:()=>Rn}),Pn=3e3,Fn=2e3,In=[],Ln=[];function Rn({appId:e,workspaceId:t,workspaceKind:n,connection:r,runtimeEvents:i,diff:a,editorPreferences:o,loading:s,workspaceName:c,workspaceInitialized:l,workspaceError:u,expanded:d,fileRootPath:f,filesWithPreview:p=!1,openFileRequest:m,readOnly:h=!1,sideChatTabs:g,sourceSwitcher:_,tabRequest:v,renderOutputs:ee,outputsLabel:te,additionalTabs:y,viewState:b,onRefresh:ne,onResizeStart:x,onToggleExpanded:S,onOpenBrowser:re,onOpenBrowserUrl:ie,onViewStateChange:ae,onCloseSideChat:C,onOpenSideChat:w,onSelectSideChat:T,goalDetails:oe,sandboxFileSource:se,trainingSummary:ce,sidebarFileBookmarks:le=[],sidebarFileSourceSessionId:ue=null,onSetSidebarFileStatus:de}){return(0,B.jsx)(Wn,{appId:e,workspaceId:t,workspaceKind:n,connection:r,runtimeEvents:i??[],diff:a,editorPreferences:o??null,loading:s,workspaceName:c,workspaceInitialized:l,workspaceError:u,expanded:d,fileRootPath:f??null,filesWithPreview:p,openFileRequest:m,readOnly:h,sideChatTabs:g??[],sourceSwitcher:_??null,tabRequest:v??null,additionalTabs:y,renderOutputs:ee??null,outputsLabel:te,viewState:b??null,onRefresh:ne,onResizeStart:x,onToggleExpanded:S,onOpenBrowser:re,onOpenBrowserUrl:ie,onViewStateChange:ae,onCloseSideChat:C,onOpenSideChat:w,onSelectSideChat:T,goalDetails:oe??null,sandboxFileSource:se??null,trainingSummary:ce??null,sidebarFileBookmarks:le,sidebarFileSourceSessionId:ue,onSetSidebarFileStatus:de})}function zn(e,t,n,r){return e&&t?.content!=null?{...e,content:t.content,contentType:t.contentType,contentEncoding:t.contentEncoding,readVersion:t.readVersion,readStamp:t.readStamp}:t&&!e&&Bn(t)?t:e&&Bn(e)?e:t&&Bn(t)?t:e??t??n??Ke(r)}function Bn(e){return!!(e.patch||e.content!=null)}function Vn({changedFiles:e,checkpointStatus:t,dirty:n,error:r,loading:i,preservedReadback:a,sandboxMode:o,sourcePending:s}){if(s)return{label:`sandbox pending`,tone:`loading`};if(i)return{label:`refreshing`,tone:`loading`};if(o&&a&&t)return t;if(r)return{label:`status unavailable`,tone:`error`};if(o&&t?.tone===`error`||o&&t&&!n&&e===0)return t;if(n||e>0){let t=Math.max(1,e),n=t===1?`change`:`changes`;return{label:o?`${t} unpreserved ${n}`:`${t} local ${n}`,tone:`dirty`}}return{label:o?`sandbox clean`:`local clean`,tone:`clean`}}function Hn(e,t){if(!t)return null;for(let n=e.length-1;n>=0;--n){let r=e[n];if(r?.name!==`workspace_action_result`)continue;let i=r.data&&typeof r.data==`object`&&!Array.isArray(r.data)?r.data:null,a=i?.sourcePreservation&&typeof i.sourcePreservation==`object`&&!Array.isArray(i.sourcePreservation)?i.sourcePreservation:null;if(a?.attempted===!0&&a.sandboxId===t)return a.ok===!0?a.preserved===!0?{label:`checkpoint saved`,tone:`clean`}:{label:`checkpoint clean`,tone:`clean`}:{label:`checkpoint failed`,tone:`error`}}return null}function Un(e){let t=e.split(`/`).filter(Boolean);return t.map((e,n)=>t.slice(0,n+1).join(`/`))}function Wn({appId:e,workspaceId:t,workspaceKind:n,connection:r,runtimeEvents:i,diff:a,editorPreferences:o,loading:s,workspaceName:c,workspaceInitialized:l,workspaceError:u,expanded:d,fileRootPath:f,filesWithPreview:h,openFileRequest:g,readOnly:_,sideChatTabs:te,sourceSwitcher:y,tabRequest:b,renderOutputs:x,outputsLabel:re,additionalTabs:ie,viewState:C,onRefresh:T,onResizeStart:oe,onToggleExpanded:de,onOpenBrowser:fe,onOpenBrowserUrl:pe,onViewStateChange:me,onCloseSideChat:he,onOpenSideChat:_e,onSelectSideChat:ve,goalDetails:E,sandboxFileSource:ye,trainingSummary:be,sidebarFileBookmarks:xe,sidebarFileSourceSessionId:Se,onSetSidebarFileStatus:Ce}){let we=C??ze(),[Ee,De]=(0,z.useState)(!x||b?.tab===`files`),[D,Oe]=(0,z.useState)([0]),[ke,O]=(0,z.useState)(0),Ae=(0,z.useRef)(1),[je,A]=(0,z.useState)([`overview-0`,...we.openFilePaths]),[j,M]=(0,z.useState)(b?.tab??we.activeTab),[Me,Fe]=(0,z.useState)(!1),[Re,N]=(0,z.useState)(!1),[Ue,F]=(0,z.useState)(!1),[We,Ge]=(0,z.useState)(``),[I,Je]=(0,z.useState)(()=>[...we.openFilePaths]),[L,R]=(0,z.useState)(we.selectedPath),[Ye,Xe]=(0,z.useState)(!1),[Ze,et]=(0,z.useState)(!1),[tt,nt]=(0,z.useState)(!1),[rt,it]=(0,z.useState)(!0),[at,ot]=(0,z.useState)(An);p(()=>ot(An()));let[st,lt]=(0,z.useState)(!1),[ut,dt]=(0,z.useState)(!1),[ft,pt]=(0,z.useState)(!1),[mt,ht]=(0,z.useState)({}),gt=(0,z.useRef)(new rn),[_t,vt]=(0,z.useState)({}),[V,yt]=(0,z.useState)(()=>new Set),[bt,xt]=(0,z.useState)({}),[St,Ct]=(0,z.useState)({}),[wt,Tt]=(0,z.useState)(()=>new Set),[Et,Dt]=(0,z.useState)(null),[Ot,kt]=(0,z.useState)(!1),[H,At]=(0,z.useState)(null),[jt,Mt]=(0,z.useState)({}),[Nt,U]=(0,z.useState)({}),[Pt,It]=(0,z.useState)(null),[Lt,Rt]=(0,z.useState)(null),[zt,W]=(0,z.useState)(null),[Bt,Vt]=(0,z.useState)(null);Te(u,{prefix:`Workspace`}),Te(H,{prefix:`Sandbox files`});let[Ht,Ut]=(0,z.useState)(null),[Wt,Gt]=(0,z.useState)({}),[Kt,G]=(0,z.useState)(null),[Jt,Yt]=(0,z.useState)(null),[Xt,Qt]=(0,z.useState)(null),K=o??m.editor,en=(0,z.useRef)(mt),q=(0,z.useRef)(Le(we)),on=(0,z.useRef)(Le(we)),sn=(0,z.useRef)(null),cn=(0,z.useRef)(T),ln=(0,z.useRef)(!1),un=(0,z.useRef)(null),J=(0,z.useRef)(0),Y=(0,z.useRef)(null),dn=(0,z.useRef)(null),X=ye?.sandboxId?.trim()||null,Z=!!ye,fn=!!be||Z&&!!X,pn=Z?`sandbox:${X??`pending`}`:`workspace:${e??`none`}`,mn=Z?!!X:!!(e||r&&g&&w(g.path)),hn=(0,z.useRef)(pn),gn=!!(E?.createRuntime||E?.goalRuntime||E?.subagentRuntime),_n=(0,z.useCallback)(async(e={})=>{if(Z){if(!r)Dt(null),At(`OpenPond App server is not connected.`);else if(!X)Dt(null),At(null);else{e.silent||kt(!0);try{let[e,t,n]=await Promise.allSettled([P.sandboxFiles(r,X,{recursive:!0,maxEntries:Fn}),P.sandboxGitStatus(r,X),P.sandboxGitDiff(r,X,{})]);if(e.status===`rejected`)throw e.reason;let i=se(e.value.files),a=t.status===`fulfilled`?t.value.status:null,o=n.status===`fulfilled`?n.value.diff:null,s=ce(o,a),c=s.reduce((e,t)=>e+t.additions,0),l=s.reduce((e,t)=>e+t.deletions,0);Dt({appId:X,repoPath:``,initialized:!0,dirty:a?!a.clean:s.length>0,filesChanged:s.length,additions:c,deletions:l,repoFiles:i,files:s,error:null,updatedAt:new Date().toISOString()}),At(null)}catch(e){Dt(null),At(e instanceof Error?e.message:String(e))}finally{e.silent||kt(!1)}}}},[r,X,Z]),vn=(0,z.useMemo)(()=>ae(i,X),[i,X]),yn=!!(Et&&((Et.files?.length??0)>0||(Et.repoFiles?.length??0)>0)),xn=Z&&!yn&&!!vn,Sn=Z?yn?Et:vn??Et:a,Cn=Sn?.repoPath??null,wn=(0,z.useMemo)(()=>Hn(i,X),[i,X]),Tn=Sn?.files??In,En=Sn?.files??In,Dn=(0,z.useMemo)(()=>new Map(En.map(e=>[e.path,e])),[En]),On=(0,z.useMemo)(()=>new Map(Tn.map(e=>[e.path,e])),[Tn]),kn=Sn?.repoFiles??(Tn.length>0?Tn.map(e=>e.path):Ln),Nn=(0,z.useMemo)(()=>Tn.filter(e=>!He(e,kn)),[kn,Tn]),Rn=(0,z.useMemo)(()=>Xt&&!kn.includes(Xt)?[Xt,...kn]:kn,[kn,Xt]),Bn=(0,z.useMemo)(()=>I.map(e=>Dn.get(e)??mt[e]??On.get(e)??Ke(e)),[Dn,On,mt,I]),Wn=(0,z.useMemo)(()=>{let e={};for(let t of I){if(k(t)||Ve(t))continue;let n=zn(Dn.get(t),mt[t],On.get(t),t);n.content!=null&&n.contentEncoding!==`base64`&&(e[t]=n.content)}return e},[Dn,On,mt,I]),Gn=(0,z.useMemo)(()=>{let e=new Set;for(let[t,n]of Object.entries(St))n.content!==n.savedContent&&e.add(t);return e},[St]),Kn=(0,z.useMemo)(()=>{let e=We.trim().toLowerCase(),t=Rn;return e?t.filter(t=>t.toLowerCase().includes(e)):t},[Rn,We]),qn=(0,z.useMemo)(()=>({activeTab:j,openFilePaths:I,selectedPath:L}),[j,I,L]);(0,z.useEffect)(()=>{en.current=mt},[mt]),(0,z.useEffect)(()=>{un.current=Kt},[Kt]),(0,z.useEffect)(()=>{Ct(e=>{let t=!1,n={...e},r=new Set(I),i=a?.updatedAt?Date.parse(a.updatedAt):null;for(let[e,i]of Object.entries(n))r.has(e)||i.content!==i.savedContent||(delete n[e],t=!0);for(let[e,r]of Object.entries(Wn)){let a=n[e];if(!a)n[e]={content:r,savedContent:r},t=!0;else if(a.content===a.savedContent&&a.savedContent!==r){if(a.savedAt&&(i===null||i<a.savedAt))continue;n[e]={content:r,savedContent:r},t=!0}}return t?n:e})},[a?.updatedAt,Wn,I]),(0,z.useEffect)(()=>{cn.current=T},[T]),(0,z.useEffect)(()=>{if(!C)return;let e=qe(C,Cn);V.size>0?q.current=e:Ne(q.current,e)||(q.current=e,on.current=e,M(t=>b?.tab===`outputs`&&t===`outputs`?t:e.activeTab),Je(e.openFilePaths),R(e.selectedPath))},[C,Cn,b?.tab,V]),(0,z.useEffect)(()=>{if(V.size>0||Ne(on.current,qn))return;let e=Le(qn);on.current=e,q.current=e,me?.(e)},[qn,me,V]),(0,z.useEffect)(()=>{_||Z||!r||!e||!l||a||u||ln.current||(ln.current=!0,Promise.resolve(cn.current({silent:!0})).catch(()=>{}).finally(()=>{ln.current=!1}))},[e,r,a,_,Z,u,l]),(0,z.useEffect)(()=>{if(hn.current!==pn){hn.current=pn,Y.current?.abort(Error(`lsp_diagnostics_source_changed`)),Y.current=null;let e=new Set([...V].filter(e=>w(e)&&_t[e]===null));Je(t=>t.filter(t=>e.has(t))),R(t=>t&&e.has(t)?t:null),ht(t=>Object.fromEntries(Object.entries(t).filter(([t])=>e.has(t)))),yt(e),vt(t=>Object.fromEntries(Object.entries(t).filter(([t])=>e.has(t)))),gt.current.retain(e),xt(t=>Object.fromEntries(Object.entries(t).filter(([t])=>e.has(t)))),Ct({}),Tt(new Set),Dt(null),At(null),kt(!1),Mt({}),U({}),It(null),Rt(t=>t&&e.has(t)?t:null),Vt(null),Ut(null),Gt({}),G(null),Yt(null),Qt(null)}return()=>{Y.current?.abort(Error(`lsp_diagnostics_unmounted`)),Y.current=null}},[pn]),(0,z.useEffect)(()=>{g&&sn.current!==g.id&&(g.file||mn)&&(sn.current=g.id,g.file?Zn(g.file,g.imageUrl,g.source,g):Xn(g.path,{source:g.source}))},[mn,g]),(0,z.useEffect)(()=>{if(!Z||(_n(),!r||!X))return;let e=!1;async function t(){if(!(e||ln.current)&&(typeof document>`u`||document.visibilityState!==`hidden`)){ln.current=!0;try{await _n({silent:!0})}finally{ln.current=!1}}}let n=window.setInterval(()=>{t()},Pn),i=()=>{t()};return window.addEventListener(`focus`,i),()=>{e=!0,window.clearInterval(n),window.removeEventListener(`focus`,i)}},[r,_n,X,Z]),(0,z.useEffect)(()=>{if(_||Z||!r||!e||!l)return;let t=!1;async function n(){if(!(t||ln.current)&&(typeof document>`u`||document.visibilityState!==`hidden`)){ln.current=!0;try{await cn.current({silent:!0})}catch{}finally{ln.current=!1}}}let i=window.setInterval(()=>{n()},Pn),a=()=>{n()};return window.addEventListener(`focus`,a),()=>{t=!0,window.clearInterval(i),window.removeEventListener(`focus`,a)}},[e,r,_,Z,l]),(0,z.useEffect)(()=>{if(Z||!r||!e||n===`local_project`){Qt(null);return}let t=!1;return P.workspaceTemplateConfig(r,e).then(e=>{t||Qt(e.exists?e.configPath??`openpond.config.json`:null)}).catch(()=>{t||Qt(null)}),()=>{t=!0}},[e,r,Z,n]),(0,z.useEffect)(()=>{!L||Rn.includes(L)||I.includes(L)||R(Nn[0]?.path??null)},[Nn,I,Rn,L]),(0,z.useEffect)(()=>{E?.active&&gn&&M(`goal`)},[E?.active,gn]),(0,z.useEffect)(()=>{if(b){if(b.tab===`files`&&mr(),b.tab===`outputs`){if(b.overview===`experiments`)Oe(e=>e.includes(-1)?e:[...e,-1]),O(-1),A(e=>e.includes(`overview--1`)?e:[...e,`overview--1`]);else if(b.overview===`new`){let e=D.find(e=>e!==-1)??Ae.current++;Oe(t=>t.includes(e)?t:[...t,e]),O(e),A(t=>t.includes(`overview-${e}`)?t:[...t,`overview-${e}`])}}M(b.tab)}},[b]),(0,z.useEffect)(()=>{!gn&&j===`goal`&&M(`files`)},[j,gn]),(0,z.useEffect)(()=>{!fn&&j===`summary`&&M(`files`)},[j,fn]);let Q=j===`file`||h&&j===`files`?L:null;(0,z.useEffect)(()=>{if(!r||!Q||V.has(Q))return;if(k(Q)){Vt(null),Rt(e=>e===Q?null:e);return}let t=Ht?.path===Q,n=$n(Q);if(_&&(n?.content!=null||n?.patch)||!t&&(n?.content!=null||n?.patch&&!tt)){Vt(null),Rt(e=>e===Q?null:e);return}let a=!1,o=en.current[Q];o?.content==null&&(tt||!o?.patch)&&Rt(Q),Vt(null);let s=e||w(Q);return(Z?X?ue(r,X,Q,i):Promise.reject(Error(ye?.emptyMessage??`No sandbox filesystem is available.`)):s?P.workspaceFile(r,s,Q):Promise.reject(Error(`Workspace files are unavailable.`))).then(e=>{a||ht(t=>{let n=t[e.path];return n?.content===e.content&&n.contentType===e.contentType&&n.contentEncoding===e.contentEncoding&&n.patch===e.patch&&n.status===e.status?t:{...t,[e.path]:e}})}).catch(e=>{a||Vt(e instanceof Error?e.message:String(e))}).finally(()=>{a||(Rt(e=>e===Q?null:e),Ut(e=>e&&e.id===Ht?.id&&e.path===Q?null:e))}),()=>{a=!0}},[j,e,r,Ht,tt,_,i,ye?.emptyMessage,X,Z,Q,V]);function Jn(e){let t=j===`outputs`||x&&j===`files`&&!Ee?`overview-${ke}`:null;t&&Oe(e=>e.filter(e=>e!==ke)),A(n=>n.includes(e)?t?n.filter(e=>e!==t):n:t&&n.includes(t)?n.map(n=>n===t?e:n):[...n,e])}function Yn(){if(D.some(e=>e!==-1))O(D.filter(e=>e!==-1).at(-1));else{let e=Ae.current++;Oe([e]),O(e),A(t=>[...t,`overview-${e}`])}M(`outputs`)}function Xn(t,n){W(null);let i=Z?X:e;if(ne(t)&&!n?.source&&r&&i){le(r,i,t,Z?`sandbox`:`local`).then(pe).catch(e=>W(e instanceof Error?e.message:`Could not open HTML preview.`));return}let a=Ie(t,Cn);a&&(gt.current.close(a),vt(e=>{if(!Object.hasOwn(e,a))return e;let t={...e};return delete t[a],t}),Jn(h?`files`:a),h&&De(!0),yt(e=>{if(!e.has(a))return e;let t=new Set(e);return t.delete(a),t}),ht(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),xt(e=>{if(!(a in e))return e;let t={...e};return delete t[a],t}),Ut({id:Date.now(),path:a}),h||Je(e=>e.includes(a)?e:[...e,a]),R(a),M(h?`files`:`file`),!Z&&r&&e&&k(a)&&Yt(a),N(!1),F(!1),Ge(``))}function Zn(e,t,n=!1,i){if(ne(e.path)&&e.content!=null&&!n&&r){v(r,e.path,e.content).then(pe).catch(e=>W(e instanceof Error?e.message:`Could not open HTML preview.`));return}let a=w(e.path)?e.path:Ie(e.path,Cn);if(!a)return;let o=gt.current.receive(a,i);if(o===`ignore`)return;let s=o===`complete`;if(s&&!h&&!I.includes(a))return;s||(Jn(h?`files`:a),h&&De(!0)),i?.sandboxId!==void 0&&vt(e=>({...e,[a]:i.sandboxId}));let c={...e,path:a};ht(e=>i?.loading&&e[a]?.content!=null?e:{...e,[a]:c}),yt(e=>{let t=new Set(e);return t.add(a),t}),xt(e=>{if(!t){if(!(a in e))return e;let t={...e};return delete t[a],t}return e[a]===t?e:{...e,[a]:t}}),s?(L===a&&Vt(i?.error??null),Rt(e=>e===a?null:e)):(Ut(null),Vt(i?.error??null),Rt(i?.loading?a:null),h||Je(e=>e.includes(a)?e:[...e,a]),R(a),M(h?`files`:`file`),N(!1),F(!1),Ge(``))}let Qn=(0,z.useCallback)(()=>{ot(e=>{let t=!e;return jn(t),t})},[]),$n=e=>zn(Dn.get(e),mt[e],On.get(e),e),er=(0,z.useCallback)((e,t)=>{Ct(n=>{let r=n[e],i=r?.savedContent??Wn[e]??$n(e).content??``;return{...n,[e]:{content:t,savedContent:i,savedAt:r?.savedAt}}}),Gt(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n})},[Dn,On,mt,Wn]),tr=(0,z.useCallback)(async(t,n={})=>{if(Z||!r||!e||k(t))return;let i=$n(t),a=n.content??St[t]?.content??i.content??void 0;if(a?.endsWith(`
|
|
7
|
-
|
|
8
|
-
[file truncated]`))return;let o=J.current+1;J.current=o,Y.current?.abort(Error(`lsp_diagnostics_superseded`));let s=new AbortController;Y.current=s,It(t);try{let i=await P.workspaceLspTouch(r,e,{path:t,content:a,waitForDiagnostics:n.waitForDiagnostics??!0},{signal:s.signal});if(o!==J.current)return;Mt(e=>({...e,[i.path]:i.diagnostics})),U(e=>({...e,[i.path]:i.servers}))}catch(e){if(s.signal.aborted||o!==J.current)return;let n=e instanceof Error?e.message:String(e);Mt(e=>({...e,[t]:[]})),U(e=>({...e,[t]:[{id:`lsp`,root:``,status:`error`,message:n}]}))}finally{Y.current===s&&(Y.current=null),!s.signal.aborted&&o===J.current&&It(e=>e===t?null:e)}},[e,r,Dn,On,St,mt,Z]),nr=(0,z.useCallback)(async t=>{if(Z||!r||!e)throw Error(`Workspace LSP is unavailable.`);return P.workspaceLspAction(r,e,t)},[e,r,Z]),rr=(0,z.useCallback)(async t=>{if(!r||!e&&!X||un.current===t)return;let n=St[t];if(!n||n.content===n.savedContent)return;let i=n.content,a=Date.now();un.current=t,G(t),Gt(e=>{if(!(t in e))return e;let n={...e};return delete n[t],n});try{let n=Z?await ge(r,X,t,i):await P.saveWorkspaceFile(r,e,{path:t,content:i});ht(e=>({...e,[n.path]:n})),Ct(e=>{let n=e[t];return n?{...e,[t]:{content:n.content,savedContent:i,savedAt:a}}:e}),K.languageServers!==`off`&&K.checkOnSave&&await tr(t,{content:i,waitForDiagnostics:!0}),Z?await _n({silent:!0}):await T({silent:!0})}catch(e){Gt(n=>({...n,[t]:e instanceof Error?e.message:String(e)}))}finally{un.current===t&&(un.current=null),G(e=>e===t?null:e)}},[K.checkOnSave,K.languageServers,e,r,St,T,tr,_n,X,Z]),ir=L?$n(L):null,ar=!!(L&&V.has(L)),or=L?St[L]?.content??ir?.content??null:null,sr=!(!ir?.patch||tt),cr=!(_||ar||j!==`file`||sr||!L||or==null||k(L)||Ve(L)||ir?.contentEncoding===`base64`||rt&&Be(L)||or.endsWith(`
|
|
9
|
-
|
|
10
|
-
[file truncated]`));(0,z.useEffect)(()=>{if(K.languageServers===`off`||!K.diagnosticsWhileEditing||!L||!cr||or==null)return;let e=window.setTimeout(()=>{tr(L,{content:or,waitForDiagnostics:!0})},700);return()=>window.clearTimeout(e)},[K.diagnosticsWhileEditing,K.languageServers,tr,or,cr,L]),(0,z.useEffect)(()=>{function e(e){(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&j===`file`&&L&&(e.preventDefault(),Gn.has(L)&&rr(L))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[j,Gn,rr,L]);let lr=(0,z.useCallback)(()=>{L&&(dn.current?dn.current.save():rr(L))},[rr,L]),ur=(0,z.useCallback)(()=>{dn.current?.undo()},[]),dr=(0,z.useCallback)(()=>{dn.current?.redo()},[]),fr=(0,z.useCallback)(()=>{L&&K.languageServers!==`off`&&tr(L,{content:or??void 0,waitForDiagnostics:!0})},[K.languageServers,tr,or,L]);function pr(e,t){if(t.stopPropagation(),(!Gn.has(e)||window.confirm(`Discard unsaved changes to ${e}?`))&&(Gn.has(e)&&(Ct(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n}),Gt(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n})),gt.current.close(e),vt(t=>{if(!Object.hasOwn(t,e))return t;let n={...t};return delete n[e],n}),Je(t=>t.filter(t=>t!==e)),A(t=>t.filter(t=>t!==e)),V.has(e)&&ht(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n}),xt(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n}),yt(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),L===e)){let t=Bn.findIndex(t=>t.path===e),n=Bn[t+1]??Bn[t-1]??null;R(n?.path??null),!n&&j===`file`&&(x?Yn():M(`files`))}}function mr(){Jn(`files`),De(!0),M(`files`),N(!1),F(!1)}function hr(e){Tt(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function gr(e){Jn(`files`),De(!0),e&&Tt(t=>{let n=new Set(t);for(let t of Un(e))n.add(t);return n}),M(`files`),N(!1),F(!1)}function _r(){let e=`git apply <<'PATCH'\n${Nn.map(e=>e.patch).filter(Boolean).join(`
|
|
11
|
-
`)}\nPATCH`;navigator.clipboard?.writeText(e)}let vr=Nn.length>0,yr=Rn.length>0,br=I.length>0,xr=gn||fn||vr||yr||br,$=j===`outputs`&&x?`outputs`:j===`goal`&&gn?`goal`:j===`summary`&&fn?`summary`:j===`file`&&L?`file`:x&&!Ee?`outputs`:`files`;(0,z.useEffect)(()=>{if($!==`outputs`||D.length)return;let e=Ae.current++;Oe([e]),O(e),A(t=>[...t,`overview-${e}`]),M(`outputs`)},[D.length,$]);let Sr=$===`files`?`No files to show`:`No local changes`,Cr=n===`local_project`&&!l&&!u,wr=Z?Ot:s,Tr=Z?H:u,Er=Vn({changedFiles:Sn?.filesChanged??Nn.length,checkpointStatus:wn,dirty:!!Sn?.dirty,error:Tr,loading:wr,preservedReadback:xn,sandboxMode:Z,sourcePending:Z&&!X}),Dr=wr?`Loading workspace files`:Tr?`Workspace files are unavailable`:Z&&!X?ye?.emptyMessage??`No sandbox filesystem is available.`:Cr?`Loading workspace files`:l?Sr:`No local files to show`,Or=L?bt[L]??null:null,kr=!Or&&!Z&&L&&k(L)?L:null,Ar=Jt?bt[Jt]??null:null,jr=!Ar&&!Z&&Jt&&k(Jt)?Jt:null,Mr=ee(r,e,kr),Nr=ee(r,e,jr),Pr=Or??Mr,Fr=Ar??Nr,Ir=$===`file`||h&&$===`files`?L:null,Lr=!!(Ir&&Be(Ir)),Rr=L?jt[L]??[]:[],zr=L?Nt[L]??null:null,Br=!!(L&&Pt===L),Vr=at&&cr,Hr=!_&&!ar&&!Z&&K.languageServers!==`off`,Ur=(0,z.useMemo)(()=>Mn({activeDiagnostics:Rr,activeServers:zr,editorDiagnosticsChecking:Br,editorLspEnabled:Hr,showEditorCommandBar:Vr}),[Rr,zr,Br,Hr,Vr]),Wr=(0,z.useCallback)(async e=>{if(!r)throw Error(`OpenPond server connection is unavailable.`);await P.runSubagentLifecycleAction(r,e.runId,{action:e.action,reason:`User requested from Goal details.`}),await T({silent:!0})},[r,T]),Gr=Z?`sandbox`:n===`local_project`?`local`:null,Kr=(0,z.useMemo)(()=>{let e=new Map;if(!Gr)return e;for(let n of xe)n.workspaceKind===Gr&&n.workspaceId===(t??(Gr===`local`?w(n.path):null))&&e.set(n.path,n);return e},[xe,Gr,t]),qr=(0,z.useCallback)(e=>{try{return Kr.get(Qe(e))?.status??null}catch{return null}},[Kr]),Jr=(0,z.useCallback)((e,n)=>{let r=t??(Gr===`local`?w(e):null);if(!Gr||!r||!Ce)return;let i;try{i=Qe(e)}catch{return}let a=Kr.get(i),o=new Date().toISOString();Ce(a??{id:$e({workspaceKind:Gr,workspaceId:r,path:i}),workspaceKind:Gr,workspaceId:r,workspaceName:c??`Local files`,path:i,status:`pinned`,order:null,sourceSessionId:Se,available:!0,createdAt:o,updatedAt:o},n)},[Ce,Kr,Se,Gr,t,c]),Yr=!!(Gr&&Ce&&(t||Gr===`local`&&I.some(e=>w(e)))),Xr=L&&Yr&&!ar?(0,B.jsx)(Zt,{currentStatus:qr(L),onSetStatus:e=>Jr(L,e)}):null,Zr=L?(0,B.jsxs)(`div`,{className:`workspace-active-file-preview`,children:[(0,B.jsx)(an,{file:$n(L),connection:r,workspaceId:e,sandboxId:Object.hasOwn(_t,L)?_t[L]:Z?X:null,dirty:Gn.has(L),onReload:(e,t)=>{ht(t=>({...t,[L]:{...e,path:L}})),Ct(e=>{let t={...e};return delete t[L],t}),t&&xt(e=>({...e,[L]:t})),Vt(null),!Ve(L)&&!k(L)&&nt(!0)}},`${pn}:${_t[L]??`local`}:${L}`),(0,B.jsx)(bn,{diagnostics:Hr?jt[L]??[]:[],draftContent:St[L]?.content,editorRef:dn,editable:cr&&!Pr,error:Bt,file:$n(L),collapsed:Ze,hideWhiteSpace:ut,headerActions:Xr,imageSrc:Pr,loading:Lt===L,loadFullFiles:tt,saveError:Wt[L]??null,saving:Kt===L,onOpenImage:()=>{Pr&&Yt(L)},onDraftContentChange:e=>er(L,e),onLspAction:Hr?nr:void 0,onSave:()=>void rr(L),onSelectBreadcrumbPath:gr,renderMarkdown:rt,splitView:ft,wordDiffs:st,wordWrap:Ye,workspaceName:c,workspaceRootPath:Cn})]}):null,Qr=($===`file`||h&&$===`files`)&&L&&!Ve(L)&&!k(L)&&ir?.contentEncoding!==`base64`?(0,B.jsx)(nn,{inline:!0,canSaveActiveFile:!(_||ar||!L||!Gn.has(L)||Kt===L),canCheckActiveFile:Hr,collapsed:Ze,editorControlsVisible:at,editorDiagnosticStatus:Ur,editorDiagnosticsChecking:Br,hideWhiteSpace:ut,loadFullFiles:tt,menuOpen:Me,renderMarkdown:rt,showEditorCommandBar:Vr,showRenderMarkdownToggle:Lr,splitView:ft,wordDiffs:st,wordWrap:Ye,onCopyGitApply:_r,onEditorCheck:fr,onEditorRedo:dr,onEditorSave:lr,onEditorUndo:ur,onRefresh:()=>void(Z?_n():T()),onToggleCollapsed:()=>et(e=>!e),onToggleEditorControlsVisible:Qn,onToggleHideWhiteSpace:()=>dt(e=>!e),onToggleLoadFullFiles:()=>nt(e=>!e),onToggleMenu:e=>Fe(t=>e??!t),onToggleRenderMarkdown:()=>it(e=>!e),onToggleSplitView:()=>pt(e=>!e),onToggleWordDiffs:()=>lt(e=>!e),onToggleWordWrap:()=>Xe(e=>!e)}):null;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`aside`,{className:`workspace-diff-panel ${$===`outputs`?`workspace-diff-overview`:``} ${d?`expanded`:``}`,id:`right-sidebar-files-panel`,role:`tabpanel`,"aria-label":`Workspace diffs`,children:[!d&&(0,B.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize diff panel`,onPointerDown:oe}),(0,B.jsx)(tn,{addMenuOpen:Re,expanded:d,filteredFiles:Kn,openFiles:Bn,dirtyFilePaths:Gn,goalDetailsAvailable:gn,searchOpen:Ue,searchQuery:We,selectedPath:L,sideChatTabs:te,summaryAvailable:fn,onSelectOutputs:x?()=>{Oe(e=>e.includes(-1)?e:[...e,-1]),O(-1),A(e=>e.includes(`overview--1`)?e:[...e,`overview--1`]),M(`outputs`),N(!1),F(!1)}:void 0,sourceStatus:Er,sourceSwitcher:y,visibleTab:$,additionalTabs:ie,toolbarActions:Qr,tabOrder:je,filesTabOpen:Ee,onCloseFilesTab:x?()=>{De(!1),A(e=>e.filter(e=>e!==`files`)),j===`files`&&Yn()}:void 0,overviewTabs:x?D:[],outputsLabel:re,activeOverviewId:ke,onNewOverview:x?()=>{let e=Ae.current++;Oe(t=>[...t,e]),A(t=>[...t,`overview-${e}`]),O(e),M(`outputs`),N(!1),F(!1)}:void 0,onSelectOverview:e=>{O(e),M(`outputs`)},onCloseOverview:e=>{let t=D.filter(t=>t!==e);if(Oe(t),A(t=>t.filter(t=>t!==`overview-${e}`)),e===ke&&j===`outputs`){if(t.length)O(t[t.length-1]);else if(x){let e=Ae.current++;Oe([e]),O(e),M(`outputs`),A(t=>[...t,`overview-${e}`])}else if(Bn.length&&L)M(`file`);else if(Ee)M(`files`);else{let e=Ae.current++;Oe([e]),A(t=>[...t,`overview-${e}`]),O(e)}}},getFileBookmarkStatus:Yr?qr:void 0,onCloseFileTab:pr,onCloseSideChat:he,onCloseSearch:()=>F(!1),onOpenFile:Xn,onOpenBrowser:fe?()=>{N(!1),F(!1),fe()}:void 0,onOpenSearch:()=>{N(!1),F(!0)},onOpenSideChat:_e?()=>{N(!1),F(!1),_e()}:void 0,onSearchQueryChange:Ge,onSetFileBookmarkStatus:Yr?Jr:void 0,onSelectFile:e=>{R(e),M(`file`)},onSelectFiles:mr,onSelectGoal:()=>M(`goal`),onSelectSummary:()=>{M(`summary`),N(!1),F(!1)},onSelectSideChat:ve,onToggleAddMenu:()=>{N(e=>!e),F(!1)},onToggleExpanded:de}),zt&&(0,B.jsx)(Pe,{error:zt}),x?D.map(e=>(0,B.jsx)(`div`,{className:`workspace-diff-tool-view`,hidden:$!==`outputs`||ke!==e,inert:$!==`outputs`||ke!==e,children:x(()=>{F(!0),N(!1)},e)},e)):null,$===`outputs`&&x?null:$===`goal`&&gn?(0,B.jsx)(ct,{createRuntime:E?.createRuntime??null,goalRuntime:E?.goalRuntime??null,subagentRuntime:E?.subagentRuntime??null,onRunSubagentLifecycleAction:r?Wr:void 0}):$===`summary`&&fn?be?(0,B.jsx)(qt,{summary:be}):(0,B.jsx)(Ft,{sandboxId:X,connection:r}):xr?(0,B.jsxs)(B.Fragment,{children:[$===`files`&&(h?(0,B.jsxs)(`div`,{className:`workspace-diff-files-preview-layout`,children:[(0,B.jsx)($t,{diff:Sn,expandedFolderPaths:wt,rootPath:f,repoFiles:Rn,selectedPath:L,getFileBookmarkStatus:Yr?qr:void 0,onOpenFile:Xn,onSetFileBookmarkStatus:Yr?Jr:void 0,onToggleFolder:hr}),Zr??(0,B.jsx)(`div`,{className:`workspace-diff-files-preview-empty`,children:`Select a file to review its changes.`})]}):(0,B.jsx)($t,{diff:Sn,expandedFolderPaths:wt,rootPath:f,repoFiles:Rn,selectedPath:L,getFileBookmarkStatus:Yr?qr:void 0,onOpenFile:Xn,onSetFileBookmarkStatus:Yr?Jr:void 0,onToggleFolder:hr})),$===`file`&&L&&Zr]}):(0,B.jsx)(`div`,{className:`workspace-diff-empty`,children:(0,B.jsx)(`span`,{children:Dr})})]}),(0,B.jsx)(S,{open:!!Fr,src:Fr,title:Jt??``,onClose:()=>Yt(null)})]})}export{Nn as n,nt as r,Rn as t};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-BsPUniZy.js";import{a as r,d as i,g as a,m as o,o as s,p as c,r as l,v as u,x as d}from"./schemas-lO3MoWQr.js";import"./icons-kaq6k88m.js";import{t as f}from"./createLucideIcon-C4b2afqG.js";import{t as p}from"./chevron-down-Bnma8EMP.js";import{t as m}from"./git-commit-horizontal-98y7PP6G.js";import{t as h}from"./info-BLWDShaz.js";import{t as g}from"./monitor-B6OuAu13.js";import{t as _}from"./play-BPPQoqMl.js";import{t as v}from"./refresh-cw-NXOER_CD.js";import{t as y}from"./square-Da8RuqW4.js";import{t as b}from"./upload-NXasN1wU.js";import{r as x}from"./AppToastContext-BB_2hRfw.js";import{r as S}from"./organization-types-PP-yuR2J.js";import{n as C}from"./ui-theme.generated-R0MY_Jy0.js";import{Gt as w,Hn as T,In as E,Kn as D,Ln as O,Rn as k,Sn as A,Vn as ee,Xn as te,bn as j,c as M,kn as N,l as P,nr as F,qn as I,rr as L,vn as ne,wn as re}from"./App-Yy3l2sdD.js";var R={invalid_type:`invalid_type`,too_big:`too_big`,too_small:`too_small`,invalid_format:`invalid_format`,not_multiple_of:`not_multiple_of`,unrecognized_keys:`unrecognized_keys`,invalid_union:`invalid_union`,invalid_key:`invalid_key`,invalid_element:`invalid_element`,invalid_value:`invalid_value`,custom:`custom`},ie;ie||={};function ae(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var z={},B={},V={},H;function U(){if(H)return V;H=1;function e(e){return e==null}function t(e){return typeof e==`object`&&!!e}function n(t){return Array.isArray(t)?t:e(t)?[]:[t]}function r(e,t){if(t){let n=Object.keys(t);for(let r=0,i=n.length;r<i;r+=1){let i=n[r];e[i]=t[i]}}return e}function i(e,t){let n=``;for(let r=0;r<t;r+=1)n+=e;return n}function a(e){return e===0&&1/e==-1/0}return V.isNothing=e,V.isObject=t,V.toArray=n,V.repeat=i,V.isNegativeZero=a,V.extend=r,V}var oe,W;function G(){if(W)return oe;W=1;function e(e,t){let n=``,r=e.reason||`(unknown reason)`;return e.mark?(e.mark.name&&(n+=`in "`+e.mark.name+`" `),n+=`(`+(e.mark.line+1)+`:`+(e.mark.column+1)+`)`,!t&&e.mark.snippet&&(n+=`
|
|
2
|
-
|
|
3
|
-
`+e.mark.snippet),r+` `+n):r}function t(t,n){Error.call(this),this.name=`YAMLException`,this.reason=t,this.mark=n,this.message=e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||``}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.toString=function(t){return this.name+`: `+e(this,t)},oe=t,oe}var K,se;function ce(){if(se)return K;se=1;let e=U();function t(e,t,n,r,i){let a=``,o=``,s=Math.floor(i/2)-1;return r-t>s&&(a=` ... `,t=r-s+a.length),n-r>s&&(o=` ...`,n=r+s-o.length),{str:a+e.slice(t,n).replace(/\t/g,`→`)+o,pos:r-t+a.length}}function n(t,n){return e.repeat(` `,n-t.length)+t}function r(r,i){if(i=Object.create(i||null),!r.buffer)return null;i.maxLength||(i.maxLength=79),typeof i.indent!=`number`&&(i.indent=1),typeof i.linesBefore!=`number`&&(i.linesBefore=3),typeof i.linesAfter!=`number`&&(i.linesAfter=2);let a=/\r?\n|\r|\0/g,o=[0],s=[],c,l=-1;for(;c=a.exec(r.buffer);)s.push(c.index),o.push(c.index+c[0].length),r.position<=c.index&&l<0&&(l=o.length-2);l<0&&(l=o.length-1);let u=``,d=Math.min(r.line+i.linesAfter,s.length).toString().length,f=i.maxLength-(i.indent+d+3);for(let a=1;a<=i.linesBefore&&!(l-a<0);a++){let c=t(r.buffer,o[l-a],s[l-a],r.position-(o[l]-o[l-a]),f);u=e.repeat(` `,i.indent)+n((r.line-a+1).toString(),d)+` | `+c.str+`
|
|
4
|
-
`+u}let p=t(r.buffer,o[l],s[l],r.position,f);u+=e.repeat(` `,i.indent)+n((r.line+1).toString(),d)+` | `+p.str+`
|
|
5
|
-
`,u+=e.repeat(`-`,i.indent+d+3+p.pos)+`^
|
|
6
|
-
`;for(let a=1;a<=i.linesAfter&&!(l+a>=s.length);a++){let c=t(r.buffer,o[l+a],s[l+a],r.position-(o[l]-o[l+a]),f);u+=e.repeat(` `,i.indent)+n((r.line+a+1).toString(),d)+` | `+c.str+`
|
|
7
|
-
`}return u.replace(/\n$/,``)}return K=r,K}var q,le;function J(){if(le)return q;le=1;let e=G(),t=[`kind`,`multi`,`resolve`,`construct`,`instanceOf`,`predicate`,`represent`,`representName`,`defaultStyle`,`styleAliases`],n=[`scalar`,`sequence`,`mapping`];function r(e){let t={};return e!==null&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function i(i,a){if(a||={},Object.keys(a).forEach(function(n){if(t.indexOf(n)===-1)throw new e(`Unknown option "`+n+`" is met in definition of "`+i+`" YAML type.`)}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(e){return e},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=r(a.styleAliases||null),n.indexOf(this.kind)===-1)throw new e(`Unknown kind "`+this.kind+`" is specified for "`+i+`" YAML type.`)}return q=i,q}var ue,de;function Y(){if(de)return ue;de=1;let e=G(),t=J();function n(e,t){let n=[];return e[t].forEach(function(e){let t=n.length;n.forEach(function(n,r){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=r)}),n[t]=e}),n}function r(){let e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function t(t){t.multi?(e.multi[t.kind].push(t),e.multi.fallback.push(t)):e[t.kind][t.tag]=e.fallback[t.tag]=t}for(let e=0,n=arguments.length;e<n;e+=1)arguments[e].forEach(t);return e}function i(e){return this.extend(e)}return i.prototype.extend=function(a){let o=[],s=[];if(a instanceof t)s.push(a);else if(Array.isArray(a))s=s.concat(a);else if(a&&(Array.isArray(a.implicit)||Array.isArray(a.explicit)))a.implicit&&(o=o.concat(a.implicit)),a.explicit&&(s=s.concat(a.explicit));else throw new e(`Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })`);o.forEach(function(n){if(!(n instanceof t))throw new e(`Specified list of YAML types (or a single Type object) contains a non-Type object.`);if(n.loadKind&&n.loadKind!==`scalar`)throw new e(`There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.`);if(n.multi)throw new e(`There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.`)}),s.forEach(function(n){if(!(n instanceof t))throw new e(`Specified list of YAML types (or a single Type object) contains a non-Type object.`)});let c=Object.create(i.prototype);return c.implicit=(this.implicit||[]).concat(o),c.explicit=(this.explicit||[]).concat(s),c.compiledImplicit=n(c,`implicit`),c.compiledExplicit=n(c,`explicit`),c.compiledTypeMap=r(c.compiledImplicit,c.compiledExplicit),c},ue=i,ue}var fe,pe;function me(){return pe||(pe=1,fe=new(J())(`tag:yaml.org,2002:str`,{kind:`scalar`,construct:function(e){return e===null?``:e}})),fe}var he,ge;function _e(){return ge||(ge=1,he=new(J())(`tag:yaml.org,2002:seq`,{kind:`sequence`,construct:function(e){return e===null?[]:e}})),he}var ve,X;function ye(){return X||(X=1,ve=new(J())(`tag:yaml.org,2002:map`,{kind:`mapping`,construct:function(e){return e===null?{}:e}})),ve}var be,xe;function Se(){return xe||(xe=1,be=new(Y())({explicit:[me(),_e(),ye()]})),be}var Ce,we;function Te(){if(we)return Ce;we=1;let e=J();function t(e){if(e===null)return!0;let t=e.length;return t===1&&e===`~`||t===4&&(e===`null`||e===`Null`||e===`NULL`)}function n(){return null}function r(e){return e===null}return Ce=new e(`tag:yaml.org,2002:null`,{kind:`scalar`,resolve:t,construct:n,predicate:r,represent:{canonical:function(){return`~`},lowercase:function(){return`null`},uppercase:function(){return`NULL`},camelcase:function(){return`Null`},empty:function(){return``}},defaultStyle:`lowercase`}),Ce}var Ee,De;function Oe(){if(De)return Ee;De=1;let e=J();function t(e){if(e===null)return!1;let t=e.length;return t===4&&(e===`true`||e===`True`||e===`TRUE`)||t===5&&(e===`false`||e===`False`||e===`FALSE`)}function n(e){return e===`true`||e===`True`||e===`TRUE`}function r(e){return Object.prototype.toString.call(e)===`[object Boolean]`}return Ee=new e(`tag:yaml.org,2002:bool`,{kind:`scalar`,resolve:t,construct:n,predicate:r,represent:{lowercase:function(e){return e?`true`:`false`},uppercase:function(e){return e?`TRUE`:`FALSE`},camelcase:function(e){return e?`True`:`False`}},defaultStyle:`lowercase`}),Ee}var ke,Ae;function je(){if(Ae)return ke;Ae=1;let e=U(),t=J();function n(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function r(e){return e>=48&&e<=55}function i(e){return e>=48&&e<=57}function a(e){if(e===null)return!1;let t=e.length,a=0,s=!1;if(!t)return!1;let c=e[a];if((c===`-`||c===`+`)&&(c=e[++a]),c===`0`){if(a+1===t)return!0;if(c=e[++a],c===`b`){for(a++;a<t;a++){if(c=e[a],c!==`0`&&c!==`1`)return!1;s=!0}return s&&isFinite(o(e))}if(c===`x`){for(a++;a<t;a++){if(!n(e.charCodeAt(a)))return!1;s=!0}return s&&isFinite(o(e))}if(c===`o`){for(a++;a<t;a++){if(!r(e.charCodeAt(a)))return!1;s=!0}return s&&isFinite(o(e))}}for(;a<t;a++){if(!i(e.charCodeAt(a)))return!1;s=!0}return s?isFinite(o(e)):!1}function o(e){let t=e,n=1,r=t[0];if((r===`-`||r===`+`)&&(r===`-`&&(n=-1),t=t.slice(1),r=t[0]),t===`0`)return 0;if(r===`0`){if(t[1]===`b`)return n*parseInt(t.slice(2),2);if(t[1]===`x`)return n*parseInt(t.slice(2),16);if(t[1]===`o`)return n*parseInt(t.slice(2),8)}return n*parseInt(t,10)}function s(e){return o(e)}function c(t){return Object.prototype.toString.call(t)===`[object Number]`&&t%1==0&&!e.isNegativeZero(t)}return ke=new t(`tag:yaml.org,2002:int`,{kind:`scalar`,resolve:a,construct:s,predicate:c,represent:{binary:function(e){return e>=0?`0b`+e.toString(2):`-0b`+e.toString(2).slice(1)},octal:function(e){return e>=0?`0o`+e.toString(8):`-0o`+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?`0x`+e.toString(16).toUpperCase():`-0x`+e.toString(16).toUpperCase().slice(1)}},defaultStyle:`decimal`,styleAliases:{binary:[2,`bin`],octal:[8,`oct`],decimal:[10,`dec`],hexadecimal:[16,`hex`]}}),ke}var Me,Ne;function Pe(){if(Ne)return Me;Ne=1;let e=U(),t=J(),n=RegExp(`^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`),r=RegExp(`^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function i(e){return e===null||!n.test(e)?!1:isFinite(parseFloat(e,10))?!0:r.test(e)}function a(e){let t=e.toLowerCase(),n=t[0]===`-`?-1:1;return`+-`.indexOf(t[0])>=0&&(t=t.slice(1)),t===`.inf`?n===1?1/0:-1/0:t===`.nan`?NaN:n*parseFloat(t,10)}let o=/^[-+]?[0-9]+e/;function s(t,n){if(isNaN(t))switch(n){case`lowercase`:return`.nan`;case`uppercase`:return`.NAN`;case`camelcase`:return`.NaN`}else if(t===1/0)switch(n){case`lowercase`:return`.inf`;case`uppercase`:return`.INF`;case`camelcase`:return`.Inf`}else if(t===-1/0)switch(n){case`lowercase`:return`-.inf`;case`uppercase`:return`-.INF`;case`camelcase`:return`-.Inf`}else if(e.isNegativeZero(t))return`-0.0`;let r=t.toString(10);return o.test(r)?r.replace(`e`,`.e`):r}function c(t){return Object.prototype.toString.call(t)===`[object Number]`&&(t%1!=0||e.isNegativeZero(t))}return Me=new t(`tag:yaml.org,2002:float`,{kind:`scalar`,resolve:i,construct:a,predicate:c,represent:s,defaultStyle:`lowercase`}),Me}var Fe,Ie;function Le(){return Ie||(Ie=1,Fe=Se().extend({implicit:[Te(),Oe(),je(),Pe()]})),Fe}var Z,Re;function ze(){return Re||(Re=1,Z=Le()),Z}var Be,Ve;function He(){if(Ve)return Be;Ve=1;let e=J(),t=RegExp(`^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$`),n=RegExp(`^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$`);function r(e){return e===null?!1:t.exec(e)!==null||n.exec(e)!==null}function i(e){let r=0,i=null,a=t.exec(e);if(a===null&&(a=n.exec(e)),a===null)throw Error(`Date resolve error`);let o=+a[1],s=a[2]-1,c=+a[3];if(!a[4])return new Date(Date.UTC(o,s,c));let l=+a[4],u=+a[5],d=+a[6];if(a[7]){for(r=a[7].slice(0,3);r.length<3;)r+=`0`;r=+r}if(a[9]){let e=+a[10],t=+(a[11]||0);i=(e*60+t)*6e4,a[9]===`-`&&(i=-i)}let f=new Date(Date.UTC(o,s,c,l,u,d,r));return i&&f.setTime(f.getTime()-i),f}function a(e){return e.toISOString()}return Be=new e(`tag:yaml.org,2002:timestamp`,{kind:`scalar`,resolve:r,construct:i,instanceOf:Date,represent:a}),Be}var Ue,We;function Ge(){if(We)return Ue;We=1;let e=J();function t(e){return e===`<<`||e===null}return Ue=new e(`tag:yaml.org,2002:merge`,{kind:`scalar`,resolve:t}),Ue}var Ke,qe;function Je(){if(qe)return Ke;qe=1;let e=J();function t(e){if(e===null)return!1;let t=0,n=e.length;for(let r=0;r<n;r++){let n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
8
|
-
\r`.indexOf(e.charAt(r));if(!(n>64)){if(n<0)return!1;t+=6}}return t%8==0}function n(e){let t=e.replace(/[\r\n=]/g,``),n=t.length,r=0,i=[];for(let e=0;e<n;e++)e%4==0&&e&&(i.push(r>>16&255),i.push(r>>8&255),i.push(r&255)),r=r<<6|`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
9
|
-
\r`.indexOf(t.charAt(e));let a=n%4*6;return a===0?(i.push(r>>16&255),i.push(r>>8&255),i.push(r&255)):a===18?(i.push(r>>10&255),i.push(r>>2&255)):a===12&&i.push(r>>4&255),new Uint8Array(i)}function r(e){let t=``,n=0,r=e.length,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
10
|
-
\r`;for(let a=0;a<r;a++)a%3==0&&a&&(t+=i[n>>18&63],t+=i[n>>12&63],t+=i[n>>6&63],t+=i[n&63]),n=(n<<8)+e[a];let a=r%3;return a===0?(t+=i[n>>18&63],t+=i[n>>12&63],t+=i[n>>6&63],t+=i[n&63]):a===2?(t+=i[n>>10&63],t+=i[n>>4&63],t+=i[n<<2&63],t+=i[64]):a===1&&(t+=i[n>>2&63],t+=i[n<<4&63],t+=i[64],t+=i[64]),t}function i(e){return Object.prototype.toString.call(e)===`[object Uint8Array]`}return Ke=new e(`tag:yaml.org,2002:binary`,{kind:`scalar`,resolve:t,construct:n,predicate:i,represent:r}),Ke}var Ye,Xe;function Ze(){if(Xe)return Ye;Xe=1;let e=J(),t=Object.prototype.hasOwnProperty,n=Object.prototype.toString;function r(e){if(e===null)return!0;let r=[],i=e;for(let e=0,a=i.length;e<a;e+=1){let a=i[e],o=!1;if(n.call(a)!==`[object Object]`)return!1;let s;for(s in a)if(t.call(a,s)){if(!o)o=!0;else return!1}if(!o)return!1;if(r.indexOf(s)===-1)r.push(s);else return!1}return!0}function i(e){return e===null?[]:e}return Ye=new e(`tag:yaml.org,2002:omap`,{kind:`sequence`,resolve:r,construct:i}),Ye}var Qe,$e;function et(){if($e)return Qe;$e=1;let e=J(),t=Object.prototype.toString;function n(e){if(e===null)return!0;let n=e,r=Array(n.length);for(let e=0,i=n.length;e<i;e+=1){let i=n[e];if(t.call(i)!==`[object Object]`)return!1;let a=Object.keys(i);if(a.length!==1)return!1;r[e]=[a[0],i[a[0]]]}return!0}function r(e){if(e===null)return[];let t=e,n=Array(t.length);for(let e=0,r=t.length;e<r;e+=1){let r=t[e],i=Object.keys(r);n[e]=[i[0],r[i[0]]]}return n}return Qe=new e(`tag:yaml.org,2002:pairs`,{kind:`sequence`,resolve:n,construct:r}),Qe}var tt,nt;function rt(){if(nt)return tt;nt=1;let e=J(),t=Object.prototype.hasOwnProperty;function n(e){if(e===null)return!0;let n=e;for(let e in n)if(t.call(n,e)&&n[e]!==null)return!1;return!0}function r(e){return e===null?{}:e}return tt=new e(`tag:yaml.org,2002:set`,{kind:`mapping`,resolve:n,construct:r}),tt}var it,at;function ot(){return at||(at=1,it=ze().extend({implicit:[He(),Ge()],explicit:[Je(),Ze(),et(),rt()]})),it}var st;function ct(){if(st)return B;st=1;let e=U(),t=G(),n=ce(),r=ot(),i=Object.prototype.hasOwnProperty,a=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,o=/[\x85\u2028\u2029]/,s=/[,\[\]{}]/,c=/^(?:!|!!|![0-9A-Za-z-]+!)$/,l=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function u(e){return Object.prototype.toString.call(e)}function d(e){return e===10||e===13}function f(e){return e===9||e===32}function p(e){return e===9||e===32||e===10||e===13}function m(e){return e===44||e===91||e===93||e===123||e===125}function h(e){if(e>=48&&e<=57)return e-48;let t=e|32;return t>=97&&t<=102?t-97+10:-1}function g(e){return e===120?2:e===117?4:e===85?8:0}function _(e){return e>=48&&e<=57?e-48:-1}function v(e){switch(e){case 48:return`\0`;case 97:return`\x07`;case 98:return`\b`;case 116:return` `;case 9:return` `;case 110:return`
|
|
11
|
-
`;case 118:return`\v`;case 102:return`\f`;case 114:return`\r`;case 101:return`\x1B`;case 32:return` `;case 34:return`"`;case 47:return`/`;case 92:return`\\`;case 78:return`
`;case 95:return`\xA0`;case 76:return`\u2028`;case 80:return`\u2029`;default:return``}}function y(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function b(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n}let x=Array(256),S=Array(256);for(let e=0;e<256;e++)x[e]=+!!v(e),S[e]=v(e);function C(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||r,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.maxDepth=typeof t.maxDepth==`number`?t.maxDepth:100,this.maxTotalMergeKeys=typeof t.maxTotalMergeKeys==`number`?t.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function w(e,r){let i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=n(i),new t(r,i)}function T(e,t){throw w(e,t)}function E(e,t){e.onWarning&&e.onWarning.call(null,w(e,t))}function D(e,t,n){let r=e.anchorMapTransactions;if(r.length!==0){let n=r[r.length-1];i.call(n,t)||(n[t]={existed:i.call(e.anchorMap,t),value:e.anchorMap[t]})}e.anchorMap[t]=n}function O(e){e.anchorMapTransactions.push(Object.create(null))}function k(e){let t=e.anchorMapTransactions.pop(),n=e.anchorMapTransactions;if(n.length===0)return;let r=n[n.length-1],a=Object.keys(t);for(let e=0,n=a.length;e<n;e+=1){let n=a[e];i.call(r,n)||(r[n]=t[n])}}function A(e){let t=e.anchorMapTransactions.pop(),n=Object.keys(t);for(let r=n.length-1;r>=0;--r){let i=t[n[r]];i.existed?e.anchorMap[n[r]]=i.value:delete e.anchorMap[n[r]]}}function ee(e){return{position:e.position,line:e.line,lineStart:e.lineStart,lineIndent:e.lineIndent,firstTabInLine:e.firstTabInLine,tag:e.tag,anchor:e.anchor,kind:e.kind,result:e.result}}function te(e,t){e.position=t.position,e.line=t.line,e.lineStart=t.lineStart,e.lineIndent=t.lineIndent,e.firstTabInLine=t.firstTabInLine,e.tag=t.tag,e.anchor=t.anchor,e.kind=t.kind,e.result=t.result}let j={YAML:function(e,t,n){e.version!==null&&T(e,`duplication of %YAML directive`),n.length!==1&&T(e,`YAML directive accepts exactly one argument`);let r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]);r===null&&T(e,`ill-formed argument of the YAML directive`);let i=parseInt(r[1],10),a=parseInt(r[2],10);i!==1&&T(e,`unacceptable YAML version of the document`),e.version=n[0],e.checkLineBreaks=a<2,a!==1&&a!==2&&E(e,`unsupported YAML version of the document`)},TAG:function(e,t,n){let r;n.length!==2&&T(e,`TAG directive accepts exactly two arguments`);let a=n[0];r=n[1],c.test(a)||T(e,`ill-formed tag handle (first argument) of the TAG directive`),i.call(e.tagMap,a)&&T(e,`there is a previously declared suffix for "`+a+`" tag handle`),l.test(r)||T(e,`ill-formed tag prefix (second argument) of the TAG directive`);try{r=decodeURIComponent(r)}catch{T(e,`tag prefix is malformed: `+r)}e.tagMap[a]=r}};function M(e,t,n,r){if(t<n){let i=e.input.slice(t,n);if(r)for(let t=0,n=i.length;t<n;t+=1){let n=i.charCodeAt(t);n===9||n>=32&&n<=1114111||T(e,`expected valid JSON character`)}else a.test(i)&&T(e,`the stream contains non-printable characters`);e.result+=i}}function N(t,n,r,a){e.isObject(r)||T(t,`cannot merge mappings; the provided source object is unacceptable`);let o=Object.keys(r);for(let e=0,s=o.length;e<s;e+=1){let s=o[e];t.maxTotalMergeKeys!==-1&&++t.totalMergeKeys>t.maxTotalMergeKeys&&T(t,`merge keys exceeded maxTotalMergeKeys (`+t.maxTotalMergeKeys+`)`),i.call(n,s)||(b(n,s,r[s]),a[s]=!0)}}function P(e,t,n,r,a,o,s,c,l){if(Array.isArray(a)){a=Array.prototype.slice.call(a);for(let t=0,n=a.length;t<n;t+=1)Array.isArray(a[t])&&T(e,`nested arrays are not supported inside keys`),typeof a==`object`&&u(a[t])===`[object Object]`&&(a[t]=`[object Object]`)}if(typeof a==`object`&&u(a)===`[object Object]`&&(a=`[object Object]`),a=String(a),t===null&&(t={}),r===`tag:yaml.org,2002:merge`){if(Array.isArray(o))for(let r=0,i=o.length;r<i;r+=1)N(e,t,o[r],n);else N(e,t,o,n)}else!e.json&&!i.call(n,a)&&i.call(t,a)&&(e.line=s||e.line,e.lineStart=c||e.lineStart,e.position=l||e.position,T(e,`duplicated mapping key`)),b(t,a,o),delete n[a];return t}function F(e){let t=e.input.charCodeAt(e.position);t===10?e.position++:t===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):T(e,`a line break is expected`),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function I(e,t,n){let r=0,i=e.input.charCodeAt(e.position);for(;i!==0;){for(;f(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(t&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(d(i))for(F(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return n!==-1&&r!==0&&e.lineIndent<n&&E(e,`deficient indentation`),r}function L(e){let t=e.position,n=e.input.charCodeAt(t);return!!((n===45||n===46)&&n===e.input.charCodeAt(t+1)&&n===e.input.charCodeAt(t+2)&&(t+=3,n=e.input.charCodeAt(t),n===0||p(n)))}function ne(t,n){n===1?t.result+=` `:n>1&&(t.result+=e.repeat(`
|
|
12
|
-
`,n-1))}function re(e,t,n){let r,i,a,o,s,c,l=e.kind,u=e.result,h=e.input.charCodeAt(e.position);if(p(h)||m(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96)return!1;if(h===63||h===45){let t=e.input.charCodeAt(e.position+1);if(p(t)||n&&m(t))return!1}for(e.kind=`scalar`,e.result=``,r=i=e.position,a=!1;h!==0;){if(h===58){let t=e.input.charCodeAt(e.position+1);if(p(t)||n&&m(t))break}else if(h===35){if(p(e.input.charCodeAt(e.position-1)))break}else if(e.position===e.lineStart&&L(e)||n&&m(h))break;else if(d(h)){if(o=e.line,s=e.lineStart,c=e.lineIndent,I(e,!1,-1),e.lineIndent>=t){a=!0,h=e.input.charCodeAt(e.position);continue}e.position=i,e.line=o,e.lineStart=s,e.lineIndent=c;break}a&&=(M(e,r,i,!1),ne(e,e.line-o),r=i=e.position,!1),f(h)||(i=e.position+1),h=e.input.charCodeAt(++e.position)}return M(e,r,i,!1),e.result?!0:(e.kind=l,e.result=u,!1)}function R(e,t){let n,r,i=e.input.charCodeAt(e.position);if(i!==39)return!1;for(e.kind=`scalar`,e.result=``,e.position++,n=r=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39){if(M(e,n,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)n=e.position,e.position++,r=e.position;else return!0}else d(i)?(M(e,n,r,!0),ne(e,I(e,!1,t)),n=r=e.position):e.position===e.lineStart&&L(e)?T(e,`unexpected end of the document within a single quoted scalar`):(e.position++,f(i)||(r=e.position));T(e,`unexpected end of the stream within a single quoted scalar`)}function ie(e,t){let n,r,i,a=e.input.charCodeAt(e.position);if(a!==34)return!1;for(e.kind=`scalar`,e.result=``,e.position++,n=r=e.position;(a=e.input.charCodeAt(e.position))!==0;)if(a===34)return M(e,n,e.position,!0),e.position++,!0;else if(a===92){if(M(e,n,e.position,!0),a=e.input.charCodeAt(++e.position),d(a))I(e,!1,t);else if(a<256&&x[a])e.result+=S[a],e.position++;else if((i=g(a))>0){let t=i,n=0;for(;t>0;t--)a=e.input.charCodeAt(++e.position),(i=h(a))>=0?n=(n<<4)+i:T(e,`expected hexadecimal character`);e.result+=y(n),e.position++}else T(e,`unknown escape sequence`);n=r=e.position}else d(a)?(M(e,n,r,!0),ne(e,I(e,!1,t)),n=r=e.position):e.position===e.lineStart&&L(e)?T(e,`unexpected end of the document within a double quoted scalar`):(e.position++,f(a)||(r=e.position));T(e,`unexpected end of the stream within a double quoted scalar`)}function ae(e,t){let n=!0,r,i,a,o=e.tag,s,c=e.anchor,l,u,d,f,m=Object.create(null),h,g,_,v=e.input.charCodeAt(e.position);if(v===91)l=93,f=!1,s=[];else if(v===123)l=125,f=!0,s={};else return!1;for(e.anchor!==null&&D(e,e.anchor,s),v=e.input.charCodeAt(++e.position);v!==0;){if(I(e,!0,t),v=e.input.charCodeAt(e.position),v===l)return e.position++,e.tag=o,e.anchor=c,e.kind=f?`mapping`:`sequence`,e.result=s,!0;n?v===44&&T(e,`expected the node content, but found ','`):T(e,`missed comma between flow collection entries`),g=h=_=null,u=d=!1,v===63&&p(e.input.charCodeAt(e.position+1))&&(u=d=!0,e.position++,I(e,!0,t)),r=e.line,i=e.lineStart,a=e.position,q(e,t,1,!1,!0),g=e.tag,h=e.result,I(e,!0,t),v=e.input.charCodeAt(e.position),(d||e.line===r)&&v===58&&(u=!0,v=e.input.charCodeAt(++e.position),I(e,!0,t),q(e,t,1,!1,!0),_=e.result),f?P(e,s,m,g,h,_,r,i,a):u?s.push(P(e,null,m,g,h,_,r,i,a)):s.push(h),I(e,!0,t),v=e.input.charCodeAt(e.position),v===44?(n=!0,v=e.input.charCodeAt(++e.position)):n=!1}T(e,`unexpected end of the stream within a flow collection`)}function z(t,n){let r,i=1,a=!1,o=!1,s=n,c=0,l=!1,u,p=t.input.charCodeAt(t.position);if(p===124)r=!1;else if(p===62)r=!0;else return!1;for(t.kind=`scalar`,t.result=``;p!==0;)if(p=t.input.charCodeAt(++t.position),p===43||p===45)i===1?i=p===43?3:2:T(t,`repeat of a chomping mode identifier`);else if((u=_(p))>=0)u===0?T(t,`bad explicit indentation width of a block scalar; it cannot be less than one`):o?T(t,`repeat of an indentation width identifier`):(s=n+u-1,o=!0);else break;if(f(p)){do p=t.input.charCodeAt(++t.position);while(f(p));if(p===35)do p=t.input.charCodeAt(++t.position);while(!d(p)&&p!==0)}for(;p!==0;){for(F(t),t.lineIndent=0,p=t.input.charCodeAt(t.position);(!o||t.lineIndent<s)&&p===32;)t.lineIndent++,p=t.input.charCodeAt(++t.position);if(!o&&t.lineIndent>s&&(s=t.lineIndent),d(p)){c++;continue}if(!o&&s===0&&T(t,`missing indentation for block scalar`),t.lineIndent<s){i===3?t.result+=e.repeat(`
|
|
13
|
-
`,a?1+c:c):i===1&&a&&(t.result+=`
|
|
14
|
-
`);break}r?f(p)?(l=!0,t.result+=e.repeat(`
|
|
15
|
-
`,a?1+c:c)):l?(l=!1,t.result+=e.repeat(`
|
|
16
|
-
`,c+1)):c===0?a&&(t.result+=` `):t.result+=e.repeat(`
|
|
17
|
-
`,c):t.result+=e.repeat(`
|
|
18
|
-
`,a?1+c:c),a=!0,o=!0,c=0;let n=t.position;for(;!d(p)&&p!==0;)p=t.input.charCodeAt(++t.position);M(t,n,t.position,!1)}return!0}function V(e,t){let n=e.tag,r=e.anchor,i=[],a=!1;if(e.firstTabInLine!==-1)return!1;e.anchor!==null&&D(e,e.anchor,i);let o=e.input.charCodeAt(e.position);for(;o!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,T(e,`tab characters must not be used in indentation`)),o===45&&p(e.input.charCodeAt(e.position+1)));){if(a=!0,e.position++,I(e,!0,-1)&&e.lineIndent<=t){i.push(null),o=e.input.charCodeAt(e.position);continue}let n=e.line;if(q(e,t,3,!1,!0),i.push(e.result),I(e,!0,-1),o=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&o!==0)T(e,`bad indentation of a sequence entry`);else if(e.lineIndent<t)break}return a?(e.tag=n,e.anchor=r,e.kind=`sequence`,e.result=i,!0):!1}function H(e,t,n){let r,i,a,o,s=e.tag,c=e.anchor,l={},u=Object.create(null),d=null,m=null,h=null,g=!1,_=!1;if(e.firstTabInLine!==-1)return!1;e.anchor!==null&&D(e,e.anchor,l);let v=e.input.charCodeAt(e.position);for(;v!==0;){!g&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,T(e,`tab characters must not be used in indentation`));let y=e.input.charCodeAt(e.position+1),b=e.line;if((v===63||v===58)&&p(y))v===63?(g&&(P(e,l,u,d,m,null,i,a,o),d=m=h=null),_=!0,g=!0,r=!0):g?(g=!1,r=!0):T(e,`incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line`),e.position+=1,v=y;else{if(i=e.line,a=e.lineStart,o=e.position,!q(e,n,2,!1,!0))break;if(e.line===b){for(v=e.input.charCodeAt(e.position);f(v);)v=e.input.charCodeAt(++e.position);if(v===58)v=e.input.charCodeAt(++e.position),p(v)||T(e,`a whitespace character is expected after the key-value separator within a block mapping`),g&&(P(e,l,u,d,m,null,i,a,o),d=m=h=null),_=!0,g=!1,r=!1,d=e.tag,m=e.result;else if(_)T(e,`can not read an implicit mapping pair; a colon is missed`);else return e.tag=s,e.anchor=c,!0}else if(_)T(e,`can not read a block mapping entry; a multiline key may not be an implicit key`);else return e.tag=s,e.anchor=c,!0}if((e.line===b||e.lineIndent>t)&&(g&&(i=e.line,a=e.lineStart,o=e.position),q(e,t,4,!0,r)&&(g?m=e.result:h=e.result),g||(P(e,l,u,d,m,h,i,a,o),d=m=h=null),I(e,!0,-1),v=e.input.charCodeAt(e.position)),(e.line===b||e.lineIndent>t)&&v!==0)T(e,`bad indentation of a mapping entry`);else if(e.lineIndent<t)break}return g&&P(e,l,u,d,m,null,i,a,o),_&&(e.tag=s,e.anchor=c,e.kind=`mapping`,e.result=l),_}function oe(e){let t=!1,n=!1,r,a,o=e.input.charCodeAt(e.position);if(o!==33)return!1;e.tag!==null&&T(e,`duplication of a tag property`),o=e.input.charCodeAt(++e.position),o===60?(t=!0,o=e.input.charCodeAt(++e.position)):o===33?(n=!0,r=`!!`,o=e.input.charCodeAt(++e.position)):r=`!`;let u=e.position;if(t){do o=e.input.charCodeAt(++e.position);while(o!==0&&o!==62);e.position<e.length?(a=e.input.slice(u,e.position),o=e.input.charCodeAt(++e.position)):T(e,`unexpected end of the stream within a verbatim tag`)}else{for(;o!==0&&!p(o);)o===33&&(n?T(e,`tag suffix cannot contain exclamation marks`):(r=e.input.slice(u-1,e.position+1),c.test(r)||T(e,`named tag handle cannot contain such characters`),n=!0,u=e.position+1)),o=e.input.charCodeAt(++e.position);a=e.input.slice(u,e.position),s.test(a)&&T(e,`tag suffix cannot contain flow indicator characters`)}a&&!l.test(a)&&T(e,`tag name cannot contain such characters: `+a);try{a=decodeURIComponent(a)}catch{T(e,`tag name is malformed: `+a)}return t?e.tag=a:i.call(e.tagMap,r)?e.tag=e.tagMap[r]+a:r===`!`?e.tag=`!`+a:r===`!!`?e.tag=`tag:yaml.org,2002:`+a:T(e,`undeclared tag handle "`+r+`"`),!0}function W(e){let t=e.input.charCodeAt(e.position);if(t!==38)return!1;e.anchor!==null&&T(e,`duplication of an anchor property`),t=e.input.charCodeAt(++e.position);let n=e.position;for(;t!==0&&!p(t)&&!m(t);)t=e.input.charCodeAt(++e.position);return e.position===n&&T(e,`name of an anchor node must contain at least one character`),e.anchor=e.input.slice(n,e.position),!0}function K(e){let t=e.input.charCodeAt(e.position);if(t!==42)return!1;t=e.input.charCodeAt(++e.position);let n=e.position;for(;t!==0&&!p(t)&&!m(t);)t=e.input.charCodeAt(++e.position);e.position===n&&T(e,`name of an alias node must contain at least one character`);let r=e.input.slice(n,e.position);return i.call(e.anchorMap,r)||T(e,`unidentified alias "`+r+`"`),e.result=e.anchorMap[r],I(e,!0,-1),!0}function se(e,t,n,r){let i=ee(e);return O(e),te(e,t),e.tag=null,e.anchor=null,e.kind=null,e.result=null,H(e,n,r)&&e.kind===`mapping`?(k(e),!0):(A(e),te(e,i),!1)}function q(e,t,n,r,a){let o,s,c=1,l=!1,u=!1,d=null,f,p,m;e.depth>=e.maxDepth&&T(e,`nesting exceeded maxDepth (`+e.maxDepth+`)`),e.depth+=1,e.listener!==null&&e.listener(`open`,e),e.tag=null,e.anchor=null,e.kind=null,e.result=null;let h=o=s=n===4||n===3;if(r&&I(e,!0,-1)&&(l=!0,e.lineIndent>t?c=1:e.lineIndent===t?c=0:e.lineIndent<t&&(c=-1)),c===1)for(;;){let n=e.input.charCodeAt(e.position),r=ee(e);if(l&&(n===33&&e.tag!==null||n===38&&e.anchor!==null)||!oe(e)&&!W(e))break;d===null&&(d=r),I(e,!0,-1)?(l=!0,s=h,e.lineIndent>t?c=1:e.lineIndent===t?c=0:e.lineIndent<t&&(c=-1)):s=!1}if(s&&=l||a,c===1||n===4){if(p=n===1||n===2?t:t+1,m=e.position-e.lineStart,c===1){if(s&&(V(e,m)||H(e,m,p))||ae(e,p))u=!0;else{let t=e.input.charCodeAt(e.position);d!==null&&h&&!s&&t!==124&&t!==62&&se(e,d,d.position-d.lineStart,p)||o&&z(e,p)||R(e,p)||ie(e,p)?u=!0:K(e)?(u=!0,(e.tag!==null||e.anchor!==null)&&T(e,`alias node should not have any properties`)):re(e,p,n===1)&&(u=!0,e.tag===null&&(e.tag=`?`)),e.anchor!==null&&D(e,e.anchor,e.result)}}else c===0&&(u=s&&V(e,m))}if(e.tag===null)e.anchor!==null&&D(e,e.anchor,e.result);else if(e.tag===`?`){e.result!==null&&e.kind!==`scalar`&&T(e,`unacceptable node kind for !<?> tag; it should be "scalar", not "`+e.kind+`"`);for(let t=0,n=e.implicitTypes.length;t<n;t+=1)if(f=e.implicitTypes[t],f.resolve(e.result)){e.result=f.construct(e.result),e.tag=f.tag,e.anchor!==null&&D(e,e.anchor,e.result);break}}else if(e.tag!==`!`){if(i.call(e.typeMap[e.kind||`fallback`],e.tag))f=e.typeMap[e.kind||`fallback`][e.tag];else{f=null;let t=e.typeMap.multi[e.kind||`fallback`];for(let n=0,r=t.length;n<r;n+=1)if(e.tag.slice(0,t[n].tag.length)===t[n].tag){f=t[n];break}}f||T(e,`unknown tag !<`+e.tag+`>`),e.result!==null&&f.kind!==e.kind&&T(e,`unacceptable node kind for !<`+e.tag+`> tag; it should be "`+f.kind+`", not "`+e.kind+`"`),f.resolve(e.result,e.tag)?(e.result=f.construct(e.result,e.tag),e.anchor!==null&&D(e,e.anchor,e.result)):T(e,`cannot resolve a node with !<`+e.tag+`> explicit tag`)}return e.listener!==null&&e.listener(`close`,e),--e.depth,e.tag!==null||e.anchor!==null||u}function le(e){let t=e.position,n=!1,r;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(r=e.input.charCodeAt(e.position))!==0&&(I(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||r!==37));){n=!0,r=e.input.charCodeAt(++e.position);let t=e.position;for(;r!==0&&!p(r);)r=e.input.charCodeAt(++e.position);let a=e.input.slice(t,e.position),o=[];for(a.length<1&&T(e,`directive name must not be less than one character in length`);r!==0;){for(;f(r);)r=e.input.charCodeAt(++e.position);if(r===35){do r=e.input.charCodeAt(++e.position);while(r!==0&&!d(r));break}if(d(r))break;for(t=e.position;r!==0&&!p(r);)r=e.input.charCodeAt(++e.position);o.push(e.input.slice(t,e.position))}r!==0&&F(e),i.call(j,a)?j[a](e,a,o):E(e,`unknown document directive "`+a+`"`)}I(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,I(e,!0,-1)):n&&T(e,`directives end mark is expected`),q(e,e.lineIndent-1,4,!1,!0),I(e,!0,-1),e.checkLineBreaks&&o.test(e.input.slice(t,e.position))&&E(e,`non-ASCII line breaks are interpreted as content`),e.documents.push(e.result),e.position===e.lineStart&&L(e)?e.input.charCodeAt(e.position)===46&&(e.position+=3,I(e,!0,-1)):e.position<e.length-1&&T(e,`end of the stream or a document separator is expected`)}function J(e,t){e=String(e),t||={},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
19
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));let n=new C(e,t),r=e.indexOf(`\0`);for(r!==-1&&(n.position=r,T(n,`null byte is not allowed in input`)),n.input+=`\0`;n.input.charCodeAt(n.position)===32;)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)le(n);return n.documents}function ue(e,t,n){typeof t==`object`&&t&&n===void 0&&(n=t,t=null);let r=J(e,n);if(typeof t!=`function`)return r;for(let e=0,n=r.length;e<n;e+=1)t(r[e])}function de(e,n){let r=J(e,n);if(r.length!==0){if(r.length===1)return r[0];throw new t(`expected a single document in the stream, but found more`)}}return B.loadAll=ue,B.load=de,B}var lt={},ut;function dt(){if(ut)return lt;ut=1;let e=U(),t=G(),n=ot(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=65279,o={};o[0]=`\\0`,o[7]=`\\a`,o[8]=`\\b`,o[9]=`\\t`,o[10]=`\\n`,o[11]=`\\v`,o[12]=`\\f`,o[13]=`\\r`,o[27]=`\\e`,o[34]=`\\"`,o[92]=`\\\\`,o[133]=`\\N`,o[160]=`\\_`,o[8232]=`\\L`,o[8233]=`\\P`;let s=[`y`,`Y`,`yes`,`Yes`,`YES`,`on`,`On`,`ON`,`n`,`N`,`no`,`No`,`NO`,`off`,`Off`,`OFF`],c=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function l(e,t){if(t===null)return{};let n={},r=Object.keys(t);for(let a=0,o=r.length;a<o;a+=1){let o=r[a],s=String(t[o]);o.slice(0,2)===`!!`&&(o=`tag:yaml.org,2002:`+o.slice(2));let c=e.compiledTypeMap.fallback[o];c&&i.call(c.styleAliases,s)&&(s=c.styleAliases[s]),n[o]=s}return n}function u(n){let r,i,a=n.toString(16).toUpperCase();if(n<=255)r=`x`,i=2;else if(n<=65535)r=`u`,i=4;else if(n<=4294967295)r=`U`,i=8;else throw new t(`code point within a string may not be greater than 0xFFFFFFFF`);return`\\`+r+e.repeat(`0`,i-a.length)+a}function d(t){this.schema=t.schema||n,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=e.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=l(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType=t.quotingType===`"`?2:1,this.forceQuotes=t.forceQuotes||!1,this.replacer=typeof t.replacer==`function`?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=``,this.duplicates=[],this.usedDuplicates=null}function f(t,n){let r=e.repeat(` `,n),i=0,a=``,o=t.length;for(;i<o;){let e,n=t.indexOf(`
|
|
20
|
-
`,i);n===-1?(e=t.slice(i),i=o):(e=t.slice(i,n+1),i=n+1),e.length&&e!==`
|
|
21
|
-
`&&(a+=r),a+=e}return a}function p(t,n){return`
|
|
22
|
-
`+e.repeat(` `,t.indent*n)}function m(e,t){for(let n=0,r=e.implicitTypes.length;n<r;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}function h(e){return e===32||e===9}function g(e){return e>=32&&e<=126||e>=161&&e<=55295&&e!==8232&&e!==8233||e>=57344&&e<=65533&&e!==a||e>=65536&&e<=1114111}function _(e){return g(e)&&e!==a&&e!==13&&e!==10}function v(e,t,n){let r=_(e),i=r&&!h(e);return(n?r:r&&e!==44&&e!==91&&e!==93&&e!==123&&e!==125)&&e!==35&&!(t===58&&!i)||_(t)&&!h(t)&&e===35||t===58&&i}function y(e){return g(e)&&e!==a&&!h(e)&&e!==45&&e!==63&&e!==58&&e!==44&&e!==91&&e!==93&&e!==123&&e!==125&&e!==35&&e!==38&&e!==42&&e!==33&&e!==124&&e!==61&&e!==62&&e!==39&&e!==34&&e!==37&&e!==64&&e!==96}function b(e){return!h(e)&&e!==58}function x(e,t){let n=e.charCodeAt(t),r;return n>=55296&&n<=56319&&t+1<e.length&&(r=e.charCodeAt(t+1),r>=56320&&r<=57343)?(n-55296)*1024+r-56320+65536:n}function S(e){return/^\n* /.test(e)}function C(e,t,n,r,i,a,o,s){let c,l=0,u=null,d=!1,f=!1,p=r!==-1,m=-1,h=y(x(e,0))&&b(x(e,e.length-1));if(t||o)for(c=0;c<e.length;l>=65536?c+=2:c++){if(l=x(e,c),!g(l))return 5;h&&=v(l,u,s),u=l}else{for(c=0;c<e.length;l>=65536?c+=2:c++){if(l=x(e,c),l===10)d=!0,p&&(f||=c-m-1>r&&e[m+1]!==` `,m=c);else if(!g(l))return 5;h&&=v(l,u,s),u=l}f||=p&&c-m-1>r&&e[m+1]!==` `}return!d&&!f?h&&!o&&!i(e)?1:a===2?5:2:n>9&&S(e)?5:o?a===2?5:2:f?4:3}function w(e,n,r,i,a){e.dump=(function(){if(n.length===0)return e.quotingType===2?`""`:`''`;if(!e.noCompatMode&&(s.indexOf(n)!==-1||c.test(n)))return e.quotingType===2?`"`+n+`"`:`'`+n+`'`;let o=e.indent*Math.max(1,r),l=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),u=i||e.flowLevel>-1&&r>=e.flowLevel;function d(t){return m(e,t)}switch(C(n,u,e.indent,l,d,e.quotingType,e.forceQuotes&&!i,a)){case 1:return n;case 2:return`'`+n.replace(/'/g,`''`)+`'`;case 3:return`|`+T(n,e.indent)+E(f(n,o));case 4:return`>`+T(n,e.indent)+E(f(D(n,l),o));case 5:return`"`+k(n)+`"`;default:throw new t(`impossible error: invalid scalar style`)}})()}function T(e,t){let n=S(e)?String(t):``,r=e[e.length-1]===`
|
|
23
|
-
`;return n+(r&&(e[e.length-2]===`
|
|
24
|
-
`||e===`
|
|
25
|
-
`)?`+`:r?``:`-`)+`
|
|
26
|
-
`}function E(e){return e[e.length-1]===`
|
|
27
|
-
`?e.slice(0,-1):e}function D(e,t){let n=/(\n+)([^\n]*)/g,r=(function(){let r=e.indexOf(`
|
|
28
|
-
`);return r=r===-1?e.length:r,n.lastIndex=r,O(e.slice(0,r),t)})(),i=e[0]===`
|
|
29
|
-
`||e[0]===` `,a,o;for(;o=n.exec(e);){let e=o[1],n=o[2];a=n[0]===` `,r+=e+(!i&&!a&&n!==``?`
|
|
30
|
-
`:``)+O(n,t),i=a}return r}function O(e,t){if(e===``||e[0]===` `)return e;let n=/ [^ ]/g,r,i=0,a,o=0,s=0,c=``;for(;r=n.exec(e);)s=r.index,s-i>t&&(a=o>i?o:s,c+=`
|
|
31
|
-
`+e.slice(i,a),i=a+1),o=s;return c+=`
|
|
32
|
-
`,e.length-i>t&&o>i?c+=e.slice(i,o)+`
|
|
33
|
-
`+e.slice(o+1):c+=e.slice(i),c.slice(1)}function k(e){let t=``,n=0;for(let r=0;r<e.length;n>=65536?r+=2:r++){n=x(e,r);let i=o[n];!i&&g(n)?(t+=e[r],n>=65536&&(t+=e[r+1])):t+=i||u(n)}return t}function A(e,t,n){let r=``,i=e.tag;for(let i=0,a=n.length;i<a;i+=1){let a=n[i];e.replacer&&(a=e.replacer.call(n,String(i),a)),(N(e,t,a,!1,!1)||a===void 0&&N(e,t,null,!1,!1))&&(r!==``&&(r+=`,`+(e.condenseFlow?``:` `)),r+=e.dump)}e.tag=i,e.dump=`[`+r+`]`}function ee(e,t,n,r){let i=``,a=e.tag;for(let a=0,o=n.length;a<o;a+=1){let o=n[a];e.replacer&&(o=e.replacer.call(n,String(a),o)),(N(e,t+1,o,!0,!0,!1,!0)||o===void 0&&N(e,t+1,null,!0,!0,!1,!0))&&((!r||i!==``)&&(i+=p(e,t)),e.dump&&e.dump.charCodeAt(0)===10?i+=`-`:i+=`- `,i+=e.dump)}e.tag=a,e.dump=i||`[]`}function te(e,t,n){let r=``,i=e.tag,a=Object.keys(n);for(let i=0,o=a.length;i<o;i+=1){let o=``;r!==``&&(o+=`, `),e.condenseFlow&&(o+=`"`);let s=a[i],c=n[s];e.replacer&&(c=e.replacer.call(n,s,c)),N(e,t,s,!1,!1)&&(e.dump.length>1024&&(o+=`? `),o+=e.dump+(e.condenseFlow?`"`:``)+`:`+(e.condenseFlow?``:` `),N(e,t,c,!1,!1)&&(o+=e.dump,r+=o))}e.tag=i,e.dump=`{`+r+`}`}function j(e,n,r,i){let a=``,o=e.tag,s=Object.keys(r);if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys==`function`)s.sort(e.sortKeys);else if(e.sortKeys)throw new t(`sortKeys must be a boolean or a function`);for(let t=0,o=s.length;t<o;t+=1){let o=``;(!i||a!==``)&&(o+=p(e,n));let c=s[t],l=r[c];if(e.replacer&&(l=e.replacer.call(r,c,l)),!N(e,n+1,c,!0,!0,!0))continue;let u=e.tag!==null&&e.tag!==`?`||e.dump&&e.dump.length>1024;u&&(e.dump&&e.dump.charCodeAt(0)===10?o+=`?`:o+=`? `),o+=e.dump,u&&(o+=p(e,n)),N(e,n+1,l,!0,u)&&(e.dump&&e.dump.charCodeAt(0)===10?o+=`:`:o+=`: `,o+=e.dump,a+=o)}e.tag=o,e.dump=a||`{}`}function M(e,n,a){let o=a?e.explicitTypes:e.implicitTypes;for(let s=0,c=o.length;s<c;s+=1){let c=o[s];if((c.instanceOf||c.predicate)&&(!c.instanceOf||typeof n==`object`&&n instanceof c.instanceOf)&&(!c.predicate||c.predicate(n))){if(e.tag=a?c.multi&&c.representName?c.representName(n):c.tag:`?`,c.represent){let a=e.styleMap[c.tag]||c.defaultStyle,o;if(r.call(c.represent)===`[object Function]`)o=c.represent(n,a);else if(i.call(c.represent,a))o=c.represent[a](n,a);else throw new t(`!<`+c.tag+`> tag resolver accepts not "`+a+`" style`);e.dump=o}return!0}}return!1}function N(e,n,i,a,o,s,c){e.tag=null,e.dump=i,M(e,i,!1)||M(e,i,!0);let l=r.call(e.dump),u=a;a&&=e.flowLevel<0||e.flowLevel>n;let d=l===`[object Object]`||l===`[object Array]`,f,p;if(d&&(f=e.duplicates.indexOf(i),p=f!==-1),(e.tag!==null&&e.tag!==`?`||p||e.indent!==2&&n>0)&&(o=!1),p&&e.usedDuplicates[f])e.dump=`*ref_`+f;else{if(d&&p&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),l===`[object Object]`)a&&Object.keys(e.dump).length!==0?(j(e,n,e.dump,o),p&&(e.dump=`&ref_`+f+e.dump)):(te(e,n,e.dump),p&&(e.dump=`&ref_`+f+` `+e.dump));else if(l===`[object Array]`)a&&e.dump.length!==0?(e.noArrayIndent&&!c&&n>0?ee(e,n-1,e.dump,o):ee(e,n,e.dump,o),p&&(e.dump=`&ref_`+f+e.dump)):(A(e,n,e.dump),p&&(e.dump=`&ref_`+f+` `+e.dump));else if(l===`[object String]`)e.tag!==`?`&&w(e,e.dump,n,s,u);else if(l===`[object Undefined]`)return!1;else{if(e.skipInvalid)return!1;throw new t(`unacceptable kind of an object to dump `+l)}if(e.tag!==null&&e.tag!==`?`){let t=encodeURI(e.tag[0]===`!`?e.tag.slice(1):e.tag).replace(/!/g,`%21`);t=e.tag[0]===`!`?`!`+t:t.slice(0,18)===`tag:yaml.org,2002:`?`!!`+t.slice(18):`!<`+t+`>`,e.dump=t+` `+e.dump}}return!0}function P(e,t){let n=[],r=[];F(e,n,r);let i=r.length;for(let e=0;e<i;e+=1)t.duplicates.push(n[r[e]]);t.usedDuplicates=Array(i)}function F(e,t,n){if(typeof e==`object`&&e){let r=t.indexOf(e);if(r!==-1)n.indexOf(r)===-1&&n.push(r);else if(t.push(e),Array.isArray(e))for(let r=0,i=e.length;r<i;r+=1)F(e[r],t,n);else{let r=Object.keys(e);for(let i=0,a=r.length;i<a;i+=1)F(e[r[i]],t,n)}}}function I(e,t){t||={};let n=new d(t);n.noRefs||P(e,n);let r=e;return n.replacer&&(r=n.replacer.call({"":r},``,r)),N(n,0,r,!0,!0)?n.dump+`
|
|
34
|
-
`:``}return lt.dump=I,lt}var ft;function pt(){if(ft)return z;ft=1;let e=ct(),t=dt();function n(e,t){return function(){throw Error(`Function yaml.`+e+` is removed in js-yaml 4. Use yaml.`+t+` instead, which is now safe by default.`)}}return z.Type=J(),z.Schema=Y(),z.FAILSAFE_SCHEMA=Se(),z.JSON_SCHEMA=Le(),z.CORE_SCHEMA=ze(),z.DEFAULT_SCHEMA=ot(),z.load=e.load,z.loadAll=e.loadAll,z.dump=t.dump,z.YAMLException=G(),z.types={binary:Je(),float:Pe(),map:ye(),null:Te(),pairs:et(),set:rt(),timestamp:He(),bool:Oe(),int:je(),merge:Ge(),omap:Ze(),seq:_e(),str:me()},z.safeLoad=n(`safeLoad`,`load`),z.safeLoadAll=n(`safeLoadAll`,`loadAll`),z.safeDump=n(`safeDump`,`dump`),z}var{Type:mt,Schema:ht,FAILSAFE_SCHEMA:gt,JSON_SCHEMA:_t,CORE_SCHEMA:vt,DEFAULT_SCHEMA:yt,load:bt,loadAll:xt,dump:St,YAMLException:Ct,types:wt,safeLoad:Tt,safeLoadAll:Et,safeDump:Dt}=ae(pt()),Ot=3e3,kt=9999,At=`openpond.yaml`,jt=[`google`,`github`,`x`],Mt=new Set([22,2222,2375,2376,3108,5900,5901,6080,7818]),Nt=r(u().trim().min(1).max(1e3)).max(50),Pt=u().trim().min(1).max(4096).refine(nn,{message:`path must be a relative workspace path`}),Ft=u().trim().min(1).max(500).refine(e=>!e.includes(`\0`)&&!/\s/.test(e),`image ref must be a single OCI reference`),It=u().trim().regex(/^sha256:[0-9a-f]{64}$/i),Lt=u().trim().min(1).max(500).refine(e=>e.startsWith(`/`)&&!e.includes(`\0`),`workspaceRoot must be an absolute guest path`),Rt=o({ref:Ft,digest:It.optional(),registrySecretRef:u().trim().min(1).max(500).optional(),platform:i(`linux/amd64`).optional(),workspaceRoot:Lt.optional()}).strict(),zt=o({context:Pt.default(`.`),path:Pt.default(`Dockerfile`),target:u().trim().min(1).max(191).optional(),buildArgs:a(u().max(191),u().max(500)).optional(),registrySecretRefs:r(u().trim().min(1).max(500)).max(10).optional(),platform:i(`linux/amd64`).optional(),workspaceRoot:Lt.optional()}).strict(),Bt=o({base:u().trim().min(1).max(120).optional(),snapshot:u().trim().min(1).max(191).optional(),image:Rt.optional(),dockerfile:zt.optional()}).strict().superRefine((e,t)=>{[e.base,e.snapshot,e.image,e.dockerfile].filter(Boolean).length!==1&&t.addIssue({code:R.custom,message:`runtime must declare exactly one of base, snapshot, image, or dockerfile`})}),Vt=o({cpu:c().positive().max(8).optional(),memoryGb:c().positive().max(32).optional(),diskGb:c().positive().max(100).optional()}).strict(),Ht=o({provider:l(jt),scopes:r(u().trim().min(1).max(200)).max(100).default([]),capabilities:r(u().trim().min(1).max(200)).max(100).default([])}).strict(),Ut=o({models:r(u().trim().min(1).max(200)).max(100).default([]),scopes:r(u().trim().min(1).max(200)).max(100).default([])}).strict(),Wt=o({opchat:Ut.optional()}).catchall(a(u(),d())).default({}),Gt=o({name:u().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).max(63).optional(),mountPath:u().trim().min(1).max(256).optional(),storageGb:c().int().positive().max(100).optional(),deleteOnSandboxDelete:s().optional()}).strict(),Kt=o({port:c().int().min(Ot).max(kt).refine(e=>!Mt.has(e),{message:`preview port is reserved`}),protocol:i(`http`).default(`http`),label:u().trim().min(1).max(80).optional(),access:l([`private`,`public`]).default(`private`),path:u().trim().min(1).max(512).refine(e=>e.startsWith(`/`),{message:`preview path must start with /`}).default(`/`)}).strict(),qt=o({command:u().trim().min(1).max(1e3),cwd:Pt.optional(),timeoutSeconds:c().int().positive().max(86400).optional(),requiresStart:s().default(!1),ports:r(Kt).max(20).default([]),artifactPaths:r(Pt).max(100).default([])}).strict(),Jt=qt.extend({name:u().trim().min(1).max(80)}).strict(),Yt=o({name:u().trim().min(1).max(80).optional(),service:u().trim().min(1).max(80).optional(),port:c().int().min(Ot).max(kt).refine(e=>!Mt.has(e),{message:`app MCP port is reserved`}),path:u().trim().min(1).max(512).refine(e=>e.startsWith(`/`),{message:`app MCP path must start with /`}).default(`/mcp`)}).strict(),Xt=o({name:u().trim().min(1).max(80).optional(),port:c().int().min(Ot).max(kt).refine(e=>!Mt.has(e),{message:`validation probe port is reserved`}),path:u().trim().min(1).max(512).refine(e=>e.startsWith(`/`),{message:`validation probe path must start with /`}).default(`/`),expectedStatus:c().int().min(100).max(599).default(200)}).strict(),Zt=a(u(),d()).refine(e=>e.type===`object`,`input schema must be a JSON schema object`),Qt=o({name:u().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),required:s().default(!1),secret:s().default(!0),description:u().trim().max(500).optional()}).strict(),$t=u().trim().min(1).max(120),en=o({name:u().trim().min(1).max(120),description:u().trim().max(500).optional(),cron:u().trim().min(1).max(500).optional(),rate:u().trim().min(1).max(500).optional(),once:$t.optional(),scheduleType:l([`rate`,`cron`,`once`]).optional(),scheduleExpression:u().trim().min(1).max(500).optional(),timezone:u().trim().min(1).max(100).optional(),enabled:s().default(!0),startAt:$t.optional(),endAt:$t.optional(),maxRuns:c().int().positive().nullable().optional(),runtimePolicy:l([`run_and_stop`,`run_and_archive`,`run_and_delete`,`use_existing_running`]).default(`run_and_stop`),action:u().trim().min(1).max(120).optional(),actionName:u().trim().min(1).max(120).optional(),command:u().trim().min(1).max(2e3).optional(),target:o({kind:l([`start`,`action`,`service`,`command`]).optional(),name:u().trim().min(1).max(120).optional(),actionName:u().trim().min(1).max(120).optional(),command:u().trim().min(1).max(2e3).optional(),requiresStart:s().optional()}).strict().optional(),requiresStart:s().optional(),budget:o({maxUsd:u().trim().min(1).max(40).optional()}).strict().optional(),resources:Vt.optional(),quotas:a(u(),d()).optional(),lifecycle:a(u(),d()).optional(),retentionPolicy:a(u(),d()).optional(),env:r(o({name:u().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),value:u().optional(),secretRef:u().optional()}).strict()).max(100).optional(),integrationLeases:r(a(u(),d())).max(20).optional(),metadata:a(u(),d()).optional()}).strict().superRefine((e,t)=>{[e.cron,e.rate,e.once,e.scheduleExpression].filter(e=>typeof e==`string`&&e.trim()).length!==1&&t.addIssue({code:R.custom,path:[`scheduleExpression`],message:`schedule must declare exactly one of cron, rate, once, or scheduleExpression`}),e.scheduleExpression&&!e.scheduleType&&t.addIssue({code:R.custom,path:[`scheduleType`],message:`scheduleType is required with scheduleExpression`});let n=e.command??e.target?.command??null,r=e.target?.name??null,i=e.actionName??e.action??e.target?.actionName??(e.target?.kind===`action`?r:null),a=e.target?.kind??(n?`command`:`action`);a===`action`&&!i&&t.addIssue({code:R.custom,path:[`action`],message:`schedule action target is required`}),a===`service`&&!r&&t.addIssue({code:R.custom,path:[`target`,`name`],message:`schedule service target name is required`}),a===`command`&&!n&&t.addIssue({code:R.custom,path:[`command`],message:`schedule command target is required`})});o({schemaVersion:i(1),name:u().trim().min(1).max(80).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/),version:u().trim().min(1).max(40),useCase:u().trim().min(1).max(80),description:u().trim().min(1).max(500),runtime:Bt,resources:Vt.optional(),setup:o({commands:Nt.default([])}).strict().default({commands:[]}),validation:o({commands:Nt.min(1),probes:r(Xt).max(20).default([])}).strict(),start:qt,actions:r(Jt).max(20).default([]),services:r(Jt).max(20).default([]),schedules:r(en).max(20).default([]),mcp:o({endpoints:r(Yt).max(10).default([])}).strict().default({endpoints:[]}),volumes:r(Gt).max(5).default([]),integrations:o({requiredLeases:r(Ht).max(20).default([])}).strict().default({requiredLeases:[]}),permissions:Wt,inputs:o({schema:Zt.default({type:`object`}),env:r(Qt).max(100).default([])}).strict().default({schema:{type:`object`},env:[]}),artifacts:o({paths:r(Pt).max(100).default([])}).strict().default({paths:[]}),network:o({egress:l([`restricted`,`allow`,`block`]).default(`restricted`)}).strict().default({egress:`restricted`})}).strict().superRefine((e,t)=>{an(e,t),rn(t,e.volumes.flatMap(e=>e.name?[e.name]:[]),`volume names must be unique`,`volumes`),on(e,t),sn(e,t),cn(e,t),ln(e,t)}),o({path:u(),message:u(),code:u()});function tn(e){return[{kind:`start`,name:`start`,...e.start,artifactPaths:dn(e.start,e)},...e.actions.map(t=>({kind:`action`,name:t.name,command:t.command,cwd:t.cwd,timeoutSeconds:t.timeoutSeconds,requiresStart:t.requiresStart,ports:t.ports,artifactPaths:dn(t,e)})),...e.services.map(t=>({kind:`service`,name:t.name,command:t.command,cwd:t.cwd,timeoutSeconds:t.timeoutSeconds,requiresStart:t.requiresStart,ports:t.ports,artifactPaths:dn(t,e)}))]}function nn(e){return!e.includes(`\0`)&&!e.startsWith(`/`)&&!e.split(/[\\/]+/).some(e=>e===`..`||e===``)}function rn(e,t,n,r){let i=new Set;for(let a of t){if(i.has(a)){e.addIssue({code:R.custom,path:[r],message:n});return}i.add(a)}}function an(e,t){rn(t,[`start`,...e.actions.map(e=>e.name),...e.services.map(e=>e.name)],`start, action, and service names must be unique`,`actions`)}function on(e,t){let n=un(e.inputs.schema.properties),r=new Set(e.volumes.map(e=>e.name).filter(e=>!!e));for(let[e,i]of Object.entries(n)){let n=un(i),a=un(n[`x-openpond-upload`]??n.xOpenPondUpload),o=typeof a.targetPath==`string`&&a.targetPath.trim()?a.targetPath.trim():typeof a.path==`string`&&a.path.trim()?a.path.trim():``;if(!o)continue;let s=o.replace(/^workspace\//,``).replace(/^\/+/,``).replace(/\/+$/,``);if(!nn(s)){t.addIssue({code:R.custom,path:[`inputs`,`schema`,`properties`,e,`x-openpond-upload`,`targetPath`],message:`upload target must be a relative workspace path`});continue}let c=s.split(`/`);c[0]===`volumes`&&(!c[1]||!r.has(c[1]))&&t.addIssue({code:R.custom,path:[`inputs`,`schema`,`properties`,e,`x-openpond-upload`,`targetPath`],message:`upload target references an undeclared volume`})}}function sn(e,t){rn(t,e.inputs.env.map(e=>e.name),`env input names must be unique`,`inputs`)}function cn(e,t){let n=new Map(e.services.map(e=>[e.name,new Set(e.ports.map(e=>e.port))])),r=new Set([...e.start.ports.map(e=>e.port),...e.services.flatMap(e=>e.ports.map(e=>e.port))]);for(let[i,a]of e.mcp.endpoints.entries())if(a.service){let e=n.get(a.service);if(!e){t.addIssue({code:R.custom,path:[`mcp`,`endpoints`,i,`service`],message:`app MCP service does not exist: ${a.service}`});continue}e.has(a.port)||t.addIssue({code:R.custom,path:[`mcp`,`endpoints`,i,`port`],message:`app MCP port ${a.port} is not declared on service ${a.service}`})}else r.has(a.port)||t.addIssue({code:R.custom,path:[`mcp`,`endpoints`,i,`port`],message:`app MCP port ${a.port} is not declared on start or services`})}function ln(e,t){let n=new Set(e.actions.map(e=>e.name)),r=new Set(e.services.map(e=>e.name));for(let[i,a]of e.schedules.entries()){let e=a.command??a.target?.command??null;if(a.target?.kind===`command`||e)continue;let o=a.actionName??a.action??a.target?.actionName??(a.target?.kind===`action`?a.target?.name:null);if(o&&!n.has(o)&&t.addIssue({code:R.custom,path:[`schedules`,i,`action`],message:`schedule action target does not exist: ${o}`}),a.target?.kind===`service`){let e=a.target.name??``;e&&!r.has(e)&&t.addIssue({code:R.custom,path:[`schedules`,i,`target`,`name`],message:`schedule service target does not exist: ${e}`})}}}function un(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function dn(e,t){return e.artifactPaths.length>0?e.artifactPaths:t.artifacts.paths}var fn=f(`hammer`,[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`,key:`1hayfq`}],[`path`,{d:`m18 15 4-4`,key:`16gjal`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`,key:`15ts47`}]]),Q=e(t(),1);function pn(e){let t=Fn(Fn(e?.data).preview);return(typeof t.url==`string`?t.url.trim():``)||null}function mn(){let e=window.open(``,`_blank`);return e?(e.document.write(`<!doctype html><html data-theme="${w()}"><head><title>Opening sandbox preview</title><style>${C}</style></head><body style="margin:0;background:var(--surface-page);color:var(--text-primary);font:14px system-ui,sans-serif;display:grid;place-items:center;height:100vh;">Opening sandbox preview...</body></html>`),e.document.close(),e):null}function hn(e,t){t?e?(e.opener=null,e.location.href=t):window.open(t,`_blank`,`noopener,noreferrer`):e?.close()}function gn(e){let t=vn(e),n=yn(Fn(e?.resources)),r=Fn(Fn(e?.inputs).schema),i=Fn(r.properties),a=new Set(Nn(r.required)),o=[],s=[];for(let[e,t]of Object.entries(i)){let n=Fn(t),r=Fn(n[`x-openpond-upload`]??n.xOpenPondUpload),i=typeof n.type==`string`?n.type:`string`,c=Fn(n.items),l=Dn(n,r),u=n.format===`file`||r.enabled===!0||i===`array`&&c.format===`file`,d=typeof n.title==`string`&&n.title.trim()?n.title.trim():Pn(e);u?s.push({name:e,label:d,required:a.has(e),multiple:i===`array`||r.multiple===!0,accept:On(r,n),targetPath:kn(r,e),targetNames:l}):(i===`string`||i===`number`||i===`integer`||i===`boolean`)&&o.push({name:e,label:d,required:a.has(e),type:i,defaultValue:typeof n.default==`string`||typeof n.default==`number`||typeof n.default==`boolean`?String(n.default):``,targetNames:l})}return{entrypoints:t,scalarInputs:o,fileInputs:s,envInputs:xn(e),resources:n,volumes:bn(e,s),schedules:Sn(e)}}function _n(e,t){let n=t.trim();return e.filter(e=>!e.targetNames||e.targetNames.length===0||e.targetNames.includes(n))}function vn(e){return e?tn(e).flatMap(e=>{if(e.kind===`action`)return[];let t=e.name.trim(),n=e.command.trim(),r=jn(e.timeoutSeconds),i=e.ports.flatMap(e=>{let t=jn(e.port);return t?[{port:t,label:typeof e.label==`string`&&e.label.trim()?e.label.trim():`web`,access:e.access===`public`?`public`:`private`,path:typeof e.path==`string`&&e.path.trim()?e.path.trim():`/`}]:[]});return t&&n?[{name:t,command:n,timeoutSeconds:r,ports:i}]:[]}):[]}function yn(e){return{cpu:An(e.cpu)??1,memoryGb:An(e.memoryGb)??1,diskGb:An(e.diskGb)??8}}function bn(e,t){let n=Array.isArray(e?.volumes)?e.volumes:[];if(n.length>0)return n.map((e,t)=>{let n=t===0?`volume`:`volume-${t+1}`,r=typeof e.name==`string`&&e.name.trim()?e.name.trim():n;return{name:r,mountPath:typeof e.mountPath==`string`&&e.mountPath.trim()?e.mountPath.trim():`/workspace/volumes/${r}`,...jn(e.storageGb)?{storageGb:jn(e.storageGb)??void 0}:{},deleteOnSandboxDelete:e.deleteOnSandboxDelete===!0}});let r=t.find(e=>e.targetPath.startsWith(`volumes/`));if(!r)return[];let[,i=`volume`]=r.targetPath.split(`/`);return[{name:i,mountPath:`/workspace/volumes/${i}`,storageGb:8,deleteOnSandboxDelete:!1}]}function xn(e){return(Array.isArray(e?.inputs.env)?e.inputs.env:[]).flatMap(e=>{let t=typeof e.name==`string`?e.name.trim():``;return t?[{name:t,required:e.required===!0,secret:e.secret!==!1,description:typeof e.description==`string`?e.description.trim():``}]:[]})}function Sn(e){return e?.schedules?.length?e.schedules.flatMap(t=>{let n=typeof t.name==`string`?t.name.trim():``,r=Cn(t);if(!n||!r.scheduleExpression)return[];try{return[{name:n,...typeof t.description==`string`&&t.description.trim()?{description:t.description.trim()}:{},enabled:!1,...r,...typeof t.timezone==`string`&&t.timezone.trim()?{timezone:t.timezone.trim()}:{},...typeof t.startAt==`string`&&t.startAt.trim()?{startAt:t.startAt.trim()}:{},...typeof t.endAt==`string`&&t.endAt.trim()?{endAt:t.endAt.trim()}:{},...typeof t.maxRuns==`number`&&Number.isInteger(t.maxRuns)&&t.maxRuns>0?{maxRuns:t.maxRuns}:{},runtimePolicy:t.runtimePolicy,target:wn(e,t),...t.budget?{budget:t.budget}:{},...t.resources?{resources:t.resources}:{},...t.quotas?{quotas:t.quotas}:{},...t.lifecycle?{lifecycle:t.lifecycle}:{},...t.retentionPolicy?{retentionPolicy:t.retentionPolicy}:{},...t.env?{env:t.env}:{},...t.integrationLeases?{integrationLeases:t.integrationLeases}:{},metadata:{...Fn(t.metadata),manifestScheduleName:n,source:`openpond-app-sandbox-template-start`}}]}catch{return[]}}):[]}function Cn(e){return e.scheduleExpression?{scheduleType:e.scheduleType??`cron`,scheduleExpression:e.scheduleExpression}:e.rate?{scheduleType:`rate`,scheduleExpression:/^rate\(/i.test(e.rate)?e.rate:`rate(${e.rate})`}:e.once?{scheduleType:`once`,scheduleExpression:/^at\(/i.test(e.once)?e.once:`at(${e.once})`}:{scheduleType:`cron`,scheduleExpression:e.cron??``}}function wn(e,t){let n=t.command??t.target?.command??null;if(n)return{kind:`command`,command:n,requiresStart:t.requiresStart??t.target?.requiresStart??!1};let r=t.target?.kind??`action`;if(r===`start`)return{kind:`command`,command:e.start.command,requiresStart:t.requiresStart??t.target?.requiresStart??e.start.requiresStart??!1};if(r===`service`){let n=t.target?.name??``,r=e.services.find(e=>e.name===n);if(!r)throw Error(`schedule_service_target_missing`);return{kind:`command`,command:r.command,requiresStart:t.requiresStart??t.target?.requiresStart??r.requiresStart??!1}}let i=t.actionName??t.action??t.target?.actionName??(t.target?.kind===`action`?t.target?.name:void 0),a=e.actions.find(e=>e.name===i);if(!a)throw Error(`schedule_action_target_missing`);return{kind:`command`,command:a.command,requiresStart:t.requiresStart??t.target?.requiresStart??a.requiresStart??!1}}function Tn(e,t){return e.flatMap(e=>{let n=(t[e.name]??``).trim();return n?[{name:e.name,secretRef:n}]:[]})}function En(e,t){let n={};for(let r of e){let e=t[r.name]??``;if(e.trim()||r.required){if(r.type===`boolean`)n[r.name]=e===`true`;else if(r.type===`number`||r.type===`integer`){let t=Number(e);Number.isFinite(t)&&(n[r.name]=r.type===`integer`?Math.trunc(t):t)}else n[r.name]=e}}return n}function Dn(e,t){let n=Nn(e[`x-openpond-targets`]??e.xOpenPondTargets??t.targets??t.actions).map(e=>e.trim()).filter(Boolean);return n.length>0?[...new Set(n)]:null}function On(e,t){return typeof e.accept==`string`?e.accept.trim():Array.isArray(e.accept)?e.accept.filter(e=>typeof e==`string`).join(`,`):typeof t.accept==`string`?t.accept.trim():``}function kn(e,t){return(typeof e.targetPath==`string`&&e.targetPath.trim()?e.targetPath.trim():typeof e.path==`string`&&e.path.trim()?e.path.trim():`uploads/${t}`).replace(/^\/+/,``).replace(/^workspace\//,``).replace(/\/+$/,``)}function An(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:null}function jn(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:null}function Mn(e,t){return[t,...e.slice(1)]}function Nn(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Pn(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[-_]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function Fn(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}var $=n();function In({busy:e,defaultRepoUrl:t,projectName:n,commitBeforeCreate:r,templateManifest:i,uploadBeforeCreate:a,onClose:o,onSubmit:s}){let c=(0,Q.useMemo)(()=>gn(i),[i]),l=c.entrypoints[0]??null,[u,d]=(0,Q.useState)(t),[f,p]=(0,Q.useState)(l?.name??``),[m,h]=(0,Q.useState)(l?.command??``),[g,_]=(0,Q.useState)(l?.timeoutSeconds?String(l.timeoutSeconds):``),[v,y]=(0,Q.useState)(`Update ${n}`),[b,x]=(0,Q.useState)(`0.05`),[S,C]=(0,Q.useState)(()=>Object.fromEntries(c.scalarInputs.map(e=>[e.name,e.defaultValue]))),[w,T]=(0,Q.useState)(()=>Object.fromEntries(c.envInputs.map(e=>[e.name,``]))),[E,D]=(0,Q.useState)({}),O=c.volumes[0]??null,[k,A]=(0,Q.useState)(c.volumes.length>0||c.fileInputs.length>0),[j,M]=(0,Q.useState)(O?.name??`volume`),[N,P]=(0,Q.useState)(O?.mountPath??`/workspace/volumes/volume`),[F,I]=(0,Q.useState)(String(O?.storageGb??8)),[L,re]=(0,Q.useState)(!(O?.deleteOnSandboxDelete??!1)),[R,ie]=(0,Q.useState)(c.schedules),ae=c.entrypoints.find(e=>e.name===f)??l,z=ae?.ports??[],B=z[0]??null,[V,H]=(0,Q.useState)(!!B),[U,oe]=(0,Q.useState)(B?String(B.port):``),W=Number(U),G=Number(b),K=Number(F),se=Number(g),ce=!g.trim()||Number.isInteger(se)&&se>0&&se<=86400,q=!V||Number.isInteger(W)&&W>=3e3&&W<=9999&&z.some(e=>e.port===W),le=Number.isFinite(G)&&G>0,J=!k||Number.isInteger(K)&&K>0,ue=R.every(e=>!e.enabled||!!e.scheduleExpression.trim()),de=_n(c.scalarInputs,f),Y=_n(c.fileInputs,f),fe=c.envInputs.every(e=>!e.required||!!(w[e.name]??``).trim()),pe=c.envInputs.filter(e=>e.required&&!(w[e.name]??``).trim()),me=(a||!!u.trim())&&!!m.trim()&&le&&ce&&J&&de.every(e=>!e.required||!!(S[e.name]??``).trim())&&Y.every(e=>!e.required||(E[e.name]?.length??0)>0)&&fe&&ue&&q;function he(e){p(e);let t=c.entrypoints.find(t=>t.name===e);if(!t)return;h(t.command),_(t.timeoutSeconds?String(t.timeoutSeconds):``);let n=t.ports[0]??null;oe(n?String(n.port):``),H(!!n)}function ge(e,t){C(n=>({...n,[e]:t}))}function _e(e,t){T(n=>({...n,[e]:t}))}function ve(e,t){let n=Array.from(t.target.files??[]);D(t=>({...t,[e.name]:e.multiple?n:n.slice(0,1)}))}function X(e,t){ie(n=>n.map((n,r)=>r===e?{...n,...t}:n))}function ye(t){t.preventDefault(),me&&!e&&s({repoUrl:u.trim(),command:m.trim(),entrypointName:f,commitMessage:v.trim(),budgetUsd:b.trim(),params:En(de,S),env:Tn(c.envInputs,w),timeoutSeconds:g.trim()&&Number.isInteger(se)?se:ae?.timeoutSeconds??null,uploads:Y.flatMap(e=>{let t=E[e.name]??[];return t.length>0?[{inputName:e.name,label:e.label,targetPath:e.targetPath,multiple:e.multiple,files:t}]:[]}),resources:c.resources,volumes:k?Mn(c.volumes,{...j.trim()?{name:j.trim()}:{},...N.trim()?{mountPath:N.trim()}:{},...Number.isInteger(K)&&K>0?{storageGb:K}:{},deleteOnSandboxDelete:!L}):[],schedules:R.filter(e=>e.enabled),openPreview:V,previewPort:V?W:null,previewLabel:z.find(e=>e.port===W)?.label??`web`,previewAccess:z.find(e=>e.port===W)?.access??`private`})}return(0,$.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,$.jsxs)(`form`,{className:`git-dialog run-once-dialog sandbox-start-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Start sandbox`,onSubmit:ye,children:[(0,$.jsx)(`button`,{className:`git-dialog-close`,disabled:e,type:`button`,title:`Close`,"aria-label":`Close`,onClick:o,children:(0,$.jsx)(ne,{size:15})}),(0,$.jsxs)(`div`,{className:`sandbox-start-dialog-heading`,children:[(0,$.jsx)(`div`,{className:`git-dialog-icon`,children:(0,$.jsx)(te,{size:18})}),(0,$.jsx)(`h2`,{children:`Start sandbox`}),(0,$.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,$.jsx)(`span`,{children:`Project`}),(0,$.jsx)(`strong`,{children:n})]})]}),(0,$.jsxs)(`div`,{className:`sandbox-start-dialog-body`,children:[a?null:(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Repository`}),(0,$.jsx)(`input`,{disabled:e,value:u,onChange:e=>d(e.target.value)})]}),r?(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Commit message`}),(0,$.jsx)(`input`,{disabled:e,value:v,onChange:e=>y(e.target.value)})]}):null,c.entrypoints.length>0?(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Run target`}),(0,$.jsx)(`select`,{disabled:e,value:f,onChange:e=>he(e.target.value),children:c.entrypoints.map(e=>(0,$.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}):null,(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Shell command`}),(0,$.jsx)(`input`,{disabled:e,value:m,onChange:e=>h(e.target.value)})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Timeout seconds`}),(0,$.jsx)(`input`,{disabled:e,inputMode:`numeric`,value:g,onChange:e=>_(e.target.value)})]}),de.map(t=>t.type===`boolean`?(0,$.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,$.jsx)(`input`,{checked:(S[t.name]??``)===`true`,disabled:e,type:`checkbox`,onChange:e=>ge(t.name,e.target.checked?`true`:`false`)}),(0,$.jsx)(`span`,{}),t.label]},t.name):(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:t.label}),(0,$.jsx)(`input`,{disabled:e,inputMode:t.type===`number`||t.type===`integer`?`decimal`:void 0,value:S[t.name]??``,onChange:e=>ge(t.name,e.target.value)})]},t.name)),Y.map(t=>(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:t.label}),(0,$.jsx)(`input`,{accept:t.accept||void 0,disabled:e,multiple:t.multiple,type:`file`,onChange:e=>ve(t,e)})]},t.name)),c.envInputs.length>0?(0,$.jsxs)(`div`,{className:`sandbox-start-env-section`,children:[(0,$.jsx)(`div`,{className:`sandbox-start-section-title`,children:`Environment`}),pe.length>0?(0,$.jsxs)(`p`,{className:`sandbox-start-env-warning`,role:`status`,children:[`Required sandbox secret ref missing: `,pe.map(e=>e.name).join(`, `)]}):null,c.envInputs.map(t=>{let n=w[t.name]??``,r=t.required&&!n.trim(),i=`sandbox-env-${t.name}-description`;return(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsxs)(`span`,{children:[t.name,t.required?` *`:``]}),(0,$.jsx)(`input`,{"aria-describedby":i,"aria-invalid":r,disabled:e,placeholder:`openpond://secret/...`,value:n,onChange:e=>_e(t.name,e.target.value)}),(0,$.jsx)(`small`,{id:i,children:r?`Add a sandbox secret ref before starting.`:t.description||`Sandbox secret ref only.`})]},t.name)})]}):null,Y.length>0||c.volumes.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,$.jsx)(`input`,{checked:k,disabled:e,type:`checkbox`,onChange:e=>A(e.target.checked)}),(0,$.jsx)(`span`,{}),`Mount volume`]}),k?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`run-once-dialog-grid`,children:[(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Volume`}),(0,$.jsx)(`input`,{disabled:e,value:j,onChange:e=>M(e.target.value)})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Storage GiB`}),(0,$.jsx)(`input`,{disabled:e,inputMode:`numeric`,value:F,onChange:e=>I(e.target.value)})]})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Mount path`}),(0,$.jsx)(`input`,{disabled:e,value:N,onChange:e=>P(e.target.value)})]}),(0,$.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,$.jsx)(`input`,{checked:L,disabled:e,type:`checkbox`,onChange:e=>re(e.target.checked)}),(0,$.jsx)(`span`,{}),`Keep volume`]})]}):null]}):null,R.length>0?(0,$.jsxs)(`div`,{className:`sandbox-start-schedules`,children:[(0,$.jsx)(`div`,{className:`sandbox-start-section-title`,children:`Schedules`}),R.map((t,n)=>(0,$.jsxs)(`div`,{className:`sandbox-start-schedule-row`,children:[(0,$.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,$.jsx)(`input`,{checked:t.enabled,disabled:e,type:`checkbox`,onChange:e=>X(n,{enabled:e.target.checked})}),(0,$.jsx)(`span`,{}),t.name]}),(0,$.jsxs)(`div`,{className:`run-once-dialog-grid`,children:[(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Type`}),(0,$.jsxs)(`select`,{disabled:e||!t.enabled,value:t.scheduleType,onChange:e=>X(n,{scheduleType:e.target.value}),children:[(0,$.jsx)(`option`,{value:`rate`,children:`Rate`}),(0,$.jsx)(`option`,{value:`cron`,children:`Cron`}),(0,$.jsx)(`option`,{value:`once`,children:`Once`})]})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Max runs`}),(0,$.jsx)(`input`,{disabled:e||!t.enabled,inputMode:`numeric`,value:t.maxRuns??``,onChange:e=>{let t=Number(e.target.value);X(n,{maxRuns:Number.isInteger(t)&&t>0?t:null})}})]})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Expression`}),(0,$.jsx)(`input`,{disabled:e||!t.enabled,value:t.scheduleExpression,onChange:e=>X(n,{scheduleExpression:e.target.value})})]})]},t.name))]}):null,(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Budget`}),(0,$.jsx)(`input`,{disabled:e,inputMode:`decimal`,value:b,onChange:e=>x(e.target.value)})]}),z.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,$.jsx)(`input`,{checked:V,disabled:e,type:`checkbox`,onChange:e=>H(e.target.checked)}),(0,$.jsx)(`span`,{}),`Open preview`]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Preview port`}),(0,$.jsx)(`select`,{disabled:e||!V,value:U,onChange:e=>oe(e.target.value),children:z.map(e=>(0,$.jsx)(`option`,{value:e.port,children:e.label?`${e.label} (${e.port})`:e.port},e.port))})]})]}):null]}),(0,$.jsxs)(`div`,{className:`git-dialog-footer sandbox-start-dialog-footer`,children:[(0,$.jsx)(`button`,{className:`git-dialog-secondary`,disabled:e,type:`button`,onClick:o,children:`Cancel`}),(0,$.jsxs)(`button`,{className:`git-dialog-primary`,disabled:e||!me,title:fe?void 0:`Required sandbox secret refs are missing.`,type:`submit`,children:[(0,$.jsx)(ee,{size:14}),`Start`]})]})]})})}function Ln({busy:e,projectName:t,templateManifest:n,onClose:r,onSubmit:i}){let a=(0,Q.useMemo)(()=>gn(n),[n]),o=(0,Q.useMemo)(()=>n?tn(n).filter(e=>e.kind===`action`):[],[n]),s=o[0]??null,[c,l]=(0,Q.useState)(`sandbox`),[u,d]=(0,Q.useState)(s?.name??``),[f,p]=(0,Q.useState)(()=>Object.fromEntries(a.scalarInputs.map(e=>[e.name,e.defaultValue]))),[m,h]=(0,Q.useState)(()=>Object.fromEntries(a.envInputs.map(e=>[e.name,``]))),[g,v]=(0,Q.useState)({}),y=_n(a.scalarInputs,u),b=_n(a.fileInputs,u),x=c===`sandbox`?a.envInputs:[],S=y.every(e=>!e.required||!!(f[e.name]??``).trim()),C=b.every(e=>!e.required||(g[e.name]?.length??0)>0),w=x.every(e=>!e.required||!!(m[e.name]??``).trim()),T=x.filter(e=>e.required&&!(m[e.name]??``).trim()),E=!!u&&S&&C&&w;function D(e,t){p(n=>({...n,[e]:t}))}function O(e,t){h(n=>({...n,[e]:t}))}function k(e,t,n){let r=Array.from(n.target.files??[]);v(n=>({...n,[e]:t?r:r.slice(0,1)}))}function A(t){t.preventDefault(),E&&!e&&i({mode:c,target:u,params:En(y,f),env:c===`sandbox`?Tn(x,m):[],uploads:b.flatMap(e=>{let t=g[e.name]??[];return t.length>0?[{inputName:e.name,label:e.label,targetPath:e.targetPath,multiple:e.multiple,files:t}]:[]})})}return(0,$.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,$.jsxs)(`form`,{className:`git-dialog run-once-dialog sandbox-start-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Run sandbox action`,onSubmit:A,children:[(0,$.jsx)(`button`,{className:`git-dialog-close`,disabled:e,type:`button`,title:`Close`,"aria-label":`Close`,onClick:r,children:(0,$.jsx)(ne,{size:15})}),(0,$.jsxs)(`div`,{className:`sandbox-start-dialog-heading`,children:[(0,$.jsx)(`div`,{className:`git-dialog-icon`,children:(0,$.jsx)(_,{size:18})}),(0,$.jsx)(`h2`,{children:`Run action`}),(0,$.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,$.jsx)(`span`,{children:`Project`}),(0,$.jsx)(`strong`,{children:t})]})]}),(0,$.jsxs)(`div`,{className:`sandbox-start-dialog-body`,children:[(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Action`}),(0,$.jsx)(`select`,{disabled:e||o.length===0,value:u,onChange:e=>d(e.target.value),children:o.map(e=>(0,$.jsx)(`option`,{value:e.name,children:e.name},e.name))})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Run on`}),(0,$.jsxs)(`select`,{disabled:e,value:c,onChange:e=>l(e.target.value===`local`?`local`:`sandbox`),children:[(0,$.jsx)(`option`,{value:`sandbox`,children:`Hosted sandbox (start/update)`}),(0,$.jsx)(`option`,{value:`local`,children:`Local machine`})]})]}),y.map(t=>t.type===`boolean`?(0,$.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,$.jsx)(`input`,{checked:(f[t.name]??``)===`true`,disabled:e,type:`checkbox`,onChange:e=>D(t.name,e.target.checked?`true`:`false`)}),(0,$.jsx)(`span`,{}),t.label]},t.name):(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:t.label}),(0,$.jsx)(`input`,{disabled:e,inputMode:t.type===`number`||t.type===`integer`?`decimal`:void 0,value:f[t.name]??``,onChange:e=>D(t.name,e.target.value)})]},t.name)),b.map(t=>(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:t.label}),(0,$.jsx)(`input`,{accept:t.accept||void 0,disabled:e,multiple:t.multiple,type:`file`,onChange:e=>k(t.name,t.multiple,e)})]},t.name)),x.length>0?(0,$.jsxs)(`div`,{className:`sandbox-start-env-section`,children:[(0,$.jsx)(`div`,{className:`sandbox-start-section-title`,children:`Environment`}),T.length>0?(0,$.jsxs)(`p`,{className:`sandbox-start-env-warning`,role:`status`,children:[`Required sandbox secret ref missing: `,T.map(e=>e.name).join(`, `)]}):null,x.map(t=>{let n=m[t.name]??``,r=t.required&&!n.trim(),i=`sandbox-action-env-${t.name}-description`;return(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsxs)(`span`,{children:[t.name,t.required?` *`:``]}),(0,$.jsx)(`input`,{"aria-describedby":i,"aria-invalid":r,disabled:e,placeholder:`openpond://secret/...`,value:n,onChange:e=>O(t.name,e.target.value)}),(0,$.jsx)(`small`,{id:i,children:r?`Add a sandbox secret ref before running.`:t.description||`Sandbox secret ref only.`})]},t.name)})]}):null]}),(0,$.jsxs)(`div`,{className:`git-dialog-footer sandbox-start-dialog-footer`,children:[(0,$.jsx)(`button`,{className:`git-dialog-secondary`,disabled:e,type:`button`,onClick:r,children:`Cancel`}),(0,$.jsxs)(`button`,{className:`git-dialog-primary`,disabled:e||!E,title:w?void 0:`Required sandbox secret refs are missing.`,type:`submit`,children:[(0,$.jsx)(_,{size:14}),`Run`]})]})]})})}function Rn(e,t){let n=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`;return t===`cron`?`name: ${n}\nversion: 0.1.0\nuseCase: scheduled_report\nstart:\n command: pnpm report\nschedules:\n - name: daily-report\n command: pnpm report\n cron: \"0 9 * * *\"`:t===`background`?`name: ${n}\nversion: 0.1.0\nuseCase: background_worker\nstart:\n command: pnpm worker\nservices:\n - name: worker\n command: pnpm worker`:t===`resources`?`name: ${n}\nversion: 0.1.0\nuseCase: resource_profile\nresources:\n cpu: 1\n memoryGb: 2\n diskGb: 16\nstart:\n command: pnpm start`:`name: ${n}\nversion: 0.1.0\nuseCase: action\nstart:\n command: pnpm start\nactions:\n - name: hello\n command: pnpm hello`}function zn(e,t){return t||(e===`missing_config`?`${At} missing`:e===`needs_project`?`Local config is ready`:e===`needs_sync`?`Project needs manifest sync`:e===`needs_agent`?`Project is synced`:e===`ready`?`Agent is ready`:`Setup unavailable`)}function Bn(e){return e?.source===`openpond`?`OpenPond Git`:e?.source===`github`?`GitHub`:e?.source===`local_git`?`Local Git`:e?.source===`local_folder`?`Local folder`:`Workspace`}function Vn(e){let t=$n($n(e.data).remote);return(typeof t.remoteUrl==`string`?t.remoteUrl.trim():``)||null}function Hn(e){let t=$n($n(e.data).sandbox);return(typeof t.id==`string`?t.id.trim():``)||null}function Un(e){return e?typeof e.metadata?.name==`string`&&e.metadata.name.trim()?e.metadata.name.trim():e.projectId?`Project sandbox ${tr(e.id)}`:e.agentId?`Agent sandbox ${tr(e.id)}`:`Sandbox ${tr(e.id)}`:null}function Wn(e,t){return{sourceSandboxId:t,name:e.name,...e.description?{description:e.description}:{},scheduleType:e.scheduleType,scheduleExpression:e.scheduleExpression,enabled:!0,...e.timezone?{timezone:e.timezone}:{},...e.startAt?{startAt:e.startAt}:{},...e.endAt?{endAt:e.endAt}:{},...e.maxRuns===void 0?{}:{maxRuns:e.maxRuns},...e.runtimePolicy?{runtimePolicy:e.runtimePolicy}:{},target:e.target,...e.budget?{budget:e.budget}:{},...e.resources?{resources:e.resources}:{},...e.quotas?{quotas:e.quotas}:{},...e.lifecycle?{lifecycle:e.lifecycle}:{},...e.retentionPolicy?{retentionPolicy:e.retentionPolicy}:{},...e.env?{env:e.env}:{},...e.integrationLeases?{integrationLeases:e.integrationLeases}:{},metadata:e.metadata??{},managementSource:`openpond.yaml`,manifestPath:At}}function Gn(e){let t=e?.gitOwner?.trim()??``,n=e?.gitRepo?.trim()??``,r=e?.gitHost?.trim()??``;if(!t||!n||!r)return null;let i=n.endsWith(`.git`)?n:`${n}.git`;return/^https?:\/\//i.test(r)?`${r.replace(/\/+$/,``)}/${t}/${i}`:`https://${r.replace(/\/+$/,``)}/${t}/${i}`}function Kn(e,t){let n=t.trim();if(e===`github_repo`){let[e,t]=n.replace(/^https:\/\/github\.com\//i,``).replace(/^git@github\.com:/i,``).replace(/\.git$/i,``).split(`/`).filter(Boolean);return{gitHost:`github.com`,gitOwner:e??null,gitRepo:t??null,internalRepoPath:null,templateRepoUrl:null}}return e===`internal_repo`?{gitHost:`openpond.ai`,gitOwner:null,gitRepo:n.split(`/`).filter(Boolean).at(-1)??null,internalRepoPath:n||null,templateRepoUrl:null}:e===`template`?{gitHost:null,gitOwner:null,gitRepo:null,internalRepoPath:null,templateRepoUrl:n||null}:{gitHost:null,gitOwner:null,gitRepo:null,internalRepoPath:null,templateRepoUrl:null}}function qn(e,t){let n=e.trim().replace(/^\/+/,``).replace(/^workspace\//,``).replace(/\/+$/,``),r=t.trim().replace(/[/\\]+/g,`-`).replace(/[^A-Za-z0-9._-]+/g,`-`).replace(/^-+|-+$/g,``)||`upload`;return`${n||`uploads`}/${r}`}function Jn(e,t){return`OPENPOND_REPLAY_PARAMS_BASE64='${Qn({input:t})}' ${e}`}function Yn(e,t,n){return[`cd`,Xn(e),`&&`,`openpond`,`sandbox-template`,t,`--file`,At,`--target`,Xn(n)].join(` `)}function Xn(e){return`'${e.replace(/'/g,`'\\''`)}'`}function Zn(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let[,e=``]=(typeof r.result==`string`?r.result:``).split(`,`,2);t(e)},r.onerror=()=>n(r.error??Error(`Failed to read file`)),r.readAsDataURL(e)})}function Qn(e){let t=JSON.stringify(e),n=new TextEncoder().encode(t),r=``;for(let e of n)r+=String.fromCharCode(e);return window.btoa(r)}function $n(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function er(e){return e instanceof Error?e.message:String(e)}function tr(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}async function nr(e){e&&(await e(`sandbox_preserve_source`),await e(`sandbox_stop`))}function rr(e){return{...e.teamId?{teamId:e.teamId}:{},...e.projectId?{projectId:e.projectId}:{},runtime:{runtimeId:e.runtimeId},visibility:`team`,budget:{maxUsd:`0.05`},quotas:{idleTimeoutSeconds:900,maxSpendUsd:`0.05`},metadata:{source:`openpond-app-environment-menu-sandbox-resume`,resumeSandboxId:e.id,previousState:e.state}}}function ir({canCreateSandboxProject:e,canInitGit:t,defaultSandboxRepoUrl:n,gitWorkspace:r,hasRemote:i,isProjectWorkspace:a,isSandboxWorkspace:o,managed:s,onOpenCommitDialog:c,onRunTerminalCommand:l,onWorkspaceToolAction:u,projectSandboxTemplate:d,projectSandboxTemplateValid:f,sandboxTemplateActionTargetCount:p,sandboxTemplateServiceTargets:h,sandboxResumeTarget:g,selectedApp:x,selectedProject:S,setSandboxCreateDialogOpen:C,setSandboxRunActionDialogOpen:w,workspaceBusyValue:O,workspaceReady:A,workspaceState:ee}){let M=[{icon:(0,$.jsx)(k,{size:14}),label:`Initialize Git`,disabled:s||!t||O||!A||!u,onSelect:()=>u?.(`git_init`)},{icon:(0,$.jsx)(m,{size:14}),label:`Commit changes`,disabled:s||!r||O||!A||!ee?.dirty||!c,onSelect:()=>c?.(`commit`)},{icon:(0,$.jsx)(b,{size:14}),label:`Push branch`,disabled:s||!r||O||!A||!i||!u,onSelect:()=>u?.(`git_push`)},{icon:(0,$.jsx)(v,{size:14}),label:`Fetch remote`,disabled:s||!r||O||!A||!i||!u,onSelect:()=>u?.(`git_fetch`)},{icon:(0,$.jsx)(E,{size:14}),label:`Create PR`,disabled:!0,onSelect:()=>void 0}],N=[...d?[]:[{icon:(0,$.jsx)(te,{size:14}),label:`Create sandbox template`,disabled:s||O||!A||!u,onSelect:()=>u?.(`create_sandbox_template_scaffold`)}],{icon:(0,$.jsx)(D,{size:14}),label:`Validate ${At}`,disabled:s||O||!A||!u,onSelect:()=>u?.(`validate_sandbox_template`)},{icon:(0,$.jsx)(fn,{size:14}),label:`Build template`,disabled:s||O||!A||!u,onSelect:()=>u?.(`build_sandbox_template`)},{icon:(0,$.jsx)(_,{size:14}),label:`Run start locally`,disabled:s||O||!A||!u,onSelect:()=>u?.(`run_sandbox_template`,{mode:`local`,target:`start`})},{icon:(0,$.jsx)(_,{size:14}),label:`Run action`,disabled:s||O||!A||!f||p===0,onSelect:()=>w(!0)},...h.map(e=>({icon:(0,$.jsx)(j,{size:14}),label:`Dev ${e.name} locally`,disabled:s||O||!A||!f||!S?.sandboxTemplate?.rootPath||!l,onSelect:()=>l?.(Yn(S?.sandboxTemplate?.rootPath??``,`dev`,e.name))})),{icon:(0,$.jsx)(te,{size:14}),label:`Start sandbox`,disabled:s||O||!A||!e,onSelect:()=>C(!0)}],P=[{icon:(0,$.jsx)(v,{size:14}),label:`Sandbox status`,disabled:O||!u,onSelect:()=>u?.(`sandbox_status`)},{icon:(0,$.jsx)(_,{size:14}),label:`Resume sandbox`,disabled:O||!u||!g?.runtimeId||g.state===`running`||g.state===`creating`,onSelect:()=>g?.runtimeId?u?.(`sandbox_create`,rr(g)):void 0},{icon:(0,$.jsx)(F,{size:14}),label:`Sandbox logs`,disabled:O||!u,onSelect:()=>u?.(`sandbox_logs`)},{icon:(0,$.jsx)(D,{size:14}),label:`Receipts`,disabled:O||!u,onSelect:()=>u?.(`sandbox_receipts`)},{icon:(0,$.jsx)(T,{size:14}),label:`Export patch`,disabled:O||!u,onSelect:()=>u?.(`sandbox_git_export_patch`)},{icon:(0,$.jsx)(b,{size:14}),label:`Apply locally`,disabled:O||!u,onSelect:()=>u?.(`sandbox_git_apply_patch_local`)},{icon:(0,$.jsx)(y,{size:14}),label:`Checkpoint and stop`,disabled:O||!u,onSelect:()=>nr(u)}];return{gitActionItems:M,sandboxActionItems:o?P:a?N:[{icon:(0,$.jsx)(te,{size:14}),label:n?`Create sandbox from repo`:`Create sandbox`,disabled:O||!u,onSelect:()=>u?.(`sandbox_create`,{...n?{repo:n}:{},visibility:`team`,budget:{maxUsd:`0.05`},quotas:{maxSpendUsd:`0.05`},metadata:{source:`openpond-app-environment-menu-sandbox`,...x?.name?{appName:x.name}:{}}})},{icon:(0,$.jsx)(v,{size:14}),label:`List templates`,disabled:O||!u,onSelect:()=>u?.(`sandbox_templates`)}]}}function ar({busy:e,error:t,projectName:n,onClose:r,onSubmit:i}){let[a,o]=(0,Q.useState)(`action`),[s,c]=(0,Q.useState)(At),l=n.trim()||`local-agent`;return(0,$.jsxs)(lr,{title:`Add Agent config`,busy:e,error:t,onClose:r,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Template preset`}),(0,$.jsxs)(`select`,{value:a,onChange:e=>o(e.target.value),disabled:e,children:[(0,$.jsx)(`option`,{value:`action`,children:`Action`}),(0,$.jsx)(`option`,{value:`cron`,children:`Cron`}),(0,$.jsx)(`option`,{value:`background`,children:`Background worker`}),(0,$.jsx)(`option`,{value:`resources`,children:`Resource profile`})]})]}),(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Manifest path`}),(0,$.jsx)(`input`,{value:s,onChange:e=>c(e.target.value),disabled:e})]}),(0,$.jsx)(`pre`,{children:Rn(l,a)}),(0,$.jsx)(ur,{busy:e,actionLabel:`Write config`,canSubmit:!!s.trim(),onClose:r,onSubmit:()=>i({name:l,preset:a,manifestPath:s.trim()})})]})}function or({busy:e,defaultBranch:t,defaultTeamId:n,error:r,projectName:i,sourceIdentity:a,onClose:o,onSubmit:s}){let c=n,[l,u]=(0,Q.useState)(i),[d,f]=(0,Q.useState)(/github\.com[:/]/i.test(a)?`github_repo`:`manual`),[p,m]=(0,Q.useState)(a),[h,g]=(0,Q.useState)(t||`main`),[_,v]=(0,Q.useState)(!0);return(0,$.jsxs)(lr,{title:`Connect Project`,busy:e,error:r,onClose:o,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Project name`}),(0,$.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),disabled:e})]}),(0,$.jsxs)(`div`,{className:`agent-setup-two-col`,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Source type`}),(0,$.jsxs)(`select`,{value:d,onChange:e=>f(e.target.value),disabled:e,children:[(0,$.jsx)(`option`,{value:`manual`,children:`Manual`}),(0,$.jsx)(`option`,{value:`github_repo`,children:`GitHub repo`}),(0,$.jsx)(`option`,{value:`internal_repo`,children:`Internal repo`}),(0,$.jsx)(`option`,{value:`template`,children:`Template`})]})]}),(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Default branch`}),(0,$.jsx)(`input`,{value:h,onChange:e=>g(e.target.value),disabled:e})]})]}),(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Source identity`}),(0,$.jsx)(`input`,{value:p,onChange:e=>m(e.target.value),disabled:e})]}),(0,$.jsxs)(`label`,{className:`agent-setup-check`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:_,onChange:e=>v(e.target.checked),disabled:e}),(0,$.jsx)(`span`,{children:`Sync now`})]}),(0,$.jsx)(ur,{busy:e,actionLabel:_?`Connect and sync`:`Connect Project`,canSubmit:!!(l.trim()&&c),onClose:o,onSubmit:()=>s({teamId:c,projectName:l.trim(),sourceType:d,sourceIdentity:p.trim(),defaultBranch:h.trim(),syncNow:_})})]})}function sr({busy:e,defaultName:t,error:n,onClose:r,onSubmit:i}){let[a,o]=(0,Q.useState)(t),[s,c]=(0,Q.useState)(!0);return(0,$.jsxs)(lr,{title:`Create Agent`,busy:e,error:n,onClose:r,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`span`,{children:`Agent name`}),(0,$.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),disabled:e})]}),(0,$.jsx)(`div`,{className:`agent-setup-summary`,children:`Entire manifest · Manual trigger · Package defaults`}),(0,$.jsxs)(`label`,{className:`agent-setup-check`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:s,onChange:e=>c(e.target.checked),disabled:e}),(0,$.jsx)(`span`,{children:`Create and test run`})]}),(0,$.jsx)(ur,{busy:e,actionLabel:`Create Agent`,canSubmit:!!a.trim(),onClose:r,onSubmit:()=>i({agentName:a.trim(),createTestRun:s})})]})}function cr({actionLabel:e,busy:t,error:n,summary:r,title:i,onClose:a,onSubmit:o}){return(0,$.jsxs)(lr,{title:i,busy:t,error:n,onClose:a,children:[(0,$.jsx)(`div`,{className:`agent-setup-summary`,children:r}),(0,$.jsx)(ur,{busy:t,actionLabel:e,canSubmit:!0,onClose:a,onSubmit:o})]})}function lr({busy:e,children:t,error:n,title:r,onClose:i}){return x(n),(0,$.jsx)(`div`,{className:`agent-setup-dialog-backdrop`,role:`presentation`,onMouseDown:i,children:(0,$.jsxs)(`section`,{className:`agent-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":r,onMouseDown:e=>e.stopPropagation(),children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`h3`,{children:r}),(0,$.jsx)(`button`,{type:`button`,disabled:e,onClick:i,children:`Close`})]}),(0,$.jsx)(`div`,{className:`agent-setup-fields`,children:t})]})})}function ur({actionLabel:e,busy:t,canSubmit:n,onClose:r,onSubmit:i}){return(0,$.jsxs)(`div`,{className:`agent-setup-dialog-actions`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:t,onClick:r,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,disabled:t||!n,onClick:i,children:t?`Working`:e})]})}function dr(e){return e.split(`
|
|
35
|
-
`).filter(e=>e.trim()).length}function fr(e){return e.status===`loading`?`Checking sandbox changes`:e.status===`error`?`Sandbox status unavailable`:e.status===`ready`?e.changedFiles===0?`Sandbox clean`:`${e.changedFiles} sandbox changed ${e.changedFiles===1?`file`:`files`}`:`Sandbox changes unknown`}function pr(e){return e>0&&e%3600==0?`${e/3600} hr`:e>0&&e%60==0?`${e/60} min`:`${e} sec`}function mr(e){let t=e?.trim();if(!t)return null;if(t.startsWith(`$`))return t;let n=Number(t);if(!Number.isFinite(n))return`$${t}`;if(n===0)return`$0`;let r=n>=1?2:4;return`$${n.toFixed(r).replace(/0+$/,``).replace(/\.$/,``)}`}function hr(e){return e.receipts.slice().sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))[0]??null}function gr(e){let t=hr(e);if(t){let n=mr(t.totalUsd);if(t.reason===`idle_timeout`)return n?`stopped by idle timeout · charged ${n}`:`stopped by idle timeout`;if(t.reason===`budget_exhausted`)return n?`budget exhausted · charged ${n}`:`budget exhausted`;if(e.state!==`running`)return n?`receipt ${t.status} · charged ${n}`:`receipt ${t.status}`}if(e.reservation.status===`reserved`){let t=mr(e.reservation.reservedUsd);return t?`reservation active ${t}`:`reservation active`}if(e.reservation.status===`captured`){let t=mr(e.reservation.capturedUsd);return t?`captured ${t}`:`captured`}return e.reservation.status===`released`?`reservation released`:null}function _r(e){if(!e)return`Loading sandbox policy`;let t=typeof e.quotas?.idleTimeoutSeconds==`number`&&e.quotas.idleTimeoutSeconds>0?e.quotas.idleTimeoutSeconds:null,n=mr(e.quotas?.maxSpendUsd??e.budget.maxUsd),r=[t?`Auto-stop after ${pr(t)} idle`:`Auto-stop policy unavailable`];n&&r.push(`cap ${n}`);let i=gr(e);return i&&r.push(i),r.join(` · `)}function vr({mode:e,busy:t,workspaceState:n,workspaceId:r,workspaceKind:i,selectedApp:a,selectedProject:o,workspaceBusy:s,defaultTeamId:c,workspaceDiff:l,managedWorkspace:u,showDiffControls:d,diffPanelOpen:f,onToggleDiffPanel:m,onRunTerminalCommand:_,onWorkspaceToolAction:v,onOpenCommitDialog:y,onWorkspaceBranchChange:b,onWorkspaceBranchCreate:x,connection:C,onBootstrap:w,onOpenSandboxWorkspace:T}){let[E,D]=(0,Q.useState)(!1),[k,ee]=(0,Q.useState)(!1),[j,F]=(0,Q.useState)(``),[ne,R]=(0,Q.useState)(!1),[ie,ae]=(0,Q.useState)(!1),[z,B]=(0,Q.useState)(null),[V,H]=(0,Q.useState)(!1),[U,oe]=(0,Q.useState)(!1),[W,G]=(0,Q.useState)(null),[K,se]=(0,Q.useState)([]),[ce,q]=(0,Q.useState)([]),[le,J]=(0,Q.useState)([]),[ue,de]=(0,Q.useState)({status:`idle`,changedFiles:0,error:null}),[Y,fe]=(0,Q.useState)(null),pe=(0,Q.useRef)(null),me=(0,Q.useRef)(null),he=!!n?.initialized,ge=!!s,_e=!!u,ve=i===`local_project`||!!o,X=i===`sandbox`||i===`sandbox_template`,ye=X&&r?.trim()||null,be=X?0:l?.additions??0,xe=X?0:l?.deletions??0,Se=X?ue.changedFiles:l?.filesChanged??n?.changedFilesCount??0,Ce=Se>0,we=X?fr(ue):Ce?`${Se} changed ${Se===1?`file`:`files`}`:`No changes`,Te=X?_r(Y):``,Ee=n?.source!==`local_folder`,De=ve&&n?.source===`local_folder`,Oe=!!n?.remoteUrl,ke=n?.remoteUrl?.trim()??``,Ae=Gn(a??null),je=!!o?.sandboxTemplate?.detected,Me=!!(o?.sandboxTemplate?.valid&&o.sandboxTemplate.normalizedManifest),Ne=o?.sandboxTemplate?.normalizedManifest??null,Pe=Ne?tn(Ne):[],Fe=Pe.filter(e=>e.kind===`action`),Ie=Pe.filter(e=>e.kind===`service`),Le=!!o?.linkedOpenPondApp?.appId,Z=P({localProject:o,organizations:K,projects:ce,agents:le,defaultTeamId:c}),Re=M(K,c),ze=ve&&je&&!Le,Be=ve&&je&&Me&&(ze||!!ke),Ve=n?Array.from(new Set([n.currentBranch,...n.branches].filter(e=>!!e))):[],He=n?.initialized?n.currentBranch??Ve[0]??`No branch`:`Not synced`,Ue=Bn(n),We=(0,Q.useMemo)(()=>{let e=j.trim().toLowerCase();return e?Ve.filter(t=>t.toLowerCase().includes(e)):Ve},[Ve,j]);(0,Q.useEffect)(()=>{if(!E)return;function e(e){pe.current?.contains(e.target)||D(!1)}function t(e){e.key===`Escape`&&D(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[E]),(0,Q.useEffect)(()=>{E&&k&&me.current?.focus()},[k,E]),(0,Q.useEffect)(()=>{if(!C||!E||!ve)return;let e=!1;return oe(!0),G(null),L.organizations(C).then(async t=>{if(e)return;let n=t.organizations.map(S).filter(e=>!!e).filter(e=>e.status===`active`);se(n);let r=M(n,c);if(!r)return;let[i,a]=await Promise.all([L.listSandboxProjects(C,{teamId:r.teamId}),L.listSandboxAgents(C,{teamId:r.teamId})]);e||(q(i.projects),J(a.agents))}).catch(t=>{e||G(er(t))}).finally(()=>{e||oe(!1)}),()=>{e=!0}},[C,c,ve,E]),(0,Q.useEffect)(()=>{if(!E||!X||!C||!ye){de({status:`idle`,changedFiles:0,error:null});return}let e=!1;return de(e=>({status:`loading`,changedFiles:e.changedFiles,error:null})),L.sandboxGitStatus(C,ye).then(t=>{e||de({status:`ready`,changedFiles:dr(t.status?.porcelain??``),error:null})}).catch(t=>{e||de({status:`error`,changedFiles:0,error:er(t)})}),()=>{e=!0}},[C,X,E,ye]),(0,Q.useEffect)(()=>{if(!E||!X||!C||!ye){fe(null);return}let e=!1;return L.sandbox(C,ye).then(t=>{e||fe(t.sandbox)}).catch(()=>{e||fe(null)}),()=>{e=!0}},[C,X,E,ye]);async function Ge(e){if(!v)return;let t=e.openPreview?mn():null,r=e.repoUrl||ke;if(ze){if(Oe&&!window.confirm(`Replace the current origin remote with a new OpenPond repo before starting the sandbox?`)){hn(t,null);return}let i=await v(`publish_openpond_repo`,{replaceOrigin:Oe,...n?.dirty?{commitDirty:!0,commitMessage:e.commitMessage}:{}});if(!i?.ok){hn(t,null);return}r=Vn(i)??r}else if(Ee&&Oe&&(n?.dirty&&!(await v(`git_commit`,{message:e.commitMessage,includeUnstaged:!0,runChecks:!1}))?.ok||!(await v(`git_push`,{runChecks:!1}))?.ok)){hn(t,null);return}if(!r){hn(t,null);return}let i=await v(`sandbox_create`,{repo:r,visibility:`team`,resources:e.resources,budget:{maxUsd:e.budgetUsd},quotas:{idleTimeoutSeconds:900,maxSpendUsd:e.budgetUsd},...e.env.length>0?{env:e.env}:{},...e.volumes.length>0?{volumes:e.volumes}:{},metadata:{source:`openpond-app-local-sandbox-template-start`,...e.entrypointName?{entrypointName:e.entrypointName}:{},...o?.id?{localProjectId:o.id}:{},...o?.name?{projectName:o.name}:{},...Ne?{templateName:Ne.name,templateVersion:Ne.version,templateUseCase:Ne.useCase,templateTargets:Pe.map(e=>({name:e.name,kind:e.kind}))}:{}},...e.openPreview&&e.previewPort?{previewPort:e.previewPort,previewLabel:e.previewLabel,previewAccess:e.previewAccess,previewAutoStart:!0}:{}}),a=pn(i);if(e.openPreview&&hn(t,a),!i?.ok)return;let s=Hn(i);for(let e of Ne?.setup.commands??[])if(!(await v(`sandbox_exec`,{command:e,timeoutSeconds:900}))?.ok)return;let c={};for(let t of e.uploads){let e=[];for(let n of t.files){let r=qn(t.targetPath,n.name);if(!(await v(`sandbox_upload_file`,{path:r,contentsBase64:await Zn(n)}))?.ok)return;e.push(r)}c[t.inputName]=t.multiple?e:e[0]??``}if((await v(`sandbox_exec`,{command:Jn(e.command,{...e.params,...c}),timeoutSeconds:e.timeoutSeconds??900}))?.ok){if(s){for(let t of e.schedules)if(!(await v(`sandbox_schedule_create`,Wn(t,s)))?.ok)return}R(!1)}}async function Ke(e){if(!v)return;let t={},n=[];for(let r of e.uploads){let e=[];for(let t of r.files){let i=qn(r.targetPath,t.name),a=await Zn(t);n.push({path:i,contentsBase64:a}),e.push(i)}t[r.inputName]=r.multiple?e:e[0]??``}ae(!1),await v(`run_sandbox_template`,{mode:e.mode,target:e.target,params:{...e.params,...t},...e.env.length>0?{env:e.env}:{},...n.length>0?{uploads:n}:{}})}async function qe(e=Re?.teamId){if(!C||!e)return;let[t,n]=await Promise.all([L.listSandboxProjects(C,{teamId:e}),L.listSandboxAgents(C,{teamId:e})]);q(t.projects),J(n.agents)}async function Je(e){if(v&&o){H(!0),G(null);try{if(!(await v(`create_sandbox_template_scaffold`,{manifestOnly:!0,manifestContent:Rn(e.name,e.preset),name:e.name,preset:e.preset,manifestPath:e.manifestPath}))?.ok)return;B(null)}catch(e){G(er(e))}finally{H(!1)}}}async function Ye(e){if(!C||!o||!w)return;let t=e.teamId;H(!0),G(null);try{let n=Kn(e.sourceType,e.sourceIdentity),r=(await L.upsertSandboxProject(C,{teamId:t,name:e.projectName,sourceType:e.sourceType,normalizedSourceIdentity:e.sourceIdentity||e.projectName,defaultBranch:e.defaultBranch||null,gitProvider:e.sourceType===`github_repo`?`github`:null,gitHost:n.gitHost,gitOwner:n.gitOwner,gitRepo:n.gitRepo,internalRepoPath:n.internalRepoPath,templateRepoUrl:n.templateRepoUrl,sourceConfig:{sourceType:e.sourceType,sourceValue:e.sourceIdentity||e.projectName},metadata:{source:`openpond-app-local-project-agent-setup`}})).project;e.syncNow&&(r=(await L.syncSandboxProject(C,r.id,{teamId:t})).project),w((await L.updateLocalProjectAgentSetup(C,o.id,{linkedSandboxProject:{teamId:t,projectId:r.id,projectSlug:r.slug,projectName:r.name,sourceRepoUrl:e.sourceIdentity||null,defaultBranch:r.defaultBranch,lastUploadedCommit:null,lastUploadTransport:null,manifestPath:r.sandboxManifestPath,manifestHash:r.sandboxManifestHash,syncedAt:r.sandboxManifestSyncedAt,linkedAt:new Date().toISOString()}})).bootstrap),q(e=>[r,...e.filter(e=>e.id!==r.id)]),B(null)}catch(e){G(er(e))}finally{H(!1)}}async function Xe(){if(!C||!o||!Z.project||!w)return;let e=Z.project;H(!0),G(null);try{let t=(await L.syncSandboxProject(C,e.id,{teamId:e.teamId})).project;w((await L.updateLocalProjectAgentSetup(C,o.id,{linkedSandboxProject:{teamId:t.teamId,projectId:t.id,projectSlug:t.slug,projectName:t.name,sourceRepoUrl:n?.remoteUrl??o.linkedSandboxProject?.sourceRepoUrl??null,defaultBranch:t.defaultBranch,lastUploadedCommit:o.linkedSandboxProject?.lastUploadedCommit??null,lastUploadTransport:o.linkedSandboxProject?.lastUploadTransport??null,manifestPath:t.sandboxManifestPath,manifestHash:t.sandboxManifestHash,syncedAt:t.sandboxManifestSyncedAt,linkedAt:o.linkedSandboxProject?.linkedAt??new Date().toISOString()}})).bootstrap),q(e=>[t,...e.filter(e=>e.id!==t.id)]),B(null)}catch(e){G(er(e))}finally{H(!1)}}async function Ze(e){if(!C||!o||!Z.project||!w)return;let t=Z.project;H(!0),G(null);try{let n=(await L.upsertSandboxAgent(C,{teamId:t.teamId,projectId:t.id,name:e.agentName,selectedEntrypoint:{scope:`entire_manifest`,name:null},triggerType:`manual`,backgroundTaskPolicy:{},defaultWorkflowMode:`attempt`,defaultResourcePolicy:{},metadata:{source:`openpond-app-local-project-agent-setup`}})).agent,r=null,i=null;if(e.createTestRun){let e=await L.runSandboxAgent(C,n.id,{teamId:t.teamId,triggerType:`manual`,metadata:{source:`openpond-app-local-project-agent-setup`}});r=e.sandbox??null,i=r?.id??e.run.sandboxId??null}w((await L.updateLocalProjectAgentSetup(C,o.id,{preferredSandboxAgentId:n.id})).bootstrap),J(e=>[n,...e.filter(e=>e.id!==n.id)]),B(null),i&&await T?.({sandboxId:i,name:Un(r)??`${n.name} sandbox`})}catch(e){G(er(e))}finally{H(!1)}}async function Qe(){if(C&&Z.agent){H(!0),G(null);try{let e=await L.runSandboxAgent(C,Z.agent.id,{teamId:Z.agent.teamId,triggerType:`manual`,metadata:{source:`openpond-app-local-project-agent-setup`}});await qe(Z.agent.teamId),B(null);let t=e.sandbox?.id??e.run.sandboxId;t&&await T?.({sandboxId:t,name:Un(e.sandbox??null)??`${Z.agent.name} sandbox`})}catch(e){G(er(e))}finally{H(!1)}}}let{gitActionItems:$e,sandboxActionItems:et}=ir({busy:t,canCreateSandboxProject:Be,canInitGit:De,defaultSandboxRepoUrl:Ae??``,gitWorkspace:Ee,hasRemote:Oe,isProjectWorkspace:ve,isSandboxWorkspace:X,managed:_e,onOpenCommitDialog:y,onRunTerminalCommand:_,onWorkspaceToolAction:v,projectSandboxTemplate:je,projectSandboxTemplateValid:Me,sandboxTemplateActionTargetCount:Fe.length,sandboxTemplateServiceTargets:Ie,sandboxResumeTarget:Y?{id:Y.id,runtimeId:Y.runtimeId??null,teamId:Y.teamId??null,projectId:Y.projectId??null,state:Y.state??null}:null,selectedApp:a,selectedProject:o,setSandboxCreateDialogOpen:R,setSandboxRunActionDialogOpen:ae,workspaceBusyValue:ge,workspaceReady:he,workspaceState:n});if(!n)return null;function tt(e){D(!1),e.onSelect()}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`workspace-environment-menu ${e===`dock`?`open-up`:``} ${e===`topbar`?`topbar`:``}`,ref:pe,children:[(0,$.jsx)(`button`,{type:`button`,className:`environment-info-button ${e===`topbar`?`titlebar-icon`:`composer-icon`} ${E?`active`:``}`,title:`Environment`,"data-tooltip":`Environment`,"aria-label":`Environment`,"aria-haspopup":`menu`,"aria-expanded":E,onClick:()=>D(e=>!e),children:(0,$.jsx)(h,{size:16})}),E&&(0,$.jsxs)(`div`,{className:`environment-popover`,role:`menu`,"aria-label":`Environment`,children:[(0,$.jsx)(`div`,{className:`environment-popover-header`,children:(0,$.jsx)(`span`,{children:`Environment`})}),ve&&o?(0,$.jsxs)(`button`,{type:`button`,className:`environment-row`,disabled:U||!Z.canAct||V,title:U?`Loading Agent setup state`:Z.reason??`Set up this project as an Agent`,onClick:()=>{!U&&Z.canAct&&(Z.state===`missing_config`&&B(`config`),Z.state===`needs_project`&&B(`connect`),Z.state===`needs_sync`&&B(`sync`),Z.state===`needs_agent`&&B(`agent`),Z.state===`ready`&&B(`run`),D(!1))},children:[(0,$.jsx)(te,{size:15}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:`Agent setup`}),(0,$.jsx)(`small`,{children:U?`Loading setup state`:zn(Z.state,Z.reason)})]}),(0,$.jsx)(`span`,{className:`environment-row-action`,children:V?`Working`:U?`Loading`:Z.actionLabel})]}):null,(0,$.jsxs)(`button`,{type:`button`,className:`environment-row ${f?`active`:``}`,disabled:!d||!m,onClick:()=>{D(!1),m?.()},children:[(0,$.jsx)(N,{size:15}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:`Changes`}),(0,$.jsx)(`small`,{children:we})]}),!X&&(Ce||l)&&(0,$.jsxs)(`span`,{className:`environment-change-counts`,children:[(0,$.jsxs)(`span`,{className:`diff-addition`,children:[`+`,be]}),(0,$.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,xe]})]})]}),(0,$.jsxs)(`div`,{className:`environment-row static`,children:[(0,$.jsx)(g,{size:15}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:Ue}),(0,$.jsx)(`small`,{children:n.repoPath||n.workspacePath})]})]}),X?(0,$.jsxs)(`div`,{className:`environment-row static`,title:Te,children:[(0,$.jsx)(A,{size:15}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:`Idle cleanup`}),(0,$.jsx)(`small`,{children:Te})]})]}):null,(0,$.jsxs)(`button`,{type:`button`,className:`environment-row ${k?`active`:``}`,disabled:_e||!Ee||t||ge||!n.initialized,"aria-expanded":k,onClick:()=>ee(e=>!e),children:[(0,$.jsx)(O,{size:15}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:He}),(0,$.jsx)(`small`,{children:_e?`Managed workspace`:Ee?`Branch`:`Git not initialized`})]}),(0,$.jsx)(p,{size:13})]}),k&&(0,$.jsxs)(`div`,{className:`environment-branch-panel`,children:[(0,$.jsxs)(`label`,{className:`environment-branch-search`,children:[(0,$.jsx)(re,{size:13}),(0,$.jsx)(`input`,{ref:me,value:j,placeholder:`Search branches`,onChange:e=>F(e.target.value)})]}),(0,$.jsxs)(`div`,{className:`environment-branch-list`,children:[We.map(e=>{let r=e===n.currentBranch,i=t||n.dirty&&!r;return(0,$.jsxs)(`button`,{type:`button`,className:r?`selected`:``,disabled:i,role:`menuitemradio`,"aria-checked":r,title:i&&!r?`Commit or discard local changes before switching branches.`:e,onClick:()=>{D(!1),r||b?.(e)},children:[(0,$.jsx)(O,{size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e}),r&&n.dirty&&(0,$.jsxs)(`small`,{children:[`Uncommitted: `,n.changedFilesCount,` `,n.changedFilesCount===1?`file`:`files`]})]}),r&&(0,$.jsx)(I,{size:14})]},e)}),We.length===0&&(0,$.jsx)(`div`,{className:`environment-branch-empty`,children:`No branches found`})]}),(0,$.jsxs)(`button`,{type:`button`,className:`environment-branch-create`,disabled:t||!n.initialized||!x,onClick:()=>{D(!1),x?.()},children:[(0,$.jsx)(O,{size:14}),(0,$.jsx)(`span`,{children:`Create branch`})]})]}),(0,$.jsx)(`div`,{className:`environment-section-title`,children:`Git`}),$e.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`environment-action`,disabled:e.disabled,onClick:()=>tt(e),children:[e.icon,(0,$.jsx)(`span`,{children:e.label})]},e.label)),(0,$.jsx)(`div`,{className:`environment-section-title`,children:`Sandbox`}),et.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`environment-action`,disabled:e.disabled,onClick:()=>tt(e),children:[e.icon,(0,$.jsx)(`span`,{children:e.label})]},e.label))]})]}),ne&&(0,$.jsx)(In,{busy:ge,commitBeforeCreate:(ze||Ee&&Oe)&&!!n?.dirty,defaultRepoUrl:ke,projectName:o?.name??`sandbox template`,templateManifest:o?.sandboxTemplate?.normalizedManifest??null,uploadBeforeCreate:ze,onClose:()=>{ge||R(!1)},onSubmit:e=>void Ge(e)}),ie&&(0,$.jsx)(Ln,{busy:ge,projectName:o?.name??`sandbox template`,templateManifest:o?.sandboxTemplate?.normalizedManifest??null,onClose:()=>{ge||ae(!1)},onSubmit:e=>void Ke(e)}),z===`config`&&o?(0,$.jsx)(ar,{busy:V,error:W,projectName:o.name,onClose:()=>!V&&B(null),onSubmit:e=>void Je(e)}):null,z===`connect`&&o&&Re?(0,$.jsx)(or,{busy:V,error:W,defaultTeamId:Re.teamId,projectName:o.name,sourceIdentity:n?.remoteUrl??``,defaultBranch:n?.currentBranch??`main`,onClose:()=>!V&&B(null),onSubmit:e=>void Ye(e)}):null,z===`sync`&&Z.project?(0,$.jsx)(cr,{busy:V,error:W,title:`Sync Project`,actionLabel:`Sync Project`,summary:`${Z.project.name} · ${Z.project.sandboxManifestPath??`openpond.yaml`}`,onClose:()=>!V&&B(null),onSubmit:()=>void Xe()}):null,z===`agent`&&Z.project?(0,$.jsx)(sr,{busy:V,error:W,defaultName:`${o?.name??Z.project.name} Agent`,onClose:()=>!V&&B(null),onSubmit:e=>void Ze(e)}):null,z===`run`&&Z.agent?(0,$.jsx)(cr,{busy:V,error:W,title:`Run Agent`,actionLabel:`Run Agent`,summary:Z.agent.name,onClose:()=>!V&&B(null),onSubmit:()=>void Qe()}):null]})}export{vr as WorkspaceEnvironmentMenu};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./index-BsPUniZy.js";import"./icons-kaq6k88m.js";import{t}from"./chevron-right-Cxv_xBz5.js";import{bt as n,pt as r}from"./App-Yy3l2sdD.js";var i=e();function a(e){return(e.replace(/\\/g,`/`).split(`/`).pop()||`File`).replace(/^\d{3}-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}-/i,``)}function o({path:e,workspaceName:o=null,workspaceRootPath:c,onSelectPath:l}){let u=n(e,c),d=r(u),f=d?s(u):o?.trim()||`Workspace`,p=(d&&f!==`/`&&u.startsWith(`${f}/`)?u.slice(f.length+1):u).split(`/`).filter(Boolean),m=!(!l||d);return(0,i.jsxs)(`details`,{className:`workspace-file-location`,children:[(0,i.jsx)(`summary`,{title:e,"aria-label":`File path: ${a(e)}`,children:a(e)}),(0,i.jsxs)(`div`,{className:`workspace-file-path-popover`,children:[(0,i.jsxs)(`span`,{className:`workspace-file-breadcrumbs`,children:[l&&!d?(0,i.jsx)(`button`,{type:`button`,onClick:()=>l(null),children:f}):(0,i.jsx)(`span`,{children:f}),p.map((e,n)=>{let r=n===p.length-1,a=p.slice(0,n+1).join(`/`);return(0,i.jsxs)(`span`,{className:`workspace-file-breadcrumb-segment`,children:[(0,i.jsx)(t,{size:13}),l&&m&&!r?(0,i.jsx)(`button`,{type:`button`,onClick:()=>l(a),children:e}):(0,i.jsx)(`span`,{children:e})]},`${n}-${e}`)})]}),(0,i.jsx)(`code`,{children:e})]})]},e)}function s(e){let t=/^[A-Za-z]:\//.exec(e);return t?t[0].slice(0,-1):`/`}export{a as n,o as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./index-BsPUniZy.js";import"./icons-kaq6k88m.js";import{t}from"./cloud-upload-DOftANif.js";import{t as n}from"./git-commit-horizontal-98y7PP6G.js";import{t as r}from"./upload-NXasN1wU.js";import{In as i,Ln as a,vn as o}from"./App-Yy3l2sdD.js";/* empty css */var s=e();function c({open:e,branch:o,filesChanged:c,additions:l,deletions:f,message:p,includeUnstaged:m,nextStep:h,draft:g,busy:_,canPush:v,canPublish:y,onMessageChange:b,onIncludeUnstagedChange:x,onNextStepChange:S,onDraftChange:C,onClose:w,onSubmit:T}){return e?(0,s.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,s.jsxs)(`form`,{className:`git-dialog commit-dialog`,"aria-label":`Commit changes`,onSubmit:e=>{e.preventDefault(),T()},children:[(0,s.jsx)(d,{disabled:_,onClose:w}),(0,s.jsx)(`div`,{className:`git-dialog-icon`,children:(0,s.jsx)(n,{size:18})}),(0,s.jsx)(`h2`,{children:`Commit your changes`}),(0,s.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,s.jsx)(`span`,{children:`Branch`}),(0,s.jsxs)(`strong`,{children:[(0,s.jsx)(a,{size:14}),o??`No branch`]})]}),(0,s.jsxs)(`div`,{className:`git-dialog-row`,children:[(0,s.jsx)(`span`,{children:`Changes`}),(0,s.jsxs)(`strong`,{children:[c,` `,c===1?`file`:`files`,(0,s.jsxs)(`span`,{className:`git-dialog-additions`,children:[`+`,l]}),(0,s.jsxs)(`span`,{className:`git-dialog-deletions`,children:[`-`,f]})]})]}),(0,s.jsxs)(`label`,{className:`git-dialog-toggle`,children:[(0,s.jsx)(`input`,{checked:m,disabled:_,type:`checkbox`,onChange:e=>x(e.target.checked)}),(0,s.jsx)(`span`,{}),`Include unstaged`]}),(0,s.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,s.jsxs)(`span`,{children:[`Commit message`,(0,s.jsx)(`small`,{children:`Leave blank to use an autogenerated message`})]}),(0,s.jsx)(`textarea`,{value:p,disabled:_,placeholder:`Update workspace`,onChange:e=>b(e.target.value)})]}),(0,s.jsxs)(`fieldset`,{className:`git-dialog-next`,children:[(0,s.jsx)(`legend`,{children:`Next steps`}),(0,s.jsx)(u,{active:h===`commit`,icon:(0,s.jsx)(n,{size:14}),label:`Commit`,disabled:_,onSelect:()=>S(`commit`)}),(0,s.jsx)(u,{active:h===`commit_push`,icon:(0,s.jsx)(r,{size:14}),label:`Commit & push`,disabled:_||!v,onSelect:()=>S(`commit_push`)}),y&&(0,s.jsx)(u,{active:h===`commit_publish`,icon:(0,s.jsx)(t,{size:14}),label:`Commit & publish`,disabled:_,onSelect:()=>S(`commit_publish`)}),(0,s.jsx)(u,{active:h===`commit_pr`,icon:(0,s.jsx)(i,{size:14}),label:`Commit & create PR`,disabled:!0,onSelect:()=>S(`commit_pr`)})]}),(0,s.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,s.jsxs)(`label`,{className:`git-dialog-toggle draft-toggle`,children:[(0,s.jsx)(`input`,{checked:g,disabled:_||h!==`commit_pr`,type:`checkbox`,onChange:e=>C(e.target.checked)}),(0,s.jsx)(`span`,{}),`Draft`]}),(0,s.jsx)(`button`,{className:`git-dialog-primary`,disabled:_||c===0,type:`submit`,children:`Continue`})]})]})}):null}function l({open:e,branchName:t,busy:n,onBranchNameChange:r,onSetPrefix:i,onClose:o,onSubmit:c}){return e?(0,s.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,children:(0,s.jsxs)(`form`,{className:`git-dialog branch-dialog`,"aria-label":`Create branch`,onSubmit:e=>{e.preventDefault(),c()},children:[(0,s.jsx)(d,{disabled:n,onClose:o}),(0,s.jsx)(`div`,{className:`git-dialog-icon`,children:(0,s.jsx)(a,{size:18})}),(0,s.jsx)(`h2`,{children:`Work here`}),(0,s.jsx)(`p`,{children:`Create a branch to commit changes, push, and create a PR from this worktree.`}),(0,s.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,s.jsxs)(`span`,{children:[`Branch name`,(0,s.jsx)(`button`,{className:`git-dialog-inline-action`,disabled:n,type:`button`,onClick:i,children:`Set prefix`})]}),(0,s.jsx)(`input`,{autoFocus:!0,disabled:n,value:t,onChange:e=>r(e.target.value)})]}),(0,s.jsx)(`button`,{className:`git-dialog-primary full`,disabled:n||!t.trim(),type:`submit`,children:`Create`})]})}):null}function u({active:e,icon:t,label:n,disabled:r,onSelect:i}){return(0,s.jsxs)(`button`,{"aria-pressed":e,className:e?`active`:``,disabled:r,type:`button`,onClick:i,children:[t,(0,s.jsx)(`span`,{children:n}),e&&(0,s.jsx)(`span`,{className:`git-dialog-check`,children:`✓`})]})}function d({disabled:e,onClose:t}){return(0,s.jsx)(`button`,{className:`git-dialog-close`,disabled:e,type:`button`,onClick:t,children:(0,s.jsx)(o,{size:16})})}export{l as BranchDialog,c as CommitDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-C4b2afqG.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.git-dialog-backdrop{z-index:90;background:var(--backdrop);place-items:center;display:grid;position:fixed;inset:0}.git-dialog{border:1px solid var(--border-default);background:var(--surface-floating);width:min(420px,100vw - 34px);box-shadow:0 22px 70px var(--shadow-color);color:var(--text-primary);border-radius:14px;gap:16px;padding:20px;display:grid;position:relative}.new-project-dialog{width:min(520px,100vw - 34px);max-height:calc(100vh - 34px);overflow-y:auto}.new-project-collection{gap:14px;padding:20px}.new-project-collection h2{margin:0 24px 0 0;font-size:21px}.new-project-name-field{border:1px solid var(--border-default);background:var(--state-hover);min-height:41px;color:var(--text-muted);border-radius:10px;align-items:center;gap:12px;padding:0 12px;display:flex}.new-project-name-field:focus-within{border-color:var(--accent-info)}.new-project-name-field input{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.new-project-source-heading{justify-content:space-between;align-items:center;font-size:13px;display:flex}.new-project-source-heading>span:last-child{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.new-project-source-box{border:1px solid var(--border-default);border-radius:9px;overflow:hidden}.new-project-source-box.empty{place-items:center;min-height:102px;display:grid}.new-project-empty-source{color:var(--text-muted);justify-items:center;gap:12px;font-size:12px;display:grid}.new-project-empty-source button{background:var(--state-hover);min-height:23px;color:var(--text-primary);cursor:pointer;border:0;border-radius:12px;align-items:center;gap:5px;padding:1px 9px;display:inline-flex}.new-project-folder-list{margin:0;padding:0;list-style:none}.new-project-folder-row{border-bottom:1px solid var(--border-default);align-items:center;gap:10px;min-height:48px;padding:0 12px;font-size:13px;display:flex}.new-project-folder-row>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.new-project-folder-row>svg{color:var(--text-muted);flex:none}.new-project-primary-pill,.new-project-make-primary{border:1px solid var(--border-default);color:var(--text-secondary);font:inherit;white-space:nowrap;background:0 0;border-radius:10px;padding:5px 9px}.new-project-make-primary{background:var(--surface-raised);color:var(--text-muted);cursor:pointer;border-color:#0000}.new-project-remove{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.new-project-add-row{width:100%;min-height:47px;color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 12px;font-size:13px;display:flex}.new-project-add-row:hover,.new-project-make-primary:hover,.new-project-remove:hover{background:var(--state-hover)}.new-project-manual-path{border-top:1px solid var(--border-default);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.new-project-manual-path input{border:1px solid var(--border-default);background:var(--surface-input);min-width:0;min-height:30px;color:var(--text-primary);border-radius:7px;flex:200px;padding:4px 8px}.new-project-footer{justify-content:flex-end;align-items:center;gap:18px;margin-top:12px;display:flex}.new-project-cancel{color:var(--text-muted);cursor:pointer;background:0 0;border:0}.new-project-collection .git-dialog-primary{width:auto;min-width:122px;min-height:34px}.new-project-error{color:var(--status-danger)!important}.commit-dialog{width:min(464px,100vw - 34px)}.run-once-dialog{width:min(680px,100vw - 34px)}.sandbox-start-dialog{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:min(640px,100vw - 24px);max-height:calc(100vh - 24px);padding:16px 16px 0;overflow:hidden}.sandbox-start-dialog-heading{gap:8px;padding-right:32px;display:grid}.sandbox-start-dialog-body{scrollbar-gutter:stable;gap:10px;min-height:0;padding:0 4px 12px 0;display:grid;overflow-y:auto}.sandbox-start-dialog-footer{border-top:1px solid var(--border-default);background:var(--surface-floating);margin:0 -16px;padding:12px 16px}.sandbox-start-dialog .git-dialog-icon{border-radius:9px;width:28px;height:28px}.sandbox-start-dialog h2{margin:0;font-size:20px}.sandbox-start-dialog .git-dialog-field{gap:6px}.sandbox-start-dialog .git-dialog-field input,.sandbox-start-dialog .git-dialog-field textarea,.sandbox-start-dialog .git-dialog-field select{border-radius:9px;min-height:38px;padding:8px 10px}.sandbox-start-dialog .git-dialog-field input[type=file]{padding:7px 10px}.sandbox-start-dialog .run-once-dialog-grid{gap:10px}.sandbox-start-section-title{color:var(--text-primary);font-size:12px;font-weight:700}.sandbox-start-env-section{border:1px solid var(--border-default);background:var(--state-hover);border-radius:8px;gap:8px;padding:10px;display:grid}.sandbox-start-env-warning{border:1px solid color-mix(in srgb, var(--status-warning) 24%, transparent);background:color-mix(in srgb, var(--status-warning) 10%, transparent);color:var(--status-warning);border-radius:8px;margin:0;padding:8px 10px;font-size:12px;line-height:1.35}.sandbox-start-schedules{gap:10px;display:grid}.sandbox-start-schedule-row{border:1px solid var(--border-default);background:var(--state-hover);border-radius:8px;gap:8px;padding:10px;display:grid}.git-dialog-close{width:24px;height:24px;color:var(--text-muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:inline-grid;position:absolute;top:12px;right:12px}.git-dialog-close:hover:not(:disabled),.git-dialog-close:focus-visible{background:var(--state-hover);color:var(--text-primary)}.git-dialog-icon{background:var(--surface-floating);width:34px;height:34px;color:var(--text-primary);border-radius:11px;place-items:center;display:inline-grid}.git-dialog h2{margin:2px 0 -6px;font-size:22px;line-height:1.2}.git-dialog p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.rename-chat-input{border:1px solid var(--border-default);background:var(--surface-input);width:100%;min-width:0;min-height:42px;color:var(--text-primary);font:inherit;resize:none;border-radius:11px;outline:0;padding:10px 12px}.rename-chat-input:focus{border-color:var(--border-strong);background:var(--surface-input)}.git-dialog-row{min-width:0;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:18px;font-size:13px;display:flex}.git-dialog-row strong{min-width:0;color:var(--text-primary);align-items:center;gap:8px;font-weight:500;display:inline-flex}.git-dialog-path{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:250px;display:block;overflow:hidden}.git-dialog-additions{color:var(--status-success);margin-left:8px}.git-dialog-deletions{color:var(--status-danger)}.git-dialog-field{gap:8px;min-width:0;display:grid}.git-dialog-field>span{min-width:0;color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.git-dialog-field small{color:var(--text-muted);font-size:12px;font-weight:400}.git-dialog-inline-action{color:var(--text-secondary);font:inherit;background:0 0;border:0;padding:0;font-size:12px}.git-dialog-inline-action:hover:not(:disabled),.git-dialog-inline-action:focus-visible{color:var(--text-primary);outline:0;text-decoration:underline}.git-dialog-field input,.git-dialog-field textarea,.git-dialog-field select{border:1px solid var(--border-default);background:var(--surface-floating);width:100%;min-width:0;color:var(--text-primary);font:inherit;border-radius:11px;outline:0;padding:12px}.git-dialog-field textarea{resize:none;height:58px}.git-dialog-field input:focus,.git-dialog-field textarea:focus,.git-dialog-field select:focus{border-color:var(--border-strong);background:var(--surface-floating)}.run-once-dialog-grid{grid-template-columns:minmax(0,1fr) 132px;gap:12px;display:grid}.run-once-json{resize:vertical;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.run-once-json.short{min-height:82px}.run-once-error{color:var(--status-danger)}.git-dialog-toggle{color:var(--text-primary);align-items:center;gap:10px;font-size:13px;display:inline-flex}.git-dialog-toggle input{opacity:0;pointer-events:none;position:absolute}.git-dialog-toggle>span{background:var(--surface-floating);border-radius:999px;width:30px;height:18px;transition:background .12s;position:relative}.git-dialog-toggle>span:after{content:"";background:var(--action-primary);border-radius:999px;width:12px;height:12px;transition:transform .12s;position:absolute;top:3px;left:3px}.git-dialog-toggle input:checked+span{background:var(--status-info-fill);color:var(--text-on-accent)}.git-dialog-toggle input:checked+span:after{transform:translate(12px)}.git-dialog-toggle input:disabled+span,.git-dialog-toggle input:disabled~span{opacity:.55}.git-dialog-next{background:var(--surface-floating);border:0;border-radius:11px;margin:0;padding:0;display:grid;overflow:hidden}.git-dialog-next legend{color:var(--text-primary);padding:0 0 8px;font-size:13px}.git-dialog-next button{border:0;border-bottom:1px solid var(--border-default);min-height:36px;color:var(--text-primary);text-align:left;background:0 0;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px;font-size:13px;display:grid}.git-dialog-next button:last-child{border-bottom:0}.git-dialog-next button:hover:not(:disabled),.git-dialog-next button:focus-visible,.git-dialog-next button.active{background:var(--state-hover);outline:0}.git-dialog-next button:disabled{color:var(--text-muted)}.git-dialog-check{color:var(--text-primary);font-size:18px}.git-dialog-footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.git-dialog-primary{background:var(--action-primary);min-width:150px;height:34px;color:var(--text-on-primary);border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:13px;display:inline-flex}.git-dialog-secondary{background:var(--surface-floating);height:34px;color:var(--text-primary);border:0;border-radius:9px;padding:0 16px;font-size:13px}.git-dialog-secondary:hover:not(:disabled),.git-dialog-secondary:focus-visible{background:var(--state-hover);outline:0}.git-dialog-primary.full{width:100%}.git-dialog-primary:hover:not(:disabled),.git-dialog-primary:focus-visible{background:var(--action-primary);outline:0}.git-dialog-primary.danger{background:var(--status-danger);color:var(--text-on-primary)}.git-dialog-primary.danger:hover:not(:disabled),.git-dialog-primary.danger:focus-visible{background:var(--status-danger)}.git-dialog-primary:disabled{opacity:.55}.cloud-setup-dialog{width:min(460px,100vw - 34px)}.cloud-setup-spinner{animation:.9s linear infinite cloud-setup-spin}@keyframes cloud-setup-spin{to{transform:rotate(360deg)}}.cloud-setup-summary{gap:8px;display:grid}.cloud-setup-progress,.cloud-setup-upload-preview,.cloud-setup-upload-result,.cloud-setup-error,.cloud-setup-next{border:1px solid var(--border-default);background:var(--state-hover);border-radius:10px;gap:4px;padding:11px 12px;display:grid}.cloud-setup-progress{color:var(--text-primary);grid-template-columns:18px minmax(0,1fr);align-items:center;font-size:13px}.cloud-setup-upload-result strong,.cloud-setup-upload-preview strong,.cloud-setup-next span{color:var(--text-primary);font-size:13px}.cloud-setup-upload-preview span,.cloud-setup-upload-result span{color:var(--text-muted);font-size:12px}.cloud-setup-error{border-color:color-mix(in srgb, var(--status-danger) 20%, transparent);background:color-mix(in srgb, var(--status-danger) 8%, transparent);color:var(--status-danger);font-size:13px}.cloud-setup-next a,.cloud-setup-primary-link{width:fit-content;color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.cloud-setup-next a:hover,.cloud-setup-next a:focus-visible{text-decoration:underline}.cloud-setup-primary-link{min-width:0;padding:0 16px}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./index-BsPUniZy.js";e();
|