openpond 0.0.62 → 0.0.63
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.
- package/dist/chunks/{app-layer-MSLVVYLM.js → app-layer-TUAFALOE.js} +2 -2
- package/dist/chunks/{app-server-runtime-BRG7A5VD.js → app-server-runtime-O26LVUYH.js} +6 -6
- package/dist/chunks/{apps-6PAXKTB5.js → apps-KSZRA7Y2.js} +2 -2
- package/dist/chunks/{chunk-MBF44RYK.js → chunk-66KQLYSH.js} +1 -1
- package/dist/chunks/{chunk-KMBJLBQH.js → chunk-6FKBOGA4.js} +1 -1
- package/dist/chunks/{chunk-FYB6ELFM.js → chunk-7IFPXSSJ.js} +1 -1
- package/dist/chunks/{chunk-6JT34APP.js → chunk-7UVEB2AZ.js} +2 -2
- package/dist/chunks/{chunk-BFAL2CV3.js → chunk-IXA5PMXC.js} +1 -1
- package/dist/chunks/{chunk-IY2AW5F3.js → chunk-JTFDOA2P.js} +29 -13
- package/dist/chunks/{chunk-T4FMK5GN.js → chunk-KGU437HZ.js} +1 -1
- package/dist/chunks/{chunk-64LYEFLR.js → chunk-LEL5AQJU.js} +1 -1
- package/dist/chunks/{chunk-4NHAH3MT.js → chunk-V2CTXKS2.js} +70 -47
- package/dist/chunks/{chunk-GMX47RLP.js → chunk-YDH34BGG.js} +32 -32
- package/dist/chunks/{cli-L25X2EZL.js → cli-LPFU4ULD.js} +5 -5
- package/dist/chunks/{core-commands-STKFZZVR.js → core-commands-OEOBYFIW.js} +3 -3
- package/dist/chunks/{desktop-test-ACKJN4UV.js → desktop-test-BRLZF3O7.js} +2 -2
- package/dist/chunks/{extension-MVWXKSAD.js → extension-5BUCIDKG.js} +1 -1
- package/dist/chunks/{help-4MQ4EOIS.js → help-MT6VPW4X.js} +1 -1
- package/dist/chunks/{opchat-DUIZT4G6.js → opchat-O4DVKNFW.js} +2 -2
- package/dist/chunks/{organizations-ATM4CZII.js → organizations-ACNOJ57Q.js} +4 -4
- package/dist/chunks/{profile-5H3GF252.js → profile-7LLWXAJE.js} +2 -2
- package/dist/chunks/{project-agent-RSKSO5GT.js → project-agent-RVYQYTU2.js} +2 -2
- package/dist/chunks/{sandbox-command-MTYSZR6P.js → sandbox-command-QST23BX5.js} +2 -2
- package/dist/chunks/{sandbox-template-RZ5AJ4KB.js → sandbox-template-N7UG3P6V.js} +3 -3
- package/dist/chunks/{src-PW337SIJ.js → src-CPM5Q7T5.js} +3 -3
- package/dist/chunks/{src-WKH7EP7W.js → src-M37V6NVU.js} +7 -7
- package/dist/chunks/{teams-bot-FF3LDAYL.js → teams-bot-ITTI47XS.js} +2 -2
- package/dist/chunks/{workspaces-QKADU2A6.js → workspaces-CYBR37US.js} +2 -2
- package/dist/cli.js +13 -13
- package/dist/web/assets/{AppDialog-1RkKL2v6.js → AppDialog-wIb8mGQ0.js} +1 -1
- package/dist/web/assets/{AppsView-B6hDEt-h.js → AppsView-D097dPIV.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-CkAMOgiq.js → BrowserSidebar-DrD-o_yB.js} +1 -1
- package/dist/web/assets/{CommandMenu-9oAkS4X3.js → CommandMenu-L5LelA2h.js} +1 -1
- package/dist/web/assets/{CommunityView-Dyuq5N28.js → CommunityView-DUJ8NryS.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-D91cw5AT.js → ComposerCreateImproveStrip-BP-7DmQG.js} +1 -1
- package/dist/web/assets/{GetStartedView-BZpcZgjB.js → GetStartedView-B7gB6Hii.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-C0jNkciw.js → LabModelVersionDetailPage-CNDz2a6I.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-JGCPqTB1.js → LabSkillSidebar-BImOQcjk.js} +1 -1
- package/dist/web/assets/{LabsRoute-Dpv5Haqy.js → LabsRoute-BauSK1is.js} +3 -3
- package/dist/web/assets/{MainChatThread-B4_iIn3g.js → MainChatThread-BZvAqQO6.js} +2 -2
- package/dist/web/assets/MainPane-CuhwxMxg.js +6 -0
- package/dist/web/assets/{MarkdownText-DgS9KdyT.js → MarkdownText-gwAue4u5.js} +1 -1
- package/dist/web/assets/{Messages-DjMa9H1T.js → Messages-DijmQL-z.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-Q3fwLOiO.js → NativeSkillSidebar-aCkrdGa0.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-CUb0umRT.js → NewProjectDialog-D98WIQzr.js} +1 -1
- package/dist/web/assets/{OutputsPage-DD_1STRQ.js → OutputsPage-BA0c6cfy.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-2dFyjK7Z.js → RightChatPanelStack-DKDEmrEH.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-DPjweWpP.js → ScheduledWorkPage-DeHi99mv.js} +1 -1
- package/dist/web/assets/{SettingsView-DJGgGPL0.js → SettingsView--fL3Ecuy.js} +3 -3
- package/dist/web/assets/TeamChatView-D2mCoLZ3.js +3 -0
- package/dist/web/assets/{TerminalOverlay-CpjrArXn.js → TerminalOverlay-BHMsVp4L.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-Tbj3qk8-.js → TrainingCreationPanel-CPnMWgkt.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-BhggD-hn.js → TrainingDraftPanel-0scEtzSW.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CXM6LKim.js → UsageSettingsSection-COoCLLg6.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-CoMkI8dY.js → WorkspaceDiffPanel-BFTwZ_dB.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-CZyjk82C.js → WorkspaceEnvironmentMenu-DFlkdd9T.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-DTj3DOsf.js → WorkspaceGitDialogs-Dt3LO27Z.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-DaNMLEnU.js → WorkspaceMonacoEditor-3g05teoR.js} +3 -3
- package/dist/web/assets/{arrow-up-right-wvL_rSwe.js → arrow-up-right-DYGSWA2J.js} +1 -1
- package/dist/web/assets/{chevron-up-BbyiUcq_.js → chevron-up-4qfvI9iW.js} +1 -1
- package/dist/web/assets/{cloud-upload-Bgv1fA6E.js → cloud-upload-COReKxOy.js} +1 -1
- package/dist/web/assets/{cssMode-BG9jdNNX.js → cssMode-BbH67BYF.js} +1 -1
- package/dist/web/assets/{folder-open-CRAYp6pW.js → folder-open-9OjGqNgP.js} +1 -1
- package/dist/web/assets/{folder-plus-BgsuJVU0.js → folder-plus-DF5E6zr3.js} +1 -1
- package/dist/web/assets/{git-branch-CicxCU5U.js → git-branch-eCwyZXMl.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-BRkwl6bp.js → git-commit-horizontal-cPm51DqY.js} +1 -1
- package/dist/web/assets/{htmlMode-B69EEM3s.js → htmlMode-DD6Oge4x.js} +1 -1
- package/dist/web/assets/{index-Dcpm2LlR.js → index-BO2W2U23.js} +46 -46
- package/dist/web/assets/index-BRLugX1S.js +1 -0
- package/dist/web/assets/{index-Bt9mPk1q.css → index-Y7IoiSlQ.css} +1 -1
- package/dist/web/assets/{info-BxhCcEsF.js → info-p1mFpqBI.js} +1 -1
- package/dist/web/assets/{jsonMode-D0tzZkp2.js → jsonMode-C2Xd56A_.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-DFpYfxMH.js → lspLanguageFeatures-BjYEk4gJ.js} +1 -1
- package/dist/web/assets/{monaco.contribution-K53jgqut.js → monaco.contribution-Bo-5m7yy.js} +2 -2
- package/dist/web/assets/{monaco.contribution-lS_l56Q7.js → monaco.contribution-C7WMqwmc.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BzGRrg8l.js → monaco.contribution-DzWlEgU1.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BFP-1c-A.js → monaco.contribution-quEPEMQZ.js} +2 -2
- package/dist/web/assets/{play-B8en8HVG.js → play-Ctx-iMqd.js} +1 -1
- package/dist/web/assets/{python-DPtRb2z3.js → python-Cm64qCpk.js} +1 -1
- package/dist/web/assets/{refresh-cw-CRZeaNu7.js → refresh-cw-Bn28jIl0.js} +1 -1
- package/dist/web/assets/{save-oO8erge1.js → save-BM5IQX65.js} +1 -1
- package/dist/web/assets/{square-CSULphDY.js → square-DAGpFfSr.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-CmDdOtfT.js → toggleHighContrast-DLW8Fnck.js} +1 -1
- package/dist/web/assets/{tsMode-B0TCT940.js → tsMode-BleUN_8S.js} +1 -1
- package/dist/web/assets/{upload-dz-oCLFE.js → upload-vaAKFfxi.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DPga1Kwi.js → useLocalAgentSchedules-Ccenbqf6.js} +1 -1
- package/dist/web/assets/{wifi-off-BZpON33U.js → wifi-off-DJA9KReb.js} +1 -1
- package/dist/web/assets/{workers-DXVEq1Aw.js → workers-CFG-afha.js} +1 -1
- package/dist/web/assets/{yaml-B8TBCEpi.js → yaml-Cs8iZKVC.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/MainPane-o4HIxmNz.js +0 -6
- package/dist/web/assets/TeamChatView-CZmbzRk7.js +0 -3
- package/dist/web/assets/index-BGdmnwp7.js +0 -1
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
} from "./chunk-J2REM7LE.js";
|
|
5
5
|
import {
|
|
6
6
|
CliUsageError
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LEL5AQJU.js";
|
|
8
8
|
import "./chunk-SMNFI2FU.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-YDH34BGG.js";
|
|
10
10
|
import "./chunk-K4JEWEJQ.js";
|
|
11
11
|
import "./chunk-JGOP4GCK.js";
|
|
12
12
|
import "./chunk-DBHSOTYZ.js";
|
|
@@ -2,14 +2,14 @@ import { createRequire as __openpondCreateRequire } from "node:module"; var requ
|
|
|
2
2
|
import {
|
|
3
3
|
APP_SERVER_COMPOSITION,
|
|
4
4
|
createOpenPondAppServer
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-V2CTXKS2.js";
|
|
6
|
+
import "./chunk-66KQLYSH.js";
|
|
7
7
|
import "./chunk-OYWTQABY.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-7IFPXSSJ.js";
|
|
9
|
+
import "./chunk-IXA5PMXC.js";
|
|
10
|
+
import "./chunk-KGU437HZ.js";
|
|
11
11
|
import "./chunk-QETF6ILG.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-JTFDOA2P.js";
|
|
13
13
|
import "./chunk-WYDVQOBL.js";
|
|
14
14
|
import "./chunk-JGOP4GCK.js";
|
|
15
15
|
import "./chunk-UACZUFIA.js";
|
|
@@ -11,12 +11,12 @@ import {
|
|
|
11
11
|
pollDeploymentLogs,
|
|
12
12
|
resolveAppTarget
|
|
13
13
|
} from "./chunk-J2REM7LE.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-LEL5AQJU.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveBaseUrl,
|
|
17
17
|
resolvePublicApiBaseUrl
|
|
18
18
|
} from "./chunk-SMNFI2FU.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-YDH34BGG.js";
|
|
20
20
|
import "./chunk-K4JEWEJQ.js";
|
|
21
21
|
import "./chunk-JGOP4GCK.js";
|
|
22
22
|
import {
|
|
@@ -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-
|
|
4
|
+
} from "./chunk-7IFPXSSJ.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.
|
|
6
|
+
var VERSION = "0.0.63";
|
|
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  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";
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
DEFAULT_HOST,
|
|
7
7
|
DEFAULT_PORT,
|
|
8
8
|
parseListen
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7IFPXSSJ.js";
|
|
10
10
|
import {
|
|
11
11
|
getBundledRuntimeVersion,
|
|
12
12
|
openUrlWithSystemBrowser
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-IXA5PMXC.js";
|
|
14
14
|
|
|
15
15
|
// ../server/src/cli.ts
|
|
16
16
|
import { existsSync } from "node:fs";
|
|
@@ -2869,10 +2869,22 @@ var HarnessRefinerCapabilitiesSchema = external_exports.object({
|
|
|
2869
2869
|
agent: external_exports.boolean()
|
|
2870
2870
|
}).strict();
|
|
2871
2871
|
var SourceKindSchema = external_exports.enum(["memory", "instruction", "skill", "agent"]);
|
|
2872
|
+
var RefinerSourceFileSchema = external_exports.object({
|
|
2873
|
+
path: external_exports.string().trim().min(1).max(2e3),
|
|
2874
|
+
kind: SourceKindSchema,
|
|
2875
|
+
content: external_exports.string().max(6e4),
|
|
2876
|
+
loaded: external_exports.boolean()
|
|
2877
|
+
}).strict();
|
|
2878
|
+
var RefinerSourceCatalogEntrySchema = external_exports.object({
|
|
2879
|
+
path: external_exports.string().trim().min(1).max(2e3),
|
|
2880
|
+
kind: SourceKindSchema,
|
|
2881
|
+
loaded: external_exports.boolean()
|
|
2882
|
+
}).strict();
|
|
2872
2883
|
var LocalHarnessRefinerEvidenceSchema = external_exports.object({
|
|
2873
2884
|
capabilities: HarnessRefinerCapabilitiesSchema,
|
|
2874
2885
|
trigger: external_exports.record(external_exports.string(), external_exports.unknown()),
|
|
2875
2886
|
observations: external_exports.array(external_exports.record(external_exports.string(), external_exports.unknown())).max(20),
|
|
2887
|
+
admissibleEvidenceIds: external_exports.array(external_exports.string().trim().min(1).max(2e3)).max(1e4),
|
|
2876
2888
|
reviewPacket: external_exports.object({
|
|
2877
2889
|
currentTurn: external_exports.object({
|
|
2878
2890
|
id: external_exports.string().trim().min(1).max(2e3),
|
|
@@ -2908,17 +2920,15 @@ var LocalHarnessRefinerEvidenceSchema = external_exports.object({
|
|
|
2908
2920
|
timelineTruncated: external_exports.boolean()
|
|
2909
2921
|
}).strict()
|
|
2910
2922
|
}).strict(),
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
loaded: external_exports.boolean()
|
|
2921
|
-
}).strict()).max(1e3),
|
|
2923
|
+
runtimeActivation: external_exports.object({
|
|
2924
|
+
admittedRelease: ImmutableReleaseRefSchema,
|
|
2925
|
+
currentRelease: ImmutableReleaseRefSchema,
|
|
2926
|
+
rebasedOntoCurrent: external_exports.boolean(),
|
|
2927
|
+
admittedSourceFiles: external_exports.array(RefinerSourceFileSchema).max(100),
|
|
2928
|
+
admittedSourceCatalog: external_exports.array(RefinerSourceCatalogEntrySchema).max(1e3)
|
|
2929
|
+
}).strict(),
|
|
2930
|
+
sourceFiles: external_exports.array(RefinerSourceFileSchema).max(100),
|
|
2931
|
+
sourceCatalog: external_exports.array(RefinerSourceCatalogEntrySchema).max(1e3),
|
|
2922
2932
|
additionalEvidence: external_exports.unknown().nullable().optional()
|
|
2923
2933
|
}).strict();
|
|
2924
2934
|
var DEFAULT_REFINER_TIMEOUT_MS = 6e4;
|
|
@@ -2953,6 +2963,7 @@ async function authorLocalHarnessRefinementWithModel(input) {
|
|
|
2953
2963
|
"Reject invented recurrence, unsupported evidence references, material counterevidence, unavailable capability layers, task-specific or benchmark content, inferred memory, broad instructions, and workarounds for runtime, product, taskset, or grader defects.",
|
|
2954
2964
|
"Do not reject a concise correction merely because the deterministic failure appeared once when the mechanism and reusable prevention are clear.",
|
|
2955
2965
|
"For adaptation cohorts, reject drafts that add work instead of removing the repeated foreground-token cost while preserving quality.",
|
|
2966
|
+
`Copy supportingEvidenceIds only from this exact list: ${JSON.stringify(evidence2.admissibleEvidenceIds)}.`,
|
|
2956
2967
|
...draftAdmissionIssues.length ? [`The draft also failed deterministic admission: ${draftAdmissionIssues.join("; ")}. Correct it or return no_action.`] : [],
|
|
2957
2968
|
draft.decision === "no_action" ? "Return no_action only if you can identify no concrete reusable prevention rule in the supplied recovery evidence. Otherwise return the smallest valid route or proposal." : "Return the complete final JSON decision. Use no_action or route when the proposed Harness edit does not survive this critique."
|
|
2958
2969
|
].join("\n")
|
|
@@ -3024,10 +3035,12 @@ function refinerMessages(evidence2) {
|
|
|
3024
3035
|
"A taskset grade proves only the measured outcome. It does not prove that the root owner is the Harness rather than runtime, product, fixture, grader, taskset, or model behavior.",
|
|
3025
3036
|
"Optimize future work, not the completed turn. A repeated avoidable strategy is strong evidence, but one high-confidence deterministic failure may justify a small validated correction when the failure mechanism and reusable prevention are both clear. Recurrence strengthens confidence; it is not universally required.",
|
|
3026
3037
|
"Recovered internal mistakes are not automatically ordinary successful work. A concrete API mismatch, incompatible dependency or format, or repeated command construction error can justify a narrow preventive skill or prompt correction when the trace shows how to avoid it next time.",
|
|
3038
|
+
"runtimeActivation is authoritative about activation timing. admittedSourceFiles describe the exact released source available to the reviewed turn. sourceFiles and sourceCatalog describe the current editable release. When rebasedOntoCurrent is true, do not claim a current-only instruction was loaded by the reviewed turn.",
|
|
3027
3039
|
"When the supplied trace shows that the model violated an already-loaded Harness instruction before recovering, the instruction's existence is not counterevidence. Treat that as evidence that its current wording, placement, or operational form was ineffective. Evaluate the smallest non-duplicative change that makes the rule actionable at the decision point, such as a concise preflight or checklist. Do not merely restate the existing rule.",
|
|
3040
|
+
"For command, API, or structured-output construction failures, prefer an observable invariant over a vague reminder: name the forbidden combination precisely, state where it is forbidden, remove ambiguous qualifiers, and include one valid alternative when the evidence proves it. A post-activation recurrence should strengthen the operational form rather than duplicate the same wording in another file.",
|
|
3028
3041
|
crossRunCandidate ? "This is a bounded cross-Work candidate continuation. Verify the supplied candidate, review, authorization, admitted release, independent occurrences, and counterevidence. Use recurrent_independent only; do not reinterpret unrelated wording as recurrence." : "This is an immediate completed-turn review, not an unbounded cross-Work archive review. Use only supplied observations and priorIncidents. Defer ambiguous recurrence to recurring-pattern review.",
|
|
3029
3042
|
"Every route or proposal must declare evidenceBasis. Use single_deterministic only when a supplied incident exposes an observed deterministic mechanism and reusable prevention rule with no material counterevidence. Use recurrent_independent only for at least two materially independent supplied incidents; similar wording, topic, tool name, or artifact family is not independence.",
|
|
3030
|
-
"supportingEvidenceIds must
|
|
3043
|
+
"supportingEvidenceIds must copy exact values from admissibleEvidenceIds. Do not synthesize labels from timeline sequences, event names, tools, or descriptions. List material counterevidence explicitly. Never invent recurrence or omit contradictory supplied evidence.",
|
|
3031
3044
|
"Use no_action for ordinary successful work, conversation-specific facts, or insufficient evidence. High token use alone is not a reason to edit the Harness.",
|
|
3032
3045
|
"Use route whenever a runtime, product, taskset, or training defect materially prevented the requested outcome. Routing records ownership; it does not blame the agent and does not require recurrence. A good fallback, transparent disclosure, or likely transient outage does not erase the external defect.",
|
|
3033
3046
|
"For a Harness proposal, encode only the reusable root behavior. Do not copy subject matter, named entities, business facts, requested artifact content, benchmark wording, secrets, raw user data, or transient paths.",
|
|
@@ -3098,7 +3111,10 @@ function decisionAdmissionIssues(decision2, evidence2) {
|
|
|
3098
3111
|
return issues;
|
|
3099
3112
|
}
|
|
3100
3113
|
function suppliedEvidenceIds(evidence2) {
|
|
3101
|
-
const ids = /* @__PURE__ */ new Set([
|
|
3114
|
+
const ids = /* @__PURE__ */ new Set([
|
|
3115
|
+
evidence2.reviewPacket.currentTurn.id,
|
|
3116
|
+
...evidence2.admissibleEvidenceIds
|
|
3117
|
+
]);
|
|
3102
3118
|
for (const item of evidence2.observations)
|
|
3103
3119
|
addRecordId(ids, item);
|
|
3104
3120
|
for (const item of evidence2.reviewPacket.priorIncidents)
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
truncatePatch,
|
|
12
12
|
uniqueSortedPaths,
|
|
13
13
|
workspaceImageContentType
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-66KQLYSH.js";
|
|
15
15
|
import {
|
|
16
16
|
AGENT_PROTOCOL_VERSION,
|
|
17
17
|
AGENT_RPC_METHODS,
|
|
@@ -35,13 +35,13 @@ import {
|
|
|
35
35
|
event,
|
|
36
36
|
now,
|
|
37
37
|
textFromUnknown
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-7IFPXSSJ.js";
|
|
39
39
|
import {
|
|
40
40
|
getBundledRuntimeVersion,
|
|
41
41
|
loadOpenPondAccountContext,
|
|
42
42
|
loadOpenPondHostedModels,
|
|
43
43
|
streamOpenPondHostedChatTurn
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-IXA5PMXC.js";
|
|
45
45
|
import {
|
|
46
46
|
AppPreferencesSchema,
|
|
47
47
|
ApplyCreateImproveRunActionRequestSchema,
|
|
@@ -162,7 +162,7 @@ import {
|
|
|
162
162
|
runProfileSkillCommand,
|
|
163
163
|
sidebarFileBookmarkId,
|
|
164
164
|
workOutputMediaTypesCompatible
|
|
165
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-KGU437HZ.js";
|
|
166
166
|
import {
|
|
167
167
|
PROJECT_ACTION_CONFIG_PATH,
|
|
168
168
|
createLocalActionRunner,
|
|
@@ -271,7 +271,7 @@ import {
|
|
|
271
271
|
uniqueEventRefs,
|
|
272
272
|
validateConnectedAppProviderOperationRequest,
|
|
273
273
|
verifyRequiredOutputs
|
|
274
|
-
} from "./chunk-
|
|
274
|
+
} from "./chunk-JTFDOA2P.js";
|
|
275
275
|
import {
|
|
276
276
|
external_exports
|
|
277
277
|
} from "./chunk-WYDVQOBL.js";
|
|
@@ -7915,7 +7915,6 @@ async function loadLocalHarnessRuntimeFromRelease(input) {
|
|
|
7915
7915
|
}))
|
|
7916
7916
|
);
|
|
7917
7917
|
const skills = [];
|
|
7918
|
-
const skillContexts = [];
|
|
7919
7918
|
const readers = /* @__PURE__ */ new Map();
|
|
7920
7919
|
for (const asset3 of release.agentSnapshot.skills) {
|
|
7921
7920
|
const markdown = await readVerifiedAsset(sourceRoot, asset3.path, asset3.contentHash);
|
|
@@ -7942,11 +7941,6 @@ async function loadLocalHarnessRuntimeFromRelease(input) {
|
|
|
7942
7941
|
resourceFiles
|
|
7943
7942
|
};
|
|
7944
7943
|
skills.push(skill);
|
|
7945
|
-
skillContexts.push([
|
|
7946
|
-
`Harness Skill (${asset3.path}, ${parsed.name}):`,
|
|
7947
|
-
parsed.description,
|
|
7948
|
-
parsed.body.trim()
|
|
7949
|
-
].filter(Boolean).join("\n"));
|
|
7950
7944
|
readers.set(skill.name, async () => {
|
|
7951
7945
|
const currentMarkdown = await readVerifiedAsset(sourceRoot, asset3.path, asset3.contentHash);
|
|
7952
7946
|
const current = parseProfileSkillMarkdown(currentMarkdown);
|
|
@@ -7975,20 +7969,10 @@ async function loadLocalHarnessRuntimeFromRelease(input) {
|
|
|
7975
7969
|
return read();
|
|
7976
7970
|
} : null
|
|
7977
7971
|
};
|
|
7978
|
-
const agents = await Promise.all(
|
|
7979
|
-
release.agentSnapshot.agents.map(async (asset3) => ({
|
|
7980
|
-
path: asset3.path,
|
|
7981
|
-
content: await readVerifiedAsset(sourceRoot, asset3.path, asset3.contentHash)
|
|
7982
|
-
}))
|
|
7983
|
-
);
|
|
7984
7972
|
const instructionSections = instructions.sort((left, right) => left.path.localeCompare(right.path)).map(({ path: instructionPath, content }) => [
|
|
7985
|
-
`Harness instruction (${instructionPath}):`,
|
|
7973
|
+
`Active Harness instruction (${instructionPath}):`,
|
|
7986
7974
|
content.trim()
|
|
7987
7975
|
].join("\n")).filter((content) => content.trim().length > 0);
|
|
7988
|
-
const agentSections = agents.sort((left, right) => left.path.localeCompare(right.path)).map(({ path: agentPath, content }) => [
|
|
7989
|
-
`Harness Agent (${agentPath}):`,
|
|
7990
|
-
content.trim()
|
|
7991
|
-
].join("\n"));
|
|
7992
7976
|
const capabilityReceipt = [
|
|
7993
7977
|
"Harness capability receipt:",
|
|
7994
7978
|
JSON.stringify({
|
|
@@ -8011,11 +7995,14 @@ async function loadLocalHarnessRuntimeFromRelease(input) {
|
|
|
8011
7995
|
})
|
|
8012
7996
|
].join("\n");
|
|
8013
7997
|
const instructionContext = [
|
|
8014
|
-
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
7998
|
+
capabilityReceipt,
|
|
7999
|
+
instructionSections.length > 0 ? [
|
|
8000
|
+
"Active Harness preflight:",
|
|
8001
|
+
"Apply the following released instructions when planning work and immediately before every tool call.",
|
|
8002
|
+
"Preflight each call: (1) identify any active instruction that matches the planned operation, (2) inspect the exact tool arguments for a forbidden pattern, and (3) rewrite the call before sending it when a pattern matches. Compliance is required even when the prohibited call might still succeed.",
|
|
8003
|
+
...instructionSections
|
|
8004
|
+
].join("\n\n") : null
|
|
8005
|
+
].filter((content) => Boolean(content?.trim())).join("\n\n");
|
|
8019
8006
|
return { workspace, release, instructionContext, skillRuntime };
|
|
8020
8007
|
}
|
|
8021
8008
|
async function readVerifiedAsset(sourceRoot, relativePath, expectedHash) {
|
|
@@ -8676,8 +8663,10 @@ async function loadExactObservations(store, workspaceId, trigger) {
|
|
|
8676
8663
|
return observation;
|
|
8677
8664
|
});
|
|
8678
8665
|
}
|
|
8679
|
-
async function readBoundedRefinerSource(bundlePath, trigger) {
|
|
8666
|
+
async function readBoundedRefinerSource(bundlePath, trigger, options = {}) {
|
|
8680
8667
|
const loadedSkillNames = loadedSkillNamesFromTrigger(trigger);
|
|
8668
|
+
const sourceWasAdmitted = options.forceUnloaded !== true;
|
|
8669
|
+
const wasLoaded = (kind, filePath) => sourceWasAdmitted && (kind === "instruction" || kind === "skill" && loadedSkillNames.has(skillNameFromPath(filePath)));
|
|
8681
8670
|
const sourceRoot = path7.resolve(bundlePath, "source");
|
|
8682
8671
|
const manifest = HarnessSourceManifestSchema.parse(
|
|
8683
8672
|
JSON.parse(await fs6.readFile(path7.join(sourceRoot, "harness.json"), "utf8"))
|
|
@@ -8689,11 +8678,11 @@ async function readBoundedRefinerSource(bundlePath, trigger) {
|
|
|
8689
8678
|
).map((file) => ({
|
|
8690
8679
|
path: file.path,
|
|
8691
8680
|
kind: file.kind,
|
|
8692
|
-
loaded: file.kind
|
|
8681
|
+
loaded: wasLoaded(file.kind, file.path)
|
|
8693
8682
|
}));
|
|
8694
8683
|
const rankedFiles = manifest.files.slice().sort((left, right) => {
|
|
8695
|
-
const leftLoaded =
|
|
8696
|
-
const rightLoaded =
|
|
8684
|
+
const leftLoaded = ["instruction", "skill", "agent"].includes(left.kind) && wasLoaded(left.kind, left.path);
|
|
8685
|
+
const rightLoaded = ["instruction", "skill", "agent"].includes(right.kind) && wasLoaded(right.kind, right.path);
|
|
8697
8686
|
if (leftLoaded !== rightLoaded) return leftLoaded ? -1 : 1;
|
|
8698
8687
|
const rank = (kind) => kind === "instruction" ? 0 : kind === "skill" ? 1 : 2;
|
|
8699
8688
|
return rank(left.kind) - rank(right.kind) || left.path.localeCompare(right.path);
|
|
@@ -8711,7 +8700,7 @@ async function readBoundedRefinerSource(bundlePath, trigger) {
|
|
|
8711
8700
|
path: file.path,
|
|
8712
8701
|
kind: file.kind,
|
|
8713
8702
|
content: bytes.toString("utf8"),
|
|
8714
|
-
loaded: file.kind
|
|
8703
|
+
loaded: wasLoaded(file.kind, file.path)
|
|
8715
8704
|
});
|
|
8716
8705
|
remaining -= bytes.byteLength;
|
|
8717
8706
|
}
|
|
@@ -9312,6 +9301,33 @@ function withoutHash(candidate) {
|
|
|
9312
9301
|
return content;
|
|
9313
9302
|
}
|
|
9314
9303
|
|
|
9304
|
+
// ../server/src/harness/local-harness-refiner-release-context.ts
|
|
9305
|
+
async function loadRefinerReleaseContext(input) {
|
|
9306
|
+
const effectiveReleaseRef = input.rebasedOntoCurrent ? input.workspace.currentChannel.release : input.overlay.baseHarnessRelease;
|
|
9307
|
+
if (!effectiveReleaseRef) {
|
|
9308
|
+
throw new Error("Queued Refiner trigger references a Harness workspace without a current release.");
|
|
9309
|
+
}
|
|
9310
|
+
const release = await input.store.getHarnessReleaseRecord(
|
|
9311
|
+
effectiveReleaseRef.contentHash
|
|
9312
|
+
);
|
|
9313
|
+
if (!release || release.harnessRelease.id !== effectiveReleaseRef.id || release.workspaceId !== input.workspace.id) {
|
|
9314
|
+
throw new Error("Queued Refiner trigger references an unavailable effective Harness release.");
|
|
9315
|
+
}
|
|
9316
|
+
const source = await readBoundedRefinerSource(
|
|
9317
|
+
release.bundlePath,
|
|
9318
|
+
input.trigger,
|
|
9319
|
+
{ forceUnloaded: input.rebasedOntoCurrent }
|
|
9320
|
+
);
|
|
9321
|
+
const admittedRelease = input.rebasedOntoCurrent ? await input.store.getHarnessReleaseRecord(
|
|
9322
|
+
input.overlay.baseHarnessRelease.contentHash
|
|
9323
|
+
) : release;
|
|
9324
|
+
if (!admittedRelease || admittedRelease.harnessRelease.id !== input.overlay.baseHarnessRelease.id || admittedRelease.workspaceId !== input.workspace.id) {
|
|
9325
|
+
throw new Error("Queued Refiner trigger references an unavailable admitted Harness release.");
|
|
9326
|
+
}
|
|
9327
|
+
const admittedSource = input.rebasedOntoCurrent ? await readBoundedRefinerSource(admittedRelease.bundlePath, input.trigger) : source;
|
|
9328
|
+
return { admittedSource, effectiveReleaseRef, release, source };
|
|
9329
|
+
}
|
|
9330
|
+
|
|
9315
9331
|
// ../server/src/harness/local-harness-refiner-worker-support.ts
|
|
9316
9332
|
async function findRefinerOutcome(store, workspaceId, trigger) {
|
|
9317
9333
|
const outcomes = await store.listHarnessImprovementArtifacts(
|
|
@@ -9429,20 +9445,13 @@ async function executeLocalHarnessRefinerWorker(input) {
|
|
|
9429
9445
|
now: input.now
|
|
9430
9446
|
});
|
|
9431
9447
|
}
|
|
9432
|
-
const effectiveReleaseRef
|
|
9433
|
-
|
|
9434
|
-
|
|
9435
|
-
|
|
9436
|
-
|
|
9437
|
-
|
|
9438
|
-
);
|
|
9439
|
-
if (!release || release.harnessRelease.id !== effectiveReleaseRef.id || release.workspaceId !== workspace.id) {
|
|
9440
|
-
throw new Error("Queued Refiner trigger references an unavailable effective Harness release.");
|
|
9441
|
-
}
|
|
9442
|
-
const source = await readBoundedRefinerSource(
|
|
9443
|
-
release.bundlePath,
|
|
9444
|
-
trigger
|
|
9445
|
-
);
|
|
9448
|
+
const { admittedSource, effectiveReleaseRef, release, source } = await loadRefinerReleaseContext({
|
|
9449
|
+
store: input.store,
|
|
9450
|
+
workspace,
|
|
9451
|
+
overlay,
|
|
9452
|
+
trigger,
|
|
9453
|
+
rebasedOntoCurrent
|
|
9454
|
+
});
|
|
9446
9455
|
const memorySource = (await input.store.listHarnessMemories(workspace.id)).slice(0, 100).map((entry) => ({
|
|
9447
9456
|
path: `memory/${entry.key}`,
|
|
9448
9457
|
kind: "memory",
|
|
@@ -9464,11 +9473,25 @@ async function executeLocalHarnessRefinerWorker(input) {
|
|
|
9464
9473
|
skill: true,
|
|
9465
9474
|
agent: false
|
|
9466
9475
|
};
|
|
9476
|
+
const admissibleEvidenceIds = [
|
|
9477
|
+
...observations.map((observation) => observation.id),
|
|
9478
|
+
...boundedContext.reviewPacket.priorIncidents.flatMap(
|
|
9479
|
+
(incident) => typeof incident.id === "string" && incident.id.trim() ? [incident.id.trim()] : []
|
|
9480
|
+
)
|
|
9481
|
+
];
|
|
9467
9482
|
const refinerEvidence = {
|
|
9468
9483
|
capabilities,
|
|
9469
9484
|
trigger: boundedTriggerEvidence(trigger),
|
|
9470
9485
|
observations: observations.map(boundedObservationEvidence),
|
|
9486
|
+
admissibleEvidenceIds,
|
|
9471
9487
|
reviewPacket: boundedContext.reviewPacket,
|
|
9488
|
+
runtimeActivation: {
|
|
9489
|
+
admittedRelease: overlay.baseHarnessRelease,
|
|
9490
|
+
currentRelease: effectiveReleaseRef,
|
|
9491
|
+
rebasedOntoCurrent,
|
|
9492
|
+
admittedSourceFiles: admittedSource.files,
|
|
9493
|
+
admittedSourceCatalog: admittedSource.catalog
|
|
9494
|
+
},
|
|
9472
9495
|
sourceFiles: source.files,
|
|
9473
9496
|
sourceCatalog: source.catalog,
|
|
9474
9497
|
additionalEvidence: input.additionalEvidence ?? null
|
|
@@ -45294,7 +45317,7 @@ function uniqueEvidence2(run, evidence) {
|
|
|
45294
45317
|
}
|
|
45295
45318
|
async function verifyAppliedProfileCommit(input) {
|
|
45296
45319
|
const command = input.command ?? (async (name, args, cwd, env) => {
|
|
45297
|
-
const { runWorkspaceCommand } = await import("./workspaces-
|
|
45320
|
+
const { runWorkspaceCommand } = await import("./workspaces-CYBR37US.js");
|
|
45298
45321
|
return runWorkspaceCommand(name, args, cwd, env);
|
|
45299
45322
|
});
|
|
45300
45323
|
const result = await command("git", ["rev-parse", "HEAD"], input.repoPath);
|