openpond 0.0.53 → 0.0.54

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-TSICWFAI.js";
5
+ } from "./chunk-FFTPXXNU.js";
6
6
  import "./chunk-NFNEENNR.js";
7
7
  import "./chunk-EIRW6Z6S.js";
8
- import "./chunk-V7CBYHXO.js";
9
- import "./chunk-LOYP2CAV.js";
8
+ import "./chunk-MMUU5J64.js";
9
+ import "./chunk-OW3B5BRD.js";
10
10
  import "./chunk-55KT7K5P.js";
11
11
  import "./chunk-US7DOPAH.js";
12
12
  import "./chunk-WYDVQOBL.js";
@@ -34,14 +34,14 @@ import {
34
34
  truncatePatch,
35
35
  uniqueSortedPaths,
36
36
  workspaceImageContentType
37
- } from "./chunk-V7CBYHXO.js";
37
+ } from "./chunk-MMUU5J64.js";
38
38
  import {
39
39
  HOSTED_CHAT_SYSTEM_PROMPT,
40
40
  VERSION,
41
41
  event,
42
42
  now,
43
43
  textFromUnknown
44
- } from "./chunk-LOYP2CAV.js";
44
+ } from "./chunk-OW3B5BRD.js";
45
45
  import {
46
46
  AppPreferencesSchema,
47
47
  ApplyCreateImproveRunActionRequestSchema,
@@ -30832,6 +30832,20 @@ function segment(value) {
30832
30832
  return normalized || "asset";
30833
30833
  }
30834
30834
 
30835
+ // ../server/src/training/evaluation-grader-cost.ts
30836
+ function hostedModelJudgeCallCost(input) {
30837
+ if (typeof input.costUsd === "number" && Number.isFinite(input.costUsd) && input.costUsd >= 0) {
30838
+ return input.costUsd;
30839
+ }
30840
+ if (!input.pricing) return null;
30841
+ const usages = Array.isArray(input.usage) ? input.usage : input.usage === void 0 ? [] : [input.usage];
30842
+ const costs = usages.map((usage) => hostedUsageCostUsd(usage, input.pricing));
30843
+ if (!costs.length || !costs.every((cost) => cost !== null)) {
30844
+ return null;
30845
+ }
30846
+ return costs.reduce((total, cost) => total + cost, 0);
30847
+ }
30848
+
30835
30849
  // ../server/src/training/evaluation-service-statistics.ts
30836
30850
  function reviewRefMatches(value, expected) {
30837
30851
  return Boolean(
@@ -30916,7 +30930,8 @@ function createTaskEvaluationService(deps) {
30916
30930
  const gradeResult = await grade({
30917
30931
  tasksetId: taskset.id,
30918
30932
  taskId: task.id,
30919
- attempt
30933
+ attempt,
30934
+ hostedTokenPricing: input.hostedTokenPricing
30920
30935
  });
30921
30936
  const artifacts = await deps.store.listTaskAttemptArtifacts({
30922
30937
  attemptId: attempt.id
@@ -30971,7 +30986,7 @@ function createTaskEvaluationService(deps) {
30971
30986
  const rawUsages = [];
30972
30987
  let explicitCostUsd = 0;
30973
30988
  let modelJudgeCalls = 0;
30974
- let modelJudgeCostObserved = false;
30989
+ let modelJudgeCostAccounted = 0;
30975
30990
  const result = await gradeTasksetEvaluationAttempt({
30976
30991
  task,
30977
30992
  attempt,
@@ -30981,9 +30996,14 @@ function createTaskEvaluationService(deps) {
30981
30996
  const judged = await deps.modelJudge(judgeInput);
30982
30997
  if (Array.isArray(judged.usage)) rawUsages.push(...judged.usage);
30983
30998
  else if (judged.usage !== void 0) rawUsages.push(judged.usage);
30984
- if (typeof judged.costUsd === "number" && Number.isFinite(judged.costUsd) && judged.costUsd >= 0) {
30985
- explicitCostUsd += judged.costUsd;
30986
- modelJudgeCostObserved = true;
30999
+ const callCostUsd = hostedModelJudgeCallCost({
31000
+ costUsd: judged.costUsd,
31001
+ usage: judged.usage,
31002
+ pricing: input.hostedTokenPricing
31003
+ });
31004
+ if (callCostUsd !== null) {
31005
+ explicitCostUsd += callCostUsd;
31006
+ modelJudgeCostAccounted += 1;
30987
31007
  }
30988
31008
  return judged;
30989
31009
  } : void 0,
@@ -31008,7 +31028,7 @@ function createTaskEvaluationService(deps) {
31008
31028
  // judge entirely. That is an authoritative zero-cost grading path, not
31009
31029
  // missing accounting. If a judge did run, retain fail-closed semantics
31010
31030
  // unless its hosted cost was actually observed.
31011
- costUsd: modelJudgeCalls === 0 ? 0 : modelJudgeCostObserved ? explicitCostUsd : null
31031
+ costUsd: modelJudgeCalls === 0 ? 0 : modelJudgeCostAccounted === modelJudgeCalls ? explicitCostUsd : null
31012
31032
  });
31013
31033
  return result;
31014
31034
  }
@@ -41912,7 +41932,7 @@ function uniqueEvidence(run, evidence) {
41912
41932
  }
41913
41933
  async function verifyAppliedProfileCommit(input) {
41914
41934
  const command = input.command ?? (async (name, args, cwd, env) => {
41915
- const { runWorkspaceCommand } = await import("./workspaces-PYRYXKJI.js");
41935
+ const { runWorkspaceCommand } = await import("./workspaces-HHLJWD3H.js");
41916
41936
  return runWorkspaceCommand(name, args, cwd, env);
41917
41937
  });
41918
41938
  const result = await command("git", ["rev-parse", "HEAD"], input.repoPath);
@@ -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-LOYP2CAV.js";
4
+ } from "./chunk-OW3B5BRD.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.53";
6
+ var VERSION = "0.0.54";
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";
@@ -10,7 +10,7 @@ import {
10
10
  DEFAULT_HOST,
11
11
  DEFAULT_PORT,
12
12
  parseListen
13
- } from "./chunk-LOYP2CAV.js";
13
+ } from "./chunk-OW3B5BRD.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-YGYO5AQF.js";
6
+ } from "./chunk-TGXBIUAR.js";
7
7
  import "./chunk-NFNEENNR.js";
8
8
  import "./chunk-EIRW6Z6S.js";
9
- import "./chunk-LOYP2CAV.js";
9
+ import "./chunk-OW3B5BRD.js";
10
10
  import "./chunk-55KT7K5P.js";
11
11
  import "./chunk-US7DOPAH.js";
12
12
  import "./chunk-WYDVQOBL.js";
@@ -117,10 +117,10 @@ import {
117
117
  workspaceHasHead,
118
118
  workspaceToolExperienceBlocker,
119
119
  writeWorkspaceFile
120
- } from "./chunk-TSICWFAI.js";
120
+ } from "./chunk-FFTPXXNU.js";
121
121
  import {
122
122
  runOpenPondServerCli
123
- } from "./chunk-YGYO5AQF.js";
123
+ } from "./chunk-TGXBIUAR.js";
124
124
  import {
125
125
  createAppServer,
126
126
  runAgentCompaction
@@ -166,7 +166,7 @@ import {
166
166
  runCommand,
167
167
  startMacOSCommandLineToolsInstall,
168
168
  workspaceImageContentType
169
- } from "./chunk-V7CBYHXO.js";
169
+ } from "./chunk-MMUU5J64.js";
170
170
  import {
171
171
  APP_PREFERENCES_CACHE_KEY,
172
172
  APP_PREFERENCES_CACHE_TYPE,
@@ -178,7 +178,7 @@ import {
178
178
  isCliEntrypoint,
179
179
  now,
180
180
  textFromUnknown
181
- } from "./chunk-LOYP2CAV.js";
181
+ } from "./chunk-OW3B5BRD.js";
182
182
  import {
183
183
  AccountStateSchema,
184
184
  AdapterValidationReceiptSchema,
@@ -45,8 +45,8 @@ import {
45
45
  truncatePatch,
46
46
  uniqueSortedPaths,
47
47
  workspaceImageContentType
48
- } from "./chunk-V7CBYHXO.js";
49
- import "./chunk-LOYP2CAV.js";
48
+ } from "./chunk-MMUU5J64.js";
49
+ import "./chunk-OW3B5BRD.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-332SNX3U.js"),
74
- import("./chunks/cli-WGGGZFLN.js")
73
+ import("./chunks/app-server-runtime-VKUKAGJF.js"),
74
+ import("./chunks/cli-IL3DJI7D.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-U7KRR6II.js"),
83
- import("./chunks/cli-WGGGZFLN.js")
82
+ import("./chunks/src-G5WGKMQZ.js"),
83
+ import("./chunks/cli-IL3DJI7D.js")
84
84
  ]);
85
- const { createOpenPondAppServer } = await import("./chunks/app-server-runtime-332SNX3U.js");
85
+ const { createOpenPondAppServer } = await import("./chunks/app-server-runtime-VKUKAGJF.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.53",
3
+ "version": "0.0.54",
4
4
  "openpondReleaseVersioned": true,
5
5
  "license": "MIT",
6
6
  "description": "OpenPond CLI and local harness",