openpond 0.0.68 → 0.0.69
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/{actions-command-DLOKFA34.js → actions-command-6N5XWMR6.js} +4 -4
- package/dist/chunks/{app-layer-K7NAOLDL.js → app-layer-EXXOWJ5H.js} +7 -7
- package/dist/chunks/{app-server-runtime-OFZZIWAB.js → app-server-runtime-7FBQBE3C.js} +10 -10
- package/dist/chunks/{apps-5VSVJLM7.js → apps-RZSDOFAG.js} +7 -7
- package/dist/chunks/{chunk-N6FKRVAT.js → chunk-47EIAYI7.js} +2 -2
- package/dist/chunks/{chunk-7FW2CVYN.js → chunk-4L3ZJS2T.js} +426 -1
- package/dist/chunks/{chunk-OOJP442J.js → chunk-5TKZBMQM.js} +1 -1
- package/dist/chunks/{chunk-WEB37YVJ.js → chunk-7C4OIFOC.js} +1 -1
- package/dist/chunks/{chunk-MUS7KPXK.js → chunk-BLFIIAWZ.js} +1931 -19
- package/dist/chunks/{chunk-3KLQ52B2.js → chunk-BVY5JYM6.js} +4 -9
- package/dist/chunks/{chunk-DBHSOTYZ.js → chunk-D7BO5Y5J.js} +3 -24
- package/dist/chunks/chunk-DLQQIWN2.js +648 -0
- package/dist/chunks/{chunk-T55IL3GI.js → chunk-DNXBJZAU.js} +1 -1
- package/dist/chunks/{chunk-KLD7NT5J.js → chunk-F36ZVO6U.js} +3 -3
- package/dist/chunks/{chunk-TSDVA7QP.js → chunk-FEOLMLYU.js} +8 -12
- package/dist/chunks/{chunk-QETF6ILG.js → chunk-FQS2QL5F.js} +359 -841
- package/dist/chunks/{chunk-J2REM7LE.js → chunk-HFPUR4CQ.js} +5 -116
- package/dist/chunks/{chunk-JIEUB6OS.js → chunk-J3YDKJFD.js} +1 -1
- package/dist/chunks/{chunk-JGOP4GCK.js → chunk-JTHL5XJ2.js} +5 -25
- package/dist/chunks/{chunk-OQLYO7TA.js → chunk-MMRJNSWY.js} +34 -81
- package/dist/chunks/{chunk-HFQHD35D.js → chunk-NPNIL6SQ.js} +1 -1
- package/dist/chunks/{chunk-IG72OKNB.js → chunk-OOM2PHBE.js} +2080 -16400
- package/dist/chunks/{chunk-PSGEH4FC.js → chunk-QTN6HXOR.js} +3 -3
- package/dist/chunks/{chunk-HNY7OSDY.js → chunk-SFMNGWNO.js} +1 -1
- package/dist/chunks/{chunk-TBEBLKCQ.js → chunk-WBAZFKC7.js} +3 -3
- package/dist/chunks/{chunk-NA4L2HQM.js → chunk-Y57RTLVV.js} +33 -33
- package/dist/chunks/{chunk-Z2ZWHU7O.js → chunk-YVCYVDNP.js} +1 -1
- package/dist/chunks/{cli-6WFY2ULA.js → cli-HIXVXM72.js} +8 -8
- package/dist/chunks/{core-commands-HQ3HL34W.js → core-commands-34SVH6ZQ.js} +8 -8
- package/dist/chunks/{desktop-test-RU6SRARQ.js → desktop-test-66DPBNJX.js} +7 -7
- package/dist/chunks/{extension-4KFKWMC4.js → extension-ZMRHCDO3.js} +36 -87
- package/dist/chunks/{help-ZUCPOR22.js → help-COHCZEP2.js} +1 -1
- package/dist/chunks/{opchat-AZX7SYM7.js → opchat-2PGW2GNN.js} +10 -18
- package/dist/chunks/{organizations-GV6Z7G4J.js → organizations-NZ4OY56V.js} +9 -9
- package/dist/chunks/{profile-TSLGZPUI.js → profile-GEMTRPUG.js} +11 -11
- package/dist/chunks/{project-agent-SHIQZWPY.js → project-agent-NX6YBGWC.js} +10 -10
- package/dist/chunks/{sandbox-command-TRS66NUT.js → sandbox-command-UEY53OJO.js} +8 -8
- package/dist/chunks/{sandbox-template-RVWXD5O3.js → sandbox-template-YKYRB645.js} +10 -10
- package/dist/chunks/{src-VUJ6EBOU.js → src-IXYDKOBI.js} +799 -965
- package/dist/chunks/{src-Q3BOITLJ.js → src-LKJBD5AM.js} +5 -5
- package/dist/chunks/{teams-bot-CLCMGBW5.js → teams-bot-K6KZHZJV.js} +7 -7
- package/dist/chunks/{workspaces-IIPITOCV.js → workspaces-WXM72UZF.js} +2 -2
- package/dist/cli.js +13 -13
- package/dist/index.js +15 -56
- package/dist/web/assets/App-BF9L0JUv.js +171 -0
- package/dist/web/assets/{AppDialog-sLTPiFGX.js → AppDialog-DX-xs3KA.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-B0NCyY4L.js → AppTerminalPanel-CYVj_ITT.js} +2 -2
- package/dist/web/assets/{AppsView-DyDyktK2.js → AppsView-ByjyGog7.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-C-PQxmQa.js → BrowserSidebar-BDwtMAZl.js} +1 -1
- package/dist/web/assets/{CartesianChart-CnerMhTr.js → CartesianChart-Dv6jJfPR.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-DJEp6dux.js → CollaborationTabs-CC5AIhMh.js} +1 -1
- package/dist/web/assets/{CommandMenu-B5lGz8rG.js → CommandMenu-Ct0Sx7yP.js} +1 -1
- package/dist/web/assets/{CommunityView-DQJaHBa5.js → CommunityView-C_zVE0jg.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-7hBR2bdV.js → ComposerCreateImproveStrip-CNn4OywM.js} +1 -1
- package/dist/web/assets/{GetStartedView-l1Cz1e7g.js → GetStartedView-DRFpHDLd.js} +1 -1
- package/dist/web/assets/LabModelVersionDetailPage-BzF-IVXQ.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-jlX5I_D5.js → LabSkillSidebar-B9jY4AgE.js} +1 -1
- package/dist/web/assets/{LabsRoute-D3w6nPSa.css → LabsRoute-CS_orT9s.css} +1 -1
- package/dist/web/assets/LabsRoute-Di1Zs4gZ.js +2 -0
- package/dist/web/assets/{MainChatThread-B1nXTMAf.js → MainChatThread-8VzlD8Hi.js} +2 -2
- package/dist/web/assets/{MainPane-DxVcMBFo.js → MainPane-StAOFINE.js} +3 -3
- package/dist/web/assets/{MarkdownText-B3njGyZS.js → MarkdownText-B8D_ftSJ.js} +1 -1
- package/dist/web/assets/{Messages-yBS4UHWl.js → Messages-TY62tiDp.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-DaD52aW1.js → NativeSkillSidebar-DjebFRoi.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-C7X_K5Xl.js → NewExperienceSwitcher-C-bJxHxY.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-NuPVF2Y7.js → NewProjectDialog-Cx8QcZm7.js} +1 -1
- package/dist/web/assets/{OutputsPage-Bmof4Tdv.js → OutputsPage-Y9HM-SHX.js} +1 -1
- package/dist/web/assets/{ProjectsPage-D7opg6ff.js → ProjectsPage-BBr58yKT.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-BzsNeSwx.js → RightChatPanelStack-DzUbDKwp.js} +1 -1
- package/dist/web/assets/{RightSidebarHomePanel-D8dAMHcp.js → RightSidebarHomePanel-Dx-1elSI.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-Dkjhof6t.js → ScheduledWorkPage-BuXw_W8b.js} +1 -1
- package/dist/web/assets/SettingsView-DB_zPHYY.js +6 -0
- package/dist/web/assets/{TeamChatView-DIxvrgai.js → TeamChatView-Bkyhu40R.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-Cd0Sp9LD.js → TerminalOverlay-CaCkZDzO.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-DACYaOny.js → TrainingCreationPanel-Vvi41WNT.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DBWJW8ZD.js → TrainingDraftPanel-C2C3hffI.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-B3sbqaUV.js → UsageSettingsSection-DpPBd-ra.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-D4yXQ64j.js → WorkSidebarPanel-CeWGboTh.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-CBgPVF1P.js → WorkspaceDiffPanel-D_zKOW4K.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-Bp-9V7Jq.js → WorkspaceEnvironmentMenu-BTz9FISP.js} +3 -3
- package/dist/web/assets/{WorkspaceGitDialogs-BxU5Uhpz.js → WorkspaceGitDialogs-BnBRUYpS.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-Db_sWYFt.js → WorkspaceMonacoEditor--GOVrHFp.js} +3 -3
- package/dist/web/assets/{activity-BzKyRXbd.js → activity-DA5DNQwD.js} +1 -1
- package/dist/web/assets/{arrow-up-right-DaIxkG4K.js → arrow-up-right-BRZWXpqJ.js} +1 -1
- package/dist/web/assets/{chat-file-links-wORSEipQ.js → chat-file-links-CgFHK89C.js} +1 -1
- package/dist/web/assets/chevron-up-DSv2auz_.js +1 -0
- package/dist/web/assets/{clipboard-BTRsPPaK.js → clipboard-dPd_3lpG.js} +1 -1
- package/dist/web/assets/{cloud-upload-BYXHJoKd.js → cloud-upload-DOwvN4hp.js} +1 -1
- package/dist/web/assets/{cssMode-Be446Wgi.js → cssMode-BM4j9M0D.js} +1 -1
- package/dist/web/assets/{folder-open-KtKTXn4w.js → folder-open-DavjPCw4.js} +1 -1
- package/dist/web/assets/{folder-plus-9-Xcli22.js → folder-plus-Dyqast6G.js} +1 -1
- package/dist/web/assets/{git-branch-CLGxzDjJ.js → git-branch-zKnZdQiX.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CmVYsUnh.js → git-commit-horizontal-s3X0cQlz.js} +1 -1
- package/dist/web/assets/{htmlMode-DTjTyBB_.js → htmlMode-Nlx7ckXa.js} +1 -1
- package/dist/web/assets/{index-DqWw2ymf.js → index-5-B6FIuE.js} +1 -1
- package/dist/web/assets/index-CQ3CPVHZ.css +1 -0
- package/dist/web/assets/index-CuoGlf-W.js +1 -0
- package/dist/web/assets/{info-BLmP4K0e.js → info-CVvrNOHr.js} +1 -1
- package/dist/web/assets/{jsonMode-Z-2iim-u.js → jsonMode-B7monA6g.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-Cr2iCfG2.js → lspLanguageFeatures-CcJ9GDtK.js} +1 -1
- package/dist/web/assets/{minimize-2-CWA6iO3r.js → minimize-2-O1DnznGK.js} +1 -1
- package/dist/web/assets/{monaco.contribution-YhqlKmCp.js → monaco.contribution-2PozfA9g.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BtMcDmCM.js → monaco.contribution-BMAF2bmO.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Cac9eBUk.js → monaco.contribution-BSJ2jQTi.js} +2 -2
- package/dist/web/assets/{monaco.contribution-NtjNqMdv.js → monaco.contribution-QOOCizYq.js} +2 -2
- package/dist/web/assets/{play-DYSQH2rx.js → play-BpCc5ZbR.js} +1 -1
- package/dist/web/assets/{python-CNqOWXNv.js → python-BK41iew-.js} +1 -1
- package/dist/web/assets/{refresh-cw-DMysDKOA.js → refresh-cw-Csoy1ev1.js} +1 -1
- package/dist/web/assets/{save-HPZ4ZiDi.js → save-Dbztj0W7.js} +1 -1
- package/dist/web/assets/{square-D-mpY1a-.js → square-ju7fWa0W.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-Bccdn3Qi.js → toggleHighContrast-DrmwDpyz.js} +1 -1
- package/dist/web/assets/{tsMode-BhcKJxhG.js → tsMode-CFgCMr7d.js} +1 -1
- package/dist/web/assets/{upload-DE7xaWVj.js → upload-C5nhiSMq.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-C0J--_MD.js → useLocalAgentSchedules-LAsobERb.js} +1 -1
- package/dist/web/assets/{wifi-off-CrCfhll9.js → wifi-off-BHxh2UbA.js} +1 -1
- package/dist/web/assets/{workers-DCaGzukk.js → workers-FKb-NyBI.js} +1 -1
- package/dist/web/assets/{yaml-CCfH63KB.js → yaml-C5DbF9S6.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/api/vercel-protection.d.ts +0 -1
- package/dist/chunks/chunk-MLWNI3WG.js +0 -15395
- package/dist/web/assets/App-D7vhbyMO.js +0 -171
- package/dist/web/assets/LabModelVersionDetailPage-D2PfI3-r.js +0 -1
- package/dist/web/assets/LabsRoute-VOgPrf94.js +0 -2
- package/dist/web/assets/SettingsView-CWTAUy2b.js +0 -6
- package/dist/web/assets/chevron-up-C8-qSzck.js +0 -1
- package/dist/web/assets/index-AzqEDIEY.css +0 -1
- package/dist/web/assets/index-C5uP_Gug.js +0 -1
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-SMNFI2FU.js";
|
|
7
7
|
import {
|
|
8
8
|
createOpenPondSandboxClient
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-JTHL5XJ2.js";
|
|
10
10
|
import {
|
|
11
11
|
DEFAULT_CACHE_TTL_MS,
|
|
12
12
|
SANDBOX_RUNTIME_PROFILE_IDS,
|
|
@@ -15,13 +15,12 @@ import {
|
|
|
15
15
|
getDeploymentLogs,
|
|
16
16
|
getDeploymentStatus,
|
|
17
17
|
listApps,
|
|
18
|
-
listConfiguredProfiles,
|
|
19
18
|
listUserTools,
|
|
20
19
|
loadConfig,
|
|
21
20
|
saveGlobalConfig,
|
|
22
21
|
setCachedApps,
|
|
23
22
|
setCachedTools
|
|
24
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-D7BO5Y5J.js";
|
|
25
24
|
import {
|
|
26
25
|
DEFAULT_OPENPOND_API_BASE_URL,
|
|
27
26
|
DEFAULT_OPENPOND_WEB_BASE_URL
|
|
@@ -291,71 +290,6 @@ async function promptForPath(defaultPath) {
|
|
|
291
290
|
}
|
|
292
291
|
}
|
|
293
292
|
|
|
294
|
-
// src/cli/common/vercel-protection.ts
|
|
295
|
-
import { spawnSync } from "node:child_process";
|
|
296
|
-
import path from "node:path";
|
|
297
|
-
function ensureStagingVercelProtectionBypass(requestUrl, options = {}) {
|
|
298
|
-
const env = options.env ?? process.env;
|
|
299
|
-
if (env.VERCEL_AUTOMATION_BYPASS_SECRET?.trim()) return true;
|
|
300
|
-
if (!isOpenPondStagingUrl(requestUrl)) return false;
|
|
301
|
-
const cwd = path.resolve(options.cwd ?? process.cwd());
|
|
302
|
-
const projectDirectories = candidateProjectDirectories(cwd, env);
|
|
303
|
-
const run = options.run ?? runProtectionCommand;
|
|
304
|
-
const command = process.platform === "win32" ? "vercel.cmd" : "vercel";
|
|
305
|
-
for (const projectDirectory of projectDirectories) {
|
|
306
|
-
const result = run({
|
|
307
|
-
command,
|
|
308
|
-
args: ["project", "protection", "--format", "json"],
|
|
309
|
-
cwd: projectDirectory,
|
|
310
|
-
env
|
|
311
|
-
});
|
|
312
|
-
if (result.status !== 0 || !result.stdout.trim()) continue;
|
|
313
|
-
const secret = vercelProtectionBypassSecret(result.stdout);
|
|
314
|
-
if (!secret) continue;
|
|
315
|
-
env.VERCEL_AUTOMATION_BYPASS_SECRET = secret;
|
|
316
|
-
return true;
|
|
317
|
-
}
|
|
318
|
-
return false;
|
|
319
|
-
}
|
|
320
|
-
function vercelProtectionBypassSecret(rawProtectionJson) {
|
|
321
|
-
try {
|
|
322
|
-
const payload = JSON.parse(rawProtectionJson);
|
|
323
|
-
const entries = Object.entries(payload.protectionBypass ?? {});
|
|
324
|
-
const selected = entries.find(([, metadata]) => metadata?.isEnvVar === true) ?? entries[0];
|
|
325
|
-
return selected?.[0]?.trim() || null;
|
|
326
|
-
} catch {
|
|
327
|
-
return null;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
function isOpenPondStagingUrl(requestUrl) {
|
|
331
|
-
try {
|
|
332
|
-
const hostname = new URL(requestUrl).hostname.toLowerCase();
|
|
333
|
-
return hostname === "staging.openpond.ai" || hostname === "staging-api.openpond.ai" || hostname.endsWith(".staging-api.openpond.ai");
|
|
334
|
-
} catch {
|
|
335
|
-
return false;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
function candidateProjectDirectories(cwd, env) {
|
|
339
|
-
const configured = env.OPENPOND_VERCEL_PROJECT_DIR?.trim();
|
|
340
|
-
return [.../* @__PURE__ */ new Set([
|
|
341
|
-
...configured ? [path.resolve(cwd, configured)] : [],
|
|
342
|
-
path.resolve(cwd, "../sandbox"),
|
|
343
|
-
cwd
|
|
344
|
-
])];
|
|
345
|
-
}
|
|
346
|
-
function runProtectionCommand(input3) {
|
|
347
|
-
const result = spawnSync(input3.command, input3.args, {
|
|
348
|
-
cwd: input3.cwd,
|
|
349
|
-
env: input3.env,
|
|
350
|
-
encoding: "utf8",
|
|
351
|
-
stdio: ["ignore", "pipe", "ignore"]
|
|
352
|
-
});
|
|
353
|
-
return {
|
|
354
|
-
status: result.status,
|
|
355
|
-
stdout: typeof result.stdout === "string" ? result.stdout : ""
|
|
356
|
-
};
|
|
357
|
-
}
|
|
358
|
-
|
|
359
293
|
// src/cli/common/sandbox-options.ts
|
|
360
294
|
var SANDBOX_WORKFLOW_MODES = [
|
|
361
295
|
"readonly",
|
|
@@ -374,13 +308,7 @@ var SANDBOX_RUNTIME_PROFILES = [
|
|
|
374
308
|
...SANDBOX_RUNTIME_PROFILE_IDS
|
|
375
309
|
];
|
|
376
310
|
function resolveSandboxBaseUrl(config, options) {
|
|
377
|
-
|
|
378
|
-
if (envName === "staging") {
|
|
379
|
-
return "https://api-new.staging-api.openpond.ai";
|
|
380
|
-
}
|
|
381
|
-
if (envName && envName !== "production") {
|
|
382
|
-
throw new Error("sandbox env must be staging or production");
|
|
383
|
-
}
|
|
311
|
+
void options;
|
|
384
312
|
const base = process.env.OPENPOND_SANDBOX_BASE_URL || process.env.OPENPOND_API_URL || config.apiBaseUrl || mapUiBaseToApiBase(process.env.OPENPOND_BASE_URL || config.baseUrl) || DEFAULT_OPENPOND_API_BASE_URL;
|
|
385
313
|
return base.replace(/\/$/, "");
|
|
386
314
|
}
|
|
@@ -390,52 +318,13 @@ async function resolveSandboxClient(options) {
|
|
|
390
318
|
const apiKey = await ensureApiKey(config, uiBase);
|
|
391
319
|
const sandboxApiUrl = resolveSandboxApiUrlOption(options) || process.env.OPENPOND_SANDBOX_API_URL?.trim() || null;
|
|
392
320
|
const baseUrl = resolveSandboxBaseUrl(config, options);
|
|
393
|
-
ensureStagingVercelProtectionBypass(sandboxApiUrl ?? baseUrl);
|
|
394
321
|
return createOpenPondSandboxClient(
|
|
395
322
|
sandboxApiUrl ? { apiKey, sandboxApiUrl } : { apiKey, baseUrl }
|
|
396
323
|
);
|
|
397
324
|
}
|
|
398
325
|
async function loadSandboxConfig(options) {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
const profiles = await listConfiguredProfiles();
|
|
402
|
-
const requestedAccount = typeof options.account === "string" ? options.account.trim().toLowerCase() : typeof options.profile === "string" ? options.profile.trim().toLowerCase() : "";
|
|
403
|
-
const matches = profiles.filter(
|
|
404
|
-
(profile) => profileMatchesEnvironment(profile, environment) && (!requestedAccount || profile.handle.toLowerCase() === requestedAccount)
|
|
405
|
-
);
|
|
406
|
-
const selected = matches.find((profile) => profile.isActive) ?? (matches.length === 1 ? matches[0] : null);
|
|
407
|
-
if (!selected) {
|
|
408
|
-
throw new Error(
|
|
409
|
-
matches.length === 0 ? `no saved ${environment} OpenPond account found; run openpond login for that environment first` : `multiple saved ${environment} OpenPond accounts found; pass --account and --base-url to select one`
|
|
410
|
-
);
|
|
411
|
-
}
|
|
412
|
-
return loadConfig({
|
|
413
|
-
account: selected.handle,
|
|
414
|
-
...selected.baseUrl ? { baseUrl: selected.baseUrl } : {}
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
function sandboxEnvironmentOption(options) {
|
|
418
|
-
const value = typeof options.env === "string" ? options.env.trim().toLowerCase() : typeof options.environment === "string" ? options.environment.trim().toLowerCase() : "";
|
|
419
|
-
if (!value) return null;
|
|
420
|
-
if (value !== "production" && value !== "staging") {
|
|
421
|
-
throw new Error("sandbox env must be staging or production");
|
|
422
|
-
}
|
|
423
|
-
return value;
|
|
424
|
-
}
|
|
425
|
-
function profileMatchesEnvironment(profile, environment) {
|
|
426
|
-
const hosts = [profile.baseUrl, profile.apiBaseUrl].flatMap((value) => {
|
|
427
|
-
if (!value) return [];
|
|
428
|
-
try {
|
|
429
|
-
return [new URL(value).hostname.toLowerCase()];
|
|
430
|
-
} catch {
|
|
431
|
-
return [];
|
|
432
|
-
}
|
|
433
|
-
});
|
|
434
|
-
const isStaging = hosts.some(
|
|
435
|
-
(hostname) => hostname === "staging.openpond.ai" || hostname === "staging-api.openpond.ai" || hostname.endsWith(".staging-api.openpond.ai")
|
|
436
|
-
);
|
|
437
|
-
if (environment === "staging") return isStaging;
|
|
438
|
-
return !isStaging && profile.environment?.toLowerCase() === "production";
|
|
326
|
+
void options;
|
|
327
|
+
return loadConfig();
|
|
439
328
|
}
|
|
440
329
|
function parseSandboxWorkflowModeOption(value) {
|
|
441
330
|
if (value === void 0) return void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
writePrivateJsonFile
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-D7BO5Y5J.js";
|
|
5
5
|
|
|
6
6
|
// ../../packages/cloud/src/profile/source-upload-cache.ts
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
@@ -1,24 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
2
|
|
|
3
|
-
// ../../packages/cloud/dist/api/vercel-protection.js
|
|
4
|
-
var VERCEL_PROTECTION_BYPASS_HEADER = "x-vercel-protection-bypass";
|
|
5
|
-
function withVercelProtectionBypass(requestUrl, inputHeaders, env = typeof process === "undefined" ? {} : process.env) {
|
|
6
|
-
const headers = new Headers(inputHeaders);
|
|
7
|
-
const secret = env.VERCEL_AUTOMATION_BYPASS_SECRET?.trim();
|
|
8
|
-
if (!secret || !isOpenPondStagingUrl(requestUrl))
|
|
9
|
-
return headers;
|
|
10
|
-
headers.set(VERCEL_PROTECTION_BYPASS_HEADER, secret);
|
|
11
|
-
return headers;
|
|
12
|
-
}
|
|
13
|
-
function isOpenPondStagingUrl(requestUrl) {
|
|
14
|
-
try {
|
|
15
|
-
const hostname = new URL(requestUrl).hostname.toLowerCase();
|
|
16
|
-
return hostname === "staging.openpond.ai" || hostname === "staging-api.openpond.ai" || hostname.endsWith(".staging-api.openpond.ai");
|
|
17
|
-
} catch {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
3
|
// ../../packages/cloud/dist/api/core.js
|
|
23
4
|
var DEFAULT_API_TIMEOUT_MS = 3e4;
|
|
24
5
|
var DEFAULT_API_RESPONSE_BYTES = 8 * 1024 * 1024;
|
|
@@ -61,7 +42,7 @@ var OpenPondApiError = class extends Error {
|
|
|
61
42
|
async function apiFetch(baseUrl, token, requestPath, options = {}) {
|
|
62
43
|
const { timeoutMs = DEFAULT_API_TIMEOUT_MS, maxResponseBytes = DEFAULT_API_RESPONSE_BYTES, ...init } = options;
|
|
63
44
|
const requestUrl = `${baseUrl}${requestPath}`;
|
|
64
|
-
const headers =
|
|
45
|
+
const headers = new Headers(init.headers);
|
|
65
46
|
headers.set("Content-Type", "application/json");
|
|
66
47
|
const apiKey = process.env.OPENPOND_API_KEY;
|
|
67
48
|
const trimmedToken = token?.trim() || "";
|
|
@@ -203,7 +184,7 @@ function apiRootUrlFromSandboxApiUrl(sandboxApiUrl) {
|
|
|
203
184
|
return sandboxApiUrl.slice(0, -suffix.length);
|
|
204
185
|
}
|
|
205
186
|
function isOpenPondHostedApiHost(hostname) {
|
|
206
|
-
return hostname === "api.openpond.ai" || hostname
|
|
187
|
+
return hostname === "api.openpond.ai" || hostname.startsWith("api") && hostname.endsWith(".openpond.ai");
|
|
207
188
|
}
|
|
208
189
|
|
|
209
190
|
// ../../packages/cloud/dist/sandbox/client-handles.js
|
|
@@ -1781,14 +1762,14 @@ function requireToken(value) {
|
|
|
1781
1762
|
throw new Error("OpenPond API key is required");
|
|
1782
1763
|
return trimmed;
|
|
1783
1764
|
}
|
|
1784
|
-
function hostedHeaders(
|
|
1765
|
+
function hostedHeaders(token, accept, requestId) {
|
|
1785
1766
|
const headers = new Headers();
|
|
1786
1767
|
headers.set("Authorization", `Bearer ${requireToken(token)}`);
|
|
1787
1768
|
headers.set("Content-Type", "application/json");
|
|
1788
1769
|
headers.set("Accept", accept);
|
|
1789
1770
|
headers.set("x-openpond-client", "openpond-code");
|
|
1790
1771
|
headers.set("x-openpond-request-id", requestId || randomUUID());
|
|
1791
|
-
return
|
|
1772
|
+
return headers;
|
|
1792
1773
|
}
|
|
1793
1774
|
async function readError(response) {
|
|
1794
1775
|
const text = await response.text().catch(() => "");
|
|
@@ -1834,7 +1815,7 @@ async function sendHostedChatTurn(options) {
|
|
|
1834
1815
|
const requestUrl = `${apiBaseUrl}/chat/completions`;
|
|
1835
1816
|
const response = await fetch(requestUrl, {
|
|
1836
1817
|
method: "POST",
|
|
1837
|
-
headers: hostedHeaders(
|
|
1818
|
+
headers: hostedHeaders(options.token, "application/json", options.requestId),
|
|
1838
1819
|
body: JSON.stringify(buildHostedChatBody(options, false)),
|
|
1839
1820
|
signal: options.signal
|
|
1840
1821
|
});
|
|
@@ -1845,7 +1826,6 @@ async function sendHostedChatTurn(options) {
|
|
|
1845
1826
|
}
|
|
1846
1827
|
|
|
1847
1828
|
export {
|
|
1848
|
-
withVercelProtectionBypass,
|
|
1849
1829
|
OpenPondApiError,
|
|
1850
1830
|
apiFetch,
|
|
1851
1831
|
readApiJson,
|
|
@@ -8,14 +8,20 @@ import {
|
|
|
8
8
|
HarnessTargetedValidationReceiptSchema,
|
|
9
9
|
HarnessTurnSnapshotSchema,
|
|
10
10
|
HarnessWorkspaceSchema,
|
|
11
|
+
ImmutableReleaseRefSchema,
|
|
11
12
|
LifecycleContractSchema,
|
|
13
|
+
ModelProjectSchema,
|
|
12
14
|
OptimizerTrainingSampleSchema,
|
|
15
|
+
RefinerBindingSchema,
|
|
16
|
+
RefinerReleaseSchema,
|
|
17
|
+
RefinerReviewProfileSchema,
|
|
18
|
+
RefinerTransitionReceiptSchema,
|
|
13
19
|
SandboxTemplateManifestSchema,
|
|
14
20
|
SandboxTemplateValidationDiagnosticSchema,
|
|
15
21
|
ToolDeclarationSchema,
|
|
16
22
|
createHarnessAdvanceReceipt,
|
|
17
23
|
validateConnectedAppToolCallRequest
|
|
18
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-BLFIIAWZ.js";
|
|
19
25
|
import {
|
|
20
26
|
yaml
|
|
21
27
|
} from "./chunk-X7ZG4TSW.js";
|
|
@@ -23,15 +29,10 @@ import {
|
|
|
23
29
|
DEFAULT_OPENPOND_API_BASE_URL,
|
|
24
30
|
DEFAULT_OPENPOND_WEB_BASE_URL,
|
|
25
31
|
apiFetch
|
|
26
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-JTHL5XJ2.js";
|
|
27
33
|
import {
|
|
28
|
-
ImmutableReleaseRefSchema,
|
|
29
|
-
RefinerBindingSchema,
|
|
30
|
-
RefinerReleaseSchema,
|
|
31
|
-
RefinerReviewProfileSchema,
|
|
32
|
-
RefinerTransitionReceiptSchema,
|
|
33
34
|
external_exports
|
|
34
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-FQS2QL5F.js";
|
|
35
36
|
|
|
36
37
|
// ../../packages/cloud/dist/profile/profile-skills.js
|
|
37
38
|
import { createHash } from "node:crypto";
|
|
@@ -10189,6 +10190,7 @@ var RewardModelRunReceiptSchema = external_exports.object({
|
|
|
10189
10190
|
bucketHead: ImmutableReleaseRefSchema2.nullable(),
|
|
10190
10191
|
processorRelease: ImmutableReleaseRefSchema2,
|
|
10191
10192
|
optimizerEvidence: ImmutableReleaseRefSchema2,
|
|
10193
|
+
managedExecutionReceipt: ImmutableReleaseRefSchema2.nullable().default(null),
|
|
10192
10194
|
parameterDeltaHash: ReleaseHashSchema,
|
|
10193
10195
|
cleanup: external_exports.object({
|
|
10194
10196
|
computeReleased: external_exports.boolean(),
|
|
@@ -10691,7 +10693,7 @@ var LearnedPreferenceRewardBindingSchema = external_exports.object({
|
|
|
10691
10693
|
runtime: RewardModelRuntimeSchema,
|
|
10692
10694
|
processorRelease: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
|
|
10693
10695
|
rewardComposerRelease: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
|
|
10694
|
-
|
|
10696
|
+
executionReceipt: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict()
|
|
10695
10697
|
}).strict();
|
|
10696
10698
|
var PolicyOptimizationContractSchema = external_exports.object({
|
|
10697
10699
|
schemaVersion: external_exports.literal("openpond.policyOptimization.v1"),
|
|
@@ -11677,74 +11679,7 @@ var ModelRunPresetSchema = external_exports.enum([
|
|
|
11677
11679
|
"custom",
|
|
11678
11680
|
"small_experiment"
|
|
11679
11681
|
]);
|
|
11680
|
-
var
|
|
11681
|
-
schemaVersion: external_exports.literal("openpond.modelProject.v1"),
|
|
11682
|
-
id: TrainingIdSchema,
|
|
11683
|
-
profileId: TrainingIdSchema,
|
|
11684
|
-
revision: external_exports.number().int().positive().default(1),
|
|
11685
|
-
name: external_exports.string().trim().min(1).max(200),
|
|
11686
|
-
objective: external_exports.string().trim().max(5e3).nullable(),
|
|
11687
|
-
defaultBaseModel: BaseModelPreferenceSchema.nullable(),
|
|
11688
|
-
defaultDestinationId: TrainingDestinationIdSchema.nullable(),
|
|
11689
|
-
hosted: external_exports.object({
|
|
11690
|
-
schemaVersion: external_exports.literal("openpond.hostedModelProjectLink.v1"),
|
|
11691
|
-
teamId: TrainingIdSchema,
|
|
11692
|
-
projectId: TrainingIdSchema,
|
|
11693
|
-
portableProjectId: TrainingIdSchema,
|
|
11694
|
-
revision: external_exports.number().int().positive(),
|
|
11695
|
-
etag: TrainingHashSchema,
|
|
11696
|
-
syncedSourceRevision: external_exports.number().int().positive(),
|
|
11697
|
-
syncedAt: TrainingTimestampSchema,
|
|
11698
|
-
tasksets: external_exports.array(external_exports.object({
|
|
11699
|
-
localTasksetId: TrainingIdSchema,
|
|
11700
|
-
releaseId: TrainingIdSchema,
|
|
11701
|
-
releaseRevision: external_exports.number().int().positive(),
|
|
11702
|
-
releaseHash: TrainingHashSchema,
|
|
11703
|
-
hostedTasksetId: TrainingIdSchema,
|
|
11704
|
-
syncedAt: TrainingTimestampSchema
|
|
11705
|
-
}).strict()).max(1e4).default([])
|
|
11706
|
-
}).strict().nullable().default(null),
|
|
11707
|
-
tasksetSyncs: external_exports.array(external_exports.object({
|
|
11708
|
-
localTasksetId: TrainingIdSchema,
|
|
11709
|
-
releaseId: TrainingIdSchema,
|
|
11710
|
-
releaseRevision: external_exports.number().int().positive(),
|
|
11711
|
-
releaseHash: TrainingHashSchema,
|
|
11712
|
-
state: external_exports.enum(["syncing", "synced", "sync_failed"]),
|
|
11713
|
-
hostedTasksetId: TrainingIdSchema.nullable().default(null),
|
|
11714
|
-
lastAttemptAt: TrainingTimestampSchema,
|
|
11715
|
-
syncedAt: TrainingTimestampSchema.nullable().default(null),
|
|
11716
|
-
lastError: external_exports.string().trim().min(1).max(5e3).nullable().default(null)
|
|
11717
|
-
}).strict()).max(1e4).default([]),
|
|
11718
|
-
createdAt: TrainingTimestampSchema,
|
|
11719
|
-
updatedAt: TrainingTimestampSchema
|
|
11720
|
-
});
|
|
11721
|
-
var ModelRunDraftSchema = external_exports.object({
|
|
11722
|
-
schemaVersion: external_exports.literal("openpond.modelRunDraft.v1"),
|
|
11723
|
-
id: TrainingIdSchema,
|
|
11724
|
-
profileId: TrainingIdSchema,
|
|
11725
|
-
modelId: TrainingIdSchema,
|
|
11726
|
-
status: external_exports.enum(["draft", "ready_to_run", "launched", "cancelled"]),
|
|
11727
|
-
title: external_exports.string().trim().min(1).max(200),
|
|
11728
|
-
datasetMode: external_exports.enum(["existing", "build"]).nullable(),
|
|
11729
|
-
tasksetRef: external_exports.object({
|
|
11730
|
-
id: TrainingIdSchema,
|
|
11731
|
-
revision: external_exports.number().int().positive(),
|
|
11732
|
-
contentHash: TrainingHashSchema
|
|
11733
|
-
}).nullable(),
|
|
11734
|
-
harnessRelease: ImmutableReleaseRefSchema2.nullable().optional(),
|
|
11735
|
-
tasksetRelease: ImmutableReleaseRefSchema2.nullable().optional(),
|
|
11736
|
-
datasetCreationId: TrainingIdSchema.nullable(),
|
|
11737
|
-
buildIntent: DatasetBuildIntentSchema.nullable(),
|
|
11738
|
-
buildSpecification: DatasetBuildSpecificationSchema.nullable(),
|
|
11739
|
-
baseModel: BaseModelPreferenceSchema.nullable(),
|
|
11740
|
-
method: TrainingMethodSchema.nullable(),
|
|
11741
|
-
destinationId: TrainingDestinationIdSchema.nullable(),
|
|
11742
|
-
managedRolloutPlacement: external_exports.enum(["local", "remote"]).optional(),
|
|
11743
|
-
runPreset: ModelRunPresetSchema.nullable(),
|
|
11744
|
-
recipe: TrainingRecipeSchema.nullable(),
|
|
11745
|
-
createdAt: TrainingTimestampSchema,
|
|
11746
|
-
updatedAt: TrainingTimestampSchema
|
|
11747
|
-
});
|
|
11682
|
+
var ModelProjectSchema2 = ModelProjectSchema;
|
|
11748
11683
|
var TrainingPlanSchema = external_exports.object({
|
|
11749
11684
|
schemaVersion: external_exports.literal("openpond.trainingPlan.v1"),
|
|
11750
11685
|
id: TrainingIdSchema,
|
|
@@ -11838,6 +11773,21 @@ var TrainingApprovalSchema = external_exports.object({
|
|
|
11838
11773
|
approvedBy: TrainingIdSchema,
|
|
11839
11774
|
approvedAt: TrainingTimestampSchema
|
|
11840
11775
|
});
|
|
11776
|
+
var TrainingJobSourceSnapshotSchema = external_exports.object({
|
|
11777
|
+
schemaVersion: external_exports.literal("openpond.trainingJobSourceSnapshot.v1"),
|
|
11778
|
+
modelProjectId: TrainingIdSchema,
|
|
11779
|
+
sourceProjectRevision: external_exports.number().int().positive(),
|
|
11780
|
+
profileId: TrainingIdSchema,
|
|
11781
|
+
taskset: external_exports.object({
|
|
11782
|
+
id: TrainingIdSchema,
|
|
11783
|
+
revision: external_exports.number().int().positive(),
|
|
11784
|
+
contentHash: TrainingHashSchema
|
|
11785
|
+
}).strict(),
|
|
11786
|
+
tasksetRelease: ImmutableReleaseRefSchema2,
|
|
11787
|
+
harnessRelease: ImmutableReleaseRefSchema2,
|
|
11788
|
+
baseModel: BaseModelPreferenceSchema,
|
|
11789
|
+
method: TrainingMethodSchema
|
|
11790
|
+
}).strict();
|
|
11841
11791
|
var TrainingJobStatusSchema = external_exports.enum([
|
|
11842
11792
|
"queued",
|
|
11843
11793
|
"starting",
|
|
@@ -11916,6 +11866,7 @@ var PolicyOptimizationMetricSchema = external_exports.object({
|
|
|
11916
11866
|
learningRate: external_exports.number().nonnegative().nullable().default(null),
|
|
11917
11867
|
policyLoss: external_exports.number().nullable(),
|
|
11918
11868
|
valueLoss: external_exports.number().nullable(),
|
|
11869
|
+
gradientNorm: external_exports.number().nonnegative().nullable().default(null),
|
|
11919
11870
|
meanReward: external_exports.number().nullable(),
|
|
11920
11871
|
meanReturn: external_exports.number().nullable(),
|
|
11921
11872
|
kl: external_exports.number().nullable(),
|
|
@@ -11927,6 +11878,7 @@ var PolicyOptimizationMetricSchema = external_exports.object({
|
|
|
11927
11878
|
inputTokens: external_exports.number().int().nonnegative(),
|
|
11928
11879
|
outputTokens: external_exports.number().int().nonnegative(),
|
|
11929
11880
|
environmentExecutions: external_exports.number().int().nonnegative(),
|
|
11881
|
+
trajectoryCount: external_exports.number().int().nonnegative().nullable().default(null),
|
|
11930
11882
|
costUsd: external_exports.number().nonnegative().nullable()
|
|
11931
11883
|
});
|
|
11932
11884
|
var ManagedTrainingRunEvidenceSchema = external_exports.object({
|
|
@@ -12138,8 +12090,7 @@ var TrainingStateResponseSchema = external_exports.object({
|
|
|
12138
12090
|
candidates: external_exports.array(TaskCandidateSchema),
|
|
12139
12091
|
minerConfig: TaskMinerConfigSchema,
|
|
12140
12092
|
minerRuns: external_exports.array(TaskMinerRunSchema).default([]),
|
|
12141
|
-
modelProjects: external_exports.array(
|
|
12142
|
-
modelRunDrafts: external_exports.array(ModelRunDraftSchema).default([]),
|
|
12093
|
+
modelProjects: external_exports.array(ModelProjectSchema2).default([]),
|
|
12143
12094
|
modelVersions: external_exports.array(ModelVersionSchema).default([]),
|
|
12144
12095
|
modelRuns: external_exports.array(ModelRunSchema).default([]),
|
|
12145
12096
|
rewardModelVersions: external_exports.array(RewardModelVersionSchema).default([]),
|
|
@@ -13088,6 +13039,8 @@ var AdapterValidationReceiptSchema = external_exports.object({
|
|
|
13088
13039
|
var TrainingExecutionRefSchema = external_exports.object({
|
|
13089
13040
|
runId: ReleaseIdSchema,
|
|
13090
13041
|
adapterId: ReleaseIdSchema,
|
|
13042
|
+
protocolVersion: external_exports.enum(["openpond.training.v2", "adapter.native.v1"]).default("adapter.native.v1"),
|
|
13043
|
+
routeFamily: external_exports.enum(["training_v2", "adapter_native"]).default("adapter_native"),
|
|
13091
13044
|
routeId: ReleaseIdSchema.optional(),
|
|
13092
13045
|
providerJobId: external_exports.string().trim().min(1).max(1e3).nullable(),
|
|
13093
13046
|
tenantId: ReleaseIdSchema.optional(),
|
|
@@ -13538,13 +13491,13 @@ export {
|
|
|
13538
13491
|
TrainingDestinationCapabilitiesSchema,
|
|
13539
13492
|
BaseModelCandidateSchema,
|
|
13540
13493
|
TrainingCompatibilityReportSchema,
|
|
13541
|
-
ModelProjectSchema,
|
|
13542
|
-
ModelRunDraftSchema,
|
|
13494
|
+
ModelProjectSchema2 as ModelProjectSchema,
|
|
13543
13495
|
TrainingPlanSchema,
|
|
13544
13496
|
TrainingBundleManifestSchema,
|
|
13545
13497
|
TrainingBundleExportSchema,
|
|
13546
13498
|
TrainingPreparedStartSchema,
|
|
13547
13499
|
TrainingApprovalSchema,
|
|
13500
|
+
TrainingJobSourceSnapshotSchema,
|
|
13548
13501
|
TrainingJobSchema,
|
|
13549
13502
|
TrainingJobEventSchema,
|
|
13550
13503
|
SftStepMetricSchema,
|
|
@@ -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.69";
|
|
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";
|