openpond 0.0.56 → 0.0.57

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 (100) hide show
  1. package/README.md +3 -0
  2. package/dist/chunks/actions-command-YY7UH37B.js +145 -0
  3. package/dist/chunks/{app-layer-T26MAAGI.js → app-layer-EZQWXB3S.js} +2 -2
  4. package/dist/chunks/{app-server-runtime-64AV5AXJ.js → app-server-runtime-JMEHVOFO.js} +6 -6
  5. package/dist/chunks/{apps-7KLTYKHN.js → apps-HHQF6TNR.js} +2 -2
  6. package/dist/chunks/{chunk-6QWTEC2D.js → chunk-42GGG3W4.js} +1 -1
  7. package/dist/chunks/{chunk-JSRCXDIL.js → chunk-5QJGC2QI.js} +46 -32
  8. package/dist/chunks/{chunk-H44J7BB4.js → chunk-5Y7Q6ZSH.js} +1 -1
  9. package/dist/chunks/{chunk-55KT7K5P.js → chunk-5ZLFZZLS.js} +2 -1
  10. package/dist/chunks/{chunk-CW6FAJEF.js → chunk-7JUIWABV.js} +5 -5
  11. package/dist/chunks/{chunk-M2OSF2YN.js → chunk-OJ34YA7E.js} +1 -1
  12. package/dist/chunks/chunk-QETF6ILG.js +15004 -0
  13. package/dist/chunks/{chunk-EIRW6Z6S.js → chunk-UBHCG2NE.js} +1 -1
  14. package/dist/chunks/{chunk-US7DOPAH.js → chunk-VG4H4TQG.js} +65 -58
  15. package/dist/chunks/{chunk-OSLQMUIB.js → chunk-XHTO6KF2.js} +1 -1
  16. package/dist/chunks/{chunk-Q4YKGVNG.js → chunk-XX6KALN2.js} +391 -74
  17. package/dist/chunks/{cli-J7EKEJZV.js → cli-EUZHWEJR.js} +5 -5
  18. package/dist/chunks/{core-commands-SND555SC.js → core-commands-RI4B7TYM.js} +3 -3
  19. package/dist/chunks/{desktop-test-WSWXNSFS.js → desktop-test-DRTCQWDV.js} +2 -2
  20. package/dist/chunks/{extension-3IKF6YQE.js → extension-XMWCG6YG.js} +9 -9
  21. package/dist/chunks/{help-DHGNXUA4.js → help-UILXBPHG.js} +1 -1
  22. package/dist/chunks/{opchat-XYKT5KKO.js → opchat-SSK54JSR.js} +2 -2
  23. package/dist/chunks/{organizations-HKVC4CSA.js → organizations-G5S2HJLT.js} +4 -4
  24. package/dist/chunks/{profile-PLWXQHKF.js → profile-YD7NYL3U.js} +2 -2
  25. package/dist/chunks/{project-agent-JNSP56KG.js → project-agent-75PAFL6B.js} +2 -2
  26. package/dist/chunks/{sandbox-command-Z6LNNSSL.js → sandbox-command-FGUJDDXR.js} +2 -2
  27. package/dist/chunks/{sandbox-template-FVW2UTI4.js → sandbox-template-PBSIPCVO.js} +3 -3
  28. package/dist/chunks/{src-2TP42H76.js → src-FTG6DVBK.js} +3 -3
  29. package/dist/chunks/{src-6UCIW76H.js → src-P7YLMEEK.js} +600 -468
  30. package/dist/chunks/{teams-bot-FNPT4Q2B.js → teams-bot-NSYWELB6.js} +2 -2
  31. package/dist/chunks/{workspaces-4A2OR2OP.js → workspaces-R3EVRSWA.js} +2 -2
  32. package/dist/cli.js +13 -13
  33. package/dist/web/assets/{AppDialog-BEKS_Ixr.js → AppDialog-CxLYXiI1.js} +1 -1
  34. package/dist/web/assets/{AppsView-CbuT2sT2.js → AppsView-CVTUkahv.js} +1 -1
  35. package/dist/web/assets/{BrowserSidebar-DgqVeW5u.js → BrowserSidebar-oHniLA05.js} +1 -1
  36. package/dist/web/assets/{CommandMenu-CQcaEB76.js → CommandMenu-Db_5OiKs.js} +1 -1
  37. package/dist/web/assets/{CommunityView-CYX6iFcg.js → CommunityView-HTwMEO-T.js} +1 -1
  38. package/dist/web/assets/{ComposerCreateImproveStrip-DY4SQbL4.js → ComposerCreateImproveStrip-ER26yFe-.js} +1 -1
  39. package/dist/web/assets/{GetStartedView-DnxeZaBB.js → GetStartedView-l9MUYMYH.js} +1 -1
  40. package/dist/web/assets/{LabModelVersionDetailPage-DYTfYGWv.js → LabModelVersionDetailPage-Dgf-DlJi.js} +1 -1
  41. package/dist/web/assets/{LabSkillSidebar-BpD-kjP_.js → LabSkillSidebar-CyX8sVm1.js} +1 -1
  42. package/dist/web/assets/{LabsRoute-DVC7eZCs.js → LabsRoute-BC1ST9qT.js} +3 -3
  43. package/dist/web/assets/{MainChatThread-DTiX_8MC.js → MainChatThread-BfW92Rv1.js} +2 -2
  44. package/dist/web/assets/{MainPane-CNoHJkXy.js → MainPane-DlciH8yR.js} +3 -3
  45. package/dist/web/assets/{MarkdownText-_JhfBcQL.js → MarkdownText-CyOeCVjf.js} +1 -1
  46. package/dist/web/assets/{Messages-Bo0-Uvcz.js → Messages-BDtEbIKv.js} +1 -1
  47. package/dist/web/assets/{NativeSkillSidebar-CHQ87FW2.js → NativeSkillSidebar-D0BlvEtE.js} +1 -1
  48. package/dist/web/assets/{NewProjectDialog-B-1KuU5u.js → NewProjectDialog-CiGPfI5s.js} +1 -1
  49. package/dist/web/assets/{OutputsPage-BSimpEpA.js → OutputsPage-DNU2yD7q.js} +1 -1
  50. package/dist/web/assets/{RightChatPanelStack-B8ZOyuFO.js → RightChatPanelStack-Cs63fQwk.js} +1 -1
  51. package/dist/web/assets/{ScheduledWorkPage-Blwy1G8r.js → ScheduledWorkPage-DMKHFbeE.js} +1 -1
  52. package/dist/web/assets/{SettingsView-CTLTakyn.js → SettingsView-L0g-g2fL.js} +3 -3
  53. package/dist/web/assets/{TeamChatView-dN3fUCbZ.js → TeamChatView-CSVMTUAE.js} +1 -1
  54. package/dist/web/assets/{TerminalOverlay-CPVGeO7U.js → TerminalOverlay-Bb0RJR04.js} +1 -1
  55. package/dist/web/assets/{TrainingCreationPanel-ettNNJBP.js → TrainingCreationPanel-VIWlpVV2.js} +1 -1
  56. package/dist/web/assets/{TrainingDraftPanel-DUJBuII1.js → TrainingDraftPanel-MTYsR-Ry.js} +1 -1
  57. package/dist/web/assets/{UsageSettingsSection-BOZR3JE_.js → UsageSettingsSection-Cdc_jGFX.js} +1 -1
  58. package/dist/web/assets/{WorkspaceDiffPanel-99MjzMkW.js → WorkspaceDiffPanel-BgIbxMMu.js} +3 -3
  59. package/dist/web/assets/{WorkspaceEnvironmentMenu-C3s3mTyu.js → WorkspaceEnvironmentMenu-C97GqYn9.js} +1 -1
  60. package/dist/web/assets/{WorkspaceGitDialogs-BvurXjNP.js → WorkspaceGitDialogs-CK6ahRty.js} +1 -1
  61. package/dist/web/assets/{WorkspaceMonacoEditor-BCXg9mBQ.js → WorkspaceMonacoEditor-BQoN7jWa.js} +3 -3
  62. package/dist/web/assets/{arrow-up-right-DRIT5z3q.js → arrow-up-right-CzBZuWNj.js} +1 -1
  63. package/dist/web/assets/{chevron-up-Hglu-Zx3.js → chevron-up-DW-qEVSP.js} +1 -1
  64. package/dist/web/assets/{circle-alert-Crh3Zr2m.js → circle-alert-B_xROoPY.js} +1 -1
  65. package/dist/web/assets/{cloud-upload-mSm9KIL4.js → cloud-upload-CjLR-8-r.js} +1 -1
  66. package/dist/web/assets/{cssMode-CkQ4x6JA.js → cssMode-CQQJhS7v.js} +1 -1
  67. package/dist/web/assets/{folder-git-2-B8TV5i0V.js → folder-git-2-ktXin28y.js} +1 -1
  68. package/dist/web/assets/{folder-open-DXaun_C3.js → folder-open-BpUcIJHn.js} +1 -1
  69. package/dist/web/assets/{folder-plus-CUbTwu82.js → folder-plus-8NHsIAxQ.js} +1 -1
  70. package/dist/web/assets/{folder-DMeODEQJ.js → folder-tLv6TMN2.js} +1 -1
  71. package/dist/web/assets/{git-branch-CUlgF0kK.js → git-branch-DO3iP_fL.js} +1 -1
  72. package/dist/web/assets/{git-commit-horizontal-DAQfyhbS.js → git-commit-horizontal-BSWa2I3g.js} +1 -1
  73. package/dist/web/assets/{htmlMode-BfyAplZo.js → htmlMode-DaAKO9wk.js} +1 -1
  74. package/dist/web/assets/index-BtiK52K1.js +1 -0
  75. package/dist/web/assets/index-DHxBMQIJ.js +174 -0
  76. package/dist/web/assets/{info-Ll3PkeGE.js → info-DiEvrUda.js} +1 -1
  77. package/dist/web/assets/{jsonMode-C9Vibh0P.js → jsonMode-Biu1ZTZ7.js} +1 -1
  78. package/dist/web/assets/{lspLanguageFeatures-CFoA9--Z.js → lspLanguageFeatures-lwoDxGgl.js} +1 -1
  79. package/dist/web/assets/{monaco.contribution-C2q-tDuk.js → monaco.contribution-BqQSY5-t.js} +2 -2
  80. package/dist/web/assets/{monaco.contribution-C8tRjUqy.js → monaco.contribution-Ce2MS2Nv.js} +2 -2
  81. package/dist/web/assets/{monaco.contribution-vWDjhuCI.js → monaco.contribution-DzHhgeLy.js} +2 -2
  82. package/dist/web/assets/{monaco.contribution-Co4ZPnCC.js → monaco.contribution-Ic8LKME8.js} +2 -2
  83. package/dist/web/assets/{play-lC5KpmRD.js → play-D9F3t5Cx.js} +1 -1
  84. package/dist/web/assets/{python-I5xkyvMs.js → python-BhVCwr-K.js} +1 -1
  85. package/dist/web/assets/{refresh-cw-8a_wz4tX.js → refresh-cw-DRN17xPU.js} +1 -1
  86. package/dist/web/assets/{save-Dj9ex3Ce.js → save-CDZwpzlG.js} +1 -1
  87. package/dist/web/assets/{square-DfEM9XgY.js → square-Cf_AXs4a.js} +1 -1
  88. package/dist/web/assets/{square-pen-CgX3HoJ6.js → square-pen-ChJgNiDm.js} +1 -1
  89. package/dist/web/assets/{toggleHighContrast-BkNzz1Bg.js → toggleHighContrast-Bb_m9pXM.js} +1 -1
  90. package/dist/web/assets/{tsMode-CNwaV0ZJ.js → tsMode-BaWkaSHN.js} +1 -1
  91. package/dist/web/assets/{upload-Co5zYY9Z.js → upload-Cef29aCP.js} +1 -1
  92. package/dist/web/assets/{useLocalAgentSchedules-QY4_XS2F.js → useLocalAgentSchedules-CAAqoZ0V.js} +1 -1
  93. package/dist/web/assets/{wifi-off-CFzyn7Tf.js → wifi-off-C8cC22F6.js} +1 -1
  94. package/dist/web/assets/{workers-DqFxl1zu.js → workers-GOdHtcZt.js} +1 -1
  95. package/dist/web/assets/{yaml-Bbm66uDK.js → yaml-jBIxwMeR.js} +1 -1
  96. package/dist/web/index.html +1 -1
  97. package/docs/command-reference.md +15 -0
  98. package/package.json +2 -1
  99. package/dist/web/assets/index-Blindd8c.js +0 -1
  100. package/dist/web/assets/index-CDJX5ZxL.js +0 -174
