openpond 0.0.35 → 0.0.37

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 (137) hide show
  1. package/README.md +4 -0
  2. package/dist/chunks/{app-layer-GUF2CKYH.js → app-layer-LF2HK2B2.js} +6 -3
  3. package/dist/chunks/{apps-DIVHAUOV.js → apps-ZMCMQZKX.js} +16 -12
  4. package/dist/chunks/{chunk-YPK2W34Z.js → chunk-2WMGA5FE.js} +8 -10
  5. package/dist/chunks/{chunk-NTRTK6C6.js → chunk-35PPAOWD.js} +2 -2
  6. package/dist/chunks/chunk-3VURZQHA.js +864 -0
  7. package/dist/chunks/{chunk-FRPL5XPX.js → chunk-43YI36NA.js} +1 -1
  8. package/dist/chunks/{chunk-4Y25BACE.js → chunk-A3CJUBA7.js} +1 -1
  9. package/dist/chunks/{chunk-RLQGMSW7.js → chunk-BWA3COR4.js} +573 -1204
  10. package/dist/chunks/{chunk-TXJ4TIDO.js → chunk-HLCTINEP.js} +1 -1
  11. package/dist/chunks/{chunk-GUGFYXFS.js → chunk-IATK3CIP.js} +6 -6
  12. package/dist/chunks/{chunk-2GV3QBBZ.js → chunk-ICLLW5QD.js} +1 -1
  13. package/dist/chunks/chunk-KSRWKXRB.js +12 -0
  14. package/dist/chunks/{chunk-II2ERA2H.js → chunk-KT2BB4AR.js} +30 -11
  15. package/dist/chunks/{chunk-XIF53VR3.js → chunk-LNKYEHIJ.js} +28 -3
  16. package/dist/chunks/{chunk-SECNDLPQ.js → chunk-MHBQWGCL.js} +1070 -57
  17. package/dist/chunks/chunk-MUMPWI4O.js +92 -0
  18. package/dist/chunks/{chunk-ZZOTKXRD.js → chunk-N6E6YSTP.js} +2 -2
  19. package/dist/chunks/{chunk-S3VA47DG.js → chunk-PGET7EZF.js} +7 -5
  20. package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
  21. package/dist/chunks/{chunk-LUA5QGQP.js → chunk-VFL2JVBZ.js} +48 -121
  22. package/dist/chunks/{chunk-EY52SLOQ.js → chunk-WL76II47.js} +1 -1
  23. package/dist/chunks/{chunk-CRFB72X2.js → chunk-WTA33KQQ.js} +23 -19
  24. package/dist/chunks/{chunk-LHYK6QO2.js → chunk-XEJ7XXUQ.js} +1 -0
  25. package/dist/chunks/{chunk-2I5TZW66.js → chunk-ZPL4GZML.js} +128 -4
  26. package/dist/chunks/chunk-ZZ4ECDTP.js +668 -0
  27. package/dist/chunks/{cli-HUVI6ELM.js → cli-5NFIDCRL.js} +5 -5
  28. package/dist/chunks/cli-AS3DZ7XB.js +23 -0
  29. package/dist/chunks/{core-commands-2HUTKFHQ.js → core-commands-7223BEQL.js} +7 -4
  30. package/dist/chunks/{extend-PAJMXYKV.js → extend-6N5S5KA5.js} +18 -13
  31. package/dist/chunks/extension-FJSVCG2Q.js +121 -0
  32. package/dist/chunks/{harness-UWAS2VAN.js → harness-OMJXIGEW.js} +6 -3
  33. package/dist/chunks/{help-M7D2XAOX.js → help-YPPROIS7.js} +2 -1
  34. package/dist/chunks/{opchat-FQ2CJVM6.js → opchat-K7IYFPX6.js} +12 -7
  35. package/dist/chunks/{organizations-L5N6LJ7O.js → organizations-W3FMAWQ4.js} +8 -5
  36. package/dist/chunks/{profile-KH5IKVNY.js → profile-N4B3F7M7.js} +11 -8
  37. package/dist/chunks/{project-agent-F4NHVRGY.js → project-agent-NA6SGU25.js} +10 -7
  38. package/dist/chunks/{sandbox-command-DDXRQNB6.js → sandbox-command-AKCFJKKN.js} +7 -4
  39. package/dist/chunks/{sandbox-template-5EEEQKR5.js → sandbox-template-5NKTAXCL.js} +11 -7
  40. package/dist/chunks/{src-34FV42HE.js → src-SCS4KKP4.js} +2387 -1262
  41. package/dist/chunks/{src-LHZWUSD7.js → src-XAVSQTVR.js} +3 -3
  42. package/dist/chunks/{teams-bot-HFWO5GOV.js → teams-bot-557NZC73.js} +6 -3
  43. package/dist/chunks/{workspaces-LO44JAC2.js → workspaces-S2H75XQB.js} +6 -2
  44. package/dist/cli.js +14 -11
  45. package/dist/index.js +27 -9
  46. package/dist/profile/local-profile-types.d.ts +1 -0
  47. package/dist/profile/profile-skills.d.ts +2 -0
  48. package/dist/web/assets/{AppDialog-T3j6O3yg.js → AppDialog-y6krB0MJ.js} +1 -1
  49. package/dist/web/assets/{AppsView-70Qqf9eJ.js → AppsView-4F6oLktr.js} +1 -1
  50. package/dist/web/assets/{BrowserSidebar-CdBLHdNW.js → BrowserSidebar-C0MHQaaD.js} +1 -1
  51. package/dist/web/assets/{CloudWorkView-C5-jvlOo.js → CloudWorkView-DwFIZoXy.js} +1 -1
  52. package/dist/web/assets/CommandMenu-CYGFrMZi.js +1 -0
  53. package/dist/web/assets/{CommunityView-BHUJ9Hun.js → CommunityView-C6n89YXz.js} +1 -1
  54. package/dist/web/assets/ComposerCreateImproveStrip-C3RwXC3_.js +1 -0
  55. package/dist/web/assets/{GetStartedView-CIXScviw.js → GetStartedView-fwD0ZXo9.js} +1 -1
  56. package/dist/web/assets/LabSkillSidebar-BSuc-NJr.js +1 -0
  57. package/dist/web/assets/LabSkillSidebar-CVxtS9pd.css +1 -0
  58. package/dist/web/assets/LabsRoute-BrJkBNig.css +1 -0
  59. package/dist/web/assets/LabsRoute-D2y8dSsT.js +3 -0
  60. package/dist/web/assets/MainChatThread-Dj_Ry6WQ.js +2 -0
  61. package/dist/web/assets/{MakeAgentTutorialLearningPanel-r7jyZVc0.js → MakeAgentTutorialLearningPanel-Bz2VDaRe.js} +2 -2
  62. package/dist/web/assets/{MarkdownText-E35C404I.js → MarkdownText-B6Nu_0Fz.js} +4 -4
  63. package/dist/web/assets/Messages-CH2wfv2a.js +10 -0
  64. package/dist/web/assets/NativeSkillSidebar-4iUfgwqO.js +1 -0
  65. package/dist/web/assets/{NewProjectDialog-BowacUmA.js → NewProjectDialog-8M5-6-h-.js} +1 -1
  66. package/dist/web/assets/{PostTrainingLearningPanel-oJu5qaHK.js → PostTrainingLearningPanel-CdG5KHZs.js} +2 -2
  67. package/dist/web/assets/{PostTrainingStatusPill-B9Eoc4s0.js → PostTrainingStatusPill-COZ4qISQ.js} +1 -1
  68. package/dist/web/assets/{ProfileSettingsSection-Dnh92gDH.js → ProfileSettingsSection-Bo7dybgW.js} +1 -1
  69. package/dist/web/assets/RightChatPanelStack-Di8zoHJI.js +1 -0
  70. package/dist/web/assets/{SettingsView-uHhQnazW.css → SettingsView-BcYyY66X.css} +1 -1
  71. package/dist/web/assets/SettingsView-CAaKdDHt.js +6 -0
  72. package/dist/web/assets/{TeamChatView-Tn4X5cuY.js → TeamChatView-CzQYFBap.js} +2 -2
  73. package/dist/web/assets/{TerminalOverlay-DoX5LYzK.js → TerminalOverlay-B56XmI-k.js} +1 -1
  74. package/dist/web/assets/TrainingCreationPanel-C_ntWAAP.js +1 -0
  75. package/dist/web/assets/{TrainingDraftPanel-Da6uGu9y.js → TrainingDraftPanel-3hJIxLNn.js} +1 -1
  76. package/dist/web/assets/{UsageSettingsSection-DKky0p47.js → UsageSettingsSection-r3CqRm6Q.js} +1 -1
  77. package/dist/web/assets/WorkspaceDiffPanel-By8PWUuE.js +14 -0
  78. package/dist/web/assets/{WorkspaceEnvironmentMenu-Ba4M8z1N.js → WorkspaceEnvironmentMenu-7wmC-spz.js} +3 -3
  79. package/dist/web/assets/{WorkspaceGitDialogs-CSepNOb8.js → WorkspaceGitDialogs-Hn--lsRh.js} +1 -1
  80. package/dist/web/assets/{WorkspaceMonacoEditor-LhFdzCRs.js → WorkspaceMonacoEditor-CHd22UcG.js} +3 -3
  81. package/dist/web/assets/{activity-bW02ZsBD.js → activity-Dp5V58om.js} +1 -1
  82. package/dist/web/assets/{boxes-B1dRA1pi.js → boxes-DE7WJaEv.js} +1 -1
  83. package/dist/web/assets/{chevron-up-CySy6WNq.js → chevron-up-BWx8gGab.js} +1 -1
  84. package/dist/web/assets/{circle-x-DY8vKAKi.js → circle-x-DnmOfZIg.js} +1 -1
  85. package/dist/web/assets/{copy-DuHI1UZ_.js → copy-BjWvaXLC.js} +1 -1
  86. package/dist/web/assets/{create-pipeline-request-CGBcdK9r.js → create-pipeline-request-C4V6-lWN.js} +3 -3
  87. package/dist/web/assets/{credit-card-Bot0OuTl.js → credit-card-Bjg0Zaw5.js} +1 -1
  88. package/dist/web/assets/{cssMode-BIjAothW.js → cssMode-KFDYjM8T.js} +1 -1
  89. package/dist/web/assets/file-BrC1KjAS.js +1 -0
  90. package/dist/web/assets/{git-branch-Cm02aNWq.js → git-branch-DTeeARsp.js} +1 -1
  91. package/dist/web/assets/{git-commit-horizontal-FYILXW0v.js → git-commit-horizontal-C8UFKlXy.js} +1 -1
  92. package/dist/web/assets/{htmlMode-zO2xLLgL.js → htmlMode-NbLN3n6Q.js} +1 -1
  93. package/dist/web/assets/index-BcZetaeD.css +1 -0
  94. package/dist/web/assets/index-DQalqxbw.js +177 -0
  95. package/dist/web/assets/index-DYxF_d9i.js +1 -0
  96. package/dist/web/assets/{info-DeuEU_RO.js → info-BXBpMeVU.js} +1 -1
  97. package/dist/web/assets/{jsonMode-D2A3mj4n.js → jsonMode-Bl3r4LM_.js} +1 -1
  98. package/dist/web/assets/{lspLanguageFeatures-aPSqvscU.js → lspLanguageFeatures-DH22w5XD.js} +1 -1
  99. package/dist/web/assets/make-agent-tutorial-CAnTPFCK.js +2 -0
  100. package/dist/web/assets/{monaco.contribution-Do3Jjslo.js → monaco.contribution-C0BsxYAz.js} +2 -2
  101. package/dist/web/assets/{monaco.contribution-DAq6Jihl.js → monaco.contribution-CzpXjm9j.js} +2 -2
  102. package/dist/web/assets/{monaco.contribution-CHVe9CQ9.js → monaco.contribution-DK-g-i00.js} +2 -2
  103. package/dist/web/assets/{monaco.contribution-KqCt1n9-.js → monaco.contribution-iAurj7TQ.js} +2 -2
  104. package/dist/web/assets/{monitor-DXvHWFeW.js → monitor-Ba2FFblh.js} +1 -1
  105. package/dist/web/assets/{play-BIHyH-Yu.js → play-2NDQ4-7K.js} +1 -1
  106. package/dist/web/assets/{python-g3mtmU2J.js → python-CQ0TmUW9.js} +1 -1
  107. package/dist/web/assets/{refresh-cw-Daz0oqwK.js → refresh-cw-CyermMsy.js} +1 -1
  108. package/dist/web/assets/{reply-wu9DIBuK.js → reply-BSExNLHM.js} +1 -1
  109. package/dist/web/assets/{rotate-cw-D7q9GgNc.js → rotate-cw-DJ-zYG9E.js} +1 -1
  110. package/dist/web/assets/{save-BVFY6VTI.js → save-Bij3cc3Q.js} +1 -1
  111. package/dist/web/assets/{toggleHighContrast-D9C_WUDu.js → toggleHighContrast-CxALivAH.js} +1 -1
  112. package/dist/web/assets/{training-1du5QD-P.css → training-BN8CALIc.css} +1 -1
  113. package/dist/web/assets/{tsMode-B4lEUN5X.js → tsMode-vH4lMS7h.js} +1 -1
  114. package/dist/web/assets/{upload-DNbYB4Rl.js → upload-DbJfEI3G.js} +1 -1
  115. package/dist/web/assets/{wifi-off-C5QLifIJ.js → wifi-off-BnVFBG28.js} +1 -1
  116. package/dist/web/assets/{workers-CV4BZb_x.js → workers-CBihj7z6.js} +1 -1
  117. package/dist/web/assets/{yaml-3ah8oX43.js → yaml-Bhkoq1sy.js} +1 -1
  118. package/dist/web/index.html +2 -2
  119. package/docs/command-reference.md +15 -0
  120. package/package.json +1 -1
  121. package/dist/chunks/cli-3AEIYSMD.js +0 -19
  122. package/dist/web/assets/CommandMenu-B3Y4MvmT.js +0 -1
  123. package/dist/web/assets/ComposerCreateImproveStrip-DeRI5XEO.js +0 -1
  124. package/dist/web/assets/LabsRoute-CgKtVYTP.css +0 -1
  125. package/dist/web/assets/LabsRoute-Cs_R1fuu.js +0 -3
  126. package/dist/web/assets/MainChatThread-h7VSA_Rc.js +0 -2
  127. package/dist/web/assets/Messages-BANZuAnA.js +0 -10
  128. package/dist/web/assets/NativeSkillSidebar-Qgccncuc.js +0 -1
  129. package/dist/web/assets/RightChatPanelStack-pGwbt6Wy.js +0 -1
  130. package/dist/web/assets/SettingsView-Bjehxwt1.js +0 -6
  131. package/dist/web/assets/TrainingCreationPanel-BLSf1Bnp.js +0 -1
  132. package/dist/web/assets/WorkspaceDiffPanel-DTRtW9n8.js +0 -14
  133. package/dist/web/assets/circle-alert-DMHz5tj_.js +0 -1
  134. package/dist/web/assets/index-B5AN29EO.js +0 -177
  135. package/dist/web/assets/index-BnwYyUgT.js +0 -1
  136. package/dist/web/assets/index-COGlKIJ4.css +0 -1
  137. package/dist/web/assets/make-agent-tutorial-A2W9Ajwv.js +0 -2
