openpond 0.2.13 → 0.2.15

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.
Files changed (118) hide show
  1. package/dist/app-server.d.ts +26 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{actions-command-Q5HXY5XD.js → actions-command-33SJXJKC.js} +1 -1
  4. package/dist/chunks/{app-layer-S6H572UM.js → app-layer-SSLVAUNI.js} +1 -1
  5. package/dist/chunks/app-server-runtime-QUC4HPQU.js +2 -0
  6. package/dist/chunks/{apps-K5HMFAPI.js → apps-JEKTEGSW.js} +1 -1
  7. package/dist/chunks/{chunk-XK77GSBL.js → chunk-4E5ETWKU.js} +333 -328
  8. package/dist/chunks/chunk-6C2EXO4H.js +5 -0
  9. package/dist/chunks/{chunk-NHBCFMAC.js → chunk-7I73OREC.js} +1 -1
  10. package/dist/chunks/{chunk-I4FOBNHQ.js → chunk-A2PIGBPD.js} +15 -15
  11. package/dist/chunks/chunk-DWROB2J6.js +19 -0
  12. package/dist/chunks/chunk-FHBQ6OWG.js +26 -0
  13. package/dist/chunks/{chunk-NYPLOXEP.js → chunk-JTQDNX2J.js} +1 -1
  14. package/dist/chunks/{chunk-ECH6PXVK.js → chunk-K4ZKAHLG.js} +1 -1
  15. package/dist/chunks/{chunk-3GLSX322.js → chunk-QLZ67Y6C.js} +2 -2
  16. package/dist/chunks/{chunk-OW4KET6I.js → chunk-TWA56GFU.js} +1 -1
  17. package/dist/chunks/{chunk-R33VLNFY.js → chunk-UN3A7GEU.js} +1 -1
  18. package/dist/chunks/{chunk-3V5FPSOK.js → chunk-UOQHYTCK.js} +1 -1
  19. package/dist/chunks/{chunk-ZMRT4B4H.js → chunk-VRXXKDF2.js} +9 -9
  20. package/dist/chunks/{chunk-OHGSESPN.js → chunk-YNXFXNQM.js} +1 -1
  21. package/dist/chunks/{chunk-MSF7ZBFG.js → chunk-ZYG2PXY2.js} +1 -1
  22. package/dist/chunks/{cli-XJJYXKXM.js → cli-7YSRAC4Y.js} +1 -1
  23. package/dist/chunks/{configuration-command-Q7XVBZ2E.js → configuration-command-DH4ZZUKL.js} +1 -1
  24. package/dist/chunks/{core-commands-6GZ7T4SK.js → core-commands-TUUSA6WB.js} +1 -1
  25. package/dist/chunks/{desktop-test-EKPOPWTL.js → desktop-test-S3RME4QT.js} +1 -1
  26. package/dist/chunks/extension-D64BYPFY.js +6 -0
  27. package/dist/chunks/{help-MTWG7AXZ.js → help-AOVE3SSY.js} +1 -1
  28. package/dist/chunks/{opchat-4QGK6MRL.js → opchat-KC2FL5TT.js} +1 -1
  29. package/dist/chunks/{organizations-TTUM577J.js → organizations-AAES2P7W.js} +1 -1
  30. package/dist/chunks/{profile-C33CIJOV.js → profile-FRYWK2IE.js} +1 -1
  31. package/dist/chunks/{project-agent-5P3ALPRY.js → project-agent-WPW6DWK7.js} +1 -1
  32. package/dist/chunks/{sandbox-command-CEIXSDW2.js → sandbox-command-ZHKJZ3FJ.js} +1 -1
  33. package/dist/chunks/{sandbox-template-KTKWVKZ7.js → sandbox-template-SPVQIMG5.js} +1 -1
  34. package/dist/chunks/{src-7NWHHROY.js → src-AADCZ2JW.js} +108 -108
  35. package/dist/chunks/{src-ZAF6VEWJ.js → src-LYFCDA5G.js} +1 -1
  36. package/dist/chunks/{teams-bot-O7IFQ3L6.js → teams-bot-LD3QORJI.js} +1 -1
  37. package/dist/chunks/{workspaces-I5BVMFVY.js → workspaces-P2WNCMXC.js} +1 -1
  38. package/dist/cli.js +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/web/assets/{App-BqgpZNh-.js → App-kwt-UxX_.js} +30 -30
  41. package/dist/web/assets/{AppDialog-BCzsyF8y.js → AppDialog-LXQo_7oW.js} +1 -1
  42. package/dist/web/assets/{AppTerminalPanel-Cqtaoc93.js → AppTerminalPanel-CUqrUrkA.js} +2 -2
  43. package/dist/web/assets/{AppsView-BHz8ruGV.js → AppsView-5J2RX301.js} +1 -1
  44. package/dist/web/assets/{BrowserSidebar-vrHh2y_s.js → BrowserSidebar-mZ8RjUOr.js} +1 -1
  45. package/dist/web/assets/{CartesianChart-C5PgQkxh.js → CartesianChart-7x3SO8Hj.js} +1 -1
  46. package/dist/web/assets/{CollaborationTabs-OSqxEZgD.js → CollaborationTabs-ByC9WJqu.js} +1 -1
  47. package/dist/web/assets/{CommandMenu-XMeH3T6m.js → CommandMenu-CqDb2Kb2.js} +1 -1
  48. package/dist/web/assets/{CommunityView-BPsy_BnG.js → CommunityView-BmxYkWqC.js} +1 -1
  49. package/dist/web/assets/{ComposerCreateImproveStrip-Bsh9eyj1.js → ComposerCreateImproveStrip-2Tyj9KOQ.js} +1 -1
  50. package/dist/web/assets/{GetStartedView-Ay67q9mX.js → GetStartedView-1WYkmevY.js} +1 -1
  51. package/dist/web/assets/HostedModelLearningReview-DHahsQJH.js +1 -0
  52. package/dist/web/assets/{HostedModelLearningSettings-MG_1VD7H.js → HostedModelLearningSettings-Brza5hSD.js} +1 -1
  53. package/dist/web/assets/{LabModelVersionDetailPage-CPkCZhBg.js → LabModelVersionDetailPage-C4WtQKER.js} +1 -1
  54. package/dist/web/assets/{LabSkillSidebar-Y06Ghxe7.js → LabSkillSidebar-D3g6E0Ap.js} +1 -1
  55. package/dist/web/assets/{LabsRoute-CBy4evwc.js → LabsRoute-BO0yEsCR.js} +4 -4
  56. package/dist/web/assets/{MainChatThread-CqG9WewR.js → MainChatThread-CKPR_rY0.js} +2 -2
  57. package/dist/web/assets/{MainPane-CQVCd0hz.js → MainPane-B8mDzSqi.js} +4 -4
  58. package/dist/web/assets/{MarkdownText-BSXFJB5s.js → MarkdownText-D6_UI4Ly.js} +1 -1
  59. package/dist/web/assets/{Messages-CcKLreir.js → Messages-DptbENmQ.js} +1 -1
  60. package/dist/web/assets/{NativeSkillSidebar-BF4T1Tuy.js → NativeSkillSidebar-CF1NTAR6.js} +1 -1
  61. package/dist/web/assets/{NewExperienceSwitcher-BH2-_iQt.js → NewExperienceSwitcher-CwlpLsXW.js} +1 -1
  62. package/dist/web/assets/{NewProjectDialog-BSkPgqLX.js → NewProjectDialog-Ls4K9a5S.js} +1 -1
  63. package/dist/web/assets/{OutputsPage-DBAfj1e_.js → OutputsPage-ClNuidPW.js} +1 -1
  64. package/dist/web/assets/{ProjectsPage-DOTViI5-.js → ProjectsPage-Sj83NsdP.js} +1 -1
  65. package/dist/web/assets/{RightChatPanelStack-D3wuMm3F.js → RightChatPanelStack-m5-cI0NL.js} +1 -1
  66. package/dist/web/assets/{RightSidebarHomePanel-DLP1LFoX.js → RightSidebarHomePanel-B--t--OJ.js} +1 -1
  67. package/dist/web/assets/{ScheduledWorkPage-BETU42Pi.js → ScheduledWorkPage-JVfMtGMs.js} +1 -1
  68. package/dist/web/assets/{SettingsView-D2eKwMH6.js → SettingsView-B7FnZ-b0.js} +6 -6
  69. package/dist/web/assets/{TeamChatView-ytGArG3p.js → TeamChatView-D8ilbncz.js} +1 -1
  70. package/dist/web/assets/{TerminalOverlay-FV-T6Vk6.js → TerminalOverlay-A6nSxm5C.js} +1 -1
  71. package/dist/web/assets/{TrainingCreationPanel-D7UhsNpa.js → TrainingCreationPanel-CwpnBbuN.js} +1 -1
  72. package/dist/web/assets/{TrainingDraftPanel-BZ4ZhYbm.js → TrainingDraftPanel-B_Gh_0yq.js} +1 -1
  73. package/dist/web/assets/{UsageSettingsSection-Ml9cMCUi.js → UsageSettingsSection-qTX3k9-f.js} +1 -1
  74. package/dist/web/assets/{WorkSidebarPanel-DZZK0_vI.js → WorkSidebarPanel-B-fDRRRs.js} +1 -1
  75. package/dist/web/assets/{WorkspaceDiffPanel-CSLiV2LC.js → WorkspaceDiffPanel-CfvvifJg.js} +3 -3
  76. package/dist/web/assets/{WorkspaceEnvironmentMenu-dqDA6sik.js → WorkspaceEnvironmentMenu-BL6WHWLO.js} +1 -1
  77. package/dist/web/assets/{WorkspaceGitDialogs-C9ptN_7-.js → WorkspaceGitDialogs-pyZQJL_2.js} +1 -1
  78. package/dist/web/assets/{WorkspaceMonacoEditor-BOa6xAaO.js → WorkspaceMonacoEditor-C2cNf0UO.js} +3 -3
  79. package/dist/web/assets/{arrow-up-right-Qq_YNPUt.js → arrow-up-right-BQv8RCGD.js} +1 -1
  80. package/dist/web/assets/{chat-file-links-z54bmvhH.js → chat-file-links-C3erG0P2.js} +1 -1
  81. package/dist/web/assets/chevron-up-D9MMQKU3.js +1 -0
  82. package/dist/web/assets/{clipboard-C_cLfHiu.js → clipboard-BSPYX7yq.js} +1 -1
  83. package/dist/web/assets/{cloud-upload-B1A_725d.js → cloud-upload-CJVhhG6P.js} +1 -1
  84. package/dist/web/assets/{cssMode-DKjB86V7.js → cssMode-RCJXPUO-.js} +1 -1
  85. package/dist/web/assets/{folder-open-BAqrqIkA.js → folder-open-2a5riVSG.js} +1 -1
  86. package/dist/web/assets/{folder-plus-Aw6rEy1D.js → folder-plus-DuVvIFve.js} +1 -1
  87. package/dist/web/assets/{git-commit-horizontal-75RSWQ3Q.js → git-commit-horizontal-BifoV1dR.js} +1 -1
  88. package/dist/web/assets/{htmlMode-CH03ACqd.js → htmlMode-DnEOXzjT.js} +1 -1
  89. package/dist/web/assets/{index-C0gdp_hv.js → index-B5RqBp_p.js} +2 -2
  90. package/dist/web/assets/{info-CXzXdZ1o.js → info-BWvLCbJ2.js} +1 -1
  91. package/dist/web/assets/{jsonMode-Bvmzl5ln.js → jsonMode-DQfml7E4.js} +1 -1
  92. package/dist/web/assets/{lspLanguageFeatures-BKXLyuIE.js → lspLanguageFeatures-WKs-7xHz.js} +1 -1
  93. package/dist/web/assets/{minimize-2-C-6SC3Bs.js → minimize-2-C-_iqAbt.js} +1 -1
  94. package/dist/web/assets/{monaco.contribution-BwSCuTR3.js → monaco.contribution-B29c98Aa.js} +2 -2
  95. package/dist/web/assets/{monaco.contribution-BON5T_eJ.js → monaco.contribution-B5y78DUP.js} +2 -2
  96. package/dist/web/assets/{monaco.contribution-Cv_QTWVQ.js → monaco.contribution-DCekL-SI.js} +2 -2
  97. package/dist/web/assets/{monaco.contribution-rtAnmt_x.js → monaco.contribution-Qc1u700n.js} +2 -2
  98. package/dist/web/assets/{play-BnkiBq8x.js → play-DsP3gpGK.js} +1 -1
  99. package/dist/web/assets/{python-Rd5MxRAN.js → python-CJ1QdM8L.js} +1 -1
  100. package/dist/web/assets/{refresh-cw-BISaiIBt.js → refresh-cw-DaASy_i0.js} +1 -1
  101. package/dist/web/assets/{save-BcVbYiGU.js → save-BBQ7L8VS.js} +1 -1
  102. package/dist/web/assets/{square-Bn32OIid.js → square-DTl9YrMp.js} +1 -1
  103. package/dist/web/assets/{toggleHighContrast-DDw4wPS9.js → toggleHighContrast-D-DNRZ-D.js} +1 -1
  104. package/dist/web/assets/{tsMode-Dt73U5ww.js → tsMode-CmWbxnjM.js} +1 -1
  105. package/dist/web/assets/{upload-AB1N3bCZ.js → upload-juEp2zRQ.js} +1 -1
  106. package/dist/web/assets/{useLocalAgentSchedules-D7QTyYKj.js → useLocalAgentSchedules-DF_bIseW.js} +1 -1
  107. package/dist/web/assets/{wifi-off-BAX1UWLx.js → wifi-off-DrkIaS1O.js} +1 -1
  108. package/dist/web/assets/{workers-DE3-vPyS.js → workers-LygfviY3.js} +1 -1
  109. package/dist/web/assets/{yaml-C0JBPZbg.js → yaml-BIpimtDQ.js} +1 -1
  110. package/dist/web/index.html +1 -1
  111. package/package.json +1 -1
  112. package/dist/chunks/app-server-runtime-GIFUDGYZ.js +0 -2
  113. package/dist/chunks/chunk-3YH3S5U2.js +0 -26
  114. package/dist/chunks/chunk-BB6DJKXX.js +0 -19
  115. package/dist/chunks/chunk-MPQWFPGA.js +0 -5
  116. package/dist/chunks/extension-A2BWJMRQ.js +0 -6
  117. package/dist/web/assets/HostedModelLearningReview-C8PfSxcz.js +0 -1
  118. package/dist/web/assets/chevron-up-CIrVx_eP.js +0 -1