package/README.md CHANGED
@@ -52,6 +52,8 @@ openpond health
52
52
  openpond extension add owner/repo
53
53
  openpond extension list
54
54
  openpond extension update --all
55
+ openpond actions check --cwd ./customer-project
56
+ openpond actions run analytics.get_summary --cwd ./customer-project --input '{"businessId":"relocation"}'
55
57
  openpond --account production apps list
56
58
  openpond tool list <handle>/<repo>
57
59
  openpond tool run <handle>/<repo> <tool> --body '{"foo":"bar"}'
@@ -89,6 +91,7 @@ Command reference:
89
91
  - `openpond account`: fetch current account/profile fields and active products for the selected API key.
90
92
  - `openpond health`: check public API reachability and selected API-key auth health when a key is configured.
91
93
  - `openpond extension <add|preview|list|inspect|update|remove>`: manage Agent Skills-compatible GitHub packs installed under `~/.openpond/extensions`. Repositories use standard `SKILL.md` packages and do not need an OpenPond-specific manifest.
94
+ - `openpond actions <check|build|run|dev>`: validate, bundle, invoke, or watch typed Project Actions under `openpond/actions` in a local Project. This path is local and does not require an API key.
92
95
  - `openpond tool list <handle>/<repo>`: list tools for the latest deployment.
