openpond 0.0.41 → 0.0.43

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.
@@ -2,11 +2,11 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
2
2
  import {
3
3
  APP_SERVER_COMPOSITION,
4
4
  createOpenPondAppServer
5
- } from "./chunk-OBQP6UAS.js";
6
- import "./chunk-VCVQLECH.js";
5
+ } from "./chunk-SBVJGA3Y.js";
6
+ import "./chunk-YEKQWRBS.js";
7
7
  import "./chunk-ZTE6A2VE.js";
8
- import "./chunk-FTHWWUKZ.js";
9
- import "./chunk-4SWPERMD.js";
8
+ import "./chunk-DBHT62E5.js";
9
+ import "./chunk-L7SIUJEV.js";
10
10
  import "./chunk-2SF6HLT7.js";
11
11
  import "./chunk-M2NXTLH2.js";
12
12
  import "./chunk-WYDVQOBL.js";
@@ -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-4SWPERMD.js";
4
+ } from "./chunk-L7SIUJEV.js";
5
5
 
6
6
  // ../server/src/workspace/workspace-command.ts
7
7
  import { spawn, spawnSync } from "node:child_process";
@@ -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.41";
6
+ var VERSION = "0.0.43";
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";
@@ -15,7 +15,7 @@ import {
15
15
  runAgentCompactionProgram,
16
16
  runProviderRound,
17
17
  runProviderRoundLoop
18
- } from "./chunk-VCVQLECH.js";
18
+ } from "./chunk-YEKQWRBS.js";
19
19
  import {
20
20
  getBundledRuntimeVersion,
21
21
  loadOpenPondAccountContext,
@@ -33,14 +33,14 @@ import {
33
33
  truncatePatch,
34
34
  uniqueSortedPaths,
35
35
  workspaceImageContentType
36
- } from "./chunk-FTHWWUKZ.js";
36
+ } from "./chunk-DBHT62E5.js";
37
37
  import {
38
38
  HOSTED_CHAT_SYSTEM_PROMPT,
39
39
  VERSION,
40
40
  event,
41
41
  now,
42
42
  textFromUnknown
43
- } from "./chunk-4SWPERMD.js";
43
+ } from "./chunk-L7SIUJEV.js";
44
44
  import {
45
45
  AppPreferencesSchema,
46
46
  ApplyCreateImproveRunActionRequestSchema,
@@ -19597,6 +19597,7 @@ function resolveSandboxBaseUrl(context) {
19597
19597
  }
19598
19598
 
19599
19599
  // ../server/src/runtime/app-server-sandbox-tools.ts
19600
+ import { Buffer as Buffer2 } from "node:buffer";
19600
19601
  var REMOTE_SANDBOX_ACTIONS = /* @__PURE__ */ new Set([
19601
19602
  "sandbox_status",
19602
19603
  "sandbox_start",
@@ -19641,14 +19642,16 @@ async function executeAppServerSandboxTool(input) {
19641
19642
  }
19642
19643
  });
19643
19644
  } else if (action === "sandbox_read_file") {
19644
- data = await input.sandboxRequest({
19645
- type: "download_file",
19646
- sandboxId,
19647
- payload: {
19648
- path: requiredString(args.path, "path"),
19649
- maxBytes: numberValue2(args.maxBytes) ?? 512 * 1024
19650
- }
19651
- });
19645
+ data = withDecodedFileContent(
19646
+ await input.sandboxRequest({
19647
+ type: "download_file",
19648
+ sandboxId,
19649
+ payload: {
19650
+ path: requiredString(args.path, "path"),
19651
+ maxBytes: numberValue2(args.maxBytes) ?? 512 * 1024
19652
+ }
19653
+ })
19654
+ );
19652
19655
  } else if (action === "sandbox_search_files") {
19653
19656
  data = await input.sandboxRequest({
19654
19657
  type: "search_files",
@@ -19757,7 +19760,7 @@ async function editRemoteSandboxFile(input) {
19757
19760
  })
19758
19761
  );
19759
19762
  const file = asRecord5(downloaded.file);
19760
- const content = optionalString(downloaded.contents) || optionalString(downloaded.content) || optionalString(file.contents) || optionalString(file.content);
19763
+ const content = optionalString(downloaded.contents) || optionalString(downloaded.content) || optionalString(file.contents) || optionalString(file.content) || decodeBase64(optionalString(file.contentsBase64));
19761
19764
  if (!content.includes(oldText)) {
19762
19765
  throw new Error(`Text to replace was not found in ${path37}.`);
19763
19766
  }
@@ -19771,6 +19774,23 @@ async function editRemoteSandboxFile(input) {
19771
19774
  payload: { path: path37, contents: nextContent }
19772
19775
  });