@@ -19,6 +19,8 @@ declare const AGENT_RPC_METHODS: readonly [
19
19
  "userInput/resolve",
20
20
  "profile/workflows",
21
21
  "profile/evaluations",
22
+ "profile/evaluations/prepare",
23
+ "profile/evaluations/run",
22
24
  "profile/evaluations/executeCase",
23
25
  "profile/evaluations/executeRun",
24
26
  "profile/evaluations/compare",
@@ -67,6 +69,8 @@ type AgentRuntimeHost = {
67
69
  userInputResolve(params: unknown): Promise<unknown>;
68
70
  profileWorkflows(params: unknown): Promise<unknown>;
69
71
  profileEvaluations(params: unknown): Promise<unknown>;
72
+ profileEvaluationPrepare(params: unknown): Promise<unknown>;
73
+ profileEvaluationRun(params: unknown): Promise<unknown>;
70
74
  profileEvaluationExecuteCase(params: unknown): Promise<unknown>;
71
75
  profileEvaluationExecuteRun(params: unknown): Promise<unknown>;
72
76
  profileEvaluationCompare(params: unknown): Promise<unknown>;
@@ -574,6 +578,28 @@ declare const SessionSchema: z.ZodObject<{
574
578
  catalogHash: z.ZodString;
575
579
  workflowId: z.ZodString;
576
580
  }, z.core.$strict>>>;
581
+ profileComponentBinding: z.ZodOptional<z.ZodNullable<z.ZodObject<{
582
+ schemaVersion: z.ZodLiteral<"openpond.profileComponentBinding.v1">;
583
+ profileId: z.ZodString;
584
+ sourceRevision: z.ZodString;
585
+ harnessRelease: z.ZodObject<{
586
+ id: z.ZodString;
587
+ contentHash: z.ZodString;
588
+ }, z.core.$strict>;
589
+ target: z.ZodDiscriminatedUnion<[
590
+ z.ZodObject<{
591
+ kind: z.ZodLiteral<"profile">;
592
+ }, z.core.$strict>,
593
+ z.ZodObject<{
594
+ kind: z.ZodLiteral<"skill">;
595
+ skillPath: z.ZodString;
596
+ }, z.core.$strict>,
597
+ z.ZodObject<{
598
+ kind: z.ZodLiteral<"agent_action">;
599
+ actionId: z.ZodString;
600
+ }, z.core.$strict>
601
+ ], "kind">;
602
+ }, z.core.$strict>>>;
577
603
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
578
604
  cwd: z.ZodNullable<z.ZodString>;
579
605
  codexThreadId: z.ZodNullable<z.ZodString>;
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{_c as r}from"./chunks/chunk-XK77GSBL.js";import"./chunks/chunk-NHBCFMAC.js";import{j as e,t as p}from"./chunks/chunk-MPQWFPGA.js";import"./chunks/chunk-OHGSESPN.js";import"./chunks/chunk-3V5FPSOK.js";import"./chunks/chunk-3YH3S5U2.js";import"./chunks/chunk-XEOEKFG6.js";import"./chunks/chunk-ZMRT4B4H.js";import"./chunks/chunk-6MI4KKWF.js";import"./chunks/chunk-SDO4FC4Q.js";import"./chunks/chunk-IR3YJWPW.js";import"./chunks/chunk-R33VLNFY.js";import"./chunks/chunk-J2S7BOZU.js";import"./chunks/chunk-I4FOBNHQ.js";import"./chunks/chunk-6FA3GG5B.js";import"./chunks/chunk-NNLI4OWY.js";import"./chunks/chunk-HZP5U2AA.js";import"./chunks/chunk-ES2ISFJC.js";import"./chunks/chunk-H7IWJN7L.js";import"./chunks/chunk-FTQLQJQV.js";export{e as AGENT_PROTOCOL_VERSION,r as createOpenPondAppServer,p as runAppServerJsonl};
2
+ import{ad as r}from"./chunks/chunk-4E5ETWKU.js";import"./chunks/chunk-7I73OREC.js";import{j as e,t as p}from"./chunks/chunk-6C2EXO4H.js";import"./chunks/chunk-YNXFXNQM.js";import"./chunks/chunk-UOQHYTCK.js";import"./chunks/chunk-FHBQ6OWG.js";import"./chunks/chunk-XEOEKFG6.js";import"./chunks/chunk-VRXXKDF2.js";import"./chunks/chunk-6MI4KKWF.js";import"./chunks/chunk-SDO4FC4Q.js";import"./chunks/chunk-IR3YJWPW.js";import"./chunks/chunk-UN3A7GEU.js";import"./chunks/chunk-J2S7BOZU.js";import"./chunks/chunk-A2PIGBPD.js";import"./chunks/chunk-6FA3GG5B.js";import"./chunks/chunk-NNLI4OWY.js";import"./chunks/chunk-HZP5U2AA.js";import"./chunks/chunk-ES2ISFJC.js";import"./chunks/chunk-H7IWJN7L.js";import"./chunks/chunk-FTQLQJQV.js";export{e as AGENT_PROTOCOL_VERSION,r as createOpenPondAppServer,p as runAppServerJsonl};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{b as h,c as f,d as p}from"./chunk-XEOEKFG6.js";import{a as w}from"./chunk-OW4KET6I.js";import"./chunk-R33VLNFY.js";import"./chunk-J2S7BOZU.js";import"./chunk-I4FOBNHQ.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import{f as y}from"./chunk-3M53YXEI.js";import{a as c}from"./chunk-FTQLQJQV.js";import{promises as I,watch as N}from"node:fs";import m from"node:path";import{execFile as A}from"node:child_process";import{promisify as E}from"node:util";var S=E(A);async function x(t,n){let r=n[0]??"check",e=m.resolve(s(t,"cwd")??process.cwd()),l=s(t,"sourceDirectory"),u=s(t,"outputDirectory"),d=y(t.json);if(r==="check"||r==="build"){let o=await f({projectRoot:e,sourceDirectory:l,outputDirectory:u});if(d){console.log(JSON.stringify({status:"passed",actionCount:o.registry.actions.length,registry:o.registry,manifest:o.manifest,outputDirectory:o.outputDirectory},null,2));return}console.log(`${r==="check"?"Validated":"Built"} ${o.registry.actions.length} Project Action${o.registry.actions.length===1?"":"s"}.`),console.log(`Registry: ${o.registryPath}`),console.log(`Bundle: ${o.bundlePath}`);return}if(r==="run"){let o=n[1];if(!o)throw new Error("usage: openpond actions run <action-id> [--input JSON|--input-file PATH]");let a=await p({projectRoot:e,sourceDirectory:l,outputDirectory:u,build:"always"}).run({actionId:o,input:await v(t,e),timeoutMs:R(t,"timeoutMs")});console.log(JSON.stringify(a,null,2));return}if(r==="dev"){let o=n[1]??null;await $({projectRoot:e,sourceDirectory:l,outputDirectory:u,actionId:o,options:t,json:d});return}if(r==="publish"){let o=b(t,"projectId"),i=b(t,"teamId"),a=s(t,"apiKey")??process.env.OPENPOND_API_KEY?.trim();if(!a)throw new Error("OpenPond API key is required. Set OPENPOND_API_KEY or pass --api-key.");let j=await f({projectRoot:e,sourceDirectory:l,outputDirectory:u}),D=s(t,"sourceCommitSha")??await P(e,["rev-parse","HEAD"]),O=s(t,"sourceRef")??await P(e,["rev-parse","--abbrev-ref","HEAD"]),g=await w({apiKey:a,baseUrl:s(t,"baseUrl")??process.env.OPENPOND_API_URL}).actions.publish({projectId:o,teamId:i,sourceRef:O,sourceCommitSha:D,build:j});console.log(d?JSON.stringify({release:g},null,2):`Published Project Actions release ${g.id} from ${g.sourceCommitSha}.`);return}throw new Error("usage: openpond actions <check|build|run|dev|publish> [action-id]")}c(x,"runProjectActionsCommand");async function $(t){let n=!1,r=!1,e=c(async()=>{if(n){r=!0;return}n=!0;try{let o=p({projectRoot:t.projectRoot,sourceDirectory:t.sourceDirectory,outputDirectory:t.outputDirectory,build:"always"});if(t.actionId){let i=await o.run({actionId:t.actionId,input:await v(t.options,t.projectRoot),timeoutMs:R(t.options,"timeoutMs")});console.log(JSON.stringify(i,null,2))}else{let i=await o.build(),a={status:"ready",actionCount:i.registry.actions.length,bundleHash:i.manifest.bundleHash};console.log(t.json?JSON.stringify(a):`Ready with ${a.actionCount} Project Action${a.actionCount===1?"":"s"}.`)}}catch(o){console.error(o instanceof Error?o.message:String(o))}finally{n=!1,r&&(r=!1,await e())}},"execute");await e();let l=await h(t.projectRoot),u=m.resolve(t.projectRoot,t.sourceDirectory??l.sourceDirectory??"openpond/actions");console.log(`Watching ${u}`);let d=N(u,{recursive:!0},()=>{setTimeout(()=>{e()},50)});await new Promise(o=>{let i=c(()=>{d.close(),o()},"stop");process.once("SIGINT",i),process.once("SIGTERM",i)})}c($,"runDev");async function v(t,n){let r=s(t,"input"),e=s(t,"inputFile");if(r&&e)throw new Error("Use either --input or --input-file, not both.");return r?JSON.parse(r):e?JSON.parse(await I.readFile(m.resolve(n,e),"utf8")):{}}c(v,"actionInput");function s(t,n){let r=t[n];return typeof r=="string"&&r.trim()?r.trim():void 0}c(s,"stringOption");function b(t,n){let r=s(t,n);if(!r)throw new Error(`--${n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)} is required.`);return r}c(b,"requiredOption");async function P(t,n){let{stdout:r}=await S("git",n,{cwd:t}),e=r.trim();if(!e)throw new Error(`git ${n.join(" ")} returned no value.`);return e}c(P,"gitValue");function R(t,n){let r=s(t,n);if(r===void 0)return;let e=Number(r);if(!Number.isInteger(e)||e<=0)throw new Error(`--${n} must be a positive integer.`);return e}c(R,"integerOption");export{x as runProjectActionsCommand};
2
+ import{b as h,c as f,d as p}from"./chunk-XEOEKFG6.js";import{a as w}from"./chunk-TWA56GFU.js";import"./chunk-UN3A7GEU.js";import"./chunk-J2S7BOZU.js";import"./chunk-A2PIGBPD.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import{f as y}from"./chunk-3M53YXEI.js";import{a as c}from"./chunk-FTQLQJQV.js";import{promises as I,watch as N}from"node:fs";import m from"node:path";import{execFile as A}from"node:child_process";import{promisify as E}from"node:util";var S=E(A);async function x(t,n){let r=n[0]??"check",e=m.resolve(s(t,"cwd")??process.cwd()),l=s(t,"sourceDirectory"),u=s(t,"outputDirectory"),d=y(t.json);if(r==="check"||r==="build"){let o=await f({projectRoot:e,sourceDirectory:l,outputDirectory:u});if(d){console.log(JSON.stringify({status:"passed",actionCount:o.registry.actions.length,registry:o.registry,manifest:o.manifest,outputDirectory:o.outputDirectory},null,2));return}console.log(`${r==="check"?"Validated":"Built"} ${o.registry.actions.length} Project Action${o.registry.actions.length===1?"":"s"}.`),console.log(`Registry: ${o.registryPath}`),console.log(`Bundle: ${o.bundlePath}`);return}if(r==="run"){let o=n[1];if(!o)throw new Error("usage: openpond actions run <action-id> [--input JSON|--input-file PATH]");let a=await p({projectRoot:e,sourceDirectory:l,outputDirectory:u,build:"always"}).run({actionId:o,input:await v(t,e),timeoutMs:R(t,"timeoutMs")});console.log(JSON.stringify(a,null,2));return}if(r==="dev"){let o=n[1]??null;await $({projectRoot:e,sourceDirectory:l,outputDirectory:u,actionId:o,options:t,json:d});return}if(r==="publish"){let o=b(t,"projectId"),i=b(t,"teamId"),a=s(t,"apiKey")??process.env.OPENPOND_API_KEY?.trim();if(!a)throw new Error("OpenPond API key is required. Set OPENPOND_API_KEY or pass --api-key.");let j=await f({projectRoot:e,sourceDirectory:l,outputDirectory:u}),D=s(t,"sourceCommitSha")??await P(e,["rev-parse","HEAD"]),O=s(t,"sourceRef")??await P(e,["rev-parse","--abbrev-ref","HEAD"]),g=await w({apiKey:a,baseUrl:s(t,"baseUrl")??process.env.OPENPOND_API_URL}).actions.publish({projectId:o,teamId:i,sourceRef:O,sourceCommitSha:D,build:j});console.log(d?JSON.stringify({release:g},null,2):`Published Project Actions release ${g.id} from ${g.sourceCommitSha}.`);return}throw new Error("usage: openpond actions <check|build|run|dev|publish> [action-id]")}c(x,"runProjectActionsCommand");async function $(t){let n=!1,r=!1,e=c(async()=>{if(n){r=!0;return}n=!0;try{let o=p({projectRoot:t.projectRoot,sourceDirectory:t.sourceDirectory,outputDirectory:t.outputDirectory,build:"always"});if(t.actionId){let i=await o.run({actionId:t.actionId,input:await v(t.options,t.projectRoot),timeoutMs:R(t.options,"timeoutMs")});console.log(JSON.stringify(i,null,2))}else{let i=await o.build(),a={status:"ready",actionCount:i.registry.actions.length,bundleHash:i.manifest.bundleHash};console.log(t.json?JSON.stringify(a):`Ready with ${a.actionCount} Project Action${a.actionCount===1?"":"s"}.`)}}catch(o){console.error(o instanceof Error?o.message:String(o))}finally{n=!1,r&&(r=!1,await e())}},"execute");await e();let l=await h(t.projectRoot),u=m.resolve(t.projectRoot,t.sourceDirectory??l.sourceDirectory??"openpond/actions");console.log(`Watching ${u}`);let d=N(u,{recursive:!0},()=>{setTimeout(()=>{e()},50)});await new Promise(o=>{let i=c(()=>{d.close(),o()},"stop");process.once("SIGINT",i),process.once("SIGTERM",i)})}c($,"runDev");async function v(t,n){let r=s(t,"input"),e=s(t,"inputFile");if(r&&e)throw new Error("Use either --input or --input-file, not both.");return r?JSON.parse(r):e?JSON.parse(await I.readFile(m.resolve(n,e),"utf8")):{}}c(v,"actionInput");function s(t,n){let r=t[n];return typeof r=="string"&&r.trim()?r.trim():void 0}c(s,"stringOption");function b(t,n){let r=s(t,n);if(!r)throw new Error(`--${n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)} is required.`);return r}c(b,"requiredOption");async function P(t,n){let{stdout:r}=await S("git",n,{cwd:t}),e=r.trim();if(!e)throw new Error(`git ${n.join(" ")} returned no value.`);return e}c(P,"gitValue");function R(t,n){let r=s(t,n);if(r===void 0)return;let e=Number(r);if(!Number.isInteger(e)||e<=0)throw new Error(`--${n} must be a positive integer.`);return e}c(R,"integerOption");export{x as runProjectActionsCommand};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{x as m}from"./chunk-G2VYRU27.js";import"./chunk-ZVOO7FKM.js";import"./chunk-OGPHXXCD.js";import"./chunk-OW4KET6I.js";import"./chunk-SS3EG6S2.js";import"./chunk-GLUWATL5.js";import"./chunk-R33VLNFY.js";import"./chunk-J2S7BOZU.js";import"./chunk-I4FOBNHQ.js";import{a as l}from"./chunk-NYPLOXEP.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-3GLSX322.js";import"./chunk-3M53YXEI.js";import{a as i}from"./chunk-FTQLQJQV.js";import{existsSync as c}from"node:fs";import{createRequire as v}from"node:module";import s from"node:path";import{fileURLToPath as E}from"node:url";var p="24.18.0";function N(e=process.versions.node){let r=/^(\d+)\.(\d+)\.(\d+)/.exec(e),n=r?Number(r[1]):Number.NaN,o=r?Number(r[2]):Number.NaN;return n===24&&o>=18?null:[`OpenPond TUI requires Node.js ${p} or newer in the Node 24 release line; detected Node.js ${e}.`,`Switch Node versions and retry (with nvm: \`nvm install ${p} && nvm use ${p}\`).`].join(`
2
+ import{x as m}from"./chunk-G2VYRU27.js";import"./chunk-ZVOO7FKM.js";import"./chunk-OGPHXXCD.js";import"./chunk-TWA56GFU.js";import"./chunk-SS3EG6S2.js";import"./chunk-GLUWATL5.js";import"./chunk-UN3A7GEU.js";import"./chunk-J2S7BOZU.js";import"./chunk-A2PIGBPD.js";import{a as l}from"./chunk-JTQDNX2J.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-QLZ67Y6C.js";import"./chunk-3M53YXEI.js";import{a as i}from"./chunk-FTQLQJQV.js";import{existsSync as c}from"node:fs";import{createRequire as v}from"node:module";import s from"node:path";import{fileURLToPath as E}from"node:url";var p="24.18.0";function N(e=process.versions.node){let r=/^(\d+)\.(\d+)\.(\d+)/.exec(e),n=r?Number(r[1]):Number.NaN,o=r?Number(r[2]):Number.NaN;return n===24&&o>=18?null:[`OpenPond TUI requires Node.js ${p} or newer in the Node 24 release line; detected Node.js ${e}.`,`Switch Node versions and retry (with nvm: \`nvm install ${p} && nvm use ${p}\`).`].join(`
3
3
  `)}i(N,"openPondTuiNodeRuntimeMessage");var u=s.dirname(E(import.meta.url)),O=class extends Error{constructor(n,o){super(n);this.exitCode=o;this.name="OpenPondChildProcessExitError"}exitCode;static{i(this,"OpenPondChildProcessExitError")}};async function F(e,r,n){let o=f(e==="app-server"?"app-server":"server"),t=[...o.args,e,...P(r),...n];e==="web"&&t.push(r.noOpen===!0||r.noOpen==="true"?"--print-access-url":"--open-browser");let a=e==="web"&&typeof r.webRoot!="string"?C():null;a&&t.push("--web-root",a),await w(o.runner,t,e==="app-server"?process.cwd():o.cwd)}i(F,"runOpenPondServerCommand");async function q(e,r){b(e);let n=N();if(n)throw new l(n);let o=f("terminal"),t=f("server"),a=[...o.args,"chat",...P(R(e)),...r];await w(o.runner,a,process.cwd(),{OPENPOND_SERVER_RUNNER:t.runner,OPENPOND_SERVER_ARGS:JSON.stringify(t.args),OPENPOND_SERVER_CWD:t.cwd})}i(q,"runOpenPondTerminalCommand");function h(){if(process.env.OPENPOND_FORCE_EMBEDDED_COMPANIONS==="1")return null;let e=[s.resolve(u,"../../../.."),s.resolve(u,"../../.."),process.cwd()];for(let r of e)if(c(s.join(r,"apps","server"))&&c(s.join(r,"apps","terminal")))return r;return null}i(h,"findWorkspaceRoot");function f(e){let r=h();if(r){let t=e==="app-server"?s.join(r,"apps","server","src","app-server-entry.ts"):s.join(r,"apps",e,"src","index.ts");if(c(t)){let d=v(s.join(r,"package.json"));return{runner:process.execPath,args:[d.resolve("tsx/cli"),t],cwd:r}}let a=e==="app-server"?s.join(r,"apps","server","dist","app-server-entry.js"):s.join(r,"apps",e,"dist","index.js");if(c(a))return{runner:process.execPath,args:[a],cwd:r}}let n=_(),o=e==="app-server"?"__app-server":e==="server"?"__server":"__terminal";if(n)return{runner:process.execPath,args:[n,o],cwd:s.dirname(s.dirname(n))};if(D())return{runner:process.execPath,args:[o],cwd:process.cwd()};throw new Error(`Could not find the installed OpenPond ${e} companion.`)}i(f,"resolveAppEntrypoint");function _(){for(let e of[s.resolve(u,"../cli.js"),s.resolve(u,"../../dist/cli.js")])if(c(e))return e;return null}i(_,"installedCliEntrypoint");function C(){if(!1){let n=s.join(s.dirname(process.execPath),"web");return c(s.join(n,"index.html"))?n:null}let e=_();if(!e)return null;let r=s.join(s.dirname(e),"web");return c(s.join(r,"index.html"))?r:null}i(C,"packagedWebRoot");function D(){if(!1)return!0;let e=process.argv[1];return!!(e&&s.resolve(e)===s.resolve(process.execPath))}i(D,"isCompiledExecutable");function P(e){let r=new Set(["account","handle","baseUrl","noOpen","tui","home"]),n=[];for(let[o,t]of Object.entries(e)){if(r.has(o))continue;let a=`--${o.replace(/[A-Z]/g,d=>`-${d.toLowerCase()}`)}`;if(t===!0||t==="true")n.push(a);else{if(t===!1||t==="false")continue;n.push(a,t)}}return n}i(P,"forwardedOptions");function R(e){let r=process.cwd(),n={...e};return typeof e.cwd=="string"&&e.cwd.trim().length>0&&(n.cwd=s.resolve(r,e.cwd)),typeof e.messageFile=="string"&&e.messageFile.trim().length>0&&(n.messageFile=s.resolve(r,e.messageFile)),n}i(R,"normalizeTerminalPaths");function b(e){if(typeof e.approvalPolicy=="string"&&!["on-request","never","on-failure","untrusted"].includes(e.approvalPolicy))throw new l("approval-policy must be on-request, never, on-failure, or untrusted");if(typeof e.sandbox=="string"&&!["read-only","workspace-write","danger-full-access"].includes(e.sandbox))throw new l("sandbox must be read-only, workspace-write, or danger-full-access")}i(b,"validateTerminalForwardingOptions");async function w(e,r,n,o){let t=await m(e,r,{cwd:n,detached:!1,env:o,inherit:!0,timeoutMs:0});if(t.code!==0||t.signal){let a=t.signal?`signal ${t.signal}`:`code ${t.code??"unknown"}`;throw new O(`${s.basename(e)} exited with ${a}`,t.code??1)}}i(w,"runChild");export{O as OpenPondChildProcessExitError,F as runOpenPondServerCommand,q as runOpenPondTerminalCommand};
@@ -0,0 +1,2 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{$c as c,ad as d}from"./chunk-4E5ETWKU.js";import"./chunk-7I73OREC.js";import{j as a,t as b}from"./chunk-6C2EXO4H.js";import"./chunk-YNXFXNQM.js";import"./chunk-UOQHYTCK.js";import"./chunk-FHBQ6OWG.js";import"./chunk-XEOEKFG6.js";import"./chunk-VRXXKDF2.js";import"./chunk-6MI4KKWF.js";import"./chunk-SDO4FC4Q.js";import"./chunk-IR3YJWPW.js";import"./chunk-UN3A7GEU.js";import"./chunk-J2S7BOZU.js";import"./chunk-A2PIGBPD.js";import"./chunk-6FA3GG5B.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as AGENT_PROTOCOL_VERSION,c as APP_SERVER_COMPOSITION,d as createOpenPondAppServer,b as runAppServerJsonl};
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{c as g,i as $,j as J,k as L,l as v,m as q}from"./chunk-G2VYRU27.js";import{f as m,h as y}from"./chunk-ZVOO7FKM.js";import{b as H,c as Q}from"./chunk-22UARBPW.js";import"./chunk-OGPHXXCD.js";import"./chunk-OW4KET6I.js";import{J as C,K as G,L as k,O as W,Q as M,S as z,T as F,Z as f,c as D,m as K,r as V,s as _}from"./chunk-SS3EG6S2.js";import"./chunk-GLUWATL5.js";import"./chunk-R33VLNFY.js";import"./chunk-J2S7BOZU.js";import"./chunk-I4FOBNHQ.js";import"./chunk-NYPLOXEP.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-3GLSX322.js";import{a as S,f as w,j as T,k as j}from"./chunk-3M53YXEI.js";import{a as p}from"./chunk-FTQLQJQV.js";async function ie(){let e=await f(),s=m(e),t=await g(e,s),n=y(e),r=await L({apiBase:n,apiKey:t});console.log(JSON.stringify(r,null,2))}p(ie,"runAppsTools");async function se(e){let s=await f(),t=m(s),n=y(s),r=await g(s,t),i=typeof e.handle=="string"?String(e.handle):void 0,o=i?$(i):null,c=e.refresh!==void 0?w(e.refresh):void 0,l=await J({apiBase:n,apiKey:r,forceRefresh:c}),u=o?l.filter(a=>$(a.handle||a.gitOwner)===o):l;if(u.length===0){console.log("no apps found");return}if(w(e.json)){console.log(JSON.stringify({apps:u},null,2));return}for(let a of u){let d=a.handle||a.gitOwner||"unknown",h=a.repo||a.gitRepo||a.id,B=a.latestDeployment?.status||"no-deploy",R=a.latestDeployment?.gitBranch||a.defaultBranch||"-",I=a.codeVisibility||"unknown",E=a.sandbox?"yes":"no";console.log(`${d}/${h} ${B} ${R} code=${I} sandbox=${E} ${a.id}`)}}p(se,"runAppsList");async function oe(e,s){let t=typeof e.visibility=="string"?e.visibility.trim():typeof e.codeVisibility=="string"?e.codeVisibility.trim():"";if(t!=="public"&&t!=="private")throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");let n=await f(),r=m(n),i=y(n),o=await g(n,r),{app:c,handle:l,repo:u}=await v(i,o,s),a=await K(i,o,c.id,t);console.log(`${l}/${u} code_visibility=${a.app?.codeVisibility??t} app_id=${c.id}`)}p(oe,"runAppsCodeVisibility");async function ae(e){let s=await f(),t=m(s),n=await g(s,t),r=y(s),i=typeof e.appId=="string"?String(e.appId):void 0,o=await G(r,n,{appId:i});console.log(JSON.stringify(o,null,2))}p(ae,"runAppsPerformance");async function ce(e,s){let t=await f(),n=m(t),r=y(t),i=await g(t,n),{app:o}=await v(r,i,s),c=await k(r,i,o.id);console.log(JSON.stringify(c,null,2))}p(ce,"runAppsSummary");async function le(e,s,t,n){let r=(typeof e.prompt=="string"?e.prompt:null)||n.join(" ");if(!r.trim())throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");let i=await f(),o=m(i),c=y(i),l=await g(i,o),{app:u}=await v(c,l,t),a=await W(c,l,{appId:u.id,mode:s,prompt:r.trim()});console.log(JSON.stringify(a,null,2))}p(le,"runAppsAssistant");async function de(e,s){let t=await f(),n=m(t),r=await g(t,n),i=y(t),o=(typeof e.prompt=="string"?e.prompt:null)||s.join(" ");if(!o.trim())throw new Error("usage: apps agent create --prompt <text> [--team-id <id>]");let c=typeof e.templateRepoUrl=="string"?e.templateRepoUrl:void 0,l=typeof e.templateBranch=="string"?e.templateBranch:void 0,u=typeof e.templateLocalPath=="string"?e.templateLocalPath:void 0,a=typeof e.teamId=="string"&&e.teamId.trim()?e.teamId.trim():void 0;if(u&&String(u).trim().length>0)throw new Error("templateLocalPath is not supported; use templateRepoUrl");let d=typeof e.env=="string"?S(e.env,"env"):void 0;if(d){if(typeof d!="object"||Array.isArray(d))throw new Error("env must be a JSON object");for(let[b,A]of Object.entries(d))if(typeof A!="string")throw new Error(`env value for ${b} must be a string`)}let h=c||l||d?{templateRepoUrl:c,templateBranch:l,envVars:d}:void 0,B=typeof e.deployEnvironment=="string"?e.deployEnvironment==="preview"?"preview":"production":void 0,R=e.deployDisabled!==void 0?w(e.deployDisabled):void 0,I=e.streamDeployLogs!==void 0?w(e.streamDeployLogs):!0,E=await C(i,r,{prompt:o.trim(),...a?{teamId:a}:{},...h?{template:h}:{},...B?{deployEnvironment:B}:{},...R!==void 0?{deployDisabled:R}:{},streamDeployLogs:I});if(!E.ok){let b=await E.text().catch(()=>"");throw new Error(`agent create failed: ${E.status} ${b}`)}let N=null,O=null,P=null;await H(E,{onConversationId:p(b=>{N=b},"onConversationId"),onItems:p(b=>{for(let A of b){let U=Q(A);U&&console.log(U);let x=A;!O&&typeof x.appId=="string"&&(O=x.appId),!P&&typeof x.deploymentId=="string"&&(P=x.deploymentId)}},"onItems")}),N&&console.log(`conversation_id: ${N}`),O&&console.log(`app_id: ${O}`),P&&console.log(`deployment_id: ${P}`);try{await J({apiBase:i,apiKey:r,forceRefresh:!0}),await L({apiBase:i,apiKey:r,forceRefresh:!0})}catch(b){console.warn("cache refresh failed",b)}}p(de,"runAppsAgentCreate");async function pe(e,s,t,n){let r=await f(),i=m(r),o=await g(r,i),c=y(r),l=typeof e.method=="string"?String(e.method).toUpperCase():void 0,u=l&&["GET","POST","PUT","DELETE"].includes(l)?l:void 0;if(l&&!u)throw new Error("method must be GET, POST, PUT, or DELETE");let a=typeof e.body=="string"?S(String(e.body),"body"):void 0,d=typeof e.headers=="string"?S(String(e.headers),"headers"):void 0,h=typeof e.scheduleId=="string"?String(e.scheduleId):void 0,B=w(e.notifyEmail),R=w(e.summary)||w(e.withSummary),I=await M(c,o,{appId:s,deploymentId:t,toolName:n,scheduleId:h,method:u,body:a,headers:d,notifyEmail:B||void 0});if(console.log(JSON.stringify(I,null,2)),R&&I.ok){let E=await k(c,o,s);console.log(JSON.stringify({summary:E},null,2))}}p(pe,"runAppsToolsExecute");async function ue(e,s){let t=typeof e.env=="string"?e.env:typeof e.vars=="string"?e.vars:typeof e.envVars=="string"?e.envVars:null;if(!t)throw new Error("usage: apps env set <handle>/<repo> --env <json>");let n=S(t,"env");if(!n||typeof n!="object"||Array.isArray(n))throw new Error("env must be a JSON object");let r={};for(let[d,h]of Object.entries(n)){if(typeof h!="string")throw new Error(`env value for ${d} must be a string`);if(!d.startsWith("OPENTOOL_PUBLIC_"))throw new Error("only OPENTOOL_PUBLIC_ env vars can be set");r[d]=h}let i=await f(),o=m(i),c=y(i),l=await g(i,o),{app:u}=await v(c,l,s),a=await V(c,l,u.id,{envVars:r});console.log(JSON.stringify(a,null,2))}p(ue,"runAppsEnvSet");async function fe(e,s){let t=await f(),n=m(t),r=y(t),i=await g(t,n),{app:o}=await v(r,i,s),c=await _(r,i,o.id);console.log(JSON.stringify(c,null,2))}p(fe,"runAppsEnvGet");async function ge(e,s){let t=await f(),n=m(t),r=y(t),i=await g(t,n),{app:o,handle:c,repo:l}=await v(r,i,s),u=typeof e.env=="string"?e.env:typeof e.environment=="string"?e.environment:void 0,a=j(u),d=await D(r,i,o.id,{environment:a});console.log(JSON.stringify(d,null,2)),(w(e.watch)||w(e.wait)||w(e.follow))&&await q({baseUrl:r,apiKey:i,deploymentId:d.deploymentId,prefix:`[${c}/${l}] `,intervalMs:e.interval?Number(e.interval):void 0,timeoutMs:e.timeout?Number(e.timeout):void 0})}p(ge,"runAppsDeploy");function X(e){let s={};if(typeof e.params=="string"){let n=S(String(e.params),"params");if(!n||typeof n!="object"||Array.isArray(n))throw new Error("params must be a JSON object");for(let[r,i]of Object.entries(n))i!==void 0&&(s[r]=typeof i=="string"?i:JSON.stringify(i))}let t=p((n,r)=>{r===void 0||r===""||(s[n]=r)},"addParam");if(t("source",typeof e.source=="string"?e.source.trim():void 0),t("symbol",typeof e.symbol=="string"?e.symbol.trim():void 0),t("cursor",typeof e.cursor=="string"?e.cursor.trim():void 0),t("status",typeof e.status=="string"?e.status.trim():void 0),t("backtestRunId",typeof e.runId=="string"?e.runId.trim():typeof e.backtestRunId=="string"?e.backtestRunId.trim():void 0),t("since",T(e.since,"since")),t("until",T(e.until,"until")),typeof e.limit=="string"&&e.limit.trim().length>0){let n=Number.parseInt(e.limit,10);if(!Number.isFinite(n))throw new Error("limit must be a number");t("limit",String(n))}return Object.keys(s).length?s:void 0}p(X,"resolveBacktestEventsParams");async function me(e,s){let t=await f(),n=m(t),r=await g(t,n),i=y(t),{app:o}=await v(i,r,s),c={...X(e)??{},appId:o.id},l=await z(i,r,{method:"GET",query:c});console.log(JSON.stringify(l,null,2))}p(me,"runBacktestEvents");async function ye(e,s){let t=typeof e.runId=="string"?e.runId.trim():typeof e.backtestRunId=="string"?e.backtestRunId.trim():"";if(!t)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");let n=await f(),r=m(n),i=await g(n,r),o=y(n),{app:c}=await v(o,i,s),l=await F(o,i,{appId:c.id,runId:t});console.log(JSON.stringify(l,null,2))}p(ye,"runBacktestGet");export{X as resolveBacktestEventsParams,de as runAppsAgentCreate,le as runAppsAssistant,oe as runAppsCodeVisibility,ge as runAppsDeploy,fe as runAppsEnvGet,ue as runAppsEnvSet,se as runAppsList,ae as runAppsPerformance,ce as runAppsSummary,ie as runAppsTools,pe as runAppsToolsExecute,me as runBacktestEvents,ye as runBacktestGet};
2
+ import{c as g,i as $,j as J,k as L,l as v,m as q}from"./chunk-G2VYRU27.js";import{f as m,h as y}from"./chunk-ZVOO7FKM.js";import{b as H,c as Q}from"./chunk-22UARBPW.js";import"./chunk-OGPHXXCD.js";import"./chunk-TWA56GFU.js";import{J as C,K as G,L as k,O as W,Q as M,S as z,T as F,Z as f,c as D,m as K,r as V,s as _}from"./chunk-SS3EG6S2.js";import"./chunk-GLUWATL5.js";import"./chunk-UN3A7GEU.js";import"./chunk-J2S7BOZU.js";import"./chunk-A2PIGBPD.js";import"./chunk-JTQDNX2J.js";import"./chunk-NNLI4OWY.js";import"./chunk-HZP5U2AA.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-QLZ67Y6C.js";import{a as S,f as w,j as T,k as j}from"./chunk-3M53YXEI.js";import{a as p}from"./chunk-FTQLQJQV.js";async function ie(){let e=await f(),s=m(e),t=await g(e,s),n=y(e),r=await L({apiBase:n,apiKey:t});console.log(JSON.stringify(r,null,2))}p(ie,"runAppsTools");async function se(e){let s=await f(),t=m(s),n=y(s),r=await g(s,t),i=typeof e.handle=="string"?String(e.handle):void 0,o=i?$(i):null,c=e.refresh!==void 0?w(e.refresh):void 0,l=await J({apiBase:n,apiKey:r,forceRefresh:c}),u=o?l.filter(a=>$(a.handle||a.gitOwner)===o):l;if(u.length===0){console.log("no apps found");return}if(w(e.json)){console.log(JSON.stringify({apps:u},null,2));return}for(let a of u){let d=a.handle||a.gitOwner||"unknown",h=a.repo||a.gitRepo||a.id,B=a.latestDeployment?.status||"no-deploy",R=a.latestDeployment?.gitBranch||a.defaultBranch||"-",I=a.codeVisibility||"unknown",E=a.sandbox?"yes":"no";console.log(`${d}/${h} ${B} ${R} code=${I} sandbox=${E} ${a.id}`)}}p(se,"runAppsList");async function oe(e,s){let t=typeof e.visibility=="string"?e.visibility.trim():typeof e.codeVisibility=="string"?e.codeVisibility.trim():"";if(t!=="public"&&t!=="private")throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");let n=await f(),r=m(n),i=y(n),o=await g(n,r),{app:c,handle:l,repo:u}=await v(i,o,s),a=await K(i,o,c.id,t);console.log(`${l}/${u} code_visibility=${a.app?.codeVisibility??t} app_id=${c.id}`)}p(oe,"runAppsCodeVisibility");async function ae(e){let s=await f(),t=m(s),n=await g(s,t),r=y(s),i=typeof e.appId=="string"?String(e.appId):void 0,o=await G(r,n,{appId:i});console.log(JSON.stringify(o,null,2))}p(ae,"runAppsPerformance");async function ce(e,s){let t=await f(),n=m(t),r=y(t),i=await g(t,n),{app:o}=await v(r,i,s),c=await k(r,i,o.id);console.log(JSON.stringify(c,null,2))}p(ce,"runAppsSummary");async function le(e,s,t,n){let r=(typeof e.prompt=="string"?e.prompt:null)||n.join(" ");if(!r.trim())throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");let i=await f(),o=m(i),c=y(i),l=await g(i,o),{app:u}=await v(c,l,t),a=await W(c,l,{appId:u.id,mode:s,prompt:r.trim()});console.log(JSON.stringify(a,null,2))}p(le,"runAppsAssistant");async function de(e,s){let t=await f(),n=m(t),r=await g(t,n),i=y(t),o=(typeof e.prompt=="string"?e.prompt:null)||s.join(" ");if(!o.trim())throw new Error("usage: apps agent create --prompt <text> [--team-id <id>]");let c=typeof e.templateRepoUrl=="string"?e.templateRepoUrl:void 0,l=typeof e.templateBranch=="string"?e.templateBranch:void 0,u=typeof e.templateLocalPath=="string"?e.templateLocalPath:void 0,a=typeof e.teamId=="string"&&e.teamId.trim()?e.teamId.trim():void 0;if(u&&String(u).trim().length>0)throw new Error("templateLocalPath is not supported; use templateRepoUrl");let d=typeof e.env=="string"?S(e.env,"env"):void 0;if(d){if(typeof d!="object"||Array.isArray(d))throw new Error("env must be a JSON object");for(let[b,A]of Object.entries(d))if(typeof A!="string")throw new Error(`env value for ${b} must be a string`)}let h=c||l||d?{templateRepoUrl:c,templateBranch:l,envVars:d}:void 0,B=typeof e.deployEnvironment=="string"?e.deployEnvironment==="preview"?"preview":"production":void 0,R=e.deployDisabled!==void 0?w(e.deployDisabled):void 0,I=e.streamDeployLogs!==void 0?w(e.streamDeployLogs):!0,E=await C(i,r,{prompt:o.trim(),...a?{teamId:a}:{},...h?{template:h}:{},...B?{deployEnvironment:B}:{},...R!==void 0?{deployDisabled:R}:{},streamDeployLogs:I});if(!E.ok){let b=await E.text().catch(()=>"");throw new Error(`agent create failed: ${E.status} ${b}`)}let N=null,O=null,P=null;await H(E,{onConversationId:p(b=>{N=b},"onConversationId"),onItems:p(b=>{for(let A of b){let U=Q(A);U&&console.log(U);let x=A;!O&&typeof x.appId=="string"&&(O=x.appId),!P&&typeof x.deploymentId=="string"&&(P=x.deploymentId)}},"onItems")}),N&&console.log(`conversation_id: ${N}`),O&&console.log(`app_id: ${O}`),P&&console.log(`deployment_id: ${P}`);try{await J({apiBase:i,apiKey:r,forceRefresh:!0}),await L({apiBase:i,apiKey:r,forceRefresh:!0})}catch(b){console.warn("cache refresh failed",b)}}p(de,"runAppsAgentCreate");async function pe(e,s,t,n){let r=await f(),i=m(r),o=await g(r,i),c=y(r),l=typeof e.method=="string"?String(e.method).toUpperCase():void 0,u=l&&["GET","POST","PUT","DELETE"].includes(l)?l:void 0;if(l&&!u)throw new Error("method must be GET, POST, PUT, or DELETE");let a=typeof e.body=="string"?S(String(e.body),"body"):void 0,d=typeof e.headers=="string"?S(String(e.headers),"headers"):void 0,h=typeof e.scheduleId=="string"?String(e.scheduleId):void 0,B=w(e.notifyEmail),R=w(e.summary)||w(e.withSummary),I=await M(c,o,{appId:s,deploymentId:t,toolName:n,scheduleId:h,method:u,body:a,headers:d,notifyEmail:B||void 0});if(console.log(JSON.stringify(I,null,2)),R&&I.ok){let E=await k(c,o,s);console.log(JSON.stringify({summary:E},null,2))}}p(pe,"runAppsToolsExecute");async function ue(e,s){let t=typeof e.env=="string"?e.env:typeof e.vars=="string"?e.vars:typeof e.envVars=="string"?e.envVars:null;if(!t)throw new Error("usage: apps env set <handle>/<repo> --env <json>");let n=S(t,"env");if(!n||typeof n!="object"||Array.isArray(n))throw new Error("env must be a JSON object");let r={};for(let[d,h]of Object.entries(n)){if(typeof h!="string")throw new Error(`env value for ${d} must be a string`);if(!d.startsWith("OPENTOOL_PUBLIC_"))throw new Error("only OPENTOOL_PUBLIC_ env vars can be set");r[d]=h}let i=await f(),o=m(i),c=y(i),l=await g(i,o),{app:u}=await v(c,l,s),a=await V(c,l,u.id,{envVars:r});console.log(JSON.stringify(a,null,2))}p(ue,"runAppsEnvSet");async function fe(e,s){let t=await f(),n=m(t),r=y(t),i=await g(t,n),{app:o}=await v(r,i,s),c=await _(r,i,o.id);console.log(JSON.stringify(c,null,2))}p(fe,"runAppsEnvGet");async function ge(e,s){let t=await f(),n=m(t),r=y(t),i=await g(t,n),{app:o,handle:c,repo:l}=await v(r,i,s),u=typeof e.env=="string"?e.env:typeof e.environment=="string"?e.environment:void 0,a=j(u),d=await D(r,i,o.id,{environment:a});console.log(JSON.stringify(d,null,2)),(w(e.watch)||w(e.wait)||w(e.follow))&&await q({baseUrl:r,apiKey:i,deploymentId:d.deploymentId,prefix:`[${c}/${l}] `,intervalMs:e.interval?Number(e.interval):void 0,timeoutMs:e.timeout?Number(e.timeout):void 0})}p(ge,"runAppsDeploy");function X(e){let s={};if(typeof e.params=="string"){let n=S(String(e.params),"params");if(!n||typeof n!="object"||Array.isArray(n))throw new Error("params must be a JSON object");for(let[r,i]of Object.entries(n))i!==void 0&&(s[r]=typeof i=="string"?i:JSON.stringify(i))}let t=p((n,r)=>{r===void 0||r===""||(s[n]=r)},"addParam");if(t("source",typeof e.source=="string"?e.source.trim():void 0),t("symbol",typeof e.symbol=="string"?e.symbol.trim():void 0),t("cursor",typeof e.cursor=="string"?e.cursor.trim():void 0),t("status",typeof e.status=="string"?e.status.trim():void 0),t("backtestRunId",typeof e.runId=="string"?e.runId.trim():typeof e.backtestRunId=="string"?e.backtestRunId.trim():void 0),t("since",T(e.since,"since")),t("until",T(e.until,"until")),typeof e.limit=="string"&&e.limit.trim().length>0){let n=Number.parseInt(e.limit,10);if(!Number.isFinite(n))throw new Error("limit must be a number");t("limit",String(n))}return Object.keys(s).length?s:void 0}p(X,"resolveBacktestEventsParams");async function me(e,s){let t=await f(),n=m(t),r=await g(t,n),i=y(t),{app:o}=await v(i,r,s),c={...X(e)??{},appId:o.id},l=await z(i,r,{method:"GET",query:c});console.log(JSON.stringify(l,null,2))}p(me,"runBacktestEvents");async function ye(e,s){let t=typeof e.runId=="string"?e.runId.trim():typeof e.backtestRunId=="string"?e.backtestRunId.trim():"";if(!t)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");let n=await f(),r=m(n),i=await g(n,r),o=y(n),{app:c}=await v(o,i,s),l=await F(o,i,{appId:c.id,runId:t});console.log(JSON.stringify(l,null,2))}p(ye,"runBacktestGet");export{X as resolveBacktestEventsParams,de as runAppsAgentCreate,le as runAppsAssistant,oe as runAppsCodeVisibility,ge as runAppsDeploy,fe as runAppsEnvGet,ue as runAppsEnvSet,se as runAppsList,ae as runAppsPerformance,ce as runAppsSummary,ie as runAppsTools,pe as runAppsToolsExecute,me as runBacktestEvents,ye as runBacktestGet};