93
96
  - `openpond tool run <handle>/<repo> <tool> [--body <json>] [--method <METHOD>]`: run a tool on the latest deployment.
94
97
  - `openpond deploy watch <handle>/<repo> [--branch <branch>]`: stream deployment logs for the latest deployment.
@@ -0,0 +1,145 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import {
3
+ buildProjectActions,
4
+ createLocalActionRunner,
5
+ loadProjectActionConfiguration
6
+ } from "./chunk-QETF6ILG.js";
7
+ import {
8
+ parseBooleanOption
9
+ } from "./chunk-MUMPWI4O.js";
10
+ import "./chunk-UACZUFIA.js";
11
+
12
+ // src/cli/actions-command.ts
13
+ import { promises as fs, watch } from "node:fs";
14
+ import path from "node:path";
15
+ async function runProjectActionsCommand(options, rest) {
16
+ const subcommand = rest[0] ?? "check";
17
+ const projectRoot = path.resolve(stringOption(options, "cwd") ?? process.cwd());
18
+ const sourceDirectory = stringOption(options, "sourceDirectory");
19
+ const outputDirectory = stringOption(options, "outputDirectory");
20
+ const json = parseBooleanOption(options.json);
21
+ if (subcommand === "check" || subcommand === "build") {
22
+ const result = await buildProjectActions({ projectRoot, sourceDirectory, outputDirectory });
23
+ if (json) {
24
+ console.log(JSON.stringify({
25
+ status: "passed",
26
+ actionCount: result.registry.actions.length,
27
+ registry: result.registry,
28
+ manifest: result.manifest,
29
+ outputDirectory: result.outputDirectory
30
+ }, null, 2));
31
+ return;
32
+ }
33
+ const verb = subcommand === "check" ? "Validated" : "Built";
34
+ console.log(`${verb} ${result.registry.actions.length} Project Action${result.registry.actions.length === 1 ? "" : "s"}.`);
35
+ console.log(`Registry: ${result.registryPath}`);
36
+ console.log(`Bundle: ${result.bundlePath}`);
37
+ return;
38
+ }
39
+ if (subcommand === "run") {
40
+ const actionId = rest[1];
41
+ if (!actionId) throw new Error("usage: openpond actions run <action-id> [--input JSON|--input-file PATH]");
42
+ const runner = createLocalActionRunner({
43
+ projectRoot,
44
+ sourceDirectory,
45
+ outputDirectory,
46
+ build: "always"
47
+ });
48
+ const result = await runner.run({
49
+ actionId,
50
+ input: await actionInput(options, projectRoot),
51
+ timeoutMs: integerOption(options, "timeoutMs")
52
+ });
53
+ console.log(JSON.stringify(result, null, 2));
54
+ return;
55
+ }
56
+ if (subcommand === "dev") {
57
+ const actionId = rest[1] ?? null;
58
+ await runDev({ projectRoot, sourceDirectory, outputDirectory, actionId, options, json });
59
+ return;
60
+ }
61
+ throw new Error("usage: openpond actions <check|build|run|dev> [action-id]");
62
+ }
63
+ async function runDev(input) {
64
+ let running = false;
65
+ let rerun = false;
66
+ const execute = async () => {
67
+ if (running) {
68
+ rerun = true;
69
+ return;
70
+ }
71
+ running = true;
72
+ try {
73
+ const runner = createLocalActionRunner({
74
+ projectRoot: input.projectRoot,
75
+ sourceDirectory: input.sourceDirectory,
76
+ outputDirectory: input.outputDirectory,
77
+ build: "always"
78
+ });
79
+ if (input.actionId) {
80
+ const result = await runner.run({
81
+ actionId: input.actionId,
82
+ input: await actionInput(input.options, input.projectRoot),
83
+ timeoutMs: integerOption(input.options, "timeoutMs")
84
+ });
85
+ console.log(JSON.stringify(result, null, 2));
86
+ } else {
87
+ const result = await runner.build();
88
+ const message = {
89
+ status: "ready",
90
+ actionCount: result.registry.actions.length,
91
+ bundleHash: result.manifest.bundleHash
92
+ };
93
+ console.log(input.json ? JSON.stringify(message) : `Ready with ${message.actionCount} Project Action${message.actionCount === 1 ? "" : "s"}.`);
94
+ }
95
+ } catch (error) {
96
+ console.error(error instanceof Error ? error.message : String(error));
97
+ } finally {
98
+ running = false;
99
+ if (rerun) {
100
+ rerun = false;
101
+ await execute();
102
+ }
103
+ }
104
+ };
105
+ await execute();
106
+ const configuration = await loadProjectActionConfiguration(input.projectRoot);
107
+ const sourceRoot = path.resolve(
108
+ input.projectRoot,
109
+ input.sourceDirectory ?? configuration.sourceDirectory ?? "openpond/actions"
110
+ );
111
+ console.log(`Watching ${sourceRoot}`);
112
+ const watcher = watch(sourceRoot, { recursive: true }, () => {
113
+ setTimeout(() => void execute(), 50);
114
+ });
115
+ await new Promise((resolve) => {
116
+ const stop = () => {
117
+ watcher.close();
118
+ resolve();
119
+ };
120
+ process.once("SIGINT", stop);
121
+ process.once("SIGTERM", stop);
122
+ });
123
+ }
124
+ async function actionInput(options, projectRoot) {
125
+ const inline = stringOption(options, "input");
126
+ const inputFile = stringOption(options, "inputFile");
127
+ if (inline && inputFile) throw new Error("Use either --input or --input-file, not both.");
128
+ if (inline) return JSON.parse(inline);
129
+ if (inputFile) return JSON.parse(await fs.readFile(path.resolve(projectRoot, inputFile), "utf8"));
130
+ return {};
131
+ }
132
+ function stringOption(options, name) {
133
+ const value = options[name];
134
+ return typeof value === "string" && value.trim() ? value.trim() : void 0;
135
+ }
136
+ function integerOption(options, name) {
137
+ const value = stringOption(options, name);
138
+ if (value === void 0) return void 0;
139
+ const parsed = Number(value);
140
+ if (!Number.isInteger(parsed) || parsed <= 0) throw new Error(`--${name} must be a positive integer.`);
141
+ return parsed;
142
+ }
143
+ export {
144
+ runProjectActionsCommand
145
+ };
@@ -5,9 +5,9 @@ import {
5
5
  import "./chunk-KHNHUA2H.js";
6
6
  import {
7
7
  CliUsageError
8
- } from "./chunk-6QWTEC2D.js";
8
+ } from "./chunk-42GGG3W4.js";
9
9
  import "./chunk-SMNFI2FU.js";