@@ -0,0 +1,92 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+
3
+ // src/cli/common/options.ts
4
+ function parseJsonOption(value, label) {
5
+ try {
6
+ return JSON.parse(value);
7
+ } catch {
8
+ throw new Error(`${label} must be valid JSON`);
9
+ }
10
+ }
11
+ function parseJsonObjectOption(value, label) {
12
+ const parsed = parseJsonOption(value, label);
13
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
14
+ throw new Error(`${label} must be a JSON object`);
15
+ }
16
+ return parsed;
17
+ }
18
+ function optionString(options, key) {
19
+ const value = options[key];
20
+ return typeof value === "string" ? value.trim() : "";
21
+ }
22
+ function requiredTeamId(options, usage) {
23
+ const teamId = optionString(options, "teamId");
24
+ if (!teamId) {
25
+ throw new Error(`${usage} --team-id <id>`);
26
+ }
27
+ return teamId;
28
+ }
29
+ function optionalJsonObject(options, key, label) {
30
+ const value = optionString(options, key);
31
+ return value ? parseJsonObjectOption(value, label) : void 0;
32
+ }
33
+ function parseBooleanOption(value) {
34
+ if (value === true) return true;
35
+ if (typeof value === "string") {
36
+ return value.toLowerCase() === "true";
37
+ }
38
+ return false;
39
+ }
40
+ function parseNumberOption(value, label) {
41
+ if (typeof value !== "string") return void 0;
42
+ const parsed = Number(value);
43
+ if (!Number.isFinite(parsed)) {
44
+ throw new Error(`${label} must be a number`);
45
+ }
46
+ return parsed;
47
+ }
48
+ function parseIntegerOption(value, label) {
49
+ const parsed = parseNumberOption(value, label);
50
+ if (parsed === void 0) return void 0;
51
+ if (!Number.isInteger(parsed)) {
52
+ throw new Error(`${label} must be an integer`);
53
+ }
54
+ return parsed;
55
+ }
56
+ function parseCsvOption(value) {
57
+ if (typeof value !== "string") return [];
58
+ return value.split(",").map((item) => item.trim()).filter(Boolean);
59
+ }
60
+ function parseTimeOption(value, label) {
61
+ if (typeof value !== "string") return void 0;
62
+ const trimmed = value.trim();
63
+ if (!trimmed) return void 0;
64
+ if (/^\d+$/.test(trimmed)) return trimmed;
65
+ const parsed = Date.parse(trimmed);
66
+ if (!Number.isNaN(parsed)) {
67
+ return String(parsed);
68
+ }
69
+ throw new Error(`${label} must be a unix ms timestamp or ISO date`);
70
+ }
71
+ function resolveTemplateEnvironment(value) {
72
+ if (!value) return "production";
73
+ const normalized = value.toLowerCase();
74
+ if (normalized === "preview" || normalized === "production") {
75
+ return normalized;
76
+ }
77
+ throw new Error("env must be preview or production");
78
+ }
79
+
80
+ export {
81
+ parseJsonOption,
82
+ parseJsonObjectOption,
83
+ optionString,
84
+ requiredTeamId,
85
+ optionalJsonObject,
86
+ parseBooleanOption,
87
+ parseNumberOption,
88
+ parseIntegerOption,
89
+ parseCsvOption,
90
+ parseTimeOption,
91
+ resolveTemplateEnvironment
92
+ };
@@ -4,14 +4,14 @@ import {
4
4
  parseSandboxRuntimeProfileIdOption,
5
5
  parseSandboxRuntimePromotionPolicyOption,
6
6
  parseSandboxWorkflowModeOption
7
- } from "./chunk-RLQGMSW7.js";
7
+ } from "./chunk-ZZ4ECDTP.js";
8
8
  import {
9
9
  parseBooleanOption,
10
10
  parseCsvOption,
11
11
  parseIntegerOption,
12
12
  parseJsonOption,
13
13
  parseNumberOption
14
- } from "./chunk-LUA5QGQP.js";
14
+ } from "./chunk-MUMPWI4O.js";
15
15
 