19773
19776
  }
19777
+ function withDecodedFileContent(value) {
19778
+ const result = asRecord5(value);
19779
+ const file = asRecord5(result.file);
19780
+ const contentsBase64 = optionalString(file.contentsBase64);
19781
+ if (!contentsBase64) return value;
19782
+ return {
19783
+ ...result,
19784
+ file: {
19785
+ ...file,
19786
+ content: decodeBase64(contentsBase64)
19787
+ }
19788
+ };
19789
+ }
19790
+ function decodeBase64(value) {
19791
+ if (!value) return "";
19792
+ return Buffer2.from(value, "base64").toString("utf8");
19793
+ }
19774
19794
  function asRecord5(value) {
19775
19795
  return value && typeof value === "object" && !Array.isArray(value) ? value : {};
19776
19796
  }
@@ -20081,7 +20101,11 @@ function createAgentRuntimePorts(deps) {
20081
20101
  compaction: true,
20082
20102
  harnessInspection: true,
20083
20103
  harnessValidation: true,
20084
- immutableHarnessAdmission: true
20104
+ immutableHarnessAdmission: true,
20105
+ harnessBackgroundReview: true,
20106
+ harnessDiff: true,
20107
+ harnessRollback: true,
20108
+ harnessReview: true
20085
20109
  },
20086
20110
  tools: recordedTools,
20087
20111
  toolCatalogHash: recordedHash