10
- import "./chunk-JSRCXDIL.js";
10
+ import "./chunk-5QJGC2QI.js";
11
11
  import "./chunk-DBHSOTYZ.js";
12
12
  import "./chunk-KSRWKXRB.js";
13
13
  import "./chunk-MUMPWI4O.js";
@@ -2,13 +2,13 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
2
2
  import {
3
3
  APP_SERVER_COMPOSITION,
4
4
  createOpenPondAppServer
5
- } from "./chunk-Q4YKGVNG.js";
5
+ } from "./chunk-XX6KALN2.js";
6
+ import "./chunk-5Y7Q6ZSH.js";
6
7
  import "./chunk-NFNEENNR.js";
7
- import "./chunk-EIRW6Z6S.js";
8
- import "./chunk-H44J7BB4.js";
9
- import "./chunk-OSLQMUIB.js";
10
- import "./chunk-55KT7K5P.js";
11
- import "./chunk-US7DOPAH.js";
8
+ import "./chunk-XHTO6KF2.js";
9
+ import "./chunk-UBHCG2NE.js";
10
+ import "./chunk-5ZLFZZLS.js";
11
+ import "./chunk-VG4H4TQG.js";
12
12
  import "./chunk-WYDVQOBL.js";
13
13
  import "./chunk-KHNHUA2H.js";