16
16
  // src/cli/sandbox-helpers.ts
17
17
  import { Buffer } from "node:buffer";
@@ -2,7 +2,7 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
2
2
  import {
3
3
  resolveOpChatApiBaseUrl,
4
4
  sendHostedChatTurn
5
- } from "./chunk-TXJ4TIDO.js";
5
+ } from "./chunk-HLCTINEP.js";
6
6
  import {
7
7
  CreateImprovePlanSchema,
8
8
  CreateImproveRunSchema,
@@ -10,16 +10,18 @@ import {
10
10
  createImproveActionShapeFromMetadata,
11
11
  inferCreateImproveActionShape,
12
12
  nextCreateImproveRunRevision
13
- } from "./chunk-2I5TZW66.js";
13
+ } from "./chunk-ZPL4GZML.js";
14
14
  import {
15
15
  external_exports
16
16
  } from "./chunk-WYDVQOBL.js";
17
+ import {
18
+ runShellCommand
19
+ } from "./chunk-ZZ4ECDTP.js";
17
20
  import {
18
21
  apiFetch,
19
22
  loadGlobalConfig,
20
- readApiJson,
21
- runShellCommand
22
- } from "./chunk-RLQGMSW7.js";
23
+ readApiJson
24
+ } from "./chunk-BWA3COR4.js";
23
25
 
