openpond 0.0.38 → 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/dist/api/core.d.ts +6 -0
- package/dist/api/vercel-protection.d.ts +1 -0
- package/dist/chunks/{app-layer-DPUJRNO2.js → app-layer-LTBWNA2F.js} +32 -10
- package/dist/chunks/app-server-runtime-VYYJ2AWX.js +18 -0
- package/dist/chunks/{apps-AKBI6AS7.js → apps-CZAJBGE3.js} +6 -4
- package/dist/chunks/{chunk-LZZM3IHS.js → chunk-2SF6HLT7.js} +5899 -5939
- package/dist/chunks/{chunk-XCATKTK3.js → chunk-3CDPPVLE.js} +108 -66
- package/dist/chunks/{chunk-JWF37O5E.js → chunk-3HW6OSHP.js} +1 -3
- package/dist/chunks/{chunk-43YI36NA.js → chunk-3KLQ52B2.js} +228 -5
- package/dist/chunks/chunk-4HIWFIMN.js +37172 -0
- package/dist/chunks/{chunk-AHPQTEIJ.js → chunk-4N6E3OVF.js} +4 -4
- package/dist/chunks/{chunk-YTJL6XPU.js → chunk-6V7MJVRO.js} +56 -11
- package/dist/chunks/{chunk-QRM7XMAO.js → chunk-BQQZNGI6.js} +152 -161
- package/dist/chunks/chunk-DBHSOTYZ.js +1552 -0
- package/dist/chunks/{chunk-275WCETC.js → chunk-FCVVOMIP.js} +145 -5
- package/dist/chunks/{chunk-GB6VUZUA.js → chunk-JIEUB6OS.js} +1 -1
- package/dist/chunks/{chunk-HS2AGRDV.js → chunk-JJPAMKXZ.js} +1 -1
- package/dist/chunks/{chunk-GDZYDLEL.js → chunk-JRROTGQT.js} +1 -110
- package/dist/chunks/chunk-KHNHUA2H.js +1737 -0
- package/dist/chunks/{chunk-AHNFNWUN.js → chunk-L6XH4ZGZ.js} +1 -1
- package/dist/chunks/chunk-M2NXTLH2.js +4054 -0
- package/dist/chunks/{chunk-SLMP353Q.js → chunk-MIZHCABO.js} +2 -195
- package/dist/chunks/chunk-SMNFI2FU.js +113 -0
- package/dist/chunks/chunk-VCVQLECH.js +675 -0
- package/dist/chunks/{chunk-V35STJF4.js → chunk-ZJBJQCQZ.js} +179 -52
- package/dist/chunks/{cli-7BKDWFNU.js → cli-JS76LCW2.js} +9 -5
- package/dist/chunks/{core-commands-YN4RMWA3.js → core-commands-4MRJQZJV.js} +7 -5
- package/dist/chunks/{harness-BHQRMXJR.js → desktop-test-RNMWLOVU.js} +15 -14
- package/dist/chunks/{chunk-XERQHYBO.js → extension-GDRW22N3.js} +5868 -3580
- package/dist/chunks/{help-VREQNA4I.js → help-LWNREJ7U.js} +1 -1
- package/dist/chunks/{opchat-D63YTNSX.js → opchat-2K2JIGK3.js} +9 -10
- package/dist/chunks/{organizations-I46KG7TC.js → organizations-Z5HVD2E7.js} +11 -9
- package/dist/chunks/{profile-WKZJHEPG.js → profile-QNECVVGN.js} +12 -38
- package/dist/chunks/{project-agent-ZUC3YMCT.js → project-agent-W3V75WBR.js} +9 -411
- package/dist/chunks/{sandbox-command-AAOPFTI5.js → sandbox-command-X3FO74NX.js} +7 -5
- package/dist/chunks/{sandbox-template-GKNVR4C5.js → sandbox-template-5B4T4BGU.js} +8 -6
- package/dist/chunks/{src-RPW5TOPI.js → src-ESAILPUH.js} +32 -30
- package/dist/chunks/src-IC5RX4L6.js +63517 -0
- package/dist/chunks/{teams-bot-PSL3ZO6Z.js → teams-bot-NTQ6VFFL.js} +6 -4
- package/dist/chunks/training-BR5A7SPU.js +320 -0
- package/dist/chunks/{workspaces-BPXC2DHT.js → workspaces-XC3QBD2Y.js} +2 -2
- package/dist/cli.js +24 -12
- package/dist/config.d.ts +9 -3
- package/dist/index.js +1300 -1045
- package/dist/profile/local-profile-types.d.ts +16 -0
- package/dist/profile/local-profile.d.ts +50 -4
- package/dist/sandbox/client-handles.d.ts +33 -46
- package/dist/sandbox/client.d.ts +4 -26
- package/dist/sandbox/sandbox-instance-client.d.ts +5 -5
- package/dist/sandbox/types/client.d.ts +1 -2
- package/dist/sandbox/types/core.d.ts +0 -1
- package/dist/sandbox/types/org-project-agent.d.ts +3 -89
- package/dist/sandbox/types/record.d.ts +1 -2
- package/dist/sandbox/types/runtime-profiles.d.ts +2 -2
- package/dist/sandbox-template/manifest.d.ts +1 -1
- package/dist/skills/openpond-agent-authoring/SKILL.md +40 -0
- package/dist/skills/openpond-agent-authoring/references/action-and-chat-design.md +13 -0
- package/dist/skills/openpond-agent-authoring/references/integrations-and-setup.md +13 -0
- package/dist/skills/openpond-agent-authoring/references/profile-layout.md +29 -0
- package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +14 -0
- package/dist/skills/openpond-desktop-harness/SKILL.md +1 -1
- package/dist/skills/openpond-skill-authoring/SKILL.md +44 -0
- package/dist/skills/openpond-skill-authoring/references/copying-and-adaptation.md +16 -0
- package/dist/skills/openpond-skill-authoring/references/skill-package-layout.md +38 -0
- package/dist/skills/openpond-skill-authoring/references/validation-and-repair.md +24 -0
- package/dist/skills/openpond-skill-authoring/scripts/validate-skill.mjs +102 -0
- package/dist/skills/openpond-taskset-authoring/SKILL.md +64 -22
- package/dist/skills/openpond-taskset-authoring/artifact.json +39 -0
- package/dist/skills/openpond-taskset-authoring/references/graders-and-rewards.md +3 -0
- package/dist/skills/openpond-taskset-authoring/references/method-selection.md +1 -1
- package/dist/skills/openpond-taskset-authoring/references/privacy-and-provenance.md +2 -0
- package/dist/skills/openpond-taskset-authoring/references/task-design.md +32 -0
- package/dist/web/assets/{AppDialog-DrwJb_wG.js → AppDialog-Bua3f-6v.js} +1 -1
- package/dist/web/assets/{AppsView-DPagLMsc.js → AppsView-DrJkHeSO.js} +1 -1
- package/dist/web/assets/BrowserSidebar-Bf-4Vozm.js +1 -0
- package/dist/web/assets/CommandMenu-DDZlGQiB.js +1 -0
- package/dist/web/assets/CommunityView-BtcCrba7.js +1 -0
- package/dist/web/assets/ComposerCreateImproveStrip-DOe5Otg6.js +1 -0
- package/dist/web/assets/GetStartedView-CG4z0Dtw.js +1 -0
- package/dist/web/assets/GetStartedView-yVmnGZPw.css +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-BEkmSKuv.js +1 -0
- package/dist/web/assets/LabSkillSidebar-BIotN_RB.js +1 -0
- package/dist/web/assets/LabsRoute-CfOe0Zt5.js +3 -0
- package/dist/web/assets/LabsRoute-CoSPO4HR.css +1 -0
- package/dist/web/assets/MainChatThread-C0-l1mHt.js +2 -0
- package/dist/web/assets/MainPane-Bky_Rqcx.css +1 -0
- package/dist/web/assets/MainPane-aOVlVyRK.js +6 -0
- package/dist/web/assets/MarkdownText-D7DT1k1k.js +9 -0
- package/dist/web/assets/Messages-CBIXruA9.js +9 -0
- package/dist/web/assets/NativeSkillSidebar-C4t69Y7B.js +1 -0
- package/dist/web/assets/NewProjectDialog-Bat65tYD.js +1 -0
- package/dist/web/assets/OutputsPage-C58n39Db.js +1 -0
- package/dist/web/assets/RightChatPanelStack-Bp7nZxQ0.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-BXP0j_c_.js +1 -0
- package/dist/web/assets/SettingsView-CtWK_aQ0.css +1 -0
- package/dist/web/assets/SettingsView-DOOfhO9a.js +6 -0
- package/dist/web/assets/TeamChatView-Cgxm-pKA.css +1 -0
- package/dist/web/assets/TeamChatView-De2wdqyY.js +3 -0
- package/dist/web/assets/{TerminalOverlay-BKl0p8pa.js → TerminalOverlay-BsuCH3NX.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-D2OFWyQ-.js +1 -0
- package/dist/web/assets/TrainingDraftPanel-DBpulXTz.js +1 -0
- package/dist/web/assets/{UsageSettingsSection-zDAwzTGl.js → UsageSettingsSection-DzMLUXAO.js} +37 -37
- package/dist/web/assets/WorkspaceDiffPanel-B7yIhjNF.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-B6jXM9xG.js +32 -0
- package/dist/web/assets/WorkspaceGitDialogs-CQ0fl9Qk.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DPGcG8fy.js → WorkspaceMonacoEditor-C2ctzITz.js} +3 -3
- package/dist/web/assets/arrow-up-right-ecwcx3xt.js +1 -0
- package/dist/web/assets/chevron-up-DP8PPfWd.js +1 -0
- package/dist/web/assets/circle-alert-envg1D6O.js +1 -0
- package/dist/web/assets/cloud-upload-5MGPLnaA.js +1 -0
- package/dist/web/assets/{cssMode-CKN9CcfG.js → cssMode-CFifcEfw.js} +1 -1
- package/dist/web/assets/folder-open-Dq3ZjeEP.js +1 -0
- package/dist/web/assets/folder-plus-EiZ5wbv_.js +1 -0
- package/dist/web/assets/git-branch-w29jmQ-X.js +1 -0
- package/dist/web/assets/{git-commit-horizontal-Bxi8YPep.js → git-commit-horizontal-CGZM0PZo.js} +1 -1
- package/dist/web/assets/{htmlMode-CeUcNhBZ.js → htmlMode-Ct1P-_lf.js} +1 -1
- package/dist/web/assets/index-ByIQyiUl.js +178 -0
- package/dist/web/assets/index-D4uCeiep.js +1 -0
- package/dist/web/assets/index-D9jTe16Q.css +1 -0
- package/dist/web/assets/info-Cd2HkIeb.js +1 -0
- package/dist/web/assets/{jsonMode-97z0Yz9u.js → jsonMode-BAUNCNAX.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-D4Tp-JmI.js → lspLanguageFeatures-fucFYI1A.js} +1 -1
- package/dist/web/assets/monaco.contribution-Ce4v5kei.js +2 -0
- package/dist/web/assets/monaco.contribution-DLLMi4cB.js +2 -0
- package/dist/web/assets/monaco.contribution-g9QiIm1d.js +2 -0
- package/dist/web/assets/monaco.contribution-nG-5Cyjz.js +2 -0
- package/dist/web/assets/monitor-DgHCnCKl.js +1 -0
- package/dist/web/assets/{play-C-37dnR1.js → play-Be0XDHBu.js} +1 -1
- package/dist/web/assets/{python-CGpDXY7_.js → python-CEhEiPo7.js} +1 -1
- package/dist/web/assets/{refresh-cw-BAaaPCXl.js → refresh-cw-DH0KLbdD.js} +1 -1
- package/dist/web/assets/reply-D1TK2yV8.js +1 -0
- package/dist/web/assets/{save-Cvxs3XyC.js → save-C1MSeBnQ.js} +1 -1
- package/dist/web/assets/square-CemI-0g5.js +1 -0
- package/dist/web/assets/square-pen-CqfsvR_n.js +1 -0
- package/dist/web/assets/{toggleHighContrast-CD42jH4g.js → toggleHighContrast-DrdQN3Rl.js} +1 -1
- package/dist/web/assets/training-BQVNUTZA.css +1 -0
- package/dist/web/assets/training-model-data-B7-1Bxil.js +1 -0
- package/dist/web/assets/{tsMode-ZROIxEjv.js → tsMode-CKB5oOUU.js} +1 -1
- package/dist/web/assets/{upload-DvCSGERK.js → upload-t751LLqP.js} +1 -1
- package/dist/web/assets/useLocalAgentSchedules-CzC3wfIP.js +1 -0
- package/dist/web/assets/{wifi-off-BIb94PkS.js → wifi-off-CxTHH3JU.js} +1 -1
- package/dist/web/assets/{workers-oYqbrVYG.js → workers-CqYddzCd.js} +1 -1
- package/dist/web/assets/{yaml-WqBjNgOO.js → yaml-e5wBkc-C.js} +1 -1
- package/dist/web/index.html +2 -2
- package/docs/command-reference.md +75 -40
- package/package.json +3 -1
- package/dist/chunks/chunk-FWLOFUPU.js +0 -864
- package/dist/chunks/chunk-HLCTINEP.js +0 -224
- package/dist/chunks/chunk-MPGSHXGF.js +0 -3896
- package/dist/chunks/chunk-T4QXKU5Y.js +0 -1
- package/dist/chunks/chunk-XEJ7XXUQ.js +0 -1301
- package/dist/chunks/chunk-ZI4GDAUB.js +0 -3522
- package/dist/chunks/cli-2KBVNDRY.js +0 -23
- package/dist/chunks/extend-REGNTBK3.js +0 -89
- package/dist/chunks/extension-7K77DAVL.js +0 -121
- package/dist/chunks/fileFromPath-DHCRY3BD.js +0 -2151
- package/dist/chunks/src-MWDIK56B.js +0 -105881
- package/dist/web/assets/BrowserSidebar-DMn2V8RV.js +0 -1
- package/dist/web/assets/CloudWorkView-Cl_7mM3c.js +0 -1
- package/dist/web/assets/CloudWorkView-DNoPIlMj.css +0 -1
- package/dist/web/assets/CommandMenu-CHMQLez_.js +0 -1
- package/dist/web/assets/CommunityView-DcHVDUk0.js +0 -1
- package/dist/web/assets/ComposerCreateImproveStrip-BZ3Dgzmo.js +0 -1
- package/dist/web/assets/GetStartedView-DBLdduwr.css +0 -1
- package/dist/web/assets/GetStartedView-DTRotFqz.js +0 -1
- package/dist/web/assets/LabSkillSidebar-D-PqFe1T.js +0 -1
- package/dist/web/assets/LabsRoute-BrJkBNig.css +0 -1
- package/dist/web/assets/LabsRoute-Dew1BwK5.js +0 -3
- package/dist/web/assets/MainChatThread-BaPxxzrw.js +0 -2
- package/dist/web/assets/MakeAgentTutorialLearningPanel-CBsfnONQ.js +0 -2
- package/dist/web/assets/MarkdownText-DGLfAM_Z.js +0 -7
- package/dist/web/assets/Messages-CIX9uTjX.js +0 -10
- package/dist/web/assets/NativeSkillSidebar-AP_uHn6g.js +0 -1
- package/dist/web/assets/NewProjectDialog-C6lHkafU.js +0 -1
- package/dist/web/assets/PostTrainingLearningPanel-CZEgPc8O.js +0 -2
- package/dist/web/assets/PostTrainingStatusPill-CeEpwUDB.js +0 -1
- package/dist/web/assets/ProfileSettingsSection-Cg4tKO-C.css +0 -1
- package/dist/web/assets/ProfileSettingsSection-EumMLlEp.js +0 -1
- package/dist/web/assets/RightChatPanelStack-MXBcx3zO.js +0 -1
- package/dist/web/assets/SettingsView-Caljbns2.css +0 -1
- package/dist/web/assets/SettingsView-DyURG_Uh.js +0 -6
- package/dist/web/assets/TeamChatView-Bx44q3WV.css +0 -1
- package/dist/web/assets/TeamChatView-D3v6aqJ3.js +0 -3
- package/dist/web/assets/TrainingCreationPanel-CfZQTuT5.js +0 -1
- package/dist/web/assets/TrainingDraftPanel-DslRPSDW.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-C_MZPPlL.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-BUAnn80j.js +0 -32
- package/dist/web/assets/WorkspaceGitDialogs-Drbf4ujA.js +0 -1
- package/dist/web/assets/activity-Dnr3jqb3.js +0 -1
- package/dist/web/assets/boxes-BinC8UPn.js +0 -1
- package/dist/web/assets/chevron-up-Bjp_-_Cb.js +0 -1
- package/dist/web/assets/circle-x-ubnvEYuE.js +0 -1
- package/dist/web/assets/copy-B_ZCCUMz.js +0 -1
- package/dist/web/assets/create-pipeline-request-D6uLUxe9.js +0 -4
- package/dist/web/assets/file-8HAMlTmQ.js +0 -1
- package/dist/web/assets/git-branch-l2Zih3Bv.js +0 -1
- package/dist/web/assets/index-BMFyOFRU.css +0 -1
- package/dist/web/assets/index-BzwcDzbT.js +0 -1
- package/dist/web/assets/index-KoQSSt_f.js +0 -177
- package/dist/web/assets/info-JTbDQxHx.js +0 -1
- package/dist/web/assets/make-agent-tutorial-D6nBCgv-.js +0 -2
- package/dist/web/assets/monaco.contribution-B3j6oown.js +0 -2
- package/dist/web/assets/monaco.contribution-BXHxPPWL.js +0 -2
- package/dist/web/assets/monaco.contribution-C2P5zIzh.js +0 -2
- package/dist/web/assets/monaco.contribution-C8c6OtGi.js +0 -2
- package/dist/web/assets/monitor-kzHtxHnA.js +0 -1
- package/dist/web/assets/reply-9rehU13k.js +0 -1
- package/dist/web/assets/rotate-cw-C1Z_Xs23.js +0 -1
- package/dist/web/assets/training-BN8CALIc.css +0 -1
- package/dist/web/assets/training-model-data-BXUCzS0p.js +0 -1
- package/docs/agent-edit-check-status-json.md +0 -132
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
materializeSourceUploadFile,
|
|
5
5
|
readSourceUploadCache,
|
|
6
6
|
writeSourceUploadCache
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JIEUB6OS.js";
|
|
8
8
|
import {
|
|
9
9
|
yaml
|
|
10
10
|
} from "./chunk-WYDVQOBL.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
loadGlobalConfig,
|
|
13
13
|
openPondConfigDirectory,
|
|
14
14
|
saveGlobalConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-DBHSOTYZ.js";
|
|
16
16
|
|
|
17
17
|
// ../../packages/cloud/src/profile/profile-setup-gate.ts
|
|
18
18
|
var OpenPondProfileSetupRequiredError = class extends Error {
|
|
@@ -160,7 +160,6 @@ var PROFILE_REPO_GITIGNORE = [
|
|
|
160
160
|
"**/.bun/",
|
|
161
161
|
"**/.env",
|
|
162
162
|
"**/.env.*",
|
|
163
|
-
"**/.openpond/goals/",
|
|
164
163
|
"**/.openpond/traces/",
|
|
165
164
|
"**/.openpond/vendor/",
|
|
166
165
|
"**/.openpond/eval-results.json",
|
|
@@ -490,12 +489,10 @@ function hostedSourceCheckStatusFromPayload(input) {
|
|
|
490
489
|
const deployPlan = record(checkResult?.deployPlan) ?? record(input.deployPlan);
|
|
491
490
|
const source = record(deployPlan?.source);
|
|
492
491
|
const checks = record(deployPlan?.checks);
|
|
493
|
-
const workItem = record(checkResult?.workItem);
|
|
494
492
|
const sourceCheckStatus = record(checkResult?.sourceCheckStatus);
|
|
495
493
|
return {
|
|
496
494
|
status: input.status,
|
|
497
495
|
agentId: input.agentId,
|
|
498
|
-
workItemId: text2(workItem?.id),
|
|
499
496
|
deployPlanStatus: text2(deployPlan?.status),
|
|
500
497
|
canRun: booleanValue(deployPlan?.canRun),
|
|
501
498
|
canDeploy: booleanValue(deployPlan?.canDeploy),
|
|
@@ -601,6 +598,8 @@ import {
|
|
|
601
598
|
mkdir,
|
|
602
599
|
readFile as readFile4,
|
|
603
600
|
readdir as readdir2,
|
|
601
|
+
rename,
|
|
602
|
+
rm,
|
|
604
603
|
symlink,
|
|
605
604
|
writeFile as writeFile2
|
|
606
605
|
} from "node:fs/promises";
|
|
@@ -670,6 +669,7 @@ import path3 from "node:path";
|
|
|
670
669
|
var AGENT_MANIFEST_PATH = ".openpond/agent-manifest.json";
|
|
671
670
|
var ACTION_REGISTRY_PATH = ".openpond/action-registry.json";
|
|
672
671
|
var SOURCE_UPLOAD_METADATA_PATH = ".openpond/source-upload-metadata.json";
|
|
672
|
+
var AGENT_PACKAGE_ORIGIN_PATH = ".openpond/agent-package-origin.json";
|
|
673
673
|
async function loadProfileActionCatalog(sourcePath) {
|
|
674
674
|
return loadProfileActionCatalogSource({
|
|
675
675
|
agentId: "default",
|
|
@@ -696,7 +696,9 @@ async function loadProfileActionCatalogForSources(sources) {
|
|
|
696
696
|
...sources.filter((source) => source.preferred),
|
|
697
697
|
...sources.filter((source) => !source.preferred)
|
|
698
698
|
];
|
|
699
|
-
const results = await Promise.all(
|
|
699
|
+
const results = await Promise.all(
|
|
700
|
+
sortedSources.map(loadProfileActionCatalogSource)
|
|
701
|
+
);
|
|
700
702
|
const byId = /* @__PURE__ */ new Map();
|
|
701
703
|
const actionCatalog = [];
|
|
702
704
|
for (const result of results) {
|
|
@@ -707,7 +709,9 @@ async function loadProfileActionCatalogForSources(sources) {
|
|
|
707
709
|
actionCatalog.push(next);
|
|
708
710
|
}
|
|
709
711
|
}
|
|
710
|
-
const generatedAt = latestIso(
|
|
712
|
+
const generatedAt = latestIso(
|
|
713
|
+
results.map((result) => result.catalog.generatedAt)
|
|
714
|
+
);
|
|
711
715
|
const errors = results.map((result) => result.catalog.error).filter(Boolean);
|
|
712
716
|
return {
|
|
713
717
|
catalog: {
|
|
@@ -719,20 +723,37 @@ async function loadProfileActionCatalogForSources(sources) {
|
|
|
719
723
|
error: errors.length > 0 ? errors.join("; ") : null
|
|
720
724
|
},
|
|
721
725
|
actionCatalog,
|
|
722
|
-
sourceSetupRequirements: results.flatMap(
|
|
726
|
+
sourceSetupRequirements: results.flatMap(
|
|
727
|
+
(result) => result.sourceSetupRequirements
|
|
728
|
+
)
|
|
723
729
|
};
|
|
724
730
|
}
|
|
725
731
|
async function loadProfileActionCatalogSource(source) {
|
|
726
732
|
const sourcePath = source.sourcePath;
|
|
727
733
|
const manifestPath = path3.join(sourcePath, AGENT_MANIFEST_PATH);
|
|
728
734
|
const registryPath = path3.join(sourcePath, ACTION_REGISTRY_PATH);
|
|
729
|
-
const sourceUploadMetadataPath = path3.join(
|
|
735
|
+
const sourceUploadMetadataPath = path3.join(
|
|
736
|
+
sourcePath,
|
|
737
|
+
SOURCE_UPLOAD_METADATA_PATH
|
|
738
|
+
);
|
|
739
|
+
const agentPackageOriginPath = path3.join(
|
|
740
|
+
sourcePath,
|
|
741
|
+
AGENT_PACKAGE_ORIGIN_PATH
|
|
742
|
+
);
|
|
730
743
|
try {
|
|
731
744
|
const manifest = await readJsonIfExists(manifestPath);
|
|
732
745
|
const registry = await readJsonIfExists(registryPath);
|
|
733
|
-
const sourceUploadMetadata = await readJsonIfExists(
|
|
746
|
+
const sourceUploadMetadata = await readJsonIfExists(
|
|
747
|
+
sourceUploadMetadataPath
|
|
748
|
+
);
|
|
749
|
+
const agentPackageOrigin = asRecord(
|
|
750
|
+
await readJsonIfExists(agentPackageOriginPath)
|
|
751
|
+
);
|
|
752
|
+
const namedInputSchemas = asRecord(asRecord(manifest)?.inputSchemas);
|
|
734
753
|
const sourceSetupRequirements = recordArray(asRecord(sourceUploadMetadata)?.setupRequirements) ?? [];
|
|
735
|
-
const sourceRequirementsByAction = sourceSetupRequirementsByAction(
|
|
754
|
+
const sourceRequirementsByAction = sourceSetupRequirementsByAction(
|
|
755
|
+
sourceSetupRequirements
|
|
756
|
+
);
|
|
736
757
|
const byId = /* @__PURE__ */ new Map();
|
|
737
758
|
for (const record2 of [
|
|
738
759
|
...records(asRecord(manifest)?.actionCatalog),
|
|
@@ -760,14 +781,17 @@ async function loadProfileActionCatalogSource(source) {
|
|
|
760
781
|
label: text3(record2.label) ?? existing?.label ?? titleFromActionId(id),
|
|
761
782
|
description: text3(record2.description) ?? existing?.description ?? null,
|
|
762
783
|
visibility: text3(record2.visibility) ?? existing?.visibility ?? "default",
|
|
763
|
-
inputSchema:
|
|
784
|
+
inputSchema: resolvedSchemaValue(record2.inputSchema, namedInputSchemas) ?? existing?.inputSchema ?? null,
|
|
764
785
|
outputSchema: schemaValue(record2.outputSchema) ?? existing?.outputSchema ?? null,
|
|
765
786
|
approvalPolicy: asRecord(record2.approvalPolicy) ?? existing?.approvalPolicy ?? null,
|
|
766
787
|
artifactPolicy: asRecord(record2.artifactPolicy) ?? existing?.artifactPolicy ?? null,
|
|
767
788
|
setupRequirements,
|
|
768
789
|
mcp: asRecord(record2.mcp) ?? existing?.mcp ?? null,
|
|
769
790
|
schedulePolicy: asRecord(record2.schedulePolicy) ?? existing?.schedulePolicy ?? null,
|
|
770
|
-
trace:
|
|
791
|
+
trace: mergeAgentPackageTrace(
|
|
792
|
+
asRecord(record2.trace) ?? existing?.trace ?? null,
|
|
793
|
+
agentPackageOrigin
|
|
794
|
+
),
|
|
771
795
|
implementation: asRecord(record2.implementation) ?? existing?.implementation ?? null,
|
|
772
796
|
invokesModel: typeof record2.invokesModel === "boolean" ? record2.invokesModel : existing?.invokesModel
|
|
773
797
|
};
|
|
@@ -808,6 +832,24 @@ async function loadProfileActionCatalogSource(source) {
|
|
|
808
832
|
};
|
|
809
833
|
}
|
|
810
834
|
}
|
|
835
|
+
function mergeAgentPackageTrace(trace, origin) {
|
|
836
|
+
if (!origin) return trace;
|
|
837
|
+
const versionId = text3(origin.versionId);
|
|
838
|
+
const digest = text3(origin.digest);
|
|
839
|
+
if (!versionId || !digest) return trace;
|
|
840
|
+
return {
|
|
841
|
+
...trace ?? {},
|
|
842
|
+
agentVersionId: versionId,
|
|
843
|
+
agentPackageDigest: digest,
|
|
844
|
+
validationReceiptIds: stringArray(origin.validationReceiptIds),
|
|
845
|
+
evalReceiptIds: stringArray(origin.evalReceiptIds)
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
function stringArray(value) {
|
|
849
|
+
return Array.isArray(value) ? value.filter(
|
|
850
|
+
(entry) => typeof entry === "string" && entry.trim().length > 0
|
|
851
|
+
) : [];
|
|
852
|
+
}
|
|
811
853
|
function latestIso(values) {
|
|
812
854
|
let latest = 0;
|
|
813
855
|
for (const value of values) {
|
|
@@ -885,11 +927,15 @@ function asRecord(value) {
|
|
|
885
927
|
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
886
928
|
}
|
|
887
929
|
function records(value) {
|
|
888
|
-
return Array.isArray(value) ? value.filter(
|
|
930
|
+
return Array.isArray(value) ? value.filter(
|
|
931
|
+
(item) => Boolean(asRecord(item))
|
|
932
|
+
) : [];
|
|
889
933
|
}
|
|
890
934
|
function recordArray(value) {
|
|
891
935
|
if (!Array.isArray(value)) return null;
|
|
892
|
-
return value.filter(
|
|
936
|
+
return value.filter(
|
|
937
|
+
(item) => Boolean(asRecord(item))
|
|
938
|
+
);
|
|
893
939
|
}
|
|
894
940
|
function text3(value) {
|
|
895
941
|
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
@@ -897,6 +943,11 @@ function text3(value) {
|
|
|
897
943
|
function schemaValue(value) {
|
|
898
944
|
return text3(value) ?? asRecord(value);
|
|
899
945
|
}
|
|
946
|
+
function resolvedSchemaValue(value, namedSchemas) {
|
|
947
|
+
const schema = schemaValue(value);
|
|
948
|
+
if (typeof schema !== "string") return schema;
|
|
949
|
+
return asRecord(namedSchemas?.[schema]) ?? schema;
|
|
950
|
+
}
|
|
900
951
|
function titleFromActionId(id) {
|
|
901
952
|
const title = id.replace(/[._-]+/g, " ").trim();
|
|
902
953
|
return title ? title.replace(/\b\w/g, (letter) => letter.toUpperCase()) : id;
|
|
@@ -1098,19 +1149,58 @@ function mergeProfileRepoManifestEntry(existing, profilePath) {
|
|
|
1098
1149
|
};
|
|
1099
1150
|
}
|
|
1100
1151
|
function mergeActiveLocalProfileConfig(existing, repoPath, profile) {
|
|
1152
|
+
const previousEntries = profileConfigEntries(existing);
|
|
1153
|
+
if (existing) {
|
|
1154
|
+
const previousIndex = previousEntries.findIndex(
|
|
1155
|
+
(entry) => path5.resolve(entry.repoPath) === path5.resolve(existing.repoPath) && entry.profile === existing.profile
|
|
1156
|
+
);
|
|
1157
|
+
const previousEntry = {
|
|
1158
|
+
source: previousEntries[previousIndex]?.source ?? "local",
|
|
1159
|
+
repositoryId: previousEntries[previousIndex]?.repositoryId ?? path5.resolve(existing.repoPath),
|
|
1160
|
+
repoPath: path5.resolve(existing.repoPath),
|
|
1161
|
+
profile: existing.profile,
|
|
1162
|
+
...existing.lastCheck ? { lastCheck: existing.lastCheck } : {},
|
|
1163
|
+
...existing.lastPush ? { lastPush: existing.lastPush } : {}
|
|
1164
|
+
};
|
|
1165
|
+
if (previousIndex >= 0) previousEntries[previousIndex] = previousEntry;
|
|
1166
|
+
else previousEntries.push(previousEntry);
|
|
1167
|
+
}
|
|
1168
|
+
const targetIndex = previousEntries.findIndex(
|
|
1169
|
+
(entry) => path5.resolve(entry.repoPath) === path5.resolve(repoPath) && entry.profile === profile
|
|
1170
|
+
);
|
|
1171
|
+
const target = targetIndex >= 0 ? previousEntries[targetIndex] : {
|
|
1172
|
+
source: "local",
|
|
1173
|
+
repositoryId: path5.resolve(repoPath),
|
|
1174
|
+
repoPath: path5.resolve(repoPath),
|
|
1175
|
+
profile
|
|
1176
|
+
};
|
|
1177
|
+
if (targetIndex < 0) previousEntries.push(target);
|
|
1101
1178
|
const next = {
|
|
1102
|
-
repoPath,
|
|
1179
|
+
repoPath: path5.resolve(repoPath),
|
|
1103
1180
|
profile,
|
|
1104
|
-
mode: "local"
|
|
1181
|
+
mode: "local",
|
|
1182
|
+
profiles: previousEntries,
|
|
1183
|
+
...target.lastCheck ? { lastCheck: target.lastCheck } : {},
|
|
1184
|
+
...target.lastPush ? { lastPush: target.lastPush } : {}
|
|
1105
1185
|
};
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1186
|
+
return next;
|
|
1187
|
+
}
|
|
1188
|
+
function profileConfigEntries(config) {
|
|
1189
|
+
if (!config) return [];
|
|
1190
|
+
const configured = config.profiles?.map((entry) => ({ ...entry })) ?? [];
|
|
1191
|
+
if (!configured.some(
|
|
1192
|
+
(entry) => path5.resolve(entry.repoPath) === path5.resolve(config.repoPath) && entry.profile === config.profile
|
|
1193
|
+
)) {
|
|
1194
|
+
configured.push({
|
|
1195
|
+
source: "local",
|
|
1196
|
+
repositoryId: path5.resolve(config.repoPath),
|
|
1197
|
+
repoPath: path5.resolve(config.repoPath),
|
|
1198
|
+
profile: config.profile,
|
|
1199
|
+
...config.lastCheck ? { lastCheck: config.lastCheck } : {},
|
|
1200
|
+
...config.lastPush ? { lastPush: config.lastPush } : {}
|
|
1201
|
+
});
|
|
1109
1202
|
}
|
|
1110
|
-
return
|
|
1111
|
-
...existing,
|
|
1112
|
-
...next
|
|
1113
|
-
};
|
|
1203
|
+
return configured;
|
|
1114
1204
|
}
|
|
1115
1205
|
var require2 = createRequire(import.meta.url);
|
|
1116
1206
|
function defaultLocalProfileRepoPath() {
|
|
@@ -1146,22 +1236,36 @@ async function initLocalProfileRepo(input = {}) {
|
|
|
1146
1236
|
const profile = normalizeProfileName(input.profile);
|
|
1147
1237
|
const profilePath = path5.join("profiles", profile);
|
|
1148
1238
|
const profileSourcePath2 = path5.join(repoPath, profilePath);
|
|
1239
|
+
const template = input.template ?? "blank-agent";
|
|
1240
|
+
const blankProfile = template === "blank-profile";
|
|
1149
1241
|
await mkdir(repoPath, { recursive: true });
|
|
1242
|
+
const manifestAlreadyExists = existsSync4(
|
|
1243
|
+
path5.join(repoPath, PROFILE_REPO_MANIFEST)
|
|
1244
|
+
);
|
|
1150
1245
|
const manifest = await readProfileManifest(repoPath).catch(
|
|
1151
1246
|
() => defaultProfileManifest(profile, profilePath)
|
|
1152
1247
|
);
|
|
1248
|
+
if (blankProfile && manifestAlreadyExists && manifest.profiles[profile]) {
|
|
1249
|
+
throw new Error(`Profile "${profile}" already exists in ${repoPath}.`);
|
|
1250
|
+
}
|
|
1153
1251
|
manifest.defaultProfile = manifest.defaultProfile || profile;
|
|
1154
1252
|
manifest.profiles[profile] = mergeProfileRepoManifestEntry(
|
|
1155
1253
|
manifest.profiles[profile],
|
|
1156
1254
|
profilePath
|
|
1157
1255
|
);
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1256
|
+
if (blankProfile) manifest.profiles[profile].enabledAgents = [];
|
|
1257
|
+
if (blankProfile) await mkdir(profileSourcePath2, { recursive: true });
|
|
1258
|
+
else {
|
|
1259
|
+
await ensureProfileSource(
|
|
1260
|
+
profileSourcePath2,
|
|
1261
|
+
template,
|
|
1262
|
+
Boolean(input.force)
|
|
1263
|
+
);
|
|
1264
|
+
}
|
|
1163
1265
|
await ensureProfileDependencies(profileSourcePath2);
|
|
1164
|
-
await ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile
|
|
1266
|
+
await ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile, {
|
|
1267
|
+
includeDefaultAgent: !blankProfile
|
|
1268
|
+
});
|
|
1165
1269
|
await writeProfileManifest(repoPath, manifest);
|
|
1166
1270
|
await ensureProfileGitRepo(repoPath);
|
|
1167
1271
|
const currentConfig = (await loadGlobalConfig()).openpondProfile;
|
|
@@ -1174,25 +1278,34 @@ async function initLocalProfileRepo(input = {}) {
|
|
|
1174
1278
|
});
|
|
1175
1279
|
return loadOpenPondProfileState();
|
|
1176
1280
|
}
|
|
1177
|
-
async function loadLocalProfileRepo(repoPathInput, profileInput) {
|
|
1281
|
+
async function loadLocalProfileRepo(repoPathInput, profileInput, identity) {
|
|
1178
1282
|
const repoPath = path5.resolve(repoPathInput);
|
|
1179
1283
|
const manifest = await readProfileManifest(repoPath);
|
|
1180
1284
|
const profile = normalizeProfileName(profileInput ?? manifest.defaultProfile);
|
|
1181
1285
|
profileSourcePath(manifest, repoPath, profile);
|
|
1182
1286
|
const currentConfig = (await loadGlobalConfig()).openpondProfile;
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
repoPath,
|
|
1187
|
-
profile
|
|
1188
|
-
)
|
|
1189
|
-
});
|
|
1287
|
+
const next = mergeActiveLocalProfileConfig(currentConfig, repoPath, profile);
|
|
1288
|
+
applyProfileIdentity(next, repoPath, profile, identity);
|
|
1289
|
+
await saveGlobalConfig({ openpondProfile: next });
|
|
1190
1290
|
return loadOpenPondProfileState();
|
|
1191
1291
|
}
|
|
1292
|
+
function applyProfileIdentity(config, repoPath, profile, identity) {
|
|
1293
|
+
if (!identity) return;
|
|
1294
|
+
config.profiles = profileConfigEntries(config).map(
|
|
1295
|
+
(entry) => path5.resolve(entry.repoPath) === repoPath && entry.profile === profile ? {
|
|
1296
|
+
...entry,
|
|
1297
|
+
source: identity.source,
|
|
1298
|
+
repositoryId: identity.repositoryId
|
|
1299
|
+
} : entry
|
|
1300
|
+
);
|
|
1301
|
+
}
|
|
1192
1302
|
async function loadOpenPondProfileState() {
|
|
1193
1303
|
const config = await loadGlobalConfig();
|
|
1194
1304
|
const active = config.openpondProfile;
|
|
1195
1305
|
if (!active) return emptyProfileState();
|
|
1306
|
+
return loadOpenPondProfileStateForConfig(active);
|
|
1307
|
+
}
|
|
1308
|
+
async function loadOpenPondProfileStateForConfig(active) {
|
|
1196
1309
|
try {
|
|
1197
1310
|
const manifest = await readProfileManifest(active.repoPath);
|
|
1198
1311
|
const sourcePath = profileSourcePath(
|
|
@@ -1325,7 +1438,9 @@ async function runProfileSdkCommand(input) {
|
|
|
1325
1438
|
inherit: input.inherit,
|
|
1326
1439
|
throwOnFailure: false
|
|
1327
1440
|
});
|
|
1328
|
-
|
|
1441
|
+
if (input.command === "inspect" || input.command === "build" || input.command === "validate" || input.command === "eval") {
|
|
1442
|
+
await saveProfileCheckStatus(input.command, result.code);
|
|
1443
|
+
}
|
|
1329
1444
|
if (result.code !== 0) {
|
|
1330
1445
|
const detail = result.stderr.trim() || result.stdout.trim();
|
|
1331
1446
|
throw new Error(
|
|
@@ -1433,10 +1548,14 @@ async function commitActiveProfileChanges(message) {
|
|
|
1433
1548
|
async function saveProfilePushStatus(status) {
|
|
1434
1549
|
const config = (await loadGlobalConfig()).openpondProfile;
|
|
1435
1550
|
if (!config) return;
|
|
1551
|
+
const profiles = profileConfigEntries(config).map(
|
|
1552
|
+
(entry) => path5.resolve(entry.repoPath) === path5.resolve(config.repoPath) && entry.profile === config.profile ? { ...entry, lastPush: status } : entry
|
|
1553
|
+
);
|
|
1436
1554
|
await saveGlobalConfig({
|
|
1437
1555
|
openpondProfile: {
|
|
1438
1556
|
...config,
|
|
1439
|
-
lastPush: status
|
|
1557
|
+
lastPush: status,
|
|
1558
|
+
profiles
|
|
1440
1559
|
}
|
|
1441
1560
|
});
|
|
1442
1561
|
}
|
|
@@ -1444,16 +1563,21 @@ async function saveProfileCheckStatus(command, exitCode) {
|
|
|
1444
1563
|
const config = (await loadGlobalConfig()).openpondProfile;
|
|
1445
1564
|
if (!config) return;
|
|
1446
1565
|
const sourceHead = await profileGitHead(config.repoPath).catch(() => null);
|
|
1566
|
+
const lastCheck = {
|
|
1567
|
+
command,
|
|
1568
|
+
status: exitCode === 0 ? "passed" : "failed",
|
|
1569
|
+
checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1570
|
+
exitCode,
|
|
1571
|
+
sourceHead
|
|
1572
|
+
};
|
|
1573
|
+
const profiles = profileConfigEntries(config).map(
|
|
1574
|
+
(entry) => path5.resolve(entry.repoPath) === path5.resolve(config.repoPath) && entry.profile === config.profile ? { ...entry, lastCheck } : entry
|
|
1575
|
+
);
|
|
1447
1576
|
await saveGlobalConfig({
|
|
1448
1577
|
openpondProfile: {
|
|
1449
1578
|
...config,
|
|
1450
|
-
lastCheck
|
|
1451
|
-
|
|
1452
|
-
status: exitCode === 0 ? "passed" : "failed",
|
|
1453
|
-
checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1454
|
-
exitCode,
|
|
1455
|
-
sourceHead
|
|
1456
|
-
}
|
|
1579
|
+
lastCheck,
|
|
1580
|
+
profiles
|
|
1457
1581
|
}
|
|
1458
1582
|
});
|
|
1459
1583
|
}
|
|
@@ -1473,7 +1597,7 @@ async function ensureProfileSource(profileSourcePath2, template, force) {
|
|
|
1473
1597
|
});
|
|
1474
1598
|
await rewriteTemplateSdkDependency(profileSourcePath2, sdkRoot);
|
|
1475
1599
|
}
|
|
1476
|
-
async function ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile) {
|
|
1600
|
+
async function ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile, options = {}) {
|
|
1477
1601
|
await mkdir(path5.join(repoPath, "profiles"), { recursive: true });
|
|
1478
1602
|
for (const dir of [
|
|
1479
1603
|
"agents",
|
|
@@ -1490,15 +1614,18 @@ async function ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile)
|
|
|
1490
1614
|
}
|
|
1491
1615
|
const profileManifestPath = path5.join(profileSourcePath2, PROFILE_MANIFEST);
|
|
1492
1616
|
if (!existsSync4(profileManifestPath)) {
|
|
1617
|
+
const agentLines = options.includeDefaultAgent === false ? ["agents: []"] : [
|
|
1618
|
+
"agents:",
|
|
1619
|
+
` - id: ${DEFAULT_PROFILE_AGENT}`,
|
|
1620
|
+
" path: agent/agent.ts",
|
|
1621
|
+
" enabled: true"
|
|
1622
|
+
];
|
|
1493
1623
|
await writeFile2(
|
|
1494
1624
|
profileManifestPath,
|
|
1495
1625
|
[
|
|
1496
1626
|
"schema: openpond.profile.v1",
|
|
1497
1627
|
`profile: ${profile}`,
|
|
1498
|
-
|
|
1499
|
-
` - id: ${DEFAULT_PROFILE_AGENT}`,
|
|
1500
|
-
" path: agent/agent.ts",
|
|
1501
|
-
" enabled: true",
|
|
1628
|
+
...agentLines,
|
|
1502
1629
|
""
|
|
1503
1630
|
].join("\n"),
|
|
1504
1631
|
"utf8"
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
resolveWebLaunchMessages,
|
|
4
|
+
runOpenPondAppServerCli,
|
|
4
5
|
runOpenPondServerCli
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-6V7MJVRO.js";
|
|
7
|
+
import "./chunk-VCVQLECH.js";
|
|
8
|
+
import "./chunk-BQQZNGI6.js";
|
|
9
|
+
import "./chunk-JJPAMKXZ.js";
|
|
10
|
+
import "./chunk-2SF6HLT7.js";
|
|
11
|
+
import "./chunk-M2NXTLH2.js";
|
|
10
12
|
import "./chunk-WYDVQOBL.js";
|
|
13
|
+
import "./chunk-KHNHUA2H.js";
|
|
11
14
|
import "./chunk-UACZUFIA.js";
|
|
12
15
|
export {
|
|
13
16
|
resolveWebLaunchMessages,
|
|
17
|
+
runOpenPondAppServerCli,
|
|
14
18
|
runOpenPondServerCli
|
|
15
19
|
};
|
|
@@ -16,11 +16,13 @@ import {
|
|
|
16
16
|
runTemplateUpdate,
|
|
17
17
|
runToolList,
|
|
18
18
|
runToolRun
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-4N6E3OVF.js";
|
|
20
|
+
import "./chunk-FCVVOMIP.js";
|
|
21
|
+
import "./chunk-KHNHUA2H.js";
|
|
22
|
+
import "./chunk-JRROTGQT.js";
|
|
23
|
+
import "./chunk-SMNFI2FU.js";
|
|
24
|
+
import "./chunk-3CDPPVLE.js";
|
|
25
|
+
import "./chunk-DBHSOTYZ.js";
|
|
24
26
|
import "./chunk-KSRWKXRB.js";
|
|
25
27
|
import "./chunk-MUMPWI4O.js";
|
|
26
28
|
import "./chunk-UACZUFIA.js";
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
runProcessCommand
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FCVVOMIP.js";
|
|
5
|
+
import "./chunk-KHNHUA2H.js";
|
|
5
6
|
import {
|
|
6
7
|
CliUsageError
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-JRROTGQT.js";
|
|
9
|
+
import "./chunk-SMNFI2FU.js";
|
|
10
|
+
import "./chunk-3CDPPVLE.js";
|
|
11
|
+
import "./chunk-DBHSOTYZ.js";
|
|
10
12
|
import "./chunk-KSRWKXRB.js";
|
|
11
13
|
import {
|
|
12
14
|
optionString,
|
|
@@ -14,13 +16,13 @@ import {
|
|
|
14
16
|
} from "./chunk-MUMPWI4O.js";
|
|
15
17
|
import "./chunk-UACZUFIA.js";
|
|
16
18
|
|
|
17
|
-
// src/cli/
|
|
19
|
+
// src/cli/desktop-test.ts
|
|
18
20
|
import path from "node:path";
|
|
19
21
|
import { access } from "node:fs/promises";
|
|
20
22
|
import { constants } from "node:fs";
|
|
21
23
|
import { createRequire } from "node:module";
|
|
22
24
|
var DESKTOP_HARNESS_SCRIPT = path.join("scripts", "desktop-harness.ts");
|
|
23
|
-
async function
|
|
25
|
+
async function runDesktopTestCommand(options, rest) {
|
|
24
26
|
const invocation = await buildDesktopHarnessInvocation({ options, rest });
|
|
25
27
|
const result = await runProcessCommand(invocation.command, invocation.args, {
|
|
26
28
|
cwd: invocation.cwd,
|
|
@@ -34,14 +36,13 @@ async function runHarnessCommand(options, rest) {
|
|
|
34
36
|
async function buildDesktopHarnessInvocation(input) {
|
|
35
37
|
const options = input.options;
|
|
36
38
|
const rest = input.rest;
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
if (surface !== "desktop" || action !== "run" && action !== "attach") {
|
|
39
|
+
const action = rest[0];
|
|
40
|
+
if (action !== "run" && action !== "attach") {
|
|
40
41
|
throw new CliUsageError(desktopHarnessCliUsage());
|
|
41
42
|
}
|
|
42
|
-
const scenarios = rest.slice(
|
|
43
|
+
const scenarios = rest.slice(1);
|
|
43
44
|
if (scenarios.length === 0) {
|
|
44
|
-
throw new CliUsageError("usage: openpond
|
|
45
|
+
throw new CliUsageError("usage: openpond desktop-test run <scenario...> [options]");
|
|
45
46
|
}
|
|
46
47
|
const startCwd = optionString(options, "cwd") || input.cwd || process.cwd();
|
|
47
48
|
const repoRoot = await resolveDesktopHarnessRepoRoot(startCwd);
|
|
@@ -118,8 +119,8 @@ async function fileExists(filePath) {
|
|
|
118
119
|
}
|
|
119
120
|
function desktopHarnessCliUsage() {
|
|
120
121
|
return [
|
|
121
|
-
"usage: openpond
|
|
122
|
-
" openpond
|
|
122
|
+
"usage: openpond desktop-test run <scenario...> [options]",
|
|
123
|
+
" openpond desktop-test attach <scenario...> [options]",
|
|
123
124
|
"",
|
|
124
125
|
"Options include --isolated, --attach, --packaged, --none, --app <path>,",
|
|
125
126
|
"--server <url>, --token <token>, --token-file <path>, --devtools-port <port>, --artifacts-dir <path>,",
|
|
@@ -139,5 +140,5 @@ var HarnessCommandFailedError = class extends Error {
|
|
|
139
140
|
export {
|
|
140
141
|
buildDesktopHarnessInvocation,
|
|
141
142
|
resolveDesktopHarnessRepoRoot,
|
|
142
|
-
|
|
143
|
+
runDesktopTestCommand
|
|
143
144
|
};
|