14
14
  import "./chunk-UACZUFIA.js";
@@ -12,12 +12,12 @@ import {
12
12
  resolveAppTarget
13
13
  } from "./chunk-FCVVOMIP.js";
14
14
  import "./chunk-KHNHUA2H.js";
15
- import "./chunk-6QWTEC2D.js";
15
+ import "./chunk-42GGG3W4.js";
16
16
  import {
17
17
  resolveBaseUrl,
18
18
  resolvePublicApiBaseUrl
19
19
  } from "./chunk-SMNFI2FU.js";
20
- import "./chunk-JSRCXDIL.js";
20
+ import "./chunk-5QJGC2QI.js";
21
21
  import {
22
22
  createAgentFromPrompt,
23
23
  deployApp,
@@ -4,7 +4,7 @@ import {
4
4
  getAnyCliOptionKind,
5
5
  getCliCommandDefinition,
6
6
  getCliOptionKind
7
- } from "./chunk-JSRCXDIL.js";
7
+ } from "./chunk-5QJGC2QI.js";
8
8
  import {
9
9
  parseJsonOption
10
10
  } from "./chunk-MUMPWI4O.js";
@@ -397,7 +397,7 @@ var CLI_COMMAND_REGISTRY = [
397
397
  name: "help",
398
398
  usage: "openpond help",
399
399
  optionSchema: {},
400
- handler: async () => (await import("./help-DHGNXUA4.js")).printHelp()
400
+ handler: async () => (await import("./help-UILXBPHG.js")).printHelp()
401
401
  },