24
26
  // src/goal/cli.ts
25
27
  import { randomUUID as randomUUID9 } from "node:crypto";
@@ -0,0 +1 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
@@ -1,81 +1,7 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
-
3
- // src/cli/common/options.ts
4
- function parseJsonOption(value, label) {
5
- try {
6
- return JSON.parse(value);
7
- } catch {
8
- throw new Error(`${label} must be valid JSON`);
9
- }
10
- }
11
- function parseJsonObjectOption(value, label) {
12
- const parsed = parseJsonOption(value, label);
13
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
14
- throw new Error(`${label} must be a JSON object`);
15
- }
16
- return parsed;
17
- }
18
- function optionString(options, key) {
19
- const value = options[key];
20
- return typeof value === "string" ? value.trim() : "";
21
- }
22
- function requiredTeamId(options, usage) {
23
- const teamId = optionString(options, "teamId");
24
- if (!teamId) {
25
- throw new Error(`${usage} --team-id <id>`);
26
- }
27
- return teamId;
28
- }
29
- function optionalJsonObject(options, key, label) {
30
- const value = optionString(options, key);
31
- return value ? parseJsonObjectOption(value, label) : void 0;
32
- }
33
- function parseBooleanOption(value) {
34
- if (value === true) return true;
35
- if (typeof value === "string") {
36
- return value.toLowerCase() === "true";
37
- }
38
- return false;
39
- }
40
- function parseNumberOption(value, label) {
41
- if (typeof value !== "string") return void 0;
42
- const parsed = Number(value);
43
- if (!Number.isFinite(parsed)) {
44
- throw new Error(`${label} must be a number`);
45
- }
46
- return parsed;
47
- }
48
- function parseIntegerOption(value, label) {
49
- const parsed = parseNumberOption(value, label);
50
- if (parsed === void 0) return void 0;
51
- if (!Number.isInteger(parsed)) {
52
- throw new Error(`${label} must be an integer`);
53
- }
54
- return parsed;
55
- }
56
- function parseCsvOption(value) {
57
- if (typeof value !== "string") return [];
58
- return value.split(",").map((item) => item.trim()).filter(Boolean);
59
- }
60
- function parseTimeOption(value, label) {
61
- if (typeof value !== "string") return void 0;
62
- const trimmed = value.trim();
63
- if (!trimmed) return void 0;
64
- if (/^\d+$/.test(trimmed)) return trimmed;
65
- const parsed = Date.parse(trimmed);
66
- if (!Number.isNaN(parsed)) {
67
- return String(parsed);
68
- }
69
- throw new Error(`${label} must be a unix ms timestamp or ISO date`);
70
- }
71
- function resolveTemplateEnvironment(value) {
72
- if (!value) return "production";
73
- const normalized = value.toLowerCase();
74
- if (normalized === "preview" || normalized === "production") {
75
- return normalized;
76
- }
77
- throw new Error("env must be preview or production");
78
- }
2
+ import {
3
+ parseBooleanOption
4
+ } from "./chunk-MUMPWI4O.js";
79
5
 