@@ -20100,6 +20124,10 @@ function createAgentRuntimePorts(deps) {
20100
20124
  resolveApproval: deps.resolveApproval,
20101
20125
  inspectHarness: deps.inspectHarness,
20102
20126
  validateHarness: deps.validateHarness,
20127
+ updateHarnessBackgroundReview: deps.updateHarnessBackgroundReview,
20128
+ diffHarness: deps.diffHarness,
20129
+ rollbackHarness: deps.rollbackHarness,
20130
+ reviewHarnessProposal: deps.reviewHarnessProposal,
20103
20131
  subscribeEvents: deps.subscribeRuntimeEvents,
20104
20132
  eventNotification: runtimeEventNotification,
20105
20133
  telemetry: deps.observeRuntimeOperation
@@ -33098,7 +33126,7 @@ function uniqueEvidence(run, evidence) {
33098
33126
  }
33099
33127
  async function verifyAppliedProfileCommit(input) {
33100
33128
  const command = input.command ?? (async (name, args, cwd, env) => {
33101
- const { runWorkspaceCommand } = await import("./workspaces-C3DGNUX2.js");
33129
+ const { runWorkspaceCommand } = await import("./workspaces-ODFJT6HJ.js");
33102
33130
  return runWorkspaceCommand(name, args, cwd, env);
33103
33131
  });
33104
33132
  const result = await command("git", ["rev-parse", "HEAD"], input.repoPath);
@@ -40652,6 +40680,10 @@ async function createOpenPondAppServer(options = {}) {
40652
40680
  throw new Error(`Approval not found: ${approvalId}`);
40653
40681
  }
40654
40682
  let closing = false;
40683
+ const harnessSettings = createLocalHarnessSettingsRoutePayloads({
40684
+ store,
40685
+ storeDir
40686
+ });
40655
40687
  const instance = createAppServer({
40656
40688
  ports: createAgentRuntimePorts({
40657
40689
  placement: "hosted_work",
@@ -40677,6 +40709,10 @@ async function createOpenPondAppServer(options = {}) {
40677
40709
  reason: "No app-server Harness release is selected."
40678
40710
  };
40679
40711
  },
40712
+ updateHarnessBackgroundReview: harnessSettings.updateHarnessBackgroundReviewPayload,
40713
+ diffHarness: harnessSettings.harnessDiffPayload,
40714
+ rollbackHarness: harnessSettings.rollbackHarnessPayload,
40715
+ reviewHarnessProposal: harnessSettings.reviewHarnessProposalPayload,
40680
40716
  subscribeRuntimeEvents,
40681
40717
  observeRuntimeOperation: (runtimeEvent) => {
40682
40718
  logger.info("agent runtime operation", runtimeEvent);
@@ -185,7 +185,11 @@ var AGENT_RPC_METHODS = [
185
185
  "approval/resolve",
186
186
  "userInput/resolve",
187
187
  "harness/inspect",
188
- "harness/validate"
188
+ "harness/validate",
189
+ "harness/backgroundReview",
190
+ "harness/diff",
191
+ "harness/rollback",
192
+ "harness/review"
189
193
  ];
190
194
  var JsonRpcRequestSchema = external_exports.object({
191
195
  jsonrpc: external_exports.literal("2.0"),
@@ -299,6 +303,14 @@ var AgentJsonRpcDispatcher = class {
299
303
  return this.#host.harnessInspect(params);
300
304
  case "harness/validate":
301
305
  return this.#host.harnessValidate(params);
306
+ case "harness/backgroundReview":
307
+ return this.#host.harnessBackgroundReview(params);
308
+ case "harness/diff":
309
+ return this.#host.harnessDiff(params);
310
+ case "harness/rollback":
311
+ return this.#host.harnessRollback(params);
312
+ case "harness/review":
313
+ return this.#host.harnessReview(params);
302
314
  default:
303
315
  throw new JsonRpcDispatchError(-32601, `Method not found: ${method}`);
304
316
  }
@@ -539,6 +551,10 @@ function createAgentRuntimeService(ports) {
539
551
  },
540
552
  harnessInspect: () => run("harness/inspect", null, () => ports.inspectHarness()),
541
553
  harnessValidate: () => run("harness/validate", null, () => ports.validateHarness()),
554
+ harnessBackgroundReview: (params) => run("harness/backgroundReview", null, () => ports.updateHarnessBackgroundReview(params)),
555
+ harnessDiff: (params) => run("harness/diff", null, () => ports.diffHarness(params)),
556
+ harnessRollback: (params) => run("harness/rollback", null, () => ports.rollbackHarness(params)),
557
+ harnessReview: (params) => run("harness/review", null, () => ports.reviewHarnessProposal(params)),
542
558
  subscribe: ports.subscribeEvents && ports.eventNotification ? (listener) => ports.subscribeEvents((event) => listener(ports.eventNotification(event))) : void 0
543
559
  };
544
560
  }
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
2
  import {
3
3
  runAppServerJsonl
4
- } from "./chunk-VCVQLECH.js";
4
+ } from "./chunk-YEKQWRBS.js";
5
5
  import {
6
6
  getBundledRuntimeVersion,
7
7
  openUrlWithSystemBrowser
@@ -10,7 +10,7 @@ import {
10
10
  DEFAULT_HOST,
11
11
  DEFAULT_PORT,
12
12
  parseListen
13
- } from "./chunk-4SWPERMD.js";
13
+ } from "./chunk-L7SIUJEV.js";
14
14
 
15
15
  // ../server/src/cli.ts
16
16
  import { existsSync } from "node:fs";
@@ -3,10 +3,10 @@ import {
3
3
  resolveWebLaunchMessages,
4
4
  runOpenPondAppServerCli,
5
5
  runOpenPondServerCli
6
- } from "./chunk-ISMG72XN.js";
7
- import "./chunk-VCVQLECH.js";
6
+ } from "./chunk-YYLUURQ4.js";
7
+ import "./chunk-YEKQWRBS.js";
8
8
  import "./chunk-ZTE6A2VE.js";
9
- import "./chunk-4SWPERMD.js";
9
+ import "./chunk-L7SIUJEV.js";
10
10
  import "./chunk-2SF6HLT7.js";
11
11
  import "./chunk-M2NXTLH2.js";
12
12
  import "./chunk-WYDVQOBL.js";
@@ -96,14 +96,14 @@ import {
96
96
  workspaceHasHead,
97
97
  workspaceToolExperienceBlocker,
98
98
  writeWorkspaceFile
99
- } from "./chunk-OBQP6UAS.js";
99
+ } from "./chunk-SBVJGA3Y.js";
100
100
  import {
101
101
  runOpenPondServerCli
102
- } from "./chunk-ISMG72XN.js";
102
+ } from "./chunk-YYLUURQ4.js";
103
103
  import {
104
104
  createAppServer,
105
105
  runAgentCompaction
106
- } from "./chunk-VCVQLECH.js";
106
+ } from "./chunk-YEKQWRBS.js";
107
107
  import {
108
108
  createOpenPondRepoApp,
109
109
  getBundledRuntimeVersion,
@@ -145,7 +145,7 @@ import {
145
145
  runCommand,
146
146
  startMacOSCommandLineToolsInstall,
147
147
  workspaceImageContentType
148
- } from "./chunk-FTHWWUKZ.js";
148
+ } from "./chunk-DBHT62E5.js";
149
149
  import {
150
150
  APP_PREFERENCES_CACHE_KEY,
151
151
  APP_PREFERENCES_CACHE_TYPE,
@@ -157,7 +157,7 @@ import {
157
157
  isCliEntrypoint,
158
158
  now,
159
159
  textFromUnknown
160
- } from "./chunk-4SWPERMD.js";
160
+ } from "./chunk-L7SIUJEV.js";
161
161
  import {
162
162
  AccountStateSchema,
163
163
  AdapterValidationReceiptSchema,
@@ -59788,6 +59788,10 @@ ${grader.rubric}`
59788
59788
  agentSnapshot: release.agentSnapshot
59789
59789
  } : { valid: false, reason: "No Local Harness release is selected." };
59790
59790
  },
59791
+ updateHarnessBackgroundReview: harnessSettingsRoutes.updateHarnessBackgroundReviewPayload,
59792
+ diffHarness: harnessSettingsRoutes.harnessDiffPayload,
59793
+ rollbackHarness: harnessSettingsRoutes.rollbackHarnessPayload,
59794
+ reviewHarnessProposal: harnessSettingsRoutes.reviewHarnessProposalPayload,
59791
59795
  subscribeRuntimeEvents,
59792
59796
  observeRuntimeOperation: (runtimeEvent) => {
59793
59797
  logger.info("agent runtime operation", runtimeEvent);
@@ -45,8 +45,8 @@ import {
45
45
  truncatePatch,
46
46
  uniqueSortedPaths,
47
47
  workspaceImageContentType
48
- } from "./chunk-FTHWWUKZ.js";
49
- import "./chunk-4SWPERMD.js";
48
+ } from "./chunk-DBHT62E5.js";
49
+ import "./chunk-L7SIUJEV.js";
50
50
  import "./chunk-UACZUFIA.js";
51
51
  export {
52
52
  MACOS_GIT_MISSING_DEVELOPER_TOOLS_ERROR,
package/dist/cli.js CHANGED
@@ -70,8 +70,8 @@ async function runEmbeddedCompanion(argv) {
70
70
  if (argv[0] === "__app-server") {
71
71
  process.argv = [process.execPath, "openpond-app-server", ...argv.slice(1)];
72
72
  const [{ createOpenPondAppServer }, { runOpenPondAppServerCli }] = await Promise.all([
73
- import("./chunks/app-server-runtime-SZ76TNNY.js"),
74
- import("./chunks/cli-SEPGE6SM.js")
73
+ import("./chunks/app-server-runtime-CLJWPISO.js"),
74
+ import("./chunks/cli-UU4WCREM.js")
75
75
  ]);
76
76
  await runOpenPondAppServerCli(createOpenPondAppServer);
77
77
  return true;
@@ -79,10 +79,10 @@ async function runEmbeddedCompanion(argv) {
79
79
  if (argv[0] === "__server") {
80
80
  process.argv = [process.execPath, "openpond-server", ...argv.slice(1)];
81
81
  const [{ createOpenPondServer }, { runOpenPondServerCli }] = await Promise.all([
82
- import("./chunks/src-44QFJZM5.js"),
83
- import("./chunks/cli-SEPGE6SM.js")
82
+ import("./chunks/src-L2H4X4IY.js"),
83
+ import("./chunks/cli-UU4WCREM.js")
84
84
  ]);
85
- const { createOpenPondAppServer } = await import("./chunks/app-server-runtime-SZ76TNNY.js");
85
+ const { createOpenPondAppServer } = await import("./chunks/app-server-runtime-CLJWPISO.js");
86
86
  await runOpenPondServerCli({ createOpenPondServer, createOpenPondAppServer });
87
87
  return true;
88
88
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openpond",
3
- "version": "0.0.41",
3
+ "version": "0.0.43",
4
4
  "openpondReleaseVersioned": true,
5
5
  "license": "MIT",
6
6
  "description": "OpenPond CLI and local harness",