402
402
  {
403
403
  name: "version",
@@ -409,19 +409,19 @@ var CLI_COMMAND_REGISTRY = [
409
409
  name: "check-update",
410
410
  usage: "openpond check-update",
411
411
  optionSchema: {},
412
- handler: async () => (await import("./core-commands-SND555SC.js")).runCheckUpdate()
412
+ handler: async () => (await import("./core-commands-RI4B7TYM.js")).runCheckUpdate()
413
413
  },
414
414
  {
415
415
  name: "login",
416
416
  usage: "openpond login [--base-url <url>]",
417
417
  optionSchema: CLI_GLOBAL_OPTION_SCHEMA,
418
- handler: async ({ options }) => (await import("./core-commands-SND555SC.js")).runLogin(options)
418
+ handler: async ({ options }) => (await import("./core-commands-RI4B7TYM.js")).runLogin(options)
419
419
  },
420
420
  {
421
421
  name: "init",
422
422
  usage: "openpond init [--path <dir>]",
423
423
  optionSchema: { path: "string" },
424
- handler: async ({ options }) => (await import("./profile-PLWXQHKF.js")).runOpenPondInitCommand(options)
424
+ handler: async ({ options }) => (await import("./profile-YD7NYL3U.js")).runOpenPondInitCommand(options)
425
425
  },
426
426
  {
427
427
  name: "profile",
@@ -449,13 +449,27 @@ var CLI_COMMAND_REGISTRY = [
449
449
  publishHostedSource: "boolean",
450
450
  teamId: "string"
451
451
  },
452
- handler: async ({ options, rest }) => (await import("./profile-PLWXQHKF.js")).runOpenPondProfileCommand(options, rest)
452
+ handler: async ({ options, rest }) => (await import("./profile-YD7NYL3U.js")).runOpenPondProfileCommand(options, rest)
453
453
  },
454
454
  {
455
455
  name: "agents",
456
456
  usage: "openpond agents [--json]",
457
457
  optionSchema: { json: "boolean" },
458
- handler: async ({ options, rest }) => (await import("./profile-PLWXQHKF.js")).runOpenPondAgentsCommand(options, rest)
458
+ handler: async ({ options, rest }) => (await import("./profile-YD7NYL3U.js")).runOpenPondAgentsCommand(options, rest)
459
+ },
460
+ {
461
+ name: "actions",
462
+ usage: "openpond actions <check|build|run|dev> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",
463
+ optionSchema: {
464
+ cwd: "string",
465
+ input: "string",
466
+ inputFile: "string",
467
+ json: "boolean",
468
+ outputDirectory: "string",
469
+ sourceDirectory: "string",
470
+ timeoutMs: "integer"
471
+ },
472
+ handler: async ({ options, rest }) => (await import("./actions-command-YY7UH37B.js")).runProjectActionsCommand(options, rest)
459
473
  },
460
474
  ...profileSdkAliasDefinitions(),
461
475
  {
@@ -468,25 +482,25 @@ var CLI_COMMAND_REGISTRY = [
468
482
  "openpond extension remove <owner/repo> [--json]"
469
483
  ],
470
484
  optionSchema: { all: "boolean", json: "boolean", ref: "string" },
471
- handler: async ({ options, rest }) => (await import("./extension-3IKF6YQE.js")).runOpenPondExtensionCommand(options, rest)
485
+ handler: async ({ options, rest }) => (await import("./extension-XMWCG6YG.js")).runOpenPondExtensionCommand(options, rest)
472
486
  },
473
487
  {
474
488
  name: "profiles",
475
489
  usage: "openpond profiles [args]",
476
490
  optionSchema: { json: "boolean" },
477
- handler: async ({ options, rest }) => (await import("./core-commands-SND555SC.js")).runProfiles(options, rest)
491
+ handler: async ({ options, rest }) => (await import("./core-commands-RI4B7TYM.js")).runProfiles(options, rest)
478
492
  },
479
493
  {
480
494
  name: "account",
481
495
  usage: "openpond account",
482
496
  optionSchema: { json: "boolean" },
483
- handler: async () => (await import("./core-commands-SND555SC.js")).runAccount()
497
+ handler: async () => (await import("./core-commands-RI4B7TYM.js")).runAccount()
484
498
  },
485
499
  {
486
500
  name: "health",
487
501
  usage: "openpond health",
488
502
  optionSchema: { json: "boolean" },
489
- handler: async ({ options }) => (await import("./core-commands-SND555SC.js")).runHealth(options)
503
+ handler: async ({ options }) => (await import("./core-commands-RI4B7TYM.js")).runHealth(options)
490
504
  },
491
505
  {
492
506
  name: "app-server",
@@ -494,7 +508,7 @@ var CLI_COMMAND_REGISTRY = [
494
508
  optionSchema: {
495
509
  storeDir: "string"
496
510
  },
497
- handler: async ({ options, rest }) => (await import("./app-layer-T26MAAGI.js")).runOpenPondServerCommand("app-server", options, rest)
511
+ handler: async ({ options, rest }) => (await import("./app-layer-EZQWXB3S.js")).runOpenPondServerCommand("app-server", options, rest)
498
512
  },
499
513
  {
500
514
  name: "serve",
@@ -505,7 +519,7 @@ var CLI_COMMAND_REGISTRY = [
505
519
  listen: "string",
506
520
  port: "integer"
507
521
  },
508
- handler: async ({ options, rest }) => (await import("./app-layer-T26MAAGI.js")).runOpenPondServerCommand("serve", options, rest)
522
+ handler: async ({ options, rest }) => (await import("./app-layer-EZQWXB3S.js")).runOpenPondServerCommand("serve", options, rest)
509
523
  },
510
524
  {
511
525
  name: "ui",
@@ -518,7 +532,7 @@ var CLI_COMMAND_REGISTRY = [
518
532
  port: "integer",
519
533
  webRoot: "string"
520
534
  },
521
- handler: async ({ options, rest }) => (await import("./app-layer-T26MAAGI.js")).runOpenPondServerCommand("web", options, rest)
535
+ handler: async ({ options, rest }) => (await import("./app-layer-EZQWXB3S.js")).runOpenPondServerCommand("web", options, rest)
522
536
  },
523
537
  {
524
538
  name: "tui",
@@ -532,13 +546,13 @@ var CLI_COMMAND_REGISTRY = [
532
546
  provider: "string",
533
547
  server: "string"
534
548
  },
535
- handler: async ({ options, rest }) => (await import("./app-layer-T26MAAGI.js")).runOpenPondTerminalCommand(options, rest)
549
+ handler: async ({ options, rest }) => (await import("./app-layer-EZQWXB3S.js")).runOpenPondTerminalCommand(options, rest)
536
550
  },
537
551
  {
538
552
  name: "chat",
539
553
  usage: "openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",
540
554
  optionSchema: CHAT_OPTION_SCHEMA,
541
- handler: async ({ options, rest }) => (await import("./app-layer-T26MAAGI.js")).runOpenPondTerminalCommand(options, rest)
555
+ handler: async ({ options, rest }) => (await import("./app-layer-EZQWXB3S.js")).runOpenPondTerminalCommand(options, rest)
542
556
  },
543
557
  {
544
558
  name: "tool",
@@ -574,7 +588,7 @@ var CLI_COMMAND_REGISTRY = [
574
588
  name: "sandbox-template",
575
589
  usage: "openpond sandbox-template <command> [args]",
576
590
  optionSchema: SANDBOX_TEMPLATE_OPTION_SCHEMA,
577
- handler: async ({ options, rest }) => (await import("./sandbox-template-FVW2UTI4.js")).runSandboxTemplateCommand(options, rest)
591
+ handler: async ({ options, rest }) => (await import("./sandbox-template-PBSIPCVO.js")).runSandboxTemplateCommand(options, rest)
578
592
  },
579
593
  {
580
594
  name: "repo",
@@ -619,13 +633,13 @@ var CLI_COMMAND_REGISTRY = [
619
633
  toolset: "string",
620
634
  url: "string"
621
635
  },
622
- handler: async ({ options, rest }) => (await import("./organizations-HKVC4CSA.js")).runOrganizationsCommand(options, rest)
636
+ handler: async ({ options, rest }) => (await import("./organizations-G5S2HJLT.js")).runOrganizationsCommand(options, rest)
623
637
  },
624
638
  {
625
639
  name: "project",
626
640
  usage: "openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",
627
641
  optionSchema: PROJECT_OPTION_SCHEMA,
628
- handler: async ({ options, rest }) => (await import("./project-agent-JNSP56KG.js")).runProjectCommand(options, rest)
642
+ handler: async ({ options, rest }) => (await import("./project-agent-75PAFL6B.js")).runProjectCommand(options, rest)
629
643
  },
630
644
  {
631
645
  name: "agent",
@@ -637,7 +651,7 @@ var CLI_COMMAND_REGISTRY = [
637
651
  "openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"
638
652
  ],
639
653
  optionSchema: AGENT_OPTION_SCHEMA,
640
- handler: async ({ options, rest }) => (await import("./project-agent-JNSP56KG.js")).runAgentCommand(options, rest)
654
+ handler: async ({ options, rest }) => (await import("./project-agent-75PAFL6B.js")).runAgentCommand(options, rest)
641
655
  },
642
656
  {
643
657
  name: "desktop-test",
@@ -658,13 +672,13 @@ var CLI_COMMAND_REGISTRY = [
658
672
  token: "string",
659
673
  tokenFile: "string"
660
674
  },
661
- handler: async ({ options, rest }) => (await import("./desktop-test-WSWXNSFS.js")).runDesktopTestCommand(options, rest)
675
+ handler: async ({ options, rest }) => (await import("./desktop-test-DRTCQWDV.js")).runDesktopTestCommand(options, rest)
662
676
  },
663
677
  {
664
678
  name: "sandbox",
665
679
  usage: "openpond sandbox <command> [args]",
666
680
  optionSchema: SANDBOX_OPTION_SCHEMA,
667
- handler: async ({ options, rest }) => (await import("./sandbox-command-Z6LNNSSL.js")).runSandboxCommand(options, rest)
681
+ handler: async ({ options, rest }) => (await import("./sandbox-command-FGUJDDXR.js")).runSandboxCommand(options, rest)
668
682
  },
669
683
  {
670
684
  name: "training",
@@ -712,7 +726,7 @@ var CLI_COMMAND_REGISTRY = [
712
726
  skipTool: "boolean",
713
727
  stream: "boolean"
714
728
  },
715
- handler: async ({ options, rest }) => (await import("./opchat-XYKT5KKO.js")).runOpChatCommand(options, rest)
729
+ handler: async ({ options, rest }) => (await import("./opchat-SSK54JSR.js")).runOpChatCommand(options, rest)
716
730
  },
717
731
  {
718
732
  name: "teams-bot",
@@ -721,7 +735,7 @@ var CLI_COMMAND_REGISTRY = [
721
735
  json: "boolean",
722
736
  teamId: "string"
723
737
  },
724
- handler: async ({ options, rest }) => (await import("./teams-bot-FNPT4Q2B.js")).runTeamsBotCommand(options, rest)
738
+ handler: async ({ options, rest }) => (await import("./teams-bot-NSYWELB6.js")).runTeamsBotCommand(options, rest)
725
739
  },
726
740
  {
727
741
  name: "apps",
@@ -742,7 +756,7 @@ var CLI_COMMAND_REGISTRY = [
742
756
  name: "opentool",
743
757
  usage: "openpond opentool <init|validate|build> [args]",
744
758
  optionSchema: {},
745
- handler: async ({ rest }) => (await import("./core-commands-SND555SC.js")).runOpentool(rest)
759
+ handler: async ({ rest }) => (await import("./core-commands-RI4B7TYM.js")).runOpentool(rest)
746
760
  }
747
761
  ];
748
762
  var CLI_COMMAND_BY_NAME = /* @__PURE__ */ new Map();
@@ -814,11 +828,11 @@ function profileSdkAliasDefinitions() {
814
828
  name,
815
829
  usage: `openpond ${name} [args]`,
816
830
  optionSchema: PROFILE_SDK_OPTION_SCHEMA,
817
- handler: async ({ options, rest }) => (await import("./profile-PLWXQHKF.js")).runOpenPondProfileSdkAlias(name, options, rest)
831
+ handler: async ({ options, rest }) => (await import("./profile-YD7NYL3U.js")).runOpenPondProfileSdkAlias(name, options, rest)
818
832
  }));
819
833
  }