80
6
  // src/cli/common/version.ts
81
7
  import { readFileSync } from "node:fs";
@@ -468,7 +394,7 @@ var CLI_COMMAND_REGISTRY = [
468
394
  name: "help",
469
395
  usage: "openpond help",
470
396
  optionSchema: {},
471
- handler: async () => (await import("./help-M7D2XAOX.js")).printHelp()
397
+ handler: async () => (await import("./help-YPPROIS7.js")).printHelp()
472
398
  },
473
399
  {
474
400
  name: "version",
@@ -480,19 +406,19 @@ var CLI_COMMAND_REGISTRY = [
480
406
  name: "check-update",
481
407
  usage: "openpond check-update",
482
408
  optionSchema: {},
483
- handler: async () => (await import("./core-commands-2HUTKFHQ.js")).runCheckUpdate()
409
+ handler: async () => (await import("./core-commands-7223BEQL.js")).runCheckUpdate()
484
410
  },
485
411
  {
486
412
  name: "login",
487
413
  usage: "openpond login [--base-url <url>]",
488
414
  optionSchema: CLI_GLOBAL_OPTION_SCHEMA,
489
- handler: async ({ options }) => (await import("./core-commands-2HUTKFHQ.js")).runLogin(options)
415
+ handler: async ({ options }) => (await import("./core-commands-7223BEQL.js")).runLogin(options)
490
416
  },
491
417
  {
492
418
  name: "init",
493
419
  usage: "openpond init [--path <dir>]",
494
420
  optionSchema: { path: "string" },
495
- handler: async ({ options }) => (await import("./profile-KH5IKVNY.js")).runOpenPondInitCommand(options)
421
+ handler: async ({ options }) => (await import("./profile-N4B3F7M7.js")).runOpenPondInitCommand(options)
496
422
  },
497
423
  {
498
424
  name: "profile",
@@ -521,44 +447,56 @@ var CLI_COMMAND_REGISTRY = [
521
447
  teamId: "string",
522
448
  workItemId: "string"
523
449
  },
524
- handler: async ({ options, rest }) => (await import("./profile-KH5IKVNY.js")).runOpenPondProfileCommand(options, rest)
450
+ handler: async ({ options, rest }) => (await import("./profile-N4B3F7M7.js")).runOpenPondProfileCommand(options, rest)
525
451
  },
526
452
  {
527
453
  name: "agents",
528
454
  usage: "openpond agents [--json]",
529
455
  optionSchema: { json: "boolean" },
530
- handler: async ({ options, rest }) => (await import("./profile-KH5IKVNY.js")).runOpenPondAgentsCommand(options, rest)
456
+ handler: async ({ options, rest }) => (await import("./profile-N4B3F7M7.js")).runOpenPondAgentsCommand(options, rest)
531
457
  },
532
458
  ...profileSdkAliasDefinitions(),
533
459
  {
534
460
  name: "extend",
535
461
  usage: "openpond extend <instructions>",
536
462
  optionSchema: { cwd: "string" },
537
- handler: async ({ options, rest }) => (await import("./extend-PAJMXYKV.js")).runOpenPondExtendCommand(options, rest)
463
+ handler: async ({ options, rest }) => (await import("./extend-6N5S5KA5.js")).runOpenPondExtendCommand(options, rest)
538
464
  },
539
465
  {
540
466
  name: "edit",
541
467
  usage: "openpond edit <instructions>",
542
468
  optionSchema: { cwd: "string" },
543
- handler: async ({ options, rest }) => (await import("./extend-PAJMXYKV.js")).runOpenPondEditCommand(options, rest)
469
+ handler: async ({ options, rest }) => (await import("./extend-6N5S5KA5.js")).runOpenPondEditCommand(options, rest)
470
+ },
471
+ {
472
+ name: "extension",
473
+ usage: "openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",
474
+ usages: [
475
+ "openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]",
476
+ "openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]",
477
+ "openpond extension update --all [--json]",
478
+ "openpond extension remove <owner/repo> [--json]"
479
+ ],
480
+ optionSchema: { all: "boolean", json: "boolean", ref: "string" },
481
+ handler: async ({ options, rest }) => (await import("./extension-FJSVCG2Q.js")).runOpenPondExtensionCommand(options, rest)
544
482
  },
545
483
  {
546
484
  name: "profiles",
547
485
  usage: "openpond profiles [args]",
548
486
  optionSchema: { json: "boolean" },
549
- handler: async ({ options, rest }) => (await import("./core-commands-2HUTKFHQ.js")).runProfiles(options, rest)
487
+ handler: async ({ options, rest }) => (await import("./core-commands-7223BEQL.js")).runProfiles(options, rest)
550
488
  },
551
489
  {
552
490
  name: "account",
553
491
  usage: "openpond account",
554
492
  optionSchema: { json: "boolean" },
555
- handler: async () => (await import("./core-commands-2HUTKFHQ.js")).runAccount()
493
+ handler: async () => (await import("./core-commands-7223BEQL.js")).runAccount()
556
494
  },
557
495
  {
558
496
  name: "health",
559
497
  usage: "openpond health",
560
498
  optionSchema: { json: "boolean" },
561
- handler: async ({ options }) => (await import("./core-commands-2HUTKFHQ.js")).runHealth(options)
499
+ handler: async ({ options }) => (await import("./core-commands-7223BEQL.js")).runHealth(options)
562
500
  },
563
501
  {
564
502
  name: "serve",
@@ -569,7 +507,7 @@ var CLI_COMMAND_REGISTRY = [
569
507
  listen: "string",
570
508
  port: "integer"
571
509
  },
572
- handler: async ({ options, rest }) => (await import("./app-layer-GUF2CKYH.js")).runOpenPondServerCommand("serve", options, rest)
510
+ handler: async ({ options, rest }) => (await import("./app-layer-LF2HK2B2.js")).runOpenPondServerCommand("serve", options, rest)
573
511
  },
574
512
  {
575
513
  name: "ui",
@@ -582,7 +520,7 @@ var CLI_COMMAND_REGISTRY = [
582
520
  port: "integer",
583
521
  webRoot: "string"
584
522
  },
585
- handler: async ({ options, rest }) => (await import("./app-layer-GUF2CKYH.js")).runOpenPondServerCommand("web", options, rest)
523
+ handler: async ({ options, rest }) => (await import("./app-layer-LF2HK2B2.js")).runOpenPondServerCommand("web", options, rest)
586
524
  },
587
525
  {
588
526
  name: "tui",
@@ -596,13 +534,13 @@ var CLI_COMMAND_REGISTRY = [
596
534
  provider: "string",
597
535
  server: "string"
598
536
  },
599
- handler: async ({ options, rest }) => (await import("./app-layer-GUF2CKYH.js")).runOpenPondTerminalCommand(options, rest)
537
+ handler: async ({ options, rest }) => (await import("./app-layer-LF2HK2B2.js")).runOpenPondTerminalCommand(options, rest)
600
538
  },
601
539
  {
602
540
  name: "chat",
603
541
  usage: "openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--project <id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",
604
542
  optionSchema: CHAT_OPTION_SCHEMA,
605
- handler: async ({ options, rest }) => (await import("./app-layer-GUF2CKYH.js")).runOpenPondTerminalCommand(options, rest)
543
+ handler: async ({ options, rest }) => (await import("./app-layer-LF2HK2B2.js")).runOpenPondTerminalCommand(options, rest)
606
544
  },
607
545
  {
608
546
  name: "tool",
@@ -638,7 +576,7 @@ var CLI_COMMAND_REGISTRY = [
638
576
  name: "sandbox-template",
639
577
  usage: "openpond sandbox-template <command> [args]",
640
578
  optionSchema: SANDBOX_TEMPLATE_OPTION_SCHEMA,
641
- handler: async ({ options, rest }) => (await import("./sandbox-template-5EEEQKR5.js")).runSandboxTemplateCommand(options, rest)
579
+ handler: async ({ options, rest }) => (await import("./sandbox-template-5NKTAXCL.js")).runSandboxTemplateCommand(options, rest)
642
580
  },
643
581
  {
644
582
  name: "repo",
@@ -660,13 +598,13 @@ var CLI_COMMAND_REGISTRY = [
660
598
  open: "boolean",
661
599
  timeoutSeconds: "integer"
662
600
  },
663
- handler: async ({ options, rest }) => (await import("./organizations-L5N6LJ7O.js")).runOrganizationsCommand(options, rest)
601
+ handler: async ({ options, rest }) => (await import("./organizations-W3FMAWQ4.js")).runOrganizationsCommand(options, rest)
664
602
  },
665
603
  {
666
604
  name: "project",
667
605
  usage: "openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",
668
606
  optionSchema: PROJECT_OPTION_SCHEMA,
669
- handler: async ({ options, rest }) => (await import("./project-agent-F4NHVRGY.js")).runProjectCommand(options, rest)
607
+ handler: async ({ options, rest }) => (await import("./project-agent-NA6SGU25.js")).runProjectCommand(options, rest)
670
608
  },
671
609
  {
672
610
  name: "agent",
@@ -679,7 +617,7 @@ var CLI_COMMAND_REGISTRY = [
679
617
  "openpond agent edit checkpoint-result|commit-result|pr-result <workItemId> --team-id <id> --ref <artifact-ref>"
680
618
  ],
681
619
  optionSchema: AGENT_OPTION_SCHEMA,
682
- handler: async ({ options, rest }) => (await import("./project-agent-F4NHVRGY.js")).runAgentCommand(options, rest)
620
+ handler: async ({ options, rest }) => (await import("./project-agent-NA6SGU25.js")).runAgentCommand(options, rest)
683
621
  },
684
622
  {
685
623
  name: "goal",
@@ -691,7 +629,7 @@ var CLI_COMMAND_REGISTRY = [
691
629
  json: "boolean",
692
630
  goalId: "string"
693
631
  },
694
- handler: async ({ options, rest }) => (await import("./cli-3AEIYSMD.js")).runGoalCommand(options, rest)
632
+ handler: async ({ options, rest }) => (await import("./cli-AS3DZ7XB.js")).runGoalCommand(options, rest)
695
633
  },
696
634
  {
697
635
  name: "harness",
@@ -712,13 +650,13 @@ var CLI_COMMAND_REGISTRY = [
712
650
  token: "string",
713
651
  tokenFile: "string"
714
652
  },
715
- handler: async ({ options, rest }) => (await import("./harness-UWAS2VAN.js")).runHarnessCommand(options, rest)
653
+ handler: async ({ options, rest }) => (await import("./harness-OMJXIGEW.js")).runHarnessCommand(options, rest)
716
654
  },
717
655
  {
718
656
  name: "sandbox",
719
657
  usage: "openpond sandbox <command> [args]",
720
658
  optionSchema: SANDBOX_OPTION_SCHEMA,
721
- handler: async ({ options, rest }) => (await import("./sandbox-command-DDXRQNB6.js")).runSandboxCommand(options, rest)
659
+ handler: async ({ options, rest }) => (await import("./sandbox-command-AKCFJKKN.js")).runSandboxCommand(options, rest)
722
660
  },
723
661
  {
724
662
  name: "opchat",
@@ -727,7 +665,7 @@ var CLI_COMMAND_REGISTRY = [
727
665
  json: "boolean",
728
666
  stream: "boolean"
729
667
  },
730
- handler: async ({ options, rest }) => (await import("./opchat-FQ2CJVM6.js")).runOpChatCommand(options, rest)
668
+ handler: async ({ options, rest }) => (await import("./opchat-K7IYFPX6.js")).runOpChatCommand(options, rest)
731
669
  },
732
670
  {
733
671
  name: "teams-bot",
@@ -736,7 +674,7 @@ var CLI_COMMAND_REGISTRY = [
736
674
  json: "boolean",
737
675
  teamId: "string"
738
676
  },
739
- handler: async ({ options, rest }) => (await import("./teams-bot-HFWO5GOV.js")).runTeamsBotCommand(options, rest)
677
+ handler: async ({ options, rest }) => (await import("./teams-bot-557NZC73.js")).runTeamsBotCommand(options, rest)
740
678
  },
741
679
  {
742
680
  name: "apps",
@@ -757,7 +695,7 @@ var CLI_COMMAND_REGISTRY = [
757
695
  name: "opentool",
758
696
  usage: "openpond opentool <init|validate|build> [args]",
759
697
  optionSchema: {},
760
- handler: async ({ rest }) => (await import("./core-commands-2HUTKFHQ.js")).runOpentool(rest)
698
+ handler: async ({ rest }) => (await import("./core-commands-7223BEQL.js")).runOpentool(rest)
761
699
  }
762
700
  ];
763
701
  var CLI_COMMAND_BY_NAME = /* @__PURE__ */ new Map();
@@ -829,11 +767,11 @@ function profileSdkAliasDefinitions() {
829
767
  name,
830
768
  usage: `openpond ${name} [args]`,
831
769
  optionSchema: PROFILE_SDK_OPTION_SCHEMA,
832
- handler: async ({ options, rest }) => (await import("./profile-KH5IKVNY.js")).runOpenPondProfileSdkAlias(name, options, rest)
770
+ handler: async ({ options, rest }) => (await import("./profile-N4B3F7M7.js")).runOpenPondProfileSdkAlias(name, options, rest)
833
771
  }));
