openpond 0.0.30 → 0.0.32

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 (115) hide show
  1. package/dist/chunks/{app-layer-FIGCNZJX.js → app-layer-CUQQUVJS.js} +20 -3
  2. package/dist/chunks/{apps-4RMNCKXS.js → apps-TAYMUCWX.js} +3 -3
  3. package/dist/chunks/{chunk-57P2GCW5.js → chunk-3UOLQG6N.js} +1 -1
  4. package/dist/chunks/{chunk-MFS3SYUH.js → chunk-3ZJIEA5F.js} +1 -1
  5. package/dist/chunks/{chunk-4S3XGFGL.js → chunk-4HQURM3N.js} +1 -1
  6. package/dist/chunks/{chunk-BNVHGSI7.js → chunk-4M4WAORL.js} +874 -798
  7. package/dist/chunks/{chunk-DANRS43D.js → chunk-5RHZKQRK.js} +14 -76
  8. package/dist/chunks/{chunk-BNPFMGZD.js → chunk-D264OHTR.js} +4 -5
  9. package/dist/chunks/{chunk-BBEVMP6O.js → chunk-DCNAXREU.js} +179 -160
  10. package/dist/chunks/chunk-E5RVRUJB.js +1222 -0
  11. package/dist/chunks/{chunk-RJXX6TJA.js → chunk-EONKWOLU.js} +2 -2
  12. package/dist/chunks/{chunk-VQX33YAG.js → chunk-FQW3AQVJ.js} +689 -121
  13. package/dist/chunks/{chunk-GGKA4HLQ.js → chunk-GYZYZGKS.js} +238 -69
  14. package/dist/chunks/{chunk-KMSMK7PI.js → chunk-OXQG773T.js} +33 -33
  15. package/dist/chunks/{chunk-BX4XSB2J.js → chunk-PJXJ2HRT.js} +1816 -1113
  16. package/dist/chunks/chunk-Q5MZCRJA.js +70 -0
  17. package/dist/chunks/{chunk-OV3KAFWB.js → chunk-W2DJR3FA.js} +1 -1
  18. package/dist/chunks/{chunk-KEDXE4BA.js → chunk-XADW35CL.js} +3 -3
  19. package/dist/chunks/{chunk-IUTUUNAX.js → chunk-Y4F4XD5V.js} +1 -1
  20. package/dist/chunks/{cli-2L4NB7HD.js → cli-WW5BVN5Z.js} +4 -3
  21. package/dist/chunks/{cli-5RL7B2Z3.js → cli-ZOCP7X5M.js} +6 -6
  22. package/dist/chunks/{core-commands-AZJZGTZS.js → core-commands-SYGK7K57.js} +4 -4
  23. package/dist/chunks/{extend-6IWYZI37.js → extend-Q5HZ7TMA.js} +11 -11
  24. package/dist/chunks/fileFromPath-DHCRY3BD.js +2151 -0
  25. package/dist/chunks/{harness-SSNXDSKM.js → harness-ZPBPQVAS.js} +3 -3
  26. package/dist/chunks/{help-MUJJMI3Q.js → help-3V3TRQNX.js} +1 -1
  27. package/dist/chunks/{opchat-RW4CFAQB.js → opchat-OUPMEFE5.js} +5 -5
  28. package/dist/chunks/{organizations-V7DTNLSI.js → organizations-5CSLBDAW.js} +4 -4
  29. package/dist/chunks/{profile-WDBKJ7YW.js → profile-OQYSXHOG.js} +206 -166
  30. package/dist/chunks/{project-agent-3TZ3BPYN.js → project-agent-TBTWOUJF.js} +6 -7
  31. package/dist/chunks/{sandbox-command-HOYHF4NC.js → sandbox-command-HCHPY7KW.js} +4 -4
  32. package/dist/chunks/{sandbox-template-IYGB4CZU.js → sandbox-template-PNTOZ6W3.js} +5 -6
  33. package/dist/chunks/{src-CBPRIWG5.js → src-C6MXLDYQ.js} +22 -6
  34. package/dist/chunks/{src-ZRQKSQTD.js → src-GZT4UX6I.js} +80887 -52945
  35. package/dist/chunks/{teams-bot-UWGCFL6C.js → teams-bot-CQ76XI6T.js} +3 -3
  36. package/dist/chunks/workspaces-DHVVOTVR.js +93 -0
  37. package/dist/cli.js +10 -10
  38. package/dist/config.d.ts +0 -2
  39. package/dist/index.js +273 -69
  40. package/dist/profile/local-profile-types.d.ts +8 -2
  41. package/dist/profile/local-profile.d.ts +3 -1
  42. package/dist/sandbox/types/org-project-agent.d.ts +1 -2
  43. package/dist/web/assets/{AppsView-Bu-Nc3Ew.js → AppsView-CF2g-7FH.js} +1 -1
  44. package/dist/web/assets/{BrowserSidebar-CCguQ-DR.js → BrowserSidebar-lUsLUl20.js} +1 -1
  45. package/dist/web/assets/CloudWorkView-BnfGW4OV.js +1 -0
  46. package/dist/web/assets/{CommandMenu-CnodJFHD.js → CommandMenu-BsS4Bgb6.js} +1 -1
  47. package/dist/web/assets/{CommunityView-CIbjNUZr.js → CommunityView-C8qVOwlp.js} +1 -1
  48. package/dist/web/assets/ComposerCreateImproveStrip-C_LIpfSq.js +1 -0
  49. package/dist/web/assets/GetStartedView-Du533wOh.js +1 -0
  50. package/dist/web/assets/LabsRoute-CgKtVYTP.css +1 -0
  51. package/dist/web/assets/LabsRoute-yk8lNMQc.js +3 -0
  52. package/dist/web/assets/{NewProjectDialog-CaKiCoVS.js → NewProjectDialog-DH7wA1z9.js} +1 -1
  53. package/dist/web/assets/ProfileSettingsSection-CqnfjiCl.css +1 -0
  54. package/dist/web/assets/ProfileSettingsSection-D7JvMZdW.js +1 -0
  55. package/dist/web/assets/SettingsView-C9TgCaWG.js +63 -0
  56. package/dist/web/assets/TeamChatView-D_CE7br9.js +3 -0
  57. package/dist/web/assets/{TerminalOverlay-C1iP4OS1.js → TerminalOverlay-CC-VDSlp.js} +1 -1
  58. package/dist/web/assets/TrainingCreationPanel-NFCoaBUI.js +1 -0
  59. package/dist/web/assets/TrainingDraftPanel-BWEmVFjM.js +1 -0
  60. package/dist/web/assets/WorkspaceDiffPanel-SlLlGZM1.js +14 -0
  61. package/dist/web/assets/{WorkspaceEnvironmentMenu-B8JJbwIz.js → WorkspaceEnvironmentMenu-BAoMBTVD.js} +1 -1
  62. package/dist/web/assets/{WorkspaceGitDialogs-B4sp9BGn.js → WorkspaceGitDialogs-CVIFrzyl.js} +1 -1
  63. package/dist/web/assets/{WorkspaceMonacoEditor-BBqimG5X.js → WorkspaceMonacoEditor-0trp0-TI.js} +3 -3
  64. package/dist/web/assets/{boxes-DAaDUabq.js → boxes-CFihgX2z.js} +1 -1
  65. package/dist/web/assets/create-pipeline-request-AJWLMTyw.js +4 -0
  66. package/dist/web/assets/{cssMode-CBF1mieJ.js → cssMode-HvqfCFyP.js} +1 -1
  67. package/dist/web/assets/{git-commit-horizontal-CAickXpN.js → git-commit-horizontal-C5mUmACv.js} +1 -1
  68. package/dist/web/assets/{htmlMode-2u8OHtWO.js → htmlMode-C8btgUt-.js} +1 -1
  69. package/dist/web/assets/index-8H-GDlM5.css +1 -0
  70. package/dist/web/assets/index-D7Vr3zcV.js +192 -0
  71. package/dist/web/assets/index-DUqAiF57.js +1 -0
  72. package/dist/web/assets/{info-CQNTh78o.js → info-D0xuy5IB.js} +1 -1
  73. package/dist/web/assets/{jsonMode-C4CWXViX.js → jsonMode-5zVz9G0X.js} +1 -1
  74. package/dist/web/assets/{lspLanguageFeatures-CBs_BOlB.js → lspLanguageFeatures-DxlSSL7c.js} +1 -1
  75. package/dist/web/assets/{monaco.contribution-lOXpG2xQ.js → monaco.contribution-B1pWWwqT.js} +2 -2
  76. package/dist/web/assets/{monaco.contribution-sd3cFkcN.js → monaco.contribution-BKpVvKK9.js} +2 -2
  77. package/dist/web/assets/{monaco.contribution-C1LUxAKf.js → monaco.contribution-BXdXsSWI.js} +2 -2
  78. package/dist/web/assets/{monaco.contribution-Cpf6dWsh.js → monaco.contribution-CIjjzpUR.js} +2 -2
  79. package/dist/web/assets/{monitor-DsIswrMV.js → monitor-B4-9Shtp.js} +1 -1
  80. package/dist/web/assets/{play-CeRw21NV.js → play-BJdhBqQE.js} +1 -1
  81. package/dist/web/assets/{python-CXYq3BUl.js → python-CEK8J4w_.js} +1 -1
  82. package/dist/web/assets/{refresh-cw-N5b_6AP5.js → refresh-cw-DE0u_nmZ.js} +1 -1
  83. package/dist/web/assets/{reply-BSKjZrJg.js → reply-2MfLJ93n.js} +1 -1
  84. package/dist/web/assets/{save-D0oHH1a3.js → save-CBIVKaf8.js} +1 -1
  85. package/dist/web/assets/{toggleHighContrast-DRjlcwes.js → toggleHighContrast-CC73mtvA.js} +1 -1
  86. package/dist/web/assets/training-BY8siNUK.css +1 -0
  87. package/dist/web/assets/training-model-data-BXUCzS0p.js +1 -0
  88. package/dist/web/assets/{tsMode-x-1A7ZcB.js → tsMode-Bhn9wr_1.js} +1 -1
  89. package/dist/web/assets/{wifi-off-Dt52ofzh.js → wifi-off-BKTqnqj0.js} +1 -1
  90. package/dist/web/assets/{workers-Ciff6Dzi.js → workers-C_adgrEg.js} +1 -1
  91. package/dist/web/assets/{yaml-CB67Kxnz.js → yaml-DDRAcADU.js} +1 -1
  92. package/dist/web/index.html +2 -2
  93. package/package.json +1 -1
  94. package/dist/chunks/chunk-OG75GMVO.js +0 -1
  95. package/dist/web/assets/CloudWorkView-Dr3xqLE5.js +0 -1
  96. package/dist/web/assets/GetStartedView-C8nyH_PT.js +0 -1
  97. package/dist/web/assets/LabsExtensions-GtJzxDnK.js +0 -1
  98. package/dist/web/assets/LabsProfile-DG7rWYur.js +0 -1
  99. package/dist/web/assets/LabsRoute-D6MDHBzq.js +0 -2
  100. package/dist/web/assets/LabsRoute-TEt9j1vB.css +0 -1
  101. package/dist/web/assets/LabsSignals-BfsDN86w.js +0 -1
  102. package/dist/web/assets/LabsSignals-D6iA6Ryl.css +0 -1
  103. package/dist/web/assets/ProfileSettingsSection-DTQS2DVL.css +0 -1
  104. package/dist/web/assets/ProfileSettingsSection-DxEzoF3K.js +0 -1
  105. package/dist/web/assets/ProfileView-CEscW7Ru.js +0 -1
  106. package/dist/web/assets/SettingsView-JIRR_FO4.js +0 -63
  107. package/dist/web/assets/TeamChatView-B5M1ThhJ.js +0 -3
  108. package/dist/web/assets/TrainingSettingsSection-BDYvI2te.js +0 -1
  109. package/dist/web/assets/TrainingView-CoCFK6W3.js +0 -5
  110. package/dist/web/assets/WorkspaceDiffPanel-CMxKQeo7.js +0 -14
  111. package/dist/web/assets/index-BdY6A-YN.css +0 -1
  112. package/dist/web/assets/index-CU2qhUYV.js +0 -195
  113. package/dist/web/assets/index-Dz2B3-4C.js +0 -1
  114. package/dist/web/assets/settings-lists-BEg6LMcy.css +0 -1
  115. package/dist/web/assets/training-model-data-BPrc68VG.js +0 -1
