openpond 0.2.69 → 0.2.70
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/api/client-context.d.ts +4 -0
- package/dist/app-server.js +1 -1
- package/dist/chunks/{account-context-V3KLSNKS.js → account-context-LEZDNYMR.js} +1 -1
- package/dist/chunks/{acp-ER6CUXG2.js → acp-QTA6IU6W.js} +1 -1
- package/dist/chunks/{acp-agent-AYJ5RPVF.js → acp-agent-N77HPAYQ.js} +1 -1
- package/dist/chunks/{actions-command-BBUS3HDK.js → actions-command-BZQCUDMD.js} +1 -1
- package/dist/chunks/{app-layer-JCEWGUDH.js → app-layer-YQQNLIXA.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-ILXBFD3S.js → app-server-connected-apps-NH4667QJ.js} +1 -1
- package/dist/chunks/{app-server-runtime-43MCH5SY.js → app-server-runtime-B7AMBGQZ.js} +1 -1
- package/dist/chunks/apps-WG7WY5CB.js +2 -0
- package/dist/chunks/{chunk-RY46UPBO.js → chunk-2ACX7IW5.js} +1 -1
- package/dist/chunks/{chunk-LSKMALD6.js → chunk-54755JYM.js} +2 -2
- package/dist/chunks/{chunk-HKVFU3B3.js → chunk-5FSPDSAO.js} +1 -1
- package/dist/chunks/{chunk-R4EEGWXB.js → chunk-67U7PAMU.js} +1 -1
- package/dist/chunks/{chunk-2TGHZXJE.js → chunk-6C6ZCYTL.js} +1 -1
- package/dist/chunks/{chunk-7RSQOC5M.js → chunk-7TM25J6S.js} +1 -1
- package/dist/chunks/{chunk-M5X7XKXY.js → chunk-BGMAWETL.js} +7 -7
- package/dist/chunks/{chunk-7EQLW2KM.js → chunk-BLNEHU62.js} +1 -1
- package/dist/chunks/{chunk-R6I623SZ.js → chunk-CUB6PWAJ.js} +6 -6
- package/dist/chunks/chunk-DFZTRMTL.js +2 -0
- package/dist/chunks/{chunk-4N4EH3RJ.js → chunk-EJOV6Z6F.js} +1 -1
- package/dist/chunks/{chunk-RCRZXHAI.js → chunk-EWH64WRR.js} +1 -1
- package/dist/chunks/{chunk-WNXUSELC.js → chunk-EXAJ2B4I.js} +1 -1
- package/dist/chunks/{chunk-TB5P3FWM.js → chunk-FHDH4OUA.js} +1 -1
- package/dist/chunks/chunk-HES4VP3D.js +2 -0
- package/dist/chunks/{chunk-AYOMVI7J.js → chunk-HIMG7S5E.js} +1 -1
- package/dist/chunks/{chunk-2LJCJOJ7.js → chunk-HLJJAOI2.js} +1 -1
- package/dist/chunks/{chunk-NZDLL6JN.js → chunk-HYUTDZ3N.js} +1 -1
- package/dist/chunks/chunk-J7X72QUY.js +2 -0
- package/dist/chunks/chunk-JF7WWLNW.js +2 -0
- package/dist/chunks/{chunk-4KNPCJR4.js → chunk-JVNKSU27.js} +1 -1
- package/dist/chunks/{chunk-XT4CSKHM.js → chunk-JZKTBYNB.js} +1 -1
- package/dist/chunks/{chunk-JEMECEQH.js → chunk-KHDCMVEJ.js} +1 -1
- package/dist/chunks/{chunk-BDZDWHBJ.js → chunk-KURL76NW.js} +1 -1
- package/dist/chunks/chunk-MZKCW6CB.js +2 -0
- package/dist/chunks/{chunk-UMAVVMXL.js → chunk-OL3L3U36.js} +1 -1
- package/dist/chunks/{chunk-IIT66347.js → chunk-OXQ2WFIH.js} +1 -1
- package/dist/chunks/{chunk-Z5CQXPIS.js → chunk-PPF6EBTQ.js} +1 -1
- package/dist/chunks/{chunk-V24VHT76.js → chunk-REGKOCDO.js} +1 -1
- package/dist/chunks/{chunk-PSY6IRJE.js → chunk-TAXCMCYZ.js} +1 -1
- package/dist/chunks/{chunk-NW6WGGSL.js → chunk-TCTBCAI6.js} +1 -1
- package/dist/chunks/{chunk-EWDDDHJN.js → chunk-UZNRH6I3.js} +1 -1
- package/dist/chunks/{chunk-22RLEU3Q.js → chunk-Y4E5AAI7.js} +1 -1
- package/dist/chunks/chunk-YAA7F5LI.js +2 -0
- package/dist/chunks/{chunk-G4FRBT7G.js → chunk-ZK3ET5EP.js} +2 -2
- package/dist/chunks/{cli-R7TAP6Z2.js → cli-ALEEFAJ7.js} +1 -1
- package/dist/chunks/{command-LNOVZQSK.js → command-5AXJMFYC.js} +11 -11
- package/dist/chunks/{configuration-command-C3QBDFND.js → configuration-command-5LUNWPOL.js} +1 -1
- package/dist/chunks/{connected-app-executor-LAEAQUJS.js → connected-app-executor-DHXZE4X3.js} +1 -1
- package/dist/chunks/connected-evidence-NWMPICKJ.js +2 -0
- package/dist/chunks/{connected-starting-assets-5LAJ7CZY.js → connected-starting-assets-NRVXIKQ2.js} +1 -1
- package/dist/chunks/{continual-FVOLGGOE.js → continual-UCKQ2QLH.js} +1 -1
- package/dist/chunks/core-commands-ZPBX35M2.js +2 -0
- package/dist/chunks/datasets-6K3ZANIV.js +2 -0
- package/dist/chunks/desktop-test-57INNJ76.js +3 -0
- package/dist/chunks/evaluation-coordination-B7CN4R2D.js +2 -0
- package/dist/chunks/experiment-improvements-G357VLDB.js +2 -0
- package/dist/chunks/experiments-BHQO26LJ.js +2 -0
- package/dist/chunks/experiments-signal-BI6NKETB.js +2 -0
- package/dist/chunks/{help-PLQJOP4P.js → help-UQN5RUPA.js} +1 -1
- package/dist/chunks/{hosted-app-server-composition-GZES7QXJ.js → hosted-app-server-composition-WDDO6F23.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-VG2WE7XZ.js → hosted-experiment-improvement-VVYXQ65K.js} +1 -1
- package/dist/chunks/{hosted-tasksets-V24IBVJX.js → hosted-tasksets-KCLNMPG5.js} +1 -1
- package/dist/chunks/human-review-PX6DBIFT.js +2 -0
- package/dist/chunks/{import-SI24Z7EF.js → import-2HEYPHPW.js} +1 -1
- package/dist/chunks/learning-LSXBL5DB.js +2 -0
- package/dist/chunks/{local-harness-taskset-review-XQHQ6JCR.js → local-harness-taskset-review-E5GN5LTR.js} +1 -1
- package/dist/chunks/opchat-66BCRKEZ.js +3 -0
- package/dist/chunks/opchat-bounded-chat-KQWXZVFN.js +2 -0
- package/dist/chunks/organizations-IOYWDOCC.js +2 -0
- package/dist/chunks/{profile-TD5U3INY.js → profile-YH6G3ZTD.js} +1 -1
- package/dist/chunks/{project-action-payload-TK6G4VMC.js → project-action-payload-53OH6WDH.js} +1 -1
- package/dist/chunks/project-agent-RYVMKW2F.js +2 -0
- package/dist/chunks/{runtime-Q7JUJO4D.js → runtime-ISLJIGWC.js} +1 -1
- package/dist/chunks/sandbox-command-DI45NRTV.js +2 -0
- package/dist/chunks/{sandbox-template-GOY7QQUY.js → sandbox-template-T42MDUSR.js} +1 -1
- package/dist/chunks/{saved-work-M6PUHKCC.js → saved-work-54I5ZJTC.js} +1 -1
- package/dist/chunks/setup-D6TY2GWV.js +2 -0
- package/dist/chunks/{src-MT4B43TD.js → src-7RN7BF4W.js} +1 -1
- package/dist/chunks/{src-C3ZUESMK.js → src-LF5X4RNQ.js} +1 -1
- package/dist/chunks/{store-model-configuration-6L3OYXF4.js → store-model-configuration-AYFGMC5D.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-AAEKCF6V.js → store-model-project-preparation-5DEIS7TB.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-FRFL6ITK.js → store-taskset-drafts-EAOOY6CR.js} +1 -1
- package/dist/chunks/{taskset-UDDLFYKV.js → taskset-HNDIGYQG.js} +1 -1
- package/dist/chunks/{teams-bot-YCUTDDDC.js → teams-bot-Z5CZLWE4.js} +1 -1
- package/dist/chunks/{training-5UMT45UL.js → training-JTYQA7GA.js} +1 -1
- package/dist/chunks/training-hardware-MR4FUC4U.js +3 -0
- package/dist/chunks/training-hosted-36SZFS4U.js +2 -0
- package/dist/chunks/{web-search-ZEKJHZW4.js → web-search-FTVNZ7PH.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/index.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/{App-CCuh99JW.js → App-CXhxya9x.js} +4 -4
- package/dist/web/assets/{AppDialog-CxjDHVk9.js → AppDialog-x1HU1uLv.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-CKJIVpKa.js → AppTerminalPanel-CNIKmqKc.js} +2 -2
- package/dist/web/assets/{AppToastContext-EpiT1dHs.js → AppToastContext-DNWd43HS.js} +1 -1
- package/dist/web/assets/{AppsView-BsMyPX_3.js → AppsView-BvOD83Z1.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-BXvZy5gB.js → AttachmentTypeIcon-BLdDr3JZ.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BIIV4aq4.js → BrowserSidebar-Ar0FlFKg.js} +1 -1
- package/dist/web/assets/{CartesianChart-brqLBqnF.js → CartesianChart-tS7f1HZv.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-CwZbn16X.js → ChatTimelineEntry-z7_kur3h.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BU4uc4tZ.js → CollaborationTabs-CaiFEKrv.js} +1 -1
- package/dist/web/assets/{CommandMenu-DkWpXR55.js → CommandMenu-BpubEqaA.js} +1 -1
- package/dist/web/assets/{CommunityView-CsSxJZGn.js → CommunityView-TGR4s99l.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-BdJGCYzI.js → ComposerAttachments-DPWCjKXz.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CWy0j1vv.js → ComposerCreateImproveStrip-Drji01_6.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-DCmiakbZ.js → ConversationImportsSettings-B_oW0cz7.js} +1 -1
- package/dist/web/assets/{DatasetReviewImport-DEnF_pGu.js → DatasetReviewImport-Dr3unJSY.js} +1 -1
- package/dist/web/assets/{ExperimentTrainingDataWorkspace-WhwQ0QBi.js → ExperimentTrainingDataWorkspace-DObvpJAw.js} +2 -2
- package/dist/web/assets/{FilePagePreview-BRhhz99q.js → FilePagePreview-9kkXbARN.js} +2 -2
- package/dist/web/assets/{GetStartedView-CLVD-qEi.js → GetStartedView-Dv2b_SlH.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-CMxaAMg-.js → GettingStartedDialog-sPaPMc61.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-Cn-j-rDo.js → HostedModelLearningReview-BlwhGxS6.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-B5ahk3je.js +1 -0
- package/dist/web/assets/{HtmlVisual-D5y2WG9L.js → HtmlVisual-rGsClq0p.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-BxRmYD6h.js → LabModelVersionDetailPage-Da7AwZWV.js} +1 -1
- package/dist/web/assets/{LabModelWorkspace-u2Ulm_z4.js → LabModelWorkspace-DTeYViWH.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-C7IceJTJ.js → LabSkillSidebar-BieHbNl6.js} +1 -1
- package/dist/web/assets/{LabsRoute-CbztQaEf.js → LabsRoute-D3XqPB0-.js} +4 -4
- package/dist/web/assets/{LearningBatchesPage-CJqgZNvM.js → LearningBatchesPage-CCBuf2u4.js} +1 -1
- package/dist/web/assets/{MainChatThread-DNMfrrRq.js → MainChatThread-B6BQJfcq.js} +2 -2
- package/dist/web/assets/{MainPane-CQQxSDPS.js → MainPane-D3fQou29.js} +6 -6
- package/dist/web/assets/{ModelProjectPageHeader-Dge19aE1.js → ModelProjectPageHeader-BZn9Lu_J.js} +1 -1
- package/dist/web/assets/{NativeSetupTerminal-D4JnbpyD.js → NativeSetupTerminal-Bglqab_g.js} +2 -2
- package/dist/web/assets/{NativeSkillSidebar-Jzx1BeKV.js → NativeSkillSidebar-pUGRdnV_.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-DcnGzEd9.js → NewProjectDialog-BpHN38MA.js} +1 -1
- package/dist/web/assets/{OutputsPage-Cmk15Vt_.js → OutputsPage-LunDCQ6w.js} +1 -1
- package/dist/web/assets/{PageChrome-Cz_fCqtn.js → PageChrome-DThEcWAx.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BZ3Eo3Mz.js → ProjectsPage-vct_TQgL.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-C6H2vU9N.js → RightChatPanelStack-CgFK7DY0.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-BJmzUcmy.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-CAkSwM0T.js → ScheduledWorkPage-mmaZfybl.js} +1 -1
- package/dist/web/assets/{SettingsView-DvQXGw3_.js → SettingsView-CJfeRsWR.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-JuU1k8vr.js → TasksetDraftEditorPrimitives-CuimAfkv.js} +1 -1
- package/dist/web/assets/{TeamChatView-DmHjr8W9.js → TeamChatView-BcK0lF1b.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-DlaM9d8F.js → TerminalOverlay-0pzEvy-C.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-ClpylNsr.js → TrainingCreationPanel-CcyzFz7l.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-6tH2xSDj.js → TrainingDraftPanel-DSLZXdLz.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CzDqxOYM.js → UsageSettingsSection-BT9pcnCn.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-CP-nHAsJ.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-B4e0lyF7.js → WorkspaceDiffPanel-Bbz5qrVA.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-D01ZkZZF.js → WorkspaceEnvironmentMenu-6hXpvMTl.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-C5s_njZb.js → WorkspaceFileLocation-BijVemBl.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-DjPZ6KIh.js → WorkspaceGitDialogs-BOO0E5i9.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-CC4sfOiU.js → WorkspaceMonacoEditor-B_YzK7Do.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-vszQqFa4.js → WorkspacePdfPreview-CFti1fvu.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DQTvhaRD.js → WorkspacePresentationPreview-DPAhNaV6.js} +1 -1
- package/dist/web/assets/{bot-Doyx3T4j.js → bot-BE2rL_qv.js} +1 -1
- package/dist/web/assets/chevron-down-Bn8yph2O.js +1 -0
- package/dist/web/assets/chevron-right-BU-jUmb2.js +1 -0
- package/dist/web/assets/chevron-up-DacwuDJZ.js +1 -0
- package/dist/web/assets/{chunk-C3TS766N-ppRhs95p.js → chunk-C3TS766N-j1MK0e3c.js} +1 -1
- package/dist/web/assets/{client-DwZ92xtu.js → client-BnJhN-14.js} +1 -1
- package/dist/web/assets/{client-choice-storage-DitqKiIT.js → client-choice-storage-CQ0CNkzG.js} +1 -1
- package/dist/web/assets/{cloud-upload-HdzNTgr2.js → cloud-upload-DFjZE4O4.js} +1 -1
- package/dist/web/assets/{copy-DTQhoBNg.js → copy-CGrLUtw5.js} +1 -1
- package/dist/web/assets/{cssMode-BRTtfXxU.js → cssMode-DvRw2fUx.js} +1 -1
- package/dist/web/assets/{external-link-H1629UU6.js → external-link-3ZnEFUXd.js} +1 -1
- package/dist/web/assets/{folder-open-CAGdWOrr.js → folder-open-i9n8450i.js} +1 -1
- package/dist/web/assets/{folder-plus-C14cs2mE.js → folder-plus-cu8Md_ej.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DFUfuVvF.js → git-commit-horizontal-CwckmC09.js} +1 -1
- package/dist/web/assets/{htmlMode-BVaCcL76.js → htmlMode-8VF4Ovtw.js} +1 -1
- package/dist/web/assets/{icons-Bk2b68aC.js → icons-4yRSxBZj.js} +1 -1
- package/dist/web/assets/{image-0DPVY6Ev.js → image-D-umhyyK.js} +1 -1
- package/dist/web/assets/{index-B6XX_0h3.js → index-DiVhx1GM.js} +2 -2
- package/dist/web/assets/{info-C8b_tafZ.js → info-Dq2RsPDJ.js} +1 -1
- package/dist/web/assets/{jsonMode-BCKKQmmV.js → jsonMode-CvCYQHkB.js} +1 -1
- package/dist/web/assets/loader-circle-DBl6qqtR.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DozmNUOx.js → lspLanguageFeatures-CjufNNFF.js} +1 -1
- package/dist/web/assets/{maximize-2-CByk9-zN.js → maximize-2-CKY8dua6.js} +1 -1
- package/dist/web/assets/{message-square-C889vRqm.js → message-square-CVDgKlKX.js} +1 -1
- package/dist/web/assets/{monaco.contribution-BITdsRbn.js → monaco.contribution-BYAgjZbj.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DxAV1oS5.js → monaco.contribution-BYY3-y9l.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BqA-XZ44.js → monaco.contribution-Bh0CKj9i.js} +2 -2
- package/dist/web/assets/{monaco.contribution-B9q6qbbo.js → monaco.contribution-PjJ1258q.js} +2 -2
- package/dist/web/assets/{monitor-BtxlcLuI.js → monitor-UYe42gew.js} +1 -1
- package/dist/web/assets/{paperclip-BeIdaspf.js → paperclip-DrlSVUoz.js} +1 -1
- package/dist/web/assets/{pdf-perlzwEB.js → pdf-BMhday2W.js} +1 -1
- package/dist/web/assets/play-DIqZnaNf.js +1 -0
- package/dist/web/assets/plus-CFNxAPMK.js +1 -0
- package/dist/web/assets/{presentation-0bzvu6_u.js → presentation-DcZKqH7w.js} +1 -1
- package/dist/web/assets/{python-B9hOnkOI.js → python-CiA01i07.js} +1 -1
- package/dist/web/assets/{refresh-cw-D61-Ozk3.js → refresh-cw-00D-GDnF.js} +1 -1
- package/dist/web/assets/{save-iEMNZoPe.js → save-CXe7bqR7.js} +1 -1
- package/dist/web/assets/{settings-lists-C84qxFmP.js → settings-lists-B5J40WM6.js} +1 -1
- package/dist/web/assets/square-DJEaBefe.js +1 -0
- package/dist/web/assets/{square-terminal-Djpzo2Qs.js → square-terminal-DxC7TTds.js} +1 -1
- package/dist/web/assets/{submit-issue-command-HfKzyxg5.js → submit-issue-command-Dq3TqJLV.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-ClsXu39R.js → toggleHighContrast-BH3Jckfo.js} +1 -1
- package/dist/web/assets/{training-model-data-CIysl8wH.js → training-model-data-B6IZ3x-t.js} +1 -1
- package/dist/web/assets/{tsMode-nbmaMc-D.js → tsMode-DXkj4bqC.js} +1 -1
- package/dist/web/assets/{upload-C6ug8RD-.js → upload-B3KRHVHl.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dr9h4Qz_.js → useAccountSettings-BGRkTRrp.js} +1 -1
- package/dist/web/assets/{useAgentInventory-ByCk2JAv.js → useAgentInventory-D_1AlAZJ.js} +1 -1
- package/dist/web/assets/{useChatContextSelection-C0eMm2g6.js → useChatContextSelection-hoMSuUSE.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-Do0y_leJ.js → useLocalAgentSchedules-DxTER7Ow.js} +1 -1
- package/dist/web/assets/{useQuery-D2MQ7e5U.js → useQuery-DkPec_9x.js} +1 -1
- package/dist/web/assets/{wifi-off-Dr-CapyW.js → wifi-off-CMzpvbWl.js} +1 -1
- package/dist/web/assets/{workers-DKvM2NdM.js → workers-ziY_bTv2.js} +1 -1
- package/dist/web/assets/x-omjwMPbJ.js +1 -0
- package/dist/web/assets/{yaml-C02vq4ar.js → yaml-mSvqVSko.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/chunks/apps-VNFGMQFG.js +0 -2
- package/dist/chunks/chunk-APKXXAUF.js +0 -2
- package/dist/chunks/chunk-JCLTFDVW.js +0 -2
- package/dist/chunks/chunk-KTIBXRWQ.js +0 -2
- package/dist/chunks/chunk-YDZBX4XQ.js +0 -2
- package/dist/chunks/connected-evidence-VKY6O2JW.js +0 -2
- package/dist/chunks/core-commands-5TNBVR72.js +0 -2
- package/dist/chunks/datasets-BIDZJYDC.js +0 -2
- package/dist/chunks/desktop-test-BY2MS3UL.js +0 -3
- package/dist/chunks/evaluation-coordination-FXB4DXZA.js +0 -2
- package/dist/chunks/experiment-improvements-JPDLKZXD.js +0 -2
- package/dist/chunks/experiments-IEN7RXLX.js +0 -2
- package/dist/chunks/experiments-signal-L32D36NH.js +0 -2
- package/dist/chunks/human-review-6V6EMNVN.js +0 -2
- package/dist/chunks/learning-LAXMGWSQ.js +0 -2
- package/dist/chunks/opchat-SV67HVMX.js +0 -3
- package/dist/chunks/opchat-bounded-chat-KLMIYSZZ.js +0 -2
- package/dist/chunks/organizations-OZZFX7RG.js +0 -2
- package/dist/chunks/project-agent-FFXPNXCO.js +0 -2
- package/dist/chunks/sandbox-command-4BCUDAED.js +0 -2
- package/dist/chunks/setup-RMZ2BHLM.js +0 -2
- package/dist/chunks/training-hardware-UWQCRDMV.js +0 -3
- package/dist/chunks/training-hosted-CKSDRVL6.js +0 -2
- package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +0 -1
- package/dist/web/assets/chevron-down-DX1hzujj.js +0 -1
- package/dist/web/assets/chevron-right-DHN0y3KC.js +0 -1
- package/dist/web/assets/chevron-up-_QrW88NF.js +0 -1
- package/dist/web/assets/loader-circle-y-SSPwpk.js +0 -1
- package/dist/web/assets/play-CHXXdkuO.js +0 -1
- package/dist/web/assets/plus-DFFWjhPw.js +0 -1
- package/dist/web/assets/square-BE_4JMR3.js +0 -1
- package/dist/web/assets/x-Jx2jlP9u.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{d as ne}from"./chunk-CIZI6Z7D.js";import"./chunk-HYUTDZ3N.js";import{c as G}from"./chunk-RFQD6B44.js";import{a as B,d as Q}from"./chunk-67U7PAMU.js";import"./chunk-Y4E5AAI7.js";import"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import"./chunk-EDYCSW22.js";import"./chunk-JT5YQ52I.js";import"./chunk-XGY4OQLC.js";import"./chunk-PAYFJHPO.js";import"./chunk-WD4KAKEX.js";import"./chunk-2PXKSAG6.js";import"./chunk-ULTV6INR.js";import"./chunk-WGQ3FMRF.js";import"./chunk-JXLDEYRW.js";import"./chunk-JVMSN7LH.js";import"./chunk-YI6ME6PU.js";import"./chunk-DRLP7GIU.js";import"./chunk-BU6MW65V.js";import"./chunk-LVXL7T5O.js";import"./chunk-HIQPGYVH.js";import"./chunk-DXJC3QW7.js";import"./chunk-P4QM63L3.js";import"./chunk-MTP3B2SU.js";import"./chunk-KHDCMVEJ.js";import{a as X,b as Y,c as Z,d as q,e as ee,f as te,g as ae,h as re,i as se}from"./chunk-PPF6EBTQ.js";import"./chunk-BLNEHU62.js";import"./chunk-BT5YNE5U.js";import{d as N}from"./chunk-RPM4FDRX.js";import"./chunk-DFZTRMTL.js";import"./chunk-KP2MYTP5.js";import"./chunk-PNPV2LDE.js";import{k as H,m as F}from"./chunk-4G3GTEVS.js";import"./chunk-KU4TPDPH.js";import"./chunk-55YD4UTW.js";import"./chunk-AFYYIJ6K.js";import{a as $}from"./chunk-J256AEEE.js";import"./chunk-J7X72QUY.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import{a as j}from"./chunk-JF7WWLNW.js";import{c as V,f as O}from"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as l,f as R}from"./chunk-3M53YXEI.js";import"./chunk-GLUWATL5.js";import"./chunk-MZKCW6CB.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import{n as J}from"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-TBODQT4W.js";import"./chunk-5HPZGLOL.js";import"./chunk-ZFJWA4JK.js";import{A as t}from"./chunk-X2J2P5ZT.js";import{a as S}from"./chunk-FTQLQJQV.js";var L=t.enum(["create","save","publish","begin_version"]),ie=t.object({operationId:t.string().trim().min(1).max(240),kind:L,requestHash:t.string().regex(/^[a-f0-9]{64}$/),receipt:q,base:q.nullable()}).strict().superRefine((a,r)=>{let{receipt:e,base:s,kind:n}=a;(s&&(s.teamId!==e.teamId||s.datasetId!==e.datasetId||s.revision+1!==e.revision)||!s&&e.revision!==1)&&r.addIssue({code:"custom",message:"Operation recovery history identity/revision mismatch."}),s&&((s.ownerScope??"workspace")!==(e.ownerScope??"workspace")||s.originProjectId!==e.originProjectId||s.workspace.draft.createdAt!==e.workspace.draft.createdAt)&&r.addIssue({code:"custom",message:"Operation recovery cannot change Dataset ownership or origin."});let i=s?e.workspace.draft.status==="published"?"publish":s.workspace.draft.status==="published"?"begin_version":"save":"create";n!==i&&r.addIssue({code:"custom",message:"Operation recovery kind differs from its retained lifecycle."})});var c=t.string().trim().min(1).max(240),I=t.string().regex(/^[a-f0-9]{64}$/),k=t.iso.datetime(),p=t.number().int().nonnegative(),x=t.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),E=t.object({id:c,projectId:c,maximumMicroUsd:x.positive(),maximumSandboxSeconds:p.max(10800)}).strict(),oe=t.object({schemaVersion:t.literal("openpond.datasetPreparationGrant.v1"),id:c,teamId:c,ownerUserId:c,projectId:c,maximumMicroUsd:x,maximumSandboxSeconds:p,settledMicroUsd:x,heldMicroUsd:x,sandboxSeconds:p,heldSandboxSeconds:p,unresolvedCalls:p,cleanupPending:p,createdAt:k,updatedAt:k}).strict(),z=t.enum(["coding_change","debugging","code_explanation","structured_text","artifact_work"]),ce=t.enum(["inventory","preview","reconstruction","grader_authoring","qualification","release"]),fe=t.enum(["draft","running","pausing","paused","needs_attention","preview_ready","ready","releasing","completed","insufficient_data","budget_exhausted","cancelling","cancelled","failed"]),he=t.object({projectId:c,from:k,to:k,importCutoff:k,connections:t.array(c).min(1).max(50),excludedSessions:t.array(t.object({connectionId:c,sourceKeyHash:I,nativeRevisionHash:I,reason:t.enum(["source_read_failed","native_session_not_ready"]),explanation:t.string().trim().min(1).max(2e3)}).strict()).max(1e4).default([])}).strict().superRefine((a,r)=>{Date.parse(a.from)>=Date.parse(a.to)&&r.addIssue({code:"custom",message:"Source event-time window must be nonempty."}),new Set(a.connections).size!==a.connections.length&&r.addIssue({code:"custom",message:"Source connections must be unique."}),a.excludedSessions.some(e=>!a.connections.includes(e.connectionId))&&r.addIssue({code:"custom",message:"Excluded sessions must belong to selected source connections."}),new Set(a.excludedSessions.map(e=>JSON.stringify([e.connectionId,e.sourceKeyHash]))).size!==a.excludedSessions.length&&r.addIssue({code:"custom",message:"Source session exclusions must be unique."})}),de=t.object({source:he,taskClasses:t.array(z).min(1).max(5),limits:t.object({maximumConversations:t.number().int().min(1).max(1e4),maximumCandidates:t.number().int().min(1).max(1e4),acceptedTarget:t.number().int().min(1).max(1e4),maximumRepairsPerCandidate:t.number().int().min(0).max(5),maximumEvidenceBytesPerConversation:t.number().int().min(1024).max(2e6)}).strict(),researcher:t.object({modelId:c,maximumOutputTokens:t.number().int().min(1).max(32768)}).strict(),adjudicator:t.object({modelId:c,maximumOutputTokens:t.number().int().min(1).max(32768)}).strict(),grading:t.discriminatedUnion("mode",[t.object({mode:t.literal("auto")}).strict(),t.object({mode:t.literal("existing_only")}).strict(),t.object({mode:t.literal("manual"),releases:t.array($).min(1).max(100)}).strict()]),budget:t.object({grantId:c,maximumMicroUsd:x.positive(),previewMaximumMicroUsd:x,qualificationMaximumMicroUsdPerCandidate:x,maximumSandboxSeconds:p.max(10800)}).strict(),finish:t.enum(["stop_ready","create_private_version"]),execution:t.enum(["preview_only","prepare"]),allowPartialVersion:t.boolean(),population:t.literal("development")}).strict().superRefine((a,r)=>{a.limits.acceptedTarget>a.limits.maximumCandidates&&r.addIssue({code:"custom",message:"Accepted target exceeds candidate scan limit."}),a.budget.previewMaximumMicroUsd>a.budget.maximumMicroUsd&&r.addIssue({code:"custom",message:"Preview allowance exceeds the shared preparation ceiling."}),new Set(a.taskClasses).size!==a.taskClasses.length&&r.addIssue({code:"custom",message:"Task classes must be unique."})}),_=t.object({operationId:c,expectedDatasetRevision:t.number().int().positive(),policy:de}).strict(),C=t.discriminatedUnion("action",[t.object({action:t.enum(["start","pause","resume","cancel","release"]),operationId:c,expectedRevision:t.number().int().positive()}).strict(),t.object({action:t.literal("resolve"),operationId:c,expectedRevision:t.number().int().positive(),candidateId:c,decision:t.enum(["retry","exclude"]),reason:t.string().trim().min(1).max(5e3)}).strict()]),ge=t.object({conversations:p,importedTurns:p,selectedTurns:p,queuedSnapshots:p.nullable(),failedSessions:p.nullable(),skippedSessions:p.nullable(),lastAdmissionAt:k.nullable(),complete:t.boolean(),sourceComplete:t.boolean().default(!1),excludedSessions:p.default(0),reasons:t.array(t.object({code:c,message:t.string().trim().min(1).max(2e3)}).strict()).max(100),sourceInventoryHash:I}).strict(),we=t.object({maximumMicroUsd:x,settledMicroUsd:x,heldMicroUsd:x,unresolvedCalls:p,sandboxSeconds:p,cleanupPending:p,complete:t.boolean()}).strict(),be=t.object({sampleConversations:p,sampleTurns:p,candidateCount:p,modelId:c,modelConfigurationHash:I,callReceiptIds:t.array(c).max(2e3),inputTokens:p.nullable(),outputTokens:p.nullable(),classes:t.array(t.object({taskClass:z,candidates:p,assessment:t.enum(["executable","calibrated_judge","unsupported"]),requirements:t.array(t.string().trim().min(1).max(5e3)).max(20)}).strict()).max(5),exclusions:t.array(t.object({code:c,count:p,reason:t.string().trim().min(1).max(5e3)}).strict()).max(100),estimates:t.array(t.object({stage:ce,minimumMicroUsd:x,maximumMicroUsd:x,assumptions:t.array(t.string().trim().min(1).max(2e3)).min(1).max(20)}).strict().refine(a=>a.minimumMicroUsd<=a.maximumMicroUsd,"Estimate range is reversed.")).max(6),createdAt:k}).strict(),A=t.object({schemaVersion:t.literal("openpond.datasetPreparationRun.v1"),id:c,operationId:c,teamId:c,ownerUserId:c,datasetId:c,datasetRevision:t.number().int().positive(),revision:t.number().int().positive(),requestHash:I,policy:de,status:fe,stage:ce,coverage:ge.nullable(),preview:be.nullable(),counts:t.object({scannedConversations:p,scannedTurns:p,candidates:p,reconstructed:p,qualifying:p,qualified:p,excluded:p,needsAttention:p}).strict(),accounting:we,publication:t.object({datasetId:c,workspaceRevision:t.number().int().positive(),release:$}).strict().nullable(),error:t.object({code:c,message:t.string().trim().min(1).max(5e3)}).strict().nullable(),createdAt:k,updatedAt:k}).strict().superRefine((a,r)=>{a.accounting.maximumMicroUsd!==a.policy.budget.maximumMicroUsd&&r.addIssue({code:"custom",message:"Accounting authority differs from the saved preparation policy."}),a.counts.qualified+a.counts.excluded+a.counts.needsAttention>a.counts.candidates&&r.addIssue({code:"custom",message:"Preparation outcomes exceed the candidate population."}),a.status==="preview_ready"&&(a.policy.execution!=="preview_only"||a.stage!=="preview"||!a.preview||!a.coverage?.complete||!a.accounting.complete)&&r.addIssue({code:"custom",message:"Preview readiness requires a preview-only policy, reconciled source coverage and settled preview calls."}),["ready","releasing","completed"].includes(a.status)&&(a.counts.qualified===0||!a.policy.allowPartialVersion&&a.counts.qualified<a.policy.limits.acceptedTarget)&&r.addIssue({code:"custom",message:"Preparation cannot report readiness below its accepted target."}),["ready","releasing","completed"].includes(a.status)&&(a.policy.execution!=="prepare"||!a.preview||!a.coverage?.complete||!a.accounting.complete)&&r.addIssue({code:"custom",message:"Dataset readiness requires full preparation authority, reconciled source coverage, preview and final accounting."}),a.status==="completed"&&(!a.publication||!a.accounting.complete)&&r.addIssue({code:"custom",message:"Completed preparation requires publication and reconciled accounting."}),a.status==="cancelled"&&(!a.accounting.complete||a.accounting.cleanupPending>0)&&r.addIssue({code:"custom",message:"Cancellation requires settled resource obligations."})}),pe=t.object({teamId:c,datasetId:c,runs:t.array(A).max(50),nextCursor:c.nullable()}).strict(),ye=t.object({source:X,startSequence:p,endSequence:p,role:t.enum(["requirement","initial_context","outcome","correction","verification"])}).strict().superRefine((a,r)=>{a.endSequence<a.startSequence&&r.addIssue({code:"custom",message:"Evidence span must be ordered."})}),Ie=t.object({schemaVersion:t.literal("openpond.preparedTaskProvenance.v1"),candidateId:c,preparationId:c,familyKey:c,sourceSpans:t.array(ye).min(1).max(200),firstAvailableAt:k,initialInputHash:I,initialEnvironmentHash:I,initialAssetsHash:I.nullable(),sourceScopeHash:I}).strict().superRefine((a,r)=>{a.sourceSpans.some(s=>s.role==="requirement")||r.addIssue({code:"custom",message:"A reconstructed task needs a source requirement."});let e=new Set;for(let s of a.sourceSpans){a.sourceSpans.some(i=>i!==s&&i.source.id===s.source.id&&i.source.snapshotHash===s.source.snapshotHash&&i.role!==s.role&&s.startSequence<=i.endSequence&&i.startSequence<=s.endSequence)&&r.addIssue({code:"custom",message:"Evidence offsets cannot have conflicting roles."});let n=JSON.stringify([s.source,s.startSequence,s.endSequence]);e.has(n)&&r.addIssue({code:"custom",message:"Evidence span is duplicated or crosses public/private roles."}),e.add(n)}}),ve=t.object({schemaVersion:t.literal("openpond.preparedTaskQualification.v1"),id:c,candidateId:c,preparationId:c,taskHash:I,environmentHash:I,packageHash:I,graderBindings:t.array(t.object({id:c,version:c,contentHash:I,origin:t.enum(["reused","adapted","authored"])}).strict()).min(1).max(100),checks:t.array(t.object({id:c,label:t.enum(["positive","incorrect","incomplete","adversarial","clean_reset"]),executionReceiptId:c,expectedPassed:t.boolean(),observedPassed:t.boolean().nullable(),infrastructureError:c.nullable()}).strict()).min(5).max(500),independentEvidenceRefs:t.array(c).min(1).max(100),judgeCalibration:t.enum(["not_applicable","passed","failed","pending"]),cleanup:t.enum(["completed","pending"]),passed:t.boolean(),createdAt:k}).strict().superRefine((a,r)=>{if(!a.passed)return;let e=new Set(a.checks.map(s=>s.label));["positive","incorrect","incomplete","adversarial","clean_reset"].some(s=>!e.has(s))&&r.addIssue({code:"custom",message:"Qualified tasks require positive, negative, adversarial and clean-reset evidence."}),(a.cleanup!=="completed"||["pending","failed"].includes(a.judgeCalibration)||a.checks.some(s=>s.infrastructureError!==null||s.observedPassed!==s.expectedPassed))&&r.addIssue({code:"custom",message:"Failed, uncalibrated or uncleared checks cannot qualify a task."}),a.checks.some(s=>s.expectedPassed!==["positive","clean_reset"].includes(s.label))&&r.addIssue({code:"custom",message:"Qualification witnesses must pass positives/resets and reject incorrect, incomplete and adversarial outputs."})}),ue=t.object({id:c,runId:c,revision:t.number().int().positive(),taskClass:z,status:t.enum(["discovered","reconstructing","authoring","qualifying","qualified","excluded","needs_attention"]),objective:t.string().trim().min(1).max(2e4),provenance:Ie.nullable(),qualification:ve.nullable(),reason:t.object({code:c,message:t.string().trim().min(1).max(5e3)}).strict().nullable(),attempts:p.max(6)}).strict().superRefine((a,r)=>{a.status==="qualified"&&(!a.provenance||!a.qualification?.passed)&&r.addIssue({code:"custom",message:"Candidate admission requires reconstruction and qualification receipts."}),a.provenance&&(a.provenance.candidateId!==a.id||a.provenance.preparationId!==a.runId)&&r.addIssue({code:"custom",message:"Candidate provenance identity mismatch."}),a.qualification&&(a.qualification.candidateId!==a.id||a.qualification.preparationId!==a.runId)&&r.addIssue({code:"custom",message:"Candidate qualification identity mismatch."})});var v=t.string().trim().min(1).max(240),Se=t.object({teamId:v,datasetId:v,runId:v,candidates:t.array(ue).max(50),nextCursor:v.nullable()}).strict(),T=class extends Error{constructor(e,s,n){super(n);this.status=e;this.code=s;this.name="DatasetPreparationRequestError"}status;code;static{S(this,"DatasetPreparationRequestError")}},U=class{constructor(r){this.options=r;let e=new URL(r.baseUrl);if(!["http:","https:"].includes(e.protocol)||e.username||e.password||e.search||e.hash||!r.apiKey.trim()||!r.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=e.toString().replace(/\/+$/,"")}options;static{S(this,"OpenPondDatasetPreparationClient")}baseUrl;async create(r,e,s){let n=_.parse(e),i=this.readRun(await this.request(r,"","POST",n,s),r);if(i.operationId!==n.operationId||i.requestHash!==J(n)||i.datasetRevision!==n.expectedDatasetRevision)throw new Error("Preparation creation receipt differs from the saved intent.");return i}async createGrant(r,e,s){let n=E.parse(e),i=this.readGrant(await this.request(r,"/grants","POST",n,s));if(i.id!==n.id||i.projectId!==n.projectId||i.maximumMicroUsd!==n.maximumMicroUsd||i.maximumSandboxSeconds!==n.maximumSandboxSeconds)throw new Error("Preparation grant receipt differs from the saved limits.");return i}async getGrant(r,e,s){let n=this.readGrant(await this.request(r,`/grants/${encodeURIComponent(v.parse(e))}`,"GET",void 0,s));if(n.id!==e)throw new Error("Preparation grant identity mismatch.");return n}readGrant(r){let e=oe.parse(r);if(e.teamId!==this.options.teamId)throw new Error("Preparation grant workspace mismatch.");return e}async get(r,e,s){return this.readRun(await this.request(r,`/${encodeURIComponent(v.parse(e))}`,"GET",void 0,s),r,e)}async list(r,e={}){let s=new URLSearchParams(e.cursor?{cursor:v.parse(e.cursor)}:{}),n=pe.parse(await this.request(r,`?${s}`,"GET",void 0,e.signal));if(n.teamId!==this.options.teamId||n.datasetId!==r||n.runs.some(i=>i.teamId!==n.teamId||i.datasetId!==r)||new Set(n.runs.map(i=>i.id)).size!==n.runs.length)throw new Error("Preparation list scope/identity mismatch.");return n}async command(r,e,s,n){let i=C.parse(s),o=this.readRun(await this.request(r,`/${encodeURIComponent(v.parse(e))}/commands`,"POST",i,n),r,e);if(o.revision<i.expectedRevision+1)throw new Error("Preparation command did not advance the expected revision.");return o}async operationResult(r,e,s){let n=await this.request(r,`/operations/${encodeURIComponent(v.parse(e))}`,"GET",void 0,s);if(n===null)return null;let i=t.object({operationId:v,requestHash:t.string().regex(/^[a-f0-9]{64}$/),run:A}).strict().parse(n);if(i.operationId!==e)throw new Error("Preparation operation recovery identity mismatch.");return this.readRun(i.run,r),i}async candidates(r,e,s={}){let n=new URLSearchParams(s.cursor?{cursor:v.parse(s.cursor)}:{}),i=Se.parse(await this.request(r,`/${encodeURIComponent(v.parse(e))}/candidates?${n}`,"GET",void 0,s.signal));if(i.teamId!==this.options.teamId||i.datasetId!==r||i.runId!==e||i.candidates.some(o=>o.runId!==e)||new Set(i.candidates.map(o=>o.id)).size!==i.candidates.length)throw new Error("Preparation candidate page scope/identity mismatch.");return i}readRun(r,e,s){let n=A.parse(r);if(n.teamId!==this.options.teamId||n.datasetId!==e||s&&n.id!==s)throw new Error("Preparation run scope/identity mismatch.");return n}async request(r,e,s,n,i){let o=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/dataset-workspaces/${encodeURIComponent(v.parse(r))}/preparations${e}`,{method:s,signal:i,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},...n===void 0?{}:{body:JSON.stringify(n)}});if(!o.body)throw o.ok?new Error("Preparation response is empty."):new T(o.status,"dataset_preparation_request_failed",`Dataset preparation request failed (${o.status}).`);let d=o.body.getReader(),m=[],w=0;try{for(;;){let y=await d.read();if(y.done)break;if(w+=y.value.byteLength,w>(o.ok?8*1024*1024:64*1024))throw new Error("Preparation response exceeds its bounded page.");m.push(y.value)}}finally{await d.cancel()}let h=new Uint8Array(w),b=0;for(let y of m)h.set(y,b),b+=y.length;let g=new TextDecoder("utf-8",{fatal:!0}).decode(h);if(!o.ok){let y=null;try{y=JSON.parse(g)}catch{}let f=t.object({code:t.string().max(240),message:t.string().max(5e3)}).safeParse(y);throw new T(o.status,f.success?f.data.code:"dataset_preparation_request_failed",f.success?f.data.message:`Dataset preparation request failed (${o.status}).`)}return JSON.parse(g)}};var P=class{constructor(r){this.options=r;let e=new URL(r.baseUrl);if(!["http:","https:"].includes(e.protocol)||e.username||e.password||e.search||e.hash||!r.apiKey.trim()||!r.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=e.toString().replace(/\/+$/,""),this.preparations=new U(r)}options;static{S(this,"OpenPondDatasetWorkspaceClient")}baseUrl;preparations;async list(r={}){let{signal:e,...s}=r,n=Y.parse(s),i=new URLSearchParams(Object.entries(n).filter(([,d])=>d!==void 0).map(([d,m])=>[d,String(m)])),o=re.parse(await this.request(`?${i}`,"GET",void 0,e));if(o.teamId!==this.options.teamId||o.datasets.length>n.limit||new Set(o.datasets.map(d=>d.id)).size!==o.datasets.length)throw new Error("Dataset list workspace/page mismatch.");return o}async get(r,e){return this.readback(await this.request(`/${encodeURIComponent(r)}`,"GET",void 0,e),r)}async operationResult(r,e){let s=L.parse(e.kind),n=new URLSearchParams({kind:s,...e.datasetId?{datasetId:e.datasetId}:{}}),i=await this.request(`/operations/${encodeURIComponent(r)}?${n}`,"GET",void 0,e.signal,132*1024*1024);if(i===null)return null;let o=ie.parse(i);if(this.readback(o.receipt,o.receipt.datasetId),o.base&&this.readback(o.base,o.receipt.datasetId),o.operationId!==r||o.kind!==s||e.datasetId&&o.receipt.datasetId!==e.datasetId||e.requestHash&&o.requestHash!==e.requestHash)throw new Error("Dataset operation recovery identity/request mismatch.");return o}async beginVersion(r,e,s){let n=te.parse(e),i=this.readback(await this.request(`/${encodeURIComponent(r)}/begin-version`,"POST",n,s),r);if(i.revision!==n.expectedRevision+1||i.workspace.draft.status!=="draft"||!i.publication||!i.workspace.draft.publishedTasksetRef)throw new Error("Editable version receipt mismatch.");return i}async versions(r,e={}){let s=new URLSearchParams(e.beforeRevision===void 0?{}:{beforeRevision:String(e.beforeRevision)}),n=ae.parse(await this.request(`/${encodeURIComponent(r)}/versions?${s}`,"GET",void 0,e.signal));if(n.teamId!==this.options.teamId||n.datasetId!==r||n.items.some((i,o)=>o>0&&i.workspaceRevision>=n.items[o-1].workspaceRevision||e.beforeRevision!==void 0&&i.workspaceRevision>=e.beforeRevision))throw new Error("Dataset version history scope/order mismatch.");return n}async version(r,e,s){let n=this.readback(await this.request(`/${encodeURIComponent(r)}/versions/${e}`,"GET",void 0,s),r);if(n.revision!==e||n.workspace.draft.status!=="published")throw new Error("Dataset immutable version mismatch.");return n}async save(r,e){let s=Z.parse(r),n=H(s.workspace);if(n.draft.profileId!==this.options.teamId||n.draft.revision!==s.expectedRevision+1)throw new Error("Dataset write scope or revision mismatch.");let i=this.readback(await this.request(`/${encodeURIComponent(n.draft.id)}`,"PUT",s,e),n.draft.id);if(s.originProjectId&&i.originProjectId!==s.originProjectId)throw new Error("Dataset origin Project mismatch.");if(s.ownerScope&&i.ownerScope!==s.ownerScope)throw new Error("Dataset owner scope mismatch.");if(i.workspace.contentHash!==n.contentHash)throw new Error("Dataset write receipt differs from the saved bytes.");return i}async validate(r,e,s){let n=se.parse(await this.request(`/${encodeURIComponent(r)}/validate`,"POST",{expectedRevision:e},s));if(n.teamId!==this.options.teamId||n.datasetId!==r||n.revision!==e)throw new Error("Dataset validation receipt mismatch.");return n}async publish(r,e,s){let n=ee.parse(e),i=this.readback(await this.request(`/${encodeURIComponent(r)}/publish`,"POST",n,s),r);if(i.revision!==n.expectedRevision+1||i.workspace.draft.status!=="published"||i.publication?.packageHash!==n.packageHash)throw new Error("Dataset publication receipt mismatch.");return i}readback(r,e){let s=q.parse(r);if(H(s.workspace),s.datasetId!==e||s.teamId!==this.options.teamId)throw new Error("Dataset identity mismatch.");return s}async request(r,e,s,n,i){let o=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/dataset-workspaces${r}`,{method:e,signal:n,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},...s===void 0?{}:{body:JSON.stringify(s)}});if(!o.ok)throw new Error(`Dataset request failed (${o.status}).`);if(i!==void 0){if(!o.body)throw new Error("Dataset response is empty.");let d=o.body.getReader(),m=[],w=0;try{for(;;){let g=await d.read();if(g.done)break;if(w+=g.value.byteLength,w>i)throw new Error("Dataset recovery exceeds its bounded response.");m.push(g.value)}}finally{await d.cancel()}let h=new Uint8Array(w),b=0;for(let g of m)h.set(g,b),b+=g.length;return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(h))}return o.json()}};import{readFile as xe,stat as ke}from"node:fs/promises";var W="datasets preparation <grant-create|grant-read|create|read|list|candidates|operation|start|pause|resume|cancel|resolve|release> <dataset-id> [run-or-grant-id] --team <id> --api-base-url <origin> [--input-file <path>] [--operation-id <id>] [--expected-revision <n>] [--cursor <id>]";async function me(a,r,e){let[s,n,i]=e;if(!n||!s||e.length>3)throw new Error(`usage: ${W}`);let o=l(r,"cursor")||void 0,d;if(s==="grant-create"){if(i)throw new Error("Grant creation takes its identity from the input file.");d=await a.createGrant(n,E.parse(await M(r)))}else if(s==="grant-read"){if(!i)throw new Error("Grant read requires the retained grant ID.");d=await a.getGrant(n,i)}else if(s==="create"){if(i)throw new Error("Create derives its run identity from the saved operation ID.");d=await a.create(n,_.parse(await M(r)))}else if(s==="list"){if(i)throw new Error("List accepts a Dataset ID only.");d=await a.list(n,{cursor:o})}else if(s==="operation"){let m=l(r,"operationId");if(i||!m)throw new Error("Operation recovery requires --operation-id and no run ID.");d=await a.operationResult(n,m)}else{if(!i)throw new Error(`${s} requires the retained preparation run ID.`);if(s==="read")d=await a.get(n,i);else if(s==="candidates")d=await a.candidates(n,i,{cursor:o});else{let m=s==="resolve"?C.parse(await M(r)):C.parse({action:s,operationId:l(r,"operationId"),expectedRevision:Number(l(r,"expectedRevision"))});if(m.action!==s)throw new Error("Input-file action differs from the selected preparation command.");d=await a.command(n,i,m)}}console.log(JSON.stringify(d,null,2))}S(me,"runDatasetPreparationCommand");async function M(a){let r=l(a,"inputFile");if(!r||(await ke(r)).size>1048576)throw new Error("Preparation requires a bounded --input-file containing its saved policy or resolution command.");let e=await xe(r);if(e.byteLength>1048576)throw new Error("Preparation input exceeds one MiB.");return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(e))}S(M,"readPreparationInput");import{readFile as Pe,stat as De}from"node:fs/promises";async function le(a,r){let[e,s]=r;if(!e||r.length>2)throw new Error("Usage: datasets <context|select|select-model|select-destination|new-experiment|select-experiment|rename-experiment|schema|list|read|create|save|file|validate|check-graders|check-sources|package|import|inspect-source|import-source|list-graders|read-grader|save-grader|test-grader|upload|publish|sync|pause-sync|disconnect-sync|related-chats> [id] --local [--input-file <path>] [--operation-id <id>] [--expected-revision <n>] [--json]");let n=new URL(l(a,"serverUrl")||process.env.OPENPOND_LOCAL_API_URL||B);if(n.protocol!=="http:"||!["localhost","127.0.0.1","[::1]"].includes(n.hostname)||n.username||n.password||n.search||n.hash||n.pathname!=="/")throw new Error("Local Datasets require an HTTP loopback server origin.");let i=await Q(n.origin,{maximumResponseBytes:Number.POSITIVE_INFINITY,timeoutMs:12e5}),o=l(a,"inputFile"),d={};if(o){let u=await De(o);if(!u.isFile()||u.size>64*1024*1024)throw new Error("Provide a bounded regular input file.");d=JSON.parse(await Pe(o,"utf8"))}let m=l(a,"expectedRevision"),w=["read-grader","save-grader","test-grader"].includes(e),h=w?l(a,"datasetId"):void 0,b=w?l(a,"graderId")||(h?s:void 0):void 0;w&&(d={...d,...b?{graderId:b}:{},...e==="read-grader"?{view:"inspection",...a.limit!==void 0?{limit:Number(a.limit)}:{},...a.offset!==void 0?{offset:Number(a.offset)}:{}}:{}});let g=e==="context"?{action:"context",payload:d}:e==="select-destination"?{action:"set_destination",payload:{executionLocation:s==="hosted"?"cloud":s}}:e==="select-model"?{action:"set_model",payload:{evaluationModel:s}}:e==="new-experiment"?{action:"create_scope",payload:{operationId:l(a,"operationId")}}:e==="select"?{action:"set_focus",payload:{kind:"dataset",id:s??null,...m?{revision:Number(m)}:{}}}:e==="select-experiment"?{action:"select_scope",payload:{scopeId:s}}:e==="rename-experiment"?{action:"rename_scope",payload:{scopeId:s,...d}}:null;if(g&&!process.env.OPENPOND_CHAT_INVOCATION)throw new Error("Chat selection commands require the app's scoped command executor.");let y=await i(new URL("/v1/local-datasets",n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...g??{action:e.replaceAll("-","_"),...h||s?{id:h||s}:{},...a.operationId?{operationId:l(a,"operationId")}:{},...m?{expectedRevision:Number(m)}:{},payload:d},...process.env.OPENPOND_CHAT_INVOCATION?{invocationToken:process.env.OPENPOND_CHAT_INVOCATION}:{}})}),f=await y.json();if(!y.ok)throw new Error(typeof f.error=="string"?f.error:`Local Dataset request failed (${y.status}).`);if(R(a.json)){console.log(JSON.stringify(f,null,2));return}let D=Array.isArray(f)?f:[...f.summary?[f.summary]:[],...Array.isArray(f.summaries)?f.summaries:[]];if(!D.length){console.log(JSON.stringify(f,null,2));return}for(let u of D){if(u.kind==="grader"){console.log(`${u.name} \xB7 version ${u.revision} \xB7 ${u.state} \xB7 ${u.checkState}`),console.log(`${u.id} \xB7 Dataset ${u.datasetId} \xB7 Grader ${u.graderId}`);continue}console.log(`${u.name} \xB7 version ${u.revision} \xB7 ${u.state} \xB7 ${u.syncState}`),console.log(`${u.id} \xB7 ${u.taskCount} tasks \xB7 ${u.graderCount} graders \xB7 ${u.checkState}`),console.log(`Inspect: openpond datasets read ${u.id} --local --expected-revision ${u.revision} --json`),console.log(`Check graders: openpond datasets check-graders ${u.id} --local --expected-revision ${u.revision}`)}}S(le,"runLocalDatasetsCommand");import{readFile as Re}from"node:fs/promises";async function vt(a,r){if(R(a.local))return le(a,r);let[e,s]=r,n=l(a,"team"),i=V(a);if(e==="preparation"){if(!n||!i)throw new Error(`usage: ${W}`);let h=await N(),b=new P({teamId:n,baseUrl:i,fetch:j,apiKey:await G(h,O(h))});return me(b.preparations,a,r.slice(1))}if(!n||!i||!e||r.length>2||!["upload","save","read","list","validate","publish"].includes(e))throw new Error("usage: datasets <upload|save|read|list|validate|publish> [folder|id] --team <id> --api-base-url <origin> [--input-file <path>] [--operation-id <id>] [--expected-revision <n>] [--publish] [--project <id>]");let o=await N(),d=new P({teamId:n,baseUrl:i,fetch:j,apiKey:await G(o,O(o))}),m=l(a,"operationId"),w;if(e==="save"){let h=l(a,"inputFile");if(s||!h)throw new Error("Save requires --input-file containing the complete Dataset workspace write request, including its operationId and expectedRevision.");w=await d.save(JSON.parse(await Re(h,"utf8")))}else if(e==="list"){if(s)throw new Error("List does not accept a dataset id.");w=await d.list({cursor:l(a,"cursor")||void 0})}else{if(!s)throw new Error(`${e} requires a ${e==="upload"?"folder":"dataset id"}.`);if(e==="read")w=await d.get(s);else if(e==="upload"){if(!m||m.length>220)throw new Error("Upload requires a stable --operation-id of at most 220 characters. Reuse it after an uncertain response.");let h=l(a,"expectedRevision"),b=h?Number(h):0;if(!Number.isSafeInteger(b)||b<0)throw new Error("Expected revision must be a nonnegative integer.");let g=await ne({directory:s,teamId:n,expectedRevision:b,datasetId:l(a,"datasetId")||void 0}),y=F({workspace:g.workspace,preparation:null,adapterId:"openpond-hosted-taskset-authoring-v1",now:g.workspace.draft.updatedAt}),f=await d.save({operationId:`${m}:save`,expectedRevision:b,workspace:g.workspace,...l(a,"project")?{originProjectId:l(a,"project")}:{}}),D=await d.get(f.datasetId);if(D.workspace.draft.status==="draft"){let K=await d.validate(f.datasetId,f.revision);if(K.workspaceHash!==g.workspace.contentHash||K.packageHash!==y.contentHash)throw new Error("Hosted validation differs from the captured folder bytes.")}else if(D.publication?.packageHash!==y.contentHash)throw new Error("This dataset was changed after the upload receipt. Read the current version before continuing.");let u=R(a.publish)?await d.publish(f.datasetId,{operationId:`${m}:publish`,expectedRevision:f.revision,workspaceHash:f.workspace.contentHash,packageHash:y.contentHash}):f;w={teamId:n,datasetId:u.datasetId,revision:u.revision,status:u.workspace.draft.status,operationId:m,capturedBytes:g.capturedBytes,sourceHash:g.sourceHash,sourceFiles:g.sourceFiles,workspaceHash:f.workspace.contentHash,packageHash:y.contentHash,publication:u.publication}}else{let h=Number(l(a,"expectedRevision"));if(!Number.isSafeInteger(h)||h<=0)throw new Error(`${e} requires --expected-revision with the retained dataset revision.`);if(e==="validate")w=await d.validate(s,h);else{if(!m)throw new Error("Publish requires a stable --operation-id.");let b=l(a,"workspaceHash"),g=l(a,"packageHash");if(!b||!g)throw new Error("Publish requires --workspace-hash and --package-hash from the retained validation receipt. Keep these pins and the operation id unchanged on retry.");w=await d.publish(s,{operationId:m,expectedRevision:h,workspaceHash:b,packageHash:g})}}}console.log(JSON.stringify(w,null,2))}S(vt,"runDatasetsCommand");export{vt as runDatasetsCommand};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{u as f}from"./chunk-HYUTDZ3N.js";import"./chunk-RFQD6B44.js";import{a as c}from"./chunk-Y4E5AAI7.js";import"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import"./chunk-KHDCMVEJ.js";import"./chunk-PPF6EBTQ.js";import"./chunk-BLNEHU62.js";import"./chunk-BT5YNE5U.js";import"./chunk-RPM4FDRX.js";import"./chunk-DFZTRMTL.js";import"./chunk-KP2MYTP5.js";import"./chunk-PNPV2LDE.js";import"./chunk-4G3GTEVS.js";import"./chunk-KU4TPDPH.js";import"./chunk-55YD4UTW.js";import"./chunk-AFYYIJ6K.js";import"./chunk-J256AEEE.js";import"./chunk-J7X72QUY.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as p,f as u}from"./chunk-3M53YXEI.js";import"./chunk-GLUWATL5.js";import"./chunk-MZKCW6CB.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-TBODQT4W.js";import"./chunk-5HPZGLOL.js";import"./chunk-ZFJWA4JK.js";import"./chunk-X2J2P5ZT.js";import{a as r}from"./chunk-FTQLQJQV.js";import d from"node:path";import{access as v}from"node:fs/promises";import{constants as C}from"node:fs";import{createRequire as P}from"node:module";var l=d.join("scripts","desktop-harness.ts");async function $(n,t){let o=await j({options:n,rest:t}),e=await f(o.command,o.args,{cwd:o.cwd,inherit:!0,timeoutMs:0});if(e.code!==0)throw new m(e.code)}r($,"runDesktopTestCommand");async function j(n){let t=n.options,o=n.rest,e=o[0];if(e!=="run"&&e!=="attach")throw new c(D());let a=o.slice(1);if(a.length===0)throw new c("usage: openpond desktop-test run <scenario...> [options]");let g=p(t,"cwd")||n.cwd||process.cwd(),w=await O(g),k=(n.env??process.env).OPENPOND_NODE_BINARY?.trim()||process.execPath,s=[P(import.meta.url).resolve("tsx/cli"),l,"run",...a],h=x(t,e);return h&&s.push(`--${h}`),i(s,"--app",t,"app"),i(s,"--server",t,"server"),i(s,"--token",t,"token"),i(s,"--token-file",t,"tokenFile"),i(s,"--devtools-port",t,"devtoolsPort"),i(s,"--artifacts-dir",t,"artifactsDir"),H(s,t),i(s,"--grep",t,"grep"),i(s,"--timeout-ms",t,"timeoutMs"),u(t.keepHome)&&s.push("--keep-home"),{command:k,args:s,cwd:w}}r(j,"buildDesktopHarnessInvocation");async function O(n){let t=d.resolve(n);for(;;){let o=d.join(t,l);if(await R(o))return t;let e=d.dirname(t);if(e===t)throw new c(`Could not find ${l}. Run this command from the OpenPond source checkout or pass --cwd <repo>.`);t=e}}r(O,"resolveDesktopHarnessRepoRoot");function x(n,t){let o=t==="attach"?"attach":null;for(let e of["isolated","attach","packaged","none"])if(u(n[e])){if(o&&o!==e)throw new c("Choose only one desktop harness launch mode: --isolated, --attach, --packaged, or --none.");o=e}return o}r(x,"resolveLaunchMode");function i(n,t,o,e){let a=p(o,e);a&&n.push(t,a)}r(i,"appendStringFlag");function H(n,t){let o=p(t,"json"),e=p(t,"jsonPath");if(o&&y(o))throw new c("harness --json requires a report path. Use --json <path> or --json-path <path>.");if(o&&e&&o!==e)throw new c("Use only one JSON report path: --json <path> or --json-path <path>.");let a=o||e;a&&n.push("--json",a)}r(H,"appendJsonFlag");function y(n){return/^(true|false|1|0|yes|no)$/i.test(n)}r(y,"isBooleanLiteral");async function R(n){try{return await v(n,C.R_OK),!0}catch{return!1}}r(R,"fileExists");function D(){return["usage: openpond desktop-test run <scenario...> [options]"," openpond desktop-test attach <scenario...> [options]","","Options include --isolated, --attach, --packaged, --none, --app <path>,","--server <url>, --token <token>, --token-file <path>, --devtools-port <port>, --artifacts-dir <path>,","--json <path>, --json-path <path>, --grep <pattern>, --timeout-ms <ms>,","--keep-home, and --cwd <repo>."].join(`
|
|
3
|
+
`)}r(D,"desktopHarnessCliUsage");var m=class extends Error{static{r(this,"HarnessCommandFailedError")}exitCode;constructor(t){let o=typeof t=="number"&&t>0?t:1;super(`desktop harness failed with exit code ${o}`),this.name="HarnessCommandFailedError",this.exitCode=o}};export{j as buildDesktopHarnessInvocation,O as resolveDesktopHarnessRepoRoot,$ as runDesktopTestCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as p,b as v}from"./chunk-JZKTBYNB.js";import"./chunk-HYUTDZ3N.js";import"./chunk-RFQD6B44.js";import"./chunk-67U7PAMU.js";import"./chunk-Y4E5AAI7.js";import"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import"./chunk-KHDCMVEJ.js";import{s as d,t as s,u as h,v as w}from"./chunk-PPF6EBTQ.js";import"./chunk-BLNEHU62.js";import"./chunk-BT5YNE5U.js";import"./chunk-RPM4FDRX.js";import"./chunk-DFZTRMTL.js";import"./chunk-KP2MYTP5.js";import"./chunk-PNPV2LDE.js";import"./chunk-4G3GTEVS.js";import"./chunk-KU4TPDPH.js";import"./chunk-55YD4UTW.js";import"./chunk-AFYYIJ6K.js";import"./chunk-J256AEEE.js";import"./chunk-J7X72QUY.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as r}from"./chunk-3M53YXEI.js";import"./chunk-GLUWATL5.js";import"./chunk-MZKCW6CB.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-TBODQT4W.js";import"./chunk-5HPZGLOL.js";import"./chunk-ZFJWA4JK.js";import"./chunk-X2J2P5ZT.js";import{a as m}from"./chunk-FTQLQJQV.js";async function b(t,e,n){let[a,o]=n,i=r(e,"actor");if(!i||!a||n.length>2)throw new Error("Select --actor, --team and an evaluation command.");if(e.local!==!0&&e.local!=="true")throw new Error("These evaluation owners currently run through the authenticated native bridge. Select --local --server-url with its loopback origin.");let c={...await v(e),actorId:i,projectId:r(e,"project")||null},l=a==="request"?await p(e):a==="list"?t==="schedule"?{operation:a,...r(e,"cursor")?{cursor:r(e,"cursor")}:{},limit:Number(r(e,"limit")||50)}:{operation:a}:{operation:a,id:o};if((a==="request"||a==="list")&&o)throw new Error("This operation does not accept an additional resource id.");let u=AbortSignal.timeout(6e4),f=t==="schedule"?await new s(c).command(d.parse(l),u):await new w(c).command(h.parse(l),u);console.log(JSON.stringify(f,null,2))}m(b,"runEvaluationCoordinationCommand");export{b as runEvaluationCoordinationCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as s,b as l}from"./chunk-JZKTBYNB.js";import"./chunk-HYUTDZ3N.js";import"./chunk-RFQD6B44.js";import"./chunk-67U7PAMU.js";import"./chunk-Y4E5AAI7.js";import"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import"./chunk-KHDCMVEJ.js";import{q as m,r as c}from"./chunk-PPF6EBTQ.js";import"./chunk-BLNEHU62.js";import"./chunk-BT5YNE5U.js";import"./chunk-RPM4FDRX.js";import"./chunk-DFZTRMTL.js";import"./chunk-KP2MYTP5.js";import"./chunk-PNPV2LDE.js";import"./chunk-4G3GTEVS.js";import"./chunk-KU4TPDPH.js";import"./chunk-55YD4UTW.js";import"./chunk-AFYYIJ6K.js";import"./chunk-J256AEEE.js";import"./chunk-J7X72QUY.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as e}from"./chunk-3M53YXEI.js";import"./chunk-GLUWATL5.js";import"./chunk-MZKCW6CB.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-TBODQT4W.js";import"./chunk-5HPZGLOL.js";import"./chunk-ZFJWA4JK.js";import"./chunk-X2J2P5ZT.js";import{a}from"./chunk-FTQLQJQV.js";async function f(t,i){let[r,o]=i,n=e(t,"actor");if(!n||!r||i.length>2)throw new Error("usage: improve <list|read|instructions|request> [id] --team <id> --actor <owner-id> [--input-file <path>] [--local --server-url <loopback-origin>]");let u=m.parse(r==="request"?await s(t):r==="list"?{operation:r,limit:Number(e(t,"limit")||30),...e(t,"cursor")?{cursor:e(t,"cursor")}:{}}:{operation:r,id:o});if(r==="request"&&o||r==="list"&&o)throw new Error("This operation does not accept a candidate id.");let d=new c({...await l(t),actorId:n});console.log(JSON.stringify(await d.command(u,AbortSignal.timeout(6e4)),null,2))}a(f,"runExperimentImprovementsCommand");export{f as runExperimentImprovementsCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as Z,b as v,d as re}from"./chunk-DDOIPTOM.js";import"./chunk-HYUTDZ3N.js";import{c as Q}from"./chunk-RFQD6B44.js";import{a as A,d as k}from"./chunk-67U7PAMU.js";import{El as V,Fl as B,im as K}from"./chunk-6D3FI2XT.js";import"./chunk-NSSZ2ZIU.js";import"./chunk-4KTGYHCE.js";import"./chunk-Y4E5AAI7.js";import"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import{Bd as ee,cf as te,ff as ae}from"./chunk-VEBW7NKD.js";import"./chunk-W45RKGM6.js";import"./chunk-AUO5DCEU.js";import"./chunk-Y4I6CFZJ.js";import"./chunk-PAYFJHPO.js";import"./chunk-WD4KAKEX.js";import{J as G}from"./chunk-2PXKSAG6.js";import"./chunk-ULTV6INR.js";import"./chunk-WGQ3FMRF.js";import"./chunk-JXLDEYRW.js";import"./chunk-JVMSN7LH.js";import{q as N}from"./chunk-YI6ME6PU.js";import"./chunk-DRLP7GIU.js";import"./chunk-BU6MW65V.js";import"./chunk-LVXL7T5O.js";import"./chunk-HIQPGYVH.js";import"./chunk-DXJC3QW7.js";import"./chunk-P4QM63L3.js";import"./chunk-MTP3B2SU.js";import"./chunk-KHDCMVEJ.js";import{n as X,o as Y}from"./chunk-PPF6EBTQ.js";import"./chunk-BLNEHU62.js";import"./chunk-BT5YNE5U.js";import{d as W}from"./chunk-RPM4FDRX.js";import"./chunk-DFZTRMTL.js";import"./chunk-KP2MYTP5.js";import"./chunk-PNPV2LDE.js";import"./chunk-4G3GTEVS.js";import"./chunk-KU4TPDPH.js";import{m as z,q as J}from"./chunk-55YD4UTW.js";import"./chunk-AFYYIJ6K.js";import"./chunk-J256AEEE.js";import"./chunk-J7X72QUY.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import{Fb as M}from"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import{a as H}from"./chunk-JF7WWLNW.js";import"./chunk-RRWL5BHZ.js";import{c as F,f as $}from"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as n,f as T}from"./chunk-3M53YXEI.js";import{b as U}from"./chunk-GLUWATL5.js";import"./chunk-MZKCW6CB.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import{h as _,n as D}from"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-NXN7GJOH.js";import"./chunk-TBODQT4W.js";import"./chunk-5HPZGLOL.js";import"./chunk-ZFJWA4JK.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as g}from"./chunk-FTQLQJQV.js";import{readFile as O,stat as j}from"node:fs/promises";var y=e.string().trim().min(1).max(500),ne=e.string().regex(/^[a-f0-9]{64}$/),me=e.object({schemaVersion:e.literal("openpond.experimentCaseInspection.v1"),teamId:y,executionId:y,manifestHash:ne,receiptId:y,taskId:y,seed:e.string().min(1),input:e.record(e.string(),e.unknown()).nullable(),output:e.unknown().nullable(),error:e.string().nullable(),events:e.array(e.record(e.string(),e.unknown())).max(25),nextEventCursor:y.nullable(),eventCount:e.number().int().nonnegative()}).strict(),pe=me.extend({contentHash:ne}).strict(),L=class{constructor(s){this.options=s;let a=new URL(s.baseUrl);if(!["http:","https:"].includes(a.protocol)||a.username||a.password||a.search||a.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=a.toString().replace(/\/+$/,"")}options;static{g(this,"OpenPondExperimentInspectionClient")}baseUrl;async case(s,a,t={}){let l=new URLSearchParams(t.afterId?{afterId:y.parse(t.afterId)}:{}),p=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments/${encodeURIComponent(y.parse(s))}/cases/${encodeURIComponent(y.parse(a))}?${l}`,{signal:t.signal,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,Accept:"application/json"}}),w=await p.json();if(!p.ok)throw new Error(e.object({message:e.string()}).parse(w).message);let d=pe.parse(w),{contentHash:o,...i}=d;if(D(i)!==o||d.teamId!==this.options.teamId||d.executionId!==s||d.receiptId!==a||t.manifestHash&&d.manifestHash!==t.manifestHash||d.events.length>d.eventCount)throw new Error("Case inspection differs from its requested workspace, execution or retained content.");return d}};import{readFile as ye,stat as de}from"node:fs/promises";var R=e.string().trim().min(1).max(240),fe=e.object({location:e.literal("local").default("local"),jobId:R,modelRunId:R,modelId:R,modelVersionId:R.nullable(),adapterArtifactLineageId:R.nullable(),owner:e.object({teamId:R,actorId:R}).strict(),taskset:_,state:e.enum(["prepared","running","succeeded","failed","cancelled"]),executionState:e.enum(["queued","starting","running","cancelling","cancelled","succeeded","failed","reconciling"]),updatedAt:e.iso.datetime()}).strict(),he=e.object({location:e.literal("cloud"),jobId:R,owner:e.object({teamId:R,actorId:R}).strict(),apiOrigin:e.url(),job:G,updatedAt:e.iso.datetime()}).strict().refine(r=>r.jobId===r.job.id&&r.owner.teamId===r.job.teamId&&r.updatedAt===r.job.updatedAt,"Hosted training attachment must match its canonical job."),ie=e.union([fe,he]);var u=e.string().trim().min(1).max(240),I=e.string().regex(/^[a-f0-9]{64}$/),ge=e.object({kind:e.enum(["structure","graders"]),revision:e.number().int().positive(),workspaceHash:I,status:e.enum(["passed","failed","unavailable"]),checkedAt:e.iso.datetime(),checked:e.number().int().nonnegative(),total:e.number().int().nonnegative(),issues:e.array(e.object({code:e.string(),message:e.string(),taskId:u.optional(),graderId:u.optional()})).max(1e4),scopes:e.array(e.object({graderId:u,checked:e.number().int().nonnegative(),total:e.number().int().nonnegative(),status:e.enum(["passed","failed","unavailable"])}).strict()).max(1e3).optional()}).strict(),we=e.object({apiOrigin:e.url(),actorId:u,teamId:u,datasetId:u,remoteRevision:e.number().int().nonnegative(),acknowledgedHash:I.nullable(),remoteHash:I.nullable(),pendingLocalHash:I.nullable(),paused:e.boolean(),status:e.enum(["pending","syncing","synced","retry","conflict","paused"]),error:e.string().nullable(),operationId:u.nullable(),pendingWorkspace:N.nullable(),beginVersionOperationId:u.nullable().optional(),publicationIntent:e.object({operationId:u,expectedRevision:e.number().int().positive(),workspaceHash:I,packageHash:I,localHash:I}).strict().nullable().optional()}).strict(),Je=e.object({schemaVersion:e.literal("openpond.localDataset.v1"),ownerId:u,projectId:u.nullable(),workspace:N,checks:e.array(ge).max(2),packageHash:I.nullable(),sync:we.nullable()}).strict(),E=e.object({kind:e.enum(["dataset","grader","experiment"]),id:u,revision:e.number().int().positive(),name:e.string().max(500),state:e.string().max(100),datasetId:u.optional(),datasetRevision:e.number().int().positive().optional(),taskCount:e.number().int().nonnegative().optional(),graderCount:e.number().int().nonnegative().optional(),checkState:e.string().optional(),syncState:e.string().optional(),model:e.string().optional(),evaluationHash:I.optional(),graderId:u.optional(),graderType:e.string().optional(),description:e.string().optional(),location:e.enum(["local","cloud"]).optional(),scoreLabel:e.string().optional(),owner:e.object({teamId:u,actorId:u}).strict().optional(),contentHash:I.optional(),profileRef:Z.optional(),score:e.number().nullable().optional(),costUsd:e.number().nonnegative().nullable().optional(),evaluatedCount:e.number().int().nonnegative().optional(),failedCount:e.number().int().nonnegative().optional(),qualityFailureCount:e.number().int().nonnegative().optional(),executionFailureCount:e.number().int().nonnegative().optional(),ungradedCount:e.number().int().nonnegative().optional(),rows:e.array(e.object({id:u,label:e.string(),detail:e.string(),score:e.number().nullable().optional()})).max(10)}).strict(),oe=e.object({id:u,ordinal:e.number().int().positive(),name:e.string().trim().min(1).max(500),draft:te.optional(),storedDraft:ae.optional(),draftRevision:e.number().int().positive().optional(),creationHash:I.optional(),dataset:E.nullable(),evaluationModel:e.string().min(1).max(500).optional(),executionLocation:e.enum(["local","cloud"]).optional(),graders:e.array(E),selectedGraderId:u.nullable(),runs:e.array(E),selectedRunId:u.nullable(),training:e.array(ie).optional(),selectedTrainingKey:e.string().max(4e3).nullable().optional(),selectedTrainingJobId:u.nullable().optional(),results:e.array(ee).max(16).optional(),turnIds:e.array(u),operationId:u,createdAt:e.iso.datetime(),updatedAt:e.iso.datetime()}).strict(),be=oe.extend({ordinal:e.null()}),Ve=e.object({datasetFocus:be.optional(),scopes:e.array(oe),activeScopeId:u.nullable(),selectionVersion:e.number().int().nonnegative(),selectedAt:e.iso.datetime().nullable(),selectionOperations:e.record(e.string(),e.object({hash:I,version:e.number().int().nonnegative(),visualPublicationId:e.string().optional(),resource:E.optional()}).strict()).default({})}).strict();var Be=e.object({action:e.enum(["schema","list","read","create","save","file","validate","check_graders","check_sources","package","import","inspect_source","import_source","upload","sync","pause_sync","disconnect_sync","related_chats","list_graders","read_grader","save_grader","test_grader","publish"]),id:u.optional(),operationId:u.optional(),expectedRevision:e.number().int().nonnegative().optional(),payload:e.record(e.string(),e.unknown()).default({})}).strict(),Ke=e.object({contentHash:I,scope:e.string(),graders:e.unknown(),cases:e.array(e.object({id:u,taskId:u,seed:e.string(),status:e.string(),output:e.string().nullable(),error:e.string().nullable(),score:e.number().nullable()}).strict()).max(1e4)}).strict();function se(r){let s=r&&typeof r=="object"?r:{},a=[s.summary,...Array.isArray(s.summaries)?s.summaries:[]].flatMap(t=>{let l=E.safeParse(t);return l.success?[l.data]:[]});if(a.length){for(let t of a)console.log(`${t.name} \xB7 ${t.state}`),console.log(`${t.id} \xB7 ${t.location??"local"} \xB7 Dataset ${t.datasetId} version ${t.datasetRevision} \xB7 ${t.model}`),console.log(`${t.scoreLabel??"Mean task score"}: ${t.score==null?"Unavailable":(t.score*100).toFixed(1)+"%"} \xB7 Graded: ${t.evaluatedCount??0}/${t.taskCount??0} \xB7 Cost: ${t.costUsd==null?"Unavailable":"$"+t.costUsd.toFixed(4)}`),console.log(`Quality failures: ${t.qualityFailureCount??0} \xB7 Execution failures: ${t.executionFailureCount??0} \xB7 Ungraded: ${t.ungradedCount??t.taskCount??0}`),t.rows.length&&console.table(t.rows.map(l=>({Task:l.label,Outcome:l.detail,Score:l.score==null?"Unavailable":(l.score*100).toFixed(1)+"%"}))),console.log(`Results: openpond experiments result ${t.id} --local`);Array.isArray(s.items)&&console.table(s.items.flatMap(t=>{let l=v.safeParse(t);return l.success?[{ID:l.data.id,Name:l.data.configuration.request.name,Model:l.data.model.modelId,Status:l.data.status}]:[]}));for(let t of Array.isArray(s.errors)?s.errors:[])console.log(`Admission failed: ${t.modelId} \xB7 ${t.message}`);return}if(Array.isArray(s.models)){console.table(s.models);return}if(Array.isArray(s.items)){console.table(s.items.flatMap(t=>{let l=v.safeParse(t);return l.success?[{ID:l.data.id,Name:l.data.configuration.request.name,Model:l.data.model.modelId,Status:l.data.status}]:[]}));return}console.log(JSON.stringify(r,null,2))}g(se,"printLocalExperimentResult");import{readFile as xe,stat as Ie}from"node:fs/promises";var q={"profile-catalog":"/v1/profile/evaluations","prepare-profile":"/v1/profile/evaluations/prepare","run-profile":"/v1/profile/evaluations/run","inspect-profile":"/v1/profile/evaluations/discover"};async function ce(r,s){let a=s[0];if(!a||!Object.hasOwn(q,a))return!1;if(s.length!==1||r.team||r.revision||r.contentHash)throw new Error("Profile experiments accept one action and exact selection in --input-file; ownership is resolved by the running installation.");let t=new URL(n(r,"serverUrl")||process.env.OPENPOND_LOCAL_API_URL||A);if(t.protocol!=="http:"||!["localhost","127.0.0.1"].includes(t.hostname)||t.username||t.password||t.search||t.hash||t.pathname!=="/")throw new Error("Local Profile experiments require an HTTP loopback server origin.");let l=n(r,"inputFile"),p;if(l){let c=await Ie(l);if(!c.isFile()||c.size>1048576)throw new Error("Profile selection input must be a file within one MiB.");let b=JSON.parse(await xe(l,"utf8"));if(!b||typeof b!="object"||Array.isArray(b))throw new Error("Profile selection input must be an object.");p=b}else if(a!=="profile-catalog")throw new Error(`${a} requires --input-file with the exact Profile or run selection.`);let w=a==="profile-catalog"&&p?q["inspect-profile"]:q[a],o=await(await k(t.origin,{maximumResponseBytes:32*1024*1024,timeoutMs:a==="run-profile"||a==="prepare-profile"?12e5:6e4}))(new URL(w,t),{method:p?"POST":"GET",...p?{headers:{"content-type":"application/json"},body:JSON.stringify({...p,...["prepare-profile","run-profile","inspect-profile"].includes(a)&&process.env.OPENPOND_CHAT_INVOCATION?{invocationToken:process.env.OPENPOND_CHAT_INVOCATION}:{}})}:{}}),i=await o.json();if(!o.ok){let c=i&&typeof i=="object"&&"error"in i?i.error:void 0;throw new Error(typeof c=="string"?c:`Local Profile experiment request failed (${o.status}).`)}return console.log(JSON.stringify(i,null,2)),!0}g(ce,"runLocalProfileExperimentCommand");import{readFile as Se,stat as Re}from"node:fs/promises";async function le(r,s,a,t,l){let[p,w]=s;if(!["record-modification","modification","modifications"].includes(p??""))return!1;if(!l)throw new Error("Local observation operations require --team <workspace-id>.");let d=K({baseUrl:a,fetch:t}),o;if(p==="record-modification"&&s.length===1){let i=n(r,"inputFile"),c=i?await Re(i):null;if(!i||!c?.isFile()||c.size>V)throw new Error("Provide --input-file <command.json> containing a recording request of at most 8 MiB.");let b=B.parse(JSON.parse(await Se(i,"utf8")));if(b.teamId!==l)throw new Error("The recording request belongs to another workspace.");o=await d.recordModificationObservation(b)}else if(p==="modification"&&w&&s.length===2)o=await d.modificationRecording(w,{teamId:l});else if(p==="modifications"&&s.length===1){let i=n(r,"project"),c=n(r,"search"),b=n(r,"cursor"),m=n(r,"limit");o=await d.modificationRecordings({teamId:l,...i?{projectId:i}:{},...c?{search:c}:{},...b?{cursor:b}:{},...m?{limit:Number(m)}:{}})}else throw new Error("Use experiments record-modification --input-file <command.json>, modification <id>, or modifications, with --local --team <id>.");return console.log(JSON.stringify(o,null,2)),!0}g(le,"runLocalModificationRecordingCommand");async function ue(r,s){if(await ce(r,s))return;let[a,t,l]=s,p=n(r,"team"),w=n(r,"receiptId");if(a==="case"&&(!t||s.length!==2||!w))throw new Error("Usage: experiments case <run-id> --local --receipt-id <retained-receipt-id> [--after-sequence <n>] [--limit <1..500>] --json. A task id is not a receipt id; find receiptId in experiments result <run-id> --local --json (independent runs: evidence.cases[].receiptId).");if(r.revision!==void 0)throw new Error("A local Experiment is one immutable run; read it by id rather than a saved configuration revision.");if(a!=="read"&&r.contentHash!==void 0)throw new Error("An exact configuration hash requires the local read action.");if(!a||s.length>(a==="compare"?3:2))throw new Error("Local Experiments require an action; use --server-url for an existing local server.");let d=n(r,"serverUrl")||process.env.OPENPOND_LOCAL_API_URL||A,o=new URL(d);if(o.protocol!=="http:"||!["localhost","127.0.0.1"].includes(o.hostname)||o.username||o.password||o.search||o.hash||o.pathname!=="/")throw new Error("Local Experiments require an HTTP loopback server origin.");let i=await k(o.origin,{timeoutMs:["prepare-harness","run"].includes(a)?12e5:6e4});if(await le(r,s,o.origin,i,p))return;async function c(h,x){let f=await i(new URL(p?"/v1/local-experiments":"/v1/chat-experiments",o),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...p?{teamId:p}:{},...process.env.OPENPOND_CHAT_INVOCATION?{invocationToken:process.env.OPENPOND_CHAT_INVOCATION}:{},action:h,payload:x})}),S=await f.json();if(!f.ok)throw new Error(typeof S.error=="string"?S.error:`Local Experiment request failed (${f.status}).`);return S}g(c,"command");async function b(){let h=n(r,"inputFile");if(!h||!(await de(h)).isFile()||(await de(h)).size>67108864)throw new Error("Provide a bounded --input-file with exact local configuration and retained package bytes.");return JSON.parse(await ye(h,"utf8"))}g(b,"input");let m;if(!p){if(a==="models")m=await c("models",{});else if(a==="run"||a==="run-cloud")m=await c(a.replaceAll("-","_"),await b());else if(a==="list"){let h=n(r,"afterId"),x=n(r,"limit");m=await c("list",{...h?{afterId:h}:{},...x?{limit:Number(x)}:{}})}else if(a==="compare"&&t&&l)m=await c("compare",{baselineId:t,candidateId:l});else if(a==="case"&&t&&w){let h=n(r,"afterSequence"),x=n(r,"limit");m=await c("case",{id:t,receiptId:w,...h?{afterSequence:Number(h)}:{},...x?{limit:Number(x)}:{}})}else if(t&&["read","status","cancel","result"].includes(a))m=await c(a,{id:t});else throw new Error("Independent local Experiments support models/run/list/read/status/cancel/result/compare/case. Workspace operations require --team.");T(r.json)?console.log(JSON.stringify(m,null,2)):se(m);return}if(a==="prepare-harness"){if(t)throw new Error("Local Profile preparation accepts --input-file rather than an id.");m=await c("prepareHarness",await b())}else if(a==="run"){if(t)throw new Error("Local Run accepts reviewed configuration through --input-file rather than an id.");let h=await b();m=await c(h.package?"run":"runFromRelease",h)}else if(a==="list"){if(t)throw new Error("Local List does not accept an id.");let h=n(r,"status"),x=n(r,"limit"),f=n(r,"project"),S=n(r,"afterId"),C=n(r,"datasetHash"),P=n(r,"search");m=await c("list",{...h?{status:h}:{},...f?{projectId:f}:{},...C?{datasetHash:C}:{},...P?{search:P}:{},...S?{afterId:S}:{},...x?{limit:Number(x)}:{}})}else{if(!t)throw new Error(`${a} requires a local Experiment or scoring pass id.`);let h=n(r,"afterId"),x=n(r,"limit");if(a==="duplicate"){let f=n(r,"operationId");if(!f)throw new Error("Duplicate requires --operation-id for safe replay.");let S=v.parse(await c("read",{id:t})),C=J.parse({...S.configuration,operationId:f,request:{...S.configuration.request,operationId:f},sourceExperimentId:S.id});m=await c("runFromRelease",{configuration:C,expectedPackageHash:S.packageHash})}else if(a==="passes")m=await c("passes",{executionId:t,...h?{afterId:h}:{},...x?{limit:Number(x)}:{}});else if(a==="case"){let f=n(r,"afterSequence");m=await c("case",{id:t,receiptId:w,...f?{afterSequence:Number(f)}:{},...x?{limit:Number(x)}:{}})}else if(a==="score"){let f=await b();if(f.execution?.id!==t)throw new Error("Local scoring input belongs to a different retained execution.");m=await c("score",f)}else if(a==="compare"){if(!l)throw new Error("Local Compare requires baseline and candidate execution ids.");let f=re.parse(await c("compare",{baselineId:t,candidateId:l}));m={...f,comparison:M(f.baseline,f.candidate)}}else if(a==="read"){let f=n(r,"contentHash");m=await c("read",{id:t,...f?{configurationHash:f}:{}})}else if(["status","cancel","result","pass"].includes(a))m=await c(a,{id:t});else if(a==="cancel-pass")m=await c("cancel",{id:t});else if(a==="pass-result")m=await c("result",{id:t});else throw new Error(`Local Experiment action is unavailable: ${a}`)}console.log(JSON.stringify(m,null,2))}g(ue,"runLocalExperimentsCommand");async function At(r,s){if(s[0]==="signal-plan"||s[0]==="signal-report")return(await import("./experiments-signal-BI6NKETB.js")).runExperimentsSignalCommand(r,s);if(r.local===!0||r.local==="true")return ue(r,s);if(r.revision!==void 0||r.contentHash!==void 0)throw new Error("Experiments retain their immutable configuration on the run; definition revisions are not selectable.");let[a,t]=s,l=n(r,"team");if(!l||!a||s.length>(a==="compare"?3:2))throw new Error("usage: experiments <defaults|create-comparison|comparison-budget|prepare-harness|run|read|list|status|diagnostics|cancel|duplicate|score|passes|pass|cancel-pass|pass-result|result|compare|case> [id] [candidate-id] --team <id> [--input-file <path>] [--operation-id <id>]");let p=await W(),w={teamId:l,fetch:H,apiKey:await Q(p,$(p)),baseUrl:F(r)??p.apiBaseUrl??U},d=new Y(w),o;if(a==="defaults"){if(t)throw new Error("Defaults does not accept an id.");o=await d.defaults()}else if(a==="create-comparison"){let i=n(r,"inputFile");if(!i||t||(await j(i)).size>1048576)throw new Error("Create comparison requires a bounded input file with an id, fresh operationIds and optional maximumSpendUsd.");o=await d.createComparisonBudget(JSON.parse(await O(i,"utf8")))}else if(a==="comparison-budget"){if(!t)throw new Error("Comparison budget requires an id.");o=await d.comparisonBudget(t)}else if(a==="prepare-harness"){let i=n(r,"inputFile");if(!i||t||(await j(i)).size>1048576)throw new Error("Harness preparation requires a bounded --input-file with its released target, model and optional ceiling.");o=await d.prepareHarness(JSON.parse(await O(i,"utf8")))}else if(a==="run"){let i=n(r,"inputFile");if(!i||t)throw new Error("Run requires --input-file with the reviewed configuration and stable operationId.");if((await j(i)).size>1048576)throw new Error("Experiment input exceeds one MiB.");o=await d.run(JSON.parse(await O(i,"utf8")))}else if(a==="list"){if(t)throw new Error("List does not accept an Experiment id.");let i=n(r,"limit");o=await d.list(z.parse({projectId:n(r,"project")||void 0,datasetHash:n(r,"datasetHash")||void 0,search:n(r,"search")||void 0,status:n(r,"status")||void 0,afterId:n(r,"afterId")||void 0,...i?{limit:Number(i)}:{}}))}else{if(!t)throw new Error(`${a} requires an id.`);if(a==="read")o=await d.get(t);else if(a==="status")o=await d.get(t);else if(a==="diagnostics"){let i=await d.get(t),c=n(r,"afterSequence");o=await d.diagnostics(t,{manifestHash:i.manifest.contentHash,...c?{afterSequence:Number(c)}:{},afterCallId:n(r,"afterCallId")||void 0})}else if(a==="cancel")o=await d.cancel(t);else if(a==="duplicate"){let i=n(r,"operationId");if(!i)throw new Error("Duplicate requires a stable --operation-id for the new Experiment.");o=await d.duplicate(t,i)}else if(a==="score"){let i=n(r,"inputFile");if(!i||(await j(i)).size>1048576)throw new Error("Score requires --input-file containing an exact execution reference, grader releases and explicit ceiling, within one MiB.");let c=X.parse(JSON.parse(await O(i,"utf8")));if(c.execution.id!==t)throw new Error("Scoring input belongs to a different execution.");o=await d.score(c)}else if(a==="passes")o=await d.scoringPasses(t,{afterId:n(r,"afterId")||void 0});else if(a==="pass")o=await d.scoringPass(t);else if(a==="cancel-pass")o=await d.cancelScoringPass(t);else if(a==="pass-result")o=await d.scoringResult(t);else if(a==="result")o=await d.result(t);else if(a==="case"){let i=n(r,"receiptId");if(!i)throw new Error("Case inspection requires --receipt-id from the retained Experiment.");let c=await d.get(t);o=await new L(w).case(t,i,{manifestHash:c.manifest.contentHash,afterId:n(r,"afterId")||void 0})}else if(a==="compare"){if(!s[2])throw new Error("Compare requires a baseline and candidate execution id.");o=await d.compare(t,s[2])}else throw new Error(`Unknown Experiment action: ${a}`)}console.log(JSON.stringify(o,null,2))}g(At,"runExperimentsCommand");export{At as runExperimentsCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as N,c as A}from"./chunk-DDOIPTOM.js";import"./chunk-HYUTDZ3N.js";import"./chunk-RFQD6B44.js";import"./chunk-VJR2GNRY.js";import"./chunk-4KTGYHCE.js";import"./chunk-Y4E5AAI7.js";import"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import"./chunk-W45RKGM6.js";import"./chunk-AUO5DCEU.js";import"./chunk-Y4I6CFZJ.js";import"./chunk-WGQ3FMRF.js";import"./chunk-JXLDEYRW.js";import"./chunk-JVMSN7LH.js";import"./chunk-YI6ME6PU.js";import"./chunk-DRLP7GIU.js";import"./chunk-BU6MW65V.js";import"./chunk-LVXL7T5O.js";import"./chunk-HIQPGYVH.js";import"./chunk-DXJC3QW7.js";import"./chunk-P4QM63L3.js";import"./chunk-MTP3B2SU.js";import"./chunk-KHDCMVEJ.js";import"./chunk-PPF6EBTQ.js";import"./chunk-BLNEHU62.js";import"./chunk-BT5YNE5U.js";import"./chunk-RPM4FDRX.js";import"./chunk-DFZTRMTL.js";import"./chunk-KP2MYTP5.js";import"./chunk-PNPV2LDE.js";import"./chunk-4G3GTEVS.js";import{O}from"./chunk-KU4TPDPH.js";import{p as F}from"./chunk-55YD4UTW.js";import"./chunk-AFYYIJ6K.js";import"./chunk-J256AEEE.js";import"./chunk-J7X72QUY.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import{Ja as z,da as M}from"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as C}from"./chunk-3M53YXEI.js";import"./chunk-GLUWATL5.js";import"./chunk-MZKCW6CB.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import{n as i,o as _}from"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-TBODQT4W.js";import"./chunk-5HPZGLOL.js";import"./chunk-ZFJWA4JK.js";import{A as c}from"./chunk-X2J2P5ZT.js";import{a as x}from"./chunk-FTQLQJQV.js";import{readFile as $,stat as G}from"node:fs/promises";import{dirname as L,resolve as b}from"node:path";var H=c.string().regex(/^[a-f0-9]{64}$/),P=c.object({groupSize:c.number().int().min(2).max(100),minimumFamilies:c.number().int().min(2).max(1e3),minimumInformativeFamilies:c.number().int().min(2).max(1e3),minimumSpread:c.number().positive().max(1),minimumScoredFraction:c.number().positive().max(1)}).strict().refine(s=>s.minimumInformativeFamilies<=s.minimumFamilies,"Informative family requirement cannot exceed the minimum family population."),D=c.object({schemaVersion:c.literal("openpond.experimentSignalPlan.v1"),createdAt:c.iso.datetime(),preparation:F,packageHash:H,graders:c.array(M).min(1).max(100),tasks:c.array(c.object({id:c.string(),family:c.string(),taskHash:H,inputHash:H,contextHash:H}).strict()).min(1).max(1e4),thresholds:P}).strict(),j=D.extend({contentHash:H}).strict();function R(s){let n=j.parse(s),{contentHash:a,...p}=n;if(i(p)!==a)throw new Error("Signal plan content changed.");let{request:t,manifest:r,graders:m}=n.preparation;_(r,"Signal preparation manifest");let o=t.policy;if(o.kind!=="hosted_harness"||r.execution.kind!=="harness"||r.policy.kind!=="model"||r.runtimeTarget.placement!=="local"||r.gradingRole!=="evaluation"||i(r.profileEvaluation??null)!==i(o.source)||i(r.execution.harnessRelease)!==i(o.source.harnessRelease)||r.packageHash!==o.packageHash||r.policy.configurationHash!==o.modelConfigurationHash||r.policy.model.provider!=="openpond"||r.policy.model.model!==o.modelId||r.policy.model.revision!==null||r.policy.model.artifactHash!==(o.candidate?.contentHash??null)||r.policy.model.tokenizerRevision!==null||r.policy.model.chatTemplateHash!==null||r.tasksetRelease.id!==t.taskset.id||r.tasksetRelease.contentHash!==t.taskset.contentHash||i(r.population)!==i(t.population)||r.limits.maximumSpendUsd!==n.preparation.maximumCostUsd||r.metadata.profileRepositoryId!==void 0&&r.metadata.profileRepositoryId!==o.profileRepositoryId)throw new Error("Signal preparation differs from its native local source, package, model, budget or population.");for(let d of r.population){let g=o.source.externalDatasetBinding?[r.id,d.taskId,d.seed,d.fixtureId]:[r.id,d.taskId,d.seed];if(d.receiptId!==`evaluation-${i(g).slice(0,32)}`)throw new Error("Signal preparation receipt identity changed.")}if(t.policy.kind!=="hosted_harness"||t.policy.localRuntime||t.policy.packageHash!==n.packageHash)throw new Error("Signal plan requires the exact hosted-chat Harness package.");if(new Set(n.tasks.map(d=>d.id)).size!==n.tasks.length||new Set(m.map(d=>d.id)).size!==m.length||n.graders.length!==m.length)throw new Error("Signal plan contains duplicate or missing tasks/graders.");for(let[d,g]of n.graders.entries()){let f=m[d];if(f.id!==g.id||f.version!==g.version||f.contentHash!==i(g)||g.hardGate||!g.rewardEligible||g.weight<=0||g.taskIds||f.mappings?.length)throw new Error("Signal requires exact positive-weight reward graders, no hard gates, field mappings or task-specific grader subsets.")}let S=new Map;for(let d of t.population)S.set(d.taskId,(S.get(d.taskId)??0)+1);if(S.size!==n.tasks.length||n.tasks.some(d=>S.get(d.id)!==n.thresholds.groupSize))throw new Error("Every planned prompt must have exactly groupSize distinct seeded attempts.");if(new Set(n.tasks.map(d=>d.family)).size<n.thresholds.minimumFamilies)throw new Error("Signal population has too few independent source families.");return n}x(R,"verifySignalPlan");function T(s){let n=O(s.package),a=F.parse(s.preparation),p=new Set(a.request.population.map(o=>o.taskId)),t=n.taskset.tasks.filter(o=>p.has(o.id));if(t.length!==p.size||t.some(o=>o.split!=="train"))throw new Error("Signal probes require existing training tasks; validation/test/frozen holdouts cannot be reused.");if(a.request.taskset.id!==n.taskset.id||a.request.taskset.contentHash!==n.taskset.contentHash)throw new Error("Prepared taskset differs from the supplied package.");let r=a.graders.map(o=>{let S=n.taskset.graders.find(d=>d.id===o.id&&i(d)===o.contentHash);if(!S)throw new Error(`Selected grader is absent from the exact package: ${o.id}`);return S}),m=D.parse({schemaVersion:"openpond.experimentSignalPlan.v1",createdAt:s.createdAt??new Date().toISOString(),preparation:a,packageHash:n.contentHash,graders:r,tasks:t.map(o=>({id:o.id,family:o.clusterKey,taskHash:i(o),inputHash:i(o.input),contextHash:i(o.policyVisibleContext)})),thresholds:s.thresholds});return R({...m,contentHash:i(m)})}x(T,"createSignalPlan");function U(s){if(!s.length)return{count:0,min:null,max:null,mean:null,standardDeviation:null,spread:null};let n=s.reduce((a,p)=>a+p,0)/s.length;return{count:s.length,min:Math.min(...s),max:Math.max(...s),mean:n,standardDeviation:Math.sqrt(s.reduce((a,p)=>a+(p-n)**2,0)/s.length),spread:Math.max(...s)-Math.min(...s)}}x(U,"scoreDistribution");function V(s,n){let a=R(s),p=A.parse(n),t=N.parse(p.execution);if(i({execution:p.execution,cases:p.cases})!==p.contentHash)throw new Error("Signal result content changed.");if(t.packageHash!==a.packageHash||i(t.configuration.request)!==i(a.preparation.request)||i(t.graders)!==i(a.preparation.graders)||t.maximumCostUsd!==a.preparation.maximumCostUsd)throw new Error("Signal result differs from the frozen request, package, graders or budget.");if(Date.parse(t.createdAt)<Date.parse(a.createdAt))throw new Error("Signal plan must precede the execution.");let r=a.preparation.request.policy;if(r.kind!=="hosted_harness"||t.model.providerId!=="openpond"||t.model.modelId!==r.modelId||t.model.maxOutputTokens!==(r.maxOutputTokens??4096)||t.model.temperature!==(r.temperature??0)||t.model.topP!==(r.topP??1))throw new Error("Signal execution model or sampling differs from the frozen policy.");for(let e of["pending","running","completed","failed","cancelled","unknown"])if(t.counts[e]!==p.cases.filter(w=>w.status===e).length)throw new Error("Signal execution counts differ from its cases.");let m=new Map(a.preparation.request.population.map(e=>[e.receiptId,e]));if(p.cases.length!==m.size||new Set(p.cases.map(e=>e.receiptId)).size!==m.size)throw new Error("Signal result omits or duplicates planned attempts.");let o=new Map(a.tasks.map(e=>[e.id,e])),S=i(a.preparation.graders);for(let e of p.cases){let w=m.get(e.receiptId),k=o.get(e.taskId);if(!w||!k||w.taskId!==e.taskId||w.seed!==e.seed||i(e.input)!==k.inputHash||i(e.policyVisibleContext)!==k.contextHash)throw new Error("Signal case differs from its frozen prompt, context or seed.");if(e.status==="completed"&&(!e.profileNative||e.output===null||e.profileNative.modelConfigurationHash!==t.model.configurationHash||i(e.profileNative.source)!==i(r.source)||e.profileNative.outputHash!==i(e.output)))throw new Error("Signal case lacks matching native source, model or output evidence.");if(!e.grade)continue;if(e.grade.selectionHash!==S)throw new Error("Signal grade uses different selected graders.");if(e.grade.grades.some(u=>u.taskHash!==k.taskHash)||new Set(e.grade.grades.map(u=>u.evidenceHash)).size!==1)throw new Error("Signal criterion belongs to another prompt or inconsistent attempt evidence.");let y=e.grade.grades.flatMap(u=>u.components),E=z({graders:a.graders,components:y});for(let u of["score","passed","rewardEligible","gradingStatus","failureClass"])if(e.grade[u]!==E[u])throw new Error("Signal score differs from retained components and frozen weights.");for(let u of e.grade.grades){let l=a.graders.find(h=>h.id===u.components[0]?.graderId);if(u.graderSetHash!==i([l]))throw new Error("Signal criterion specification changed.");let I=z({graders:[l],components:u.components});for(let h of["score","passed","rewardEligible","gradingStatus","failureClass"])if(u[h]!==I[h])throw new Error("Signal criterion summary differs from its evidence.")}}let d=a.tasks.map(e=>{let w=p.cases.filter(l=>l.taskId===e.id),k=w.filter(l=>l.status==="completed"&&l.grade?.gradingStatus==="scored"&&l.grade.rewardEligible&&l.grade.score!==null),y=U(k.map(l=>l.grade.score)),E=k.length/w.length,u=a.graders.map(l=>({id:l.id,weight:l.weight,distribution:U(k.flatMap(I=>I.grade.grades.flatMap(h=>h.components).filter(h=>h.graderId===l.id&&h.rewardEligible&&h.score!==null).map(h=>h.score)))}));return{taskId:e.id,family:e.family,attempts:w.length,eligible:k.length,scoredFraction:E,combined:y,components:u,constant:y.spread!==null&&y.spread<=Number.EPSILON,uniqueOutputs:new Set(w.filter(l=>l.output!==null).map(l=>i(l.output))).size,informative:E>=a.thresholds.minimumScoredFraction&&(y.spread??0)>=a.thresholds.minimumSpread,outcomes:w.map(l=>({receiptId:l.receiptId,seed:l.seed,status:l.status,gradingStatus:l.grade?.gradingStatus??null,failureClass:l.grade?.failureClass??null,rewardEligible:l.grade?.rewardEligible??!1,score:l.grade?.score??null}))}}),g=[...new Set(d.filter(e=>e.informative).map(e=>e.family))],f=[];(t.status!=="completed"||!t.cleanupComplete)&&f.push("execution_or_local_cleanup_incomplete"),(t.usage.uncertainRequests||t.usage.costUsd===null||t.usage.heldUsd)&&f.push("cost_or_reservations_unsettled"),d.some(e=>e.scoredFraction<a.thresholds.minimumScoredFraction)&&f.push("insufficient_scored_coverage"),g.length<a.thresholds.minimumInformativeFamilies&&f.push("insufficient_within_prompt_signal");let q={schemaVersion:"openpond.experimentSignalReport.v1",planHash:a.contentHash,resultHash:p.contentHash,executionId:t.id,model:t.model,thresholds:a.thresholds,groups:d,informativeFamilies:g,usage:t.usage,cleanupComplete:t.cleanupComplete,blockers:f,signalObserved:f.length===0,trainingAuthorized:!1,runtimeParityVerified:!1,limitations:["Offline hashes bind supplied evidence; they do not authenticate it or prove source-family independence. Full grade evidence hashes require the retained trace/artifacts to independently reconstruct.","Local signal does not prove learner identity, GPU runtime/tokenizer parity, no-update behavior or provider deletion.","Review rates, private gold, fixture calibration, family exposure and the unchanged-parent noise control before training."]};return{...q,contentHash:i(q)}}x(V,"createSignalReport");async function v(s,n=64*1024*1024){if((await G(s)).size>n)throw new Error(`Signal input exceeds ${n} bytes: ${s}`);return JSON.parse(await $(s,"utf8"))}x(v,"readJson");async function pe(s,n){let a=C(s,"inputFile");if(!a||n.length!==1)throw new Error("usage: experiments <signal-plan|signal-report> --input-file <path>");let p=await v(a,1048576),t=L(b(a)),r;if(n[0]==="signal-plan"){let m=c.object({packageFile:c.string().min(1),preparationFile:c.string().min(1),thresholds:P}).strict().parse(p);r=T({package:await v(b(t,m.packageFile)),preparation:await v(b(t,m.preparationFile)),thresholds:m.thresholds})}else{let m=c.object({planFile:c.string().min(1),resultFile:c.string().min(1)}).strict().parse(p);r=V(await v(b(t,m.planFile)),await v(b(t,m.resultFile)))}console.log(JSON.stringify(r,null,2))}x(pe,"runExperimentsSignalCommand");export{pe as runExperimentsSignalCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as r,c as i,h as p}from"./chunk-
|
|
2
|
+
import{a as r,c as i,h as p}from"./chunk-CUB6PWAJ.js";import"./chunk-XRKFTPHD.js";import"./chunk-3M53YXEI.js";import{a as t}from"./chunk-FTQLQJQV.js";function d(){console.log(m())}t(d,"printHelp");function m(){let n=["OpenPond CLI","","Usage:"," openpond [--no-open] [--hostname HOST] [--port PORT]"," openpond <command> [options] [-- passthrough...]"," openpond --version","","Commands:"];for(let o of i()){let s=o.aliases?.length?` (aliases: ${o.aliases.join(", ")})`:"";n.push(` ${o.usage}${s}`);for(let e of o.usages??[])n.push(` ${e}`)}n.push("","Global options:");for(let[o,s]of Object.entries(r).sort(([e],[a])=>e.localeCompare(a))){let e=o.replace(/[A-Z]/g,a=>`-${a.toLowerCase()}`);n.push(s==="boolean"?` --${e}`:` --${e} <${s}>`)}return n.push("","Run `openpond <command> --help` for the selected command schema.","Arguments after `--` are passed through without option parsing."),n.join(`
|
|
3
3
|
`)}t(m,"formatCliHelp");function l(){return["# OpenPond CLI command reference","","<!-- Generated by `pnpm --dir apps/cli docs:commands`; do not edit by hand. -->","","Parsing, aliases, command help, and this reference use the same authoritative registry.","",...i().map(o=>`## ${o.name}
|
|
4
4
|
|
|
5
5
|
\`\`\`text
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b as lt,c as se,e as St}from"./chunk-FNGZ4UDZ.js";import{c as mt,d as pt,e as ft}from"./chunk-VWWKWYSQ.js";import{b as ct,p as dt,q as yt,r as Rt}from"./chunk-OUJ63LMU.js";import{a as ht,b as gt}from"./chunk-EFP75UEX.js";import{b as wt,c as vt}from"./chunk-PACLKDTN.js";import{b as ut}from"./chunk-ZIQJDTQB.js";import"./chunk-S7A2OGL2.js";import{b as nt}from"./chunk-3Z4VM2LF.js";import"./chunk-EICS777E.js";import{a as Pt}from"./chunk-MIFVX5PK.js";import"./chunk-WLQEONBF.js";import"./chunk-3A2Y7UK3.js";import{a as te}from"./chunk-KDER7R45.js";import{a as ot,b as at}from"./chunk-M4A7G4S5.js";import"./chunk-Q3WXB465.js";import"./chunk-JQOVC35K.js";import"./chunk-FEAKTSRS.js";import{b as it}from"./chunk-Q73RKX7I.js";import"./chunk-TPOAAJKA.js";import{a as re,b as O,c as W}from"./chunk-ZYLLPRPU.js";import"./chunk-RCQYEHHD.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-SDHG6CKU.js";import"./chunk-XHACK2KR.js";import"./chunk-W45RKGM6.js";import"./chunk-WCNPGKST.js";import"./chunk-AFH462DO.js";import"./chunk-UANH7U3Y.js";import"./chunk-AQUZCWM3.js";import"./chunk-CIZI6Z7D.js";import{d as Fe,e as We,j as Ge,k as Qe,na as Ye,oa as et,pa as tt,v as Je,w as ee,y as Ze}from"./chunk-LSKMALD6.js";import{g as Xe}from"./chunk-B66QCXH2.js";import{a as Ue}from"./chunk-PYNW5OFA.js";import"./chunk-MOXIGLN2.js";import"./chunk-RHMULF56.js";import"./chunk-VFH5C6D2.js";import"./chunk-UOFDKMRU.js";import"./chunk-AN525SPP.js";import"./chunk-IZ6DLEVY.js";import"./chunk-M5X7XKXY.js";import"./chunk-65FJWWXG.js";import"./chunk-SYUKES6H.js";import"./chunk-EYTTZ5H4.js";import"./chunk-XY7HFXLH.js";import{$ as z,W as rt,Z as h,aa as st}from"./chunk-6I5AUTVO.js";import{g as Ve,m as Le}from"./chunk-DKOVZ6R2.js";import"./chunk-N5EAVX4G.js";import"./chunk-U7X5ZLAL.js";import"./chunk-N73MU2C3.js";import"./chunk-WZ35ICTE.js";import"./chunk-DMFUEUAZ.js";import{a as ge}from"./chunk-AFKFN25T.js";import{a as he}from"./chunk-G4747MOW.js";import"./chunk-GF55VEMR.js";import"./chunk-FAKDGLZQ.js";import"./chunk-KCJVFLBB.js";import{a as $e,b as Ke}from"./chunk-GW766ZSO.js";import"./chunk-VJYOKU3C.js";import"./chunk-SSJV3VX7.js";import"./chunk-7KWD2I6W.js";import{p as Ne}from"./chunk-RY46UPBO.js";import"./chunk-OFJPOTES.js";import"./chunk-PLROXHG2.js";import"./chunk-YU3C6U5V.js";import"./chunk-PHZZBXDO.js";import"./chunk-KVTBX2UP.js";import"./chunk-U7D6Q744.js";import{C as De,D as Me,M as ze,P as X,a as fe,g as qe,ja as je,v as F,w as Be,x as U}from"./chunk-HG2YFMVU.js";import"./chunk-OQPJ7FJF.js";import"./chunk-BL3CZWWD.js";import"./chunk-FYWQWKVS.js";import"./chunk-GD3RCUDH.js";import"./chunk-7OKZCJHS.js";import"./chunk-UTIELP6F.js";import"./chunk-7NCM6GBN.js";import{b as Ie}from"./chunk-4V73I4OL.js";import{a as de,h as xe,n as Ae,p as Ce}from"./chunk-LE75SVEL.js";import"./chunk-6ESBAHWK.js";import"./chunk-LZPCA6DH.js";import"./chunk-L3KS6MOV.js";import"./chunk-7J2NMUTK.js";import"./chunk-VEBW7NKD.js";import"./chunk-W45RKGM6.js";import"./chunk-AUO5DCEU.js";import"./chunk-Y4I6CFZJ.js";import"./chunk-4BUM6JEC.js";import"./chunk-UGFSAG4U.js";import{b as _e}from"./chunk-SSHE6B7Z.js";import"./chunk-EDYCSW22.js";import"./chunk-JT5YQ52I.js";import"./chunk-XGY4OQLC.js";import"./chunk-PAYFJHPO.js";import"./chunk-WD4KAKEX.js";import"./chunk-2PXKSAG6.js";import"./chunk-ULTV6INR.js";import"./chunk-WGQ3FMRF.js";import"./chunk-JXLDEYRW.js";import"./chunk-JVMSN7LH.js";import"./chunk-YI6ME6PU.js";import"./chunk-DRLP7GIU.js";import"./chunk-BU6MW65V.js";import"./chunk-LVXL7T5O.js";import"./chunk-HIQPGYVH.js";import"./chunk-DXJC3QW7.js";import"./chunk-P4QM63L3.js";import"./chunk-MTP3B2SU.js";import"./chunk-UN2LKLGV.js";import"./chunk-2LJCJOJ7.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import{c as ke}from"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import{Hb as Z,Ob as Y,f as pe,m as Oe}from"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import{Ka as me}from"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-4N4EH3RJ.js";import"./chunk-GY7YSD6J.js";import"./chunk-KUE46HTH.js";import"./chunk-JCLTFDVW.js";import"./chunk-6FA3GG5B.js";import"./chunk-SV7ZBEK2.js";import{V as ce,X as Te}from"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import{m as B,n as g,o as M}from"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-ZFJWA4JK.js";import{A as n}from"./chunk-X2J2P5ZT.js";import{a as r}from"./chunk-FTQLQJQV.js";import{randomUUID as Vt}from"node:crypto";import{promises as _}from"node:fs";import I from"node:path";function Ht(l){let e=new Map,t=new Map;async function o(s,d){let m=(t.get(s)??Promise.resolve()).catch(()=>{}).then(d);t.set(s,m);try{return await m}finally{t.get(s)===m&&t.delete(s)}}r(o,"serial");let a=r((s,d=18e4)=>l.request(z.parse({contractVersion:h,requestId:Vt(),operation:"profile-evaluations/sandbox",params:s}),d),"request");async function c(s,d,m,f){let S=B(f),y=`${d}/${m}/${S}`,b=e.get(s.sessionId)??new Set;if(!b.has(y)){if(f.length>1e7)throw new Error("The public case file exceeds its admitted bound.");for(let P=0;P===0||P<f.length;P+=98304)s.signal.throwIfAborted(),await a({sessionId:s.sessionId,turnId:s.turnId,action:"upload",area:d,path:m,sha256:S,sizeBytes:f.length,offset:P,contentsBase64:f.subarray(P,P+98304).toString("base64")},3e5);b.add(y),e.set(s.sessionId,b)}}r(c,"upload");async function u(s,d=""){let m=[];for(let f of await _.readdir(I.join(s,d),{withFileTypes:!0})){let S=I.posix.join(d,f.name);if(f.isSymbolicLink()){let y=await _.realpath(I.join(s,S));if(!y.startsWith(`${await _.realpath(s)}${I.sep}`)||(await _.stat(y)).isDirectory())throw new Error("The public Agent runtime symlink escapes its file closure.");m.push(S);continue}if(f.isDirectory()?m.push(...await u(s,S)):f.isFile()&&m.push(S),m.length>8192)throw new Error("The public Agent runtime exceeds the file limit.")}return m}return r(u,"runtimeFiles"),{execute:r(s=>o(s.sessionId,async()=>{s.signal.throwIfAborted();for(let[f,S]of Object.entries(s.publicHashes)){let y=await _.realpath(I.join(s.sourceRoot,f)),b=await _.realpath(s.sourceRoot);if(!y.startsWith(`${b}${I.sep}`))throw new Error("The public case file escaped its source root.");let P=await _.readFile(y);if(B(P)!==S)throw new Error("The public case file changed before upload.");await c(s,"policy",f,P)}if(s.runtimeRoot)for(let f of await u(s.runtimeRoot))await c(s,"runtime",f,await _.readFile(I.join(s.runtimeRoot,f)));let d=I.relative(s.sourceRoot,s.cwd??s.sourceRoot);if(d.startsWith("..")||I.isAbsolute(d))throw new Error("The command cwd escaped the admitted case.");let m=n.object({code:n.number().int().nullable(),stdout:n.string().max(75e4),stderr:n.string().max(75e4),timedOut:n.boolean(),stdoutTruncated:n.boolean(),stderrTruncated:n.boolean()}).parse(await a({sessionId:s.sessionId,turnId:s.turnId,action:"exec",command:s.command,stdin:s.stdin,cwd:d.split(I.sep).join("/"),timeoutMs:s.timeoutMs},s.timeoutMs+15e3));return s.signal.throwIfAborted(),m}),"execute"),readOutput:r(s=>o(s.sessionId,async()=>{let d=ot(s.path),m=[],f=null,S=null;for(let b=0;f===null||b<f;b+=98304){s.signal.throwIfAborted();let P=n.object({sizeBytes:n.number().int().min(1).max(1e7),sha256:n.string().regex(/^[a-f0-9]{64}$/),contentsBase64:n.string().max(131072)}).parse(await a({sessionId:s.sessionId,turnId:s.turnId,action:"read",path:d,offset:b},6e4));f??=P.sizeBytes,S??=P.sha256;let p=Buffer.from(P.contentsBase64,"base64");if(P.sizeBytes!==f||P.sha256!==S||p.length!==Math.min(98304,f-b)||p.toString("base64")!==P.contentsBase64)throw new Error("The confined output changed during readback.");m.push(p)}let y=Buffer.concat(m);if(B(y)!==S)throw new Error("The confined output differs from its saved byte identity.");return s.signal.throwIfAborted(),{bytes:y,title:d.split("/").at(-1)}}),"readOutput"),settle:r((s,d)=>o(s,async()=>{try{await a({sessionId:s,turnId:d,action:"stop"},6e4)}finally{e.delete(s)}}),"settle")}}r(Ht,"createHostedProfileCommandOwner");import{randomUUID as Lt}from"node:crypto";var j=98304;function Et(l){let e=r((t,o)=>l.request(z.parse({contractVersion:h,requestId:Lt(),operation:t,params:o})),"request");return{persistence:{sourceTurnStartedAt:r(async()=>{throw new Error("The case owner must supply its actual turn start time.")},"sourceTurnStartedAt"),saveSandboxFile:r(async()=>{throw new Error("Isolated Profile outputs must be read by the confined case owner.")},"saveSandboxFile"),save:r(async({sessionId:t,turnId:o,identity:a,bytes:c})=>{let u=n.object({uploadId:n.string().min(1),maxChunkBytes:n.literal(j)}).parse(await e("output/begin",{sessionId:t,turnId:o,output:a}));for(let d=0;d<c.length;d+=j){let m=c.subarray(d,d+j);await e("output/chunk",{uploadId:u.uploadId,index:d/j,offset:d,sha256:B(m),contentsBase64:m.toString("base64")})}let{outputRef:s}=n.object({outputRef:je}).parse(await e("output/complete",{uploadId:u.uploadId}));if(s.location.kind!=="managed"||s.sha256!==a.sha256||s.sizeBytes!==c.length||s.sourceTaskId!==t||s.sourceTurnId!==o||s.id!==a.id||s.revision!==a.revision)throw new Error("The durable case output differs from its saved identity.");return{outputRef:s,artifact:{artifactRef:s.location.fileId,path:s.location.downloadPath,title:s.title,contentType:s.contentType,sizeBytes:s.sizeBytes}}},"save")},read:r(async(t,o)=>{if(t.location.kind!=="managed"||t.sizeBytes>1e7)throw new Error("Select a bounded managed case output.");let a=[];for(let u=0;u<t.sizeBytes;u+=j){o?.throwIfAborted();let s=n.object({offset:n.number().int(),contentsBase64:n.string().max(131072),sha256:n.string(),sizeBytes:n.number().int()}).parse(await e("output/readBytes",{sessionId:t.sourceTaskId,turnId:t.sourceTurnId,fileId:t.location.fileId,revision:t.revision,sha256:t.sha256,sizeBytes:t.sizeBytes,offset:u})),d=Buffer.from(s.contentsBase64,"base64");if(s.offset!==u||s.sha256!==t.sha256||s.sizeBytes!==t.sizeBytes||d.length!==Math.min(j,t.sizeBytes-u)||d.toString("base64")!==s.contentsBase64)throw new Error("The durable workbook byte range changed.");a.push(d)}o?.throwIfAborted();let c=Buffer.concat(a);if(B(c)!==t.sha256)throw new Error("The durable workbook differs from its sealed hash.");return c},"read")}}r(Et,"createHostedProfileArtifactOwner");import{randomUUID as Gt}from"node:crypto";var $t=n.object({createdAt:n.string().datetime(),id:n.string().min(1)}).strict(),Kt=n.object({entries:n.array(n.unknown()).max(100),nextBefore:$t.nullable()}).strict(),oe=class{constructor(e){this.client=e}client;static{r(this,"HostedProfileEvaluationStorage")}execute(e){return this.client.request({contractVersion:h,requestId:Gt(),operation:"profile-evaluations/execute",params:e})}async get(e,t,o){let a=await this.execute({action:"get",kind:e,id:t});if(a===null)return null;let c=o.parse(a);return M(c,`Hosted Profile evaluation ${e}`),c}async put(e,t,o,a,c){let u=o.parse(t);M(u,`Hosted Profile evaluation ${e}`);let s=o.parse(await this.execute({action:"put",kind:e,payload:u,profileKey:a,createdAt:c}));if(s.contentHash!==u.contentHash||g(s)!==g(u))throw new Error("Hosted Profile evaluation write returned different evidence.");return s}async page(e,t,o){let a=[],c=null;do{let u=Kt.parse(await this.execute({action:"page",kind:e,profileKey:g(F.parse(t)),before:c,limit:100}));if(u.nextBefore&&(u.entries.length===0||c&&(u.nextBefore.createdAt>c.createdAt||u.nextBefore.createdAt===c.createdAt&&u.nextBefore.id>=c.id)))throw new Error("Hosted Profile evaluation cursor did not advance.");for(let s of u.entries){let d=o.parse(s);M(d,`Hosted Profile evaluation ${e}`),a.push(d)}if(a.length>1e4)throw new Error("Hosted Profile evaluation history exceeds the bounded catalog limit.");c=u.nextBefore}while(c);return a}getProfileEvaluationGrade(e){return this.get("grade",e,me)}saveProfileEvaluationGrade(e){return this.put("grade",e,me,null,new Date().toISOString())}getProfileEvaluationReceipt(e){return this.get("receipt",e,pe)}saveProfileEvaluationReceipt(e){if(!Oe(e))throw new Error("Hosted Profile evaluation receipt is invalid.");return this.put("receipt",e,pe,null,e.completedAt)}getProfileEvaluationRun(e){return this.get("run",e,te)}saveProfileEvaluationRun(e){return this.put("run",e,te,g(F.parse(e.profileRef)),e.completedAt)}listProfileEvaluationRuns(e){return this.page("run",e,te)}getProfileEvaluationComparison(e){return this.get("comparison",e,Z)}saveProfileEvaluationComparison(e,t){return this.put("comparison",t,Z,g(F.parse(e)),t.createdAt)}listProfileEvaluationComparisons(e){return this.page("comparison",e,Z)}getProfileEvaluationSuiteRun(e){return this.get("suite",e,Y)}saveProfileEvaluationSuiteRun(e,t,o){if(g(t)!==o.catalogHash)throw new Error("Hosted Profile evaluation suite differs from its catalog.");return this.put("suite",o,Y,g(F.parse(e)),o.createdAt)}listProfileEvaluationSuiteRuns(e){return this.page("suite",e,Y)}};async function bt(l){let e=l.release;if(!e.hostExecution)throw new Error("Hosted evaluation requires explicit host execution attribution.");let t={hostConversationId:e.hostExecution.conversationId,hostTurnId:e.hostExecution.turnId},o={source:"openpond_git",profileId:e.profileId,repositoryId:e.repositoryId},a=r(async()=>({ref:o,sourceRevision:e.sourceRevision}),"selectedProfile"),c=r(()=>se(l.client,e),"selectedWorkflows"),u=new oe(l.client),s=r(async p=>{if(g(p)!==g(e.harnessRelease))throw new Error("Evaluation requires the admitted Profile release.");let H=await O(l.client,p);if(!H)throw new Error("Admitted evaluation Profile is unavailable.");return H},"loadRuntime"),d=r(async p=>{if(g(p.ref)!==g(o)||p.sourceRevision!==e.sourceRevision)throw new Error("Evaluation requires the admitted Profile source.");return ut({...p,runtime:await s(p.harnessRelease)})},"loadCatalog"),m=l.externalDataset?await it({value:l.externalDataset,release:(await s(e.harnessRelease)).release,sourceRevision:e.sourceRevision,client:l.client}):null,f=r(async(p,H,x)=>{if(H!==e.profileId)throw new Error("Evaluation Taskset Profile differs from its admitted source.");let E=await ct({definition:p,harnessRelease:x,runtime:await s(x)});if(!E)throw new Error("Evaluation Taskset is absent from the admitted Profile release.");return E},"loadTasksetPackage"),S=mt({resolveExternalDataset:m?.resolveExternalDataset,store:{runtimeEventsForTurn:r(p=>l.core.runtimeEventsForTurn(p),"runtimeEventsForTurn")},storeDir:l.storeDir,readManagedArtifact:l.readManagedArtifact,admitSession:l.admitSession,settleSession:l.settleSession,loadCatalog:d,loadTasksetPackage:f,selectedProfile:a,createSession:r(p=>{let H=ze.parse(p);return l.createSession({...H,metadata:{...H.metadata,...t}})},"createSession"),sendTurn:r((p,H)=>{let x=X.parse(H);return l.sendTurn(p,{...x,metadata:{...x.metadata,...t}})},"sendTurn"),interruptSessionTurn:l.interruptSessionTurn}),y=dt({resolveExternalDataset:m?.resolveExternalDataset,sourceCandidate:m?.sourceCandidate,privateGradingPreflight:r(p=>yt(p,!1),"privateGradingPreflight"),loadCatalog:d,selectedWorkflows:c,loadTasksetPackage:f,placement:"remote",boundedWorkComputeAvailable:!0,modelConfigurationHash:r(async(p,H)=>{if(p.providerId!=="openpond"||!H.hostModelConfigurationHash)throw new Error("Hosted evaluation requires a host-admitted model configuration receipt.");return H.hostModelConfigurationHash},"modelConfigurationHash")}),b=pt({resolveExternalDataset:m?.resolveExternalDataset,store:u,loadCatalog:d,loadTasksetPackage:f,selectedProfile:a,executeCase:S,privateGrading:r((p,H,x)=>Rt({manifest:p,packageValue:H,signal:x,executeSandboxVerifier:nt(l.client),authorize:r(async()=>{let E=p.profileEvaluation;if(!E||E.profileId!==e.profileId||E.sourceRevision!==e.sourceRevision)throw new Error("The hosted private grading source changed.");if(E.externalDatasetBinding){if(!m)throw new Error("The frozen Dataset owner is unavailable.");await m.authorize({bindingHash:E.externalDatasetBinding.contentHash,manifestHash:p.contentHash})}let D=await d({ref:o,sourceRevision:e.sourceRevision,harnessRelease:E.harnessRelease});if(!E.externalDatasetBinding&&D.catalogHash!==E.catalogHash)throw new Error("The hosted private grading catalog changed.")},"authorize")}),"privateGrading")}),P={getProfileEvaluationRun:u.getProfileEvaluationRun.bind(u),getProfileEvaluationReceipt:u.getProfileEvaluationReceipt.bind(u),getProfileEvaluationGrade:u.getProfileEvaluationGrade.bind(u),getSession:l.core.getSession.bind(l.core),getTurn:l.core.getTurn.bind(l.core),runtimeEventsForTurn:l.core.runtimeEventsForTurn.bind(l.core),listModelUsageRecords:l.core.listModelUsageRecords.bind(l.core)};return{prepareProfileEvaluationRun:y,executeProfileEvaluationCase:S,executeProfileEvaluationRun:b,runPreparedProfileEvaluation:r(async p=>b(await y(p,{requireExpectedManifestHash:!0})),"runPreparedProfileEvaluation"),runProfileEvaluationSuite:ft({store:u,loadCatalog:d,selectedWorkflows:c,prepareRun:y,executeRun:b}),compareProfileEvaluationRuns:ht({store:u,selectedProfile:a}),buildProfileEvaluationReport:r(p=>gt({store:u,profileRef:o,request:p}),"buildProfileEvaluationReport"),listProfileEvaluations:r(async p=>{if(p&&typeof p=="object"&&"runId"in p)return vt({store:P,profileRef:o,...wt.parse(p)});let[H,x,E,D]=await Promise.all([d({ref:o,sourceRevision:e.sourceRevision,harnessRelease:e.harnessRelease}),u.listProfileEvaluationRuns(o),u.listProfileEvaluationComparisons(o),u.listProfileEvaluationSuiteRuns(o)]);return{...H,runs:x,comparisons:E,suiteRuns:D}},"listProfileEvaluations")}}r(bt,"createHostedProfileEvaluationRuntime");import{mkdir as lr}from"node:fs/promises";import{randomUUID as Mt}from"node:crypto";import V from"node:path";import{randomUUID as Tt}from"node:crypto";var Qt=n.object({revision:n.number().int().nonnegative(),payload:n.record(n.string(),n.unknown()).nullable()}).strict(),Jt=n.object({entries:n.array(n.unknown()).max(100),nextAfterId:n.string().min(1).nullable()}).strict(),ae=class{constructor(e){this.client=e}client;static{r(this,"HostedHarnessStateStorage")}async getPreference(e,t){return Qt.parse(await this.client.request({contractVersion:h,requestId:Tt(),operation:"harness/state/read",params:{workspaceId:e,kind:t,afterId:null,limit:1}}))}async listCandidates(e){return(await this.readAll(e,"candidates")).map(t=>Ae.parse(t))}async listCrossRunRequests(e){return(await this.readAll(e,"cross_run_requests")).map(t=>Ce.parse(t))}async readAll(e,t){let o=[],a=null;do{let c=Jt.parse(await this.client.request({contractVersion:h,requestId:Tt(),operation:"harness/state/read",params:{workspaceId:e,kind:t,afterId:a,limit:Math.min(100,1001-o.length)}}));if(c.nextAfterId&&(c.entries.length===0||c.nextAfterId===a))throw new Error("Hosted Harness state cursor did not advance.");if(o.push(...c.entries),o.length>1e3)throw new Error("Hosted Harness state exceeds 1,000 entries.");a=c.nextAfterId}while(a);return o}};import{randomUUID as Zt}from"node:crypto";import{cp as Yt,mkdir as Xt,rm as er}from"node:fs/promises";import tr from"node:path";var we=n.object({schemaVersion:n.literal("openpond.harnessMemoryEntry.v1"),id:n.string(),workspaceId:n.string(),key:n.string(),content:n.string(),tags:n.array(n.string()),revision:n.number().int().positive(),status:n.enum(["active","deleted"]),sourceRunId:n.string().nullable(),sourceProposal:n.object({id:n.string(),contentHash:n.string()}).nullable(),createdAt:n.string().datetime(),updatedAt:n.string().datetime(),contentHash:n.string().regex(/^[a-f0-9]{64}$/)}).strict(),rr=n.object({createdAt:n.string().datetime(),id:n.string()}).strict(),xt=n.object({entries:n.array(n.unknown()).max(100),nextBefore:rr.nullable()}).strict(),ve=n.object({workspace:de,receipt:xe}).strict(),ne=class{constructor(e,t){this.client=e;this.storeDir=t;this.usage=new St(e),this.overlay=new re({request:r(async o=>o.operation==="harness/overlay/get"?this.request({action:"overlay_get",...o.params}):o.operation==="harness/overlay/freezeProposal"?this.request({action:"overlay_freeze",...o.params},o.requestId):e.request(o),"request")})}client;storeDir;static{r(this,"HostedHarnessReviewStorage")}harnessStoragePlacement="hosted";reviewSessionId=null;overlay;usage;request(e,t=Zt()){return this.client.request({contractVersion:h,requestId:t,operation:"harness/review/execute",params:e},e.action==="release_put"?6e4:15e3)}sessionId(){if(!this.reviewSessionId)throw new Error("Hosted review memory requires an admitted review session.");return this.reviewSessionId}async prepareReview(e){let t=await this.getSession(e.runRef);if(!t)throw new Error("Hosted review session is unavailable.");this.reviewSessionId=t.id;let o=await this.getHarnessRunOverlay(t.id);if(!o)throw new Error("Hosted review overlay is unavailable.");let a=await this.getHarnessWorkspace(o.workspace.workspaceId);if(!a?.currentChannel.release)throw new Error("Hosted review workspace release is unavailable.");let c=await this.getHarnessReleaseRecord(a.currentChannel.release.contentHash);if(!c||c.sourceRevision!==a.sourceRevision)throw new Error("Hosted review source binding changed.");let u=Ve(this.storeDir,a.id);await Xt(u.root,{recursive:!0,mode:448}),await er(u.source,{recursive:!0,force:!0}),await Yt(tr.join(c.bundlePath,"source"),u.source,{recursive:!0,force:!1,errorOnExist:!0});let s=await Le({workspaceId:a.id,sourceDir:u.source});if(s.sourceRevision!==a.sourceRevision||s.harnessRelease.contentHash!==c.harnessRelease.contentHash)throw new Error("Hosted review source cache differs from its immutable release.")}getHarnessWorkspace=r(async e=>de.nullable().parse(await this.request({action:"workspace_get",workspaceId:e})),"getHarnessWorkspace");getHarnessReleaseRecord=r(async e=>he.nullable().parse(await this.request({action:"release_get",contentHash:e})),"getHarnessReleaseRecord");saveHarnessReleaseRecord=r(async e=>he.parse(await this.request({action:"release_put",record:e},`review-release:${e.harnessRelease.contentHash}`)),"saveHarnessReleaseRecord");getHarnessRunOverlay=r(e=>this.overlay.getHarnessRunOverlay(e),"getHarnessRunOverlay");createHarnessRunOverlay=r(e=>this.overlay.createHarnessRunOverlay(e),"createHarnessRunOverlay");freezeHarnessRunOverlayWithProposalAtomically=r(e=>this.overlay.freezeHarnessRunOverlayWithProposalAtomically(e),"freezeHarnessRunOverlayWithProposalAtomically");getHarnessBackgroundReviewSettings=r(async e=>n.object({enabled:n.boolean(),updatedAt:n.string().datetime().nullable()}).strict().parse(await this.request({action:"background_get",workspaceId:e})),"getHarnessBackgroundReviewSettings");getHarnessMemory=r(async(e,t)=>we.nullable().parse(await this.request({action:"memory_get",workspaceId:e,sessionId:this.sessionId(),key:t})),"getHarnessMemory");listHarnessMemories=r(async(e,t={})=>{let o=n.object({entries:n.array(we).max(20),nextBefore:n.object({updatedAt:n.string().datetime(),key:n.string()}).nullable()}),a=[],c=null;do{let u=o.parse(await this.request({action:"memory_page",workspaceId:e,sessionId:this.sessionId(),before:c,limit:20,includeDeleted:t.includeDeleted??!1}));if(a.push(...u.entries),u.nextBefore&&(!u.entries.length||g(u.nextBefore)===g(c)))throw new Error("Hosted memory cursor did not advance.");c=u.nextBefore}while(c&&a.length<1e3);if(c)throw new Error("Hosted review memory exceeds its bounded window.");return a},"listHarnessMemories");writeHarnessMemory=r(async e=>we.parse(await this.request({action:"memory_write",sessionId:this.sessionId(),input:e},`review-memory:${g(e)}`)),"writeHarnessMemory");saveHarnessImprovementArtifact=r(async(e,t,o)=>{let a={action:"artifact_put",workspaceId:e,kind:t,artifact:o},c=(await import("./dist-O7HXZUBW.js")).HarnessReviewStorageParamsSchema.parse(a);return ge[t].parse(await this.request(c,`review-artifact:${t}:${o.contentHash}`))},"saveHarnessImprovementArtifact");listHarnessImprovementArtifacts=r(async(e,t,o=100)=>{let a=[],c=null,u=Math.min(Math.max(1,Math.trunc(o)),1e3);do{let s=(await import("./dist-O7HXZUBW.js")).HarnessReviewStorageParamsSchema.parse({action:"artifact_page",workspaceId:e,kind:t,before:c,limit:Math.min(100,u-a.length)}),d=xt.parse(await this.request(s));if(a.push(...d.entries),d.nextBefore&&(!d.entries.length||g(d.nextBefore)===g(c)))throw new Error("Hosted artifact cursor did not advance.");c=d.nextBefore}while(c&&a.length<u);return a.map(s=>ge[t].parse(s))},"listHarnessImprovementArtifacts");listPendingHarnessRefinerTriggers=r(async()=>{let e=await import("./hosted-harness-runtime-MMTLCL23.js").then(a=>a.loadHostedHarnessRuntime(this.client));if(!e)return[];let t=[],o=null;do{let a=xt.parse(await this.request({action:"pending_page",workspaceId:e.workspace.id,before:o,limit:100}));if(t.push(...a.entries.map(c=>({workspaceId:e.workspace.id,trigger:Ie.parse(c)}))),a.nextBefore&&(!a.entries.length||g(a.nextBefore)===g(o)))throw new Error("Hosted pending-review cursor did not advance.");o=a.nextBefore}while(o&&t.length<1e3);if(o)throw new Error("Hosted pending reviews exceed the bounded recovery window.");return t},"listPendingHarnessRefinerTriggers");advanceHarnessWorkspaceAtomically=r(async e=>ve.parse(await this.client.request({contractVersion:h,requestId:e.receiptId,operation:"harness/workspace/transition",params:{action:"advance",...e}})),"advanceHarnessWorkspaceAtomically");advanceReviewedHarnessWorkspaceAtomically=r(async e=>ve.parse(await this.client.request({contractVersion:h,requestId:e.receiptId,operation:"harness/workspace/transition",params:{action:"reviewedAdvance",...e}})),"advanceReviewedHarnessWorkspaceAtomically");rollbackHarnessWorkspaceAtomically=r(async e=>ve.parse(await this.client.request({contractVersion:h,requestId:e.receiptId,operation:"harness/workspace/transition",params:{action:"rollback",...e}})),"rollbackHarnessWorkspaceAtomically");getSession=r(async e=>Be.nullable().parse(await this.request({action:"session_get",sessionId:e})),"getSession");getTurn=r(async e=>U.nullable().parse(await this.request({action:"turn_get",turnId:e})),"getTurn");updateTurn=r(async(e,t)=>{let o=await this.getTurn(e);if(!o)return null;let a=U.parse(t(o)),{harnessSnapshot:c,...u}=o,{harnessSnapshot:s,...d}=a;if(!s||g(u)!==g(d))throw new Error("Hosted review may only restore a missing Harness snapshot.");return U.parse(await this.request({action:"snapshot_restore",turnId:e,expectedHash:g(o),snapshot:s}))},"updateTurn");turnsForSession=r(async(e,t=1e3)=>{let o=n.object({entries:n.array(U).max(100),nextBefore:n.number().int().positive().nullable()}),a=[],c=null,u=Math.min(Math.max(1,Math.trunc(t)),1e3);do{let s=o.parse(await this.request({action:"turn_page",sessionId:e,before:c,limit:Math.min(100,u-a.length)}));if(a.push(...s.entries),s.nextBefore&&(!s.entries.length||c!==null&&s.nextBefore>=c))throw new Error("Hosted review turn cursor did not advance.");c=s.nextBefore}while(c&&a.length<u);return a.reverse()},"turnsForSession");runtimeEventsForTurn=r(async(e,t={})=>{let o=n.object({entries:n.array(fe).max(100),nextAfterSequence:n.number().int().positive().nullable()}),a=[],c=0,u=Math.min(t.limit??1e4,1e4);do{let s=o.parse(await this.request({action:"event_page",turnId:e,afterSequence:c,names:[...t.names??[]],limit:Math.min(100,u-a.length)}));if(a.push(...s.entries),!s.nextAfterSequence)return a;if(!s.entries.length||s.nextAfterSequence<=c)throw new Error("Hosted review event cursor did not advance.");c=s.nextAfterSequence}while(a.length<u);return a},"runtimeEventsForTurn");listModelUsageRecords=r(e=>this.usage.listModelUsageRecords(e),"listModelUsageRecords");async appendRuntimeEvent(e){return fe.parse(await this.request({action:"event_append",event:e},`review-event:${e.id}`))}async upsertModelUsageRecord(e){await this.request({action:"usage_put",record:e},`review-usage:${g(e)}`)}};import{randomUUID as sr}from"node:crypto";async function It(l,e){let t=ke.parse(await l.request({contractVersion:h,requestId:sr(),operation:"refiner/execute",params:{action:{action:"active_release",workspaceId:e}}}));return M(t,"Hosted Refiner active release"),t}r(It,"loadHostedRefinerRelease");import{randomUUID as or}from"node:crypto";var ar=n.object({personalizationSoul:n.string().max(8e3).optional(),userInstructions:n.string().max(64e3).optional(),preferences:ce.optional()}).strict(),nr=n.object({revision:n.number().int().positive(),settings:ar}).strict();async function ye(l){let e=await l.request({contractVersion:h,requestId:or(),operation:"settings/get",params:{}}),t=e===null?null:nr.parse(e);return{revision:t?.revision??null,personalizationSoul:t?.settings.personalizationSoul??Te[0].content,userInstructions:t?.settings.userInstructions??"",preferences:t?.settings.preferences??ce.parse({})}}r(ye,"loadHostedRuntimeSettings");import{randomUUID as kt}from"node:crypto";function At(l){async function e(t){let o=await W(l,t);if(!o)throw new Error("No hosted Harness is selected for this run.");return o.workspace.id}return r(e,"workspaceId"),[{name:"memory_search",description:"Search bounded active memory for this selected Harness or Profile. Returns keys, revisions and short excerpts.",parameters:{type:"object",additionalProperties:!1,properties:{query:{type:"string",minLength:1,maxLength:500},limit:{type:"integer",minimum:1,maximum:20}},required:["query"]},execute:r(async t=>{let o=t.args.query;if(typeof o!="string"||!o.trim()||o.length>500)throw new Error("Memory query is invalid.");let a=t.args.limit===void 0?8:t.args.limit;if(typeof a!="number"||!Number.isInteger(a)||a<1||a>20)throw new Error("Memory search limit is invalid.");let c=await l.request({contractVersion:h,requestId:kt(),operation:"harness/memory/search",params:{workspaceId:await e(t.session),query:o,limit:a}});return{toolCallId:t.callId,name:"memory_search",ok:!0,contentText:JSON.stringify(c),data:c}},"execute")},{name:"memory_inspect",description:"Read one exact active memory entry returned by memory_search.",parameters:{type:"object",additionalProperties:!1,properties:{key:{type:"string",minLength:1,maxLength:120}},required:["key"]},execute:r(async t=>{let o=t.args.key;if(typeof o!="string"||!/^[a-z0-9][a-z0-9-]{0,119}$/.test(o))throw new Error("Memory key is invalid.");let a=await l.request({contractVersion:h,requestId:kt(),operation:"harness/memory/get",params:{workspaceId:await e(t.session),key:o}});if(!a||typeof a!="object"||Array.isArray(a)||a.status!=="active")throw new Error(`Harness memory does not exist: ${o}.`);return{toolCallId:t.callId,name:"memory_inspect",ok:!0,contentText:JSON.stringify(a),data:a}},"execute")}]}r(At,"createHostedHarnessMemoryTools");import{randomUUID as Ct}from"node:crypto";function Ot(l){return[{name:"work_list_outputs",description:"List this conversation's published outputs from completed turns without starting sandbox compute. Use this before reading a previously saved file; returns exact file IDs and revisions. New workspace files are published after the current turn ends. Inspect those with workspace tools and finish the turn instead of polling this list.",parameters:{type:"object",additionalProperties:!1,properties:{}},execute:r(async e=>{let t=await l.request({contractVersion:h,requestId:Ct(),operation:"output/list",params:{}});return{toolCallId:e.callId,name:"work_list_outputs",ok:!0,contentText:JSON.stringify(t),data:t}},"execute")},{name:"work_read_output",description:"Read the actual saved text/Markdown or PDF text of a file returned by work_list_outputs, without starting sandbox compute. Prefer this for questions about saved outputs. Use workspace tools for edits, execution and unsaved files. PDF text extraction does not inspect images or page appearance.",parameters:{type:"object",additionalProperties:!1,properties:{fileId:{type:"string",minLength:1,maxLength:191},revision:{type:"integer",minimum:1},offset:{type:"integer",minimum:0,maximum:1e7},maxChars:{type:"integer",minimum:1,maximum:1e5},firstPage:{type:"integer",minimum:1,maximum:1e3},pageCount:{type:"integer",minimum:1,maximum:10}},required:["fileId","revision"]},execute:r(async e=>{let t=await l.request(z.parse({contractVersion:h,requestId:Ct(),operation:"output/read",params:e.args}),6e4);return{toolCallId:e.callId,name:"work_read_output",ok:!0,contentText:JSON.stringify(t),data:t}},"execute")}]}r(Ot,"createHostedWorkOutputTools");import{randomUUID as _t}from"node:crypto";function qt(l,e){return{allowedTools:e,authorizeTool:r(async t=>{let o=await l.request({contractVersion:h,requestId:_t(),operation:"embedding/authorize",params:{sessionId:t.session.id,turnId:t.turnId,name:t.name}});if(!o||typeof o!="object"||Array.isArray(o)||o.allowed!==!0)throw new Error("Hosted tool authorization denied.")},"authorizeTool")}}r(qt,"createHostedEmbeddingAdapter");function Bt(l){return async e=>{let t=rt.parse(e);return l.request({contractVersion:h,requestId:_t(),operation:"sandbox/request",params:{action:t}},e.type==="create"?3e5:e.type==="exec"?18e4:6e4)}}r(Bt,"createHostedSandboxRequest");var ir=["sandbox/request","embedding/authorize","output/begin","output/chunk","output/complete","output/saveSandboxFile","output/list","output/read","settings/get","harness/get","harness/overlay/get","harness/overlay/put","harness/memory/get","harness/memory/list","harness/memory/search","harness/memory/write","harness/state/read","task-inbox/execute","create-improve/execute","approval/get","approval/upsert","usage/getByRequestId","usage/upsert","usage/page","session/count","session/get","session/page","session/put","turn/count","turn/wakeCount","turn/get","turn/put","turn/latest","turn/page","thread/turnPage","event/append","events/page","events/latestAssistantText"];function Dt(l){if(ir.some(e=>!l.operations.includes(e)))throw new Error("Hosted Postgres runtime capabilities are incomplete.");if(l.maxRequestBytes<256e3||l.maxInFlight<32||l.maxPageSize<200)throw new Error("Hosted Postgres runtime transport limits are incompatible.")}r(Dt,"assertHostedWorkCapabilities");var v=r(async()=>{throw new Error("This hosted control is not available until its Postgres repository is activated.")},"unavailable"),ur=De(),cr=Me();async function _o(l){let e=l.runtimeStorage,t=l.hostStorageClient;if(e.kind!=="hosted_postgres"||!t||e.client!==t)throw new Error("Hosted storage selection mismatch.");if(l.embedding||l.sandboxRequest)throw new Error("Hosted Postgres tool and sandbox authority must come from the host transport.");if(!l.streamOpenPondHostedChatTurn)throw new Error("Hosted Postgres runtime requires a host-admitted model stream.");if(l.profileSource||l.harness)throw new Error("Hosted Postgres runtime accepts only host-admitted immutable sources.");if(l.services&&Object.values(l.services).some(i=>i!==!1&&i!==void 0))throw new Error("Hosted service adapters must be admitted by the Postgres composition.");let o=st.parse(await t.request({contractVersion:h,requestId:Mt(),operation:"capabilities",params:{}}));Dt(o);let a=qt(t,o.allowedTools),c=Bt(t),u=V.resolve(l.storeDir??process.cwd()),s=V.resolve(l.workspaceDir??process.cwd());await lr(s,{recursive:!0});let d=We({channel:"app-server",logDir:V.join(u,"logs"),metadata:{version:l.version??_e,runtimeVersion:Ne(),placement:"hosted_work"}}),m=e.core,f=new ne(t,u),S=e.admittedProfileRelease?await lt(t,e.admittedProfileRelease):{profile:cr,profileLibrary:ur},{appendRuntimeEvent:y,closeEventSubscribers:b,subscribeRuntimeEvents:P}=Ze({logger:d,assistantDeltaFlushMs:250,store:{appendRuntimeEvent:r(i=>["harness.refiner.queued","harness.refiner.started","harness.refiner.completed","harness.refiner.failed"].includes(i.name)?f.appendRuntimeEvent(i):m.appendRuntimeEvent(i),"appendRuntimeEvent"),runtimeEventPageRows:r(i=>m.runtimeEventPageRows(i),"runtimeEventPageRows")}}),p=ee({queueId:"turn-follow-up",logger:d}),H=ee({queueId:"subagent",logger:d}),x=Ke(l.streamOpenPondHostedChatTurn,{enabled:$e()}),E=ee({queueId:"harness-refiner",logger:d,concurrency:1}),D=Pt({store:f,storeDir:u,queue:E,streamOpenPondHostedChatTurn:x,appendRuntimeEvent:y,upsertModelUsageRecord:r(i=>f.upsertModelUsageRecord(i),"upsertModelUsageRecord"),prepareReview:r(i=>f.prepareReview(i),"prepareReview"),loadActiveRefinerRelease:r(async()=>{let i=await O(t);if(!i)throw new Error("Hosted review has no admitted Harness workspace.");return It(t,i.workspace.id)},"loadActiveRefinerRelease")}),Re=r(async()=>(await ye(t)).preferences,"preferences"),{createSession:ie,getSession:q,updateSession:L,completeTurn:zt,failTurn:jt,interruptTurn:Nt}=et({store:m,defaultSessionCwd:r(()=>s,"defaultSessionCwd"),appendRuntimeEvent:y,loadAppPreferences:Re,loadLastUsedProfile:r(async()=>S.profileLibrary.lastUsed,"loadLastUsedProfile")}),le=Je({workspaceDir:s,logger:d,getSession:q,updateSession:L,appendRuntimeEvent:y,sandboxRequest:c,sandboxCreationMode:"hosted_worker"}),G=Ge({appendRuntimeEvent:y,findLocalProject:r(async()=>null,"findLocalProject"),onRepositoryInstructionDiagnostic:r((i,w)=>d.warn("repository instruction file skipped",{diagnostic:i,sessionId:w.id}),"onRepositoryInstructionDiagnostic")}),Se=new re(t),$=new ae(t),Pe=Et(t),ue=Ht(t),K=e.admittedProfileRelease?.hostExecution?await O(t,e.admittedProfileRelease.harnessRelease):null;if(e.admittedProfileRelease?.hostExecution&&(!K||!o.operations.includes("output/readBytes")||!o.operations.includes("profile-evaluations/sandbox")||!o.operations.includes("profile-evaluations/grade")))throw new Error("Hosted evaluation requires its admitted release, managed artifact owner and private sandbox grader.");let Ft=Fe({deviceId:"hosted-evaluation",storeDir:u,runtimeEventsForSession:r(i=>m.runtimeEventsForSession(i),"runtimeEventsForSession"),managedPersistence:{...Pe.persistence,sourceTurnStartedAt:r(async(i,w)=>{let R=await m.getTurn(w);if(!R||R.sessionId!==i||!R.startedAt)throw new Error("The managed output has no actual started case turn.");return R.startedAt},"sourceTurnStartedAt")}}),k=K?at({readOutput:ue.readOutput,executeCommand:ue.execute,settleRemote:ue.settle,runtimeNode:"node",runtimeAgentRoot:"/workspace/runtime",storeDir:u,release:K.release,getSession:q,getTurn:r(i=>m.getTurn(i),"getTurn"),saveOutput:Ft.saveOwnedOutputBytes,recordOutput:r(async(i,w,R)=>{await y({id:Mt(),timestamp:new Date().toISOString(),name:"workspace_action_result",source:"server",sessionId:i,turnId:w,action:"work_output_save",status:"completed",data:R})},"recordOutput"),authorize:r(async()=>{let i=await O(t,e.admittedProfileRelease.harnessRelease);if(!i||i.release.harnessRelease.contentHash!==K.release.harnessRelease.contentHash)throw new Error("The hosted isolated evaluation source authority changed.")},"authorize")}):null,Ut=tt(a,async(i,w)=>{let R=await m.getTurn(i);if(!R)throw new Error("Embedded turn is unavailable.");let C=await q(R.sessionId),Q=C.metadata?.embeddingToolBindings,N=[...w].sort((J,Wt)=>J.name.localeCompare(Wt.name));if(Q!==void 0&&g(Q)!==g(N))throw new Error("Embedded tool bindings changed; start a new thread.");await L(C.id,{metadata:{...C.metadata,embeddingToolBindings:N}}),await m.updateTurn(i,J=>({...J,metadata:{...J.metadata,toolBindings:N}}))}),T=Ye({executionHost:"embedded",workInputsForSession:l.workInputsForSession,attachmentRootDir:V.join(u,"attachments"),isolatedProfileEvaluationForTurn:k?async i=>{if(i.metadata?.profileEvaluationRun===void 0)return!1;if(!k.ownsSession(i.id))throw new Error("The hosted evaluation has no actual isolated case owner.");return!0}:void 0,executeProfileEvaluationAction:k?.executeAction,resolveModelTools:r(async i=>{let w=k?.ownsSession(i.session.id)?await k.resolveTools(i):await Ut(i);return l.resolveModelTools?l.resolveModelTools({...i,tools:w}):w},"resolveModelTools"),hostedToolFlags:{toolMode:"native",nativeToolTransport:!0,nativeToolProviderDenylist:[],textToolFallback:!1},store:m,inboxStore:e.inbox,createSession:ie,getSession:q,updateSession:L,completeTurn:zt,failTurn:jt,interruptTurn:Nt,upsertApproval:r(i=>m.upsertApproval(i),"upsertApproval"),defaultSessionCwd:r(()=>s,"defaultSessionCwd"),findOpenPondApp:r(async i=>({id:i||qe(s),name:V.basename(s)||"Workspace",description:null,visibility:"private",sandbox:!0}),"findOpenPondApp"),resolveSessionWorkspaceCwd:r(async i=>i.cwd?.trim()||s,"resolveSessionWorkspaceCwd"),ensureCodexRuntime:r(async()=>{throw new Error("Codex process hosting is unavailable.")},"ensureCodexRuntime"),appendWorkspaceDiffEvent:le.appendWorkspaceDiffEvent,workspaceDiffBaseline:le.workspaceDiffBaseline,appendRuntimeEvent:y,executeWorkspaceTool:le.executeWorkspaceTool,executeOpenPondCommand:r(async()=>{throw new Error("Hosted commands require durable authorization.")},"executeOpenPondCommand"),loadOpenPondProfileState:r(async()=>S.profile,"loadOpenPondProfileState"),loadOpenPondProfileLibrary:r(async()=>S.profileLibrary,"loadOpenPondProfileLibrary"),readOpenPondProfileSkill:v,loadSelectedHarnessRuntime:r(i=>{if(i.currentProfile&&(!e.admittedProfileRelease||i.currentProfile.repositoryId!==e.admittedProfileRelease.repositoryId||i.currentProfile.profileId!==e.admittedProfileRelease.profileId))throw new Error("Hosted Profile session lacks admitted immutable source.");return W(t,i)},"loadSelectedHarnessRuntime"),ensureHarnessRunOverlay:r(i=>Se.ensureHarnessRunOverlay(i),"ensureHarnessRunOverlay"),processHarnessImprovementBoundary:D,harnessModelTools:[...At(t),...Ot(t)],loadBuiltInOpenPondSkills:r(async()=>[],"loadBuiltInOpenPondSkills"),readBuiltInOpenPondSkill:v,loadPersonalizationSoul:r(async()=>(await ye(t)).personalizationSoul,"loadPersonalizationSoul"),loadAppPreferences:Re,maybeCreateScaffoldForTurn:G.maybeCreateScaffoldForTurn,hostedSystemPrompt:G.hostedSystemPrompt,appendAssistantText:G.appendAssistantText,appendHostedContextUsage:G.appendHostedContextUsage,streamOpenPondHostedChatTurn:x,turnFollowUpQueue:p,subagentQueue:H,maxHostedWorkspaceToolRounds:Xe(l.maxHostedWorkspaceToolRounds),maxRepeatedInvalidToolRequests:3});await T.recoverPendingSubagentCompletions(),await T.recoverTaskInbox();let He=!1,Ee=r(async(i,w)=>{if(X.parse(w).attachments?.length&&!k?.ownsSession(i))throw new Error("Hosted attachments require managed-file admission.");let R=await q(i);if(R.currentProfile&&(!e.admittedProfileRelease||R.currentProfile.repositoryId!==e.admittedProfileRelease.repositoryId||R.currentProfile.profileId!==e.admittedProfileRelease.profileId))throw new Error("Hosted Profile session lacks admitted immutable source.");return He||(await D.reconcilePending(),await E.drain(),He=!0),T.sendTurn(i,w)},"sendTurn");if(l.profileExternalDataset&&!e.admittedProfileRelease?.hostExecution)throw new Error("External Dataset requires its admitted hosted evaluation.");let A=e.admittedProfileRelease?.hostExecution?await bt({client:t,core:m,release:e.admittedProfileRelease,storeDir:u,...l.profileExternalDataset?{externalDataset:l.profileExternalDataset}:{},readManagedArtifact:Pe.read,admitSession:k.admitSession,settleSession:k.settleSession,createSession:ie,sendTurn:Ee,interruptSessionTurn:T.interruptSessionTurn}):null,be=!1;return{...Ue({ports:Qe({bindHome:!1,placement:"hosted_work",connectedAppProviders:[],featureOverrides:{profileWorkflows:!!e.admittedProfileRelease,profileEvaluations:!!A,harnessProposalReview:!1,harnessEvaluationReview:!1,harnessEvaluationReviewAcceptance:!1,harnessEvaluationTasksetMaterialization:!1,harnessEvaluationBaseline:!1,harnessBackgroundReview:!1,harnessDiff:!1,harnessRollback:!1,harnessReview:!1,refinerProfiles:!1,immutableRefinerAdmission:!1},createSession:ie,getSession:q,turnsForSession:r(i=>m.turnsForSession(i,1e3),"turnsForSession"),runtimeEventsForSession:r(i=>m.runtimeEventsForSession(i,{excludeReasoningDeltas:!0}),"runtimeEventsForSession"),sendTurn:Ee,steerSessionTurn:T.steerSessionTurn,readTaskInbox:T.readTaskInbox,queueTaskInput:T.queueTaskInput,updateTaskInput:T.updateTaskInput,isSessionTurnActive:T.isSessionTurnActive,waitForSessionTurnSettlement:T.waitForSessionTurnSettlement,interruptSessionTurn:T.interruptSessionTurn,resolveApproval:r(async(i,w)=>{let R=await T.resolveCreateImproveApproval(i,w);if(R)return R;let C=await T.resolveSubagentPatchApplyApproval(i,w);if(C)return C;throw new Error(`Approval not found: ${i}`)},"resolveApproval"),listProfileWorkflows:e.admittedProfileRelease?()=>se(t,e.admittedProfileRelease):v,listProfileEvaluations:A?.listProfileEvaluations??v,loadProfileTrainingSource:v,prepareProfileEvaluationRun:A?.prepareProfileEvaluationRun??v,runPreparedProfileEvaluation:A?.runPreparedProfileEvaluation??v,runProfileEvaluationSuite:A?.runProfileEvaluationSuite??v,executeProfileEvaluationCase:A?.executeProfileEvaluationCase??v,executeProfileEvaluationRun:A?.executeProfileEvaluationRun??v,compareProfileEvaluationRuns:A?.compareProfileEvaluationRuns??v,buildProfileEvaluationReport:A?.buildProfileEvaluationReport??v,inspectHarness:r(async()=>{let i=await O(t);if(!i)return null;let w=i.workspace.id,[R,C,Q,N]=await Promise.all([$.getPreference(w,"workspace_settings"),$.getPreference(w,"evaluation_review_settings"),$.listCandidates(w),$.listCrossRunRequests(w)]);return{workspace:i.workspace,release:i.release,backgroundReview:R,evaluationReview:C,refinementCandidates:Q,crossRunRequests:N}},"inspectHarness"),reviewHarnessProposal:v,reviewHarness:v,acceptHarnessEvaluationReview:v,materializeHarnessEvaluationTaskset:v,runHarnessEvaluationBaseline:v,validateHarness:r(async()=>{let i=await O(t);return i?{valid:!0,workspaceId:i.workspace.id,harnessRelease:i.release.harnessRelease,agentSnapshot:i.release.agentSnapshot}:{valid:!1,reason:"No admitted hosted Harness release."}},"validateHarness"),updateHarnessBackgroundReview:v,diffHarness:v,rollbackHarness:v,inspectRefiner:v,updateRefiner:v,activateRefiner:v,rollbackRefiner:v,subscribeRuntimeEvents:P,observeRuntimeOperation:r(i=>d.info("agent runtime operation",i),"observeRuntimeOperation")}),close:r(async()=>{be||(be=!0,k?.close(),await T.close(),await Promise.all([p.drain(),H.drain(),E.drain()]),await b(),await d.flush())},"close")}),updateSession:L,storePath:"hosted-postgres",workspaceDir:s,pinSessionHarness:r(async i=>{let w=await W(t,await q(i));if(!w)return null;let R={id:w.release.harnessRelease.id,contentHash:w.release.harnessRelease.contentHash};return await Se.ensureHarnessRunOverlay({runId:i,workspace:w.workspace,harnessRelease:R,admittedAt:new Date().toISOString()}),R},"pinSessionHarness"),composition:["runtime_event_bus","session_store","hosted_provider","workspace_tools","command_approvals","harness","agent_runtime","jsonl_transport"]}}r(_o,"createHostedOwnedAppServer");export{_o as createHostedOwnedAppServer};
|
|
2
|
+
import{b as lt,c as se,e as St}from"./chunk-FNGZ4UDZ.js";import{c as mt,d as pt,e as ft}from"./chunk-VWWKWYSQ.js";import{b as ct,p as dt,q as yt,r as Rt}from"./chunk-OUJ63LMU.js";import{a as ht,b as gt}from"./chunk-EFP75UEX.js";import{b as wt,c as vt}from"./chunk-PACLKDTN.js";import{b as ut}from"./chunk-ZIQJDTQB.js";import"./chunk-S7A2OGL2.js";import{b as nt}from"./chunk-3Z4VM2LF.js";import"./chunk-EICS777E.js";import{a as Pt}from"./chunk-MIFVX5PK.js";import"./chunk-WLQEONBF.js";import"./chunk-3A2Y7UK3.js";import{a as te}from"./chunk-KDER7R45.js";import{a as ot,b as at}from"./chunk-M4A7G4S5.js";import"./chunk-Q3WXB465.js";import"./chunk-JQOVC35K.js";import"./chunk-FEAKTSRS.js";import{b as it}from"./chunk-Q73RKX7I.js";import"./chunk-TPOAAJKA.js";import{a as re,b as O,c as W}from"./chunk-ZYLLPRPU.js";import"./chunk-RCQYEHHD.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-SDHG6CKU.js";import"./chunk-XHACK2KR.js";import"./chunk-W45RKGM6.js";import"./chunk-WCNPGKST.js";import"./chunk-AFH462DO.js";import"./chunk-UANH7U3Y.js";import"./chunk-AQUZCWM3.js";import"./chunk-CIZI6Z7D.js";import{d as Fe,e as We,j as Ge,k as Qe,na as Ye,oa as et,pa as tt,v as Je,w as ee,y as Ze}from"./chunk-54755JYM.js";import{g as Xe}from"./chunk-B66QCXH2.js";import{a as Ue}from"./chunk-PYNW5OFA.js";import"./chunk-MOXIGLN2.js";import"./chunk-RHMULF56.js";import"./chunk-VFH5C6D2.js";import"./chunk-UOFDKMRU.js";import"./chunk-AN525SPP.js";import"./chunk-IZ6DLEVY.js";import"./chunk-BGMAWETL.js";import"./chunk-65FJWWXG.js";import"./chunk-SYUKES6H.js";import"./chunk-EYTTZ5H4.js";import"./chunk-XY7HFXLH.js";import{$ as z,W as rt,Z as h,aa as st}from"./chunk-6I5AUTVO.js";import{g as Ve,m as Le}from"./chunk-DKOVZ6R2.js";import"./chunk-N5EAVX4G.js";import"./chunk-U7X5ZLAL.js";import"./chunk-N73MU2C3.js";import"./chunk-WZ35ICTE.js";import"./chunk-DMFUEUAZ.js";import{a as ge}from"./chunk-AFKFN25T.js";import{a as he}from"./chunk-G4747MOW.js";import"./chunk-GF55VEMR.js";import"./chunk-FAKDGLZQ.js";import"./chunk-KCJVFLBB.js";import{a as $e,b as Ke}from"./chunk-GW766ZSO.js";import"./chunk-VJYOKU3C.js";import"./chunk-SSJV3VX7.js";import"./chunk-7KWD2I6W.js";import{p as Ne}from"./chunk-2ACX7IW5.js";import"./chunk-OFJPOTES.js";import"./chunk-PLROXHG2.js";import"./chunk-YU3C6U5V.js";import"./chunk-PHZZBXDO.js";import"./chunk-KVTBX2UP.js";import"./chunk-U7D6Q744.js";import{C as De,D as Me,M as ze,P as X,a as fe,g as qe,ja as je,v as F,w as Be,x as U}from"./chunk-HG2YFMVU.js";import"./chunk-OQPJ7FJF.js";import"./chunk-BL3CZWWD.js";import"./chunk-FYWQWKVS.js";import"./chunk-GD3RCUDH.js";import"./chunk-7OKZCJHS.js";import"./chunk-UTIELP6F.js";import"./chunk-7NCM6GBN.js";import{b as Ie}from"./chunk-4V73I4OL.js";import{a as de,h as xe,n as Ae,p as Ce}from"./chunk-LE75SVEL.js";import"./chunk-6ESBAHWK.js";import"./chunk-LZPCA6DH.js";import"./chunk-L3KS6MOV.js";import"./chunk-7J2NMUTK.js";import"./chunk-VEBW7NKD.js";import"./chunk-W45RKGM6.js";import"./chunk-AUO5DCEU.js";import"./chunk-Y4I6CFZJ.js";import"./chunk-4BUM6JEC.js";import"./chunk-UGFSAG4U.js";import{b as _e}from"./chunk-SSHE6B7Z.js";import"./chunk-EDYCSW22.js";import"./chunk-JT5YQ52I.js";import"./chunk-XGY4OQLC.js";import"./chunk-PAYFJHPO.js";import"./chunk-WD4KAKEX.js";import"./chunk-2PXKSAG6.js";import"./chunk-ULTV6INR.js";import"./chunk-WGQ3FMRF.js";import"./chunk-JXLDEYRW.js";import"./chunk-JVMSN7LH.js";import"./chunk-YI6ME6PU.js";import"./chunk-DRLP7GIU.js";import"./chunk-BU6MW65V.js";import"./chunk-LVXL7T5O.js";import"./chunk-HIQPGYVH.js";import"./chunk-DXJC3QW7.js";import"./chunk-P4QM63L3.js";import"./chunk-MTP3B2SU.js";import"./chunk-UN2LKLGV.js";import"./chunk-HLJJAOI2.js";import"./chunk-AMC4Z7G4.js";import"./chunk-LK77GI6M.js";import{c as ke}from"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import{Hb as Z,Ob as Y,f as pe,m as Oe}from"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-4PUOWSDE.js";import{Ka as me}from"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-EJOV6Z6F.js";import"./chunk-GY7YSD6J.js";import"./chunk-KUE46HTH.js";import"./chunk-MZKCW6CB.js";import"./chunk-6FA3GG5B.js";import"./chunk-SV7ZBEK2.js";import{V as ce,X as Te}from"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import{m as B,n as g,o as M}from"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-ZFJWA4JK.js";import{A as n}from"./chunk-X2J2P5ZT.js";import{a as r}from"./chunk-FTQLQJQV.js";import{randomUUID as Vt}from"node:crypto";import{promises as _}from"node:fs";import I from"node:path";function Ht(l){let e=new Map,t=new Map;async function o(s,d){let m=(t.get(s)??Promise.resolve()).catch(()=>{}).then(d);t.set(s,m);try{return await m}finally{t.get(s)===m&&t.delete(s)}}r(o,"serial");let a=r((s,d=18e4)=>l.request(z.parse({contractVersion:h,requestId:Vt(),operation:"profile-evaluations/sandbox",params:s}),d),"request");async function c(s,d,m,f){let S=B(f),y=`${d}/${m}/${S}`,b=e.get(s.sessionId)??new Set;if(!b.has(y)){if(f.length>1e7)throw new Error("The public case file exceeds its admitted bound.");for(let P=0;P===0||P<f.length;P+=98304)s.signal.throwIfAborted(),await a({sessionId:s.sessionId,turnId:s.turnId,action:"upload",area:d,path:m,sha256:S,sizeBytes:f.length,offset:P,contentsBase64:f.subarray(P,P+98304).toString("base64")},3e5);b.add(y),e.set(s.sessionId,b)}}r(c,"upload");async function u(s,d=""){let m=[];for(let f of await _.readdir(I.join(s,d),{withFileTypes:!0})){let S=I.posix.join(d,f.name);if(f.isSymbolicLink()){let y=await _.realpath(I.join(s,S));if(!y.startsWith(`${await _.realpath(s)}${I.sep}`)||(await _.stat(y)).isDirectory())throw new Error("The public Agent runtime symlink escapes its file closure.");m.push(S);continue}if(f.isDirectory()?m.push(...await u(s,S)):f.isFile()&&m.push(S),m.length>8192)throw new Error("The public Agent runtime exceeds the file limit.")}return m}return r(u,"runtimeFiles"),{execute:r(s=>o(s.sessionId,async()=>{s.signal.throwIfAborted();for(let[f,S]of Object.entries(s.publicHashes)){let y=await _.realpath(I.join(s.sourceRoot,f)),b=await _.realpath(s.sourceRoot);if(!y.startsWith(`${b}${I.sep}`))throw new Error("The public case file escaped its source root.");let P=await _.readFile(y);if(B(P)!==S)throw new Error("The public case file changed before upload.");await c(s,"policy",f,P)}if(s.runtimeRoot)for(let f of await u(s.runtimeRoot))await c(s,"runtime",f,await _.readFile(I.join(s.runtimeRoot,f)));let d=I.relative(s.sourceRoot,s.cwd??s.sourceRoot);if(d.startsWith("..")||I.isAbsolute(d))throw new Error("The command cwd escaped the admitted case.");let m=n.object({code:n.number().int().nullable(),stdout:n.string().max(75e4),stderr:n.string().max(75e4),timedOut:n.boolean(),stdoutTruncated:n.boolean(),stderrTruncated:n.boolean()}).parse(await a({sessionId:s.sessionId,turnId:s.turnId,action:"exec",command:s.command,stdin:s.stdin,cwd:d.split(I.sep).join("/"),timeoutMs:s.timeoutMs},s.timeoutMs+15e3));return s.signal.throwIfAborted(),m}),"execute"),readOutput:r(s=>o(s.sessionId,async()=>{let d=ot(s.path),m=[],f=null,S=null;for(let b=0;f===null||b<f;b+=98304){s.signal.throwIfAborted();let P=n.object({sizeBytes:n.number().int().min(1).max(1e7),sha256:n.string().regex(/^[a-f0-9]{64}$/),contentsBase64:n.string().max(131072)}).parse(await a({sessionId:s.sessionId,turnId:s.turnId,action:"read",path:d,offset:b},6e4));f??=P.sizeBytes,S??=P.sha256;let p=Buffer.from(P.contentsBase64,"base64");if(P.sizeBytes!==f||P.sha256!==S||p.length!==Math.min(98304,f-b)||p.toString("base64")!==P.contentsBase64)throw new Error("The confined output changed during readback.");m.push(p)}let y=Buffer.concat(m);if(B(y)!==S)throw new Error("The confined output differs from its saved byte identity.");return s.signal.throwIfAborted(),{bytes:y,title:d.split("/").at(-1)}}),"readOutput"),settle:r((s,d)=>o(s,async()=>{try{await a({sessionId:s,turnId:d,action:"stop"},6e4)}finally{e.delete(s)}}),"settle")}}r(Ht,"createHostedProfileCommandOwner");import{randomUUID as Lt}from"node:crypto";var j=98304;function Et(l){let e=r((t,o)=>l.request(z.parse({contractVersion:h,requestId:Lt(),operation:t,params:o})),"request");return{persistence:{sourceTurnStartedAt:r(async()=>{throw new Error("The case owner must supply its actual turn start time.")},"sourceTurnStartedAt"),saveSandboxFile:r(async()=>{throw new Error("Isolated Profile outputs must be read by the confined case owner.")},"saveSandboxFile"),save:r(async({sessionId:t,turnId:o,identity:a,bytes:c})=>{let u=n.object({uploadId:n.string().min(1),maxChunkBytes:n.literal(j)}).parse(await e("output/begin",{sessionId:t,turnId:o,output:a}));for(let d=0;d<c.length;d+=j){let m=c.subarray(d,d+j);await e("output/chunk",{uploadId:u.uploadId,index:d/j,offset:d,sha256:B(m),contentsBase64:m.toString("base64")})}let{outputRef:s}=n.object({outputRef:je}).parse(await e("output/complete",{uploadId:u.uploadId}));if(s.location.kind!=="managed"||s.sha256!==a.sha256||s.sizeBytes!==c.length||s.sourceTaskId!==t||s.sourceTurnId!==o||s.id!==a.id||s.revision!==a.revision)throw new Error("The durable case output differs from its saved identity.");return{outputRef:s,artifact:{artifactRef:s.location.fileId,path:s.location.downloadPath,title:s.title,contentType:s.contentType,sizeBytes:s.sizeBytes}}},"save")},read:r(async(t,o)=>{if(t.location.kind!=="managed"||t.sizeBytes>1e7)throw new Error("Select a bounded managed case output.");let a=[];for(let u=0;u<t.sizeBytes;u+=j){o?.throwIfAborted();let s=n.object({offset:n.number().int(),contentsBase64:n.string().max(131072),sha256:n.string(),sizeBytes:n.number().int()}).parse(await e("output/readBytes",{sessionId:t.sourceTaskId,turnId:t.sourceTurnId,fileId:t.location.fileId,revision:t.revision,sha256:t.sha256,sizeBytes:t.sizeBytes,offset:u})),d=Buffer.from(s.contentsBase64,"base64");if(s.offset!==u||s.sha256!==t.sha256||s.sizeBytes!==t.sizeBytes||d.length!==Math.min(j,t.sizeBytes-u)||d.toString("base64")!==s.contentsBase64)throw new Error("The durable workbook byte range changed.");a.push(d)}o?.throwIfAborted();let c=Buffer.concat(a);if(B(c)!==t.sha256)throw new Error("The durable workbook differs from its sealed hash.");return c},"read")}}r(Et,"createHostedProfileArtifactOwner");import{randomUUID as Gt}from"node:crypto";var $t=n.object({createdAt:n.string().datetime(),id:n.string().min(1)}).strict(),Kt=n.object({entries:n.array(n.unknown()).max(100),nextBefore:$t.nullable()}).strict(),oe=class{constructor(e){this.client=e}client;static{r(this,"HostedProfileEvaluationStorage")}execute(e){return this.client.request({contractVersion:h,requestId:Gt(),operation:"profile-evaluations/execute",params:e})}async get(e,t,o){let a=await this.execute({action:"get",kind:e,id:t});if(a===null)return null;let c=o.parse(a);return M(c,`Hosted Profile evaluation ${e}`),c}async put(e,t,o,a,c){let u=o.parse(t);M(u,`Hosted Profile evaluation ${e}`);let s=o.parse(await this.execute({action:"put",kind:e,payload:u,profileKey:a,createdAt:c}));if(s.contentHash!==u.contentHash||g(s)!==g(u))throw new Error("Hosted Profile evaluation write returned different evidence.");return s}async page(e,t,o){let a=[],c=null;do{let u=Kt.parse(await this.execute({action:"page",kind:e,profileKey:g(F.parse(t)),before:c,limit:100}));if(u.nextBefore&&(u.entries.length===0||c&&(u.nextBefore.createdAt>c.createdAt||u.nextBefore.createdAt===c.createdAt&&u.nextBefore.id>=c.id)))throw new Error("Hosted Profile evaluation cursor did not advance.");for(let s of u.entries){let d=o.parse(s);M(d,`Hosted Profile evaluation ${e}`),a.push(d)}if(a.length>1e4)throw new Error("Hosted Profile evaluation history exceeds the bounded catalog limit.");c=u.nextBefore}while(c);return a}getProfileEvaluationGrade(e){return this.get("grade",e,me)}saveProfileEvaluationGrade(e){return this.put("grade",e,me,null,new Date().toISOString())}getProfileEvaluationReceipt(e){return this.get("receipt",e,pe)}saveProfileEvaluationReceipt(e){if(!Oe(e))throw new Error("Hosted Profile evaluation receipt is invalid.");return this.put("receipt",e,pe,null,e.completedAt)}getProfileEvaluationRun(e){return this.get("run",e,te)}saveProfileEvaluationRun(e){return this.put("run",e,te,g(F.parse(e.profileRef)),e.completedAt)}listProfileEvaluationRuns(e){return this.page("run",e,te)}getProfileEvaluationComparison(e){return this.get("comparison",e,Z)}saveProfileEvaluationComparison(e,t){return this.put("comparison",t,Z,g(F.parse(e)),t.createdAt)}listProfileEvaluationComparisons(e){return this.page("comparison",e,Z)}getProfileEvaluationSuiteRun(e){return this.get("suite",e,Y)}saveProfileEvaluationSuiteRun(e,t,o){if(g(t)!==o.catalogHash)throw new Error("Hosted Profile evaluation suite differs from its catalog.");return this.put("suite",o,Y,g(F.parse(e)),o.createdAt)}listProfileEvaluationSuiteRuns(e){return this.page("suite",e,Y)}};async function bt(l){let e=l.release;if(!e.hostExecution)throw new Error("Hosted evaluation requires explicit host execution attribution.");let t={hostConversationId:e.hostExecution.conversationId,hostTurnId:e.hostExecution.turnId},o={source:"openpond_git",profileId:e.profileId,repositoryId:e.repositoryId},a=r(async()=>({ref:o,sourceRevision:e.sourceRevision}),"selectedProfile"),c=r(()=>se(l.client,e),"selectedWorkflows"),u=new oe(l.client),s=r(async p=>{if(g(p)!==g(e.harnessRelease))throw new Error("Evaluation requires the admitted Profile release.");let H=await O(l.client,p);if(!H)throw new Error("Admitted evaluation Profile is unavailable.");return H},"loadRuntime"),d=r(async p=>{if(g(p.ref)!==g(o)||p.sourceRevision!==e.sourceRevision)throw new Error("Evaluation requires the admitted Profile source.");return ut({...p,runtime:await s(p.harnessRelease)})},"loadCatalog"),m=l.externalDataset?await it({value:l.externalDataset,release:(await s(e.harnessRelease)).release,sourceRevision:e.sourceRevision,client:l.client}):null,f=r(async(p,H,x)=>{if(H!==e.profileId)throw new Error("Evaluation Taskset Profile differs from its admitted source.");let E=await ct({definition:p,harnessRelease:x,runtime:await s(x)});if(!E)throw new Error("Evaluation Taskset is absent from the admitted Profile release.");return E},"loadTasksetPackage"),S=mt({resolveExternalDataset:m?.resolveExternalDataset,store:{runtimeEventsForTurn:r(p=>l.core.runtimeEventsForTurn(p),"runtimeEventsForTurn")},storeDir:l.storeDir,readManagedArtifact:l.readManagedArtifact,admitSession:l.admitSession,settleSession:l.settleSession,loadCatalog:d,loadTasksetPackage:f,selectedProfile:a,createSession:r(p=>{let H=ze.parse(p);return l.createSession({...H,metadata:{...H.metadata,...t}})},"createSession"),sendTurn:r((p,H)=>{let x=X.parse(H);return l.sendTurn(p,{...x,metadata:{...x.metadata,...t}})},"sendTurn"),interruptSessionTurn:l.interruptSessionTurn}),y=dt({resolveExternalDataset:m?.resolveExternalDataset,sourceCandidate:m?.sourceCandidate,privateGradingPreflight:r(p=>yt(p,!1),"privateGradingPreflight"),loadCatalog:d,selectedWorkflows:c,loadTasksetPackage:f,placement:"remote",boundedWorkComputeAvailable:!0,modelConfigurationHash:r(async(p,H)=>{if(p.providerId!=="openpond"||!H.hostModelConfigurationHash)throw new Error("Hosted evaluation requires a host-admitted model configuration receipt.");return H.hostModelConfigurationHash},"modelConfigurationHash")}),b=pt({resolveExternalDataset:m?.resolveExternalDataset,store:u,loadCatalog:d,loadTasksetPackage:f,selectedProfile:a,executeCase:S,privateGrading:r((p,H,x)=>Rt({manifest:p,packageValue:H,signal:x,executeSandboxVerifier:nt(l.client),authorize:r(async()=>{let E=p.profileEvaluation;if(!E||E.profileId!==e.profileId||E.sourceRevision!==e.sourceRevision)throw new Error("The hosted private grading source changed.");if(E.externalDatasetBinding){if(!m)throw new Error("The frozen Dataset owner is unavailable.");await m.authorize({bindingHash:E.externalDatasetBinding.contentHash,manifestHash:p.contentHash})}let D=await d({ref:o,sourceRevision:e.sourceRevision,harnessRelease:E.harnessRelease});if(!E.externalDatasetBinding&&D.catalogHash!==E.catalogHash)throw new Error("The hosted private grading catalog changed.")},"authorize")}),"privateGrading")}),P={getProfileEvaluationRun:u.getProfileEvaluationRun.bind(u),getProfileEvaluationReceipt:u.getProfileEvaluationReceipt.bind(u),getProfileEvaluationGrade:u.getProfileEvaluationGrade.bind(u),getSession:l.core.getSession.bind(l.core),getTurn:l.core.getTurn.bind(l.core),runtimeEventsForTurn:l.core.runtimeEventsForTurn.bind(l.core),listModelUsageRecords:l.core.listModelUsageRecords.bind(l.core)};return{prepareProfileEvaluationRun:y,executeProfileEvaluationCase:S,executeProfileEvaluationRun:b,runPreparedProfileEvaluation:r(async p=>b(await y(p,{requireExpectedManifestHash:!0})),"runPreparedProfileEvaluation"),runProfileEvaluationSuite:ft({store:u,loadCatalog:d,selectedWorkflows:c,prepareRun:y,executeRun:b}),compareProfileEvaluationRuns:ht({store:u,selectedProfile:a}),buildProfileEvaluationReport:r(p=>gt({store:u,profileRef:o,request:p}),"buildProfileEvaluationReport"),listProfileEvaluations:r(async p=>{if(p&&typeof p=="object"&&"runId"in p)return vt({store:P,profileRef:o,...wt.parse(p)});let[H,x,E,D]=await Promise.all([d({ref:o,sourceRevision:e.sourceRevision,harnessRelease:e.harnessRelease}),u.listProfileEvaluationRuns(o),u.listProfileEvaluationComparisons(o),u.listProfileEvaluationSuiteRuns(o)]);return{...H,runs:x,comparisons:E,suiteRuns:D}},"listProfileEvaluations")}}r(bt,"createHostedProfileEvaluationRuntime");import{mkdir as lr}from"node:fs/promises";import{randomUUID as Mt}from"node:crypto";import V from"node:path";import{randomUUID as Tt}from"node:crypto";var Qt=n.object({revision:n.number().int().nonnegative(),payload:n.record(n.string(),n.unknown()).nullable()}).strict(),Jt=n.object({entries:n.array(n.unknown()).max(100),nextAfterId:n.string().min(1).nullable()}).strict(),ae=class{constructor(e){this.client=e}client;static{r(this,"HostedHarnessStateStorage")}async getPreference(e,t){return Qt.parse(await this.client.request({contractVersion:h,requestId:Tt(),operation:"harness/state/read",params:{workspaceId:e,kind:t,afterId:null,limit:1}}))}async listCandidates(e){return(await this.readAll(e,"candidates")).map(t=>Ae.parse(t))}async listCrossRunRequests(e){return(await this.readAll(e,"cross_run_requests")).map(t=>Ce.parse(t))}async readAll(e,t){let o=[],a=null;do{let c=Jt.parse(await this.client.request({contractVersion:h,requestId:Tt(),operation:"harness/state/read",params:{workspaceId:e,kind:t,afterId:a,limit:Math.min(100,1001-o.length)}}));if(c.nextAfterId&&(c.entries.length===0||c.nextAfterId===a))throw new Error("Hosted Harness state cursor did not advance.");if(o.push(...c.entries),o.length>1e3)throw new Error("Hosted Harness state exceeds 1,000 entries.");a=c.nextAfterId}while(a);return o}};import{randomUUID as Zt}from"node:crypto";import{cp as Yt,mkdir as Xt,rm as er}from"node:fs/promises";import tr from"node:path";var we=n.object({schemaVersion:n.literal("openpond.harnessMemoryEntry.v1"),id:n.string(),workspaceId:n.string(),key:n.string(),content:n.string(),tags:n.array(n.string()),revision:n.number().int().positive(),status:n.enum(["active","deleted"]),sourceRunId:n.string().nullable(),sourceProposal:n.object({id:n.string(),contentHash:n.string()}).nullable(),createdAt:n.string().datetime(),updatedAt:n.string().datetime(),contentHash:n.string().regex(/^[a-f0-9]{64}$/)}).strict(),rr=n.object({createdAt:n.string().datetime(),id:n.string()}).strict(),xt=n.object({entries:n.array(n.unknown()).max(100),nextBefore:rr.nullable()}).strict(),ve=n.object({workspace:de,receipt:xe}).strict(),ne=class{constructor(e,t){this.client=e;this.storeDir=t;this.usage=new St(e),this.overlay=new re({request:r(async o=>o.operation==="harness/overlay/get"?this.request({action:"overlay_get",...o.params}):o.operation==="harness/overlay/freezeProposal"?this.request({action:"overlay_freeze",...o.params},o.requestId):e.request(o),"request")})}client;storeDir;static{r(this,"HostedHarnessReviewStorage")}harnessStoragePlacement="hosted";reviewSessionId=null;overlay;usage;request(e,t=Zt()){return this.client.request({contractVersion:h,requestId:t,operation:"harness/review/execute",params:e},e.action==="release_put"?6e4:15e3)}sessionId(){if(!this.reviewSessionId)throw new Error("Hosted review memory requires an admitted review session.");return this.reviewSessionId}async prepareReview(e){let t=await this.getSession(e.runRef);if(!t)throw new Error("Hosted review session is unavailable.");this.reviewSessionId=t.id;let o=await this.getHarnessRunOverlay(t.id);if(!o)throw new Error("Hosted review overlay is unavailable.");let a=await this.getHarnessWorkspace(o.workspace.workspaceId);if(!a?.currentChannel.release)throw new Error("Hosted review workspace release is unavailable.");let c=await this.getHarnessReleaseRecord(a.currentChannel.release.contentHash);if(!c||c.sourceRevision!==a.sourceRevision)throw new Error("Hosted review source binding changed.");let u=Ve(this.storeDir,a.id);await Xt(u.root,{recursive:!0,mode:448}),await er(u.source,{recursive:!0,force:!0}),await Yt(tr.join(c.bundlePath,"source"),u.source,{recursive:!0,force:!1,errorOnExist:!0});let s=await Le({workspaceId:a.id,sourceDir:u.source});if(s.sourceRevision!==a.sourceRevision||s.harnessRelease.contentHash!==c.harnessRelease.contentHash)throw new Error("Hosted review source cache differs from its immutable release.")}getHarnessWorkspace=r(async e=>de.nullable().parse(await this.request({action:"workspace_get",workspaceId:e})),"getHarnessWorkspace");getHarnessReleaseRecord=r(async e=>he.nullable().parse(await this.request({action:"release_get",contentHash:e})),"getHarnessReleaseRecord");saveHarnessReleaseRecord=r(async e=>he.parse(await this.request({action:"release_put",record:e},`review-release:${e.harnessRelease.contentHash}`)),"saveHarnessReleaseRecord");getHarnessRunOverlay=r(e=>this.overlay.getHarnessRunOverlay(e),"getHarnessRunOverlay");createHarnessRunOverlay=r(e=>this.overlay.createHarnessRunOverlay(e),"createHarnessRunOverlay");freezeHarnessRunOverlayWithProposalAtomically=r(e=>this.overlay.freezeHarnessRunOverlayWithProposalAtomically(e),"freezeHarnessRunOverlayWithProposalAtomically");getHarnessBackgroundReviewSettings=r(async e=>n.object({enabled:n.boolean(),updatedAt:n.string().datetime().nullable()}).strict().parse(await this.request({action:"background_get",workspaceId:e})),"getHarnessBackgroundReviewSettings");getHarnessMemory=r(async(e,t)=>we.nullable().parse(await this.request({action:"memory_get",workspaceId:e,sessionId:this.sessionId(),key:t})),"getHarnessMemory");listHarnessMemories=r(async(e,t={})=>{let o=n.object({entries:n.array(we).max(20),nextBefore:n.object({updatedAt:n.string().datetime(),key:n.string()}).nullable()}),a=[],c=null;do{let u=o.parse(await this.request({action:"memory_page",workspaceId:e,sessionId:this.sessionId(),before:c,limit:20,includeDeleted:t.includeDeleted??!1}));if(a.push(...u.entries),u.nextBefore&&(!u.entries.length||g(u.nextBefore)===g(c)))throw new Error("Hosted memory cursor did not advance.");c=u.nextBefore}while(c&&a.length<1e3);if(c)throw new Error("Hosted review memory exceeds its bounded window.");return a},"listHarnessMemories");writeHarnessMemory=r(async e=>we.parse(await this.request({action:"memory_write",sessionId:this.sessionId(),input:e},`review-memory:${g(e)}`)),"writeHarnessMemory");saveHarnessImprovementArtifact=r(async(e,t,o)=>{let a={action:"artifact_put",workspaceId:e,kind:t,artifact:o},c=(await import("./dist-O7HXZUBW.js")).HarnessReviewStorageParamsSchema.parse(a);return ge[t].parse(await this.request(c,`review-artifact:${t}:${o.contentHash}`))},"saveHarnessImprovementArtifact");listHarnessImprovementArtifacts=r(async(e,t,o=100)=>{let a=[],c=null,u=Math.min(Math.max(1,Math.trunc(o)),1e3);do{let s=(await import("./dist-O7HXZUBW.js")).HarnessReviewStorageParamsSchema.parse({action:"artifact_page",workspaceId:e,kind:t,before:c,limit:Math.min(100,u-a.length)}),d=xt.parse(await this.request(s));if(a.push(...d.entries),d.nextBefore&&(!d.entries.length||g(d.nextBefore)===g(c)))throw new Error("Hosted artifact cursor did not advance.");c=d.nextBefore}while(c&&a.length<u);return a.map(s=>ge[t].parse(s))},"listHarnessImprovementArtifacts");listPendingHarnessRefinerTriggers=r(async()=>{let e=await import("./hosted-harness-runtime-MMTLCL23.js").then(a=>a.loadHostedHarnessRuntime(this.client));if(!e)return[];let t=[],o=null;do{let a=xt.parse(await this.request({action:"pending_page",workspaceId:e.workspace.id,before:o,limit:100}));if(t.push(...a.entries.map(c=>({workspaceId:e.workspace.id,trigger:Ie.parse(c)}))),a.nextBefore&&(!a.entries.length||g(a.nextBefore)===g(o)))throw new Error("Hosted pending-review cursor did not advance.");o=a.nextBefore}while(o&&t.length<1e3);if(o)throw new Error("Hosted pending reviews exceed the bounded recovery window.");return t},"listPendingHarnessRefinerTriggers");advanceHarnessWorkspaceAtomically=r(async e=>ve.parse(await this.client.request({contractVersion:h,requestId:e.receiptId,operation:"harness/workspace/transition",params:{action:"advance",...e}})),"advanceHarnessWorkspaceAtomically");advanceReviewedHarnessWorkspaceAtomically=r(async e=>ve.parse(await this.client.request({contractVersion:h,requestId:e.receiptId,operation:"harness/workspace/transition",params:{action:"reviewedAdvance",...e}})),"advanceReviewedHarnessWorkspaceAtomically");rollbackHarnessWorkspaceAtomically=r(async e=>ve.parse(await this.client.request({contractVersion:h,requestId:e.receiptId,operation:"harness/workspace/transition",params:{action:"rollback",...e}})),"rollbackHarnessWorkspaceAtomically");getSession=r(async e=>Be.nullable().parse(await this.request({action:"session_get",sessionId:e})),"getSession");getTurn=r(async e=>U.nullable().parse(await this.request({action:"turn_get",turnId:e})),"getTurn");updateTurn=r(async(e,t)=>{let o=await this.getTurn(e);if(!o)return null;let a=U.parse(t(o)),{harnessSnapshot:c,...u}=o,{harnessSnapshot:s,...d}=a;if(!s||g(u)!==g(d))throw new Error("Hosted review may only restore a missing Harness snapshot.");return U.parse(await this.request({action:"snapshot_restore",turnId:e,expectedHash:g(o),snapshot:s}))},"updateTurn");turnsForSession=r(async(e,t=1e3)=>{let o=n.object({entries:n.array(U).max(100),nextBefore:n.number().int().positive().nullable()}),a=[],c=null,u=Math.min(Math.max(1,Math.trunc(t)),1e3);do{let s=o.parse(await this.request({action:"turn_page",sessionId:e,before:c,limit:Math.min(100,u-a.length)}));if(a.push(...s.entries),s.nextBefore&&(!s.entries.length||c!==null&&s.nextBefore>=c))throw new Error("Hosted review turn cursor did not advance.");c=s.nextBefore}while(c&&a.length<u);return a.reverse()},"turnsForSession");runtimeEventsForTurn=r(async(e,t={})=>{let o=n.object({entries:n.array(fe).max(100),nextAfterSequence:n.number().int().positive().nullable()}),a=[],c=0,u=Math.min(t.limit??1e4,1e4);do{let s=o.parse(await this.request({action:"event_page",turnId:e,afterSequence:c,names:[...t.names??[]],limit:Math.min(100,u-a.length)}));if(a.push(...s.entries),!s.nextAfterSequence)return a;if(!s.entries.length||s.nextAfterSequence<=c)throw new Error("Hosted review event cursor did not advance.");c=s.nextAfterSequence}while(a.length<u);return a},"runtimeEventsForTurn");listModelUsageRecords=r(e=>this.usage.listModelUsageRecords(e),"listModelUsageRecords");async appendRuntimeEvent(e){return fe.parse(await this.request({action:"event_append",event:e},`review-event:${e.id}`))}async upsertModelUsageRecord(e){await this.request({action:"usage_put",record:e},`review-usage:${g(e)}`)}};import{randomUUID as sr}from"node:crypto";async function It(l,e){let t=ke.parse(await l.request({contractVersion:h,requestId:sr(),operation:"refiner/execute",params:{action:{action:"active_release",workspaceId:e}}}));return M(t,"Hosted Refiner active release"),t}r(It,"loadHostedRefinerRelease");import{randomUUID as or}from"node:crypto";var ar=n.object({personalizationSoul:n.string().max(8e3).optional(),userInstructions:n.string().max(64e3).optional(),preferences:ce.optional()}).strict(),nr=n.object({revision:n.number().int().positive(),settings:ar}).strict();async function ye(l){let e=await l.request({contractVersion:h,requestId:or(),operation:"settings/get",params:{}}),t=e===null?null:nr.parse(e);return{revision:t?.revision??null,personalizationSoul:t?.settings.personalizationSoul??Te[0].content,userInstructions:t?.settings.userInstructions??"",preferences:t?.settings.preferences??ce.parse({})}}r(ye,"loadHostedRuntimeSettings");import{randomUUID as kt}from"node:crypto";function At(l){async function e(t){let o=await W(l,t);if(!o)throw new Error("No hosted Harness is selected for this run.");return o.workspace.id}return r(e,"workspaceId"),[{name:"memory_search",description:"Search bounded active memory for this selected Harness or Profile. Returns keys, revisions and short excerpts.",parameters:{type:"object",additionalProperties:!1,properties:{query:{type:"string",minLength:1,maxLength:500},limit:{type:"integer",minimum:1,maximum:20}},required:["query"]},execute:r(async t=>{let o=t.args.query;if(typeof o!="string"||!o.trim()||o.length>500)throw new Error("Memory query is invalid.");let a=t.args.limit===void 0?8:t.args.limit;if(typeof a!="number"||!Number.isInteger(a)||a<1||a>20)throw new Error("Memory search limit is invalid.");let c=await l.request({contractVersion:h,requestId:kt(),operation:"harness/memory/search",params:{workspaceId:await e(t.session),query:o,limit:a}});return{toolCallId:t.callId,name:"memory_search",ok:!0,contentText:JSON.stringify(c),data:c}},"execute")},{name:"memory_inspect",description:"Read one exact active memory entry returned by memory_search.",parameters:{type:"object",additionalProperties:!1,properties:{key:{type:"string",minLength:1,maxLength:120}},required:["key"]},execute:r(async t=>{let o=t.args.key;if(typeof o!="string"||!/^[a-z0-9][a-z0-9-]{0,119}$/.test(o))throw new Error("Memory key is invalid.");let a=await l.request({contractVersion:h,requestId:kt(),operation:"harness/memory/get",params:{workspaceId:await e(t.session),key:o}});if(!a||typeof a!="object"||Array.isArray(a)||a.status!=="active")throw new Error(`Harness memory does not exist: ${o}.`);return{toolCallId:t.callId,name:"memory_inspect",ok:!0,contentText:JSON.stringify(a),data:a}},"execute")}]}r(At,"createHostedHarnessMemoryTools");import{randomUUID as Ct}from"node:crypto";function Ot(l){return[{name:"work_list_outputs",description:"List this conversation's published outputs from completed turns without starting sandbox compute. Use this before reading a previously saved file; returns exact file IDs and revisions. New workspace files are published after the current turn ends. Inspect those with workspace tools and finish the turn instead of polling this list.",parameters:{type:"object",additionalProperties:!1,properties:{}},execute:r(async e=>{let t=await l.request({contractVersion:h,requestId:Ct(),operation:"output/list",params:{}});return{toolCallId:e.callId,name:"work_list_outputs",ok:!0,contentText:JSON.stringify(t),data:t}},"execute")},{name:"work_read_output",description:"Read the actual saved text/Markdown or PDF text of a file returned by work_list_outputs, without starting sandbox compute. Prefer this for questions about saved outputs. Use workspace tools for edits, execution and unsaved files. PDF text extraction does not inspect images or page appearance.",parameters:{type:"object",additionalProperties:!1,properties:{fileId:{type:"string",minLength:1,maxLength:191},revision:{type:"integer",minimum:1},offset:{type:"integer",minimum:0,maximum:1e7},maxChars:{type:"integer",minimum:1,maximum:1e5},firstPage:{type:"integer",minimum:1,maximum:1e3},pageCount:{type:"integer",minimum:1,maximum:10}},required:["fileId","revision"]},execute:r(async e=>{let t=await l.request(z.parse({contractVersion:h,requestId:Ct(),operation:"output/read",params:e.args}),6e4);return{toolCallId:e.callId,name:"work_read_output",ok:!0,contentText:JSON.stringify(t),data:t}},"execute")}]}r(Ot,"createHostedWorkOutputTools");import{randomUUID as _t}from"node:crypto";function qt(l,e){return{allowedTools:e,authorizeTool:r(async t=>{let o=await l.request({contractVersion:h,requestId:_t(),operation:"embedding/authorize",params:{sessionId:t.session.id,turnId:t.turnId,name:t.name}});if(!o||typeof o!="object"||Array.isArray(o)||o.allowed!==!0)throw new Error("Hosted tool authorization denied.")},"authorizeTool")}}r(qt,"createHostedEmbeddingAdapter");function Bt(l){return async e=>{let t=rt.parse(e);return l.request({contractVersion:h,requestId:_t(),operation:"sandbox/request",params:{action:t}},e.type==="create"?3e5:e.type==="exec"?18e4:6e4)}}r(Bt,"createHostedSandboxRequest");var ir=["sandbox/request","embedding/authorize","output/begin","output/chunk","output/complete","output/saveSandboxFile","output/list","output/read","settings/get","harness/get","harness/overlay/get","harness/overlay/put","harness/memory/get","harness/memory/list","harness/memory/search","harness/memory/write","harness/state/read","task-inbox/execute","create-improve/execute","approval/get","approval/upsert","usage/getByRequestId","usage/upsert","usage/page","session/count","session/get","session/page","session/put","turn/count","turn/wakeCount","turn/get","turn/put","turn/latest","turn/page","thread/turnPage","event/append","events/page","events/latestAssistantText"];function Dt(l){if(ir.some(e=>!l.operations.includes(e)))throw new Error("Hosted Postgres runtime capabilities are incomplete.");if(l.maxRequestBytes<256e3||l.maxInFlight<32||l.maxPageSize<200)throw new Error("Hosted Postgres runtime transport limits are incompatible.")}r(Dt,"assertHostedWorkCapabilities");var v=r(async()=>{throw new Error("This hosted control is not available until its Postgres repository is activated.")},"unavailable"),ur=De(),cr=Me();async function _o(l){let e=l.runtimeStorage,t=l.hostStorageClient;if(e.kind!=="hosted_postgres"||!t||e.client!==t)throw new Error("Hosted storage selection mismatch.");if(l.embedding||l.sandboxRequest)throw new Error("Hosted Postgres tool and sandbox authority must come from the host transport.");if(!l.streamOpenPondHostedChatTurn)throw new Error("Hosted Postgres runtime requires a host-admitted model stream.");if(l.profileSource||l.harness)throw new Error("Hosted Postgres runtime accepts only host-admitted immutable sources.");if(l.services&&Object.values(l.services).some(i=>i!==!1&&i!==void 0))throw new Error("Hosted service adapters must be admitted by the Postgres composition.");let o=st.parse(await t.request({contractVersion:h,requestId:Mt(),operation:"capabilities",params:{}}));Dt(o);let a=qt(t,o.allowedTools),c=Bt(t),u=V.resolve(l.storeDir??process.cwd()),s=V.resolve(l.workspaceDir??process.cwd());await lr(s,{recursive:!0});let d=We({channel:"app-server",logDir:V.join(u,"logs"),metadata:{version:l.version??_e,runtimeVersion:Ne(),placement:"hosted_work"}}),m=e.core,f=new ne(t,u),S=e.admittedProfileRelease?await lt(t,e.admittedProfileRelease):{profile:cr,profileLibrary:ur},{appendRuntimeEvent:y,closeEventSubscribers:b,subscribeRuntimeEvents:P}=Ze({logger:d,assistantDeltaFlushMs:250,store:{appendRuntimeEvent:r(i=>["harness.refiner.queued","harness.refiner.started","harness.refiner.completed","harness.refiner.failed"].includes(i.name)?f.appendRuntimeEvent(i):m.appendRuntimeEvent(i),"appendRuntimeEvent"),runtimeEventPageRows:r(i=>m.runtimeEventPageRows(i),"runtimeEventPageRows")}}),p=ee({queueId:"turn-follow-up",logger:d}),H=ee({queueId:"subagent",logger:d}),x=Ke(l.streamOpenPondHostedChatTurn,{enabled:$e()}),E=ee({queueId:"harness-refiner",logger:d,concurrency:1}),D=Pt({store:f,storeDir:u,queue:E,streamOpenPondHostedChatTurn:x,appendRuntimeEvent:y,upsertModelUsageRecord:r(i=>f.upsertModelUsageRecord(i),"upsertModelUsageRecord"),prepareReview:r(i=>f.prepareReview(i),"prepareReview"),loadActiveRefinerRelease:r(async()=>{let i=await O(t);if(!i)throw new Error("Hosted review has no admitted Harness workspace.");return It(t,i.workspace.id)},"loadActiveRefinerRelease")}),Re=r(async()=>(await ye(t)).preferences,"preferences"),{createSession:ie,getSession:q,updateSession:L,completeTurn:zt,failTurn:jt,interruptTurn:Nt}=et({store:m,defaultSessionCwd:r(()=>s,"defaultSessionCwd"),appendRuntimeEvent:y,loadAppPreferences:Re,loadLastUsedProfile:r(async()=>S.profileLibrary.lastUsed,"loadLastUsedProfile")}),le=Je({workspaceDir:s,logger:d,getSession:q,updateSession:L,appendRuntimeEvent:y,sandboxRequest:c,sandboxCreationMode:"hosted_worker"}),G=Ge({appendRuntimeEvent:y,findLocalProject:r(async()=>null,"findLocalProject"),onRepositoryInstructionDiagnostic:r((i,w)=>d.warn("repository instruction file skipped",{diagnostic:i,sessionId:w.id}),"onRepositoryInstructionDiagnostic")}),Se=new re(t),$=new ae(t),Pe=Et(t),ue=Ht(t),K=e.admittedProfileRelease?.hostExecution?await O(t,e.admittedProfileRelease.harnessRelease):null;if(e.admittedProfileRelease?.hostExecution&&(!K||!o.operations.includes("output/readBytes")||!o.operations.includes("profile-evaluations/sandbox")||!o.operations.includes("profile-evaluations/grade")))throw new Error("Hosted evaluation requires its admitted release, managed artifact owner and private sandbox grader.");let Ft=Fe({deviceId:"hosted-evaluation",storeDir:u,runtimeEventsForSession:r(i=>m.runtimeEventsForSession(i),"runtimeEventsForSession"),managedPersistence:{...Pe.persistence,sourceTurnStartedAt:r(async(i,w)=>{let R=await m.getTurn(w);if(!R||R.sessionId!==i||!R.startedAt)throw new Error("The managed output has no actual started case turn.");return R.startedAt},"sourceTurnStartedAt")}}),k=K?at({readOutput:ue.readOutput,executeCommand:ue.execute,settleRemote:ue.settle,runtimeNode:"node",runtimeAgentRoot:"/workspace/runtime",storeDir:u,release:K.release,getSession:q,getTurn:r(i=>m.getTurn(i),"getTurn"),saveOutput:Ft.saveOwnedOutputBytes,recordOutput:r(async(i,w,R)=>{await y({id:Mt(),timestamp:new Date().toISOString(),name:"workspace_action_result",source:"server",sessionId:i,turnId:w,action:"work_output_save",status:"completed",data:R})},"recordOutput"),authorize:r(async()=>{let i=await O(t,e.admittedProfileRelease.harnessRelease);if(!i||i.release.harnessRelease.contentHash!==K.release.harnessRelease.contentHash)throw new Error("The hosted isolated evaluation source authority changed.")},"authorize")}):null,Ut=tt(a,async(i,w)=>{let R=await m.getTurn(i);if(!R)throw new Error("Embedded turn is unavailable.");let C=await q(R.sessionId),Q=C.metadata?.embeddingToolBindings,N=[...w].sort((J,Wt)=>J.name.localeCompare(Wt.name));if(Q!==void 0&&g(Q)!==g(N))throw new Error("Embedded tool bindings changed; start a new thread.");await L(C.id,{metadata:{...C.metadata,embeddingToolBindings:N}}),await m.updateTurn(i,J=>({...J,metadata:{...J.metadata,toolBindings:N}}))}),T=Ye({executionHost:"embedded",workInputsForSession:l.workInputsForSession,attachmentRootDir:V.join(u,"attachments"),isolatedProfileEvaluationForTurn:k?async i=>{if(i.metadata?.profileEvaluationRun===void 0)return!1;if(!k.ownsSession(i.id))throw new Error("The hosted evaluation has no actual isolated case owner.");return!0}:void 0,executeProfileEvaluationAction:k?.executeAction,resolveModelTools:r(async i=>{let w=k?.ownsSession(i.session.id)?await k.resolveTools(i):await Ut(i);return l.resolveModelTools?l.resolveModelTools({...i,tools:w}):w},"resolveModelTools"),hostedToolFlags:{toolMode:"native",nativeToolTransport:!0,nativeToolProviderDenylist:[],textToolFallback:!1},store:m,inboxStore:e.inbox,createSession:ie,getSession:q,updateSession:L,completeTurn:zt,failTurn:jt,interruptTurn:Nt,upsertApproval:r(i=>m.upsertApproval(i),"upsertApproval"),defaultSessionCwd:r(()=>s,"defaultSessionCwd"),findOpenPondApp:r(async i=>({id:i||qe(s),name:V.basename(s)||"Workspace",description:null,visibility:"private",sandbox:!0}),"findOpenPondApp"),resolveSessionWorkspaceCwd:r(async i=>i.cwd?.trim()||s,"resolveSessionWorkspaceCwd"),ensureCodexRuntime:r(async()=>{throw new Error("Codex process hosting is unavailable.")},"ensureCodexRuntime"),appendWorkspaceDiffEvent:le.appendWorkspaceDiffEvent,workspaceDiffBaseline:le.workspaceDiffBaseline,appendRuntimeEvent:y,executeWorkspaceTool:le.executeWorkspaceTool,executeOpenPondCommand:r(async()=>{throw new Error("Hosted commands require durable authorization.")},"executeOpenPondCommand"),loadOpenPondProfileState:r(async()=>S.profile,"loadOpenPondProfileState"),loadOpenPondProfileLibrary:r(async()=>S.profileLibrary,"loadOpenPondProfileLibrary"),readOpenPondProfileSkill:v,loadSelectedHarnessRuntime:r(i=>{if(i.currentProfile&&(!e.admittedProfileRelease||i.currentProfile.repositoryId!==e.admittedProfileRelease.repositoryId||i.currentProfile.profileId!==e.admittedProfileRelease.profileId))throw new Error("Hosted Profile session lacks admitted immutable source.");return W(t,i)},"loadSelectedHarnessRuntime"),ensureHarnessRunOverlay:r(i=>Se.ensureHarnessRunOverlay(i),"ensureHarnessRunOverlay"),processHarnessImprovementBoundary:D,harnessModelTools:[...At(t),...Ot(t)],loadBuiltInOpenPondSkills:r(async()=>[],"loadBuiltInOpenPondSkills"),readBuiltInOpenPondSkill:v,loadPersonalizationSoul:r(async()=>(await ye(t)).personalizationSoul,"loadPersonalizationSoul"),loadAppPreferences:Re,maybeCreateScaffoldForTurn:G.maybeCreateScaffoldForTurn,hostedSystemPrompt:G.hostedSystemPrompt,appendAssistantText:G.appendAssistantText,appendHostedContextUsage:G.appendHostedContextUsage,streamOpenPondHostedChatTurn:x,turnFollowUpQueue:p,subagentQueue:H,maxHostedWorkspaceToolRounds:Xe(l.maxHostedWorkspaceToolRounds),maxRepeatedInvalidToolRequests:3});await T.recoverPendingSubagentCompletions(),await T.recoverTaskInbox();let He=!1,Ee=r(async(i,w)=>{if(X.parse(w).attachments?.length&&!k?.ownsSession(i))throw new Error("Hosted attachments require managed-file admission.");let R=await q(i);if(R.currentProfile&&(!e.admittedProfileRelease||R.currentProfile.repositoryId!==e.admittedProfileRelease.repositoryId||R.currentProfile.profileId!==e.admittedProfileRelease.profileId))throw new Error("Hosted Profile session lacks admitted immutable source.");return He||(await D.reconcilePending(),await E.drain(),He=!0),T.sendTurn(i,w)},"sendTurn");if(l.profileExternalDataset&&!e.admittedProfileRelease?.hostExecution)throw new Error("External Dataset requires its admitted hosted evaluation.");let A=e.admittedProfileRelease?.hostExecution?await bt({client:t,core:m,release:e.admittedProfileRelease,storeDir:u,...l.profileExternalDataset?{externalDataset:l.profileExternalDataset}:{},readManagedArtifact:Pe.read,admitSession:k.admitSession,settleSession:k.settleSession,createSession:ie,sendTurn:Ee,interruptSessionTurn:T.interruptSessionTurn}):null,be=!1;return{...Ue({ports:Qe({bindHome:!1,placement:"hosted_work",connectedAppProviders:[],featureOverrides:{profileWorkflows:!!e.admittedProfileRelease,profileEvaluations:!!A,harnessProposalReview:!1,harnessEvaluationReview:!1,harnessEvaluationReviewAcceptance:!1,harnessEvaluationTasksetMaterialization:!1,harnessEvaluationBaseline:!1,harnessBackgroundReview:!1,harnessDiff:!1,harnessRollback:!1,harnessReview:!1,refinerProfiles:!1,immutableRefinerAdmission:!1},createSession:ie,getSession:q,turnsForSession:r(i=>m.turnsForSession(i,1e3),"turnsForSession"),runtimeEventsForSession:r(i=>m.runtimeEventsForSession(i,{excludeReasoningDeltas:!0}),"runtimeEventsForSession"),sendTurn:Ee,steerSessionTurn:T.steerSessionTurn,readTaskInbox:T.readTaskInbox,queueTaskInput:T.queueTaskInput,updateTaskInput:T.updateTaskInput,isSessionTurnActive:T.isSessionTurnActive,waitForSessionTurnSettlement:T.waitForSessionTurnSettlement,interruptSessionTurn:T.interruptSessionTurn,resolveApproval:r(async(i,w)=>{let R=await T.resolveCreateImproveApproval(i,w);if(R)return R;let C=await T.resolveSubagentPatchApplyApproval(i,w);if(C)return C;throw new Error(`Approval not found: ${i}`)},"resolveApproval"),listProfileWorkflows:e.admittedProfileRelease?()=>se(t,e.admittedProfileRelease):v,listProfileEvaluations:A?.listProfileEvaluations??v,loadProfileTrainingSource:v,prepareProfileEvaluationRun:A?.prepareProfileEvaluationRun??v,runPreparedProfileEvaluation:A?.runPreparedProfileEvaluation??v,runProfileEvaluationSuite:A?.runProfileEvaluationSuite??v,executeProfileEvaluationCase:A?.executeProfileEvaluationCase??v,executeProfileEvaluationRun:A?.executeProfileEvaluationRun??v,compareProfileEvaluationRuns:A?.compareProfileEvaluationRuns??v,buildProfileEvaluationReport:A?.buildProfileEvaluationReport??v,inspectHarness:r(async()=>{let i=await O(t);if(!i)return null;let w=i.workspace.id,[R,C,Q,N]=await Promise.all([$.getPreference(w,"workspace_settings"),$.getPreference(w,"evaluation_review_settings"),$.listCandidates(w),$.listCrossRunRequests(w)]);return{workspace:i.workspace,release:i.release,backgroundReview:R,evaluationReview:C,refinementCandidates:Q,crossRunRequests:N}},"inspectHarness"),reviewHarnessProposal:v,reviewHarness:v,acceptHarnessEvaluationReview:v,materializeHarnessEvaluationTaskset:v,runHarnessEvaluationBaseline:v,validateHarness:r(async()=>{let i=await O(t);return i?{valid:!0,workspaceId:i.workspace.id,harnessRelease:i.release.harnessRelease,agentSnapshot:i.release.agentSnapshot}:{valid:!1,reason:"No admitted hosted Harness release."}},"validateHarness"),updateHarnessBackgroundReview:v,diffHarness:v,rollbackHarness:v,inspectRefiner:v,updateRefiner:v,activateRefiner:v,rollbackRefiner:v,subscribeRuntimeEvents:P,observeRuntimeOperation:r(i=>d.info("agent runtime operation",i),"observeRuntimeOperation")}),close:r(async()=>{be||(be=!0,k?.close(),await T.close(),await Promise.all([p.drain(),H.drain(),E.drain()]),await b(),await d.flush())},"close")}),updateSession:L,storePath:"hosted-postgres",workspaceDir:s,pinSessionHarness:r(async i=>{let w=await W(t,await q(i));if(!w)return null;let R={id:w.release.harnessRelease.id,contentHash:w.release.harnessRelease.contentHash};return await Se.ensureHarnessRunOverlay({runId:i,workspace:w.workspace,harnessRelease:R,admittedAt:new Date().toISOString()}),R},"pinSessionHarness"),composition:["runtime_event_bus","session_store","hosted_provider","workspace_tools","command_approvals","harness","agent_runtime","jsonl_transport"]}}r(_o,"createHostedOwnedAppServer");export{_o as createHostedOwnedAppServer};
|