834
772
  }
835
773
  async function runToolCommand({ options, rest }) {
836
- const { runToolList, runToolRun } = await import("./core-commands-2HUTKFHQ.js");
774
+ const { runToolList, runToolRun } = await import("./core-commands-7223BEQL.js");
837
775
  const subcommand = rest[0];
838
776
  if (subcommand === "list") {
839
777
  const target = rest[1];
@@ -857,8 +795,8 @@ async function runToolCommand({ options, rest }) {
857
795
  throw new Error("usage: tool <list|run> <handle>/<repo> [args]");
858
796
  }
859
797
  async function runBacktestCommand({ options, rest }) {
860
- const { runBacktestRun } = await import("./core-commands-2HUTKFHQ.js");
861
- const { runBacktestEvents, runBacktestGet } = await import("./apps-DIVHAUOV.js");
798
+ const { runBacktestRun } = await import("./core-commands-7223BEQL.js");
799
+ const { runBacktestEvents, runBacktestGet } = await import("./apps-ZMCMQZKX.js");
862
800
  const subcommand = rest[0] || "run";
863
801
  if (subcommand === "run") {
864
802
  const target = rest[1];
@@ -892,7 +830,7 @@ async function runBacktestCommand({ options, rest }) {
892
830
  throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]");
893
831
  }
894
832
  async function runDeployCommand({ options, rest }) {
895
- const { runDeployWatch } = await import("./core-commands-2HUTKFHQ.js");
833
+ const { runDeployWatch } = await import("./core-commands-7223BEQL.js");
896
834
  const subcommand = rest[0] || "watch";
897
835
  if (subcommand !== "watch") {
898
836
  throw new Error(
@@ -908,7 +846,7 @@ async function runDeployCommand({ options, rest }) {
908
846
  await runDeployWatch(options, target);
909
847
  }
910
848
  async function runTemplateCommand({ options, rest }) {
911
- const { runTemplateBranches, runTemplateStatus, runTemplateUpdate } = await import("./core-commands-2HUTKFHQ.js");
849
+ const { runTemplateBranches, runTemplateStatus, runTemplateUpdate } = await import("./core-commands-7223BEQL.js");
912
850
  const subcommand = rest[0] || "status";
913
851
  const target = rest[1];
914
852
  if (!target) {
@@ -933,7 +871,7 @@ async function runTemplateCommand({ options, rest }) {
933
871
  );
934
872
  }
935
873
  async function runRepoCommand({ options, rest }) {
936
- const { runRepoCreate, runRepoPush } = await import("./core-commands-2HUTKFHQ.js");
874
+ const { runRepoCreate, runRepoPush } = await import("./core-commands-7223BEQL.js");
937
875
  const subcommand = rest[0] || "create";
938
876
  if (subcommand === "create") {
939
877
  await runRepoCreate(options, rest.slice(1));
@@ -963,7 +901,7 @@ async function runAppsCommand({ options, rest }) {
963
901
  runAppsTools,
964
902
  runAppsToolsExecute,
965
903
  runAppsTradeFacts
966
- } = await import("./apps-DIVHAUOV.js");
904
+ } = await import("./apps-ZMCMQZKX.js");
967
905
  const subcommand = rest[0];
968
906
  if (subcommand === "list") {
969
907
  await runAppsList(options);
@@ -1066,17 +1004,6 @@ async function runAppsCommand({ options, rest }) {
1066
1004
  }
1067
1005
 
1068
1006
  export {
1069
- parseJsonOption,
1070
- parseJsonObjectOption,
1071
- optionString,
1072
- requiredTeamId,
1073
- optionalJsonObject,
1074
- parseBooleanOption,
1075
- parseNumberOption,
1076
- parseIntegerOption,
1077
- parseCsvOption,
1078
- parseTimeOption,
1079
- resolveTemplateEnvironment,
1080
1007
  getInstalledCliVersion,
1081
1008
  compareSemver,
1082
1009
  fetchLatestNpmVersion,
@@ -3,7 +3,7 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
3
3
  // ../server/src/constants.ts
4
4
  var DEFAULT_HOST = "127.0.0.1";
5
5
  var DEFAULT_PORT = 17874;
6
- var VERSION = "0.0.35";
6
+ var VERSION = "0.0.37";
7
7
  var HOSTED_CHAT_SYSTEM_PROMPT = "You are OpenPond Chat. Respond in the user's language. If the user's latest message is language-neutral, ambiguous, or only a short test, respond in English. Be concise and directly answer the latest request. Do not use emojis. Use Markdown when it improves scanability. If you emit reasoning or thinking content, keep it sparse and user-readable: at most one short sentence for major progress, decisions, or blockers. Omit reasoning for routine searches, reads, tool calls, and obvious next steps. Do not restate the user request, narrate every action, or include code blocks, code excerpts, diffs, raw tool payloads, or markdown examples in reasoning. Put necessary code or exact snippets only in the final assistant answer. When the user asks to show or preview an image that is available as a workspace path or signed image URL, use Markdown image syntax like ![description](path-or-url) instead of a bare path or raw HTML. For workspace-backed answers, use a Codex-style shape: brief outcome first, then Changed Files if files changed, then Verification if checks ran. End with a concise final answer that summarizes the result and verification when relevant. Do not mention raw tool JSON, internal repo paths, or origin/remote URLs unless the user explicitly asks for them or they are necessary to explain a git/deploy failure.";
8
8
  var APP_PREFERENCES_CACHE_TYPE = "app_preferences";
9
9
  var APP_PREFERENCES_CACHE_KEY = "global";
@@ -1,22 +1,10 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
2
  import {
3
- checkOpenPondApiHealth,
4
- createHeadlessApps,
5
- createRepo,
6
- deployLatestTemplate,
7
3
  ensureApiKey,
8
- executeHostedTool,
9
4
  fetchAppsWithCache,
10
5
  formatTokenizedRepoUrl,
11
6
  formatTokenizedRepoUrlForPrint,
12
- getDeploymentDetail,
13
7
  getGitRemoteUrl,
14
- getLatestDeploymentForApp,
15
- getOpenPondAccount,
16
- getTemplateStatus,
17
- listConfiguredProfiles,
18
- listTemplateBranches,
19
- loadConfig,
20
8
  pollDeploymentLogs,
21
9
  promptConfirm,
22
10
  promptForApiKey,
@@ -26,11 +14,8 @@ import {
26
14
  resolveAppTarget,
27
15
  resolveRepoUrl,
28
16
  runCommand,
29
- saveProfileApiKey,
30
- setActiveProfile,
31
- submitBacktestRun,
32
17
  warnOnRepoHostMismatch
33
- } from "./chunk-RLQGMSW7.js";
18
+ } from "./chunk-ZZ4ECDTP.js";
34
19
  import {
35
20
  normalizeTemplateRepoUrl,
36
21
  resolveApiBaseUrlOption,
@@ -38,15 +23,34 @@ import {
38
23
  resolveBaseUrlOption,
39
24
  resolveChatApiBaseUrlOption,
40
25
  resolvePublicApiBaseUrl
41
- } from "./chunk-YPK2W34Z.js";
26
+ } from "./chunk-2WMGA5FE.js";
42
27
  import {
43
28
  compareSemver,
44
29
  fetchLatestNpmVersion,
45
- getInstalledCliVersion,
30
+ getInstalledCliVersion
31
+ } from "./chunk-VFL2JVBZ.js";
32
+ import {
33
+ checkOpenPondApiHealth,
34
+ createHeadlessApps,
35
+ createRepo,
36
+ deployLatestTemplate,
37
+ executeHostedTool,
38
+ getDeploymentDetail,
39
+ getLatestDeploymentForApp,
40
+ getOpenPondAccount,
41
+ getTemplateStatus,
42
+ listConfiguredProfiles,
43
+ listTemplateBranches,
44
+ loadConfig,
45
+ saveProfileApiKey,
46
+ setActiveProfile,
47
+ submitBacktestRun
48
+ } from "./chunk-BWA3COR4.js";
49
+ import {
46
50
  parseBooleanOption,
47
51
  parseJsonOption,
48
52
  resolveTemplateEnvironment
49
- } from "./chunk-LUA5QGQP.js";
53
+ } from "./chunk-MUMPWI4O.js";
50
54
 
51
55
  // src/cli/core-commands.ts
52
56
  import { promises as fs, existsSync } from "node:fs";
@@ -1287,6 +1287,7 @@ export {
1287
1287
  sandboxTemplateScaffoldFiles,
1288
1288
  CONNECTED_APP_PROVIDER_TOOL_NAMES,
1289
1289
  CONNECTED_APP_TOOL_CALL_ENDPOINT,
1290
+ CONNECTED_APP_INTEGRATION_SKILLS,
1290
1291
  connectedAppIntegrationSkillByProvider,
1291
1292
  validateConnectedAppToolCallRequest,
1292
1293
  connectedAppProviderOperationById,