820
834
  async function runToolCommand({ options, rest }) {
821
- const { runToolList, runToolRun } = await import("./core-commands-SND555SC.js");
835
+ const { runToolList, runToolRun } = await import("./core-commands-RI4B7TYM.js");
822
836
  const subcommand = rest[0];
823
837
  if (subcommand === "list") {
824
838
  const target = rest[1];
@@ -842,8 +856,8 @@ async function runToolCommand({ options, rest }) {
842
856
  throw new Error("usage: tool <list|run> <handle>/<repo> [args]");
843
857
  }
844
858
  async function runBacktestCommand({ options, rest }) {
845
- const { runBacktestRun } = await import("./core-commands-SND555SC.js");
846
- const { runBacktestEvents, runBacktestGet } = await import("./apps-7KLTYKHN.js");
859
+ const { runBacktestRun } = await import("./core-commands-RI4B7TYM.js");
860
+ const { runBacktestEvents, runBacktestGet } = await import("./apps-HHQF6TNR.js");
847
861
  const subcommand = rest[0] || "run";
848
862
  if (subcommand === "run") {
849
863
  const target = rest[1];
@@ -877,7 +891,7 @@ async function runBacktestCommand({ options, rest }) {
877
891
  throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]");
878
892
  }
879
893
  async function runDeployCommand({ options, rest }) {
880
- const { runDeployWatch } = await import("./core-commands-SND555SC.js");
894
+ const { runDeployWatch } = await import("./core-commands-RI4B7TYM.js");
881
895
  const subcommand = rest[0] || "watch";
882
896
  if (subcommand !== "watch") {
883
897
  throw new Error(
@@ -893,7 +907,7 @@ async function runDeployCommand({ options, rest }) {
893
907
  await runDeployWatch(options, target);
894
908
  }
895
909
  async function runTemplateCommand({ options, rest }) {
896
- const { runTemplateBranches, runTemplateStatus, runTemplateUpdate } = await import("./core-commands-SND555SC.js");
910
+ const { runTemplateBranches, runTemplateStatus, runTemplateUpdate } = await import("./core-commands-RI4B7TYM.js");
897
911
  const subcommand = rest[0] || "status";
898
912
  const target = rest[1];
899
913
  if (!target) {
@@ -918,7 +932,7 @@ async function runTemplateCommand({ options, rest }) {
918
932
  );
919
933
  }
920
934
  async function runRepoCommand({ options, rest }) {
921
- const { runRepoCreate, runRepoPush } = await import("./core-commands-SND555SC.js");
935
+ const { runRepoCreate, runRepoPush } = await import("./core-commands-RI4B7TYM.js");
922
936
  const subcommand = rest[0] || "create";
923
937
  if (subcommand === "create") {
924
938
  await runRepoCreate(options, rest.slice(1));
@@ -945,7 +959,7 @@ async function runAppsCommand({ options, rest }) {
945
959
  runAppsSummary,
946
960
  runAppsTools,
947
961
  runAppsToolsExecute
948
- } = await import("./apps-7KLTYKHN.js");
962
+ } = await import("./apps-HHQF6TNR.js");
949
963
  const subcommand = rest[0];
950
964
  if (subcommand === "list") {
951
965
  await runAppsList(options);
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
2
  import {
3
3
  now
4
- } from "./chunk-OSLQMUIB.js";
4
+ } from "./chunk-XHTO6KF2.js";
5
5
 
6
6
  // ../server/src/workspace/workspace-command.ts
7
7
  import { spawn, spawnSync } from "node:child_process";
@@ -14,7 +14,7 @@ import {
14
14
  ToolDeclarationSchema,
15
15
  createHarnessAdvanceReceipt,
16
16
  validateConnectedAppToolCallRequest
17
- } from "./chunk-US7DOPAH.js";
17
+ } from "./chunk-VG4H4TQG.js";
18
18
  import {
19
19
  external_exports,
20
20
  yaml
@@ -12838,6 +12838,7 @@ export {
12838
12838
  TurnSchema,
12839
12839
  ApprovalSchema,
12840
12840
  createPlaceholderPanes,
12841
+ OpenPondActionCatalogEntrySchema,
12841
12842
  SHIPPED_OPENPOND_SKILL_NAMES,
12842
12843
  BUILT_IN_OPENPOND_PROFILE_SKILLS,
12843
12844
  OpenPondExtensionSourceRequestSchema,
@@ -2,15 +2,15 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
2
2
  import {
3
3
  runAppServerJsonl
4
4
  } from "./chunk-NFNEENNR.js";
5
- import {
6
- getBundledRuntimeVersion,
7
- openUrlWithSystemBrowser
8
- } from "./chunk-EIRW6Z6S.js";
9
5
  import {
10
6
  DEFAULT_HOST,
11
7
  DEFAULT_PORT,
12
8
  parseListen
13
- } from "./chunk-OSLQMUIB.js";
9
+ } from "./chunk-XHTO6KF2.js";
10
+ import {
11
+ getBundledRuntimeVersion,
12
+ openUrlWithSystemBrowser
13
+ } from "./chunk-UBHCG2NE.js";
14
14
 
15
15
  // ../server/src/cli.ts
16
16
  import { existsSync } from "node:fs";
@@ -28,7 +28,7 @@ import {
28
28
  compareSemver,
29
29
  fetchLatestNpmVersion,
30
30
  getInstalledCliVersion
31
- } from "./chunk-JSRCXDIL.js";
31
+ } from "./chunk-5QJGC2QI.js";
32
32
  import {
33
33
  checkOpenPondApiHealth,
34
34
  createHeadlessApps,