package/dist/index.js CHANGED
@@ -2046,8 +2046,6 @@ function sanitizeLocalOpenPondProfile(value) {
2046
2046
  ...typeof push.sourceRef === "string" || push.sourceRef === null ? { sourceRef: push.sourceRef } : {},
2047
2047
  ...push.promotionStatus === "uploaded" || push.promotionStatus === "hosted_source_materialized" || push.promotionStatus === "hosted_source_materialize_failed" || push.promotionStatus === "hosted_source_check_pending" || push.promotionStatus === "hosted_source_check_failed" || push.promotionStatus === "hosted_source_published" || push.promotionStatus === "hosted_source_publish_failed" || push.promotionStatus === "hosted_run_pending" || push.promotionStatus === "hosted_run_passed" || push.promotionStatus === "hosted_run_failed" || push.promotionStatus === null ? { promotionStatus: push.promotionStatus } : {},
2048
2048
  ...push.hostedRunStatus === "not_started" || push.hostedRunStatus === "running" || push.hostedRunStatus === "passed" || push.hostedRunStatus === "failed" || push.hostedRunStatus === null ? { hostedRunStatus: push.hostedRunStatus } : {},
2049
- ...typeof push.localGoalId === "string" || push.localGoalId === null ? { localGoalId: push.localGoalId } : {},
2050
- ...typeof push.hostedGoalId === "string" || push.hostedGoalId === null ? { hostedGoalId: push.hostedGoalId } : {},
2051
2049
  ...typeof push.hostedRunAgentId === "string" || push.hostedRunAgentId === null ? { hostedRunAgentId: push.hostedRunAgentId } : {},
2052
2050
  ...typeof push.hostedRunId === "string" || push.hostedRunId === null ? { hostedRunId: push.hostedRunId } : {},
2053
2051
  ...typeof push.hostedRunAt === "string" || push.hostedRunAt === null ? { hostedRunAt: push.hostedRunAt } : {},
@@ -23476,8 +23474,14 @@ function slug(value) {
23476
23474
  import { createRequire } from "node:module";
23477
23475
  import { spawn as spawn2 } from "node:child_process";
23478
23476
  import { existsSync as existsSync4 } from "node:fs";
23479
- import { cp, mkdir, readFile as readFile5, readdir as readdir2, symlink, writeFile as writeFile2 } from "node:fs/promises";
23480
- import os2 from "node:os";
23477
+ import {
23478
+ cp,
23479
+ mkdir,
23480
+ readFile as readFile5,
23481
+ readdir as readdir2,
23482
+ symlink,
23483
+ writeFile as writeFile2
23484
+ } from "node:fs/promises";
23481
23485
  import path9 from "node:path";
23482
23486
 
23483
23487
  // ../../packages/cloud/src/profile/local-profile-types.ts
@@ -24625,7 +24629,7 @@ function mergeActiveLocalProfileConfig(existing, repoPath, profile) {
24625
24629
  }
24626
24630
  var require2 = createRequire(import.meta.url);
24627
24631
  function defaultLocalProfileRepoPath() {
24628
- return path9.join(os2.homedir(), ".openpond", "profiles", "default-repo");
24632
+ return path9.join(openPondConfigDirectory(), "profiles", "default-repo");
24629
24633
  }
24630
24634
  function emptyProfileState(error51 = null) {
24631
24635
  return {
@@ -24636,6 +24640,7 @@ function emptyProfileState(error51 = null) {
24636
24640
  manifestPath: null,
24637
24641
  agents: [],
24638
24642
  skills: [],
24643
+ evals: [],
24639
24644
  git: null,
24640
24645
  catalog: emptyProfileCatalogState(error51),
24641
24646
  skillCatalog: emptyProfileSkillCatalogState(error51),
@@ -24650,22 +24655,37 @@ function emptyProfileState(error51 = null) {
24650
24655
  };
24651
24656
  }
24652
24657
  async function initLocalProfileRepo(input = {}) {
24653
- const repoPath = path9.resolve(input.repoPath ?? defaultLocalProfileRepoPath());
24658
+ const repoPath = path9.resolve(
24659
+ input.repoPath ?? defaultLocalProfileRepoPath()
24660
+ );
24654
24661
  const profile = normalizeProfileName(input.profile);
24655
24662
  const profilePath = path9.join("profiles", profile);
24656
24663
  const profileSourcePath2 = path9.join(repoPath, profilePath);
24657
24664
  await mkdir(repoPath, { recursive: true });
24658
- const manifest = await readProfileManifest(repoPath).catch(() => defaultProfileManifest(profile, profilePath));
24665
+ const manifest = await readProfileManifest(repoPath).catch(
24666
+ () => defaultProfileManifest(profile, profilePath)
24667
+ );
24659
24668
  manifest.defaultProfile = manifest.defaultProfile || profile;
24660
- manifest.profiles[profile] = mergeProfileRepoManifestEntry(manifest.profiles[profile], profilePath);
24661
- await ensureProfileSource(profileSourcePath2, input.template ?? "blank-agent", Boolean(input.force));
24669
+ manifest.profiles[profile] = mergeProfileRepoManifestEntry(
24670
+ manifest.profiles[profile],
24671
+ profilePath
24672
+ );
24673
+ await ensureProfileSource(
24674
+ profileSourcePath2,
24675
+ input.template ?? "blank-agent",
24676
+ Boolean(input.force)
24677
+ );
24662
24678
  await ensureProfileDependencies(profileSourcePath2);
24663
24679
  await ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile);
24664
24680
  await writeProfileManifest(repoPath, manifest);
24665
24681
  await ensureProfileGitRepo(repoPath);
24666
24682
  const currentConfig = (await loadGlobalConfig()).openpondProfile;
24667
24683
  await saveGlobalConfig({
24668
- openpondProfile: mergeActiveLocalProfileConfig(currentConfig, repoPath, profile)
24684
+ openpondProfile: mergeActiveLocalProfileConfig(
24685
+ currentConfig,
24686
+ repoPath,
24687
+ profile
24688
+ )
24669
24689
  });
24670
24690
  return loadOpenPondProfileState();
24671
24691
  }
@@ -24676,29 +24696,64 @@ async function loadLocalProfileRepo(repoPathInput, profileInput) {
24676
24696
  profileSourcePath(manifest, repoPath, profile);
24677
24697
  const currentConfig = (await loadGlobalConfig()).openpondProfile;
24678
24698
  await saveGlobalConfig({
24679
- openpondProfile: mergeActiveLocalProfileConfig(currentConfig, repoPath, profile)
24699
+ openpondProfile: mergeActiveLocalProfileConfig(
24700
+ currentConfig,
24701
+ repoPath,
24702
+ profile
24703
+ )
24680
24704
  });
24681
24705
  return loadOpenPondProfileState();
24682
24706
  }
24707
+ async function renameActiveProfileAgent(agentIdInput, nameInput) {
24708
+ const agentId = agentIdInput.trim();
24709
+ const name = normalizeAgentDisplayName(nameInput);
24710
+ if (!agentId) throw new Error("Agent ID is required.");
24711
+ const config2 = await loadGlobalConfig();
24712
+ const active = config2.openpondProfile;
24713
+ if (!active) throw new Error("No active local Profile.");
24714
+ const manifest = await readProfileManifest(active.repoPath);
24715
+ const profileConfig = manifest.profiles[active.profile];
24716
+ if (!profileConfig) {
24717
+ throw new Error(`Profile "${active.profile}" was not found.`);
24718
+ }
24719
+ const defaultAgent = profileConfig.defaultAgent ?? DEFAULT_PROFILE_AGENT;
24720
+ const enabledAgents = profileConfig.enabledAgents ?? [defaultAgent];
24721
+ if (!enabledAgents.includes(agentId)) {
24722
+ throw new Error(
24723
+ `Agent "${agentId}" was not found in Profile "${active.profile}".`
24724
+ );
24725
+ }
24726
+ const agentNames = { ...profileConfig.agentNames ?? {} };
24727
+ if (name === agentId) delete agentNames[agentId];
24728
+ else agentNames[agentId] = name;
24729
+ if (Object.keys(agentNames).length) profileConfig.agentNames = agentNames;
24730
+ else delete profileConfig.agentNames;
24731
+ await writeProfileManifest(active.repoPath, manifest);
24732
+ return loadOpenPondProfileState();
24733
+ }
24683
24734
  async function loadOpenPondProfileState() {
24684
24735
  const config2 = await loadGlobalConfig();
24685
24736
  const active = config2.openpondProfile;
24686
24737
  if (!active) return emptyProfileState();
24687
24738
  try {
24688
24739
  const manifest = await readProfileManifest(active.repoPath);
24689
- const sourcePath = profileSourcePath(manifest, active.repoPath, active.profile);
24740
+ const sourcePath = profileSourcePath(
24741
+ manifest,
24742
+ active.repoPath,
24743
+ active.profile
24744
+ );
24690
24745
  const agents = await listProfileAgents(manifest, active.profile);
24691
- const [git, catalogResult, skillResult] = await Promise.all([
24746
+ const catalogSources = profileCatalogSources({
24747
+ manifest,
24748
+ profile: active.profile,
24749
+ profileSourcePath: sourcePath,
24750
+ agents
24751
+ });
24752
+ const [git, catalogResult, skillResult, evals] = await Promise.all([
24692
24753
  loadProfileGitState(active.repoPath),
24693
- loadProfileActionCatalogForSources(
24694
- profileCatalogSources({
24695
- manifest,
24696
- profile: active.profile,
24697
- profileSourcePath: sourcePath,
24698
- agents
24699
- })
24700
- ),
24701
- loadProfileSkills(sourcePath)
24754
+ loadProfileActionCatalogForSources(catalogSources),
24755
+ loadProfileSkills(sourcePath),
24756
+ loadProfileEvals(sourcePath, catalogSources)
24702
24757
  ]);
24703
24758
  const hosted = hostedBindingFromConfig(active);
24704
24759
  const diff = summarizeProfileDiff(git, active.profile);
@@ -24724,6 +24779,7 @@ async function loadOpenPondProfileState() {
24724
24779
  manifestPath: path9.join(active.repoPath, PROFILE_REPO_MANIFEST),
24725
24780
  agents,
24726
24781
  skills: skillResult.skills,
24782
+ evals,
24727
24783
  git,
24728
24784
  catalog: catalogResult.catalog,
24729
24785
  skillCatalog: skillResult.skillCatalog,
@@ -24747,6 +24803,7 @@ async function loadOpenPondProfileState() {
24747
24803
  manifestPath: path9.join(active.repoPath, PROFILE_REPO_MANIFEST),
24748
24804
  agents: [],
24749
24805
  skills: [],
24806
+ evals: [],
24750
24807
  git,
24751
24808
  catalog: emptyProfileCatalogState(errorMessage),
24752
24809
  skillCatalog: emptyProfileSkillCatalogState(errorMessage),
@@ -24764,21 +24821,30 @@ async function loadOpenPondProfileState() {
24764
24821
  async function requireActiveLocalProfile() {
24765
24822
  const config2 = (await loadGlobalConfig()).openpondProfile;
24766
24823
  if (!config2) {
24767
- throw new Error("No active OpenPond profile. Run `openpond init` or `openpond profile load --path <dir>`.");
24824
+ throw new Error(
24825
+ "No active OpenPond profile. Run `openpond init` or `openpond profile load --path <dir>`."
24826
+ );
24768
24827
  }
24769
24828
  const state = await loadOpenPondProfileState();
24770
24829
  if (state.error) throw new Error(state.error);
24771
- if (!state.sourcePath) throw new Error("Active OpenPond profile has no source path.");
24830
+ if (!state.sourcePath)
24831
+ throw new Error("Active OpenPond profile has no source path.");
24772
24832
  return { config: config2, state };
24773
24833
  }
24774
24834
  async function runProfileSdkCommand(input) {
24775
24835
  const active = await requireActiveLocalProfile();
24776
24836
  const requestedRunArgs = input.command === "run" ? input.args ?? [] : [];
24777
- const selectedAction = input.command === "run" ? active.state.actionCatalog.find((action) => action.id === requestedRunArgs[0]) : null;
24837
+ const selectedAction = input.command === "run" ? active.state.actionCatalog.find(
24838
+ (action) => action.id === requestedRunArgs[0]
24839
+ ) : null;
24778
24840
  const cwd = path9.resolve(
24779
24841
  input.cwd ?? selectedAction?.sourcePath ?? active.state.sourcePath
24780
24842
  );
24781
- const runArgs = input.command === "run" ? runCommandArgs(cwd, input.args ?? [], selectedAction?.sourceActionId ?? null) : null;
24843
+ const runArgs = input.command === "run" ? runCommandArgs(
24844
+ cwd,
24845
+ input.args ?? [],
24846
+ selectedAction?.sourceActionId ?? null
24847
+ ) : null;
24782
24848
  if (input.command === "run" && runArgs) {
24783
24849
  const actionId = runArgs[0];
24784
24850
  const catalog = path9.resolve(active.state.sourcePath) === cwd ? {
@@ -24804,7 +24870,9 @@ async function runProfileSdkCommand(input) {
24804
24870
  await saveProfileCheckStatus(input.command, result.code);
24805
24871
  if (result.code !== 0) {
24806
24872
  const detail = result.stderr.trim() || result.stdout.trim();
24807
- throw new Error(detail || `${input.command} failed with exit code ${result.code ?? "unknown"}`);
24873
+ throw new Error(
24874
+ detail || `${input.command} failed with exit code ${result.code ?? "unknown"}`
24875
+ );
24808
24876
  }
24809
24877
  return result;
24810
24878
  }
@@ -24820,7 +24888,9 @@ async function runAgentSdkProjectCommand(input) {
24820
24888
  });
24821
24889
  if (input.throwOnFailure !== false && result.code !== 0) {
24822
24890
  const detail = commandFailureDetail(result, input.command);
24823
- throw new Error(detail || `${input.command} failed with exit code ${result.code ?? "unknown"}`);
24891
+ throw new Error(
24892
+ detail || `${input.command} failed with exit code ${result.code ?? "unknown"}`
24893
+ );
24824
24894
  }
24825
24895
  return result;
24826
24896
  }
@@ -24843,7 +24913,9 @@ async function runProfileCheck(kind) {
24843
24913
  });
24844
24914
  for (const command of checks) {
24845
24915
  if (command !== "inspect" && command !== "build" && command !== "validate" && command !== "eval") {
24846
- throw new Error("check kind must be one of inspect, build, validate, eval, all");
24916
+ throw new Error(
24917
+ "check kind must be one of inspect, build, validate, eval, all"
24918
+ );
24847
24919
  }
24848
24920
  for (const source of sources) {
24849
24921
  await runProfileCheckForSource({
@@ -24859,8 +24931,10 @@ async function runProfileCheckForSource(input) {
24859
24931
  const args = input.command === "inspect" || input.command === "validate" || input.command === "eval" ? ["--json"] : [];
24860
24932
  if (input.sourceCount > 1) {
24861
24933
  const label = path9.relative(input.profileSourcePath, input.source.sourcePath) || ".";
24862
- console.log(`
24863
- [profile:${input.source.agentId}] ${input.command} ${label}`);
24934
+ console.log(
24935
+ `
24936
+ [profile:${input.source.agentId}] ${input.command} ${label}`
24937
+ );
24864
24938
  }
24865
24939
  const result = await runAgentSdkProjectCommand({
24866
24940
  command: input.command,
@@ -24943,7 +25017,17 @@ async function ensureProfileSource(profileSourcePath2, template, force) {
24943
25017
  }
24944
25018
  async function ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile) {
24945
25019
  await mkdir(path9.join(repoPath, "profiles"), { recursive: true });
24946
- for (const dir of ["agents", "skills", "actions", "extensions", "prompts", "goals", "evals", "settings", "traces"]) {
25020
+ for (const dir of [
25021
+ "agents",
25022
+ "skills",
25023
+ "actions",
25024
+ "extensions",
25025
+ "prompts",
25026
+ "goals",
25027
+ "evals",
25028
+ "settings",
25029
+ "traces"
25030
+ ]) {
24947
25031
  await mkdir(path9.join(profileSourcePath2, dir), { recursive: true });
24948
25032
  }
24949
25033
  const profileManifestPath = path9.join(profileSourcePath2, PROFILE_MANIFEST);
@@ -24964,7 +25048,11 @@ async function ensureProfileScaffoldFiles(repoPath, profileSourcePath2, profile)
24964
25048
  }
24965
25049
  const lockPath = path9.join(profileSourcePath2, "openpond.lock");
24966
25050
  if (!existsSync4(lockPath)) {
24967
- await writeFile2(lockPath, "# OpenPond profile lockfile placeholder\n", "utf8");
25051
+ await writeFile2(
25052
+ lockPath,
25053
+ "# OpenPond profile lockfile placeholder\n",
25054
+ "utf8"
25055
+ );
24968
25056
  }
24969
25057
  }
24970
25058
  async function rewriteTemplateSdkDependency(profileSourcePath2, sdkRoot) {
@@ -24975,8 +25063,12 @@ async function rewriteTemplateSdkDependency(profileSourcePath2, sdkRoot) {
24975
25063
  ...packageJson.dependencies ?? {},
24976
25064
  "openpond-agent-sdk": `file:${sdkRoot}`
24977
25065
  };
24978
- await writeFile2(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}
24979
- `, "utf8");
25066
+ await writeFile2(
25067
+ packageJsonPath,
25068
+ `${JSON.stringify(packageJson, null, 2)}
25069
+ `,
25070
+ "utf8"
25071
+ );
24980
25072
  }
24981
25073
  async function ensureProfileDependencies(profileSourcePath2) {
24982
25074
  if (!existsSync4(path9.join(profileSourcePath2, "package.json"))) return;
@@ -24995,7 +25087,9 @@ async function ensureAgentSdkBuilt(sdkRoot) {
24995
25087
  }
24996
25088
  const buildScript = path9.join(sdkRoot, "scripts", "build.ts");
24997
25089
  if (!existsSync4(buildScript)) {
24998
- throw new Error(`Resolved openpond-agent-sdk at ${sdkRoot}, but built SDK files are missing.`);
25090
+ throw new Error(
25091
+ `Resolved openpond-agent-sdk at ${sdkRoot}, but built SDK files are missing.`
25092
+ );
24999
25093
  }
25000
25094
  const result = await spawnCommand(
25001
25095
  process.execPath,
@@ -25004,7 +25098,9 @@ async function ensureAgentSdkBuilt(sdkRoot) {
25004
25098
  );
25005
25099
  if (result.code !== 0) {
25006
25100
  const detail = result.stderr.trim() || result.stdout.trim();
25007
- throw new Error(detail || `openpond-agent-sdk build failed with exit code ${result.code ?? "unknown"}`);
25101
+ throw new Error(
25102
+ detail || `openpond-agent-sdk build failed with exit code ${result.code ?? "unknown"}`
25103
+ );
25008
25104
  }
25009
25105
  }
25010
25106
  async function listProfileAgents(manifest, profile) {
@@ -25014,25 +25110,72 @@ async function listProfileAgents(manifest, profile) {
25014
25110
  const enabled = new Set(profileConfig.enabledAgents ?? [defaultAgent]);
25015
25111
  return Array.from(enabled).map((id) => ({
25016
25112
  id,
25017
- name: id,
25113
+ name: profileConfig.agentNames?.[id]?.trim() || id,
25018
25114
  path: id === DEFAULT_PROFILE_AGENT ? "agent/agent.ts" : `agents/${id}`,
25019
25115
  enabled: true
25020
25116
  }));
25021
25117
  }
25022
25118
  function profileCatalogSources(input) {
25023
25119
  const defaultAgent = input.manifest.profiles[input.profile]?.defaultAgent ?? DEFAULT_PROFILE_AGENT;
25024
- const agents = input.agents.length > 0 ? input.agents : [{
25025
- id: DEFAULT_PROFILE_AGENT,
25026
- name: DEFAULT_PROFILE_AGENT,
25027
- path: "agent/agent.ts",
25028
- enabled: true
25029
- }];
25120
+ const agents = input.agents.length > 0 ? input.agents : [
25121
+ {
25122
+ id: DEFAULT_PROFILE_AGENT,
25123
+ name: DEFAULT_PROFILE_AGENT,
25124
+ path: "agent/agent.ts",
25125
+ enabled: true
25126
+ }
25127
+ ];
25030
25128
  return agents.map((agent) => ({
25031
25129
  agentId: agent.id,
25032
25130
  sourcePath: agent.id === DEFAULT_PROFILE_AGENT ? input.profileSourcePath : path9.join(input.profileSourcePath, "agents", agent.id),
25033
25131
  preferred: agent.id === defaultAgent
25034
25132
  }));
25035
25133
  }
25134
+ async function loadProfileEvals(profileSourcePath2, sources) {
25135
+ const evals = /* @__PURE__ */ new Map();
25136
+ const roots = [
25137
+ {
25138
+ root: path9.join(profileSourcePath2, "evals"),
25139
+ agentId: null
25140
+ },
25141
+ ...sources.flatMap((source) => [
25142
+ {
25143
+ root: path9.join(source.sourcePath, "agent", "evals"),
25144
+ agentId: source.agentId
25145
+ },
25146
+ { root: path9.join(source.sourcePath, "evals"), agentId: source.agentId }
25147
+ ])
25148
+ ];
25149
+ for (const entry of roots) {
25150
+ for (const sourcePath of await listEvalSourceFiles(entry.root)) {
25151
+ const relativePath = path9.relative(profileSourcePath2, sourcePath).split(path9.sep).join("/");
25152
+ if (evals.has(relativePath)) continue;
25153
+ evals.set(relativePath, {
25154
+ id: relativePath,
25155
+ name: path9.basename(sourcePath).replace(/\.eval\.[^.]+$/i, "").replace(/\.[^.]+$/i, ""),
25156
+ path: relativePath,
25157
+ agentId: entry.agentId,
25158
+ sourcePath
25159
+ });
25160
+ }
25161
+ }
25162
+ return [...evals.values()].sort(
25163
+ (left, right) => left.name.localeCompare(right.name) || left.path.localeCompare(right.path)
25164
+ );
25165
+ }
25166
+ async function listEvalSourceFiles(root) {
25167
+ if (!existsSync4(root)) return [];
25168
+ const files = [];
25169
+ for (const entry of await readdir2(root, { withFileTypes: true })) {
25170
+ const sourcePath = path9.join(root, entry.name);
25171
+ if (entry.isDirectory()) {
25172
+ files.push(...await listEvalSourceFiles(sourcePath));
25173
+ } else if (entry.isFile() && /\.eval\.(?:[cm]?[jt]sx?)$/i.test(entry.name)) {
25174
+ files.push(sourcePath);
25175
+ }
25176
+ }
25177
+ return files;
25178
+ }
25036
25179
  function hostedBindingFromConfig(config2) {
25037
25180
  const push = config2.lastPush;
25038
25181
  if (!push) return null;
@@ -25046,8 +25189,6 @@ function hostedBindingFromConfig(config2) {
25046
25189
  lastPushedHostedHead: push.hostedHead ?? null,
25047
25190
  promotionStatus: push.promotionStatus ?? null,
25048
25191
  hostedRunStatus: push.hostedRunStatus ?? null,
25049
- localGoalId: push.localGoalId ?? null,
25050
- hostedGoalId: push.hostedGoalId ?? null,
25051
25192
  hostedRunAgentId: push.hostedRunAgentId ?? null,
25052
25193
  hostedRunId: push.hostedRunId ?? null,
25053
25194
  hostedRunAt: push.hostedRunAt ?? null,
@@ -25133,10 +25274,13 @@ function summarizeProfileState(input) {
25133
25274
  }
25134
25275
  function profileCheckStaleReason(input) {
25135
25276
  if (input.catalog.error) return `Catalog error: ${input.catalog.error}`;
25136
- if (input.catalog.stale) return "Action catalog artifacts are missing or stale.";
25277
+ if (input.catalog.stale)
25278
+ return "Action catalog artifacts are missing or stale.";
25137
25279
  if (!input.lastCheck) return "Profile checks have not run.";
25138
- if (input.lastCheck.status !== "passed") return `Last ${input.lastCheck.command} check failed.`;
25139
- if (!input.lastCheck.sourceHead) return "Last check did not record a source head.";
25280
+ if (input.lastCheck.status !== "passed")
25281
+ return `Last ${input.lastCheck.command} check failed.`;
25282
+ if (!input.lastCheck.sourceHead)
25283
+ return "Last check did not record a source head.";
25140
25284
  if (input.git.head && input.lastCheck.sourceHead !== input.git.head) {
25141
25285
  return "Profile source changed since the last check.";
25142
25286
  }
@@ -25145,14 +25289,24 @@ function profileCheckStaleReason(input) {
25145
25289
  }
25146
25290
  function profileDirtyMessage(diff) {
25147
25291
  const parts = [];
25148
- if (diff.changedAgents.length > 0) parts.push(`${diff.changedAgents.length} changed agent(s)`);
25149
- if (diff.newAgents.length > 0) parts.push(`${diff.newAgents.length} new agent(s)`);
25150
- if (diff.deletedAgents.length > 0) parts.push(`${diff.deletedAgents.length} deleted agent(s)`);
25151
- if (diff.changedSkills.length > 0) parts.push(`${diff.changedSkills.length} changed skill(s)`);
25152
- if (diff.changedActions.length > 0) parts.push(`${diff.changedActions.length} changed action(s)`);
25153
- if (diff.changedExtensions.length > 0) parts.push(`${diff.changedExtensions.length} changed extension(s)`);
25154
- if (diff.setupChanges.length > 0) parts.push(`${diff.setupChanges.length} setup change(s)`);
25155
- if (diff.envRequirementChanges.length > 0) parts.push(`${diff.envRequirementChanges.length} env requirement change(s)`);
25292
+ if (diff.changedAgents.length > 0)
25293
+ parts.push(`${diff.changedAgents.length} changed agent(s)`);
25294
+ if (diff.newAgents.length > 0)
25295
+ parts.push(`${diff.newAgents.length} new agent(s)`);
25296
+ if (diff.deletedAgents.length > 0)
25297
+ parts.push(`${diff.deletedAgents.length} deleted agent(s)`);
25298
+ if (diff.changedSkills.length > 0)
25299
+ parts.push(`${diff.changedSkills.length} changed skill(s)`);
25300
+ if (diff.changedActions.length > 0)
25301
+ parts.push(`${diff.changedActions.length} changed action(s)`);
25302
+ if (diff.changedExtensions.length > 0)
25303
+ parts.push(`${diff.changedExtensions.length} changed extension(s)`);
25304
+ if (diff.setupChanges.length > 0)
25305
+ parts.push(`${diff.setupChanges.length} setup change(s)`);
25306
+ if (diff.envRequirementChanges.length > 0)
25307
+ parts.push(
25308
+ `${diff.envRequirementChanges.length} env requirement change(s)`
25309
+ );
25156
25310
  return parts.length > 0 ? `Profile has ${parts.join(", ")}.` : "Profile has uncommitted source changes.";
25157
25311
  }
25158
25312
  function summarizeProfileDiff(git, profile) {
@@ -25183,7 +25337,10 @@ function classifyProfileFileChange(diff, file2, relativePath) {
25183
25337
  } else if (firstSegment === "actions") {
25184
25338
  addUnique(diff.changedActions, relativePath.split("/")[1] ?? relativePath);
25185
25339
  } else if (firstSegment === "extensions") {
25186
- addUnique(diff.changedExtensions, relativePath.split("/")[1] ?? relativePath);
25340
+ addUnique(
25341
+ diff.changedExtensions,
25342
+ relativePath.split("/")[1] ?? relativePath
25343
+ );
25187
25344
  } else if (firstSegment === "settings" || relativePath === "package.json" || relativePath === "openpond.yaml" || relativePath === "openpond.lock") {
25188
25345
  addUnique(diff.setupChanges, relativePath);
25189
25346
  }
@@ -25213,10 +25370,22 @@ function normalizeProfileName(value) {
25213
25370
  const trimmed = value?.trim();
25214
25371
  if (!trimmed) return DEFAULT_LOCAL_PROFILE;
25215
25372
  if (!/^[a-zA-Z0-9._-]+$/.test(trimmed)) {
25216
- throw new Error("profile name may only contain letters, numbers, dots, underscores, and hyphens");
25373
+ throw new Error(
25374
+ "profile name may only contain letters, numbers, dots, underscores, and hyphens"
25375
+ );
25217
25376
  }
25218
25377
  return trimmed;
25219
25378
  }
25379
+ function normalizeAgentDisplayName(value) {
25380
+ const name = value.trim().replace(/\s+/g, " ");
25381
+ if (!name) throw new Error("Agent name is required.");
25382
+ if (name.length > 80)
25383
+ throw new Error("Agent name must be 80 characters or fewer.");
25384
+ if (/[\u0000-\u001f\u007f]/.test(name)) {
25385
+ throw new Error("Agent name cannot contain control characters.");
25386
+ }
25387
+ return name;
25388
+ }
25220
25389
  function defaultProfileManifest(profile, profilePath) {
25221
25390
  return {
25222
25391
  schema: "openpond.profileRepo.v1",
@@ -25235,18 +25404,29 @@ async function readProfileManifest(repoPath) {
25235
25404
  const raw = await readFile5(manifestPath, "utf8");
25236
25405
  const parsed = JSON.parse(raw);
25237
25406
  if (parsed.schema !== "openpond.profileRepo.v1" || !parsed.profiles || typeof parsed.profiles !== "object") {
25238
- throw new Error(`${manifestPath} is not an OpenPond profile repo manifest.`);
25407
+ throw new Error(
25408
+ `${manifestPath} is not an OpenPond profile repo manifest.`
25409
+ );
25239
25410
  }
25240
25411
  return parsed;
25241
25412
  }
25242
25413
  async function writeProfileManifest(repoPath, manifest) {
25243
- await writeFile2(path9.join(repoPath, PROFILE_REPO_MANIFEST), `${JSON.stringify(manifest, null, 2)}
25244
- `, "utf8");
25414
+ await writeFile2(
25415
+ path9.join(repoPath, PROFILE_REPO_MANIFEST),
25416
+ `${JSON.stringify(manifest, null, 2)}
25417
+ `,
25418
+ "utf8"
25419
+ );
25245
25420
  }
25246
25421
  function profileSourcePath(manifest, repoPath, profile) {
25247
25422
  const profileConfig = manifest.profiles[profile];
25248
25423
  if (!profileConfig) {
25249
- throw new Error(`Profile "${profile}" was not found in ${path9.join(repoPath, PROFILE_REPO_MANIFEST)}.`);
25424
+ throw new Error(
25425
+ `Profile "${profile}" was not found in ${path9.join(
25426
+ repoPath,
25427
+ PROFILE_REPO_MANIFEST
25428
+ )}.`
25429
+ );
25250
25430
  }
25251
25431
  const sourcePath = path9.resolve(repoPath, profileConfig.path);
25252
25432
  if (!existsSync4(sourcePath)) {
@@ -25261,15 +25441,21 @@ function resolveAgentSdkRoot() {
25261
25441
  function resolveAgentSdkCliLaunch() {
25262
25442
  const sdkRoot = resolveAgentSdkRoot();
25263
25443
  const distCli = path9.join(sdkRoot, "dist", "cli.js");
25264
- if (existsSync4(distCli)) return { command: process.execPath, args: [distCli] };
25444
+ if (existsSync4(distCli))
25445
+ return { command: process.execPath, args: [distCli] };
25265
25446
  const sourceCli = path9.join(sdkRoot, "src", "cli.ts");
25266
25447
  if (existsSync4(sourceCli)) {
25267
- return { command: process.execPath, args: [resolveTsxCli(sdkRoot), sourceCli] };
25448
+ return {
25449
+ command: process.execPath,
25450
+ args: [resolveTsxCli(sdkRoot), sourceCli]
25451
+ };
25268
25452
  }
25269
25453
  throw new Error(`openpond-agent CLI was not found under ${sdkRoot}`);
25270
25454
  }
25271
25455
  function resolveTsxCli(packageRoot) {
25272
- return createRequire(path9.join(packageRoot, "package.json")).resolve("tsx/cli");
25456
+ return createRequire(path9.join(packageRoot, "package.json")).resolve(
25457
+ "tsx/cli"
25458
+ );
25273
25459
  }
25274
25460
  async function spawnCommand(command, args, options = {}) {
25275
25461
  return new Promise((resolve, reject) => {
@@ -25293,12 +25479,22 @@ async function spawnCommand(command, args, options = {}) {
25293
25479
  }, timeoutMs + 5e3) : null;
25294
25480
  if (!options.inherit) {
25295
25481
  proc.stdout?.on("data", (chunk) => {
25296
- const next = appendBoundedOutput(stdout, String(chunk), maxOutputBytes, stdoutTruncated);
25482
+ const next = appendBoundedOutput(
25483
+ stdout,
25484
+ String(chunk),
25485
+ maxOutputBytes,
25486
+ stdoutTruncated
25487
+ );
25297
25488
  stdout = next.text;
25298
25489
  stdoutTruncated = next.truncated;
25299
25490
  });
25300
25491
  proc.stderr?.on("data", (chunk) => {
25301
- const next = appendBoundedOutput(stderr, String(chunk), maxOutputBytes, stderrTruncated);
25492
+ const next = appendBoundedOutput(
25493
+ stderr,
25494
+ String(chunk),
25495
+ maxOutputBytes,
25496
+ stderrTruncated
25497
+ );
25302
25498
  stderr = next.text;
25303
25499
  stderrTruncated = next.truncated;
25304
25500
  });
@@ -25313,7 +25509,14 @@ async function spawnCommand(command, args, options = {}) {
25313
25509
  });
25314
25510
  proc.on("close", (code) => {
25315
25511
  clearTimers();
25316
- resolve({ code, stdout, stderr, timedOut, stdoutTruncated, stderrTruncated });
25512
+ resolve({
25513
+ code,
25514
+ stdout,
25515
+ stderr,
25516
+ timedOut,
25517
+ stdoutTruncated,
25518
+ stderrTruncated
25519
+ });
25317
25520
  });
25318
25521
  });
25319
25522
  }
@@ -25441,6 +25644,7 @@ export {
25441
25644
  parseSandboxTemplateYaml,
25442
25645
  postAgentDigest,
25443
25646
  promotePreviewToProduction,
25647
+ renameActiveProfileAgent,
25444
25648
  requireActiveLocalProfile,
25445
25649
  resolveHostedChatApiBaseUrl,
25446
25650
  resolveOpChatApiBaseUrl,
@@ -17,6 +17,13 @@ export type OpenPondProfileSkill = {
17
17
  validationStatus: "valid" | "warning" | "error";
18
18
  validationMessages: string[];
19
19
  };
20
+ export type OpenPondProfileEval = {
21
+ id: string;
22
+ name: string;
23
+ path: string;
24
+ agentId: string | null;
25
+ sourcePath: string;
26
+ };
20
27
  export type OpenPondProfileGitFileChange = {
21
28
  path: string;
22
29
  originalPath?: string | null;
@@ -112,8 +119,6 @@ export type OpenPondProfileHostedBinding = {
112
119
  lastPushedHostedHead: string | null;
113
120
  promotionStatus: string | null;
114
121
  hostedRunStatus: string | null;
115
- localGoalId: string | null;
116
- hostedGoalId: string | null;
117
122
  hostedRunAgentId: string | null;
118
123
  hostedRunId: string | null;
119
124
  hostedRunAt: string | null;
@@ -141,6 +146,7 @@ export type OpenPondProfileState = {
141
146
  manifestPath: string | null;
142
147
  agents: OpenPondProfileAgent[];
143
148
  skills: OpenPondProfileSkill[];
149
+ evals: OpenPondProfileEval[];
144
150
  git: OpenPondProfileGitState | null;
145
151
  catalog: OpenPondProfileCatalogState;
146
152
  skillCatalog: OpenPondProfileSkillCatalogState;
@@ -11,9 +11,10 @@ export type ProfileRepoManifest = {
11
11
  path: string;
12
12
  defaultAgent?: string;
13
13
  enabledAgents?: string[];
14
+ agentNames?: Record<string, string>;
14
15
  }>;
15
16
  };
16
- export type { OpenPondProfileActionCatalogEntry, OpenPondProfileAgent, OpenPondProfileCatalogState, OpenPondProfileDiffSummary, OpenPondProfileGitFileChange, OpenPondProfileGitState, OpenPondProfileHostedBinding, OpenPondProfileSetupGate, OpenPondProfileSetupRequirement, OpenPondProfileSkill, OpenPondProfileSkillCatalogState, OpenPondProfileState, OpenPondProfileSummary, } from "./local-profile-types.js";
17
+ export type { OpenPondProfileActionCatalogEntry, OpenPondProfileAgent, OpenPondProfileCatalogState, OpenPondProfileDiffSummary, OpenPondProfileEval, OpenPondProfileGitFileChange, OpenPondProfileGitState, OpenPondProfileHostedBinding, OpenPondProfileSetupGate, OpenPondProfileSetupRequirement, OpenPondProfileSkill, OpenPondProfileSkillCatalogState, OpenPondProfileState, OpenPondProfileSummary, } from "./local-profile-types.js";
17
18
  export { OpenPondProfileSetupRequiredError, assertOpenPondProfileActionReady, buildOpenPondProfileSetupGate, formatOpenPondProfileSetupRequirement, } from "./profile-setup-gate.js";
18
19
  export type { LocalOpenPondProfileCheckStatus, LocalOpenPondProfilePushStatus, } from "../config.js";
19
20
  export { collectProfileSourceUploadEntries, type OpenPondProfileSourceUpload, type OpenPondProfileSourceUploadEntry, } from "./profile-source-upload.js";
@@ -38,6 +39,7 @@ export declare function defaultLocalProfileRepoPath(): string;
38
39
  export declare function emptyProfileState(error?: string | null): OpenPondProfileState;
39
40
  export declare function initLocalProfileRepo(input?: InitLocalProfileInput): Promise<OpenPondProfileState>;
40
41
  export declare function loadLocalProfileRepo(repoPathInput: string, profileInput?: string): Promise<OpenPondProfileState>;
42
+ export declare function renameActiveProfileAgent(agentIdInput: string, nameInput: string): Promise<OpenPondProfileState>;
41
43
  export declare function loadOpenPondProfileState(): Promise<OpenPondProfileState>;
42
44
  export declare function requireActiveLocalProfile(): Promise<{
43
45
  config: LocalOpenPondProfileConfig;
@@ -330,8 +330,7 @@ export type SandboxAgentEditWorkItemOpenInput = {
330
330
  initialMessage?: string | null;
331
331
  sourceRef?: string | null;
332
332
  baseSha?: string | null;
333
- createPipelineRequest?: Record<string, unknown> | null;
334
- createPipeline?: Record<string, unknown> | null;
333
+ createImproveRun?: Record<string, unknown> | null;
335
334
  };
336
335
  export type SandboxAgentEditWorkItemOpenResult = {
337
336
  workItem: SandboxCodingWorkItem;