openpond 0.2.53 → 0.2.55
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 +1514 -100
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-WTFZA7LF.js +2 -0
- package/dist/chunks/{app-layer-I7MZYVLL.js → app-layer-Y2UERCPY.js} +1 -1
- package/dist/chunks/app-server-runtime-2RM3N4I6.js +2 -0
- package/dist/chunks/apps-KDNWYO3G.js +2 -0
- package/dist/chunks/chunk-2DFR7PJ4.js +2460 -0
- package/dist/chunks/chunk-4CRM2ADK.js +2 -0
- package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-4WEUCGJ3.js} +6 -6
- package/dist/chunks/chunk-55G6B54U.js +6 -0
- package/dist/chunks/chunk-73G5UYBB.js +12 -0
- package/dist/chunks/{chunk-DALJMSJG.js → chunk-ARQEJOEK.js} +24 -24
- package/dist/chunks/chunk-B7QDZPNX.js +2 -0
- package/dist/chunks/chunk-BFKYRQMA.js +2 -0
- package/dist/chunks/{chunk-AH22RHPS.js → chunk-BQAF5P7K.js} +2 -2
- package/dist/chunks/{chunk-YJ4PNAST.js → chunk-BTI4N7YO.js} +1 -1
- package/dist/chunks/chunk-C6D4WAYN.js +6 -0
- package/dist/chunks/chunk-CGBI2VYJ.js +2 -0
- package/dist/chunks/chunk-DLVPSCTB.js +2 -0
- package/dist/chunks/{chunk-UJ5EFSEC.js → chunk-G6JMQGX7.js} +1 -1
- package/dist/chunks/chunk-GGIG3XU7.js +3 -0
- package/dist/chunks/chunk-IODUCRBA.js +58 -0
- package/dist/chunks/chunk-JIMU3KDA.js +24 -0
- package/dist/chunks/chunk-JUJSA7KI.js +22 -0
- package/dist/chunks/chunk-K5SBVO3B.js +195 -0
- package/dist/chunks/chunk-KD3QVRIJ.js +21 -0
- package/dist/chunks/chunk-KGNCKIFP.js +3 -0
- package/dist/chunks/chunk-L4235TRQ.js +140 -0
- package/dist/chunks/{chunk-N5QNXMIS.js → chunk-MH3LHSGX.js} +1 -1
- package/dist/chunks/chunk-MVF3F5QS.js +2 -0
- package/dist/chunks/{chunk-N3DEA6PG.js → chunk-NNIRIUSY.js} +1 -1
- package/dist/chunks/{chunk-WITSXYEW.js → chunk-NOTXPD2T.js} +1 -1
- package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.js} +1 -1
- package/dist/chunks/chunk-OULAKUIN.js +2 -0
- package/dist/chunks/chunk-OWNLDB2O.js +2 -0
- package/dist/chunks/{chunk-NAZ26IZL.js → chunk-Q7AXHFZV.js} +1 -1
- package/dist/chunks/chunk-QDHMP5FS.js +2 -0
- package/dist/chunks/chunk-QKD5OMDI.js +2 -0
- package/dist/chunks/{chunk-YD55Z5H3.js → chunk-QRAKXZOC.js} +10 -10
- package/dist/chunks/{chunk-JDLAHVAJ.js → chunk-R27YGT77.js} +1 -1
- package/dist/chunks/chunk-R2BSIRYL.js +3 -0
- package/dist/chunks/chunk-SHQOIROR.js +42 -0
- package/dist/chunks/chunk-STDMBJOQ.js +9 -0
- package/dist/chunks/chunk-T4QGDQHP.js +4 -0
- package/dist/chunks/{chunk-R3XFY7VL.js → chunk-TERVLCRG.js} +1 -1
- package/dist/chunks/{chunk-PA7XP42P.js → chunk-U2YMBCX7.js} +1 -1
- package/dist/chunks/{chunk-GXSTZBM6.js → chunk-UA5DA5I2.js} +1 -1
- package/dist/chunks/chunk-VJEZPDBS.js +5 -0
- package/dist/chunks/chunk-WDFLCNRC.js +8 -0
- package/dist/chunks/chunk-WZYRAR7X.js +16 -0
- package/dist/chunks/chunk-YDT7L3VZ.js +24 -0
- package/dist/chunks/chunk-YR5ID2SS.js +2 -0
- package/dist/chunks/chunk-YUPBAWBJ.js +554 -0
- package/dist/chunks/cli-465VC2WP.js +2 -0
- package/dist/chunks/{configuration-command-MATM4XR5.js → configuration-command-LAAP2EXT.js} +1 -1
- package/dist/chunks/connected-evidence-XM626247.js +2 -0
- package/dist/chunks/{continual-PKK2BOTB.js → continual-TTGJ6YTR.js} +1 -1
- package/dist/chunks/core-commands-W7EK552V.js +2 -0
- package/dist/chunks/datasets-QJWYTTQL.js +2 -0
- package/dist/chunks/desktop-test-3B2D34NF.js +3 -0
- package/dist/chunks/dist-FAJX2UBW.js +2 -0
- package/dist/chunks/{dist-4HV2W6V4.js → dist-HUAE2KFZ.js} +1 -1
- package/dist/chunks/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
- package/dist/chunks/evaluation-coordination-2MONR4AX.js +2 -0
- package/dist/chunks/experiment-improvements-WVQ5FK46.js +2 -0
- package/dist/chunks/experiments-S5UQ32QB.js +2 -0
- package/dist/chunks/extension-DWMY6D2R.js +4 -0
- package/dist/chunks/{help-WLKSACLZ.js → help-A72QDRNG.js} +1 -1
- package/dist/chunks/hosted-experiment-improvement-2OWOQLHC.js +3 -0
- package/dist/chunks/hosted-harness-runtime-TGFMAV7W.js +2 -0
- package/dist/chunks/hosted-profile-candidate-WQSI6HZO.js +3 -0
- package/dist/chunks/hosted-profile-compiler-Z2A4TEA6.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-FKGARUEE.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-QOY2JKV4.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-WVP6CALP.js +3 -0
- package/dist/chunks/human-review-TGHQKXFZ.js +2 -0
- package/dist/chunks/{import-V3HUGRHR.js → import-4UE5XNSG.js} +1 -1
- package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -0
- package/dist/chunks/learning-R2XBMMEM.js +2 -0
- package/dist/chunks/opchat-WULL6CUP.js +3 -0
- package/dist/chunks/organizations-I37HISVX.js +2 -0
- package/dist/chunks/profile-NOZ6TVXL.js +3 -0
- package/dist/chunks/project-agent-T6XKC54C.js +2 -0
- package/dist/chunks/sandbox-command-STB47FRY.js +2 -0
- package/dist/chunks/{sandbox-template-BBGGPJMI.js → sandbox-template-LKGBDVJ4.js} +1 -1
- package/dist/chunks/sql-execution-process-source-B4HQM6ZV.js +2 -0
- package/dist/chunks/src-T3KWWCAH.js +322 -0
- package/dist/chunks/{src-CR6UZYTX.js → src-ZWJ5IO7A.js} +1 -1
- package/dist/chunks/{taskset-LUG3ZU6J.js → taskset-RNYDR4GS.js} +1 -1
- package/dist/chunks/{teams-bot-7I4BAUVO.js → teams-bot-H7XT23XB.js} +1 -1
- package/dist/chunks/{training-XHE6FVII.js → training-M6FAPRSJ.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/App-CLFfy_Av.js +154 -0
- package/dist/web/assets/App-CTlAPuCY.css +1 -0
- package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-CPHTPqrx.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-BVj5Tj93.js} +2 -2
- package/dist/web/assets/AppsView-O69zEBY3.js +1 -0
- package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-Pr_Kpe8p.js} +1 -1
- package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-JPqo6YOf.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-CAJcQFn2.js} +1 -1
- package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-B-w53n9A.js} +1 -1
- package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DbZKK8_P.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-3_083PF4.js} +1 -1
- package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-D7JGm_6c.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-DwgMfZ7_.js +1 -0
- package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JRfQadRl.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-BUYflJY_.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BBiqk7Rf.js} +1 -1
- package/dist/web/assets/LabsRoute-Ci6vUnSd.js +99 -0
- package/dist/web/assets/MainChatThread-BQK3oI2N.js +2 -0
- package/dist/web/assets/MainPane-D3ojiN-p.js +18 -0
- package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-DOdOVFXL.js} +25 -25
- package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-CRI_ri8z.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-DhYtfE68.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-D8sy1gOz.js} +1 -1
- package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-CbWgrhXA.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-DLB67lyA.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-ozSKnDyX.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-CeSFJM5s.js → RightSidebarHomePanel-CKs3OwhD.js} +1 -1
- package/dist/web/assets/ScheduledWorkPage-Cafv_QnR.js +1 -0
- package/dist/web/assets/SettingsView-T1vYDPjh.js +5 -0
- package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-vIrmXOY_.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-CAmF__Dq.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-CgIBVGha.js → TrainingCreationPanel-D75K0yk5.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-D7XZePAk.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CYTmp7PG.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-CODMjVHY.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-DQGoIjH9.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-c1pHDskn.js +63 -0
- package/dist/web/assets/{WorkspaceGitDialogs-Dgmg-6XG.js → WorkspaceGitDialogs-DrVtapQQ.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-BCKzvSj2.js} +3 -3
- package/dist/web/assets/arrow-up-right-CP4hZdrJ.js +1 -0
- package/dist/web/assets/chunk-NOJECMB7-Bhcms-w5.js +1 -0
- package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-BgrXorn-.js} +1 -1
- package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-B_zYztb6.js} +1 -1
- package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-DanjGgA8.js} +1 -1
- package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-CdVKbtGq.js} +1 -1
- package/dist/web/assets/folder-plus-Cc5KElB6.js +1 -0
- package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-CjGIIgRi.js} +1 -1
- package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-DRGDF_UL.js} +1 -1
- package/dist/web/assets/index-B5re-RJy.css +1 -0
- package/dist/web/assets/{index-BxWTVKtn.js → index-BE-wXZ5R.js} +2 -2
- package/dist/web/assets/info-BLj0RvhA.js +1 -0
- package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-CCu0j2GD.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-s_Lhm7P6.js} +1 -1
- package/dist/web/assets/minimize-2-Cyg_zD9z.js +1 -0
- package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-CAzXvYkn.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-CY7mRgOB.js} +2 -2
- package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-aUeLcBEg.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-mUPNK9ra.js} +2 -2
- package/dist/web/assets/monitor-DZvOs_wC.js +1 -0
- package/dist/web/assets/play-BJPzemuY.js +1 -0
- package/dist/web/assets/{python-PzBkTjWx.js → python-B_qnnVaG.js} +1 -1
- package/dist/web/assets/{save-DpezrtH2.js → save-BDy9tA3E.js} +1 -1
- package/dist/web/assets/square-Cb2c5td4.js +1 -0
- package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-MhO1JLyR.js} +1 -1
- package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-DfBXJb9V.js} +1 -1
- package/dist/web/assets/{upload-C5YFNgtS.js → upload-D56kThRh.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.js → useLocalAgentSchedules-DMnGfswi.js} +1 -1
- package/dist/web/assets/useProviderSettings-Bv5B9eNk.js +5 -0
- package/dist/web/assets/{useSessionTurnCache-DICuJSJW.js → useSessionTurnCache-ClAY8gze.js} +1 -1
- package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-C9lWJmVm.js} +1 -1
- package/dist/web/assets/{workers-Dboaw6f_.js → workers-BYzrH8by.js} +1 -1
- package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-D3T8UkT3.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
- package/dist/chunks/app-server-runtime-KZP2LB5X.js +0 -2
- package/dist/chunks/apps-TM74FFQB.js +0 -2
- package/dist/chunks/chunk-2JO2KWT3.js +0 -5
- package/dist/chunks/chunk-2SPZYBDN.js +0 -16
- package/dist/chunks/chunk-3LX6RU3C.js +0 -3
- package/dist/chunks/chunk-4SHKI3BH.js +0 -2
- package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
- package/dist/chunks/chunk-5TNDPNS3.js +0 -2
- package/dist/chunks/chunk-6JAN4RMN.js +0 -42
- package/dist/chunks/chunk-7QEE4PBI.js +0 -8
- package/dist/chunks/chunk-AFUDIT36.js +0 -2
- package/dist/chunks/chunk-BX4J2VDU.js +0 -2
- package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
- package/dist/chunks/chunk-FPUUZQUP.js +0 -6
- package/dist/chunks/chunk-GCOUYYHG.js +0 -5
- package/dist/chunks/chunk-GS2NKNKG.js +0 -4
- package/dist/chunks/chunk-H2VT22JK.js +0 -2
- package/dist/chunks/chunk-HA7EFTPF.js +0 -23
- package/dist/chunks/chunk-IKWDL3RB.js +0 -17
- package/dist/chunks/chunk-L3KS6MOV.js +0 -2
- package/dist/chunks/chunk-NHFGEVVH.js +0 -518
- package/dist/chunks/chunk-NNF6KCHD.js +0 -3
- package/dist/chunks/chunk-PJM2G7SG.js +0 -21
- package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
- package/dist/chunks/chunk-PYABBF53.js +0 -53
- package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
- package/dist/chunks/chunk-QXVIIM4T.js +0 -2
- package/dist/chunks/chunk-SDEDAHV6.js +0 -160
- package/dist/chunks/chunk-TGIB24K4.js +0 -22
- package/dist/chunks/chunk-USKE34VR.js +0 -9
- package/dist/chunks/chunk-WV2APYWG.js +0 -2
- package/dist/chunks/chunk-XGE2XI6M.js +0 -191
- package/dist/chunks/chunk-XM26DGML.js +0 -3
- package/dist/chunks/chunk-YIB3J4RC.js +0 -2
- package/dist/chunks/chunk-YL6VFJ4P.js +0 -2
- package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
- package/dist/chunks/cli-JVB345H2.js +0 -2
- package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
- package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
- package/dist/chunks/datasets-CP3IT47T.js +0 -2
- package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
- package/dist/chunks/dist-SAABJU5F.js +0 -2
- package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
- package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
- package/dist/chunks/experiments-XHPFGECH.js +0 -2
- package/dist/chunks/extension-GX7DLW2X.js +0 -4
- package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
- package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
- package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
- package/dist/chunks/hosted-profile-compiler-OZAOZ2ES.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-SJIDXPHI.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-26EI5LJR.js +0 -3
- package/dist/chunks/human-review-AAVMISBF.js +0 -2
- package/dist/chunks/learning-FNBEIAY6.js +0 -2
- package/dist/chunks/opchat-QK43DXTY.js +0 -3
- package/dist/chunks/organizations-SRPAWKC7.js +0 -2
- package/dist/chunks/profile-C6CQNVYE.js +0 -3
- package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
- package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
- package/dist/chunks/src-P3VYLFLI.js +0 -329
- package/dist/web/assets/App-CO2F717V.css +0 -1
- package/dist/web/assets/App-CuhaCsfb.js +0 -235
- package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
- package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
- package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
- package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
- package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
- package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
- package/dist/web/assets/WorkSidebarPanel-DwlEMEoG.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
- package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
- package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
- package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
- package/dist/web/assets/index-dSmk3FLJ.css +0 -1
- package/dist/web/assets/info-Dc81lEfw.js +0 -1
- package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
- package/dist/web/assets/monitor-DXL019Wf.js +0 -1
- package/dist/web/assets/play-CXkxUZeU.js +0 -1
- package/dist/web/assets/square-oy7f5Ce6.js +0 -1
- package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
- /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import{r as q,j as r}from"./index-BE-wXZ5R.js";import{bH as le,s as L,o as ee,bI as bn,bJ as Qe,n as ze,_ as rn,bK as We,b as en,e as ji,X as Ut,bL as sn,aL as Ai,bt as Ci,ax as An,$ as Ni,av as at,Y as wi,bM as Ii,bm as _i,ba as Ei,bN as Ri,bO as ot,R as xe,bi as Ti,az as Pi,S as Oi,aw as Cn,C as Li,aF as ki,t as Mi}from"./App-CLFfy_Av.js";import{I as qi}from"./info-BLj0RvhA.js";import{M as Fi}from"./monitor-DZvOs_wC.js";import{P as cn}from"./play-BJPzemuY.js";import{G as Di}from"./git-commit-horizontal-CjGIIgRi.js";import{S as Ui}from"./square-Cb2c5td4.js";import{U as lt}from"./upload-D56kThRh.js";const Ee={custom:"custom"};function $i(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var be={},pn={},Ve={},st;function dn(){if(st)return Ve;st=1;function n(s){return typeof s>"u"||s===null}function i(s){return typeof s=="object"&&s!==null}function o(s){return Array.isArray(s)?s:n(s)?[]:[s]}function h(s,f){if(f){const g=Object.keys(f);for(let p=0,l=g.length;p<l;p+=1){const w=g[p];s[w]=f[w]}}return s}function c(s,f){let g="";for(let p=0;p<f;p+=1)g+=s;return g}function u(s){return s===0&&Number.NEGATIVE_INFINITY===1/s}return Ve.isNothing=n,Ve.isObject=i,Ve.toArray=o,Ve.repeat=c,Ve.isNegativeZero=u,Ve.extend=h,Ve}var Nn,ct;function mn(){if(ct)return Nn;ct=1;function n(o,h){let c="";const u=o.reason||"(unknown reason)";return o.mark?(o.mark.name&&(c+='in "'+o.mark.name+'" '),c+="("+(o.mark.line+1)+":"+(o.mark.column+1)+")",!h&&o.mark.snippet&&(c+=`
|
|
2
|
+
|
|
3
|
+
`+o.mark.snippet),u+" "+c):u}function i(o,h){Error.call(this),this.name="YAMLException",this.reason=o,this.mark=h,this.message=n(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i.prototype.toString=function(h){return this.name+": "+n(this,h)},Nn=i,Nn}var wn,ut;function zi(){if(ut)return wn;ut=1;const n=dn();function i(c,u,s,f,g){let p="",l="";const w=Math.floor(g/2)-1;return f-u>w&&(p=" ... ",u=f-w+p.length),s-f>w&&(l=" ...",s=f+w-l.length),{str:p+c.slice(u,s).replace(/\t/g,"→")+l,pos:f-u+p.length}}function o(c,u){return n.repeat(" ",u-c.length)+c}function h(c,u){if(u=Object.create(u||null),!c.buffer)return null;u.maxLength||(u.maxLength=79),typeof u.indent!="number"&&(u.indent=1),typeof u.linesBefore!="number"&&(u.linesBefore=3),typeof u.linesAfter!="number"&&(u.linesAfter=2);const s=/\r?\n|\r|\0/g,f=[0],g=[];let p,l=-1;for(;p=s.exec(c.buffer);)g.push(p.index),f.push(p.index+p[0].length),c.position<=p.index&&l<0&&(l=f.length-2);l<0&&(l=f.length-1);let w="";const T=Math.min(c.line+u.linesAfter,g.length).toString().length,U=u.maxLength-(u.indent+T+3);for(let D=1;D<=u.linesBefore&&!(l-D<0);D++){const Y=i(c.buffer,f[l-D],g[l-D],c.position-(f[l]-f[l-D]),U);w=n.repeat(" ",u.indent)+o((c.line-D+1).toString(),T)+" | "+Y.str+`
|
|
4
|
+
`+w}const J=i(c.buffer,f[l],g[l],c.position,U);w+=n.repeat(" ",u.indent)+o((c.line+1).toString(),T)+" | "+J.str+`
|
|
5
|
+
`,w+=n.repeat("-",u.indent+T+3+J.pos)+`^
|
|
6
|
+
`;for(let D=1;D<=u.linesAfter&&!(l+D>=g.length);D++){const Y=i(c.buffer,f[l+D],g[l+D],c.position-(f[l]-f[l+D]),U);w+=n.repeat(" ",u.indent)+o((c.line+D+1).toString(),T)+" | "+Y.str+`
|
|
7
|
+
`}return w.replace(/\n$/,"")}return wn=h,wn}var In,dt;function Ae(){if(dt)return In;dt=1;const n=mn(),i=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];function h(u){const s={};return u!==null&&Object.keys(u).forEach(function(f){u[f].forEach(function(g){s[String(g)]=f})}),s}function c(u,s){if(s=s||{},Object.keys(s).forEach(function(f){if(i.indexOf(f)===-1)throw new n('Unknown option "'+f+'" is met in definition of "'+u+'" YAML type.')}),this.options=s,this.tag=u,this.kind=s.kind||null,this.resolve=s.resolve||function(){return!0},this.construct=s.construct||function(f){return f},this.instanceOf=s.instanceOf||null,this.predicate=s.predicate||null,this.represent=s.represent||null,this.representName=s.representName||null,this.defaultStyle=s.defaultStyle||null,this.multi=s.multi||!1,this.styleAliases=h(s.styleAliases||null),o.indexOf(this.kind)===-1)throw new n('Unknown kind "'+this.kind+'" is specified for "'+u+'" YAML type.')}return In=c,In}var _n,mt;function $t(){if(mt)return _n;mt=1;const n=mn(),i=Ae();function o(u,s){const f=[];return u[s].forEach(function(g){let p=f.length;f.forEach(function(l,w){l.tag===g.tag&&l.kind===g.kind&&l.multi===g.multi&&(p=w)}),f[p]=g}),f}function h(){const u={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function s(f){f.multi?(u.multi[f.kind].push(f),u.multi.fallback.push(f)):u[f.kind][f.tag]=u.fallback[f.tag]=f}for(let f=0,g=arguments.length;f<g;f+=1)arguments[f].forEach(s);return u}function c(u){return this.extend(u)}return c.prototype.extend=function(s){let f=[],g=[];if(s instanceof i)g.push(s);else if(Array.isArray(s))g=g.concat(s);else if(s&&(Array.isArray(s.implicit)||Array.isArray(s.explicit)))s.implicit&&(f=f.concat(s.implicit)),s.explicit&&(g=g.concat(s.explicit));else throw new n("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");f.forEach(function(l){if(!(l instanceof i))throw new n("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(l.loadKind&&l.loadKind!=="scalar")throw new n("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(l.multi)throw new n("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),g.forEach(function(l){if(!(l instanceof i))throw new n("Specified list of YAML types (or a single Type object) contains a non-Type object.")});const p=Object.create(c.prototype);return p.implicit=(this.implicit||[]).concat(f),p.explicit=(this.explicit||[]).concat(g),p.compiledImplicit=o(p,"implicit"),p.compiledExplicit=o(p,"explicit"),p.compiledTypeMap=h(p.compiledImplicit,p.compiledExplicit),p},_n=c,_n}var En,pt;function zt(){if(pt)return En;pt=1;const n=Ae();return En=new n("tag:yaml.org,2002:str",{kind:"scalar",construct:function(i){return i!==null?i:""}}),En}var Rn,ft;function Bt(){if(ft)return Rn;ft=1;const n=Ae();return Rn=new n("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(i){return i!==null?i:[]}}),Rn}var Tn,ht;function Ht(){if(ht)return Tn;ht=1;const n=Ae();return Tn=new n("tag:yaml.org,2002:map",{kind:"mapping",construct:function(i){return i!==null?i:{}}}),Tn}var Pn,gt;function Yt(){if(gt)return Pn;gt=1;const n=$t();return Pn=new n({explicit:[zt(),Bt(),Ht()]}),Pn}var On,xt;function Gt(){if(xt)return On;xt=1;const n=Ae();function i(c){if(c===null)return!0;const u=c.length;return u===1&&c==="~"||u===4&&(c==="null"||c==="Null"||c==="NULL")}function o(){return null}function h(c){return c===null}return On=new n("tag:yaml.org,2002:null",{kind:"scalar",resolve:i,construct:o,predicate:h,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),On}var Ln,bt;function Kt(){if(bt)return Ln;bt=1;const n=Ae();function i(c){if(c===null)return!1;const u=c.length;return u===4&&(c==="true"||c==="True"||c==="TRUE")||u===5&&(c==="false"||c==="False"||c==="FALSE")}function o(c){return c==="true"||c==="True"||c==="TRUE"}function h(c){return Object.prototype.toString.call(c)==="[object Boolean]"}return Ln=new n("tag:yaml.org,2002:bool",{kind:"scalar",resolve:i,construct:o,predicate:h,represent:{lowercase:function(c){return c?"true":"false"},uppercase:function(c){return c?"TRUE":"FALSE"},camelcase:function(c){return c?"True":"False"}},defaultStyle:"lowercase"}),Ln}var kn,St;function Vt(){if(St)return kn;St=1;const n=dn(),i=Ae();function o(p){return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function h(p){return p>=48&&p<=55}function c(p){return p>=48&&p<=57}function u(p){if(p===null)return!1;const l=p.length;let w=0,T=!1;if(!l)return!1;let U=p[w];if((U==="-"||U==="+")&&(U=p[++w]),U==="0"){if(w+1===l)return!0;if(U=p[++w],U==="b"){for(w++;w<l;w++){if(U=p[w],U!=="0"&&U!=="1")return!1;T=!0}return T&&isFinite(s(p))}if(U==="x"){for(w++;w<l;w++){if(!o(p.charCodeAt(w)))return!1;T=!0}return T&&isFinite(s(p))}if(U==="o"){for(w++;w<l;w++){if(!h(p.charCodeAt(w)))return!1;T=!0}return T&&isFinite(s(p))}}for(;w<l;w++){if(!c(p.charCodeAt(w)))return!1;T=!0}return T?isFinite(s(p)):!1}function s(p){let l=p,w=1,T=l[0];if((T==="-"||T==="+")&&(T==="-"&&(w=-1),l=l.slice(1),T=l[0]),l==="0")return 0;if(T==="0"){if(l[1]==="b")return w*parseInt(l.slice(2),2);if(l[1]==="x")return w*parseInt(l.slice(2),16);if(l[1]==="o")return w*parseInt(l.slice(2),8)}return w*parseInt(l,10)}function f(p){return s(p)}function g(p){return Object.prototype.toString.call(p)==="[object Number]"&&p%1===0&&!n.isNegativeZero(p)}return kn=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:u,construct:f,predicate:g,represent:{binary:function(p){return p>=0?"0b"+p.toString(2):"-0b"+p.toString(2).slice(1)},octal:function(p){return p>=0?"0o"+p.toString(8):"-0o"+p.toString(8).slice(1)},decimal:function(p){return p.toString(10)},hexadecimal:function(p){return p>=0?"0x"+p.toString(16).toUpperCase():"-0x"+p.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),kn}var Mn,yt;function Qt(){if(yt)return Mn;yt=1;const n=dn(),i=Ae(),o=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),h=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function c(p){return p===null||!o.test(p)?!1:isFinite(parseFloat(p,10))?!0:h.test(p)}function u(p){let l=p.toLowerCase();const w=l[0]==="-"?-1:1;return"+-".indexOf(l[0])>=0&&(l=l.slice(1)),l===".inf"?w===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:l===".nan"?NaN:w*parseFloat(l,10)}const s=/^[-+]?[0-9]+e/;function f(p,l){if(isNaN(p))switch(l){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===p)switch(l){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===p)switch(l){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(n.isNegativeZero(p))return"-0.0";const w=p.toString(10);return s.test(w)?w.replace("e",".e"):w}function g(p){return Object.prototype.toString.call(p)==="[object Number]"&&(p%1!==0||n.isNegativeZero(p))}return Mn=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:c,construct:u,predicate:g,represent:f,defaultStyle:"lowercase"}),Mn}var qn,vt;function Zt(){return vt||(vt=1,qn=Yt().extend({implicit:[Gt(),Kt(),Vt(),Qt()]})),qn}var Fn,jt;function Xt(){return jt||(jt=1,Fn=Zt()),Fn}var Dn,At;function Jt(){if(At)return Dn;At=1;const n=Ae(),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new 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 h(s){return s===null?!1:i.exec(s)!==null||o.exec(s)!==null}function c(s){let f=0,g=null,p=i.exec(s);if(p===null&&(p=o.exec(s)),p===null)throw new Error("Date resolve error");const l=+p[1],w=+p[2]-1,T=+p[3];if(!p[4])return new Date(Date.UTC(l,w,T));const U=+p[4],J=+p[5],D=+p[6];if(p[7]){for(f=p[7].slice(0,3);f.length<3;)f+="0";f=+f}if(p[9]){const te=+p[10],V=+(p[11]||0);g=(te*60+V)*6e4,p[9]==="-"&&(g=-g)}const Y=new Date(Date.UTC(l,w,T,U,J,D,f));return g&&Y.setTime(Y.getTime()-g),Y}function u(s){return s.toISOString()}return Dn=new n("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:h,construct:c,instanceOf:Date,represent:u}),Dn}var Un,Ct;function Wt(){if(Ct)return Un;Ct=1;const n=Ae();function i(o){return o==="<<"||o===null}return Un=new n("tag:yaml.org,2002:merge",{kind:"scalar",resolve:i}),Un}var $n,Nt;function ei(){if(Nt)return $n;Nt=1;const n=Ae(),i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
8
|
+
\r`;function o(s){if(s===null)return!1;let f=0;const g=s.length,p=i;for(let l=0;l<g;l++){const w=p.indexOf(s.charAt(l));if(!(w>64)){if(w<0)return!1;f+=6}}return f%8===0}function h(s){const f=s.replace(/[\r\n=]/g,""),g=f.length,p=i;let l=0;const w=[];for(let U=0;U<g;U++)U%4===0&&U&&(w.push(l>>16&255),w.push(l>>8&255),w.push(l&255)),l=l<<6|p.indexOf(f.charAt(U));const T=g%4*6;return T===0?(w.push(l>>16&255),w.push(l>>8&255),w.push(l&255)):T===18?(w.push(l>>10&255),w.push(l>>2&255)):T===12&&w.push(l>>4&255),new Uint8Array(w)}function c(s){let f="",g=0;const p=s.length,l=i;for(let T=0;T<p;T++)T%3===0&&T&&(f+=l[g>>18&63],f+=l[g>>12&63],f+=l[g>>6&63],f+=l[g&63]),g=(g<<8)+s[T];const w=p%3;return w===0?(f+=l[g>>18&63],f+=l[g>>12&63],f+=l[g>>6&63],f+=l[g&63]):w===2?(f+=l[g>>10&63],f+=l[g>>4&63],f+=l[g<<2&63],f+=l[64]):w===1&&(f+=l[g>>2&63],f+=l[g<<4&63],f+=l[64],f+=l[64]),f}function u(s){return Object.prototype.toString.call(s)==="[object Uint8Array]"}return $n=new n("tag:yaml.org,2002:binary",{kind:"scalar",resolve:o,construct:h,predicate:u,represent:c}),$n}var zn,wt;function ni(){if(wt)return zn;wt=1;const n=Ae(),i=Object.prototype.hasOwnProperty,o=Object.prototype.toString;function h(u){if(u===null)return!0;const s=[],f=u;for(let g=0,p=f.length;g<p;g+=1){const l=f[g];let w=!1;if(o.call(l)!=="[object Object]")return!1;let T;for(T in l)if(i.call(l,T))if(!w)w=!0;else return!1;if(!w)return!1;if(s.indexOf(T)===-1)s.push(T);else return!1}return!0}function c(u){return u!==null?u:[]}return zn=new n("tag:yaml.org,2002:omap",{kind:"sequence",resolve:h,construct:c}),zn}var Bn,It;function ti(){if(It)return Bn;It=1;const n=Ae(),i=Object.prototype.toString;function o(c){if(c===null)return!0;const u=c,s=new Array(u.length);for(let f=0,g=u.length;f<g;f+=1){const p=u[f];if(i.call(p)!=="[object Object]")return!1;const l=Object.keys(p);if(l.length!==1)return!1;s[f]=[l[0],p[l[0]]]}return!0}function h(c){if(c===null)return[];const u=c,s=new Array(u.length);for(let f=0,g=u.length;f<g;f+=1){const p=u[f],l=Object.keys(p);s[f]=[l[0],p[l[0]]]}return s}return Bn=new n("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:o,construct:h}),Bn}var Hn,_t;function ii(){if(_t)return Hn;_t=1;const n=Ae(),i=Object.prototype.hasOwnProperty;function o(c){if(c===null)return!0;const u=c;for(const s in u)if(i.call(u,s)&&u[s]!==null)return!1;return!0}function h(c){return c!==null?c:{}}return Hn=new n("tag:yaml.org,2002:set",{kind:"mapping",resolve:o,construct:h}),Hn}var Yn,Et;function Jn(){return Et||(Et=1,Yn=Xt().extend({implicit:[Jt(),Wt()],explicit:[ei(),ni(),ti(),ii()]})),Yn}var Rt;function Bi(){if(Rt)return pn;Rt=1;const n=dn(),i=mn(),o=zi(),h=Jn(),c=Object.prototype.hasOwnProperty,u=1,s=2,f=3,g=4,p=1,l=2,w=3,T=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,U=/[\x85\u2028\u2029]/,J=/[,\[\]{}]/,D=/^(?:!|!!|![0-9A-Za-z-]+!)$/,Y=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function te(e){return Object.prototype.toString.call(e)}function V(e){return e===10||e===13}function O(e){return e===9||e===32}function F(e){return e===9||e===32||e===10||e===13}function Z(e){return e===44||e===91||e===93||e===123||e===125}function W(e){if(e>=48&&e<=57)return e-48;const m=e|32;return m>=97&&m<=102?m-97+10:-1}function oe(e){return e===120?2:e===117?4:e===85?8:0}function ie(e){return e>=48&&e<=57?e-48:-1}function Ce(e){switch(e){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
|
|
9
|
+
`;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" ";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function Ne(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function Oe(e,m,b){m==="__proto__"?Object.defineProperty(e,m,{configurable:!0,enumerable:!0,writable:!0,value:b}):e[m]=b}const fe=new Array(256),he=new Array(256);for(let e=0;e<256;e++)fe[e]=Ce(e)?1:0,he[e]=Ce(e);function I(e,m){this.input=e,this.filename=m.filename||null,this.schema=m.schema||h,this.onWarning=m.onWarning||null,this.legacy=m.legacy||!1,this.json=m.json||!1,this.listener=m.listener||null,this.maxDepth=typeof m.maxDepth=="number"?m.maxDepth:100,this.maxTotalMergeKeys=typeof m.maxTotalMergeKeys=="number"?m.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 B(e,m){const b={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return b.snippet=o(b),new i(m,b)}function _(e,m){throw B(e,m)}function H(e,m){e.onWarning&&e.onWarning.call(null,B(e,m))}function Q(e,m,b){const j=e.anchorMapTransactions;if(j.length!==0){const a=j[j.length-1];c.call(a,m)||(a[m]={existed:c.call(e.anchorMap,m),value:e.anchorMap[m]})}e.anchorMap[m]=b}function de(e){e.anchorMapTransactions.push(Object.create(null))}function Se(e){const m=e.anchorMapTransactions.pop(),b=e.anchorMapTransactions;if(b.length===0)return;const j=b[b.length-1],a=Object.keys(m);for(let x=0,t=a.length;x<t;x+=1){const d=a[x];c.call(j,d)||(j[d]=m[d])}}function Be(e){const m=e.anchorMapTransactions.pop(),b=Object.keys(m);for(let j=b.length-1;j>=0;j-=1){const a=m[b[j]];a.existed?e.anchorMap[b[j]]=a.value:delete e.anchorMap[b[j]]}}function Re(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 ne(e,m){e.position=m.position,e.line=m.line,e.lineStart=m.lineStart,e.lineIndent=m.lineIndent,e.firstTabInLine=m.firstTabInLine,e.tag=m.tag,e.anchor=m.anchor,e.kind=m.kind,e.result=m.result}const He={YAML:function(m,b,j){m.version!==null&&_(m,"duplication of %YAML directive"),j.length!==1&&_(m,"YAML directive accepts exactly one argument");const a=/^([0-9]+)\.([0-9]+)$/.exec(j[0]);a===null&&_(m,"ill-formed argument of the YAML directive");const x=parseInt(a[1],10),t=parseInt(a[2],10);x!==1&&_(m,"unacceptable YAML version of the document"),m.version=j[0],m.checkLineBreaks=t<2,t!==1&&t!==2&&H(m,"unsupported YAML version of the document")},TAG:function(m,b,j){let a;j.length!==2&&_(m,"TAG directive accepts exactly two arguments");const x=j[0];a=j[1],D.test(x)||_(m,"ill-formed tag handle (first argument) of the TAG directive"),c.call(m.tagMap,x)&&_(m,'there is a previously declared suffix for "'+x+'" tag handle'),Y.test(a)||_(m,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{_(m,"tag prefix is malformed: "+a)}m.tagMap[x]=a}};function se(e,m,b,j){if(m<b){const a=e.input.slice(m,b);if(j)for(let x=0,t=a.length;x<t;x+=1){const d=a.charCodeAt(x);d===9||d>=32&&d<=1114111||_(e,"expected valid JSON character")}else T.test(a)&&_(e,"the stream contains non-printable characters");e.result+=a}}function me(e,m,b,j){n.isObject(b)||_(e,"cannot merge mappings; the provided source object is unacceptable");const a=Object.keys(b);for(let x=0,t=a.length;x<t;x+=1){const d=a[x];e.maxTotalMergeKeys!==-1&&++e.totalMergeKeys>e.maxTotalMergeKeys&&_(e,"merge keys exceeded maxTotalMergeKeys ("+e.maxTotalMergeKeys+")"),c.call(m,d)||(Oe(m,d,b[d]),j[d]=!0)}}function ce(e,m,b,j,a,x,t,d,C){if(Array.isArray(a)){a=Array.prototype.slice.call(a);for(let v=0,A=a.length;v<A;v+=1)Array.isArray(a[v])&&_(e,"nested arrays are not supported inside keys"),typeof a=="object"&&te(a[v])==="[object Object]"&&(a[v]="[object Object]")}if(typeof a=="object"&&te(a)==="[object Object]"&&(a="[object Object]"),a=String(a),m===null&&(m={}),j==="tag:yaml.org,2002:merge")if(Array.isArray(x))for(let v=0,A=x.length;v<A;v+=1)me(e,m,x[v],b);else me(e,m,x,b);else!e.json&&!c.call(b,a)&&c.call(m,a)&&(e.line=t||e.line,e.lineStart=d||e.lineStart,e.position=C||e.position,_(e,"duplicated mapping key")),Oe(m,a,x),delete b[a];return m}function we(e){const m=e.input.charCodeAt(e.position);m===10?e.position++:m===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):_(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function K(e,m,b){let j=0,a=e.input.charCodeAt(e.position);for(;a!==0;){for(;O(a);)a===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),a=e.input.charCodeAt(++e.position);if(m&&a===35)do a=e.input.charCodeAt(++e.position);while(a!==10&&a!==13&&a!==0);if(V(a))for(we(e),a=e.input.charCodeAt(e.position),j++,e.lineIndent=0;a===32;)e.lineIndent++,a=e.input.charCodeAt(++e.position);else break}return b!==-1&&j!==0&&e.lineIndent<b&&H(e,"deficient indentation"),j}function Le(e){let m=e.position,b=e.input.charCodeAt(m);return!!((b===45||b===46)&&b===e.input.charCodeAt(m+1)&&b===e.input.charCodeAt(m+2)&&(m+=3,b=e.input.charCodeAt(m),b===0||F(b)))}function pe(e,m){m===1?e.result+=" ":m>1&&(e.result+=n.repeat(`
|
|
10
|
+
`,m-1))}function re(e,m,b){let j,a,x,t,d,C;const v=e.kind,A=e.result;let N=e.input.charCodeAt(e.position);if(F(N)||Z(N)||N===35||N===38||N===42||N===33||N===124||N===62||N===39||N===34||N===37||N===64||N===96)return!1;if(N===63||N===45){const S=e.input.charCodeAt(e.position+1);if(F(S)||b&&Z(S))return!1}for(e.kind="scalar",e.result="",j=a=e.position,x=!1;N!==0;){if(N===58){const S=e.input.charCodeAt(e.position+1);if(F(S)||b&&Z(S))break}else if(N===35){const S=e.input.charCodeAt(e.position-1);if(F(S))break}else{if(e.position===e.lineStart&&Le(e)||b&&Z(N))break;if(V(N))if(t=e.line,d=e.lineStart,C=e.lineIndent,K(e,!1,-1),e.lineIndent>=m){x=!0,N=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=t,e.lineStart=d,e.lineIndent=C;break}}x&&(se(e,j,a,!1),pe(e,e.line-t),j=a=e.position,x=!1),O(N)||(a=e.position+1),N=e.input.charCodeAt(++e.position)}return se(e,j,a,!1),e.result?!0:(e.kind=v,e.result=A,!1)}function ke(e,m){let b,j,a=e.input.charCodeAt(e.position);if(a!==39)return!1;for(e.kind="scalar",e.result="",e.position++,b=j=e.position;(a=e.input.charCodeAt(e.position))!==0;)if(a===39)if(se(e,b,e.position,!0),a=e.input.charCodeAt(++e.position),a===39)b=e.position,e.position++,j=e.position;else return!0;else V(a)?(se(e,b,j,!0),pe(e,K(e,!1,m)),b=j=e.position):e.position===e.lineStart&&Le(e)?_(e,"unexpected end of the document within a single quoted scalar"):(e.position++,O(a)||(j=e.position));_(e,"unexpected end of the stream within a single quoted scalar")}function Ie(e,m){let b,j,a,x=e.input.charCodeAt(e.position);if(x!==34)return!1;for(e.kind="scalar",e.result="",e.position++,b=j=e.position;(x=e.input.charCodeAt(e.position))!==0;){if(x===34)return se(e,b,e.position,!0),e.position++,!0;if(x===92){if(se(e,b,e.position,!0),x=e.input.charCodeAt(++e.position),V(x))K(e,!1,m);else if(x<256&&fe[x])e.result+=he[x],e.position++;else if((a=oe(x))>0){let t=a,d=0;for(;t>0;t--)x=e.input.charCodeAt(++e.position),(a=W(x))>=0?d=(d<<4)+a:_(e,"expected hexadecimal character");e.result+=Ne(d),e.position++}else _(e,"unknown escape sequence");b=j=e.position}else V(x)?(se(e,b,j,!0),pe(e,K(e,!1,m)),b=j=e.position):e.position===e.lineStart&&Le(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,O(x)||(j=e.position))}_(e,"unexpected end of the stream within a double quoted scalar")}function Te(e,m){let b=!0,j,a,x;const t=e.tag;let d;const C=e.anchor;let v,A,N,S;const R=Object.create(null);let E,k,M,z=e.input.charCodeAt(e.position);if(z===91)v=93,S=!1,d=[];else if(z===123)v=125,S=!0,d={};else return!1;for(e.anchor!==null&&Q(e,e.anchor,d),z=e.input.charCodeAt(++e.position);z!==0;){if(K(e,!0,m),z=e.input.charCodeAt(e.position),z===v)return e.position++,e.tag=t,e.anchor=C,e.kind=S?"mapping":"sequence",e.result=d,!0;if(b?z===44&&_(e,"expected the node content, but found ','"):_(e,"missed comma between flow collection entries"),k=E=M=null,A=N=!1,z===63){const X=e.input.charCodeAt(e.position+1);F(X)&&(A=N=!0,e.position++,K(e,!0,m))}j=e.line,a=e.lineStart,x=e.position,_e(e,m,u,!1,!0),k=e.tag,E=e.result,K(e,!0,m),z=e.input.charCodeAt(e.position),(N||e.line===j)&&z===58&&(A=!0,z=e.input.charCodeAt(++e.position),K(e,!0,m),_e(e,m,u,!1,!0),M=e.result),S?ce(e,d,R,k,E,M,j,a,x):A?d.push(ce(e,null,R,k,E,M,j,a,x)):d.push(E),K(e,!0,m),z=e.input.charCodeAt(e.position),z===44?(b=!0,z=e.input.charCodeAt(++e.position)):b=!1}_(e,"unexpected end of the stream within a flow collection")}function Ge(e,m){let b,j=p,a=!1,x=!1,t=m,d=0,C=!1,v,A=e.input.charCodeAt(e.position);if(A===124)b=!1;else if(A===62)b=!0;else return!1;for(e.kind="scalar",e.result="";A!==0;)if(A=e.input.charCodeAt(++e.position),A===43||A===45)p===j?j=A===43?w:l:_(e,"repeat of a chomping mode identifier");else if((v=ie(A))>=0)v===0?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):x?_(e,"repeat of an indentation width identifier"):(t=m+v-1,x=!0);else break;if(O(A)){do A=e.input.charCodeAt(++e.position);while(O(A));if(A===35)do A=e.input.charCodeAt(++e.position);while(!V(A)&&A!==0)}for(;A!==0;){for(we(e),e.lineIndent=0,A=e.input.charCodeAt(e.position);(!x||e.lineIndent<t)&&A===32;)e.lineIndent++,A=e.input.charCodeAt(++e.position);if(!x&&e.lineIndent>t&&(t=e.lineIndent),V(A)){d++;continue}if(!x&&t===0&&_(e,"missing indentation for block scalar"),e.lineIndent<t){j===w?e.result+=n.repeat(`
|
|
11
|
+
`,a?1+d:d):j===p&&a&&(e.result+=`
|
|
12
|
+
`);break}b?O(A)?(C=!0,e.result+=n.repeat(`
|
|
13
|
+
`,a?1+d:d)):C?(C=!1,e.result+=n.repeat(`
|
|
14
|
+
`,d+1)):d===0?a&&(e.result+=" "):e.result+=n.repeat(`
|
|
15
|
+
`,d):e.result+=n.repeat(`
|
|
16
|
+
`,a?1+d:d),a=!0,x=!0,d=0;const N=e.position;for(;!V(A)&&A!==0;)A=e.input.charCodeAt(++e.position);se(e,N,e.position,!1)}return!0}function ue(e,m){const b=e.tag,j=e.anchor,a=[];let x=!1;if(e.firstTabInLine!==-1)return!1;e.anchor!==null&&Q(e,e.anchor,a);let t=e.input.charCodeAt(e.position);for(;t!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,_(e,"tab characters must not be used in indentation")),t===45);){const d=e.input.charCodeAt(e.position+1);if(!F(d))break;if(x=!0,e.position++,K(e,!0,-1)&&e.lineIndent<=m){a.push(null),t=e.input.charCodeAt(e.position);continue}const C=e.line;if(_e(e,m,f,!1,!0),a.push(e.result),K(e,!0,-1),t=e.input.charCodeAt(e.position),(e.line===C||e.lineIndent>m)&&t!==0)_(e,"bad indentation of a sequence entry");else if(e.lineIndent<m)break}return x?(e.tag=b,e.anchor=j,e.kind="sequence",e.result=a,!0):!1}function qe(e,m,b){let j,a,x,t;const d=e.tag,C=e.anchor,v={},A=Object.create(null);let N=null,S=null,R=null,E=!1,k=!1;if(e.firstTabInLine!==-1)return!1;e.anchor!==null&&Q(e,e.anchor,v);let M=e.input.charCodeAt(e.position);for(;M!==0;){!E&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,_(e,"tab characters must not be used in indentation"));const z=e.input.charCodeAt(e.position+1),X=e.line;if((M===63||M===58)&&F(z))M===63?(E&&(ce(e,v,A,N,S,null,a,x,t),N=S=R=null),k=!0,E=!0,j=!0):E?(E=!1,j=!0):_(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,M=z;else{if(a=e.line,x=e.lineStart,t=e.position,!_e(e,b,s,!1,!0))break;if(e.line===X){for(M=e.input.charCodeAt(e.position);O(M);)M=e.input.charCodeAt(++e.position);if(M===58)M=e.input.charCodeAt(++e.position),F(M)||_(e,"a whitespace character is expected after the key-value separator within a block mapping"),E&&(ce(e,v,A,N,S,null,a,x,t),N=S=R=null),k=!0,E=!1,j=!1,N=e.tag,S=e.result;else if(k)_(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=d,e.anchor=C,!0}else if(k)_(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=d,e.anchor=C,!0}if((e.line===X||e.lineIndent>m)&&(E&&(a=e.line,x=e.lineStart,t=e.position),_e(e,m,g,!0,j)&&(E?S=e.result:R=e.result),E||(ce(e,v,A,N,S,R,a,x,t),N=S=R=null),K(e,!0,-1),M=e.input.charCodeAt(e.position)),(e.line===X||e.lineIndent>m)&&M!==0)_(e,"bad indentation of a mapping entry");else if(e.lineIndent<m)break}return E&&ce(e,v,A,N,S,null,a,x,t),k&&(e.tag=d,e.anchor=C,e.kind="mapping",e.result=v),k}function Pe(e){let m=!1,b=!1,j,a,x=e.input.charCodeAt(e.position);if(x!==33)return!1;e.tag!==null&&_(e,"duplication of a tag property"),x=e.input.charCodeAt(++e.position),x===60?(m=!0,x=e.input.charCodeAt(++e.position)):x===33?(b=!0,j="!!",x=e.input.charCodeAt(++e.position)):j="!";let t=e.position;if(m){do x=e.input.charCodeAt(++e.position);while(x!==0&&x!==62);e.position<e.length?(a=e.input.slice(t,e.position),x=e.input.charCodeAt(++e.position)):_(e,"unexpected end of the stream within a verbatim tag")}else{for(;x!==0&&!F(x);)x===33&&(b?_(e,"tag suffix cannot contain exclamation marks"):(j=e.input.slice(t-1,e.position+1),D.test(j)||_(e,"named tag handle cannot contain such characters"),b=!0,t=e.position+1)),x=e.input.charCodeAt(++e.position);a=e.input.slice(t,e.position),J.test(a)&&_(e,"tag suffix cannot contain flow indicator characters")}a&&!Y.test(a)&&_(e,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{_(e,"tag name is malformed: "+a)}return m?e.tag=a:c.call(e.tagMap,j)?e.tag=e.tagMap[j]+a:j==="!"?e.tag="!"+a:j==="!!"?e.tag="tag:yaml.org,2002:"+a:_(e,'undeclared tag handle "'+j+'"'),!0}function ae(e){let m=e.input.charCodeAt(e.position);if(m!==38)return!1;e.anchor!==null&&_(e,"duplication of an anchor property"),m=e.input.charCodeAt(++e.position);const b=e.position;for(;m!==0&&!F(m)&&!Z(m);)m=e.input.charCodeAt(++e.position);return e.position===b&&_(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(b,e.position),!0}function ye(e){let m=e.input.charCodeAt(e.position);if(m!==42)return!1;m=e.input.charCodeAt(++e.position);const b=e.position;for(;m!==0&&!F(m)&&!Z(m);)m=e.input.charCodeAt(++e.position);e.position===b&&_(e,"name of an alias node must contain at least one character");const j=e.input.slice(b,e.position);return c.call(e.anchorMap,j)||_(e,'unidentified alias "'+j+'"'),e.result=e.anchorMap[j],K(e,!0,-1),!0}function Fe(e,m,b,j){const a=Re(e);return de(e),ne(e,m),e.tag=null,e.anchor=null,e.kind=null,e.result=null,qe(e,b,j)&&e.kind==="mapping"?(Se(e),!0):(Be(e),ne(e,a),!1)}function _e(e,m,b,j,a){let x,t,d=1,C=!1,v=!1,A=null,N,S,R;e.depth>=e.maxDepth&&_(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;const E=x=t=g===b||f===b;if(j&&K(e,!0,-1)&&(C=!0,e.lineIndent>m?d=1:e.lineIndent===m?d=0:e.lineIndent<m&&(d=-1)),d===1)for(;;){const k=e.input.charCodeAt(e.position),M=Re(e);if(C&&(k===33&&e.tag!==null||k===38&&e.anchor!==null)||!Pe(e)&&!ae(e))break;A===null&&(A=M),K(e,!0,-1)?(C=!0,t=E,e.lineIndent>m?d=1:e.lineIndent===m?d=0:e.lineIndent<m&&(d=-1)):t=!1}if(t&&(t=C||a),d===1||g===b)if(u===b||s===b?S=m:S=m+1,R=e.position-e.lineStart,d===1)if(t&&(ue(e,R)||qe(e,R,S))||Te(e,S))v=!0;else{const k=e.input.charCodeAt(e.position);A!==null&&E&&!t&&k!==124&&k!==62&&Fe(e,A,A.position-A.lineStart,S)||x&&Ge(e,S)||ke(e,S)||Ie(e,S)?v=!0:ye(e)?(v=!0,(e.tag!==null||e.anchor!==null)&&_(e,"alias node should not have any properties")):re(e,S,u===b)&&(v=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&Q(e,e.anchor,e.result)}else d===0&&(v=t&&ue(e,R));if(e.tag===null)e.anchor!==null&&Q(e,e.anchor,e.result);else if(e.tag==="?"){e.result!==null&&e.kind!=="scalar"&&_(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"');for(let k=0,M=e.implicitTypes.length;k<M;k+=1)if(N=e.implicitTypes[k],N.resolve(e.result)){e.result=N.construct(e.result),e.tag=N.tag,e.anchor!==null&&Q(e,e.anchor,e.result);break}}else if(e.tag!=="!"){if(c.call(e.typeMap[e.kind||"fallback"],e.tag))N=e.typeMap[e.kind||"fallback"][e.tag];else{N=null;const k=e.typeMap.multi[e.kind||"fallback"];for(let M=0,z=k.length;M<z;M+=1)if(e.tag.slice(0,k[M].tag.length)===k[M].tag){N=k[M];break}}N||_(e,"unknown tag !<"+e.tag+">"),e.result!==null&&N.kind!==e.kind&&_(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+N.kind+'", not "'+e.kind+'"'),N.resolve(e.result,e.tag)?(e.result=N.construct(e.result,e.tag),e.anchor!==null&&Q(e,e.anchor,e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.depth-=1,e.tag!==null||e.anchor!==null||v}function De(e){const m=e.position;let b=!1,j;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(j=e.input.charCodeAt(e.position))!==0&&(K(e,!0,-1),j=e.input.charCodeAt(e.position),!(e.lineIndent>0||j!==37));){b=!0,j=e.input.charCodeAt(++e.position);let a=e.position;for(;j!==0&&!F(j);)j=e.input.charCodeAt(++e.position);const x=e.input.slice(a,e.position),t=[];for(x.length<1&&_(e,"directive name must not be less than one character in length");j!==0;){for(;O(j);)j=e.input.charCodeAt(++e.position);if(j===35){do j=e.input.charCodeAt(++e.position);while(j!==0&&!V(j));break}if(V(j))break;for(a=e.position;j!==0&&!F(j);)j=e.input.charCodeAt(++e.position);t.push(e.input.slice(a,e.position))}j!==0&&we(e),c.call(He,x)?He[x](e,x,t):H(e,'unknown document directive "'+x+'"')}if(K(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,K(e,!0,-1)):b&&_(e,"directives end mark is expected"),_e(e,e.lineIndent-1,g,!1,!0),K(e,!0,-1),e.checkLineBreaks&&U.test(e.input.slice(m,e.position))&&H(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Le(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,K(e,!0,-1));return}e.position<e.length-1&&_(e,"end of the stream or a document separator is expected")}function Ue(e,m){e=String(e),m=m||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
17
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));const b=new I(e,m),j=e.indexOf("\0");for(j!==-1&&(b.position=j,_(b,"null byte is not allowed in input")),b.input+="\0";b.input.charCodeAt(b.position)===32;)b.lineIndent+=1,b.position+=1;for(;b.position<b.length-1;)De(b);return b.documents}function Ke(e,m,b){m!==null&&typeof m=="object"&&typeof b>"u"&&(b=m,m=null);const j=Ue(e,b);if(typeof m!="function")return j;for(let a=0,x=j.length;a<x;a+=1)m(j[a])}function Ye(e,m){const b=Ue(e,m);if(b.length!==0){if(b.length===1)return b[0];throw new i("expected a single document in the stream, but found more")}}return pn.loadAll=Ke,pn.load=Ye,pn}var Gn={},Tt;function Hi(){if(Tt)return Gn;Tt=1;const n=dn(),i=mn(),o=Jn(),h=Object.prototype.toString,c=Object.prototype.hasOwnProperty,u=65279,s=9,f=10,g=13,p=32,l=33,w=34,T=35,U=37,J=38,D=39,Y=42,te=44,V=45,O=58,F=61,Z=62,W=63,oe=64,ie=91,Ce=93,Ne=96,Oe=123,fe=124,he=125,I={};I[0]="\\0",I[7]="\\a",I[8]="\\b",I[9]="\\t",I[10]="\\n",I[11]="\\v",I[12]="\\f",I[13]="\\r",I[27]="\\e",I[34]='\\"',I[92]="\\\\",I[133]="\\N",I[160]="\\_",I[8232]="\\L",I[8233]="\\P";const B=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],_=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function H(t,d){if(d===null)return{};const C={},v=Object.keys(d);for(let A=0,N=v.length;A<N;A+=1){let S=v[A],R=String(d[S]);S.slice(0,2)==="!!"&&(S="tag:yaml.org,2002:"+S.slice(2));const E=t.compiledTypeMap.fallback[S];E&&c.call(E.styleAliases,R)&&(R=E.styleAliases[R]),C[S]=R}return C}function Q(t){let d,C;const v=t.toString(16).toUpperCase();if(t<=255)d="x",C=2;else if(t<=65535)d="u",C=4;else if(t<=4294967295)d="U",C=8;else throw new i("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+d+n.repeat("0",C-v.length)+v}const de=1,Se=2;function Be(t){this.schema=t.schema||o,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=n.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=H(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==='"'?Se:de,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 Re(t,d){const C=n.repeat(" ",d);let v=0,A="";const N=t.length;for(;v<N;){let S;const R=t.indexOf(`
|
|
18
|
+
`,v);R===-1?(S=t.slice(v),v=N):(S=t.slice(v,R+1),v=R+1),S.length&&S!==`
|
|
19
|
+
`&&(A+=C),A+=S}return A}function ne(t,d){return`
|
|
20
|
+
`+n.repeat(" ",t.indent*d)}function He(t,d){for(let C=0,v=t.implicitTypes.length;C<v;C+=1)if(t.implicitTypes[C].resolve(d))return!0;return!1}function se(t){return t===p||t===s}function me(t){return t>=32&&t<=126||t>=161&&t<=55295&&t!==8232&&t!==8233||t>=57344&&t<=65533&&t!==u||t>=65536&&t<=1114111}function ce(t){return me(t)&&t!==u&&t!==g&&t!==f}function we(t,d,C){const v=ce(t),A=v&&!se(t);return(C?v:v&&t!==te&&t!==ie&&t!==Ce&&t!==Oe&&t!==he)&&t!==T&&!(d===O&&!A)||ce(d)&&!se(d)&&t===T||d===O&&A}function K(t){return me(t)&&t!==u&&!se(t)&&t!==V&&t!==W&&t!==O&&t!==te&&t!==ie&&t!==Ce&&t!==Oe&&t!==he&&t!==T&&t!==J&&t!==Y&&t!==l&&t!==fe&&t!==F&&t!==Z&&t!==D&&t!==w&&t!==U&&t!==oe&&t!==Ne}function Le(t){return!se(t)&&t!==O}function pe(t,d){const C=t.charCodeAt(d);let v;return C>=55296&&C<=56319&&d+1<t.length&&(v=t.charCodeAt(d+1),v>=56320&&v<=57343)?(C-55296)*1024+v-56320+65536:C}function re(t){return/^\n* /.test(t)}const ke=1,Ie=2,Te=3,Ge=4,ue=5;function qe(t,d,C,v,A,N,S,R){let E,k=0,M=null,z=!1,X=!1;const on=v!==-1;let Ze=-1,Xe=K(pe(t,0))&&Le(pe(t,t.length-1));if(d||S)for(E=0;E<t.length;k>=65536?E+=2:E++){if(k=pe(t,E),!me(k))return ue;Xe=Xe&&we(k,M,R),M=k}else{for(E=0;E<t.length;k>=65536?E+=2:E++){if(k=pe(t,E),k===f)z=!0,on&&(X=X||E-Ze-1>v&&t[Ze+1]!==" ",Ze=E);else if(!me(k))return ue;Xe=Xe&&we(k,M,R),M=k}X=X||on&&E-Ze-1>v&&t[Ze+1]!==" "}return!z&&!X?Xe&&!S&&!A(t)?ke:N===Se?ue:Ie:C>9&&re(t)?ue:S?N===Se?ue:Ie:X?Ge:Te}function Pe(t,d,C,v,A){t.dump=(function(){if(d.length===0)return t.quotingType===Se?'""':"''";if(!t.noCompatMode&&(B.indexOf(d)!==-1||_.test(d)))return t.quotingType===Se?'"'+d+'"':"'"+d+"'";const N=t.indent*Math.max(1,C),S=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-N),R=v||t.flowLevel>-1&&C>=t.flowLevel;function E(k){return He(t,k)}switch(qe(d,R,t.indent,S,E,t.quotingType,t.forceQuotes&&!v,A)){case ke:return d;case Ie:return"'"+d.replace(/'/g,"''")+"'";case Te:return"|"+ae(d,t.indent)+ye(Re(d,N));case Ge:return">"+ae(d,t.indent)+ye(Re(Fe(d,S),N));case ue:return'"'+De(d)+'"';default:throw new i("impossible error: invalid scalar style")}})()}function ae(t,d){const C=re(t)?String(d):"",v=t[t.length-1]===`
|
|
21
|
+
`,N=v&&(t[t.length-2]===`
|
|
22
|
+
`||t===`
|
|
23
|
+
`)?"+":v?"":"-";return C+N+`
|
|
24
|
+
`}function ye(t){return t[t.length-1]===`
|
|
25
|
+
`?t.slice(0,-1):t}function Fe(t,d){const C=/(\n+)([^\n]*)/g;let v=(function(){let R=t.indexOf(`
|
|
26
|
+
`);return R=R!==-1?R:t.length,C.lastIndex=R,_e(t.slice(0,R),d)})(),A=t[0]===`
|
|
27
|
+
`||t[0]===" ",N,S;for(;S=C.exec(t);){const R=S[1],E=S[2];N=E[0]===" ",v+=R+(!A&&!N&&E!==""?`
|
|
28
|
+
`:"")+_e(E,d),A=N}return v}function _e(t,d){if(t===""||t[0]===" ")return t;const C=/ [^ ]/g;let v,A=0,N,S=0,R=0,E="";for(;v=C.exec(t);)R=v.index,R-A>d&&(N=S>A?S:R,E+=`
|
|
29
|
+
`+t.slice(A,N),A=N+1),S=R;return E+=`
|
|
30
|
+
`,t.length-A>d&&S>A?E+=t.slice(A,S)+`
|
|
31
|
+
`+t.slice(S+1):E+=t.slice(A),E.slice(1)}function De(t){let d="",C=0;for(let v=0;v<t.length;C>=65536?v+=2:v++){C=pe(t,v);const A=I[C];!A&&me(C)?(d+=t[v],C>=65536&&(d+=t[v+1])):d+=A||Q(C)}return d}function Ue(t,d,C){let v="";const A=t.tag;for(let N=0,S=C.length;N<S;N+=1){let R=C[N];t.replacer&&(R=t.replacer.call(C,String(N),R)),(b(t,d,R,!1,!1)||typeof R>"u"&&b(t,d,null,!1,!1))&&(v!==""&&(v+=","+(t.condenseFlow?"":" ")),v+=t.dump)}t.tag=A,t.dump="["+v+"]"}function Ke(t,d,C,v){let A="";const N=t.tag;for(let S=0,R=C.length;S<R;S+=1){let E=C[S];t.replacer&&(E=t.replacer.call(C,String(S),E)),(b(t,d+1,E,!0,!0,!1,!0)||typeof E>"u"&&b(t,d+1,null,!0,!0,!1,!0))&&((!v||A!=="")&&(A+=ne(t,d)),t.dump&&f===t.dump.charCodeAt(0)?A+="-":A+="- ",A+=t.dump)}t.tag=N,t.dump=A||"[]"}function Ye(t,d,C){let v="";const A=t.tag,N=Object.keys(C);for(let S=0,R=N.length;S<R;S+=1){let E="";v!==""&&(E+=", "),t.condenseFlow&&(E+='"');const k=N[S];let M=C[k];t.replacer&&(M=t.replacer.call(C,k,M)),b(t,d,k,!1,!1)&&(t.dump.length>1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),b(t,d,M,!1,!1)&&(E+=t.dump,v+=E))}t.tag=A,t.dump="{"+v+"}"}function e(t,d,C,v){let A="";const N=t.tag,S=Object.keys(C);if(t.sortKeys===!0)S.sort();else if(typeof t.sortKeys=="function")S.sort(t.sortKeys);else if(t.sortKeys)throw new i("sortKeys must be a boolean or a function");for(let R=0,E=S.length;R<E;R+=1){let k="";(!v||A!=="")&&(k+=ne(t,d));const M=S[R];let z=C[M];if(t.replacer&&(z=t.replacer.call(C,M,z)),!b(t,d+1,M,!0,!0,!0))continue;const X=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024;X&&(t.dump&&f===t.dump.charCodeAt(0)?k+="?":k+="? "),k+=t.dump,X&&(k+=ne(t,d)),b(t,d+1,z,!0,X)&&(t.dump&&f===t.dump.charCodeAt(0)?k+=":":k+=": ",k+=t.dump,A+=k)}t.tag=N,t.dump=A||"{}"}function m(t,d,C){const v=C?t.explicitTypes:t.implicitTypes;for(let A=0,N=v.length;A<N;A+=1){const S=v[A];if((S.instanceOf||S.predicate)&&(!S.instanceOf||typeof d=="object"&&d instanceof S.instanceOf)&&(!S.predicate||S.predicate(d))){if(C?S.multi&&S.representName?t.tag=S.representName(d):t.tag=S.tag:t.tag="?",S.represent){const R=t.styleMap[S.tag]||S.defaultStyle;let E;if(h.call(S.represent)==="[object Function]")E=S.represent(d,R);else if(c.call(S.represent,R))E=S.represent[R](d,R);else throw new i("!<"+S.tag+'> tag resolver accepts not "'+R+'" style');t.dump=E}return!0}}return!1}function b(t,d,C,v,A,N,S){t.tag=null,t.dump=C,m(t,C,!1)||m(t,C,!0);const R=h.call(t.dump),E=v;v&&(v=t.flowLevel<0||t.flowLevel>d);const k=R==="[object Object]"||R==="[object Array]";let M,z;if(k&&(M=t.duplicates.indexOf(C),z=M!==-1),(t.tag!==null&&t.tag!=="?"||z||t.indent!==2&&d>0)&&(A=!1),z&&t.usedDuplicates[M])t.dump="*ref_"+M;else{if(k&&z&&!t.usedDuplicates[M]&&(t.usedDuplicates[M]=!0),R==="[object Object]")v&&Object.keys(t.dump).length!==0?(e(t,d,t.dump,A),z&&(t.dump="&ref_"+M+t.dump)):(Ye(t,d,t.dump),z&&(t.dump="&ref_"+M+" "+t.dump));else if(R==="[object Array]")v&&t.dump.length!==0?(t.noArrayIndent&&!S&&d>0?Ke(t,d-1,t.dump,A):Ke(t,d,t.dump,A),z&&(t.dump="&ref_"+M+t.dump)):(Ue(t,d,t.dump),z&&(t.dump="&ref_"+M+" "+t.dump));else if(R==="[object String]")t.tag!=="?"&&Pe(t,t.dump,d,N,E);else{if(R==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new i("unacceptable kind of an object to dump "+R)}if(t.tag!==null&&t.tag!=="?"){let X=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21");t.tag[0]==="!"?X="!"+X:X.slice(0,18)==="tag:yaml.org,2002:"?X="!!"+X.slice(18):X="!<"+X+">",t.dump=X+" "+t.dump}}return!0}function j(t,d){const C=[],v=[];a(t,C,v);const A=v.length;for(let N=0;N<A;N+=1)d.duplicates.push(C[v[N]]);d.usedDuplicates=new Array(A)}function a(t,d,C){if(t!==null&&typeof t=="object"){const v=d.indexOf(t);if(v!==-1)C.indexOf(v)===-1&&C.push(v);else if(d.push(t),Array.isArray(t))for(let A=0,N=t.length;A<N;A+=1)a(t[A],d,C);else{const A=Object.keys(t);for(let N=0,S=A.length;N<S;N+=1)a(t[A[N]],d,C)}}}function x(t,d){d=d||{};const C=new Be(d);C.noRefs||j(t,C);let v=t;return C.replacer&&(v=C.replacer.call({"":v},"",v)),b(C,0,v,!0,!0)?C.dump+`
|
|
32
|
+
`:""}return Gn.dump=x,Gn}var Pt;function Yi(){if(Pt)return be;Pt=1;const n=Bi(),i=Hi();function o(h,c){return function(){throw new Error("Function yaml."+h+" is removed in js-yaml 4. Use yaml."+c+" instead, which is now safe by default.")}}return be.Type=Ae(),be.Schema=$t(),be.FAILSAFE_SCHEMA=Yt(),be.JSON_SCHEMA=Zt(),be.CORE_SCHEMA=Xt(),be.DEFAULT_SCHEMA=Jn(),be.load=n.load,be.loadAll=n.loadAll,be.dump=i.dump,be.YAMLException=mn(),be.types={binary:ei(),float:Qt(),map:Ht(),null:Gt(),pairs:ti(),set:ii(),timestamp:Jt(),bool:Kt(),int:Vt(),merge:Wt(),omap:ni(),seq:Bt(),str:zt()},be.safeLoad=o("safeLoad","load"),be.safeLoadAll=o("safeLoadAll","loadAll"),be.safeDump=o("safeDump","dump"),be}var Gi=Yi();const Ki=$i(Gi),{Type:da,Schema:ma,FAILSAFE_SCHEMA:pa,JSON_SCHEMA:fa,CORE_SCHEMA:ha,DEFAULT_SCHEMA:ga,load:xa,loadAll:ba,dump:Sa,YAMLException:ya,types:va,safeLoad:ja,safeLoadAll:Aa,safeDump:Ca}=Ki,Sn=3e3,yn=9999,an="openpond.yaml",Vi=["google","github","x"],Wn=new Set([22,2222,2375,2376,3108,5900,5901,6080,7818]),Ot=le(L().trim().min(1).max(1e3)).max(50),un=L().trim().min(1).max(4096).refine(li,{message:"path must be a relative workspace path"}),Qi=L().trim().min(1).max(500).refine(n=>!n.includes("\0")&&!/\s/.test(n),"image ref must be a single OCI reference"),Zi=L().trim().regex(/^sha256:[0-9a-f]{64}$/i),ri=L().trim().min(1).max(500).refine(n=>n.startsWith("/")&&!n.includes("\0"),"workspaceRoot must be an absolute guest path"),Xi=ee({ref:Qi,digest:Zi.optional(),registrySecretRef:L().trim().min(1).max(500).optional(),platform:bn("linux/amd64").optional(),workspaceRoot:ri.optional()}).strict(),Ji=ee({context:un.default("."),path:un.default("Dockerfile"),target:L().trim().min(1).max(191).optional(),buildArgs:Qe(L().max(191),L().max(500)).optional(),registrySecretRefs:le(L().trim().min(1).max(500)).max(10).optional(),platform:bn("linux/amd64").optional(),workspaceRoot:ri.optional()}).strict(),Wi=ee({base:L().trim().min(1).max(120).optional(),snapshot:L().trim().min(1).max(191).optional(),image:Xi.optional(),dockerfile:Ji.optional()}).strict().superRefine((n,i)=>{[n.base,n.snapshot,n.image,n.dockerfile].filter(Boolean).length!==1&&i.addIssue({code:Ee.custom,message:"runtime must declare exactly one of base, snapshot, image, or dockerfile"})}),ai=ee({cpu:ze().positive().max(8).optional(),memoryGb:ze().positive().max(32).optional(),diskGb:ze().positive().max(100).optional()}).strict(),er=ee({provider:rn(Vi),scopes:le(L().trim().min(1).max(200)).max(100).default([]),capabilities:le(L().trim().min(1).max(200)).max(100).default([])}).strict(),nr=ee({models:le(L().trim().min(1).max(200)).max(100).default([]),scopes:le(L().trim().min(1).max(200)).max(100).default([])}).strict(),tr=ee({opchat:nr.optional()}).catchall(Qe(L(),We())).default({}),ir=ee({name:L().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).max(63).optional(),mountPath:L().trim().min(1).max(256).optional(),storageGb:ze().int().positive().max(100).optional(),deleteOnSandboxDelete:en().optional()}).strict(),rr=ee({port:ze().int().min(Sn).max(yn).refine(n=>!Wn.has(n),{message:"preview port is reserved"}),protocol:bn("http").default("http"),label:L().trim().min(1).max(80).optional(),access:rn(["private","public"]).default("private"),path:L().trim().min(1).max(512).refine(n=>n.startsWith("/"),{message:"preview path must start with /"}).default("/")}).strict(),oi=ee({command:L().trim().min(1).max(1e3),cwd:un.optional(),timeoutSeconds:ze().int().positive().max(86400).optional(),requiresStart:en().default(!1),ports:le(rr).max(20).default([]),artifactPaths:le(un).max(100).default([])}).strict(),Lt=oi.extend({name:L().trim().min(1).max(80)}).strict(),ar=ee({name:L().trim().min(1).max(80).optional(),service:L().trim().min(1).max(80).optional(),port:ze().int().min(Sn).max(yn).refine(n=>!Wn.has(n),{message:"app MCP port is reserved"}),path:L().trim().min(1).max(512).refine(n=>n.startsWith("/"),{message:"app MCP path must start with /"}).default("/mcp")}).strict(),or=ee({name:L().trim().min(1).max(80).optional(),port:ze().int().min(Sn).max(yn).refine(n=>!Wn.has(n),{message:"validation probe port is reserved"}),path:L().trim().min(1).max(512).refine(n=>n.startsWith("/"),{message:"validation probe path must start with /"}).default("/"),expectedStatus:ze().int().min(100).max(599).default(200)}).strict(),lr=Qe(L(),We()).refine(n=>n.type==="object","input schema must be a JSON schema object"),sr=ee({name:L().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),required:en().default(!1),secret:en().default(!0),description:L().trim().max(500).optional()}).strict(),Kn=L().trim().min(1).max(120),cr=ee({name:L().trim().min(1).max(120),description:L().trim().max(500).optional(),cron:L().trim().min(1).max(500).optional(),rate:L().trim().min(1).max(500).optional(),once:Kn.optional(),scheduleType:rn(["rate","cron","once"]).optional(),scheduleExpression:L().trim().min(1).max(500).optional(),timezone:L().trim().min(1).max(100).optional(),enabled:en().default(!0),startAt:Kn.optional(),endAt:Kn.optional(),maxRuns:ze().int().positive().nullable().optional(),runtimePolicy:rn(["run_and_stop","run_and_archive","run_and_delete","use_existing_running"]).default("run_and_stop"),action:L().trim().min(1).max(120).optional(),actionName:L().trim().min(1).max(120).optional(),command:L().trim().min(1).max(2e3).optional(),target:ee({kind:rn(["start","action","service","command"]).optional(),name:L().trim().min(1).max(120).optional(),actionName:L().trim().min(1).max(120).optional(),command:L().trim().min(1).max(2e3).optional(),requiresStart:en().optional()}).strict().optional(),requiresStart:en().optional(),budget:ee({maxUsd:L().trim().min(1).max(40).optional()}).strict().optional(),resources:ai.optional(),quotas:Qe(L(),We()).optional(),lifecycle:Qe(L(),We()).optional(),retentionPolicy:Qe(L(),We()).optional(),env:le(ee({name:L().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),value:L().optional(),secretRef:L().optional()}).strict()).max(100).optional(),integrationLeases:le(Qe(L(),We())).max(20).optional(),metadata:Qe(L(),We()).optional()}).strict().superRefine((n,i)=>{[n.cron,n.rate,n.once,n.scheduleExpression].filter(f=>typeof f=="string"&&f.trim()).length!==1&&i.addIssue({code:Ee.custom,path:["scheduleExpression"],message:"schedule must declare exactly one of cron, rate, once, or scheduleExpression"}),n.scheduleExpression&&!n.scheduleType&&i.addIssue({code:Ee.custom,path:["scheduleType"],message:"scheduleType is required with scheduleExpression"});const h=n.command??n.target?.command??null,c=n.target?.name??null,u=n.actionName??n.action??n.target?.actionName??(n.target?.kind==="action"?c:null),s=n.target?.kind??(h?"command":"action");s==="action"&&!u&&i.addIssue({code:Ee.custom,path:["action"],message:"schedule action target is required"}),s==="service"&&!c&&i.addIssue({code:Ee.custom,path:["target","name"],message:"schedule service target name is required"}),s==="command"&&!h&&i.addIssue({code:Ee.custom,path:["command"],message:"schedule command target is required"})});ee({schemaVersion:bn(1),name:L().trim().min(1).max(80).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/),version:L().trim().min(1).max(40),useCase:L().trim().min(1).max(80),description:L().trim().min(1).max(500),runtime:Wi,resources:ai.optional(),setup:ee({commands:Ot.default([])}).strict().default({commands:[]}),validation:ee({commands:Ot.min(1),probes:le(or).max(20).default([])}).strict(),start:oi,actions:le(Lt).max(20).default([]),services:le(Lt).max(20).default([]),schedules:le(cr).max(20).default([]),mcp:ee({endpoints:le(ar).max(10).default([])}).strict().default({endpoints:[]}),volumes:le(ir).max(5).default([]),integrations:ee({requiredLeases:le(er).max(20).default([])}).strict().default({requiredLeases:[]}),permissions:tr,inputs:ee({schema:lr.default({type:"object"}),env:le(sr).max(100).default([])}).strict().default({schema:{type:"object"},env:[]}),artifacts:ee({paths:le(un).max(100).default([])}).strict().default({paths:[]}),network:ee({egress:rn(["restricted","allow","block"]).default("restricted")}).strict().default({egress:"restricted"})}).strict().superRefine((n,i)=>{ur(n,i),nt(i,n.volumes.flatMap(o=>o.name?[o.name]:[]),"volume names must be unique","volumes"),dr(n,i),mr(n,i),pr(n,i),fr(n,i)});ee({path:L(),message:L(),code:L()});function et(n){return[{kind:"start",name:"start",...n.start,artifactPaths:Qn(n.start,n)},...n.actions.map(i=>({kind:"action",name:i.name,command:i.command,cwd:i.cwd,timeoutSeconds:i.timeoutSeconds,requiresStart:i.requiresStart,ports:i.ports,artifactPaths:Qn(i,n)})),...n.services.map(i=>({kind:"service",name:i.name,command:i.command,cwd:i.cwd,timeoutSeconds:i.timeoutSeconds,requiresStart:i.requiresStart,ports:i.ports,artifactPaths:Qn(i,n)}))]}function li(n){return!n.includes("\0")&&!n.startsWith("/")&&!n.split(/[\\/]+/).some(i=>i===".."||i==="")}function nt(n,i,o,h){const c=new Set;for(const u of i){if(c.has(u)){n.addIssue({code:Ee.custom,path:[h],message:o});return}c.add(u)}}function ur(n,i){const o=["start",...n.actions.map(h=>h.name),...n.services.map(h=>h.name)];nt(i,o,"start, action, and service names must be unique","actions")}function dr(n,i){const o=Vn(n.inputs.schema.properties),h=new Set(n.volumes.map(c=>c.name).filter(c=>!!c));for(const[c,u]of Object.entries(o)){const s=Vn(u),f=Vn(s["x-openpond-upload"]??s.xOpenPondUpload),g=typeof f.targetPath=="string"&&f.targetPath.trim()?f.targetPath.trim():typeof f.path=="string"&&f.path.trim()?f.path.trim():"";if(!g)continue;const p=g.replace(/^workspace\//,"").replace(/^\/+/,"").replace(/\/+$/,"");if(!li(p)){i.addIssue({code:Ee.custom,path:["inputs","schema","properties",c,"x-openpond-upload","targetPath"],message:"upload target must be a relative workspace path"});continue}const l=p.split("/");l[0]==="volumes"&&(!l[1]||!h.has(l[1]))&&i.addIssue({code:Ee.custom,path:["inputs","schema","properties",c,"x-openpond-upload","targetPath"],message:"upload target references an undeclared volume"})}}function mr(n,i){nt(i,n.inputs.env.map(o=>o.name),"env input names must be unique","inputs")}function pr(n,i){const o=new Map(n.services.map(c=>[c.name,new Set(c.ports.map(u=>u.port))])),h=new Set([...n.start.ports.map(c=>c.port),...n.services.flatMap(c=>c.ports.map(u=>u.port))]);for(const[c,u]of n.mcp.endpoints.entries()){if(u.service){const s=o.get(u.service);if(!s){i.addIssue({code:Ee.custom,path:["mcp","endpoints",c,"service"],message:`app MCP service does not exist: ${u.service}`});continue}s.has(u.port)||i.addIssue({code:Ee.custom,path:["mcp","endpoints",c,"port"],message:`app MCP port ${u.port} is not declared on service ${u.service}`});continue}h.has(u.port)||i.addIssue({code:Ee.custom,path:["mcp","endpoints",c,"port"],message:`app MCP port ${u.port} is not declared on start or services`})}}function fr(n,i){const o=new Set(n.actions.map(c=>c.name)),h=new Set(n.services.map(c=>c.name));for(const[c,u]of n.schedules.entries()){const s=u.command??u.target?.command??null;if(u.target?.kind==="command"||s)continue;const f=u.actionName??u.action??u.target?.actionName??(u.target?.kind==="action"?u.target?.name:null);if(f&&!o.has(f)&&i.addIssue({code:Ee.custom,path:["schedules",c,"action"],message:`schedule action target does not exist: ${f}`}),u.target?.kind==="service"){const g=u.target.name??"";g&&!h.has(g)&&i.addIssue({code:Ee.custom,path:["schedules",c,"target","name"],message:`schedule service target does not exist: ${g}`})}}}function Vn(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function Qn(n,i){return n.artifactPaths.length>0?n.artifactPaths:i.artifacts.paths}const hr=[["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"}]],gr=ji("hammer",hr);function xr(n){const i=$e(n?.data),o=$e(i.preview);return(typeof o.url=="string"?o.url.trim():"")||null}function br(){const n=window.open("","_blank");return n?(n.document.write('<!doctype html><title>Opening sandbox preview</title><body style="margin:0;background:#05070a;color:#f5f5f4;font:14px system-ui,sans-serif;display:grid;place-items:center;height:100vh;">Opening sandbox preview...</body>'),n.document.close(),n):null}function tn(n,i){if(!i){n?.close();return}if(n){n.opener=null,n.location.href=i;return}window.open(i,"_blank","noopener,noreferrer")}function si(n){const i=Sr(n),o=yr($e(n?.resources)),h=$e($e(n?.inputs).schema),c=$e(h.properties),u=new Set(di(h.required)),s=[],f=[];for(const[g,p]of Object.entries(c)){const l=$e(p),w=$e(l["x-openpond-upload"]??l.xOpenPondUpload),T=typeof l.type=="string"?l.type:"string",U=$e(l.items),J=wr(l,w),D=l.format==="file"||w.enabled===!0||T==="array"&&U.format==="file",Y=typeof l.title=="string"&&l.title.trim()?l.title.trim():Rr(g);if(D){f.push({name:g,label:Y,required:u.has(g),multiple:T==="array"||w.multiple===!0,accept:Ir(w,l),targetPath:_r(w,g),targetNames:J});continue}(T==="string"||T==="number"||T==="integer"||T==="boolean")&&s.push({name:g,label:Y,required:u.has(g),type:T,defaultValue:typeof l.default=="string"||typeof l.default=="number"||typeof l.default=="boolean"?String(l.default):"",targetNames:J})}return{entrypoints:i,scalarInputs:s,fileInputs:f,envInputs:jr(n),resources:o,volumes:vr(n,f),schedules:Ar(n)}}function hn(n,i){const o=i.trim();return n.filter(h=>!h.targetNames||h.targetNames.length===0?!0:h.targetNames.includes(o))}function Sr(n){return n?et(n).flatMap(i=>{if(i.kind==="action")return[];const o=i.name.trim(),h=i.command.trim(),c=gn(i.timeoutSeconds),u=i.ports.flatMap(s=>{const f=gn(s.port);return f?[{port:f,label:typeof s.label=="string"&&s.label.trim()?s.label.trim():"web",access:s.access==="public"?"public":"private",path:typeof s.path=="string"&&s.path.trim()?s.path.trim():"/"}]:[]});return o&&h?[{name:o,command:h,timeoutSeconds:c,ports:u}]:[]}):[]}function yr(n){return{cpu:Zn(n.cpu)??1,memoryGb:Zn(n.memoryGb)??1,diskGb:Zn(n.diskGb)??8}}function vr(n,i){const o=Array.isArray(n?.volumes)?n.volumes:[];if(o.length>0)return o.map((u,s)=>{const f=s===0?"volume":`volume-${s+1}`,g=typeof u.name=="string"&&u.name.trim()?u.name.trim():f;return{name:g,mountPath:typeof u.mountPath=="string"&&u.mountPath.trim()?u.mountPath.trim():`/workspace/volumes/${g}`,...gn(u.storageGb)?{storageGb:gn(u.storageGb)??void 0}:{},deleteOnSandboxDelete:u.deleteOnSandboxDelete===!0}});const h=i.find(u=>u.targetPath.startsWith("volumes/"));if(!h)return[];const[,c="volume"]=h.targetPath.split("/");return[{name:c,mountPath:`/workspace/volumes/${c}`,storageGb:8,deleteOnSandboxDelete:!1}]}function jr(n){return(Array.isArray(n?.inputs.env)?n.inputs.env:[]).flatMap(o=>{const h=typeof o.name=="string"?o.name.trim():"";return h?[{name:h,required:o.required===!0,secret:o.secret!==!1,description:typeof o.description=="string"?o.description.trim():""}]:[]})}function Ar(n){return n?.schedules?.length?n.schedules.flatMap(i=>{const o=typeof i.name=="string"?i.name.trim():"",h=Cr(i);if(!o||!h.scheduleExpression)return[];try{return[{name:o,...typeof i.description=="string"&&i.description.trim()?{description:i.description.trim()}:{},enabled:!1,...h,...typeof i.timezone=="string"&&i.timezone.trim()?{timezone:i.timezone.trim()}:{},...typeof i.startAt=="string"&&i.startAt.trim()?{startAt:i.startAt.trim()}:{},...typeof i.endAt=="string"&&i.endAt.trim()?{endAt:i.endAt.trim()}:{},...typeof i.maxRuns=="number"&&Number.isInteger(i.maxRuns)&&i.maxRuns>0?{maxRuns:i.maxRuns}:{},runtimePolicy:i.runtimePolicy,target:Nr(n,i),...i.budget?{budget:i.budget}:{},...i.resources?{resources:i.resources}:{},...i.quotas?{quotas:i.quotas}:{},...i.lifecycle?{lifecycle:i.lifecycle}:{},...i.retentionPolicy?{retentionPolicy:i.retentionPolicy}:{},...i.env?{env:i.env}:{},...i.integrationLeases?{integrationLeases:i.integrationLeases}:{},metadata:{...$e(i.metadata),manifestScheduleName:o,source:"openpond-app-sandbox-template-start"}}]}catch{return[]}}):[]}function Cr(n){return n.scheduleExpression?{scheduleType:n.scheduleType??"cron",scheduleExpression:n.scheduleExpression}:n.rate?{scheduleType:"rate",scheduleExpression:/^rate\(/i.test(n.rate)?n.rate:`rate(${n.rate})`}:n.once?{scheduleType:"once",scheduleExpression:/^at\(/i.test(n.once)?n.once:`at(${n.once})`}:{scheduleType:"cron",scheduleExpression:n.cron??""}}function Nr(n,i){const o=i.command??i.target?.command??null;if(o)return{kind:"command",command:o,requiresStart:i.requiresStart??i.target?.requiresStart??!1};const h=i.target?.kind??"action";if(h==="start")return{kind:"command",command:n.start.command,requiresStart:i.requiresStart??i.target?.requiresStart??n.start.requiresStart??!1};if(h==="service"){const s=i.target?.name??"",f=n.services.find(g=>g.name===s);if(!f)throw new Error("schedule_service_target_missing");return{kind:"command",command:f.command,requiresStart:i.requiresStart??i.target?.requiresStart??f.requiresStart??!1}}const c=i.actionName??i.action??i.target?.actionName??(i.target?.kind==="action"?i.target?.name:void 0),u=n.actions.find(s=>s.name===c);if(!u)throw new Error("schedule_action_target_missing");return{kind:"command",command:u.command,requiresStart:i.requiresStart??i.target?.requiresStart??u.requiresStart??!1}}function ci(n,i){return n.flatMap(o=>{const h=(i[o.name]??"").trim();return h?[{name:o.name,secretRef:h}]:[]})}function ui(n,i){const o={};for(const h of n){const c=i[h.name]??"";if(!(!c.trim()&&!h.required))if(h.type==="boolean")o[h.name]=c==="true";else if(h.type==="number"||h.type==="integer"){const u=Number(c);Number.isFinite(u)&&(o[h.name]=h.type==="integer"?Math.trunc(u):u)}else o[h.name]=c}return o}function wr(n,i){const o=n["x-openpond-targets"]??n.xOpenPondTargets??i.targets??i.actions,h=di(o).map(c=>c.trim()).filter(Boolean);return h.length>0?[...new Set(h)]:null}function Ir(n,i){return typeof n.accept=="string"?n.accept.trim():Array.isArray(n.accept)?n.accept.filter(o=>typeof o=="string").join(","):typeof i.accept=="string"?i.accept.trim():""}function _r(n,i){return(typeof n.targetPath=="string"&&n.targetPath.trim()?n.targetPath.trim():typeof n.path=="string"&&n.path.trim()?n.path.trim():`uploads/${i}`).replace(/^\/+/,"").replace(/^workspace\//,"").replace(/\/+$/,"")}function Zn(n){const i=Number(n);return Number.isFinite(i)&&i>0?i:null}function gn(n){const i=Number(n);return Number.isInteger(i)&&i>0?i:null}function Er(n,i){return[i,...n.slice(1)]}function di(n){return Array.isArray(n)?n.filter(i=>typeof i=="string"):[]}function Rr(n){return n.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[-_]+/g," ").replace(/\b\w/g,i=>i.toUpperCase())}function $e(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function Tr({busy:n,defaultRepoUrl:i,projectName:o,commitBeforeCreate:h,templateManifest:c,uploadBeforeCreate:u,onClose:s,onSubmit:f}){const g=q.useMemo(()=>si(c),[c]),p=g.entrypoints[0]??null,[l,w]=q.useState(i),[T,U]=q.useState(p?.name??""),[J,D]=q.useState(p?.command??""),[Y,te]=q.useState(p?.timeoutSeconds?String(p.timeoutSeconds):""),[V,O]=q.useState(`Update ${o}`),[F,Z]=q.useState("0.05"),[W,oe]=q.useState(()=>Object.fromEntries(g.scalarInputs.map(a=>[a.name,a.defaultValue]))),[ie,Ce]=q.useState(()=>Object.fromEntries(g.envInputs.map(a=>[a.name,""]))),[Ne,Oe]=q.useState({}),fe=g.volumes[0]??null,[he,I]=q.useState(g.volumes.length>0||g.fileInputs.length>0),[B,_]=q.useState(fe?.name??"volume"),[H,Q]=q.useState(fe?.mountPath??"/workspace/volumes/volume"),[de,Se]=q.useState(String(fe?.storageGb??8)),[Be,Re]=q.useState(!(fe?.deleteOnSandboxDelete??!1)),[ne,He]=q.useState(g.schedules),se=g.entrypoints.find(a=>a.name===T)??p,me=se?.ports??[],ce=me[0]??null,[we,K]=q.useState(!!ce),[Le,pe]=q.useState(ce?String(ce.port):""),re=Number(Le),ke=Number(F),Ie=Number(de),Te=Number(Y),Ge=!Y.trim()||Number.isInteger(Te)&&Te>0&&Te<=86400,ue=!we||Number.isInteger(re)&&re>=Sn&&re<=yn&&me.some(a=>a.port===re),qe=Number.isFinite(ke)&&ke>0,Pe=!he||Number.isInteger(Ie)&&Ie>0,ae=ne.every(a=>!a.enabled||!!a.scheduleExpression.trim()),ye=hn(g.scalarInputs,T),Fe=hn(g.fileInputs,T),_e=g.envInputs.every(a=>!a.required||!!(ie[a.name]??"").trim()),De=g.envInputs.filter(a=>a.required&&!(ie[a.name]??"").trim()),Ue=(u||!!l.trim())&&!!J.trim()&&qe&&Ge&&Pe&&ye.every(a=>!a.required||!!(W[a.name]??"").trim())&&Fe.every(a=>!a.required||(Ne[a.name]?.length??0)>0)&&_e&&ae&&ue;function Ke(a){U(a);const x=g.entrypoints.find(d=>d.name===a);if(!x)return;D(x.command),te(x.timeoutSeconds?String(x.timeoutSeconds):"");const t=x.ports[0]??null;pe(t?String(t.port):""),K(!!t)}function Ye(a,x){oe(t=>({...t,[a]:x}))}function e(a,x){Ce(t=>({...t,[a]:x}))}function m(a,x){const t=Array.from(x.target.files??[]);Oe(d=>({...d,[a.name]:a.multiple?t:t.slice(0,1)}))}function b(a,x){He(t=>t.map((d,C)=>C===a?{...d,...x}:d))}function j(a){a.preventDefault(),!(!Ue||n)&&f({repoUrl:l.trim(),command:J.trim(),entrypointName:T,commitMessage:V.trim(),budgetUsd:F.trim(),params:ui(ye,W),env:ci(g.envInputs,ie),timeoutSeconds:Y.trim()&&Number.isInteger(Te)?Te:se?.timeoutSeconds??null,uploads:Fe.flatMap(x=>{const t=Ne[x.name]??[];return t.length>0?[{inputName:x.name,label:x.label,targetPath:x.targetPath,multiple:x.multiple,files:t}]:[]}),resources:g.resources,volumes:he?Er(g.volumes,{...B.trim()?{name:B.trim()}:{},...H.trim()?{mountPath:H.trim()}:{},...Number.isInteger(Ie)&&Ie>0?{storageGb:Ie}:{},deleteOnSandboxDelete:!Be}):[],schedules:ne.filter(x=>x.enabled),openPreview:we,previewPort:we?re:null,previewLabel:me.find(x=>x.port===re)?.label??"web",previewAccess:me.find(x=>x.port===re)?.access??"private"})}return r.jsx("div",{className:"git-dialog-backdrop",role:"presentation",children:r.jsxs("form",{className:"git-dialog run-once-dialog sandbox-start-dialog",role:"dialog","aria-modal":"true","aria-label":"Start sandbox",onSubmit:j,children:[r.jsx("button",{className:"git-dialog-close",disabled:n,type:"button",title:"Close","aria-label":"Close",onClick:s,children:r.jsx(Ut,{size:15})}),r.jsxs("div",{className:"sandbox-start-dialog-heading",children:[r.jsx("div",{className:"git-dialog-icon",children:r.jsx(sn,{size:18})}),r.jsx("h2",{children:"Start sandbox"}),r.jsxs("div",{className:"git-dialog-row",children:[r.jsx("span",{children:"Project"}),r.jsx("strong",{children:o})]})]}),r.jsxs("div",{className:"sandbox-start-dialog-body",children:[u?null:r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Repository"}),r.jsx("input",{disabled:n,value:l,onChange:a=>w(a.target.value)})]}),h?r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Commit message"}),r.jsx("input",{disabled:n,value:V,onChange:a=>O(a.target.value)})]}):null,g.entrypoints.length>0?r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Run target"}),r.jsx("select",{disabled:n,value:T,onChange:a=>Ke(a.target.value),children:g.entrypoints.map(a=>r.jsx("option",{value:a.name,children:a.name},a.name))})]}):null,r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Shell command"}),r.jsx("input",{disabled:n,value:J,onChange:a=>D(a.target.value)})]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Timeout seconds"}),r.jsx("input",{disabled:n,inputMode:"numeric",value:Y,onChange:a=>te(a.target.value)})]}),ye.map(a=>a.type==="boolean"?r.jsxs("label",{className:"git-dialog-toggle",children:[r.jsx("input",{checked:(W[a.name]??"")==="true",disabled:n,type:"checkbox",onChange:x=>Ye(a.name,x.target.checked?"true":"false")}),r.jsx("span",{}),a.label]},a.name):r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:a.label}),r.jsx("input",{disabled:n,inputMode:a.type==="number"||a.type==="integer"?"decimal":void 0,value:W[a.name]??"",onChange:x=>Ye(a.name,x.target.value)})]},a.name)),Fe.map(a=>r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:a.label}),r.jsx("input",{accept:a.accept||void 0,disabled:n,multiple:a.multiple,type:"file",onChange:x=>m(a,x)})]},a.name)),g.envInputs.length>0?r.jsxs("div",{className:"sandbox-start-env-section",children:[r.jsx("div",{className:"sandbox-start-section-title",children:"Environment"}),De.length>0?r.jsxs("p",{className:"sandbox-start-env-warning",role:"status",children:["Required sandbox secret ref missing: ",De.map(a=>a.name).join(", ")]}):null,g.envInputs.map(a=>{const x=ie[a.name]??"",t=a.required&&!x.trim(),d=`sandbox-env-${a.name}-description`;return r.jsxs("label",{className:"git-dialog-field",children:[r.jsxs("span",{children:[a.name,a.required?" *":""]}),r.jsx("input",{"aria-describedby":d,"aria-invalid":t,disabled:n,placeholder:"openpond://secret/...",value:x,onChange:C=>e(a.name,C.target.value)}),r.jsx("small",{id:d,children:t?"Add a sandbox secret ref before starting.":a.description||"Sandbox secret ref only."})]},a.name)})]}):null,Fe.length>0||g.volumes.length>0?r.jsxs(r.Fragment,{children:[r.jsxs("label",{className:"git-dialog-toggle",children:[r.jsx("input",{checked:he,disabled:n,type:"checkbox",onChange:a=>I(a.target.checked)}),r.jsx("span",{}),"Mount volume"]}),he?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"run-once-dialog-grid",children:[r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Volume"}),r.jsx("input",{disabled:n,value:B,onChange:a=>_(a.target.value)})]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Storage GiB"}),r.jsx("input",{disabled:n,inputMode:"numeric",value:de,onChange:a=>Se(a.target.value)})]})]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Mount path"}),r.jsx("input",{disabled:n,value:H,onChange:a=>Q(a.target.value)})]}),r.jsxs("label",{className:"git-dialog-toggle",children:[r.jsx("input",{checked:Be,disabled:n,type:"checkbox",onChange:a=>Re(a.target.checked)}),r.jsx("span",{}),"Keep volume"]})]}):null]}):null,ne.length>0?r.jsxs("div",{className:"sandbox-start-schedules",children:[r.jsx("div",{className:"sandbox-start-section-title",children:"Schedules"}),ne.map((a,x)=>r.jsxs("div",{className:"sandbox-start-schedule-row",children:[r.jsxs("label",{className:"git-dialog-toggle",children:[r.jsx("input",{checked:a.enabled,disabled:n,type:"checkbox",onChange:t=>b(x,{enabled:t.target.checked})}),r.jsx("span",{}),a.name]}),r.jsxs("div",{className:"run-once-dialog-grid",children:[r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Type"}),r.jsxs("select",{disabled:n||!a.enabled,value:a.scheduleType,onChange:t=>b(x,{scheduleType:t.target.value}),children:[r.jsx("option",{value:"rate",children:"Rate"}),r.jsx("option",{value:"cron",children:"Cron"}),r.jsx("option",{value:"once",children:"Once"})]})]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Max runs"}),r.jsx("input",{disabled:n||!a.enabled,inputMode:"numeric",value:a.maxRuns??"",onChange:t=>{const d=Number(t.target.value);b(x,{maxRuns:Number.isInteger(d)&&d>0?d:null})}})]})]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Expression"}),r.jsx("input",{disabled:n||!a.enabled,value:a.scheduleExpression,onChange:t=>b(x,{scheduleExpression:t.target.value})})]})]},a.name))]}):null,r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Budget"}),r.jsx("input",{disabled:n,inputMode:"decimal",value:F,onChange:a=>Z(a.target.value)})]}),me.length>0?r.jsxs(r.Fragment,{children:[r.jsxs("label",{className:"git-dialog-toggle",children:[r.jsx("input",{checked:we,disabled:n,type:"checkbox",onChange:a=>K(a.target.checked)}),r.jsx("span",{}),"Open preview"]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Preview port"}),r.jsx("select",{disabled:n||!we,value:Le,onChange:a=>pe(a.target.value),children:me.map(a=>r.jsx("option",{value:a.port,children:a.label?`${a.label} (${a.port})`:a.port},a.port))})]})]}):null]}),r.jsxs("div",{className:"git-dialog-footer sandbox-start-dialog-footer",children:[r.jsx("button",{className:"git-dialog-secondary",disabled:n,type:"button",onClick:s,children:"Cancel"}),r.jsxs("button",{className:"git-dialog-primary",disabled:n||!Ue,title:_e?void 0:"Required sandbox secret refs are missing.",type:"submit",children:[r.jsx(Ai,{size:14}),"Start"]})]})]})})}function Pr({busy:n,projectName:i,templateManifest:o,onClose:h,onSubmit:c}){const u=q.useMemo(()=>si(o),[o]),s=q.useMemo(()=>o?et(o).filter(I=>I.kind==="action"):[],[o]),f=s[0]??null,[g,p]=q.useState("sandbox"),[l,w]=q.useState(f?.name??""),[T,U]=q.useState(()=>Object.fromEntries(u.scalarInputs.map(I=>[I.name,I.defaultValue]))),[J,D]=q.useState(()=>Object.fromEntries(u.envInputs.map(I=>[I.name,""]))),[Y,te]=q.useState({}),V=hn(u.scalarInputs,l),O=hn(u.fileInputs,l),F=g==="sandbox"?u.envInputs:[],Z=V.every(I=>!I.required||!!(T[I.name]??"").trim()),W=O.every(I=>!I.required||(Y[I.name]?.length??0)>0),oe=F.every(I=>!I.required||!!(J[I.name]??"").trim()),ie=F.filter(I=>I.required&&!(J[I.name]??"").trim()),Ce=!!l&&Z&&W&&oe;function Ne(I,B){U(_=>({..._,[I]:B}))}function Oe(I,B){D(_=>({..._,[I]:B}))}function fe(I,B,_){const H=Array.from(_.target.files??[]);te(Q=>({...Q,[I]:B?H:H.slice(0,1)}))}function he(I){I.preventDefault(),!(!Ce||n)&&c({mode:g,target:l,params:ui(V,T),env:g==="sandbox"?ci(F,J):[],uploads:O.flatMap(B=>{const _=Y[B.name]??[];return _.length>0?[{inputName:B.name,label:B.label,targetPath:B.targetPath,multiple:B.multiple,files:_}]:[]})})}return r.jsx("div",{className:"git-dialog-backdrop",role:"presentation",children:r.jsxs("form",{className:"git-dialog run-once-dialog sandbox-start-dialog",role:"dialog","aria-modal":"true","aria-label":"Run sandbox action",onSubmit:he,children:[r.jsx("button",{className:"git-dialog-close",disabled:n,type:"button",title:"Close","aria-label":"Close",onClick:h,children:r.jsx(Ut,{size:15})}),r.jsxs("div",{className:"sandbox-start-dialog-heading",children:[r.jsx("div",{className:"git-dialog-icon",children:r.jsx(cn,{size:18})}),r.jsx("h2",{children:"Run action"}),r.jsxs("div",{className:"git-dialog-row",children:[r.jsx("span",{children:"Project"}),r.jsx("strong",{children:i})]})]}),r.jsxs("div",{className:"sandbox-start-dialog-body",children:[r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Action"}),r.jsx("select",{disabled:n||s.length===0,value:l,onChange:I=>w(I.target.value),children:s.map(I=>r.jsx("option",{value:I.name,children:I.name},I.name))})]}),r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:"Run on"}),r.jsxs("select",{disabled:n,value:g,onChange:I=>p(I.target.value==="local"?"local":"sandbox"),children:[r.jsx("option",{value:"sandbox",children:"Hosted sandbox (start/update)"}),r.jsx("option",{value:"local",children:"Local machine"})]})]}),V.map(I=>I.type==="boolean"?r.jsxs("label",{className:"git-dialog-toggle",children:[r.jsx("input",{checked:(T[I.name]??"")==="true",disabled:n,type:"checkbox",onChange:B=>Ne(I.name,B.target.checked?"true":"false")}),r.jsx("span",{}),I.label]},I.name):r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:I.label}),r.jsx("input",{disabled:n,inputMode:I.type==="number"||I.type==="integer"?"decimal":void 0,value:T[I.name]??"",onChange:B=>Ne(I.name,B.target.value)})]},I.name)),O.map(I=>r.jsxs("label",{className:"git-dialog-field",children:[r.jsx("span",{children:I.label}),r.jsx("input",{accept:I.accept||void 0,disabled:n,multiple:I.multiple,type:"file",onChange:B=>fe(I.name,I.multiple,B)})]},I.name)),F.length>0?r.jsxs("div",{className:"sandbox-start-env-section",children:[r.jsx("div",{className:"sandbox-start-section-title",children:"Environment"}),ie.length>0?r.jsxs("p",{className:"sandbox-start-env-warning",role:"status",children:["Required sandbox secret ref missing: ",ie.map(I=>I.name).join(", ")]}):null,F.map(I=>{const B=J[I.name]??"",_=I.required&&!B.trim(),H=`sandbox-action-env-${I.name}-description`;return r.jsxs("label",{className:"git-dialog-field",children:[r.jsxs("span",{children:[I.name,I.required?" *":""]}),r.jsx("input",{"aria-describedby":H,"aria-invalid":_,disabled:n,placeholder:"openpond://secret/...",value:B,onChange:Q=>Oe(I.name,Q.target.value)}),r.jsx("small",{id:H,children:_?"Add a sandbox secret ref before running.":I.description||"Sandbox secret ref only."})]},I.name)})]}):null]}),r.jsxs("div",{className:"git-dialog-footer sandbox-start-dialog-footer",children:[r.jsx("button",{className:"git-dialog-secondary",disabled:n,type:"button",onClick:h,children:"Cancel"}),r.jsxs("button",{className:"git-dialog-primary",disabled:n||!Ce,title:oe?void 0:"Required sandbox secret refs are missing.",type:"submit",children:[r.jsx(cn,{size:14}),"Run"]})]})]})})}function mi(n,i){const o=n.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"agent";return i==="cron"?`name: ${o}
|
|
33
|
+
version: 0.1.0
|
|
34
|
+
useCase: scheduled_report
|
|
35
|
+
start:
|
|
36
|
+
command: pnpm report
|
|
37
|
+
schedules:
|
|
38
|
+
- name: daily-report
|
|
39
|
+
command: pnpm report
|
|
40
|
+
cron: "0 9 * * *"`:i==="background"?`name: ${o}
|
|
41
|
+
version: 0.1.0
|
|
42
|
+
useCase: background_worker
|
|
43
|
+
start:
|
|
44
|
+
command: pnpm worker
|
|
45
|
+
services:
|
|
46
|
+
- name: worker
|
|
47
|
+
command: pnpm worker`:i==="resources"?`name: ${o}
|
|
48
|
+
version: 0.1.0
|
|
49
|
+
useCase: resource_profile
|
|
50
|
+
resources:
|
|
51
|
+
cpu: 1
|
|
52
|
+
memoryGb: 2
|
|
53
|
+
diskGb: 16
|
|
54
|
+
start:
|
|
55
|
+
command: pnpm start`:`name: ${o}
|
|
56
|
+
version: 0.1.0
|
|
57
|
+
useCase: action
|
|
58
|
+
start:
|
|
59
|
+
command: pnpm start
|
|
60
|
+
actions:
|
|
61
|
+
- name: hello
|
|
62
|
+
command: pnpm hello`}function Or(n,i){return i||(n==="missing_config"?`${an} missing`:n==="needs_project"?"Local config is ready":n==="needs_sync"?"Project needs manifest sync":n==="needs_agent"?"Project is synced":n==="ready"?"Agent is ready":"Setup unavailable")}function Lr(n){return n?.source==="openpond"?"OpenPond Git":n?.source==="github"?"GitHub":n?.source==="local_git"?"Local Git":n?.source==="local_folder"?"Local folder":"Workspace"}function kr(n){const i=xn(n.data),o=xn(i.remote);return(typeof o.remoteUrl=="string"?o.remoteUrl.trim():"")||null}function Mr(n){const i=xn(n.data),o=xn(i.sandbox);return(typeof o.id=="string"?o.id.trim():"")||null}function kt(n){return n?typeof n.metadata?.name=="string"&&n.metadata.name.trim()?n.metadata.name.trim():n.projectId?`Project sandbox ${Xn(n.id)}`:n.agentId?`Agent sandbox ${Xn(n.id)}`:`Sandbox ${Xn(n.id)}`:null}function qr(n,i){return{sourceSandboxId:i,name:n.name,...n.description?{description:n.description}:{},scheduleType:n.scheduleType,scheduleExpression:n.scheduleExpression,enabled:!0,...n.timezone?{timezone:n.timezone}:{},...n.startAt?{startAt:n.startAt}:{},...n.endAt?{endAt:n.endAt}:{},...n.maxRuns!==void 0?{maxRuns:n.maxRuns}:{},...n.runtimePolicy?{runtimePolicy:n.runtimePolicy}:{},target:n.target,...n.budget?{budget:n.budget}:{},...n.resources?{resources:n.resources}:{},...n.quotas?{quotas:n.quotas}:{},...n.lifecycle?{lifecycle:n.lifecycle}:{},...n.retentionPolicy?{retentionPolicy:n.retentionPolicy}:{},...n.env?{env:n.env}:{},...n.integrationLeases?{integrationLeases:n.integrationLeases}:{},metadata:n.metadata??{},managementSource:"openpond.yaml",manifestPath:an}}function Fr(n){const i=n?.gitOwner?.trim()??"",o=n?.gitRepo?.trim()??"",h=n?.gitHost?.trim()??"";if(!i||!o||!h)return null;const c=o.endsWith(".git")?o:`${o}.git`;return/^https?:\/\//i.test(h)?`${h.replace(/\/+$/,"")}/${i}/${c}`:`https://${h.replace(/\/+$/,"")}/${i}/${c}`}function Dr(n,i){const o=i.trim();if(n==="github_repo"){const h=o.replace(/^https:\/\/github\.com\//i,"").replace(/^git@github\.com:/i,"").replace(/\.git$/i,""),[c,u]=h.split("/").filter(Boolean);return{gitHost:"github.com",gitOwner:c??null,gitRepo:u??null,internalRepoPath:null,templateRepoUrl:null}}return n==="internal_repo"?{gitHost:"openpond.ai",gitOwner:null,gitRepo:o.split("/").filter(Boolean).at(-1)??null,internalRepoPath:o||null,templateRepoUrl:null}:n==="template"?{gitHost:null,gitOwner:null,gitRepo:null,internalRepoPath:null,templateRepoUrl:o||null}:{gitHost:null,gitOwner:null,gitRepo:null,internalRepoPath:null,templateRepoUrl:null}}function Mt(n,i){const o=n.trim().replace(/^\/+/,"").replace(/^workspace\//,"").replace(/\/+$/,""),h=i.trim().replace(/[/\\]+/g,"-").replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"upload";return`${o||"uploads"}/${h}`}function Ur(n,i){return`OPENPOND_REPLAY_PARAMS_BASE64='${zr({input:i})}' ${n}`}function $r(n,i,o){return["cd",qt(n),"&&","openpond","sandbox-template",i,"--file",an,"--target",qt(o)].join(" ")}function qt(n){return`'${n.replace(/'/g,"'\\''")}'`}function Ft(n){return new Promise((i,o)=>{const h=new FileReader;h.onload=()=>{const c=typeof h.result=="string"?h.result:"",[,u=""]=c.split(",",2);i(u)},h.onerror=()=>o(h.error??new Error("Failed to read file")),h.readAsDataURL(n)})}function zr(n){const i=JSON.stringify(n),o=new TextEncoder().encode(i);let h="";for(const c of o)h+=String.fromCharCode(c);return window.btoa(h)}function xn(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function Je(n){return n instanceof Error?n.message:String(n)}function Xn(n){return n.length<=10?n:`${n.slice(0,6)}...${n.slice(-4)}`}async function Br(n){n&&(await n("sandbox_preserve_source"),await n("sandbox_stop"))}function Hr(n){return{...n.teamId?{teamId:n.teamId}:{},...n.projectId?{projectId:n.projectId}:{},runtime:{runtimeId:n.runtimeId},visibility:"team",budget:{maxUsd:"0.05"},quotas:{idleTimeoutSeconds:900,maxSpendUsd:"0.05"},metadata:{source:"openpond-app-environment-menu-sandbox-resume",resumeSandboxId:n.id,previousState:n.state}}}function Yr({canCreateSandboxProject:n,canInitGit:i,defaultSandboxRepoUrl:o,gitWorkspace:h,hasRemote:c,isProjectWorkspace:u,isSandboxWorkspace:s,managed:f,onOpenCommitDialog:g,onRunTerminalCommand:p,onWorkspaceToolAction:l,projectSandboxTemplate:w,projectSandboxTemplateValid:T,sandboxTemplateActionTargetCount:U,sandboxTemplateServiceTargets:J,sandboxResumeTarget:D,selectedApp:Y,selectedProject:te,setSandboxCreateDialogOpen:V,setSandboxRunActionDialogOpen:O,workspaceBusyValue:F,workspaceReady:Z,workspaceState:W}){const oe=[{icon:r.jsx(Ci,{size:14}),label:"Initialize Git",disabled:f||!i||F||!Z||!l,onSelect:()=>l?.("git_init")},{icon:r.jsx(Di,{size:14}),label:"Commit changes",disabled:f||!h||F||!Z||!W?.dirty||!g,onSelect:()=>g?.("commit")},{icon:r.jsx(lt,{size:14}),label:"Push branch",disabled:f||!h||F||!Z||!c||!l,onSelect:()=>l?.("git_push")},{icon:r.jsx(An,{size:14}),label:"Fetch remote",disabled:f||!h||F||!Z||!c||!l,onSelect:()=>l?.("git_fetch")},{icon:r.jsx(Ni,{size:14}),label:"Create PR",disabled:!0,onSelect:()=>{}}],ie=[...w?[]:[{icon:r.jsx(sn,{size:14}),label:"Create sandbox template",disabled:f||F||!Z||!l,onSelect:()=>l?.("create_sandbox_template_scaffold")}],{icon:r.jsx(at,{size:14}),label:`Validate ${an}`,disabled:f||F||!Z||!l,onSelect:()=>l?.("validate_sandbox_template")},{icon:r.jsx(gr,{size:14}),label:"Build template",disabled:f||F||!Z||!l,onSelect:()=>l?.("build_sandbox_template")},{icon:r.jsx(cn,{size:14}),label:"Run start locally",disabled:f||F||!Z||!l,onSelect:()=>l?.("run_sandbox_template",{mode:"local",target:"start"})},{icon:r.jsx(cn,{size:14}),label:"Run action",disabled:f||F||!Z||!T||U===0,onSelect:()=>O(!0)},...J.map(fe=>({icon:r.jsx(wi,{size:14}),label:`Dev ${fe.name} locally`,disabled:f||F||!Z||!T||!te?.sandboxTemplate?.rootPath||!p,onSelect:()=>p?.($r(te?.sandboxTemplate?.rootPath??"","dev",fe.name))})),{icon:r.jsx(sn,{size:14}),label:"Start sandbox",disabled:f||F||!Z||!n,onSelect:()=>V(!0)}],Ce=[{icon:r.jsx(An,{size:14}),label:"Sandbox status",disabled:F||!l,onSelect:()=>l?.("sandbox_status")},{icon:r.jsx(cn,{size:14}),label:"Resume sandbox",disabled:F||!l||!D?.runtimeId||D.state==="running"||D.state==="creating",onSelect:()=>D?.runtimeId?l?.("sandbox_create",Hr(D)):void 0},{icon:r.jsx(Ii,{size:14}),label:"Sandbox logs",disabled:F||!l,onSelect:()=>l?.("sandbox_logs")},{icon:r.jsx(at,{size:14}),label:"Receipts",disabled:F||!l,onSelect:()=>l?.("sandbox_receipts")},{icon:r.jsx(_i,{size:14}),label:"Export patch",disabled:F||!l,onSelect:()=>l?.("sandbox_git_export_patch")},{icon:r.jsx(lt,{size:14}),label:"Apply locally",disabled:F||!l,onSelect:()=>l?.("sandbox_git_apply_patch_local")},{icon:r.jsx(Ui,{size:14}),label:"Checkpoint and stop",disabled:F||!l,onSelect:()=>Br(l)}];return{gitActionItems:oe,sandboxActionItems:s?Ce:u?ie:[{icon:r.jsx(sn,{size:14}),label:o?"Create sandbox from repo":"Create sandbox",disabled:F||!l,onSelect:()=>l?.("sandbox_create",{...o?{repo:o}:{},visibility:"team",budget:{maxUsd:"0.05"},quotas:{maxSpendUsd:"0.05"},metadata:{source:"openpond-app-environment-menu-sandbox",...Y?.name?{appName:Y.name}:{}}})},{icon:r.jsx(An,{size:14}),label:"List templates",disabled:F||!l,onSelect:()=>l?.("sandbox_templates")}]}}function Gr({busy:n,error:i,projectName:o,onClose:h,onSubmit:c}){const[u,s]=q.useState("action"),[f,g]=q.useState(an),p=o.trim()||"local-agent";return r.jsxs(vn,{title:"Add Agent config",busy:n,error:i,onClose:h,children:[r.jsxs("label",{children:[r.jsx("span",{children:"Template preset"}),r.jsxs("select",{value:u,onChange:l=>s(l.target.value),disabled:n,children:[r.jsx("option",{value:"action",children:"Action"}),r.jsx("option",{value:"cron",children:"Cron"}),r.jsx("option",{value:"background",children:"Background worker"}),r.jsx("option",{value:"resources",children:"Resource profile"})]})]}),r.jsxs("label",{children:[r.jsx("span",{children:"Manifest path"}),r.jsx("input",{value:f,onChange:l=>g(l.target.value),disabled:n})]}),r.jsx("pre",{children:mi(p,u)}),r.jsx(jn,{busy:n,actionLabel:"Write config",canSubmit:!!f.trim(),onClose:h,onSubmit:()=>c({name:p,preset:u,manifestPath:f.trim()})})]})}function Kr({busy:n,defaultBranch:i,defaultTeamId:o,error:h,projectName:c,sourceIdentity:u,onClose:s,onSubmit:f}){const g=o,[p,l]=q.useState(c),[w,T]=q.useState(/github\.com[:/]/i.test(u)?"github_repo":"manual"),[U,J]=q.useState(u),[D,Y]=q.useState(i||"main"),[te,V]=q.useState(!0);return r.jsxs(vn,{title:"Connect Project",busy:n,error:h,onClose:s,children:[r.jsxs("label",{children:[r.jsx("span",{children:"Project name"}),r.jsx("input",{value:p,onChange:O=>l(O.target.value),disabled:n})]}),r.jsxs("div",{className:"agent-setup-two-col",children:[r.jsxs("label",{children:[r.jsx("span",{children:"Source type"}),r.jsxs("select",{value:w,onChange:O=>T(O.target.value),disabled:n,children:[r.jsx("option",{value:"manual",children:"Manual"}),r.jsx("option",{value:"github_repo",children:"GitHub repo"}),r.jsx("option",{value:"internal_repo",children:"Internal repo"}),r.jsx("option",{value:"template",children:"Template"})]})]}),r.jsxs("label",{children:[r.jsx("span",{children:"Default branch"}),r.jsx("input",{value:D,onChange:O=>Y(O.target.value),disabled:n})]})]}),r.jsxs("label",{children:[r.jsx("span",{children:"Source identity"}),r.jsx("input",{value:U,onChange:O=>J(O.target.value),disabled:n})]}),r.jsxs("label",{className:"agent-setup-check",children:[r.jsx("input",{type:"checkbox",checked:te,onChange:O=>V(O.target.checked),disabled:n}),r.jsx("span",{children:"Sync now"})]}),r.jsx(jn,{busy:n,actionLabel:te?"Connect and sync":"Connect Project",canSubmit:!!(p.trim()&&g),onClose:s,onSubmit:()=>f({teamId:g,projectName:p.trim(),sourceType:w,sourceIdentity:U.trim(),defaultBranch:D.trim(),syncNow:te})})]})}function Vr({busy:n,defaultName:i,error:o,onClose:h,onSubmit:c}){const[u,s]=q.useState(i),[f,g]=q.useState(!0);return r.jsxs(vn,{title:"Create Agent",busy:n,error:o,onClose:h,children:[r.jsxs("label",{children:[r.jsx("span",{children:"Agent name"}),r.jsx("input",{value:u,onChange:p=>s(p.target.value),disabled:n})]}),r.jsx("div",{className:"agent-setup-summary",children:"Entire manifest · Manual trigger · Package defaults"}),r.jsxs("label",{className:"agent-setup-check",children:[r.jsx("input",{type:"checkbox",checked:f,onChange:p=>g(p.target.checked),disabled:n}),r.jsx("span",{children:"Create and test run"})]}),r.jsx(jn,{busy:n,actionLabel:"Create Agent",canSubmit:!!u.trim(),onClose:h,onSubmit:()=>c({agentName:u.trim(),createTestRun:f})})]})}function Dt({actionLabel:n,busy:i,error:o,summary:h,title:c,onClose:u,onSubmit:s}){return r.jsxs(vn,{title:c,busy:i,error:o,onClose:u,children:[r.jsx("div",{className:"agent-setup-summary",children:h}),r.jsx(jn,{busy:i,actionLabel:n,canSubmit:!0,onClose:u,onSubmit:s})]})}function vn({busy:n,children:i,error:o,title:h,onClose:c}){return Ei(o),r.jsx("div",{className:"agent-setup-dialog-backdrop",role:"presentation",onMouseDown:c,children:r.jsxs("section",{className:"agent-setup-dialog",role:"dialog","aria-modal":"true","aria-label":h,onMouseDown:u=>u.stopPropagation(),children:[r.jsxs("header",{children:[r.jsx("h3",{children:h}),r.jsx("button",{type:"button",disabled:n,onClick:c,children:"Close"})]}),r.jsx("div",{className:"agent-setup-fields",children:i})]})})}function jn({actionLabel:n,busy:i,canSubmit:o,onClose:h,onSubmit:c}){return r.jsxs("div",{className:"agent-setup-dialog-actions",children:[r.jsx("button",{type:"button",disabled:i,onClick:h,children:"Cancel"}),r.jsx("button",{type:"button",disabled:i||!o,onClick:c,children:i?"Working":n})]})}function Qr(n){return n.split(`
|
|
63
|
+
`).filter(i=>i.trim()).length}function Zr(n){return n.status==="loading"?"Checking sandbox changes":n.status==="error"?"Sandbox status unavailable":n.status!=="ready"?"Sandbox changes unknown":n.changedFiles===0?"Sandbox clean":`${n.changedFiles} sandbox changed ${n.changedFiles===1?"file":"files"}`}function Xr(n){return n>0&&n%3600===0?`${n/3600} hr`:n>0&&n%60===0?`${n/60} min`:`${n} sec`}function fn(n){const i=n?.trim();if(!i)return null;if(i.startsWith("$"))return i;const o=Number(i);if(!Number.isFinite(o))return`$${i}`;if(o===0)return"$0";const h=o>=1?2:4;return`$${o.toFixed(h).replace(/0+$/,"").replace(/\.$/,"")}`}function Jr(n){return n.receipts.slice().sort((i,o)=>Date.parse(o.createdAt)-Date.parse(i.createdAt))[0]??null}function Wr(n){const i=Jr(n);if(i){const o=fn(i.totalUsd);if(i.reason==="idle_timeout")return o?`stopped by idle timeout · charged ${o}`:"stopped by idle timeout";if(i.reason==="budget_exhausted")return o?`budget exhausted · charged ${o}`:"budget exhausted";if(n.state!=="running")return o?`receipt ${i.status} · charged ${o}`:`receipt ${i.status}`}if(n.reservation.status==="reserved"){const o=fn(n.reservation.reservedUsd);return o?`reservation active ${o}`:"reservation active"}if(n.reservation.status==="captured"){const o=fn(n.reservation.capturedUsd);return o?`captured ${o}`:"captured"}return n.reservation.status==="released"?"reservation released":null}function ea(n){if(!n)return"Loading sandbox policy";const i=typeof n.quotas?.idleTimeoutSeconds=="number"&&n.quotas.idleTimeoutSeconds>0?n.quotas.idleTimeoutSeconds:null,o=fn(n.quotas?.maxSpendUsd??n.budget.maxUsd),h=[i?`Auto-stop after ${Xr(i)} idle`:"Auto-stop policy unavailable"];o&&h.push(`cap ${o}`);const c=Wr(n);return c&&h.push(c),h.join(" · ")}function Na({mode:n,busy:i,workspaceState:o,workspaceId:h,workspaceKind:c,selectedApp:u,selectedProject:s,workspaceBusy:f,defaultTeamId:g,workspaceDiff:p,managedWorkspace:l,showDiffControls:w,diffPanelOpen:T,onToggleDiffPanel:U,onRunTerminalCommand:J,onWorkspaceToolAction:D,onOpenCommitDialog:Y,onWorkspaceBranchChange:te,onWorkspaceBranchCreate:V,connection:O,onBootstrap:F,onOpenSandboxWorkspace:Z}){const[W,oe]=q.useState(!1),[ie,Ce]=q.useState(!1),[Ne,Oe]=q.useState(""),[fe,he]=q.useState(!1),[I,B]=q.useState(!1),[_,H]=q.useState(null),[Q,de]=q.useState(!1),[Se,Be]=q.useState(!1),[Re,ne]=q.useState(null),[He,se]=q.useState([]),[me,ce]=q.useState([]),[we,K]=q.useState([]),[Le,pe]=q.useState({status:"idle",changedFiles:0,error:null}),[re,ke]=q.useState(null),Ie=q.useRef(null),Te=q.useRef(null),Ge=!!o?.initialized,ue=!!f,qe=!!l,Pe=c==="local_project"||!!s,ae=c==="sandbox"||c==="sandbox_template",ye=ae&&h?.trim()||null,Fe=ae?0:p?.additions??0,_e=ae?0:p?.deletions??0,De=ae?Le.changedFiles:p?.filesChanged??o?.changedFilesCount??0,Ue=De>0,Ke=ae?Zr(Le):Ue?`${De} changed ${De===1?"file":"files"}`:"No changes",Ye=ae?ea(re):"",e=o?.source!=="local_folder",m=Pe&&o?.source==="local_folder",b=!!o?.remoteUrl,j=o?.remoteUrl?.trim()??"",a=Fr(u??null),x=!!s?.sandboxTemplate?.detected,t=!!(s?.sandboxTemplate?.valid&&s.sandboxTemplate.normalizedManifest),d=s?.sandboxTemplate?.normalizedManifest??null,C=d?et(d):[],v=C.filter(y=>y.kind==="action"),A=C.filter(y=>y.kind==="service"),N=!!s?.linkedOpenPondApp?.appId,S=Ri({localProject:s,organizations:He,projects:me,agents:we,defaultTeamId:g}),R=ot(He,g),E=Pe&&x&&!N,k=Pe&&x&&t&&(E||!!j),M=o?Array.from(new Set([o.currentBranch,...o.branches].filter(y=>!!y))):[],z=o?.initialized?o.currentBranch??M[0]??"No branch":"Not synced",X=Lr(o),on=q.useMemo(()=>{const y=Ne.trim().toLowerCase();return y?M.filter(P=>P.toLowerCase().includes(y)):M},[M,Ne]);q.useEffect(()=>{if(!W)return;function y($){Ie.current?.contains($.target)||oe(!1)}function P($){$.key==="Escape"&&oe(!1)}return document.addEventListener("pointerdown",y),document.addEventListener("keydown",P),()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",P)}},[W]),q.useEffect(()=>{W&&ie&&Te.current?.focus()},[ie,W]),q.useEffect(()=>{if(!O||!W||!Pe)return;let y=!1;return Be(!0),ne(null),xe.organizations(O).then(async P=>{if(y)return;const $=P.organizations.map(Ti).filter(ge=>!!ge).filter(ge=>ge.status==="active");se($);const G=ot($,g);if(!G)return;const[ve,Me]=await Promise.all([xe.listSandboxProjects(O,{teamId:G.teamId}),xe.listSandboxAgents(O,{teamId:G.teamId})]);y||(ce(ve.projects),K(Me.agents))}).catch(P=>{y||ne(Je(P))}).finally(()=>{y||Be(!1)}),()=>{y=!0}},[O,g,Pe,W]),q.useEffect(()=>{if(!W||!ae||!O||!ye){pe({status:"idle",changedFiles:0,error:null});return}let y=!1;return pe(P=>({status:"loading",changedFiles:P.changedFiles,error:null})),xe.sandboxGitStatus(O,ye).then(P=>{y||pe({status:"ready",changedFiles:Qr(P.status?.porcelain??""),error:null})}).catch(P=>{y||pe({status:"error",changedFiles:0,error:Je(P)})}),()=>{y=!0}},[O,ae,W,ye]),q.useEffect(()=>{if(!W||!ae||!O||!ye){ke(null);return}let y=!1;return xe.sandbox(O,ye).then(P=>{y||ke(P.sandbox)}).catch(()=>{y||ke(null)}),()=>{y=!0}},[O,ae,W,ye]);async function Ze(y){if(!D)return;const P=y.openPreview?br():null;let $=y.repoUrl||j;if(E){if(b&&!window.confirm("Replace the current origin remote with a new OpenPond repo before starting the sandbox?")){tn(P,null);return}const je=await D("publish_openpond_repo",{replaceOrigin:b,...o?.dirty?{commitDirty:!0,commitMessage:y.commitMessage}:{}});if(!je?.ok){tn(P,null);return}$=kr(je)??$}else if(e&&b){if(o?.dirty&&!(await D("git_commit",{message:y.commitMessage,includeUnstaged:!0,runChecks:!1}))?.ok){tn(P,null);return}if(!(await D("git_push",{runChecks:!1}))?.ok){tn(P,null);return}}if(!$){tn(P,null);return}const G=await D("sandbox_create",{repo:$,visibility:"team",resources:y.resources,budget:{maxUsd:y.budgetUsd},quotas:{idleTimeoutSeconds:900,maxSpendUsd:y.budgetUsd},...y.env.length>0?{env:y.env}:{},...y.volumes.length>0?{volumes:y.volumes}:{},metadata:{source:"openpond-app-local-sandbox-template-start",...y.entrypointName?{entrypointName:y.entrypointName}:{},...s?.id?{localProjectId:s.id}:{},...s?.name?{projectName:s.name}:{},...d?{templateName:d.name,templateVersion:d.version,templateUseCase:d.useCase,templateTargets:C.map(je=>({name:je.name,kind:je.kind}))}:{}},...y.openPreview&&y.previewPort?{previewPort:y.previewPort,previewLabel:y.previewLabel,previewAccess:y.previewAccess,previewAutoStart:!0}:{}}),ve=xr(G);if(y.openPreview&&tn(P,ve),!G?.ok)return;const Me=Mr(G);for(const je of d?.setup.commands??[])if(!(await D("sandbox_exec",{command:je,timeoutSeconds:900}))?.ok)return;const ge={};for(const je of y.uploads){const nn=[];for(const it of je.files){const rt=Mt(je.targetPath,it.name),vi=await Ft(it);if(!(await D("sandbox_upload_file",{path:rt,contentsBase64:vi}))?.ok)return;nn.push(rt)}ge[je.inputName]=je.multiple?nn:nn[0]??""}const ln=Ur(y.command,{...y.params,...ge});if((await D("sandbox_exec",{command:ln,timeoutSeconds:y.timeoutSeconds??900}))?.ok){if(Me){for(const je of y.schedules)if(!(await D("sandbox_schedule_create",qr(je,Me)))?.ok)return}he(!1)}}async function Xe(y){if(!D)return;const P={},$=[];for(const G of y.uploads){const ve=[];for(const Me of G.files){const ge=Mt(G.targetPath,Me.name),ln=await Ft(Me);$.push({path:ge,contentsBase64:ln}),ve.push(ge)}P[G.inputName]=G.multiple?ve:ve[0]??""}B(!1),await D("run_sandbox_template",{mode:y.mode,target:y.target,params:{...y.params,...P},...y.env.length>0?{env:y.env}:{},...$.length>0?{uploads:$}:{}})}async function pi(y=R?.teamId){if(!O||!y)return;const[P,$]=await Promise.all([xe.listSandboxProjects(O,{teamId:y}),xe.listSandboxAgents(O,{teamId:y})]);ce(P.projects),K($.agents)}async function fi(y){if(!(!D||!s)){de(!0),ne(null);try{if(!(await D("create_sandbox_template_scaffold",{manifestOnly:!0,manifestContent:mi(y.name,y.preset),name:y.name,preset:y.preset,manifestPath:y.manifestPath}))?.ok)return;H(null)}catch(P){ne(Je(P))}finally{de(!1)}}}async function hi(y){if(!O||!s||!F)return;const P=y.teamId;de(!0),ne(null);try{const $=Dr(y.sourceType,y.sourceIdentity);let G=(await xe.upsertSandboxProject(O,{teamId:P,name:y.projectName,sourceType:y.sourceType,normalizedSourceIdentity:y.sourceIdentity||y.projectName,defaultBranch:y.defaultBranch||null,gitProvider:y.sourceType==="github_repo"?"github":null,gitHost:$.gitHost,gitOwner:$.gitOwner,gitRepo:$.gitRepo,internalRepoPath:$.internalRepoPath,templateRepoUrl:$.templateRepoUrl,sourceConfig:{sourceType:y.sourceType,sourceValue:y.sourceIdentity||y.projectName},metadata:{source:"openpond-app-local-project-agent-setup"}})).project;y.syncNow&&(G=(await xe.syncSandboxProject(O,G.id,{teamId:P})).project);const ve=await xe.updateLocalProjectAgentSetup(O,s.id,{linkedSandboxProject:{teamId:P,projectId:G.id,projectSlug:G.slug,projectName:G.name,sourceRepoUrl:y.sourceIdentity||null,defaultBranch:G.defaultBranch,lastUploadedCommit:null,lastUploadTransport:null,manifestPath:G.sandboxManifestPath,manifestHash:G.sandboxManifestHash,syncedAt:G.sandboxManifestSyncedAt,linkedAt:new Date().toISOString()}});F(ve.bootstrap),ce(Me=>[G,...Me.filter(ge=>ge.id!==G.id)]),H(null)}catch($){ne(Je($))}finally{de(!1)}}async function gi(){if(!O||!s||!S.project||!F)return;const y=S.project;de(!0),ne(null);try{const P=(await xe.syncSandboxProject(O,y.id,{teamId:y.teamId})).project,$=await xe.updateLocalProjectAgentSetup(O,s.id,{linkedSandboxProject:{teamId:P.teamId,projectId:P.id,projectSlug:P.slug,projectName:P.name,sourceRepoUrl:o?.remoteUrl??s.linkedSandboxProject?.sourceRepoUrl??null,defaultBranch:P.defaultBranch,lastUploadedCommit:s.linkedSandboxProject?.lastUploadedCommit??null,lastUploadTransport:s.linkedSandboxProject?.lastUploadTransport??null,manifestPath:P.sandboxManifestPath,manifestHash:P.sandboxManifestHash,syncedAt:P.sandboxManifestSyncedAt,linkedAt:s.linkedSandboxProject?.linkedAt??new Date().toISOString()}});F($.bootstrap),ce(G=>[P,...G.filter(ve=>ve.id!==P.id)]),H(null)}catch(P){ne(Je(P))}finally{de(!1)}}async function xi(y){if(!O||!s||!S.project||!F)return;const P=S.project;de(!0),ne(null);try{const $=(await xe.upsertSandboxAgent(O,{teamId:P.teamId,projectId:P.id,name:y.agentName,selectedEntrypoint:{scope:"entire_manifest",name:null},triggerType:"manual",backgroundTaskPolicy:{},defaultWorkflowMode:"attempt",defaultResourcePolicy:{},metadata:{source:"openpond-app-local-project-agent-setup"}})).agent;let G=null,ve=null;if(y.createTestRun){const ge=await xe.runSandboxAgent(O,$.id,{teamId:P.teamId,triggerType:"manual",metadata:{source:"openpond-app-local-project-agent-setup"}});G=ge.sandbox??null,ve=G?.id??ge.run.sandboxId??null}const Me=await xe.updateLocalProjectAgentSetup(O,s.id,{preferredSandboxAgentId:$.id});F(Me.bootstrap),K(ge=>[$,...ge.filter(ln=>ln.id!==$.id)]),H(null),ve&&await Z?.({sandboxId:ve,name:kt(G)??`${$.name} sandbox`})}catch($){ne(Je($))}finally{de(!1)}}async function bi(){if(!(!O||!S.agent)){de(!0),ne(null);try{const y=await xe.runSandboxAgent(O,S.agent.id,{teamId:S.agent.teamId,triggerType:"manual",metadata:{source:"openpond-app-local-project-agent-setup"}});await pi(S.agent.teamId),H(null);const P=y.sandbox?.id??y.run.sandboxId;P&&await Z?.({sandboxId:P,name:kt(y.sandbox??null)??`${S.agent.name} sandbox`})}catch(y){ne(Je(y))}finally{de(!1)}}}const{gitActionItems:Si,sandboxActionItems:yi}=Yr({canCreateSandboxProject:k,canInitGit:m,defaultSandboxRepoUrl:a??"",gitWorkspace:e,hasRemote:b,isProjectWorkspace:Pe,isSandboxWorkspace:ae,managed:qe,onOpenCommitDialog:Y,onRunTerminalCommand:J,onWorkspaceToolAction:D,projectSandboxTemplate:x,projectSandboxTemplateValid:t,sandboxTemplateActionTargetCount:v.length,sandboxTemplateServiceTargets:A,sandboxResumeTarget:re?{id:re.id,runtimeId:re.runtimeId??null,teamId:re.teamId??null,projectId:re.projectId??null,state:re.state??null}:null,selectedApp:u,selectedProject:s,setSandboxCreateDialogOpen:he,setSandboxRunActionDialogOpen:B,workspaceBusyValue:ue,workspaceReady:Ge,workspaceState:o});if(!o)return null;function tt(y){oe(!1),y.onSelect()}return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:`workspace-environment-menu ${n==="dock"?"open-up":""} ${n==="topbar"?"topbar":""}`,ref:Ie,children:[r.jsx("button",{type:"button",className:`environment-info-button ${n==="topbar"?"titlebar-icon":"composer-icon"} ${W?"active":""}`,title:"Environment","data-tooltip":"Environment","aria-label":"Environment","aria-haspopup":"menu","aria-expanded":W,onClick:()=>oe(y=>!y),children:r.jsx(qi,{size:16})}),W&&r.jsxs("div",{className:"environment-popover",role:"menu","aria-label":"Environment",children:[r.jsx("div",{className:"environment-popover-header",children:r.jsx("span",{children:"Environment"})}),Pe&&s?r.jsxs("button",{type:"button",className:"environment-row",disabled:Se||!S.canAct||Q,title:Se?"Loading Agent setup state":S.reason??"Set up this project as an Agent",onClick:()=>{Se||!S.canAct||(S.state==="missing_config"&&H("config"),S.state==="needs_project"&&H("connect"),S.state==="needs_sync"&&H("sync"),S.state==="needs_agent"&&H("agent"),S.state==="ready"&&H("run"),oe(!1))},children:[r.jsx(sn,{size:15}),r.jsxs("span",{children:[r.jsx("strong",{children:"Agent setup"}),r.jsx("small",{children:Se?"Loading setup state":Or(S.state,S.reason)})]}),r.jsx("span",{className:"environment-row-action",children:Q?"Working":Se?"Loading":S.actionLabel})]}):null,r.jsxs("button",{type:"button",className:`environment-row ${T?"active":""}`,disabled:!w||!U,onClick:()=>{oe(!1),U?.()},children:[r.jsx(Pi,{size:15}),r.jsxs("span",{children:[r.jsx("strong",{children:"Changes"}),r.jsx("small",{children:Ke})]}),!ae&&(Ue||p)&&r.jsxs("span",{className:"environment-change-counts",children:[r.jsxs("span",{className:"diff-addition",children:["+",Fe]}),r.jsxs("span",{className:"diff-deletion",children:["-",_e]})]})]}),r.jsxs("div",{className:"environment-row static",children:[r.jsx(Fi,{size:15}),r.jsxs("span",{children:[r.jsx("strong",{children:X}),r.jsx("small",{children:o.repoPath||o.workspacePath})]})]}),ae?r.jsxs("div",{className:"environment-row static",title:Ye,children:[r.jsx(Oi,{size:15}),r.jsxs("span",{children:[r.jsx("strong",{children:"Idle cleanup"}),r.jsx("small",{children:Ye})]})]}):null,r.jsxs("button",{type:"button",className:`environment-row ${ie?"active":""}`,disabled:qe||!e||i||ue||!o.initialized,"aria-expanded":ie,onClick:()=>Ce(y=>!y),children:[r.jsx(Cn,{size:15}),r.jsxs("span",{children:[r.jsx("strong",{children:z}),r.jsx("small",{children:qe?"Managed workspace":e?"Branch":"Git not initialized"})]}),r.jsx(Li,{size:13})]}),ie&&r.jsxs("div",{className:"environment-branch-panel",children:[r.jsxs("label",{className:"environment-branch-search",children:[r.jsx(ki,{size:13}),r.jsx("input",{ref:Te,value:Ne,placeholder:"Search branches",onChange:y=>Oe(y.target.value)})]}),r.jsxs("div",{className:"environment-branch-list",children:[on.map(y=>{const P=y===o.currentBranch,$=i||o.dirty&&!P;return r.jsxs("button",{type:"button",className:P?"selected":"",disabled:$,role:"menuitemradio","aria-checked":P,title:$&&!P?"Commit or discard local changes before switching branches.":y,onClick:()=>{oe(!1),P||te?.(y)},children:[r.jsx(Cn,{size:13}),r.jsxs("span",{children:[r.jsx("strong",{children:y}),P&&o.dirty&&r.jsxs("small",{children:["Uncommitted: ",o.changedFilesCount," ",o.changedFilesCount===1?"file":"files"]})]}),P&&r.jsx(Mi,{size:14})]},y)}),on.length===0&&r.jsx("div",{className:"environment-branch-empty",children:"No branches found"})]}),r.jsxs("button",{type:"button",className:"environment-branch-create",disabled:i||!o.initialized||!V,onClick:()=>{oe(!1),V?.()},children:[r.jsx(Cn,{size:14}),r.jsx("span",{children:"Create branch"})]})]}),r.jsx("div",{className:"environment-section-title",children:"Git"}),Si.map(y=>r.jsxs("button",{type:"button",className:"environment-action",disabled:y.disabled,onClick:()=>tt(y),children:[y.icon,r.jsx("span",{children:y.label})]},y.label)),r.jsx("div",{className:"environment-section-title",children:"Sandbox"}),yi.map(y=>r.jsxs("button",{type:"button",className:"environment-action",disabled:y.disabled,onClick:()=>tt(y),children:[y.icon,r.jsx("span",{children:y.label})]},y.label))]})]}),fe&&r.jsx(Tr,{busy:ue,commitBeforeCreate:(E||e&&b)&&!!o?.dirty,defaultRepoUrl:j,projectName:s?.name??"sandbox template",templateManifest:s?.sandboxTemplate?.normalizedManifest??null,uploadBeforeCreate:E,onClose:()=>{ue||he(!1)},onSubmit:y=>{Ze(y)}}),I&&r.jsx(Pr,{busy:ue,projectName:s?.name??"sandbox template",templateManifest:s?.sandboxTemplate?.normalizedManifest??null,onClose:()=>{ue||B(!1)},onSubmit:y=>{Xe(y)}}),_==="config"&&s?r.jsx(Gr,{busy:Q,error:Re,projectName:s.name,onClose:()=>!Q&&H(null),onSubmit:y=>{fi(y)}}):null,_==="connect"&&s&&R?r.jsx(Kr,{busy:Q,error:Re,defaultTeamId:R.teamId,projectName:s.name,sourceIdentity:o?.remoteUrl??"",defaultBranch:o?.currentBranch??"main",onClose:()=>!Q&&H(null),onSubmit:y=>{hi(y)}}):null,_==="sync"&&S.project?r.jsx(Dt,{busy:Q,error:Re,title:"Sync Project",actionLabel:"Sync Project",summary:`${S.project.name} · ${S.project.sandboxManifestPath??an}`,onClose:()=>!Q&&H(null),onSubmit:()=>{gi()}}):null,_==="agent"&&S.project?r.jsx(Vr,{busy:Q,error:Re,defaultName:`${s?.name??S.project.name} Agent`,onClose:()=>!Q&&H(null),onSubmit:y=>{xi(y)}}):null,_==="run"&&S.agent?r.jsx(Dt,{busy:Q,error:Re,title:"Run Agent",actionLabel:"Run Agent",summary:S.agent.name,onClose:()=>!Q&&H(null),onSubmit:()=>{bi()}}):null]})}export{Na as WorkspaceEnvironmentMenu,Xr as formatIdleTimeout,Zr as sandboxChangeLabel,Qr as sandboxChangedFileCount,ea as sandboxRuntimePolicyLabel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./index-
|
|
1
|
+
import{j as e}from"./index-BE-wXZ5R.js";/* empty css */import{C as z}from"./cloud-upload-B_zYztb6.js";import{aw as j,$ as _,X as D}from"./App-CLFfy_Av.js";import{G as h}from"./git-commit-horizontal-CjGIIgRi.js";import{U as w}from"./upload-D56kThRh.js";function F({open:s,branch:l,filesChanged:i,additions:c,deletions:n,message:m,includeUnstaged:g,nextStep:a,draft:p,busy:t,canPush:u,canPublish:b,onMessageChange:f,onIncludeUnstagedChange:C,onNextStepChange:r,onDraftChange:N,onClose:v,onSubmit:k}){return s?e.jsx("div",{className:"git-dialog-backdrop",role:"presentation",children:e.jsxs("form",{className:"git-dialog commit-dialog","aria-label":"Commit changes",onSubmit:o=>{o.preventDefault(),k()},children:[e.jsx(x,{disabled:t,onClose:v}),e.jsx("div",{className:"git-dialog-icon",children:e.jsx(h,{size:18})}),e.jsx("h2",{children:"Commit your changes"}),e.jsxs("div",{className:"git-dialog-row",children:[e.jsx("span",{children:"Branch"}),e.jsxs("strong",{children:[e.jsx(j,{size:14}),l??"No branch"]})]}),e.jsxs("div",{className:"git-dialog-row",children:[e.jsx("span",{children:"Changes"}),e.jsxs("strong",{children:[i," ",i===1?"file":"files",e.jsxs("span",{className:"git-dialog-additions",children:["+",c]}),e.jsxs("span",{className:"git-dialog-deletions",children:["-",n]})]})]}),e.jsxs("label",{className:"git-dialog-toggle",children:[e.jsx("input",{checked:g,disabled:t,type:"checkbox",onChange:o=>C(o.target.checked)}),e.jsx("span",{}),"Include unstaged"]}),e.jsxs("label",{className:"git-dialog-field",children:[e.jsxs("span",{children:["Commit message",e.jsx("small",{children:"Leave blank to use an autogenerated message"})]}),e.jsx("textarea",{value:m,disabled:t,placeholder:"Update workspace",onChange:o=>f(o.target.value)})]}),e.jsxs("fieldset",{className:"git-dialog-next",children:[e.jsx("legend",{children:"Next steps"}),e.jsx(d,{active:a==="commit",icon:e.jsx(h,{size:14}),label:"Commit",disabled:t,onSelect:()=>r("commit")}),e.jsx(d,{active:a==="commit_push",icon:e.jsx(w,{size:14}),label:"Commit & push",disabled:t||!u,onSelect:()=>r("commit_push")}),b&&e.jsx(d,{active:a==="commit_publish",icon:e.jsx(z,{size:14}),label:"Commit & publish",disabled:t,onSelect:()=>r("commit_publish")}),e.jsx(d,{active:a==="commit_pr",icon:e.jsx(_,{size:14}),label:"Commit & create PR",disabled:!0,onSelect:()=>r("commit_pr")})]}),e.jsxs("div",{className:"git-dialog-footer",children:[e.jsxs("label",{className:"git-dialog-toggle draft-toggle",children:[e.jsx("input",{checked:p,disabled:t||a!=="commit_pr",type:"checkbox",onChange:o=>N(o.target.checked)}),e.jsx("span",{}),"Draft"]}),e.jsx("button",{className:"git-dialog-primary",disabled:t||i===0,type:"submit",children:"Continue"})]})]})}):null}function H({open:s,branchName:l,busy:i,onBranchNameChange:c,onSetPrefix:n,onClose:m,onSubmit:g}){return s?e.jsx("div",{className:"git-dialog-backdrop",role:"presentation",children:e.jsxs("form",{className:"git-dialog branch-dialog","aria-label":"Create branch",onSubmit:a=>{a.preventDefault(),g()},children:[e.jsx(x,{disabled:i,onClose:m}),e.jsx("div",{className:"git-dialog-icon",children:e.jsx(j,{size:18})}),e.jsx("h2",{children:"Work here"}),e.jsx("p",{children:"Create a branch to commit changes, push, and create a PR from this worktree."}),e.jsxs("label",{className:"git-dialog-field",children:[e.jsxs("span",{children:["Branch name",e.jsx("button",{className:"git-dialog-inline-action",disabled:i,type:"button",onClick:n,children:"Set prefix"})]}),e.jsx("input",{autoFocus:!0,disabled:i,value:l,onChange:a=>c(a.target.value)})]}),e.jsx("button",{className:"git-dialog-primary full",disabled:i||!l.trim(),type:"submit",children:"Create"})]})}):null}function d({active:s,icon:l,label:i,disabled:c,onSelect:n}){return e.jsxs("button",{"aria-pressed":s,className:s?"active":"",disabled:c,type:"button",onClick:n,children:[l,e.jsx("span",{children:i}),s&&e.jsx("span",{className:"git-dialog-check",children:"✓"})]})}function x({disabled:s,onClose:l}){return e.jsx("button",{className:"git-dialog-close",disabled:s,type:"button",onClick:l,children:e.jsx(D,{size:16})})}export{H as BranchDialog,F as CommitDialog};
|