openpond 0.2.40 → 0.2.41
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/app-server.d.ts +5 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-JPJLAR44.js +2 -0
- package/dist/chunks/{app-layer-W2M7SM2L.js → app-layer-ENO5MMPX.js} +1 -1
- package/dist/chunks/app-server-runtime-LACOVSKH.js +2 -0
- package/dist/chunks/apps-VFXTNQ25.js +2 -0
- package/dist/chunks/{chunk-ALYT2HWV.js → chunk-2Z6H32OC.js} +1 -1
- package/dist/chunks/chunk-3FXZW4G7.js +3 -0
- package/dist/chunks/{chunk-DWY6YCBI.js → chunk-452UKUIB.js} +200 -201
- package/dist/chunks/{chunk-3HQEEZPO.js → chunk-65BW2QXY.js} +1 -1
- package/dist/chunks/{chunk-4QURHV3Q.js → chunk-6C5XPL6E.js} +1 -1
- package/dist/chunks/{chunk-J4S7AVGF.js → chunk-6UGTLC7Z.js} +1 -1
- package/dist/chunks/chunk-ALZRXBEC.js +33 -0
- package/dist/chunks/chunk-AO753YWB.js +5 -0
- package/dist/chunks/chunk-AT6XYNQ5.js +2 -0
- package/dist/chunks/chunk-DLQW5X6F.js +2 -0
- package/dist/chunks/chunk-DXAZUJPA.js +2 -0
- package/dist/chunks/chunk-ERFHALGF.js +4 -0
- package/dist/chunks/chunk-FLWIBAHG.js +2 -0
- package/dist/chunks/{chunk-ASRSYRE3.js → chunk-GKP2ZPKM.js} +1 -1
- package/dist/chunks/{chunk-H7YH35JO.js → chunk-H7JB25HO.js} +1 -1
- package/dist/chunks/{chunk-JIG7KQOX.js → chunk-HLNJKX3S.js} +2 -2
- package/dist/chunks/{chunk-YHBIGFFA.js → chunk-JLZ2TEKK.js} +1 -1
- package/dist/chunks/chunk-JXD5PNF7.js +9 -0
- package/dist/chunks/{chunk-FFTVDR3E.js → chunk-JXGLH7OR.js} +139 -139
- package/dist/chunks/chunk-KCENW4ME.js +2 -0
- package/dist/chunks/{chunk-T7Y5OYO2.js → chunk-KIGN4FI6.js} +1 -1
- package/dist/chunks/{chunk-GTG2ODOV.js → chunk-KRC36KV2.js} +1 -1
- package/dist/chunks/{chunk-XRI3HLZ3.js → chunk-KVJF3H4N.js} +2 -2
- package/dist/chunks/{chunk-FUFIZ37W.js → chunk-LRGLV6JX.js} +1 -1
- package/dist/chunks/chunk-MOMDY22U.js +2 -0
- package/dist/chunks/chunk-MTJNKRXL.js +22 -0
- package/dist/chunks/{chunk-ELUCM7CG.js → chunk-NVPKY3KE.js} +1 -1
- package/dist/chunks/chunk-POWZXZJ2.js +2 -0
- package/dist/chunks/{chunk-WWCU4ETR.js → chunk-PU2JM765.js} +1 -1
- package/dist/chunks/{chunk-CYZOPDTW.js → chunk-QJX7UASW.js} +1 -1
- package/dist/chunks/chunk-R6YJY7F2.js +3 -0
- package/dist/chunks/{chunk-3QXPXBVG.js → chunk-RT6YPMWF.js} +1 -1
- package/dist/chunks/{chunk-TU5ITNMX.js → chunk-TPOW52DO.js} +3 -3
- package/dist/chunks/chunk-V62BHD5G.js +2 -0
- package/dist/chunks/{chunk-IYWNO4RB.js → chunk-VB2S5HV4.js} +2 -2
- package/dist/chunks/{chunk-3UQU3KOS.js → chunk-VKGVC26K.js} +1 -1
- package/dist/chunks/{chunk-ZCFX6HQO.js → chunk-VQG25QBJ.js} +1 -1
- package/dist/chunks/{chunk-JARGGWF5.js → chunk-XMXGITQE.js} +1 -1
- package/dist/chunks/chunk-Z2BYC6TP.js +2 -0
- package/dist/chunks/{chunk-562Q5UVS.js → chunk-ZG7QX66E.js} +1 -1
- package/dist/chunks/cli-QW2BELOE.js +2 -0
- package/dist/chunks/configuration-command-VXCGFVAP.js +2 -0
- package/dist/chunks/core-commands-XEPFY3PQ.js +2 -0
- package/dist/chunks/{datasets-W24QTQL7.js → datasets-6PTDCZQ7.js} +1 -1
- package/dist/chunks/desktop-test-JGSH4T5Z.js +3 -0
- package/dist/chunks/dist-ELWB75PL.js +2 -0
- package/dist/chunks/experiments-WKRYHZDK.js +2 -0
- package/dist/chunks/{extension-3P3JNRYN.js → extension-S2UIZH46.js} +1 -1
- package/dist/chunks/{help-23QDOMG7.js → help-ZVAGMF3C.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-F4UPHTTT.js +2 -0
- package/dist/chunks/hosted-profile-compiler-4LKIBC75.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-WPRPL4YW.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-ULRRZDS2.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-NWR4PRHS.js +3 -0
- package/dist/chunks/opchat-EOQ4PPE7.js +3 -0
- package/dist/chunks/organizations-4IGFWOYA.js +2 -0
- package/dist/chunks/{profile-NJMKPS6Z.js → profile-KJS7WQ3F.js} +1 -1
- package/dist/chunks/project-agent-6WNHPBXA.js +2 -0
- package/dist/chunks/sandbox-command-NCRIL6NH.js +2 -0
- package/dist/chunks/{sandbox-template-RCDR2FXX.js → sandbox-template-AAOUNWTL.js} +1 -1
- package/dist/chunks/{src-H7VE4J62.js → src-HLLPHEW4.js} +1 -1
- package/dist/chunks/{src-JVSP6UKT.js → src-PERIQ7VT.js} +91 -91
- package/dist/chunks/{teams-bot-KCKZTM3N.js → teams-bot-LKIOF3B5.js} +1 -1
- package/dist/chunks/{workspaces-J5QQUR53.js → workspaces-S3NXR6VJ.js} +1 -1
- package/dist/cli.js +3 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/actions-command-X2ERGYMA.js +0 -2
- package/dist/chunks/app-server-runtime-IO3FDF37.js +0 -2
- package/dist/chunks/apps-IBVU56HR.js +0 -2
- package/dist/chunks/chunk-5OA57RW4.js +0 -2
- package/dist/chunks/chunk-62H5KUOS.js +0 -12
- package/dist/chunks/chunk-AOBTILU5.js +0 -2
- package/dist/chunks/chunk-DDHUSA3I.js +0 -2
- package/dist/chunks/chunk-QCLVO56H.js +0 -4
- package/dist/chunks/chunk-QK2GLRCY.js +0 -53
- package/dist/chunks/chunk-SHCKK3SU.js +0 -2
- package/dist/chunks/chunk-ZCPIVNCS.js +0 -2
- package/dist/chunks/cli-QXO6OHZJ.js +0 -2
- package/dist/chunks/configuration-command-6VJUXQNZ.js +0 -2
- package/dist/chunks/core-commands-J6OY62PE.js +0 -2
- package/dist/chunks/desktop-test-SHS2VUYP.js +0 -3
- package/dist/chunks/dist-4OUZANXR.js +0 -2
- package/dist/chunks/experiments-O7WTSICN.js +0 -2
- package/dist/chunks/hosted-harness-runtime-U7JV7Z5T.js +0 -2
- package/dist/chunks/hosted-profile-compiler-ZCVMUTFA.js +0 -3
- package/dist/chunks/opchat-OI2YFNNY.js +0 -3
- package/dist/chunks/organizations-LB5QXKWT.js +0 -2
- package/dist/chunks/project-agent-SZLUVG3U.js +0 -2
- package/dist/chunks/sandbox-command-FQBOFZGM.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{c as B}from"./chunk-
|
|
2
|
+
import{c as B}from"./chunk-65BW2QXY.js";import{e as D,f as k,g as K}from"./chunk-BSHAIAXY.js";import{f as w}from"./chunk-3M53YXEI.js";import{$ as N,W as y,X as L,Y as U,Z as M,_ as $,f as T,g as A,j as I,u as _}from"./chunk-Z2BYC6TP.js";import{d as O}from"./chunk-DXAZUJPA.js";import{b as v}from"./chunk-GLUWATL5.js";import{h as C}from"./chunk-MJC26GOX.js";import{a as o}from"./chunk-FTQLQJQV.js";function ce(e){if(e.repoUrl)return e.repoUrl;if(e.gitHost&&e.gitOwner&&e.gitRepo)return`https://${e.gitHost}/${e.gitOwner}/${e.gitRepo}.git`;throw new Error("repoUrl missing from API response")}o(ce,"resolveRepoUrl");function le(e,t){let n=new URL(e),r=encodeURIComponent(t);return`${n.protocol}//x-access-token:${r}@${n.host}${n.pathname}`}o(le,"formatTokenizedRepoUrl");function fe(e){let t=new URL(e);return`${t.protocol}//x-access-token:$OPENPOND_API_KEY@${t.host}${t.pathname}`}o(fe,"formatTokenizedRepoUrlForPrint");function me(e){return e.replace(/x-access-token:[^@]+@/g,"x-access-token:***@")}o(me,"redactToken");function pe(e){let t=process.env.OPENPOND_BASE_URL;if(t)try{let n=new URL(t).hostname,r=new URL(e).hostname;n&&r&&n!==r&&(console.warn(`warning: repo host (${r}) does not match OPENPOND_BASE_URL (${n})`),console.warn("warning: verify your git host configuration matches OPENPOND_BASE_URL."))}catch{}}o(pe,"warnOnRepoHostMismatch");function W(e){let t=e.split("/").filter(Boolean);if(t.length!==2)throw new Error("expected <handle>/<repo>");return{handle:t[0],repo:t[1]}}o(W,"parseHandleRepo");function S(e){return(e||"").trim().toLowerCase()}o(S,"normalizeRepoName");async function ee(e){if(!e.forceRefresh){let n=await L({apiBase:e.apiBase,apiKey:e.apiKey,ttlMs:y});if(n)return n}let t=await I(e.apiBase,e.apiKey);return await U({apiBase:e.apiBase,apiKey:e.apiKey,apps:t}),t}o(ee,"fetchAppsWithCache");async function Re(e){if(!e.forceRefresh){let r=await M({apiBase:e.apiBase,apiKey:e.apiKey,ttlMs:y});if(r)return r}let t=await _(e.apiBase,e.apiKey),n=Array.isArray(t.tools)?t.tools:[];return await $({apiBase:e.apiBase,apiKey:e.apiKey,tools:n}),n}o(Re,"fetchToolsWithCache");async function Pe(e,t,n){let{handle:r,repo:s}=W(n),i=await ee({apiBase:e,apiKey:t}),a=S(s),d=i.find(u=>u.handle&&u.handle!==r?!1:[u.repo,u.gitRepo,u.id].map(S).includes(a));if(!d)throw new Error(`app not found for ${r}/${s}`);return{app:d,handle:r,repo:s}}o(Pe,"resolveAppTarget");async function Ee(e){let t=e.intervalMs??5e3,n=e.timeoutMs??240*1e3,r=new Set,s=Date.now();for(;Date.now()-s<n;){let a=(await T(e.baseUrl,e.apiKey,e.deploymentId)).filter(u=>!r.has(u.id));for(let u of a)r.add(u.id);for(let u of a)console.log(`${e.prefix}${u.message}`);let d=await A(e.baseUrl,e.apiKey,e.deploymentId);if(d.status==="failed"){console.log(`${e.prefix}deployment failed`);return}if(d.status==="running"||d.status==="deployed"){console.log(`${e.prefix}deployment complete`);return}await new Promise(u=>setTimeout(u,t))}console.log(`${e.prefix}deployment still in progress`)}o(Ee,"pollDeploymentLogs");import{stdin as q,stdout as H}from"node:process";import{createInterface as F}from"node:readline/promises";async function z(){let e=[];for await(let t of process.stdin)e.push(Buffer.isBuffer(t)?t:Buffer.from(String(t)));return Buffer.concat(e).toString("utf8").replace(/\r?\n$/,"")}o(z,"readAllStdin");function V(e){return new Promise((t,n)=>{let r=process.stdin,s=process.stderr,i="",a=r.isRaw;function d(){r.off("data",u),r.setRawMode&&r.setRawMode(a),r.pause(),s.write(`
|
|
3
3
|
`)}o(d,"cleanup");function u(m){let f=Buffer.isBuffer(m)?m:Buffer.from(m);for(let c of f){if(c===3){d(),n(new Error("secret prompt cancelled"));return}if(c===13||c===10){d(),t(i);return}if(c===127||c===8){i.length>0&&(i=i.slice(0,-1),s.write("\b \b"));continue}i+=Buffer.from([c]).toString("utf8"),s.write("*")}}o(u,"onData"),s.write(e),r.resume(),r.setRawMode&&r.setRawMode(!0),r.on("data",u)})}o(V,"readMaskedLine");async function Ae(e,t=!1){let n=F({input:q,output:H});try{let r=t?"[Y/n]":"[y/N]",s=(await n.question(`${e} ${r} `)).trim().toLowerCase();return s?s==="y"||s==="yes":t}finally{n.close()}}o(Ae,"promptConfirm");async function Ie(e){let t=F({input:q,output:H});try{return(await t.question(`Local path (default: ${e}): `)).trim()||e}finally{t.close()}}o(Ie,"promptForPath");var X=["readonly","attempt","feature","rollout","replay","template_build","scheduled_run","patch_only","hotfix","multi_feature_batch"],j=["none","manual","auto_after_checks"],G=[...N];function te(e,t){return(process.env.OPENPOND_SANDBOX_BASE_URL||process.env.OPENPOND_API_URL||e.apiBaseUrl||K(process.env.OPENPOND_BASE_URL||e.baseUrl)||v).replace(/\/$/,"")}o(te,"resolveSandboxBaseUrl");async function We(e){let t=await ne(e),n=k(t),r=await B(t,n),s=D(e)||process.env.OPENPOND_SANDBOX_API_URL?.trim()||null,i=te(t,e);return C(s?{apiKey:r,sandboxApiUrl:s}:{apiKey:r,baseUrl:i})}o(We,"resolveSandboxClient");async function ne(e){return O()}o(ne,"loadSandboxConfig");function qe(e){if(e===void 0)return;if(typeof e!="string"||!e.trim())throw new Error("workflow-mode must be a non-empty value");let t=e.trim();if(!X.includes(t))throw new Error(`workflow-mode must be one of ${X.join(", ")}`);return t}o(qe,"parseSandboxWorkflowModeOption");function He(e){if(e===void 0)return;if(typeof e!="string"||!e.trim())throw new Error("runtime-promotion-policy must be a non-empty value");let t=e.trim();if(!j.includes(t))throw new Error(`runtime-promotion-policy must be one of ${j.join(", ")}`);return t}o(He,"parseSandboxRuntimePromotionPolicyOption");function Fe(e){if(typeof e!="string"||!e.trim())return;let t=e.trim();if(!G.includes(t))throw new Error(`runtime-profile-id must be one of ${G.join(", ")}`);return t}o(Fe,"parseSandboxRuntimeProfileIdOption");function re(e){let t=Y(e.envRef,"env-ref").map(({name:i,value:a})=>({name:i,secretRef:a})),n=Y(e.envLiteral,"env-literal").map(({name:i,value:a})=>{if(oe(i)&&!w(e.allowPlainSecretEnv))throw new Error(`refusing plaintext value for secret-like env ${i}; create a sandbox secret and pass --env-ref ${i}=openpond://secret/...`);return{name:i,value:a}}),r=[...t,...n],s=new Set;for(let i of r){if(s.has(i.name))throw new Error(`duplicate sandbox env var: ${i.name}`);s.add(i.name)}return r}o(re,"parseSandboxEnvOptions");function ze(e,t){let n=re(t),r=new Set(n.map(a=>a.name)),s=new Map(n.map(a=>[a.name,a]));for(let a of e.inputs.env)if(s.get(a.name)?.value!==void 0&&a.secret!==!1)throw new Error(`sandbox template env ${a.name} requires a secret ref. Pass --env-ref ${a.name}=openpond://secret/...`);let i=e.inputs.env.filter(a=>a.required&&!r.has(a.name)).map(a=>a.name);if(i.length>0)throw new Error(`missing required sandbox template env refs: ${i.join(", ")}. Pass --env-ref NAME=openpond://secret/...`);return n}o(ze,"parseSandboxTemplateEnvOptions");function Y(e,t){return typeof e!="string"?[]:e.split(",").map(n=>n.trim()).filter(Boolean).map(n=>{let r=n.indexOf("=");if(r<=0)throw new Error(`${t} entries must use NAME=value`);let s=n.slice(0,r).trim(),i=n.slice(r+1).trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(s))throw new Error(`${t} has invalid env name: ${s}`);if(!i)throw new Error(`${t} value is required for ${s}`);return{name:s,value:i}})}o(Y,"parseSandboxEnvAssignments");function oe(e){return/(?:SECRET|TOKEN|KEY|PASSWORD|PASSWD|PRIVATE|CREDENTIAL|DATABASE_URL|DSN)/i.test(e)}o(oe,"isSecretLikeEnvName");async function Ve(e,t){if(typeof e.value=="string"||typeof e.secretValue=="string")throw new Error("sandbox secret values must be provided with --stdin or the masked prompt");if(w(e.stdin)){let s=await z();if(!s)throw new Error(`${t} read no secret value from stdin`);return s}if(!process.stdin.isTTY)throw new Error(`${t} requires --stdin when not running in a TTY`);let r=await V(`${t}: `);if(!r)throw new Error(`${t} cannot be empty`);return r}o(Ve,"readSandboxSecretValue");function Xe(e){return{id:e.id,teamId:e.teamId,name:e.name,scope:e.scope,status:e.status,secretRef:e.secretRef,currentVersion:e.currentVersion,updatedAt:e.updatedAt,lastUsedAt:e.lastUsedAt,attachedDestinations:e.attachments?.length??0}}o(Xe,"summarizeSandboxSecret");import{Buffer as b}from"node:buffer";import{spawn as Q}from"node:child_process";var ie=600*1e3,se=2*1024*1024;function R(e,t=[],n={}){return n.inherit&&n.terminateWhenStdoutIncludes!==void 0?Promise.reject(new Error("terminateWhenStdoutIncludes requires captured stdout")):n.terminateWhenStdoutIncludes===""?Promise.reject(new Error("terminateWhenStdoutIncludes must not be empty")):new Promise((r,s)=>{let i=Q(e,t,{cwd:n.cwd,env:n.env?{...process.env,...n.env}:void 0,shell:n.shell,detached:n.detached??process.platform!=="win32",stdio:n.inherit?"inherit":[n.stdin===void 0?"ignore":"pipe","pipe","pipe"]}),a=new h(J(n)),d=new h(J(n)),u=!1,m=n.timeoutMs??ie,f,c,x=null,g=!1,P=o(()=>{f&&clearTimeout(f),c&&clearTimeout(c)},"clearTimers"),E=o(l=>{x!==null||g||(x=l,u=l==="timeout",f&&(clearTimeout(f),f=void 0),Z(i.pid,"SIGTERM"),c=setTimeout(()=>{i.exitCode===null&&i.signalCode===null&&Z(i.pid,"SIGKILL")},5e3))},"requestTermination");m>0&&(f=setTimeout(()=>{E("timeout")},m)),n.inherit||(i.stdout?.on("data",l=>{a.append(l);let p=n.terminateWhenStdoutIncludes;p!==void 0&&a.text().includes(p)&&E("output")}),i.stderr?.on("data",l=>{d.append(l)})),i.on("error",l=>{P(),g=!0,s(l)}),i.on("close",(l,p)=>{g||(g=!0,P(),r({code:l,signal:p,terminationReason:x??(p?"signal":"exit"),stdout:a.text(),stderr:d.text(),timedOut:u,stdoutTruncated:a.truncated,stderrTruncated:d.truncated}))}),n.stdin!==void 0&&i.stdin?.end(n.stdin)})}o(R,"runProcessCommand");var h=class{static{o(this,"BoundedOutput")}#t=[];#n;#e=0;truncated=!1;constructor(t){this.#n=t}append(t){let n=b.isBuffer(t)?t:b.from(t),r=this.#n-this.#e;if(r<=0){n.byteLength>0&&(this.truncated=!0);return}if(n.byteLength<=r){this.#t.push(n),this.#e+=n.byteLength;return}this.#t.push(n.subarray(0,r)),this.#e+=r,this.truncated=!0}text(){let t=b.concat(this.#t,this.#e).toString("utf8");return this.truncated?`${t}
|
|
4
4
|
[truncated after ${this.#n} bytes]
|
|
5
5
|
`:t}};function J(e){let t=e.maxOutputBytes??se;return Math.max(0,Math.floor(t))}o(J,"maxOutputBytes");function Z(e,t){if(e){if(process.platform==="win32"){let n=["/PID",String(e),"/T"];t==="SIGKILL"&&n.push("/F"),Q("taskkill",n,{stdio:"ignore",windowsHide:!0}).unref();return}try{process.kill(-e,t)}catch(n){if(n.code!=="ESRCH")throw n}}}o(Z,"terminateProcessTree");async function ae(e,t,n={}){return R(e,t,{cwd:n.cwd,inherit:n.inherit,timeoutMs:n.timeoutMs,maxOutputBytes:n.maxOutputBytes,terminateWhenStdoutIncludes:n.terminateWhenStdoutIncludes})}o(ae,"runCommand");async function rt(e,t={}){let n=t.timeoutSeconds===void 0?void 0:t.timeoutSeconds*1e3;return R(e,[],{cwd:t.cwd,env:t.env,shell:!0,inherit:t.inherit,timeoutMs:n,maxOutputBytes:t.maxOutputBytes})}o(rt,"runShellCommand");async function ot(e,t){let n=await ae("git",["remote","get-url",t],{cwd:e});if(n.code!==0)return null;let r=n.stdout.trim();return r.length>0?r:null}o(ot,"getGitRemoteUrl");export{ce as a,le as b,fe as c,me as d,pe as e,S as f,ee as g,Re as h,Pe as i,Ee as j,Ae as k,Ie as l,We as m,qe as n,He as o,Fe as p,re as q,ze as r,Ve as s,Xe as t,R as u,ae as v,rt as w,ot as x};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{$a as P,Va as I,Wa as S,l as k}from"./chunk-TPOW52DO.js";import{a as u,b as r,c as v,e as p,l as s,m as w}from"./chunk-HZP5U2AA.js";import{b as o}from"./chunk-ES2ISFJC.js";import{a as E}from"./chunk-FTQLQJQV.js";var b=o.object({schemaVersion:o.literal("openpond.profileEvaluationComparison.v1"),id:u,tasksetRelease:p,populationHash:r,environmentHash:r,metricPolicyHash:r,limitsHash:r,members:o.array(o.object({runManifest:p,metricResultHash:r,source:S,policy:P.shape.policy,score:o.number().min(0).max(1).nullable()}).strict()).min(2).max(100),createdAt:v}).strict(),x=b.extend({contentHash:r}).strict();function q(n){if(n.members.length<2)throw new Error("A comparison requires at least two runs.");let m=n.members.map(({manifest:e,result:a})=>{if(P.parse(e),w(e,"Taskset run manifest"),k(a),!e.profileEvaluation||e.execution.kind!=="harness")throw new Error("Profile comparison requires released Profile evaluation runs.");if(a.runManifest.id!==e.id||a.runManifest.contentHash!==e.contentHash||a.tasksetRelease.id!==e.tasksetRelease.id||a.tasksetRelease.contentHash!==e.tasksetRelease.contentHash||a.policyHash!==s(e.metricPolicy))throw new Error("Profile comparison metric differs from its run manifest.");return{manifest:e,result:a,source:e.profileEvaluation}}),i=m[0],f=s(i.manifest.population.map(({taskId:e,seed:a,fixtureId:c})=>({taskId:e,seed:a,fixtureId:c}))),l=s(i.manifest.metricPolicy),H=s(i.manifest.limits),R=new Set;for(let e of m){if(R.has(e.manifest.id))throw new Error("Profile comparison repeats a run.");if(R.add(e.manifest.id),e.manifest.tasksetRelease.id!==i.manifest.tasksetRelease.id||e.manifest.tasksetRelease.contentHash!==i.manifest.tasksetRelease.contentHash||s(e.manifest.population.map(({taskId:a,seed:c,fixtureId:d})=>({taskId:a,seed:c,fixtureId:d})))!==f||e.source.environmentHash!==i.source.environmentHash||s(e.manifest.metricPolicy)!==l||s(e.manifest.limits)!==H||e.manifest.runtimeTarget.adapterId!==i.manifest.runtimeTarget.adapterId||e.manifest.runtimeTarget.placement!==i.manifest.runtimeTarget.placement||e.manifest.runtimeTarget.runtimeVersion!==i.manifest.runtimeTarget.runtimeVersion)throw new Error("Profile comparison runs differ in frozen tasks, environment, grading, limits, or runtime.")}let t=b.parse({schemaVersion:"openpond.profileEvaluationComparison.v1",id:n.id,tasksetRelease:i.manifest.tasksetRelease,populationHash:f,environmentHash:i.source.environmentHash,metricPolicyHash:l,limitsHash:H,members:m.map(({manifest:e,result:a,source:c})=>({runManifest:{id:e.id,contentHash:e.contentHash},metricResultHash:a.contentHash,source:c,policy:e.policy,score:a.value})),createdAt:n.createdAt});return x.parse({...t,contentHash:s(t)})}E(q,"createProfileEvaluationComparison");var g=o.object({schemaVersion:o.literal("openpond.profileEvaluationSuiteRun.v1"),id:u,suiteId:u,suiteHash:r,catalogHash:r,profileId:u,sourceRevision:o.string().trim().min(1).max(240),harnessRelease:p,members:o.array(o.object({definitionId:u,runManifest:p,runHash:r,passed:o.boolean(),score:o.number().min(0).max(1).nullable()}).strict()).min(1).max(1e3),passed:o.boolean(),createdAt:v,completedAt:v}).strict(),T=g.extend({contentHash:r}).strict();function G(n){let m=I.parse(n.catalog),i=m.suites.find(t=>t.id===n.suiteId);if(!i)throw new Error(`Profile evaluation suite ${n.suiteId} is absent from its catalog.`);if(n.members.length!==i.definitionIds.length)throw new Error("Profile evaluation suite has an incomplete run population.");let f=n.members.map((t,e)=>{let a=i.definitionIds[e],c=m.definitions.find(y=>y.id===a);if(!c||t.definitionId!==a)throw new Error("Profile evaluation suite members differ from declared definition order.");let d=P.parse(t.manifest);w(d,"Profile evaluation suite member manifest");let h=d.profileEvaluation;if(!h||d.execution.kind!=="harness"||h.definitionId!==a||h.definitionHash!==s(c)||s(h.target)!==s(c.target)||h.catalogHash!==s(m)||d.tasksetRelease.id!==c.tasksetRelease.id||d.tasksetRelease.contentHash!==c.tasksetRelease.contentHash)throw new Error("Profile evaluation suite member differs from its released definition.");return{...t,manifest:d,source:h}}),l=f[0].source,H=f[0].manifest.policy;if(H.kind!=="model")throw new Error("Profile evaluation suite requires model runs.");for(let t of f){if(t.source.profileId!==l.profileId||t.source.sourceRevision!==l.sourceRevision||t.source.harnessRelease.id!==l.harnessRelease.id||t.source.harnessRelease.contentHash!==l.harnessRelease.contentHash)throw new Error("Profile evaluation suite members use different Profile releases.");let e=t.manifest.policy;if(e.kind!=="model"||s(e)!==s(H))throw new Error("Profile evaluation suite members use different model configurations.")}let R=g.parse({schemaVersion:"openpond.profileEvaluationSuiteRun.v1",id:n.id,suiteId:i.id,suiteHash:s(i),catalogHash:s(m),profileId:l.profileId,sourceRevision:l.sourceRevision,harnessRelease:l.harnessRelease,members:f.map(t=>({definitionId:t.definitionId,runManifest:{id:t.manifest.id,contentHash:t.manifest.contentHash},runHash:t.runHash,passed:t.passed,score:t.score})),passed:f.every(t=>t.passed),createdAt:n.createdAt,completedAt:n.completedAt});return T.parse({...R,contentHash:s(R)})}E(G,"createProfileEvaluationSuiteRun");export{x as a,q as b,T as c,G as d};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{p as n,q as o}from"./chunk-HZP5U2AA.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";var u=e.enum(["active","preview","planned","deprecated"]),y=e.enum(["openpond-account","openpond-managed","codex-login","chatgpt-subscription","local-byok","hosted-byok","custom"]),T=e.enum(["none","local_secret","env","openpond_account","codex_login","chatgpt_subscription","hosted"]),v=e.object({connected:e.boolean().default(!1),source:T.default("none"),redacted:e.string().nullable().default(null),lastValidatedAt:e.string().nullable().default(null),lastError:e.string().nullable().default(null)}),m=e.object({hostedOpChat:e.boolean().default(!1),localRuntime:e.boolean().default(!0),localByok:e.boolean().default(!1),hostedByok:e.boolean().default(!1)}),D=e.enum(["hosted","provider","manual","none"]),p=e.object({chatCompletions:e.boolean().default(!0),streaming:e.boolean().default(!0),modelDiscovery:D.default("none"),toolCalling:e.boolean().default(!1),reasoning:e.boolean().default(!1),imageInput:e.boolean().default(!1),structuredOutput:e.boolean().default(!1)}),L=e.enum(["hosted","provider","curated","manual","cache"]),f=e.object({streaming:e.boolean().default(!0),toolCalling:e.boolean().default(!1),reasoning:e.boolean().default(!1),reasoningEfforts:e.array(e.enum(["off","low","medium","high","xhigh","max"])).default([]),vision:e.boolean().default(!1),structuredOutput:e.boolean().default(!1)}),O=e.object({id:e.string().trim().min(1).max(300),providerId:n,displayName:e.string().trim().min(1).max(300),contextWindow:e.number().int().positive().nullable().default(null),outputLimit:e.number().int().positive().nullable().default(null),lifecycleStatus:u.default("active"),source:L,capabilities:f.default(()=>f.parse({})),raw:e.record(e.string(),e.unknown()).optional()}),N=e.object({providerId:n,models:e.array(O).default([]),fetchedAt:e.string().nullable().default(null),lastError:e.string().nullable().default(null),source:e.enum(["none","hosted","provider","curated","manual"]).default("none")}),U=e.object({enabled:e.boolean().default(!1),baseUrl:e.string().trim().min(1).max(2048).nullable().default(null),defaultModel:e.string().trim().min(1).max(300).nullable().default(null),modelOverrides:e.array(e.string().trim().min(1).max(300)).max(500).default([]),updatedAt:e.string().nullable().default(null)}),z=e.object({enabled:e.boolean().optional(),baseUrl:e.string().trim().min(1).max(2048).nullable().optional(),defaultModel:e.string().trim().min(1).max(300).nullable().optional(),modelOverrides:e.array(e.string().trim().min(1).max(300)).max(500).optional()}),F=e.object({id:e.string().trim().min(1).max(300),displayName:e.string().trim().min(1).max(300),contextWindow:e.number().int().positive().nullable().optional(),outputLimit:e.number().int().positive().nullable().optional(),lifecycleStatus:u.optional(),capabilities:f.partial().optional()}),W=e.object({id:n,displayName:e.string().trim().min(1).max(160),lifecycleStatus:u.default("active"),credentialModes:e.array(y).default([]),routing:m,capabilities:p,defaultEnabled:e.boolean().optional(),defaultBaseUrl:e.string().trim().min(1).max(2048).nullable().optional(),defaultModel:e.string().trim().min(1).max(300).nullable().optional(),modelCacheSource:e.enum(["none","hosted","provider","curated","manual"]),models:e.array(F).default([])}),Ae=e.object({version:e.literal(1).default(1),generatedAt:e.string().datetime(),providers:e.array(W)}),B=e.object({id:n,displayName:e.string().trim().min(1).max(160),lifecycleStatus:u.default("active"),credentialModes:e.array(y).default([]),routing:m.default(()=>m.parse({})),capabilities:p.default(()=>p.parse({})),credential:v.default(()=>v.parse({})),enabled:e.boolean().default(!1),available:e.boolean().default(!1),defaultModel:e.string().trim().min(1).max(300).nullable().default(null),modelIds:e.array(e.string().trim().min(1).max(300)).max(1e3).default([]),lastError:e.string().nullable().default(null)}),q=e.object({version:e.literal(1).default(1),providers:e.record(e.string(),U).default({}),statuses:e.record(e.string(),B).default({}),modelCaches:e.record(e.string(),N).default({}),updatedAt:e.string().nullable().default(null)}),Ce=e.object({providers:e.record(e.string(),z).optional()}),ke=e.object({source:e.enum(["local_secret","env"]).default("local_secret"),value:e.string().min(1).max(2e4).optional(),envVar:e.string().trim().min(1).max(160).optional()}).superRefine((t,r)=>{t.source==="env"&&!t.envVar&&r.addIssue({code:"custom",path:["envVar"],message:"envVar is required when provider credential source is env."}),t.source==="local_secret"&&!t.value&&r.addIssue({code:"custom",path:["value"],message:"value is required when provider credential source is local_secret."})}),Ee=e.object({source:e.enum(["local_secret","env","chatgpt_subscription"]).optional()}),Ie=e.object({modelId:e.string().trim().min(1).max(300).optional(),baseUrl:e.string().trim().min(1).max(2048).optional()}),Me=e.object({query:e.string().trim().max(200).optional(),refresh:e.boolean().default(!1),limit:e.number().int().positive().max(500).default(100)}),je=e.object({query:e.string().trim().max(200).optional(),force:e.boolean().default(!1)});var V=["coding","research","review","test","docs","planner","summarizer"],Oe=e.enum(V),g=e.string().trim().min(1).max(80).regex(/^[a-z][a-z0-9_-]*$/),P=e.enum(["none","worktree","copy_on_write"]),_=e.enum(["read_only","workspace_write","full_tools"]),R=e.enum(["disabled","parent_scoped"]),H=e.enum(["manual","balanced","proactive"]),G=e.enum(["queued","running","completed","failed","cancelled","needs_resume"]),Y=["subagent.started","subagent.reported","subagent.completed","subagent.progress","subagent.failed","subagent.cancelled","subagent.cleanup","subagent.workspace_retained","subagent.workspace_retention_expiring","subagent.archived","subagent.message"],Ne=e.enum(Y),X=[{id:"coding",label:"Coding",description:"Make scoped code changes and return patch, diff, and test evidence.",defaultToolPolicy:"full_tools"},{id:"research",label:"Research",description:"Inspect docs, code, web or repo context and return cited findings.",defaultToolPolicy:"full_tools"},{id:"review",label:"Review",description:"Inspect diffs or implementation plans and return ranked findings.",defaultToolPolicy:"full_tools"},{id:"test",label:"Test",description:"Run or design validation in isolation and return command evidence.",defaultToolPolicy:"full_tools"},{id:"docs",label:"Docs",description:"Update or draft project documentation in an isolated target.",defaultToolPolicy:"full_tools"},{id:"planner",label:"Planner",description:"Decompose a goal into child assignments and context packs.",defaultToolPolicy:"full_tools"},{id:"summarizer",label:"Summarizer",description:"Compact transcripts, child results, and goal state for parent context.",defaultToolPolicy:"full_tools"}],b=e.object({id:g,enabled:e.boolean().default(!0),modelRef:o.nullable().default(null),isolationMode:P.default("none"),maxConcurrentRuns:e.number().int().min(1).max(16).default(1),toolPolicy:_.default("read_only"),background:e.boolean().default(!0),peerMessages:R.default("parent_scoped")}),x=e.object({enabled:e.boolean().default(!0),workspaceDefaultsVersion:e.literal(1).default(1),toolDefaultsVersion:e.literal(1).default(1),delegationMode:H.default("manual"),defaultModelRef:o.nullable().default(null),roles:e.array(b).max(64).default(()=>C()),maxConcurrentRuns:e.number().int().min(1).max(32).default(4),maxConcurrentRunsPerProvider:e.number().int().min(1).max(32).nullable().default(2),maxConcurrentRunsPerWorkspaceTarget:e.number().int().min(1).max(32).nullable().default(1)}).transform(t=>({...t,roles:oe(t.roles)})),i=e.object({kind:e.enum(["session","turn","file","diff","artifact"]),id:e.string().trim().min(1).max(500),label:e.string().trim().min(1).max(500)}),K=e.object({kind:e.enum(["retain_with_parent"]).default("retain_with_parent"),messageRetentionDays:e.number().int().min(1).max(3650).nullable().default(null),artifactRetentionDays:e.number().int().min(1).max(3650).nullable().default(null),cleanupAfterExpiry:e.boolean().default(!1)}).default(()=>({kind:"retain_with_parent",messageRetentionDays:null,artifactRetentionDays:null,cleanupAfterExpiry:!1})),Z=e.enum(["orient","edit","validate","report"]),Q=e.object({command:e.string().trim().min(1).max(2e3),status:e.enum(["passed","failed","unknown"]).default("unknown"),exitCode:e.number().int().nullable().default(null),outputSummary:e.string().trim().max(5e3).nullable().default(null),startedAt:e.string().nullable().default(null),completedAt:e.string().nullable().default(null)}),$=e.object({phase:Z.default("orient"),inspectedFiles:e.array(e.string().trim().min(1).max(1e3)).max(500).default([]),inspectedResources:e.array(e.string().trim().min(1).max(1e3)).max(500).default([]),repeatedSearches:e.array(e.string().trim().min(1).max(1e3)).max(200).default([]),repeatedReads:e.array(e.string().trim().min(1).max(1e3)).max(200).default([]),repeatedCommands:e.array(e.string().trim().min(1).max(1e3)).max(200).default([]),changedFiles:e.array(e.string().trim().min(1).max(1e3)).max(500).default([]),patchRefs:e.array(i).max(100).default([]),validationAttempts:e.array(Q).max(100).default([]),latestMeaningfulActivity:e.string().trim().max(5e3).nullable().default(null),currentBlocker:e.string().trim().max(5e3).nullable().default(null),updatedAt:e.string().nullable().default(null)}).default(()=>({phase:"orient",inspectedFiles:[],inspectedResources:[],repeatedSearches:[],repeatedReads:[],repeatedCommands:[],changedFiles:[],patchRefs:[],validationAttempts:[],latestMeaningfulActivity:null,currentBlocker:null,updatedAt:null})),J=e.object({summary:e.string().trim().max(2e4).default(""),findings:e.array(e.string().trim().min(1).max(5e3)).max(200).default([]),artifacts:e.array(i).max(200).default([]),patchRef:i.nullable().default(null),diffRef:i.nullable().default(null),testsRun:e.array(e.string().trim().min(1).max(2e3)).max(100).default([]),blockers:e.array(e.string().trim().min(1).max(5e3)).max(100).default([]),confidence:e.enum(["low","medium","high"]).nullable().default(null),followUpNeeded:e.boolean().default(!1)}),ee=e.object({id:e.string().trim().min(1).max(200),parentSessionId:e.string().trim().min(1).max(200),parentTurnId:e.string().trim().min(1).max(200).nullable().default(null),childSessionId:e.string().trim().min(1).max(200).nullable().default(null),roleId:g,objective:e.string().trim().min(1).max(5e4),modelRef:o.nullable().default(null),isolationMode:P.default("none"),toolPolicy:_.default("read_only"),background:e.boolean().default(!0),peerMessages:R.default("parent_scoped"),status:G.default("queued"),progress:$,evidenceRetention:K,createdAt:e.string(),startedAt:e.string().nullable().default(null),completedAt:e.string().nullable().default(null),updatedAt:e.string().nullable().default(null),error:e.string().nullable().default(null),report:J.nullable().default(null),metadata:e.record(e.string(),e.unknown()).optional().default({})}),A=e.enum(["cleanup","archive","cleanup_and_archive"]),Ue=e.object({action:A,reason:e.string().trim().min(1).max(2e3).nullable().default(null)}),ze=e.object({action:A,run:ee,workspaceCleanup:e.record(e.string(),e.unknown()).nullable().default(null),sessionArchive:e.record(e.string(),e.unknown()).nullable().default(null),nextStep:e.string()}),te=e.enum(["question","answer","handoff","artifact","status","blocker"]),ae=e.enum(["normal","interrupt"]),ne=e.object({inputIds:e.array(e.string()).default([]),status:e.enum(["pending","delivered","undelivered"]).default("pending"),deliveredRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),acknowledgedRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),deliveredParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),acknowledgedParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeRequestedParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeQueuedParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeDeferredParentSessionId:e.string().trim().min(1).max(200).nullable().default(null),wakeParentReason:e.string().trim().min(1).max(1e3).nullable().default(null),wakeRequestedRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),wakeInterruptedRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),wakeDeferredRunIds:e.array(e.string().trim().min(1).max(200)).max(200).default([]),reason:e.string().trim().min(1).max(1e3).nullable().default(null)}),Fe=e.object({id:e.string().trim().min(1).max(200),fromRunId:e.string().trim().min(1).max(200),toRunId:e.string().trim().min(1).max(200).nullable().default(null),toRole:g.nullable().default(null),kind:te,priority:ae.optional(),body:e.string().trim().min(1).max(5e4),refs:e.array(i).max(100).default([]),delivery:ne.optional(),createdAt:e.string()});function C(){return X.map(t=>b.parse({id:t.id,toolPolicy:t.defaultToolPolicy}))}c(C,"defaultSubagentRoleSettings");function oe(t){let r=C(),d=new Map(r.map(l=>[l.id,l])),S=[];for(let l of t??[]){let s=b.parse(l);d.has(s.id)?d.set(s.id,s):S.push(s)}return[...r.map(l=>d.get(l.id)??l),...S]}c(oe,"normalizeSubagentRoleSettings");var Ge="gpt-5.6-sol",le="openpond-chat",Ye="accounts/fireworks/models/deepseek-v4-flash",re="openpond",ie=le,se="default",ue="high",de="ask",M=n,ce=e.enum(["default","auto-review","full-access"]),me=e.enum(["ask","full-access","disabled"]),pe=e.enum(["off","low","medium","high","xhigh","max"]),Xe=e.enum(["sandbox_app","local_project","sandbox","sandbox_template"]),Ke=e.enum(["openpond"]),fe=e.enum(["provider_usage","provider_tokenizer","model_family","heuristic"]),Ze=e.object({provider:M,model:e.string().min(1),usedTokens:e.number().int().nonnegative(),maxContextTokens:e.number().int().positive(),usableContextTokens:e.number().int().positive(),percentFull:e.number().min(0).max(100),source:fe,updatedAtEventId:e.string().nullable()}),k=e.object({pinned:e.boolean().default(!1),projects:e.boolean().default(!1),cloudProjects:e.boolean().default(!1),chats:e.boolean().default(!1),savedForLater:e.boolean().default(!0)}),ge=e.enum(["auto","off"]),be=e.enum(["typescript","python","rust"]),j=e.enum(["auto","disabled","custom"]),a=e.object({mode:j.default("auto"),customCommand:e.string().trim().max(4096).default("")}),h=e.object({languageServers:ge.default("auto"),diagnosticsWhileEditing:e.boolean().default(!0),checkOnSave:e.boolean().default(!0),languages:e.object({typescript:a.optional().default(()=>a.parse({})),python:a.optional().default(()=>a.parse({})),rust:a.optional().default(()=>a.parse({}))}).optional().default(()=>({typescript:a.parse({}),python:a.parse({}),rust:a.parse({})}))}),xe=e.object({language:be,label:e.string(),mode:j,status:e.enum(["found","missing","disabled","error"]),command:e.string().nullable(),message:e.string().nullable()}),Qe=e.object({settings:h,languages:e.array(xe),updatedAt:e.string()}),he=e.object({id:e.string(),root:e.string(),status:e.enum(["starting","connected","unavailable","error"]),message:e.string().nullable().optional().default(null),openedDocuments:e.number().int().nonnegative(),pendingRequests:e.number().int().nonnegative(),lastUsedAt:e.string(),stderrTail:e.string()}),$e=e.object({clients:e.array(he),maxClients:e.number().int().positive(),idleTimeoutMs:e.number().int().positive(),updatedAt:e.string()}),E=e.object({autoEnabled:e.boolean().default(!0),triggerPercent:e.number().int().min(50).max(95).default(85),summaryModel:e.enum(["same_model"]).default("same_model")}),I=e.object({defaultModelRef:o.nullable().default(null),creationMode:e.enum(["defaults","customize"]).default("customize"),autoApproveEvidence:e.boolean().default(!1)}),Je=e.object({defaultChatProvider:M.default(re),defaultChatModel:e.string().min(1).default(ie),defaultChatModelRef:o.nullable().optional(),subagents:x.optional().default(()=>x.parse({})),codexPermissionMode:ce.default(se),codexReasoningEffort:pe.default(ue),openPondCommandAccessMode:me.default(de),defaultBranchPrefix:e.string().trim().max(48).default("feat/"),defaultNewProjectDirectory:e.string().trim().max(4096).default(""),defaultTeamId:e.string().trim().max(191).nullable().default(null),advancedWorkspaceControls:e.boolean().default(!1),steerActiveResponses:e.boolean().default(!0),contextCompaction:E.optional().default(()=>E.parse({})),training:I.optional().default(()=>I.parse({})),sidebarWidth:e.number().int().min(244).max(560).default(332),diffPanelWidth:e.number().int().min(320).max(2400).default(560),sidebarSectionsCollapsed:k.optional().default(()=>k.parse({})),editor:h.optional().default(()=>h.parse({}))});var Se="default",ve=[{id:"default",name:"Balanced",source:"built_in",description:"Clear, useful, and concise.",content:`You are OpenPond Chat, a clear and useful AI assistant.
|
|
3
|
+
Be concise, accurate, and direct.
|
|
4
|
+
Do not use emojis.
|
|
5
|
+
Ask only when missing information would materially change the answer.
|
|
6
|
+
Prioritize practical next steps.`},{id:"pragmatic",name:"Pragmatic",source:"built_in",description:"Direct, practical, and engineering-minded.",content:`You are a pragmatic AI assistant with strong engineering judgment.
|
|
7
|
+
Be direct, concrete, and outcome-focused.
|
|
8
|
+
Do not use emojis.
|
|
9
|
+
Prefer simple working solutions over clever abstractions.
|
|
10
|
+
Call out weak assumptions plainly.`},{id:"friendly",name:"Friendly",source:"built_in",description:"Warm, conversational, and approachable.",content:`You are a friendly AI assistant.
|
|
11
|
+
Use a warm, conversational tone without filler.
|
|
12
|
+
Do not use emojis.
|
|
13
|
+
Explain decisions clearly and keep the user moving.
|
|
14
|
+
Be patient when clarifying tradeoffs.`},{id:"formal",name:"Formal",source:"built_in",description:"Polished, careful, and professional.",content:`You are a formal AI assistant.
|
|
15
|
+
Use precise, professional language.
|
|
16
|
+
Do not use emojis.
|
|
17
|
+
Structure answers clearly and avoid casual phrasing.
|
|
18
|
+
State uncertainty and assumptions explicitly.`},{id:"technical",name:"Technical",source:"built_in",description:"Precise, detailed, and implementation-focused.",content:`You are a technical AI assistant.
|
|
19
|
+
Prioritize correctness, implementation detail, and edge cases.
|
|
20
|
+
Do not use emojis.
|
|
21
|
+
Use concise explanations, but include necessary specifics.
|
|
22
|
+
Surface risks, constraints, and verification steps.`}],w=e.string().trim().min(1).max(120),ye=e.object({id:w,name:e.string(),source:e.enum(["built_in","custom"]).default("custom"),description:e.string(),content:e.string()}),et=e.object({activeTemplateId:w.default(Se),customized:e.boolean().default(!1),soul:e.string(),soulPath:e.string().nullable(),updatedAt:e.string().nullable(),templates:e.array(ye).default(()=>[...ve])}),tt=e.object({id:e.string(),host:e.string(),port:e.number(),startedAt:e.string(),storePath:e.string(),version:e.string(),runtimeVersion:e.string()});export{v as a,p as b,O as c,N as d,U as e,W as f,Ae as g,B as h,q as i,Ce as j,ke as k,Ee as l,Ie as m,Me as n,je as o,g as p,P as q,_ as r,R as s,H as t,Y as u,X as v,x as w,$ as x,ee as y,Ue as z,ne as A,Fe as B,Ge as C,le as D,Ye as E,re as F,ue as G,de as H,M as I,ce as J,me as K,pe as L,Xe as M,Ze as N,k as O,h as P,Qe as Q,$e as R,E as S,I as T,Je as U,Se as V,ve as W,w as X,et as Y,tt as Z};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{$ as Ce,B as Y0,G as be,H as D0,Ka as eA,M as je,Ma as pe,P as Ix,Qa as he,R as xA,Sa as rA,T as le,W as de,_ as me,b as M,c as oe,d as Hx,f as fe,fa as N,ga as o0,ha as z,ia as E8,j as o8,ka as ox,la as c8,ma as X,n as Ee,o as ce,p as Gx,q as Y8,r as sx,s as s0,t as f8,va as AA,wa as ue,xa as fx,y as W0,ya as De}from"./chunk-TU5ITNMX.js";import{Da as et,g as se}from"./chunk-QUNRWDVO.js";import{c as FA}from"./chunk-IR3YJWPW.js";import{a as V,b as F0,c as w0,d as n0,e as g,g as Bx,h as u0,l as _,m as Tx}from"./chunk-HZP5U2AA.js";import{b as x}from"./chunk-ES2ISFJC.js";import{a as n,b as xt,c as At,e as Be}from"./chunk-FTQLQJQV.js";var ur=At((Co,Cr)=>{"use strict";var ya=Object.create,Kx=Object.defineProperty,$a=Object.getOwnPropertyDescriptor,hA=Object.getOwnPropertyNames,Ta=Object.getPrototypeOf,Ha=Object.prototype.hasOwnProperty,Ga=n((A,e,r)=>e in A?Kx(A,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):A[e]=r,"__defNormalProp"),Ia=n((A,e)=>function(){return A&&(e=(0,A[hA(A)[0]])(A=0)),e},"__esm"),Qa=n((A,e)=>function(){return e||(0,A[hA(A)[0]])((e={exports:{}}).exports,e),e.exports},"__commonJS"),br=n((A,e)=>{for(var r in e)Kx(A,r,{get:e[r],enumerable:!0})},"__export"),jr=n((A,e,r,F)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of hA(e))!Ha.call(A,t)&&t!==r&&Kx(A,t,{get:n(()=>e[t],"get"),enumerable:!(F=$a(e,t))||F.enumerable});return A},"__copyProps"),Pa=n((A,e,r)=>(r=A!=null?ya(Ta(A)):{},jr(e||!A||!A.__esModule?Kx(r,"default",{value:A,enumerable:!0}):r,A)),"__toESM"),Ma=n(A=>jr(Kx({},"__esModule",{value:!0}),A),"__toCommonJS"),Na=n((A,e,r)=>(Ga(A,typeof e!="symbol"?e+"":e,r),r),"__publicField"),lr={};br(lr,{QuickJSFFI:n(()=>dr,"QuickJSFFI")});var dr,Oa=Ia({"src/ffi.ts"(){"use strict";dr=class{static{n(this,"QuickJSFFI")}constructor(A){this.module=A,this.DEBUG=!1,this.QTS_Throw=this.module.cwrap("QTS_Throw","number",["number","number"]),this.QTS_NewError=this.module.cwrap("QTS_NewError","number",["number"]),this.QTS_RuntimeSetMemoryLimit=this.module.cwrap("QTS_RuntimeSetMemoryLimit",null,["number","number"]),this.QTS_RuntimeComputeMemoryUsage=this.module.cwrap("QTS_RuntimeComputeMemoryUsage","number",["number","number"]),this.QTS_RuntimeDumpMemoryUsage=this.module.cwrap("QTS_RuntimeDumpMemoryUsage","number",["number"]),this.QTS_RecoverableLeakCheck=this.module.cwrap("QTS_RecoverableLeakCheck","number",[]),this.QTS_BuildIsSanitizeLeak=this.module.cwrap("QTS_BuildIsSanitizeLeak","number",[]),this.QTS_RuntimeSetMaxStackSize=this.module.cwrap("QTS_RuntimeSetMaxStackSize",null,["number","number"]),this.QTS_GetUndefined=this.module.cwrap("QTS_GetUndefined","number",[]),this.QTS_GetNull=this.module.cwrap("QTS_GetNull","number",[]),this.QTS_GetFalse=this.module.cwrap("QTS_GetFalse","number",[]),this.QTS_GetTrue=this.module.cwrap("QTS_GetTrue","number",[]),this.QTS_NewHostRef=this.module.cwrap("QTS_NewHostRef","number",["number","number"]),this.QTS_GetHostRefId=this.module.cwrap("QTS_GetHostRefId","number",["number"]),this.QTS_NewRuntime=this.module.cwrap("QTS_NewRuntime","number",[]),this.QTS_FreeRuntime=this.module.cwrap("QTS_FreeRuntime",null,["number"]),this.QTS_NewContext=this.module.cwrap("QTS_NewContext","number",["number","number"]),this.QTS_FreeContext=this.module.cwrap("QTS_FreeContext",null,["number"]),this.QTS_FreeValuePointer=this.module.cwrap("QTS_FreeValuePointer",null,["number","number"]),this.QTS_FreeValuePointerRuntime=this.module.cwrap("QTS_FreeValuePointerRuntime",null,["number","number"]),this.QTS_FreeVoidPointer=this.module.cwrap("QTS_FreeVoidPointer",null,["number","number"]),this.QTS_FreeCString=this.module.cwrap("QTS_FreeCString",null,["number","number"]),this.QTS_DupValuePointer=this.module.cwrap("QTS_DupValuePointer","number",["number","number"]),this.QTS_NewObject=this.module.cwrap("QTS_NewObject","number",["number"]),this.QTS_NewObjectProto=this.module.cwrap("QTS_NewObjectProto","number",["number","number"]),this.QTS_NewArray=this.module.cwrap("QTS_NewArray","number",["number"]),this.QTS_NewArrayBuffer=this.module.cwrap("QTS_NewArrayBuffer","number",["number","number","number"]),this.QTS_NewFloat64=this.module.cwrap("QTS_NewFloat64","number",["number","number"]),this.QTS_GetFloat64=this.module.cwrap("QTS_GetFloat64","number",["number","number"]),this.QTS_NewString=this.module.cwrap("QTS_NewString","number",["number","number"]),this.QTS_GetString=this.module.cwrap("QTS_GetString","number",["number","number"]),this.QTS_GetArrayBuffer=this.module.cwrap("QTS_GetArrayBuffer","number",["number","number"]),this.QTS_GetArrayBufferLength=this.module.cwrap("QTS_GetArrayBufferLength","number",["number","number"]),this.QTS_NewSymbol=this.module.cwrap("QTS_NewSymbol","number",["number","number","number"]),this.QTS_GetSymbolDescriptionOrKey=this.module.cwrap("QTS_GetSymbolDescriptionOrKey","number",["number","number"]),this.QTS_IsGlobalSymbol=this.module.cwrap("QTS_IsGlobalSymbol","number",["number","number"]),this.QTS_IsJobPending=this.module.cwrap("QTS_IsJobPending","number",["number"]),this.QTS_ExecutePendingJob=this.module.cwrap("QTS_ExecutePendingJob","number",["number","number","number"]),this.QTS_GetProp=this.module.cwrap("QTS_GetProp","number",["number","number","number"]),this.QTS_GetPropNumber=this.module.cwrap("QTS_GetPropNumber","number",["number","number","number"]),this.QTS_SetProp=this.module.cwrap("QTS_SetProp",null,["number","number","number","number"]),this.QTS_DefineProp=this.module.cwrap("QTS_DefineProp",null,["number","number","number","number","number","number","boolean","boolean","boolean"]),this.QTS_GetOwnPropertyNames=this.module.cwrap("QTS_GetOwnPropertyNames","number",["number","number","number","number","number"]),this.QTS_Call=this.module.cwrap("QTS_Call","number",["number","number","number","number","number"]),this.QTS_ResolveException=this.module.cwrap("QTS_ResolveException","number",["number","number"]),this.QTS_Dump=this.module.cwrap("QTS_Dump","number",["number","number"]),this.QTS_Eval=this.module.cwrap("QTS_Eval","number",["number","number","number","string","number","number"]),this.QTS_GetModuleNamespace=this.module.cwrap("QTS_GetModuleNamespace","number",["number","number"]),this.QTS_Typeof=this.module.cwrap("QTS_Typeof","number",["number","number"]),this.QTS_GetLength=this.module.cwrap("QTS_GetLength","number",["number","number","number"]),this.QTS_IsEqual=this.module.cwrap("QTS_IsEqual","number",["number","number","number","number"]),this.QTS_GetGlobalObject=this.module.cwrap("QTS_GetGlobalObject","number",["number"]),this.QTS_NewPromiseCapability=this.module.cwrap("QTS_NewPromiseCapability","number",["number","number"]),this.QTS_PromiseState=this.module.cwrap("QTS_PromiseState","number",["number","number"]),this.QTS_PromiseResult=this.module.cwrap("QTS_PromiseResult","number",["number","number"]),this.QTS_TestStringArg=this.module.cwrap("QTS_TestStringArg",null,["string"]),this.QTS_GetDebugLogEnabled=this.module.cwrap("QTS_GetDebugLogEnabled","number",["number"]),this.QTS_SetDebugLogEnabled=this.module.cwrap("QTS_SetDebugLogEnabled",null,["number","number"]),this.QTS_BuildIsDebug=this.module.cwrap("QTS_BuildIsDebug","number",[]),this.QTS_BuildIsAsyncify=this.module.cwrap("QTS_BuildIsAsyncify","number",[]),this.QTS_NewFunction=this.module.cwrap("QTS_NewFunction","number",["number","string","number","boolean","number"]),this.QTS_ArgvGetJSValueConstPointer=this.module.cwrap("QTS_ArgvGetJSValueConstPointer","number",["number","number"]),this.QTS_RuntimeEnableInterruptHandler=this.module.cwrap("QTS_RuntimeEnableInterruptHandler",null,["number"]),this.QTS_RuntimeDisableInterruptHandler=this.module.cwrap("QTS_RuntimeDisableInterruptHandler",null,["number"]),this.QTS_RuntimeEnableModuleLoader=this.module.cwrap("QTS_RuntimeEnableModuleLoader",null,["number","number"]),this.QTS_RuntimeDisableModuleLoader=this.module.cwrap("QTS_RuntimeDisableModuleLoader",null,["number"]),this.QTS_bjson_encode=this.module.cwrap("QTS_bjson_encode","number",["number","number"]),this.QTS_bjson_decode=this.module.cwrap("QTS_bjson_decode","number",["number","number"])}}}}),La=Qa({"dist/emscripten-module.cjs"(A,e){"use strict";var r=(()=>{var F=globalThis.document?.currentScript?.src;return async function(t={}){var v,a=t,B=!!globalThis.window,c=!!globalThis.WorkerGlobalScope,i=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";function s(f){f={log:f||function(){}};for(let b of s.Pa)b(f);return a.quickJSEmscriptenExtensions=f}n(s,"q"),s.Pa=[],a.quickjsEmscriptenInit=s,s.Pa.push(f=>{f.getWasmMemory=function(){return z0}});var E="./this.program",d=n((f,b)=>{throw b},"u");if(typeof __filename<"u"?F=__filename:c&&(F=self.location.href),i){var u=xt("fs");1<process.argv.length&&(E=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),d=n((f,b)=>{throw process.exitCode=f,b},"u")}else if(B||c)try{new URL(".",F)}catch{}var h=console.log.bind(console),m=console.error.bind(console),q=!1,w;function $(f){for(var b=0,o=f.length,C=new Uint8Array(o),G;b<o;++b)G=f.charCodeAt(b),C[b]=~G>>8&G;return C}n($,"ca");var p,e0,U,r0,Q,Z,l0=!1;function K0(){var f=z0.buffer;a.HEAP8=U=new Int8Array(f),new Int16Array(f),a.HEAPU8=r0=new Uint8Array(f),new Uint16Array(f),Q=new Int32Array(f),Z=new Uint32Array(f),new Float32Array(f),new Float64Array(f),new BigInt64Array(f),new BigUint64Array(f)}n(K0,"H");function B0(f){throw a.onAbort?.(f),f="Aborted("+f+")",m(f),q=!0,f=new WebAssembly.RuntimeError(f+". Build with -sASSERTIONS for more info."),e0?.(f),f}n(B0,"I");var J8;async function LF(f){return f}n(LF,"da");async function VF(f){var b=J8;try{var o=await LF(b);return await WebAssembly.instantiate(o,f)}catch(C){m(`failed to asynchronously prepare wasm: ${C}`),B0(C)}}n(VF,"ea");async function JF(f){return VF(f)}n(JF,"fa");class U8{static{n(this,"K")}constructor(b){Na(this,"name","ExitStatus"),this.message=`Program terminated with exit(${b})`,this.status=b}}for(var xe=f=>{for(;0<f.length;)f.shift()(a)},Ae=[],ee=[],UF=()=>{var f=a.preRun.shift();ee.push(f)},B8=!0,z0,re=new TextDecoder,Fe=(f,b,o,C)=>{if(o=b+o,C)return o;for(;f[b]&&!(b>=o);)++b;return b},Q0=(f,b,o)=>f?re.decode(r0.subarray(f,Fe(r0,f,b,o))):"",Z8=0,ZF=[0,31,60,91,121,152,182,213,244,274,305,335],KF=[0,31,59,90,120,151,181,212,243,273,304,334],yx={},te=f=>{w=f,B8||0<Z8||(a.onExit?.(f),q=!0),d(f,new U8(f))},zF=f=>{if(!q)try{f()}catch(b){b instanceof U8||b=="unwind"||d(1,b)}finally{if(!(B8||0<Z8))try{w=f=w,te(f)}catch(b){b instanceof U8||b=="unwind"||d(1,b)}}},X0=(f,b,o)=>{var C=r0;if(!(0<o))return 0;var G=b;o=b+o-1;for(var O=0;O<f.length;++O){var L=f.codePointAt(O);if(127>=L){if(b>=o)break;C[b++]=L}else if(2047>=L){if(b+1>=o)break;C[b++]=192|L>>6,C[b++]=128|L&63}else if(65535>=L){if(b+2>=o)break;C[b++]=224|L>>12,C[b++]=128|L>>6&63,C[b++]=128|L&63}else{if(b+3>=o)break;C[b++]=240|L>>18,C[b++]=128|L>>12&63,C[b++]=128|L>>6&63,C[b++]=128|L&63,O++}}return C[b]=0,b-G},K8={},ae=()=>{if(!z8){var f={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:E||"./this.program"},b;for(b in K8)K8[b]===void 0?delete f[b]:f[b]=K8[b];var o=[];for(b in f)o.push(`${b}=${f[b]}`);z8=o}return z8},z8,X8=f=>{for(var b=0,o=0;o<f.length;++o){var C=f.charCodeAt(o);127>=C?b++:2047>=C?b+=2:55296<=C&&57343>=C?(b+=4,++o):b+=3}return b},XF=[null,[],[]],WF=(f,b,o,C)=>{var G={string:n(Y=>{var K=0;if(Y!=null&&Y!==0){K=X8(Y)+1;var _0=W8(K);X0(Y,_0,K),K=_0}return K},"string"),array:n(Y=>{var K=W8(Y.length);return U.set(Y,K),K},"array")};f=a["_"+f];var O=[],L=0;if(C)for(var v0=0;v0<C.length;v0++){var ix=G[o[v0]];ix?(L===0&&(L=ie()),O[v0]=ix(C[v0])):O[v0]=C[v0]}return o=f(...O),o=(function(Y){return L!==0&&ne(L),b==="string"?Q0(Y):b==="boolean"?!!Y:Y})(o)},$x=new Uint8Array(123),P0=25;0<=P0;--P0)$x[48+P0]=52+P0,$x[65+P0]=P0,$x[97+P0]=26+P0;if($x[43]=62,$x[47]=63,a.wasmMemory?z0=a.wasmMemory:z0=new WebAssembly.Memory({initial:(a.INITIAL_MEMORY||16777216)/65536,maximum:32768}),K0(),a.noExitRuntime&&(B8=a.noExitRuntime),a.print&&(h=a.print),a.printErr&&(m=a.printErr),a.thisProgram&&(E=a.thisProgram),a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.shift()();a.cwrap=(f,b,o,C)=>{var G=!o||o.every(O=>O==="number"||O==="boolean");return b!=="string"&&G&&!C?a["_"+f]:(...O)=>WF(f,b,o,O)},a.UTF8ToString=Q0,a.stringToUTF8=(f,b,o)=>X0(f,b,o),a.lengthBytesUTF8=X8;var ve,ne,W8,ie,YF={b:n((f,b,o,C)=>B0(`Assertion failed: ${Q0(f)}, at: `+[b?Q0(b):"unknown filename",o,C?Q0(C):"unknown function"]),"b"),q:n(()=>B0(""),"q"),l:n(()=>{B8=!1,Z8=0},"l"),m:n(function(f,b){f=-9007199254740992>f||9007199254740992<f?NaN:Number(f),f=new Date(1e3*f),Q[b>>2]=f.getSeconds(),Q[b+4>>2]=f.getMinutes(),Q[b+8>>2]=f.getHours(),Q[b+12>>2]=f.getDate(),Q[b+16>>2]=f.getMonth(),Q[b+20>>2]=f.getFullYear()-1900,Q[b+24>>2]=f.getDay();var o=f.getFullYear();Q[b+28>>2]=(o%4!==0||o%100===0&&o%400!==0?KF:ZF)[f.getMonth()]+f.getDate()-1|0,Q[b+36>>2]=-(60*f.getTimezoneOffset()),o=new Date(f.getFullYear(),6,1).getTimezoneOffset();var C=new Date(f.getFullYear(),0,1).getTimezoneOffset();Q[b+32>>2]=(o!=C&&f.getTimezoneOffset()==Math.min(C,o))|0},"m"),j:n((f,b)=>{if(yx[f]&&(clearTimeout(yx[f].id),delete yx[f]),!b)return 0;var o=setTimeout(()=>{delete yx[f],zF(()=>ve(f,performance.now()))},b);return yx[f]={id:o,Qa:b},0},"j"),n:n((f,b,o,C)=>{var G=new Date().getFullYear(),O=new Date(G,0,1).getTimezoneOffset();G=new Date(G,6,1).getTimezoneOffset(),Z[f>>2]=60*Math.max(O,G),Q[b>>2]=+(O!=G),b=n(L=>{var v0=Math.abs(L);return`UTC${0<=L?"-":"+"}${String(Math.floor(v0/60)).padStart(2,"0")}${String(v0%60).padStart(2,"0")}`},"d"),f=b(O),b=b(G),G<O?(X0(f,o,17),X0(b,C,17)):(X0(f,C,17),X0(b,o,17))},"n"),p:n(()=>Date.now(),"p"),k:n(f=>{var b=r0.length;if(f>>>=0,2147483648<f)return!1;for(var o=1;4>=o;o*=2){var C=b*(1+.2/o);C=Math.min(C,f+100663296);x:{C=(Math.min(2147483648,65536*Math.ceil(Math.max(f,C)/65536))-z0.buffer.byteLength+65535)/65536|0;try{z0.grow(C),K0();var G=1;break x}catch{}G=void 0}if(G)return!0}return!1},"k"),e:n((f,b)=>{var o=0,C=0,G;for(G of ae()){var O=b+o;Z[f+C>>2]=O,o+=X0(G,O,1/0)+1,C+=4}return 0},"e"),f:n((f,b)=>{var o=ae();Z[f>>2]=o.length,f=0;for(var C of o)f+=X8(C)+1;return Z[b>>2]=f,0},"f"),d:n(()=>52,"d"),o:n(function(){return 70},"o"),c:n((f,b,o,C)=>{for(var G=0,O=0;O<o;O++){var L=Z[b>>2],v0=Z[b+4>>2];b+=8;for(var ix=0;ix<v0;ix++){var Y=f,K=r0[L+ix],_0=XF[Y];K===0||K===10?(Y=Y===1?h:m,K=Fe(_0,0),K=re.decode(_0.buffer?_0.subarray(0,K):new Uint8Array(_0.slice(0,K))),Y(K),_0.length=0):_0.push(K)}G+=v0}return Z[C>>2]=G,0},"c"),a:z0,r:te,s:n(function(f,b,o,C,G){return a.callbacks.callFunction(void 0,f,b,o,C,G)},"s"),i:n(function(f){return a.callbacks.shouldInterrupt(void 0,f)},"i"),h:n(function(f,b,o){return o=Q0(o),a.callbacks.loadModuleSource(void 0,f,b,o)},"h"),g:n(function(f,b,o,C){return o=Q0(o),C=Q0(C),a.callbacks.normalizeModule(void 0,f,b,o,C)},"g"),t:n(function(f,b){a.callbacks.freeHostRef(void 0,f,b)},"t")},s8;return s8=await(async function(){function f(o){return o=s8=o.exports,a._malloc=o.v,a._QTS_Throw=o.w,a._QTS_NewError=o.x,a._QTS_RuntimeSetMemoryLimit=o.y,a._QTS_RuntimeComputeMemoryUsage=o.z,a._QTS_RuntimeDumpMemoryUsage=o.A,a._QTS_RecoverableLeakCheck=o.B,a._QTS_BuildIsSanitizeLeak=o.C,a._QTS_RuntimeSetMaxStackSize=o.D,a._QTS_GetUndefined=o.E,a._QTS_GetNull=o.F,a._QTS_GetFalse=o.G,a._QTS_GetTrue=o.H,a._QTS_NewHostRef=o.I,a._QTS_GetHostRefId=o.J,a._QTS_NewRuntime=o.K,a._QTS_FreeRuntime=o.L,a._free=o.M,a._QTS_NewContext=o.N,a._QTS_FreeContext=o.O,a._QTS_FreeValuePointer=o.P,a._QTS_FreeValuePointerRuntime=o.Q,a._QTS_FreeVoidPointer=o.R,a._QTS_FreeCString=o.S,a._QTS_DupValuePointer=o.T,a._QTS_NewObject=o.U,a._QTS_NewObjectProto=o.V,a._QTS_NewArray=o.W,a._QTS_NewArrayBuffer=o.X,a._QTS_NewFloat64=o.Y,a._QTS_GetFloat64=o.Z,a._QTS_NewString=o._,a._QTS_GetString=o.$,a._QTS_GetArrayBuffer=o.aa,a._QTS_GetArrayBufferLength=o.ba,a._QTS_NewSymbol=o.ca,a._QTS_GetSymbolDescriptionOrKey=o.da,a._QTS_IsGlobalSymbol=o.ea,a._QTS_IsJobPending=o.fa,a._QTS_ExecutePendingJob=o.ga,a._QTS_GetProp=o.ha,a._QTS_GetPropNumber=o.ia,a._QTS_SetProp=o.ja,a._QTS_DefineProp=o.ka,a._QTS_GetOwnPropertyNames=o.la,a._QTS_Call=o.ma,a._QTS_ResolveException=o.na,a._QTS_Dump=o.oa,a._QTS_Eval=o.pa,a._QTS_GetModuleNamespace=o.qa,a._QTS_Typeof=o.ra,a._QTS_GetLength=o.sa,a._QTS_IsEqual=o.ta,a._QTS_GetGlobalObject=o.ua,a._QTS_NewPromiseCapability=o.va,a._QTS_PromiseState=o.wa,a._QTS_PromiseResult=o.xa,a._QTS_TestStringArg=o.ya,a._QTS_GetDebugLogEnabled=o.za,a._QTS_SetDebugLogEnabled=o.Aa,a._QTS_BuildIsDebug=o.Ba,a._QTS_BuildIsAsyncify=o.Ca,a._QTS_NewFunction=o.Da,a._QTS_ArgvGetJSValueConstPointer=o.Ea,a._QTS_RuntimeEnableInterruptHandler=o.Fa,a._QTS_RuntimeDisableInterruptHandler=o.Ga,a._QTS_RuntimeEnableModuleLoader=o.Ha,a._QTS_RuntimeDisableModuleLoader=o.Ia,a._QTS_bjson_encode=o.Ja,a._QTS_bjson_decode=o.Ka,ve=o.La,ne=o.Ma,W8=o.Na,ie=o.Oa,s8}n(f,"b");var b={a:YF};return a.instantiateWasm?new Promise(o=>{a.instantiateWasm(b,(C,G)=>{o(f(C,G))})}):(J8??(J8=$(`\0asm\0\0\0\xBEi\`\x7F\x7F\0\`\x7F\x7F\x7F\x7F\`\x7F~\x7F\x7F~\`\x7F\x7F\x7F\`\x7F\x7F\`\x7F~\x7F\x7F\x7F~\`\x7F\x7F\x7F\0\`\x7F~~\`\x7F\x7F\x7F\x7F\x7F\`\x7F\0\`\x7F~\0\`\x7F~\x7F\`||\`\x7F\x7F~\`\x7F\x7F~\x7F\`\x7F~\x7F\x7F\x7F\x7F~\`\x7F\x7F\x7F\x7F\x7F\x7F\`\x7F~\x7F~\`\x7F~\x7F\0\`\x7F\x7F\x7F\x7F\0\`\x7F~\x7F\x7F\`\x7F~~~\`\x7F\x7F\x7F~\`\x7F~~\x7F\x7F\x7F~\`\x7F\x7F~\x7F\x7F\`\x7F~~\x7F\`\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`\x7F~~\x7F\x7F~\`\x7F\x7F\x7F\x7F~\`|||\`\0\x7F\`\x7F~\x7F\x7F\x7F\`~\x7F\`\0\0\`\x7F~\`\x07\x7F~\x7F~~~\x7F\x7F\`\x7F~\x7F~\x7F\x7F\`\x7F~~\x7F\x7F\`\x7F\x7F\x7F\x7F\x7F\0\`\x7F\x7F\x7F~\x7F\`\x7F~~~\x7F\x7F\`\x07\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`~~\`\x7F|\x7F\`\x7F~\x7F~~\`\x7F~\x7F~~\x7F\x7F\`~\x7F\x7F\`\x7F\x7F\x7F\x7F\x7F~\`\x7F~\x7F\x7F\0\`\x7F\x7F|\`\x07\x7F~\x7F\x7F\x7F\x7F\x7F~\`~\x7F\0\`\x7F\x7F~\0\`\x7F~~\x7F~\`\x7F~\x7F~\x7F\`\x7F~\x7F~\0\`\x7F~~~\x7F\` \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`\x7F\x7F\x7F\x7F\x7F\x7F~\`~\x7F\x7F\x7F\`\b\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`\x07\x7F\x7F\x7F\x7F\x7F\x7F\x7F\0\`\x7F~\x7F\x7F\x7F\x7F\`\x7F\x7F~~\`|\x7F\`\x7F~~\x7F\x7F\0\`\x7F~~\x7F\0\`|\x7F|\`||\x7F|\`\x7F\x7F~\x7F\0\`\x7F~~~~\x7F\x7F\`\x7F\x7F~~\x7F\`\x7F~~\x7F\x7F\x7F\`\x7F|\x7F\x7F\x7F\x7F\x7F\`\0|\`\x7F~\x7F~\x7F~\`\r\x7F\x7F\x7F\x7F\x7F\x7F\x7F~\x7F\x7F\x7F\x7F\x7F~\`\x7F\x7F~\x7F\x7F\x7F\`\x7F\x7F~~~~\x7F\`\x7F\x7F~\x7F~\`\x07\x7F~~~\x7F\x7F\x7F~\`\x7F|\`\x7F|\x7F\x7F\x7F~\`\b\x7F~~\x7F\x7F\x7F\x7F\x7F~\`\x7F~\x7F\x7F\x7F\x7F\0\`\b\x7F\x7F\x7F\x7F\x7F\x7F~\x7F~\`\x7F~\x7F\x7F\x7F\x7F\x7F\`
|
|
2
|
+
import{$ as Ce,B as Y0,G as be,H as D0,Ka as eA,M as je,Ma as pe,P as Ix,Qa as he,R as xA,Sa as rA,T as le,W as de,_ as me,b as M,c as oe,d as Hx,f as fe,fa as N,ga as o0,ha as z,ia as E8,j as o8,ka as ox,la as c8,ma as X,n as Ee,o as ce,p as Gx,q as Y8,r as sx,s as s0,t as f8,va as AA,wa as ue,xa as fx,y as W0,ya as De}from"./chunk-TPOW52DO.js";import{Da as et,g as se}from"./chunk-QUNRWDVO.js";import{c as FA}from"./chunk-IR3YJWPW.js";import{a as V,b as F0,c as w0,d as n0,e as g,g as Bx,h as u0,l as _,m as Tx}from"./chunk-HZP5U2AA.js";import{b as x}from"./chunk-ES2ISFJC.js";import{a as n,b as xt,c as At,e as Be}from"./chunk-FTQLQJQV.js";var ur=At((Co,Cr)=>{"use strict";var ya=Object.create,Kx=Object.defineProperty,$a=Object.getOwnPropertyDescriptor,hA=Object.getOwnPropertyNames,Ta=Object.getPrototypeOf,Ha=Object.prototype.hasOwnProperty,Ga=n((A,e,r)=>e in A?Kx(A,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):A[e]=r,"__defNormalProp"),Ia=n((A,e)=>function(){return A&&(e=(0,A[hA(A)[0]])(A=0)),e},"__esm"),Qa=n((A,e)=>function(){return e||(0,A[hA(A)[0]])((e={exports:{}}).exports,e),e.exports},"__commonJS"),br=n((A,e)=>{for(var r in e)Kx(A,r,{get:e[r],enumerable:!0})},"__export"),jr=n((A,e,r,F)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of hA(e))!Ha.call(A,t)&&t!==r&&Kx(A,t,{get:n(()=>e[t],"get"),enumerable:!(F=$a(e,t))||F.enumerable});return A},"__copyProps"),Pa=n((A,e,r)=>(r=A!=null?ya(Ta(A)):{},jr(e||!A||!A.__esModule?Kx(r,"default",{value:A,enumerable:!0}):r,A)),"__toESM"),Ma=n(A=>jr(Kx({},"__esModule",{value:!0}),A),"__toCommonJS"),Na=n((A,e,r)=>(Ga(A,typeof e!="symbol"?e+"":e,r),r),"__publicField"),lr={};br(lr,{QuickJSFFI:n(()=>dr,"QuickJSFFI")});var dr,Oa=Ia({"src/ffi.ts"(){"use strict";dr=class{static{n(this,"QuickJSFFI")}constructor(A){this.module=A,this.DEBUG=!1,this.QTS_Throw=this.module.cwrap("QTS_Throw","number",["number","number"]),this.QTS_NewError=this.module.cwrap("QTS_NewError","number",["number"]),this.QTS_RuntimeSetMemoryLimit=this.module.cwrap("QTS_RuntimeSetMemoryLimit",null,["number","number"]),this.QTS_RuntimeComputeMemoryUsage=this.module.cwrap("QTS_RuntimeComputeMemoryUsage","number",["number","number"]),this.QTS_RuntimeDumpMemoryUsage=this.module.cwrap("QTS_RuntimeDumpMemoryUsage","number",["number"]),this.QTS_RecoverableLeakCheck=this.module.cwrap("QTS_RecoverableLeakCheck","number",[]),this.QTS_BuildIsSanitizeLeak=this.module.cwrap("QTS_BuildIsSanitizeLeak","number",[]),this.QTS_RuntimeSetMaxStackSize=this.module.cwrap("QTS_RuntimeSetMaxStackSize",null,["number","number"]),this.QTS_GetUndefined=this.module.cwrap("QTS_GetUndefined","number",[]),this.QTS_GetNull=this.module.cwrap("QTS_GetNull","number",[]),this.QTS_GetFalse=this.module.cwrap("QTS_GetFalse","number",[]),this.QTS_GetTrue=this.module.cwrap("QTS_GetTrue","number",[]),this.QTS_NewHostRef=this.module.cwrap("QTS_NewHostRef","number",["number","number"]),this.QTS_GetHostRefId=this.module.cwrap("QTS_GetHostRefId","number",["number"]),this.QTS_NewRuntime=this.module.cwrap("QTS_NewRuntime","number",[]),this.QTS_FreeRuntime=this.module.cwrap("QTS_FreeRuntime",null,["number"]),this.QTS_NewContext=this.module.cwrap("QTS_NewContext","number",["number","number"]),this.QTS_FreeContext=this.module.cwrap("QTS_FreeContext",null,["number"]),this.QTS_FreeValuePointer=this.module.cwrap("QTS_FreeValuePointer",null,["number","number"]),this.QTS_FreeValuePointerRuntime=this.module.cwrap("QTS_FreeValuePointerRuntime",null,["number","number"]),this.QTS_FreeVoidPointer=this.module.cwrap("QTS_FreeVoidPointer",null,["number","number"]),this.QTS_FreeCString=this.module.cwrap("QTS_FreeCString",null,["number","number"]),this.QTS_DupValuePointer=this.module.cwrap("QTS_DupValuePointer","number",["number","number"]),this.QTS_NewObject=this.module.cwrap("QTS_NewObject","number",["number"]),this.QTS_NewObjectProto=this.module.cwrap("QTS_NewObjectProto","number",["number","number"]),this.QTS_NewArray=this.module.cwrap("QTS_NewArray","number",["number"]),this.QTS_NewArrayBuffer=this.module.cwrap("QTS_NewArrayBuffer","number",["number","number","number"]),this.QTS_NewFloat64=this.module.cwrap("QTS_NewFloat64","number",["number","number"]),this.QTS_GetFloat64=this.module.cwrap("QTS_GetFloat64","number",["number","number"]),this.QTS_NewString=this.module.cwrap("QTS_NewString","number",["number","number"]),this.QTS_GetString=this.module.cwrap("QTS_GetString","number",["number","number"]),this.QTS_GetArrayBuffer=this.module.cwrap("QTS_GetArrayBuffer","number",["number","number"]),this.QTS_GetArrayBufferLength=this.module.cwrap("QTS_GetArrayBufferLength","number",["number","number"]),this.QTS_NewSymbol=this.module.cwrap("QTS_NewSymbol","number",["number","number","number"]),this.QTS_GetSymbolDescriptionOrKey=this.module.cwrap("QTS_GetSymbolDescriptionOrKey","number",["number","number"]),this.QTS_IsGlobalSymbol=this.module.cwrap("QTS_IsGlobalSymbol","number",["number","number"]),this.QTS_IsJobPending=this.module.cwrap("QTS_IsJobPending","number",["number"]),this.QTS_ExecutePendingJob=this.module.cwrap("QTS_ExecutePendingJob","number",["number","number","number"]),this.QTS_GetProp=this.module.cwrap("QTS_GetProp","number",["number","number","number"]),this.QTS_GetPropNumber=this.module.cwrap("QTS_GetPropNumber","number",["number","number","number"]),this.QTS_SetProp=this.module.cwrap("QTS_SetProp",null,["number","number","number","number"]),this.QTS_DefineProp=this.module.cwrap("QTS_DefineProp",null,["number","number","number","number","number","number","boolean","boolean","boolean"]),this.QTS_GetOwnPropertyNames=this.module.cwrap("QTS_GetOwnPropertyNames","number",["number","number","number","number","number"]),this.QTS_Call=this.module.cwrap("QTS_Call","number",["number","number","number","number","number"]),this.QTS_ResolveException=this.module.cwrap("QTS_ResolveException","number",["number","number"]),this.QTS_Dump=this.module.cwrap("QTS_Dump","number",["number","number"]),this.QTS_Eval=this.module.cwrap("QTS_Eval","number",["number","number","number","string","number","number"]),this.QTS_GetModuleNamespace=this.module.cwrap("QTS_GetModuleNamespace","number",["number","number"]),this.QTS_Typeof=this.module.cwrap("QTS_Typeof","number",["number","number"]),this.QTS_GetLength=this.module.cwrap("QTS_GetLength","number",["number","number","number"]),this.QTS_IsEqual=this.module.cwrap("QTS_IsEqual","number",["number","number","number","number"]),this.QTS_GetGlobalObject=this.module.cwrap("QTS_GetGlobalObject","number",["number"]),this.QTS_NewPromiseCapability=this.module.cwrap("QTS_NewPromiseCapability","number",["number","number"]),this.QTS_PromiseState=this.module.cwrap("QTS_PromiseState","number",["number","number"]),this.QTS_PromiseResult=this.module.cwrap("QTS_PromiseResult","number",["number","number"]),this.QTS_TestStringArg=this.module.cwrap("QTS_TestStringArg",null,["string"]),this.QTS_GetDebugLogEnabled=this.module.cwrap("QTS_GetDebugLogEnabled","number",["number"]),this.QTS_SetDebugLogEnabled=this.module.cwrap("QTS_SetDebugLogEnabled",null,["number","number"]),this.QTS_BuildIsDebug=this.module.cwrap("QTS_BuildIsDebug","number",[]),this.QTS_BuildIsAsyncify=this.module.cwrap("QTS_BuildIsAsyncify","number",[]),this.QTS_NewFunction=this.module.cwrap("QTS_NewFunction","number",["number","string","number","boolean","number"]),this.QTS_ArgvGetJSValueConstPointer=this.module.cwrap("QTS_ArgvGetJSValueConstPointer","number",["number","number"]),this.QTS_RuntimeEnableInterruptHandler=this.module.cwrap("QTS_RuntimeEnableInterruptHandler",null,["number"]),this.QTS_RuntimeDisableInterruptHandler=this.module.cwrap("QTS_RuntimeDisableInterruptHandler",null,["number"]),this.QTS_RuntimeEnableModuleLoader=this.module.cwrap("QTS_RuntimeEnableModuleLoader",null,["number","number"]),this.QTS_RuntimeDisableModuleLoader=this.module.cwrap("QTS_RuntimeDisableModuleLoader",null,["number"]),this.QTS_bjson_encode=this.module.cwrap("QTS_bjson_encode","number",["number","number"]),this.QTS_bjson_decode=this.module.cwrap("QTS_bjson_decode","number",["number","number"])}}}}),La=Qa({"dist/emscripten-module.cjs"(A,e){"use strict";var r=(()=>{var F=globalThis.document?.currentScript?.src;return async function(t={}){var v,a=t,B=!!globalThis.window,c=!!globalThis.WorkerGlobalScope,i=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";function s(f){f={log:f||function(){}};for(let b of s.Pa)b(f);return a.quickJSEmscriptenExtensions=f}n(s,"q"),s.Pa=[],a.quickjsEmscriptenInit=s,s.Pa.push(f=>{f.getWasmMemory=function(){return z0}});var E="./this.program",d=n((f,b)=>{throw b},"u");if(typeof __filename<"u"?F=__filename:c&&(F=self.location.href),i){var u=xt("fs");1<process.argv.length&&(E=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),d=n((f,b)=>{throw process.exitCode=f,b},"u")}else if(B||c)try{new URL(".",F)}catch{}var h=console.log.bind(console),m=console.error.bind(console),q=!1,w;function $(f){for(var b=0,o=f.length,C=new Uint8Array(o),G;b<o;++b)G=f.charCodeAt(b),C[b]=~G>>8&G;return C}n($,"ca");var p,e0,U,r0,Q,Z,l0=!1;function K0(){var f=z0.buffer;a.HEAP8=U=new Int8Array(f),new Int16Array(f),a.HEAPU8=r0=new Uint8Array(f),new Uint16Array(f),Q=new Int32Array(f),Z=new Uint32Array(f),new Float32Array(f),new Float64Array(f),new BigInt64Array(f),new BigUint64Array(f)}n(K0,"H");function B0(f){throw a.onAbort?.(f),f="Aborted("+f+")",m(f),q=!0,f=new WebAssembly.RuntimeError(f+". Build with -sASSERTIONS for more info."),e0?.(f),f}n(B0,"I");var J8;async function LF(f){return f}n(LF,"da");async function VF(f){var b=J8;try{var o=await LF(b);return await WebAssembly.instantiate(o,f)}catch(C){m(`failed to asynchronously prepare wasm: ${C}`),B0(C)}}n(VF,"ea");async function JF(f){return VF(f)}n(JF,"fa");class U8{static{n(this,"K")}constructor(b){Na(this,"name","ExitStatus"),this.message=`Program terminated with exit(${b})`,this.status=b}}for(var xe=f=>{for(;0<f.length;)f.shift()(a)},Ae=[],ee=[],UF=()=>{var f=a.preRun.shift();ee.push(f)},B8=!0,z0,re=new TextDecoder,Fe=(f,b,o,C)=>{if(o=b+o,C)return o;for(;f[b]&&!(b>=o);)++b;return b},Q0=(f,b,o)=>f?re.decode(r0.subarray(f,Fe(r0,f,b,o))):"",Z8=0,ZF=[0,31,60,91,121,152,182,213,244,274,305,335],KF=[0,31,59,90,120,151,181,212,243,273,304,334],yx={},te=f=>{w=f,B8||0<Z8||(a.onExit?.(f),q=!0),d(f,new U8(f))},zF=f=>{if(!q)try{f()}catch(b){b instanceof U8||b=="unwind"||d(1,b)}finally{if(!(B8||0<Z8))try{w=f=w,te(f)}catch(b){b instanceof U8||b=="unwind"||d(1,b)}}},X0=(f,b,o)=>{var C=r0;if(!(0<o))return 0;var G=b;o=b+o-1;for(var O=0;O<f.length;++O){var L=f.codePointAt(O);if(127>=L){if(b>=o)break;C[b++]=L}else if(2047>=L){if(b+1>=o)break;C[b++]=192|L>>6,C[b++]=128|L&63}else if(65535>=L){if(b+2>=o)break;C[b++]=224|L>>12,C[b++]=128|L>>6&63,C[b++]=128|L&63}else{if(b+3>=o)break;C[b++]=240|L>>18,C[b++]=128|L>>12&63,C[b++]=128|L>>6&63,C[b++]=128|L&63,O++}}return C[b]=0,b-G},K8={},ae=()=>{if(!z8){var f={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:E||"./this.program"},b;for(b in K8)K8[b]===void 0?delete f[b]:f[b]=K8[b];var o=[];for(b in f)o.push(`${b}=${f[b]}`);z8=o}return z8},z8,X8=f=>{for(var b=0,o=0;o<f.length;++o){var C=f.charCodeAt(o);127>=C?b++:2047>=C?b+=2:55296<=C&&57343>=C?(b+=4,++o):b+=3}return b},XF=[null,[],[]],WF=(f,b,o,C)=>{var G={string:n(Y=>{var K=0;if(Y!=null&&Y!==0){K=X8(Y)+1;var _0=W8(K);X0(Y,_0,K),K=_0}return K},"string"),array:n(Y=>{var K=W8(Y.length);return U.set(Y,K),K},"array")};f=a["_"+f];var O=[],L=0;if(C)for(var v0=0;v0<C.length;v0++){var ix=G[o[v0]];ix?(L===0&&(L=ie()),O[v0]=ix(C[v0])):O[v0]=C[v0]}return o=f(...O),o=(function(Y){return L!==0&&ne(L),b==="string"?Q0(Y):b==="boolean"?!!Y:Y})(o)},$x=new Uint8Array(123),P0=25;0<=P0;--P0)$x[48+P0]=52+P0,$x[65+P0]=P0,$x[97+P0]=26+P0;if($x[43]=62,$x[47]=63,a.wasmMemory?z0=a.wasmMemory:z0=new WebAssembly.Memory({initial:(a.INITIAL_MEMORY||16777216)/65536,maximum:32768}),K0(),a.noExitRuntime&&(B8=a.noExitRuntime),a.print&&(h=a.print),a.printErr&&(m=a.printErr),a.thisProgram&&(E=a.thisProgram),a.preInit)for(typeof a.preInit=="function"&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.shift()();a.cwrap=(f,b,o,C)=>{var G=!o||o.every(O=>O==="number"||O==="boolean");return b!=="string"&&G&&!C?a["_"+f]:(...O)=>WF(f,b,o,O)},a.UTF8ToString=Q0,a.stringToUTF8=(f,b,o)=>X0(f,b,o),a.lengthBytesUTF8=X8;var ve,ne,W8,ie,YF={b:n((f,b,o,C)=>B0(`Assertion failed: ${Q0(f)}, at: `+[b?Q0(b):"unknown filename",o,C?Q0(C):"unknown function"]),"b"),q:n(()=>B0(""),"q"),l:n(()=>{B8=!1,Z8=0},"l"),m:n(function(f,b){f=-9007199254740992>f||9007199254740992<f?NaN:Number(f),f=new Date(1e3*f),Q[b>>2]=f.getSeconds(),Q[b+4>>2]=f.getMinutes(),Q[b+8>>2]=f.getHours(),Q[b+12>>2]=f.getDate(),Q[b+16>>2]=f.getMonth(),Q[b+20>>2]=f.getFullYear()-1900,Q[b+24>>2]=f.getDay();var o=f.getFullYear();Q[b+28>>2]=(o%4!==0||o%100===0&&o%400!==0?KF:ZF)[f.getMonth()]+f.getDate()-1|0,Q[b+36>>2]=-(60*f.getTimezoneOffset()),o=new Date(f.getFullYear(),6,1).getTimezoneOffset();var C=new Date(f.getFullYear(),0,1).getTimezoneOffset();Q[b+32>>2]=(o!=C&&f.getTimezoneOffset()==Math.min(C,o))|0},"m"),j:n((f,b)=>{if(yx[f]&&(clearTimeout(yx[f].id),delete yx[f]),!b)return 0;var o=setTimeout(()=>{delete yx[f],zF(()=>ve(f,performance.now()))},b);return yx[f]={id:o,Qa:b},0},"j"),n:n((f,b,o,C)=>{var G=new Date().getFullYear(),O=new Date(G,0,1).getTimezoneOffset();G=new Date(G,6,1).getTimezoneOffset(),Z[f>>2]=60*Math.max(O,G),Q[b>>2]=+(O!=G),b=n(L=>{var v0=Math.abs(L);return`UTC${0<=L?"-":"+"}${String(Math.floor(v0/60)).padStart(2,"0")}${String(v0%60).padStart(2,"0")}`},"d"),f=b(O),b=b(G),G<O?(X0(f,o,17),X0(b,C,17)):(X0(f,C,17),X0(b,o,17))},"n"),p:n(()=>Date.now(),"p"),k:n(f=>{var b=r0.length;if(f>>>=0,2147483648<f)return!1;for(var o=1;4>=o;o*=2){var C=b*(1+.2/o);C=Math.min(C,f+100663296);x:{C=(Math.min(2147483648,65536*Math.ceil(Math.max(f,C)/65536))-z0.buffer.byteLength+65535)/65536|0;try{z0.grow(C),K0();var G=1;break x}catch{}G=void 0}if(G)return!0}return!1},"k"),e:n((f,b)=>{var o=0,C=0,G;for(G of ae()){var O=b+o;Z[f+C>>2]=O,o+=X0(G,O,1/0)+1,C+=4}return 0},"e"),f:n((f,b)=>{var o=ae();Z[f>>2]=o.length,f=0;for(var C of o)f+=X8(C)+1;return Z[b>>2]=f,0},"f"),d:n(()=>52,"d"),o:n(function(){return 70},"o"),c:n((f,b,o,C)=>{for(var G=0,O=0;O<o;O++){var L=Z[b>>2],v0=Z[b+4>>2];b+=8;for(var ix=0;ix<v0;ix++){var Y=f,K=r0[L+ix],_0=XF[Y];K===0||K===10?(Y=Y===1?h:m,K=Fe(_0,0),K=re.decode(_0.buffer?_0.subarray(0,K):new Uint8Array(_0.slice(0,K))),Y(K),_0.length=0):_0.push(K)}G+=v0}return Z[C>>2]=G,0},"c"),a:z0,r:te,s:n(function(f,b,o,C,G){return a.callbacks.callFunction(void 0,f,b,o,C,G)},"s"),i:n(function(f){return a.callbacks.shouldInterrupt(void 0,f)},"i"),h:n(function(f,b,o){return o=Q0(o),a.callbacks.loadModuleSource(void 0,f,b,o)},"h"),g:n(function(f,b,o,C){return o=Q0(o),C=Q0(C),a.callbacks.normalizeModule(void 0,f,b,o,C)},"g"),t:n(function(f,b){a.callbacks.freeHostRef(void 0,f,b)},"t")},s8;return s8=await(async function(){function f(o){return o=s8=o.exports,a._malloc=o.v,a._QTS_Throw=o.w,a._QTS_NewError=o.x,a._QTS_RuntimeSetMemoryLimit=o.y,a._QTS_RuntimeComputeMemoryUsage=o.z,a._QTS_RuntimeDumpMemoryUsage=o.A,a._QTS_RecoverableLeakCheck=o.B,a._QTS_BuildIsSanitizeLeak=o.C,a._QTS_RuntimeSetMaxStackSize=o.D,a._QTS_GetUndefined=o.E,a._QTS_GetNull=o.F,a._QTS_GetFalse=o.G,a._QTS_GetTrue=o.H,a._QTS_NewHostRef=o.I,a._QTS_GetHostRefId=o.J,a._QTS_NewRuntime=o.K,a._QTS_FreeRuntime=o.L,a._free=o.M,a._QTS_NewContext=o.N,a._QTS_FreeContext=o.O,a._QTS_FreeValuePointer=o.P,a._QTS_FreeValuePointerRuntime=o.Q,a._QTS_FreeVoidPointer=o.R,a._QTS_FreeCString=o.S,a._QTS_DupValuePointer=o.T,a._QTS_NewObject=o.U,a._QTS_NewObjectProto=o.V,a._QTS_NewArray=o.W,a._QTS_NewArrayBuffer=o.X,a._QTS_NewFloat64=o.Y,a._QTS_GetFloat64=o.Z,a._QTS_NewString=o._,a._QTS_GetString=o.$,a._QTS_GetArrayBuffer=o.aa,a._QTS_GetArrayBufferLength=o.ba,a._QTS_NewSymbol=o.ca,a._QTS_GetSymbolDescriptionOrKey=o.da,a._QTS_IsGlobalSymbol=o.ea,a._QTS_IsJobPending=o.fa,a._QTS_ExecutePendingJob=o.ga,a._QTS_GetProp=o.ha,a._QTS_GetPropNumber=o.ia,a._QTS_SetProp=o.ja,a._QTS_DefineProp=o.ka,a._QTS_GetOwnPropertyNames=o.la,a._QTS_Call=o.ma,a._QTS_ResolveException=o.na,a._QTS_Dump=o.oa,a._QTS_Eval=o.pa,a._QTS_GetModuleNamespace=o.qa,a._QTS_Typeof=o.ra,a._QTS_GetLength=o.sa,a._QTS_IsEqual=o.ta,a._QTS_GetGlobalObject=o.ua,a._QTS_NewPromiseCapability=o.va,a._QTS_PromiseState=o.wa,a._QTS_PromiseResult=o.xa,a._QTS_TestStringArg=o.ya,a._QTS_GetDebugLogEnabled=o.za,a._QTS_SetDebugLogEnabled=o.Aa,a._QTS_BuildIsDebug=o.Ba,a._QTS_BuildIsAsyncify=o.Ca,a._QTS_NewFunction=o.Da,a._QTS_ArgvGetJSValueConstPointer=o.Ea,a._QTS_RuntimeEnableInterruptHandler=o.Fa,a._QTS_RuntimeDisableInterruptHandler=o.Ga,a._QTS_RuntimeEnableModuleLoader=o.Ha,a._QTS_RuntimeDisableModuleLoader=o.Ia,a._QTS_bjson_encode=o.Ja,a._QTS_bjson_decode=o.Ka,ve=o.La,ne=o.Ma,W8=o.Na,ie=o.Oa,s8}n(f,"b");var b={a:YF};return a.instantiateWasm?new Promise(o=>{a.instantiateWasm(b,(C,G)=>{o(f(C,G))})}):(J8??(J8=$(`\0asm\0\0\0\xBEi\`\x7F\x7F\0\`\x7F\x7F\x7F\x7F\`\x7F~\x7F\x7F~\`\x7F\x7F\x7F\`\x7F\x7F\`\x7F~\x7F\x7F\x7F~\`\x7F\x7F\x7F\0\`\x7F~~\`\x7F\x7F\x7F\x7F\x7F\`\x7F\0\`\x7F~\0\`\x7F~\x7F\`||\`\x7F\x7F~\`\x7F\x7F~\x7F\`\x7F~\x7F\x7F\x7F\x7F~\`\x7F\x7F\x7F\x7F\x7F\x7F\`\x7F~\x7F~\`\x7F~\x7F\0\`\x7F\x7F\x7F\x7F\0\`\x7F~\x7F\x7F\`\x7F~~~\`\x7F\x7F\x7F~\`\x7F~~\x7F\x7F\x7F~\`\x7F\x7F~\x7F\x7F\`\x7F~~\x7F\`\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`\x7F~~\x7F\x7F~\`\x7F\x7F\x7F\x7F~\`|||\`\0\x7F\`\x7F~\x7F\x7F\x7F\`~\x7F\`\0\0\`\x7F~\`\x07\x7F~\x7F~~~\x7F\x7F\`\x7F~\x7F~\x7F\x7F\`\x7F~~\x7F\x7F\`\x7F\x7F\x7F\x7F\x7F\0\`\x7F\x7F\x7F~\x7F\`\x7F~~~\x7F\x7F\`\x07\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`~~\`\x7F|\x7F\`\x7F~\x7F~~\`\x7F~\x7F~~\x7F\x7F\`~\x7F\x7F\`\x7F\x7F\x7F\x7F\x7F~\`\x7F~\x7F\x7F\0\`\x7F\x7F|\`\x07\x7F~\x7F\x7F\x7F\x7F\x7F~\`~\x7F\0\`\x7F\x7F~\0\`\x7F~~\x7F~\`\x7F~\x7F~\x7F\`\x7F~\x7F~\0\`\x7F~~~\x7F\` \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`\x7F\x7F\x7F\x7F\x7F\x7F~\`~\x7F\x7F\x7F\`\b\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\`\x07\x7F\x7F\x7F\x7F\x7F\x7F\x7F\0\`\x7F~\x7F\x7F\x7F\x7F\`\x7F\x7F~~\`|\x7F\`\x7F~~\x7F\x7F\0\`\x7F~~\x7F\0\`|\x7F|\`||\x7F|\`\x7F\x7F~\x7F\0\`\x7F~~~~\x7F\x7F\`\x7F\x7F~~\x7F\`\x7F~~\x7F\x7F\x7F\`\x7F|\x7F\x7F\x7F\x7F\x7F\`\0|\`\x7F~\x7F~\x7F~\`\r\x7F\x7F\x7F\x7F\x7F\x7F\x7F~\x7F\x7F\x7F\x7F\x7F~\`\x7F\x7F~\x7F\x7F\x7F\`\x7F\x7F~~~~\x7F\`\x7F\x7F~\x7F~\`\x07\x7F~~~\x7F\x7F\x7F~\`\x7F|\`\x7F|\x7F\x7F\x7F~\`\b\x7F~~\x7F\x7F\x7F\x7F\x7F~\`\x7F~\x7F\x7F\x7F\x7F\0\`\b\x7F\x7F\x7F\x7F\x7F\x7F~\x7F~\`\x7F~\x7F\x7F\x7F\x7F\x7F\`
|
|
3
3
|
\x7F\x7F~\x7F\x7F~~~\x7F\x7F\x7F\`\x7F\x7F~~~~\`||\x7F\`\x7F\x7F\x7F\x7F\x7F|\`\x7F\x7F~~\x7F\x7F\`\x7F~~\0\`\x07\x7F~\x7F\x7F\x7F\x7F\x7F\0\`\x7F~~~~\`|\x7F\x7F\`\x7F\x7F~~~\`\b\x7F~~~~\x7F~~~\`~~\x7F\x7F\`\x07\x7F\x7F\x7F~~~\x7F\x7F\`\x7F\x7F|\0\`\x7F~|~\`\0~\`\x7F|\0\` \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F\0~ab\0ac\0\bad\0ae\0af\0ag\0\bah\0ai\0aj\0+ak\0al\0!am\x003an\0ao\0ap\0Jaq\0!ar\0 as\0at\0\0aa\x80\x80\x80\xAB
|
|
4
4
|
\xA9
|
|
5
5
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{L as r}from"./chunk-HLNJKX3S.js";import{$a as o,k as t}from"./chunk-TPOW52DO.js";import{e as a}from"./chunk-HZP5U2AA.js";import{b as e}from"./chunk-ES2ISFJC.js";var s=e.object({profileRef:r,manifest:o,metric:t,gradeRefs:e.array(a),receiptRefs:e.array(a),passRate:e.number().min(0).max(1),passed:e.boolean(),completedAt:e.string().datetime(),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict();export{s as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as me,b as D,c as G,d as j,e as z,g as ye,i as T,j as we,k as S,l as he,v as B,x as F}from"./chunk-FUFIZ37W.js";import{a as re,b as L,c as R}from"./chunk-3HQEEZPO.js";import{b as H,c as be,d as ve,f as w,h as P,i as Re}from"./chunk-BSHAIAXY.js";import{a as Z,b as ee,c as te}from"./chunk-IYWNO4RB.js";import{a as M,f as v,k as X}from"./chunk-3M53YXEI.js";import{M as pe,N as ue,R as ge,V as fe,h as $,i as ie,l as ae,n as se,o as ce,p as le,q as de}from"./chunk-SHCKK3SU.js";import{d as y,e as ne,f as oe,g as C}from"./chunk-AOBTILU5.js";import{a as g}from"./chunk-FTQLQJQV.js";import{promises as V,existsSync as W}from"node:fs";import U from"node:path";import{stdin as $e}from"node:process";async function Ge(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=await ce(n,i,a.id);console.log(JSON.stringify(s,null,2))}g(Ge,"runTemplateStatus");async function je(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=await le(n,i,a.id);console.log(JSON.stringify(s,null,2))}g(je,"runTemplateBranches");async function ze(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=typeof e.env=="string"?e.env:typeof e.environment=="string"?e.environment:void 0,f=X(s),c=await de(n,i,a.id,{environment:f});console.log(JSON.stringify(c,null,2))}g(ze,"runTemplateUpdate");async function He(e){let o=await y(),t=w(o),r=typeof e.apiKey=="string"?e.apiKey:typeof e.key=="string"?e.key:null,n=r?r.trim():await L();if(!n)throw new Error("API key is required");n.startsWith("opk_")||console.log("warning: API keys usually start with opk_."),await C({handle:o.activeProfile?.handle||"default",apiKey:n,baseUrl:t,apiBaseUrl:o.apiBaseUrl,chatApiBaseUrl:o.chatApiBaseUrl,setActive:!0}),console.log("Saved account credentials to the encrypted OpenPond credential store.")}g(He,"runLogin");async function Fe(e,o){let t=o[0]||"list";if(t==="list"){let r=await ne();console.log(JSON.stringify({profiles:r},null,2));return}if(t==="use"){let r=o[1];if(!r)throw new Error("usage: profiles use <name> [--base-url <url>]");let n=await oe(r,{baseUrl:H(e)});console.log(JSON.stringify({profile:n},null,2));return}if(t==="save"){let r=o[1];if(!r)throw new Error("usage: profiles save <name> --api-key <key> [--base-url <url>] [--api-base-url <url>] [--chat-api-base-url <url>]");let n=typeof e.apiKey=="string"?e.apiKey:typeof e.key=="string"?e.key:null,i=n?n.trim():await L(),a=typeof e.environment=="string"?e.environment:typeof e.env=="string"?e.env:void 0,s=await C({handle:r,apiKey:i,baseUrl:H(e),apiBaseUrl:be(e),chatApiBaseUrl:ve(e),environment:a,setActive:!0});console.log(JSON.stringify({profile:s},null,2));return}throw new Error("usage: profiles <list|use|save> [args]")}g(Fe,"runProfiles");async function Ve(){let e=await y(),o=w(e),t=P(e),r=await R(e,o),n=await pe(t,r);console.log(JSON.stringify(n,null,2))}g(Ve,"runAccount");async function We(e){let o=await y(),t=P(o),r=re(o),n=await ue(t,r);console.log(JSON.stringify(n,null,2))}g(We,"runHealth");async function qe(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=typeof e.branch=="string"?String(e.branch):void 0,f=await $(n,i,a.id,{branch:s});if(!f?.id){console.log("no deployments found");return}let c=await ie(n,i,f.id),d=(c&&Array.isArray(c.toolsJson)?c.toolsJson:null)||(c&&typeof c.metadataJson=="object"&&c.metadataJson?c.metadataJson.tools:null),u=Array.isArray(d)?d:[];if(u.length===0){console.log("no tools found");return}for(let l of u){let m=l,h=m.profile||m.function,I=m.name||h?.name||"unknown",p=m.description||h?.description||"";console.log(p?`${I} - ${p}`:I)}}g(qe,"runToolList");async function Ye(e,o,t){let r=await y(),n=w(r),i=P(r),a=await R(r,n),{app:s}=await T(i,a,o),f=typeof e.branch=="string"?String(e.branch):void 0,c=await $(i,a,s.id,{branch:f});if(!c?.id)throw new Error("no deployments found");let d;if(typeof e.body=="string")try{d=JSON.parse(e.body)}catch{throw new Error("tool body must be valid JSON")}let u=typeof e.method=="string"?String(e.method).toUpperCase():"POST",l=await fe(n,a,{appId:s.id,deploymentId:c.id,toolName:t,method:u,body:d,headers:a?{"openpond-api-key":a}:void 0});if(!l.ok)throw new Error(l.error||`tool failed (${l.status})`);let m=l.data??{ok:!0};console.log(JSON.stringify(m,null,2))}g(Ye,"runToolRun");async function Qe(e,o,t){let r=await y(),n=w(r),i=P(r),a=await R(r,n),{app:s}=await T(i,a,o),f=typeof e.branch=="string"?String(e.branch):void 0,c=typeof e.deploymentId=="string"?String(e.deploymentId):void 0,d=c?{id:c}:await $(i,a,s.id,{branch:f});if(!d?.id)throw new Error("no deployments found");let u=typeof e.body=="string"?M(String(e.body),"body"):{};if(!u||typeof u!="object"||Array.isArray(u))throw new Error("body must be a JSON object");let l=typeof e.method=="string"?String(e.method).toUpperCase():"POST",m={...u,appId:s.id,deploymentId:d.id,toolName:t,method:l},h=await ge(i,a,m);console.log(JSON.stringify(h,null,2))}g(Qe,"runBacktestRun");async function Xe(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a,handle:s,repo:f}=await T(n,i,o),c=typeof e.branch=="string"?String(e.branch):void 0,d=typeof e.deploymentId=="string"?String(e.deploymentId):void 0,u=d?{id:d}:await $(n,i,a.id,{branch:c});if(!u?.id){console.log("no deployments found");return}await we({baseUrl:n,apiKey:i,deploymentId:u.id,prefix:`[${s}/${f}] `,intervalMs:e.interval?Number(e.interval):void 0,timeoutMs:e.timeout?Number(e.timeout):void 0})}g(Xe,"runDeployWatch");async function Ze(e,o){let r=((typeof e.name=="string"?e.name:null)||o.join(" ")).trim();if(!r)throw new Error("usage: repo create --name <name> [--team-id <id>] [--path <dir>] [--template <owner/repo|url>] [--template-branch <branch>] [--empty|--opentool] [--sandbox] [--token] [--auto-schedule-migration <true|false>]");let n=await y(),i=w(n),a=await R(n,i),s=P(n),f=typeof e.teamId=="string"&&e.teamId.trim()?e.teamId.trim():void 0,c=typeof e.template=="string"?e.template.trim():"";if(c&&(e.empty==="true"||e.opentool==="true"))throw new Error("choose one: --template or --empty/--opentool");if(e.empty==="true"&&e.opentool==="true")throw new Error("choose one: --empty or --opentool");let d=typeof e.description=="string"?e.description.trim():void 0,u=typeof e.templateBranch=="string"&&e.templateBranch.trim().length>0?e.templateBranch.trim():void 0,l=typeof e.env=="string"?M(e.env,"env"):void 0;if(l){if(typeof l!="object"||Array.isArray(l))throw new Error("env must be a JSON object");for(let[b,A]of Object.entries(l))if(typeof A!="string")throw new Error(`env value for ${b} must be a string`)}if(c){e.deployOnPush!==void 0&&console.warn("deploy-on-push is not used for template create (auto deploys)");let b=Re(c,i),k=(await se(s,a,[{name:r,...d?{description:d}:{},templateRepoUrl:b,...u?{templateBranch:u}:{},...l?{envVars:l}:{}}],f)).items?.[0];if(!k||k.status!=="ok"||!k.appId)throw new Error(k?.error||"Template create failed");console.log(`app_id: ${k.appId}`),k.deploymentId&&console.log(`deployment_id: ${k.deploymentId}`),k.conversationId&&console.log(`conversation_id: ${k.conversationId}`);return}let m=process.cwd(),h=typeof e.path=="string"?e.path:typeof e.dir=="string"?e.dir:null,I=h&&h.trim().length>0?h.trim():$e.isTTY?await he(m):m,p=U.resolve(I);if(W(p)){if(!(await V.stat(p)).isDirectory())throw new Error(`path is not a directory: ${p}`)}else await V.mkdir(p,{recursive:!0});let Pe=(await V.readdir(p)).filter(b=>b!==".git").length===0,x=v(e.yes)||v(e.force);if(!Pe&&!x&&!await S(`Directory is not empty (${p}). Continue?`,!1)){console.log("aborted");return}let ke=U.join(p,".git");if(!W(ke)){if(!(x?!0:await S("Initialize git repository here?",!0))){console.log("aborted");return}let A=await B("git",["init"],{cwd:p});if(A.code!==0)throw new Error(`git init failed: ${A.stderr.trim()||A.stdout.trim()||"unknown error"}`)}let K=await F(p,"origin");if(K&&!x&&!await S(`Remote "origin" already set (${K}). Replace it?`,!1)){console.log("aborted");return}let q=e.opentool==="true"?"opentool":"empty",Te=v(e.sandbox),Be=v(e.deployOnPush),N=e.autoScheduleMigration,Y=typeof N=="string"||typeof N=="boolean",Ee=Y?v(N):void 0,E=await ae(s,a,{name:r,...f?{teamId:f}:{},...d?{description:d}:{},...q?{repoInit:q}:{},...Te?{sandbox:!0}:{},...l?{envVars:l}:{},...Be?{deployOnPush:!0}:{},...Y?{autoScheduleMigration:Ee}:{}}),O=me(E);z(O);let J=v(e.token)||v(e.setRemoteToken),Oe=D(O,a),Q=J?Oe:O,_=await B("git",K?["remote","set-url","origin",Q]:["remote","add","origin",Q],{cwd:p});if(_.code!==0)throw new Error(`git remote failed: ${j(_.stderr.trim()||_.stdout.trim()||"unknown error")}`);let Ae=J?G(O):O;console.log(`app_id: ${E.appId}`),E.gitOwner&&E.gitRepo&&console.log(`repo: ${E.gitOwner}/${E.gitRepo}`),console.log(`remote: ${Ae}`),console.log('next: git add . && git commit -m "init"');let Ie=E.defaultBranch||"master";console.log(`next: openpond repo push --path ${p} --branch ${Ie}`),J||console.log(`token-remote (non-interactive): git -C ${p} remote set-url origin ${G(O)}`);try{await ye({apiBase:s,apiKey:a,forceRefresh:!0})}catch(b){console.warn("cache refresh failed",b)}}g(Ze,"runRepoCreate");async function Se(e){let o=await B("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e});if(o.code!==0)return null;let t=o.stdout.trim();return t.length>0?t:null}g(Se,"resolveGitBranch");async function et(e){let o=await y(),t=w(o),r=await R(o,t),n=typeof e.path=="string"?e.path:typeof e.dir=="string"?e.dir:null,i=U.resolve(n&&n.trim().length>0?n.trim():"."),a=U.join(i,".git");if(!W(a))throw new Error(`git repo not found at ${i} (missing .git)`);let s=await F(i,"origin");if(!s)throw new Error("origin remote not set; run `openpond repo create` first");z(s);let c=(typeof e.branch=="string"?e.branch.trim():"")||await Se(i);if(!c)throw new Error("unable to resolve git branch; pass --branch");let d;try{d=D(s,r)}catch{throw new Error("origin remote must be https for tokenized pushes")}let u=v(e.keepTokenRemote)||v(e.token)||v(e.setRemoteToken),l=s.includes("x-access-token:"),m=!u&&!l?s:null,h=process.env.GIT_TERMINAL_PROMPT;process.env.GIT_TERMINAL_PROMPT="0";try{if(!l){let p=await B("git",["remote","set-url","origin",d],{cwd:i});if(p.code!==0)throw new Error(`git remote set-url failed: ${j(p.stderr.trim()||p.stdout.trim()||"unknown error")}`)}if((await B("git",["push","-u","origin",c],{cwd:i,inherit:!0})).code!==0)throw new Error("git push failed")}finally{m&&await B("git",["remote","set-url","origin",m],{cwd:i}).catch(()=>null),h===void 0?delete process.env.GIT_TERMINAL_PROMPT:process.env.GIT_TERMINAL_PROMPT=h}}g(et,"runRepoPush");async function tt(e){if(e.length===0)throw new Error("usage: opentool <init|validate|build> [args]");let o=process.platform==="win32"?"npx.cmd":"npx";if((await B(o,["opentool",...e],{inherit:!0})).code!==0)throw new Error("opentool command failed")}g(tt,"runOpentool");async function nt(){let e="openpond",o=Z(),t=await te(e),r=`npm i -g ${e}@${t}`,n=ee(o,t);if(n===0){console.log(`${e} is up to date (${o})`);return}if(n===-1){console.log(`Update available: ${o} -> ${t}`),console.log(`Run: ${r}`);return}if(n===1){console.log(`Installed version (${o}) is newer than npm latest (${t}).`);return}if(o===t){console.log(`${e} is up to date (${o})`);return}console.log(`Installed: ${o}`),console.log(`Latest: ${t}`),console.log(`Run: ${r}`)}g(nt,"runCheckUpdate");export{Ge as a,je as b,ze as c,He as d,Fe as e,Ve as f,We as g,qe as h,Ye as i,Qe as j,Xe as k,Ze as l,Se as m,et as n,tt as o,nt as p};
|
|
2
|
+
import{a as me,b as D,c as G,d as j,e as z,g as ye,i as T,j as we,k as S,l as he,v as B,x as F}from"./chunk-LRGLV6JX.js";import{a as re,b as L,c as R}from"./chunk-65BW2QXY.js";import{b as H,c as be,d as ve,f as w,h as P,i as Re}from"./chunk-BSHAIAXY.js";import{a as Z,b as ee,c as te}from"./chunk-VB2S5HV4.js";import{a as M,f as v,k as X}from"./chunk-3M53YXEI.js";import{M as pe,N as ue,R as ge,V as fe,h as $,i as ie,l as ae,n as se,o as ce,p as le,q as de}from"./chunk-Z2BYC6TP.js";import{d as y,e as ne,f as oe,g as C}from"./chunk-DXAZUJPA.js";import{a as g}from"./chunk-FTQLQJQV.js";import{promises as V,existsSync as W}from"node:fs";import U from"node:path";import{stdin as $e}from"node:process";async function Ge(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=await ce(n,i,a.id);console.log(JSON.stringify(s,null,2))}g(Ge,"runTemplateStatus");async function je(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=await le(n,i,a.id);console.log(JSON.stringify(s,null,2))}g(je,"runTemplateBranches");async function ze(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=typeof e.env=="string"?e.env:typeof e.environment=="string"?e.environment:void 0,f=X(s),c=await de(n,i,a.id,{environment:f});console.log(JSON.stringify(c,null,2))}g(ze,"runTemplateUpdate");async function He(e){let o=await y(),t=w(o),r=typeof e.apiKey=="string"?e.apiKey:typeof e.key=="string"?e.key:null,n=r?r.trim():await L();if(!n)throw new Error("API key is required");n.startsWith("opk_")||console.log("warning: API keys usually start with opk_."),await C({handle:o.activeProfile?.handle||"default",apiKey:n,baseUrl:t,apiBaseUrl:o.apiBaseUrl,chatApiBaseUrl:o.chatApiBaseUrl,setActive:!0}),console.log("Saved account credentials to the encrypted OpenPond credential store.")}g(He,"runLogin");async function Fe(e,o){let t=o[0]||"list";if(t==="list"){let r=await ne();console.log(JSON.stringify({profiles:r},null,2));return}if(t==="use"){let r=o[1];if(!r)throw new Error("usage: profiles use <name> [--base-url <url>]");let n=await oe(r,{baseUrl:H(e)});console.log(JSON.stringify({profile:n},null,2));return}if(t==="save"){let r=o[1];if(!r)throw new Error("usage: profiles save <name> --api-key <key> [--base-url <url>] [--api-base-url <url>] [--chat-api-base-url <url>]");let n=typeof e.apiKey=="string"?e.apiKey:typeof e.key=="string"?e.key:null,i=n?n.trim():await L(),a=typeof e.environment=="string"?e.environment:typeof e.env=="string"?e.env:void 0,s=await C({handle:r,apiKey:i,baseUrl:H(e),apiBaseUrl:be(e),chatApiBaseUrl:ve(e),environment:a,setActive:!0});console.log(JSON.stringify({profile:s},null,2));return}throw new Error("usage: profiles <list|use|save> [args]")}g(Fe,"runProfiles");async function Ve(){let e=await y(),o=w(e),t=P(e),r=await R(e,o),n=await pe(t,r);console.log(JSON.stringify(n,null,2))}g(Ve,"runAccount");async function We(e){let o=await y(),t=P(o),r=re(o),n=await ue(t,r);console.log(JSON.stringify(n,null,2))}g(We,"runHealth");async function qe(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a}=await T(n,i,o),s=typeof e.branch=="string"?String(e.branch):void 0,f=await $(n,i,a.id,{branch:s});if(!f?.id){console.log("no deployments found");return}let c=await ie(n,i,f.id),d=(c&&Array.isArray(c.toolsJson)?c.toolsJson:null)||(c&&typeof c.metadataJson=="object"&&c.metadataJson?c.metadataJson.tools:null),u=Array.isArray(d)?d:[];if(u.length===0){console.log("no tools found");return}for(let l of u){let m=l,h=m.profile||m.function,I=m.name||h?.name||"unknown",p=m.description||h?.description||"";console.log(p?`${I} - ${p}`:I)}}g(qe,"runToolList");async function Ye(e,o,t){let r=await y(),n=w(r),i=P(r),a=await R(r,n),{app:s}=await T(i,a,o),f=typeof e.branch=="string"?String(e.branch):void 0,c=await $(i,a,s.id,{branch:f});if(!c?.id)throw new Error("no deployments found");let d;if(typeof e.body=="string")try{d=JSON.parse(e.body)}catch{throw new Error("tool body must be valid JSON")}let u=typeof e.method=="string"?String(e.method).toUpperCase():"POST",l=await fe(n,a,{appId:s.id,deploymentId:c.id,toolName:t,method:u,body:d,headers:a?{"openpond-api-key":a}:void 0});if(!l.ok)throw new Error(l.error||`tool failed (${l.status})`);let m=l.data??{ok:!0};console.log(JSON.stringify(m,null,2))}g(Ye,"runToolRun");async function Qe(e,o,t){let r=await y(),n=w(r),i=P(r),a=await R(r,n),{app:s}=await T(i,a,o),f=typeof e.branch=="string"?String(e.branch):void 0,c=typeof e.deploymentId=="string"?String(e.deploymentId):void 0,d=c?{id:c}:await $(i,a,s.id,{branch:f});if(!d?.id)throw new Error("no deployments found");let u=typeof e.body=="string"?M(String(e.body),"body"):{};if(!u||typeof u!="object"||Array.isArray(u))throw new Error("body must be a JSON object");let l=typeof e.method=="string"?String(e.method).toUpperCase():"POST",m={...u,appId:s.id,deploymentId:d.id,toolName:t,method:l},h=await ge(i,a,m);console.log(JSON.stringify(h,null,2))}g(Qe,"runBacktestRun");async function Xe(e,o){let t=await y(),r=w(t),n=P(t),i=await R(t,r),{app:a,handle:s,repo:f}=await T(n,i,o),c=typeof e.branch=="string"?String(e.branch):void 0,d=typeof e.deploymentId=="string"?String(e.deploymentId):void 0,u=d?{id:d}:await $(n,i,a.id,{branch:c});if(!u?.id){console.log("no deployments found");return}await we({baseUrl:n,apiKey:i,deploymentId:u.id,prefix:`[${s}/${f}] `,intervalMs:e.interval?Number(e.interval):void 0,timeoutMs:e.timeout?Number(e.timeout):void 0})}g(Xe,"runDeployWatch");async function Ze(e,o){let r=((typeof e.name=="string"?e.name:null)||o.join(" ")).trim();if(!r)throw new Error("usage: repo create --name <name> [--team-id <id>] [--path <dir>] [--template <owner/repo|url>] [--template-branch <branch>] [--empty|--opentool] [--sandbox] [--token] [--auto-schedule-migration <true|false>]");let n=await y(),i=w(n),a=await R(n,i),s=P(n),f=typeof e.teamId=="string"&&e.teamId.trim()?e.teamId.trim():void 0,c=typeof e.template=="string"?e.template.trim():"";if(c&&(e.empty==="true"||e.opentool==="true"))throw new Error("choose one: --template or --empty/--opentool");if(e.empty==="true"&&e.opentool==="true")throw new Error("choose one: --empty or --opentool");let d=typeof e.description=="string"?e.description.trim():void 0,u=typeof e.templateBranch=="string"&&e.templateBranch.trim().length>0?e.templateBranch.trim():void 0,l=typeof e.env=="string"?M(e.env,"env"):void 0;if(l){if(typeof l!="object"||Array.isArray(l))throw new Error("env must be a JSON object");for(let[b,A]of Object.entries(l))if(typeof A!="string")throw new Error(`env value for ${b} must be a string`)}if(c){e.deployOnPush!==void 0&&console.warn("deploy-on-push is not used for template create (auto deploys)");let b=Re(c,i),k=(await se(s,a,[{name:r,...d?{description:d}:{},templateRepoUrl:b,...u?{templateBranch:u}:{},...l?{envVars:l}:{}}],f)).items?.[0];if(!k||k.status!=="ok"||!k.appId)throw new Error(k?.error||"Template create failed");console.log(`app_id: ${k.appId}`),k.deploymentId&&console.log(`deployment_id: ${k.deploymentId}`),k.conversationId&&console.log(`conversation_id: ${k.conversationId}`);return}let m=process.cwd(),h=typeof e.path=="string"?e.path:typeof e.dir=="string"?e.dir:null,I=h&&h.trim().length>0?h.trim():$e.isTTY?await he(m):m,p=U.resolve(I);if(W(p)){if(!(await V.stat(p)).isDirectory())throw new Error(`path is not a directory: ${p}`)}else await V.mkdir(p,{recursive:!0});let Pe=(await V.readdir(p)).filter(b=>b!==".git").length===0,x=v(e.yes)||v(e.force);if(!Pe&&!x&&!await S(`Directory is not empty (${p}). Continue?`,!1)){console.log("aborted");return}let ke=U.join(p,".git");if(!W(ke)){if(!(x?!0:await S("Initialize git repository here?",!0))){console.log("aborted");return}let A=await B("git",["init"],{cwd:p});if(A.code!==0)throw new Error(`git init failed: ${A.stderr.trim()||A.stdout.trim()||"unknown error"}`)}let K=await F(p,"origin");if(K&&!x&&!await S(`Remote "origin" already set (${K}). Replace it?`,!1)){console.log("aborted");return}let q=e.opentool==="true"?"opentool":"empty",Te=v(e.sandbox),Be=v(e.deployOnPush),N=e.autoScheduleMigration,Y=typeof N=="string"||typeof N=="boolean",Ee=Y?v(N):void 0,E=await ae(s,a,{name:r,...f?{teamId:f}:{},...d?{description:d}:{},...q?{repoInit:q}:{},...Te?{sandbox:!0}:{},...l?{envVars:l}:{},...Be?{deployOnPush:!0}:{},...Y?{autoScheduleMigration:Ee}:{}}),O=me(E);z(O);let J=v(e.token)||v(e.setRemoteToken),Oe=D(O,a),Q=J?Oe:O,_=await B("git",K?["remote","set-url","origin",Q]:["remote","add","origin",Q],{cwd:p});if(_.code!==0)throw new Error(`git remote failed: ${j(_.stderr.trim()||_.stdout.trim()||"unknown error")}`);let Ae=J?G(O):O;console.log(`app_id: ${E.appId}`),E.gitOwner&&E.gitRepo&&console.log(`repo: ${E.gitOwner}/${E.gitRepo}`),console.log(`remote: ${Ae}`),console.log('next: git add . && git commit -m "init"');let Ie=E.defaultBranch||"master";console.log(`next: openpond repo push --path ${p} --branch ${Ie}`),J||console.log(`token-remote (non-interactive): git -C ${p} remote set-url origin ${G(O)}`);try{await ye({apiBase:s,apiKey:a,forceRefresh:!0})}catch(b){console.warn("cache refresh failed",b)}}g(Ze,"runRepoCreate");async function Se(e){let o=await B("git",["rev-parse","--abbrev-ref","HEAD"],{cwd:e});if(o.code!==0)return null;let t=o.stdout.trim();return t.length>0?t:null}g(Se,"resolveGitBranch");async function et(e){let o=await y(),t=w(o),r=await R(o,t),n=typeof e.path=="string"?e.path:typeof e.dir=="string"?e.dir:null,i=U.resolve(n&&n.trim().length>0?n.trim():"."),a=U.join(i,".git");if(!W(a))throw new Error(`git repo not found at ${i} (missing .git)`);let s=await F(i,"origin");if(!s)throw new Error("origin remote not set; run `openpond repo create` first");z(s);let c=(typeof e.branch=="string"?e.branch.trim():"")||await Se(i);if(!c)throw new Error("unable to resolve git branch; pass --branch");let d;try{d=D(s,r)}catch{throw new Error("origin remote must be https for tokenized pushes")}let u=v(e.keepTokenRemote)||v(e.token)||v(e.setRemoteToken),l=s.includes("x-access-token:"),m=!u&&!l?s:null,h=process.env.GIT_TERMINAL_PROMPT;process.env.GIT_TERMINAL_PROMPT="0";try{if(!l){let p=await B("git",["remote","set-url","origin",d],{cwd:i});if(p.code!==0)throw new Error(`git remote set-url failed: ${j(p.stderr.trim()||p.stdout.trim()||"unknown error")}`)}if((await B("git",["push","-u","origin",c],{cwd:i,inherit:!0})).code!==0)throw new Error("git push failed")}finally{m&&await B("git",["remote","set-url","origin",m],{cwd:i}).catch(()=>null),h===void 0?delete process.env.GIT_TERMINAL_PROMPT:process.env.GIT_TERMINAL_PROMPT=h}}g(et,"runRepoPush");async function tt(e){if(e.length===0)throw new Error("usage: opentool <init|validate|build> [args]");let o=process.platform==="win32"?"npx.cmd":"npx";if((await B(o,["opentool",...e],{inherit:!0})).code!==0)throw new Error("opentool command failed")}g(tt,"runOpentool");async function nt(){let e="openpond",o=Z(),t=await te(e),r=`npm i -g ${e}@${t}`,n=ee(o,t);if(n===0){console.log(`${e} is up to date (${o})`);return}if(n===-1){console.log(`Update available: ${o} -> ${t}`),console.log(`Run: ${r}`);return}if(n===1){console.log(`Installed version (${o}) is newer than npm latest (${t}).`);return}if(o===t){console.log(`${e} is up to date (${o})`);return}console.log(`Installed: ${o}`),console.log(`Latest: ${t}`),console.log(`Run: ${r}`)}g(nt,"runCheckUpdate");export{Ge as a,je as b,ze as c,He as d,Fe as e,Ve as f,We as g,qe as h,Ye as i,Qe as j,Xe as k,Ze as l,Se as m,et as n,tt as o,nt as p};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{Ca as Ve,Db as We,Ea as qe,G as we,J as N,Ja as $e,K as p,La as Le,Lb as V,Ma as ne,Ob as U,Pa as Re,Qa as W,Qb as ie,Ra as K,Sa as oe,Ta as Oe,Tb as ce,Ua as ze,V as Ce,Wa as Y,X as Fe,Xa as A,Ya as Q,_b as Ke,c as ke,e as ge,f as G,g as re,rc as Je,sc as Te,tc as Xe,va as je,vc as be,wb as Ge,wc as Se,yc as xe,zb as Ne}from"./chunk-ELUCM7CG.js";import{n as he,o as ve,p as Ae}from"./chunk-ALYT2HWV.js";import{B as Ie,E as He,F as Ee,G as Me,H as De,O,P as J,R as $,T as ee,W as X,Y as te,_ as _e,a as B,fa as v,ga as j,ha as H,ia as Be,ka as se,ma as ae,s as Z,xa as z}from"./chunk-TU5ITNMX.js";import{b as g}from"./chunk-ES2ISFJC.js";import{a as S}from"./chunk-FTQLQJQV.js";var de=J.shape.id,Ye=g.object({schemaVersion:g.literal("openpond.modelBatchReviewInspection.v1"),packageHash:g.string().regex(/^[a-f0-9]{64}$/),definition:$,binding:Ie,evidence:g.array(X).min(1).max(1e4),decisions:g.array(_e).min(1).max(1e4)}).strict(),Pe=g.object({schemaVersion:g.literal("openpond.modelBatchReviewRequest.v1"),operationId:de,modelId:de,expectedModelRevision:g.number().int().positive(),tasksetRef:J,rewardBindingRef:J.nullable(),definition:g.object({name:g.string().trim().min(1).max(500).optional(),instructions:g.string().trim().min(1).max(2e4).optional(),inputSchema:O.optional(),outputSchema:O.optional(),requiredOutputs:$.shape.requiredOutputs}).strict(),examples:g.array(g.object({evidence:J,input:O.optional(),expected:O.nullable().optional(),evaluatorContext:O.nullable().optional(),proposedTarget:O.nullable().optional()}).strict()).max(1e4)}).strict(),Qe=g.object({schemaVersion:g.literal("openpond.modelBatchReviewReceipt.v1"),operationId:de,modelId:de,source:ee,evidence:g.array(X).min(1).max(1e4),proposals:g.array(te).max(1e4)}).strict();function rt(s){let e=A(s.source),t=A(s.edited),a=s.preparation;if(a.authoringGraph!=="bound"||!e.modelResources||e.learningResources||t.modelResources||t.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=S(b=>b.taskset.graders.map(F=>F.kind==="custom_verifier"?{...F,exportName:F.exportName??"verify"}:F),"normalizedGraders");if(p(i(e))!==p(i(t)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let m=e.modelResources,u=new Map(m.assets.map(b=>[b.id,b])),k=K(t),x=K(e),R=S(b=>{let{id:F,revision:pe,contentHash:fe,metadata:ue,...st}=b,{javascriptEnvironment:vt,...ye}=ue;return{...st,metadata:{...ye,resources:ye.resources??[]}}},"environmentContent"),n=S(b=>{if(!b)return null;let{id:F,revision:pe,contentHash:fe,...ue}=b.execution.javascript;return ue},"javascriptContent"),w=p(R(e.environment))===p(R(t.environment))&&p(n(x))===p(n(k)),c=w?e.environment:t.environment,l=w?x:k,d=new Set([...m.assets.map(b=>b.id),...t.taskset.tasks.flatMap(b=>b.privilegedContextRef?[b.privilegedContextRef]:[]),...[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef].flatMap(b=>b?[b.id]:[]),...k?.assets.map(b=>b.id)??[]]);for(let b of d){let F=t.files.find(fe=>fe.asset.id===b);if(!F)throw new Error(`Bound Taskset asset is missing: ${b}.`);let pe=new TextDecoder("utf-8",{fatal:!0}).decode(W(F));u.set(b,se.parse(H({schemaVersion:"openpond.learningTextAsset.v1",id:b,revision:1,asset:F.asset,text:pe})))}let I=Y(t),{contentHash:E,...M}=m.taskDefinition,{policy:h,environment:P,environmentRelease:C,tools:q,capabilities:r,verifierSetRelease:f}=t.taskset,T=$.parse(H({...M,instructions:I,execution:{policy:h,environment:P,environmentRelease:C,tools:q,capabilities:r,verifierSetRelease:f}})),{contentHash:D,...o}=t.taskset,y=Z.parse(H({...o,tasks:t.taskset.tasks.map(b=>m.instructionMode==="per_task"?b:{...b,policyVisibleContext:{...b.policyVisibleContext,instructions:I}})})),_=ne({owner:a.lineage.owner,source:{...m,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:m.rewardBinding,rewards:m.rewards,assets:[...u.values()],edits:{taskset:y,taskDefinition:T,executionResources:{environment:c,verifierSet:t.verifierSet},...l?{execution:l.execution}:{}}}),L=$e.parse(_.taskset.metadata.modelTasksetDerivation);if(_.taskset.id!==a.tasksetId||_.taskset.revision!==a.tasksetRevision||p({...L,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:le,executionResources:et,...tt}=_;return Q({schemaVersion:"openpond.tasksetPackage.v1",taskset:le,...et,modelResources:tt,files:t.files})}S(rt,"publishBoundModelTasksetDraftPackage");function nt(s){let e=ge.parse(s.request),t=ke.parse(s.owner),a=A(s.source);if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(a.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(a.modelResources){let x=Le({owner:t,source:{...a.modelResources,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:a.modelResources.rewardBinding,rewards:a.modelResources.rewards,assets:a.modelResources.assets}),R=x.taskset.metadata.modelTasksetDerivation;return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:x.taskset.id,tasksetRevision:x.taskset.revision,lineage:{...R,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=ze(a.taskset),m=i&&p(i.owner)===p(t),u=m?i.root:v(a.taskset),k={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:t,root:u,parent:v(a.taskset)};return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:Oe(k),tasksetRevision:m?a.taskset.revision+1:1,lineage:k})}S(nt,"prepareModelTasksetDraft");function ot(s){let e=G.parse(s.preparation);if(!j(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!s.source)throw new Error("Bound Taskset authoring requires its retained source package.");return rt({preparation:e,source:s.source,edited:s.edited})}let t=it(s.edited),{contentHash:a,...i}=t.verifierSet,m=Fe({...i,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:v(t.verifierSet)}}),{contentHash:u,...k}=t.taskset,x=Z.parse(H({...k,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:m.id,contentHash:m.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...t.taskset.metadata.environmentResources===void 0?{}:{environmentResources:t.taskset.metadata.environmentResources},...t.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:t.taskset.metadata.ordinaryAuthoring}}})),R=K(t),n=R?[...t.files.filter(w=>w.asset.id!==qe(t.taskset)),oe({...R.execution,verifierSet:m})]:t.files;return Q({schemaVersion:"openpond.tasksetPackage.v1",taskset:x,environment:t.environment,verifierSet:m,files:n})}S(ot,"publishModelTasksetDraftPackage");function it(s){let e=A(s);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}S(it,"requireOrdinaryPackage");function ct(s,e,t,a){if(s.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:s,inventory:t,generatedFiles:[]};let i="environment/execution.json",m=e.get(i);if(!m||m.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let u=Ve.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))),k=S(M=>{if(!M)return null;let h=t.find(P=>P.asset.id===M.id&&P.asset.path===M.path);if(!h)throw new Error(`Authored environment dependency is missing: ${M.id}.`);return h.asset},"repin"),{contentHash:x,...R}=u.javascript,n=je.parse(H({...R,id:`javascript-${s.id}`,revision:s.revision,module:k(u.javascript.module)}));if(p(n.tools)!==p(s.environment.metadata.portableTools)||p(n.tools.map(M=>M.name))!==p(s.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let w=Ce({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${s.id}`,revision:s.revision,contract:Se(s),actionSchemaRef:k(u.environment.actionSchemaRef),observationSchemaRef:k(u.environment.observationSchemaRef),stateSchemaRef:k(u.environment.stateSchemaRef),artifactCollection:u.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:v(n),resources:s.environment.resources??[]}}),c=V.parse({...s,environment:{...s.environment,metadata:{...s.environment.metadata,portableExecutionResources:{environment:w}}}}),l=be({taskset:c,adapterId:a}),d=oe({javascript:n,environment:w,verifierSet:l.verifierSetRelease}),I=[...t.filter(M=>M.sourcePath!==i),{asset:d.asset,sourcePath:i}],E=V.parse({...c,metadata:{...c.metadata,portableFileInventory:I}});return{taskset:V.parse({...E,contentHash:U(E)}),inventory:I,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(W(d))}]}}S(ct,"prepareAuthoredToolEnvironment");var me=g.array(g.object({asset:we,sourcePath:g.string().min(1)}).strict()).max(1e4),dt=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function mt(s){return dt.has(s)}S(mt,"isGeneratedTasksetPublicationFilePath");function lt(s,e,t){let a=V.parse(s);if(a.metadata.taskDefinition!==void 0||a.metadata.rewardBinding!==void 0)return{taskset:a,generatedFiles:[]};let i=new Map,m=0;for(let[r,f]of e){if(re.parse(r),m+=f.byteLength,i.size>=1e4||m>Re*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(r,f.slice())}let u=a.metrics?.customAggregator,k=u?i.get(u.module):void 0;if(u&&!k)throw new Error("Declared Taskset metric module is missing.");let x=u&&k?{...a.metrics,customAggregator:{...u,contentHash:N(k)}}:a.metrics,R=new Map,n=new Set,w=[],c=S((r,f,T,D)=>{let o=i.get(f);if(!o)throw new Error(`Declared Taskset file is missing: ${f}.`);return{id:r,path:f,contentHash:N(o),sizeBytes:o.byteLength,mediaType:T,visibility:D}},"ref"),l=S((r,f=r.path)=>{let T=R.get(r.id);if(T&&p(T)!==p({asset:r,sourcePath:f}))throw new Error(`Conflicting Taskset file identity: ${r.id}.`);let D=i.get(f);if(!D||D.length!==r.sizeBytes||N(D)!==r.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${r.id}.`);R.set(r.id,{asset:r,sourcePath:f}),n.add(f)},"add");for(let r of a.tasks){let f=xe(r);for(let T of f.artifactRefs)l(T,r.assets?.find(D=>D.id===T.id)?.artifactRef??T.path);for(let T of f.requiredOutputs??[])T.schemaRef&&l(T.schemaRef)}for(let r of a.environment.resources??[])l(c(r.id,r.path,r.mediaType??"application/octet-stream",r.visibility==="policy_visible"?"policy":"host_private"));let d=a.graders.map(r=>{if(r.kind==="custom_verifier"){let f=c(`verifier-${r.id}`,r.module,"application/javascript","host_private"),T=we.safeParse(r.metadata.portableVerifierRef);return T.success&&T.data.contentHash===f.contentHash&&T.data.sizeBytes===f.sizeBytes&&(f=T.data),l(f,r.module),{...r,metadata:{...r.metadata,portableVerifierRef:f}}}if(r.kind==="human"||r.kind==="model_judge"){let f=new TextEncoder().encode(r.rubric),T=`graders/rubric-${N(f)}.md`;i.set(T,f);let D=c(`rubric-${r.id}`,T,"text/markdown","verifier");return l(D),w.push({path:T,role:"verifier",content:r.rubric}),{...r,metadata:{...r.metadata,portableRubricRef:D}}}return r});u&&![...R.values()].some(r=>r.asset.path===u.module&&r.sourcePath===u.module&&r.asset.visibility!=="policy")&&l(c(`metric-${p(u.module)}`,u.module,"application/javascript","host_private"));let I=me.parse(a.metadata.portableFileInventory??[]);for(let r of[...i.keys()].sort())if(!n.has(r)){let f=I.find(T=>T.sourcePath===r&&!R.has(T.asset.id));l(f?{...c(f.asset.id,r,f.asset.mediaType,f.asset.visibility),path:f.asset.path}:c(`taskset-file-${p(r)}`,r,"application/octet-stream","host_private"),r)}let{importedPackageHash:E,derivedPortableMetadata:M,...h}=a.metadata,P={...a.environment.metadata};if(P.portableExecutionResources!==void 0){let r=g.object({environment:g.unknown(),verifierSet:g.unknown().optional()}).parse(P.portableExecutionResources);P.portableExecutionResources={environment:r.environment}}let C=V.parse({...a,graders:d,metrics:x,environment:{...a.environment,metadata:P},metadata:{...h,...E===void 0?{}:{sourceImportedPackageHash:E},portableFileInventory:me.parse([...R.values()].sort((r,f)=>r.asset.id.localeCompare(f.asset.id)))}}),q=ct(C,i,[...R.values()],t);return{taskset:V.parse({...q.taskset,contentHash:U(q.taskset)}),generatedFiles:[...w,...q.generatedFiles]}}S(lt,"prepareAuthoredTasksetSource");function Is(s){let e=A(s.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let t=Y(e);if(!t.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let a=new Map,i=K(e);for(let h of i?.assets??[])a.set(h.id,h);let m=new Set([...e.taskset.tasks.flatMap(h=>h.privilegedContextRef?[h.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(h=>h?[h.id]:[])]);for(let h of m){if(a.has(h))continue;let P=e.files.find(q=>q.asset.id===h);if(!P)throw new Error(`Source Taskset context is missing: ${h}.`);let C=new TextDecoder("utf-8",{fatal:!0}).decode(W(P));a.set(h,se.parse(H({schemaVersion:"openpond.learningTextAsset.v1",id:h,revision:1,asset:P.asset,text:C})))}for(let h of s.assets){let P=e.files.find(C=>C.asset.id===h.id);if(P&&H({asset:P.asset}).contentHash!==H({asset:h.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${h.id}.`);a.set(h.id,h)}let{policy:u,environment:k,environmentRelease:x,tools:R,capabilities:n,verifierSetRelease:w}=e.taskset,c=$.parse(H({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:t,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:v(s.rewardBinding),harness:null,execution:{policy:u,environment:k,environmentRelease:x,tools:R,capabilities:n,verifierSetRelease:w}})),l=ne({...s,assets:[...a.values()],source:{taskset:e.taskset,taskDefinition:c,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),d=new Map(e.files.map(h=>[h.asset.id,h]));for(let h of l.assets){let P="";for(let C of new TextEncoder().encode(h.text))P+=String.fromCharCode(C);d.set(h.id,{asset:h.asset,base64:btoa(P)})}let{taskset:I,executionResources:E,...M}=l;return Q({schemaVersion:"openpond.tasksetPackage.v1",taskset:I,...E,modelResources:M,files:[...d.values()]})}S(Is,"bindOrdinaryModelTasksetReward");function pt(s){let{request:e,package:t}=s,a=t.learningResources;if(!a)throw new B("model_review_batch_required",422);let i=z(t.taskset),m=`model-review-${p([s.scope,e.modelId,e.operationId])}`,u=new Map(e.examples.map(o=>[p(o.evidence),o])),k=new Set(a.evidence.map(o=>p(v(o)))),x=new Map(a.decisions.map(o=>[p(o.evidence),o]));if(u.size!==e.examples.length||e.examples.some(o=>!k.has(p(o.evidence))))throw new B("model_review_evidence_mismatch",409);for(let o of[s.binding,...s.rewards,...s.assets])Be(o);Me(s.binding,s.rewards);let R=new Map;for(let o of s.binding.sources){let y=s.rewards.find(le=>j(v(le),o.reward)),{contentHash:_,...L}=y;R.set(y.contentHash,He({...L,id:`${m}-reward-${y.contentHash}`,revision:1}))}let n=[...R.values()],{contentHash:w,recipeRef:c,...l}=s.binding,d=Ee({...l,id:`${m}-binding`,revision:1,sources:s.binding.sources.map(o=>({...o,reward:v(R.get(o.reward.contentHash))}))},n),I=n.flatMap(o=>[...o.assets,..."verifierRef"in o.implementation?[o.implementation.verifierRef]:[],..."rubricRef"in o.implementation?[o.implementation.rubricRef]:[],..."inputContract"in o.implementation?[o.implementation.inputContract]:[]]),E=[...new Map(I.map(o=>{let y=s.assets.find(_=>_.id===o.id);if(!y)throw new B("model_review_reward_asset_missing",422);if(ae(y,o),o.visibility==="policy")throw new B("reward_asset_visibility_invalid",422);return[y.id,y]})).values()],{environmentRelease:M,verifierSetRelease:h,...P}=i.definition.execution,{contentHash:C,...q}=i.definition,r=$.parse(H({...q,...e.definition,id:`${m}-definition`,revision:1,rewardBinding:v(d),execution:{...P,policy:{...P.policy,hiddenGraderRefs:De(d,n).filter(o=>o.privileged).map(o=>o.id)}}})),f=ee.parse(H({schemaVersion:"openpond.learningSource.v1",id:m,revision:1,name:`${r.name} review`,kind:"direct",taskDefinition:v(r),enabled:!0,allowedSplits:[...new Set(a.evidence.map(o=>o.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:t.contentHash,taskset:v(t.taskset),batch:v(a.batch),rewardBinding:v(s.binding)}})),T=a.evidence.map(o=>{let y=u.get(p(v(o))),_=`review-${o.contentHash}`,L=p({instructions:r.instructions,inputSchema:r.inputSchema,outputSchema:r.outputSchema,requiredOutputs:r.requiredOutputs??[],input:y?.input??o.submission.input})!==p({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:o.submission.input});return X.parse(H({schemaVersion:"openpond.taskEvidence.v1",id:Ae(f.id,o.submission.exampleId,_),revision:1,source:v(f),submission:{...o.submission,sourceId:f.id,taskDefinition:v(r),attemptId:_,observedOutput:L?null:o.submission.observedOutput,idempotencyKey:`${m}-${o.contentHash}`,...y?.input===void 0?{}:{input:y.input},...y?.expected===void 0?{}:{expected:y.expected},...y?.evaluatorContext===void 0?{}:{evaluatorContext:y.evaluatorContext}},supersedes:v(o),correctionFeedbackId:null,receivedAt:s.now}))}),D=T.flatMap(o=>{let y=u.get(p(o.supersedes)),_=x.get(p(o.supersedes)),L=y?.proposedTarget===void 0?_.approvedTarget:y.proposedTarget;return L===null?[]:[te.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${p([m,o.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:f.id,idempotencyKey:`${m}-${o.id}`,exampleId:o.submission.exampleId,attemptId:o.submission.attemptId,expectedEvidenceHash:o.contentHash,occurredAt:s.now,kind:"target_correction",value:L,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:v(o),createdAt:s.now,review:null})]});return{source:f,definition:r,binding:d,rewards:n,assets:E,evidence:T,proposals:D}}S(pt,"prepareModelBatchReview");var Ue=S(s=>`model-batch-review-${p([s.modelId,s.operationId])}`,"operation");function _s(s){let e=A(s);if(!e.learningResources)throw new B("model_review_batch_required",422);let t=z(e.taskset);return Ye.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:t.definition,binding:t.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}S(_s,"inspectModelBatchPackage");async function ft(s,e){let t=Pe.parse(e),a=await s.operation(Ue(t));if(!a)return null;if(a.requestHash!==p(t))throw new B("learning_idempotency_conflict",409);return Ze(s,t,a.resources)}S(ft,"findModelBatchReview");async function Bs(s,e){let t=Pe.parse(e.request),a=await ft(s,t);if(a)return a;let i=A(e.package);if(!i.learningResources)throw new B("model_review_batch_required",422);let m=z(i.taskset),u=t.rewardBindingRef,k=!u||j(u,v(m.binding)),x=k?m.binding:await ve(s,"binding",u),R=k?m.rewards:await Promise.all(x.sources.map(d=>ve(s,"reward",d.reward))),n=new Set(R.flatMap(d=>[...d.assets,..."verifierRef"in d.implementation?[d.implementation.verifierRef]:[],..."rubricRef"in d.implementation?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]).map(d=>d.id)),w=k?i.learningResources.assets:await Promise.all([...n].map(d=>he(s,"asset",d,1))),c=pt({...e,request:t,package:i,binding:x,rewards:R,assets:w}),l=[];for(let d of c.assets){let I=await s.get("asset",d.id,1);if(I&&I.contentHash!==d.contentHash)throw new B("model_review_asset_conflict",409);I||await s.put("asset",d,0)}for(let d of c.rewards)await s.put("reward",d,0);await s.put("binding",c.binding,0),await s.put("definition",c.definition,0),await s.put("source",c.source,0,{parentId:t.modelId}),l.push({kind:"source",id:c.source.id,revision:1});for(let d of c.evidence)await s.put("evidence",d,0,{parentId:c.source.id}),l.push({kind:"evidence",id:d.id,revision:1});for(let d of c.proposals)await s.put("feedback",d,0,{parentId:d.evidence.id,status:d.status}),l.push({kind:"feedback",id:d.id,revision:1});return await s.saveOperation(Ue(t),{requestHash:p(t),resources:l}),Ze(s,t,l)}S(Bs,"beginModelBatchReview");async function Ze(s,e,t){let a=await Promise.all(t.map(i=>he(s,i.kind,i.id,i.revision)));return Qe.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:a.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:a.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:a.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}S(Ze,"readReceipt");function Cs(s){let e=A(s.package),t=e.taskset,a=e.modelResources,i=e.learningResources?z(t):void 0,m=Ge.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${p({profileId:s.profileId,packageHash:e.contentHash})}`,profileId:s.profileId,title:s.name,sourceHash:e.contentHash,occurredAt:s.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[e.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(e)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),u=Ke({profileId:s.profileId,id:`${t.id}-import`,name:s.name,now:s.createdAt}),k=[];for(let c of t.graders)if(c.kind==="custom_verifier"){let l=a?.assets.find(E=>E.id===c.verifierRef.id),d=e.files.find(E=>E.asset.id===c.verifierRef.id);if(!d)throw new Error(`Imported verifier source is missing: ${c.id}.`);let I=Xe(c.verifierRef.contentHash);k.some(E=>E.path===I)||k.push({path:I,role:"verifier",content:l?ae(l,c.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(W(d))})}let x=t.metadata.ordinaryAuthoring??t.metadata.starterAuthoring,R=We.array().max(1e5).parse(x?.graderFixtures??[]),n=t.environment.kind==="text"?"chat":t.environment.kind==="custom_program"?"program":t.environment.kind,w=V.parse({schemaVersion:"openpond.taskset.v1",id:t.id,revision:t.revision,profileId:s.profileId,profileRelease:null,createImproveRunId:null,name:s.name,objective:Y(e),status:"needs_review",sourceRefs:[m],datasetArtifact:null,policy:t.policy,environment:{...u.environment,kind:n,entrypoint:t.environment.entrypoint,resources:Ne.array().max(1e4).parse(t.metadata.environmentResources??[]),stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(c=>c.name),defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{runtimeSourceTasksetId:ut(s.profileId,e.contentHash),portableEnvironment:t.environment,portableTools:t.tools,portableExecutionResources:{environment:e.environment,verifierSet:e.verifierSet}}},capabilities:{...u.capabilities,taskKind:n==="chat"?"chat":n==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,rewardKinds:[...new Set(t.graders.map(c=>c.kind==="human"?"human":c.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:t.tasks.map(c=>({...c,schemaVersion:"openpond.taskData.v1",sourceRefs:[m.id],assets:c.artifactRefs.map(l=>({id:l.id,sourceRefId:m.id,artifactRef:l.path,fileName:l.path.split("/").at(-1),mediaType:l.mediaType,sha256:l.contentHash,sizeBytes:l.sizeBytes,split:c.split,metadata:{portableAsset:l}})),...c.requiredOutputs?{requiredOutputs:c.requiredOutputs.map(l=>({...l,schemaRef:l.schemaRef?.id??null,maxBytes:l.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:c,exampleOrigin:"imported"}})),graders:a?Te(a.rewardBinding,a.rewards,a.assets):i?Te(i.binding,i.rewards,e.learningResources.assets):Je(e),graderFixtures:R,learningSignals:u.learningSignals,...t.metrics?{metrics:t.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[e.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:s.createdAt},readiness:null,contentHash:"00000000",createdAt:s.createdAt,updatedAt:s.createdAt,metadata:{importedPackageHash:e.contentHash,...i?{learning:i}:{},portableFileInventory:e.files.map(c=>({asset:c.asset,sourcePath:c.asset.path})),...a?{taskDefinition:v(a.taskDefinition),rewardBinding:v(a.rewardBinding),rewardExecution:{binding:a.rewardBinding,rewards:a.rewards}}:{},portableCapabilities:t.capabilities,derivedPortableMetadata:t.metadata,...t.metadata.modelTasksetDerivation?{modelTasksetDerivation:t.metadata.modelTasksetDerivation}:{}}});return{package:e,taskset:V.parse({...w,contentHash:U(w)}),generatedFiles:k}}S(Cs,"prepareImportedTasksetPackage");function ut(s,e){return`package-${p({profileId:s,packageHash:e})}`}S(ut,"tasksetPackageSourceId");var ht=g.object({draft:ie,filePaths:g.array(g.object({assetId:g.string().min(1),paths:g.array(re).min(1).max(1e4)}).strict()).max(1e4)}).strict();function Vs(s){let e=A(s.source),t=ie.parse(s.sourceDraft),a=G.parse(s.preparation);if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(a.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=me.parse(t.metadata.portableFileInventory??[]),m=S(n=>ce(n)?`source-artifacts/${e.contentHash}/${p(n)}/${n.split("/").at(-1)}`:n,"sourcePath");if([...t.tasks.flatMap(n=>(n.assets??[]).map(w=>w.artifactRef)),...(t.environment.resources??[]).map(n=>n.path),...e.taskset.tasks.flatMap(n=>(n.requiredOutputs??[]).flatMap(w=>w.schemaRef?[w.schemaRef.path]:[])),...t.metrics.customAggregator?[t.metrics.customAggregator.module]:[],...t.graders.flatMap(n=>n.kind==="custom_verifier"?[n.module]:[])].some(ce))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let k=e.files.map(n=>{let w=new Set([n.asset.path]);for(let c of i)c.asset.id===n.asset.id&&w.add(c.sourcePath);for(let c of t.tasks)for(let l of c.assets??[])l.id===n.asset.id&&w.add(l.artifactRef);for(let c of e.taskset.graders)if(c.kind==="custom_verifier"&&c.verifierRef.id===n.asset.id){let l=t.graders.find(d=>d.id===c.id);l?.kind==="custom_verifier"&&w.add(l.module)}return{assetId:n.asset.id,paths:[...w].map(m)}}),x={...t.metadata};if(e.modelResources)for(let n of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete x[n];let R=ie.parse({...t,id:a.draftId,revision:1,status:"draft",graders:t.graders.map(n=>({...n,metadata:{...n.metadata,portableGrader:e.taskset.graders.find(w=>w.id===n.id)}})),environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:a.lineage.owner.modelId,expectedModelRevision:s.expectedModelRevision,source:a},publishedTasksetRef:a.tasksetRevision>1?a.sourceTasksetRef:null,metadata:{...x,modelTasksetAuthoring:a.lineage,portableFileInventory:i.map(n=>({...n,sourcePath:m(n.sourcePath),asset:{...n.asset,id:ce(n.sourcePath)?`source-artifact-${p({packageHash:e.contentHash,assetId:n.asset.id})}`:n.asset.id,path:m(n.asset.path)}}))}});return ht.parse({draft:R,filePaths:k})}S(Vs,"prepareTasksetDraftSource");export{Pe as a,nt as b,ot as c,me as d,mt as e,lt as f,Is as g,_s as h,ft as i,Bs as j,Cs as k,ut as l,ht as m,Vs as n};
|
|
2
|
+
import{Ca as Ve,Db as We,Ea as qe,G as we,J as N,Ja as $e,K as p,La as Le,Lb as V,Ma as ne,Ob as U,Pa as Re,Qa as W,Qb as ie,Ra as K,Sa as oe,Ta as Oe,Tb as ce,Ua as ze,V as Ce,Wa as Y,X as Fe,Xa as A,Ya as Q,_b as Ke,c as ke,e as ge,f as G,g as re,rc as Je,sc as Te,tc as Xe,va as je,vc as be,wb as Ge,wc as Se,yc as xe,zb as Ne}from"./chunk-NVPKY3KE.js";import{n as he,o as ve,p as Ae}from"./chunk-2Z6H32OC.js";import{B as Ie,E as He,F as Ee,G as Me,H as De,O,P as J,R as $,T as ee,W as X,Y as te,_ as _e,a as B,fa as v,ga as j,ha as H,ia as Be,ka as se,ma as ae,s as Z,xa as z}from"./chunk-TPOW52DO.js";import{b as g}from"./chunk-ES2ISFJC.js";import{a as S}from"./chunk-FTQLQJQV.js";var de=J.shape.id,Ye=g.object({schemaVersion:g.literal("openpond.modelBatchReviewInspection.v1"),packageHash:g.string().regex(/^[a-f0-9]{64}$/),definition:$,binding:Ie,evidence:g.array(X).min(1).max(1e4),decisions:g.array(_e).min(1).max(1e4)}).strict(),Pe=g.object({schemaVersion:g.literal("openpond.modelBatchReviewRequest.v1"),operationId:de,modelId:de,expectedModelRevision:g.number().int().positive(),tasksetRef:J,rewardBindingRef:J.nullable(),definition:g.object({name:g.string().trim().min(1).max(500).optional(),instructions:g.string().trim().min(1).max(2e4).optional(),inputSchema:O.optional(),outputSchema:O.optional(),requiredOutputs:$.shape.requiredOutputs}).strict(),examples:g.array(g.object({evidence:J,input:O.optional(),expected:O.nullable().optional(),evaluatorContext:O.nullable().optional(),proposedTarget:O.nullable().optional()}).strict()).max(1e4)}).strict(),Qe=g.object({schemaVersion:g.literal("openpond.modelBatchReviewReceipt.v1"),operationId:de,modelId:de,source:ee,evidence:g.array(X).min(1).max(1e4),proposals:g.array(te).max(1e4)}).strict();function rt(s){let e=A(s.source),t=A(s.edited),a=s.preparation;if(a.authoringGraph!=="bound"||!e.modelResources||e.learningResources||t.modelResources||t.learningResources)throw new Error("Bound task editing requires its source Reward and an ordinary edited workspace.");if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Bound draft differs from its retained source package.");let i=S(b=>b.taskset.graders.map(F=>F.kind==="custom_verifier"?{...F,exportName:F.exportName??"verify"}:F),"normalizedGraders");if(p(i(e))!==p(i(t)))throw new Error("Edit the saved Reward in Rewards before changing this Taskset's graders.");let m=e.modelResources,u=new Map(m.assets.map(b=>[b.id,b])),k=K(t),x=K(e),R=S(b=>{let{id:F,revision:pe,contentHash:fe,metadata:ue,...st}=b,{javascriptEnvironment:vt,...ye}=ue;return{...st,metadata:{...ye,resources:ye.resources??[]}}},"environmentContent"),n=S(b=>{if(!b)return null;let{id:F,revision:pe,contentHash:fe,...ue}=b.execution.javascript;return ue},"javascriptContent"),w=p(R(e.environment))===p(R(t.environment))&&p(n(x))===p(n(k)),c=w?e.environment:t.environment,l=w?x:k,d=new Set([...m.assets.map(b=>b.id),...t.taskset.tasks.flatMap(b=>b.privilegedContextRef?[b.privilegedContextRef]:[]),...[t.environment.actionSchemaRef,t.environment.observationSchemaRef,t.environment.stateSchemaRef].flatMap(b=>b?[b.id]:[]),...k?.assets.map(b=>b.id)??[]]);for(let b of d){let F=t.files.find(fe=>fe.asset.id===b);if(!F)throw new Error(`Bound Taskset asset is missing: ${b}.`);let pe=new TextDecoder("utf-8",{fatal:!0}).decode(W(F));u.set(b,se.parse(H({schemaVersion:"openpond.learningTextAsset.v1",id:b,revision:1,asset:F.asset,text:pe})))}let I=Y(t),{contentHash:E,...M}=m.taskDefinition,{policy:h,environment:P,environmentRelease:C,tools:q,capabilities:r,verifierSetRelease:f}=t.taskset,T=$.parse(H({...M,instructions:I,execution:{policy:h,environment:P,environmentRelease:C,tools:q,capabilities:r,verifierSetRelease:f}})),{contentHash:D,...o}=t.taskset,y=Z.parse(H({...o,tasks:t.taskset.tasks.map(b=>m.instructionMode==="per_task"?b:{...b,policyVisibleContext:{...b.policyVisibleContext,instructions:I}})})),_=ne({owner:a.lineage.owner,source:{...m,taskset:e.taskset,executionResources:{environment:e.environment,verifierSet:e.verifierSet}},rewardBinding:m.rewardBinding,rewards:m.rewards,assets:[...u.values()],edits:{taskset:y,taskDefinition:T,executionResources:{environment:c,verifierSet:t.verifierSet},...l?{execution:l.execution}:{}}}),L=$e.parse(_.taskset.metadata.modelTasksetDerivation);if(_.taskset.id!==a.tasksetId||_.taskset.revision!==a.tasksetRevision||p({...L,schemaVersion:a.lineage.schemaVersion})!==p(a.lineage))throw new Error("Bound draft differs from its retained ownership lineage.");let{taskset:le,executionResources:et,...tt}=_;return Q({schemaVersion:"openpond.tasksetPackage.v1",taskset:le,...et,modelResources:tt,files:t.files})}S(rt,"publishBoundModelTasksetDraftPackage");function nt(s){let e=ge.parse(s.request),t=ke.parse(s.owner),a=A(s.source);if(a.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(a.contentHash!==e.sourcePackageHash)throw new Error("Taskset draft source package changed.");if(a.modelResources){let x=Le({owner:t,source:{...a.modelResources,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}},rewardBinding:a.modelResources.rewardBinding,rewards:a.modelResources.rewards,assets:a.modelResources.assets}),R=x.taskset.metadata.modelTasksetDerivation;return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:x.taskset.id,tasksetRevision:x.taskset.revision,lineage:{...R,schemaVersion:"openpond.modelTasksetAuthoring.v1"},authoringGraph:"bound"})}let i=ze(a.taskset),m=i&&p(i.owner)===p(t),u=m?i.root:v(a.taskset),k={schemaVersion:"openpond.modelTasksetAuthoring.v1",owner:t,root:u,parent:v(a.taskset)};return G.parse({schemaVersion:"openpond.modelTasksetDraftPreparation.v1",draftId:`model-taskset-draft-${p({owner:t,operationId:e.operationId})}`,requestHash:p(e),sourcePackageHash:a.contentHash,sourceTasksetRef:v(a.taskset),tasksetId:Oe(k),tasksetRevision:m?a.taskset.revision+1:1,lineage:k})}S(nt,"prepareModelTasksetDraft");function ot(s){let e=G.parse(s.preparation);if(!j(e.sourceTasksetRef,e.lineage.parent))throw new Error("Taskset draft preparation differs from its source lineage.");if(e.authoringGraph==="bound"){if(!s.source)throw new Error("Bound Taskset authoring requires its retained source package.");return rt({preparation:e,source:s.source,edited:s.edited})}let t=it(s.edited),{contentHash:a,...i}=t.verifierSet,m=Fe({...i,id:`${e.tasksetId}-verifiers`,revision:e.tasksetRevision,calibrationReceiptRefs:[],metadata:{sourceVerifierSet:v(t.verifierSet)}}),{contentHash:u,...k}=t.taskset,x=Z.parse(H({...k,id:e.tasksetId,revision:e.tasksetRevision,verifierSetRelease:{id:m.id,contentHash:m.contentHash},metadata:{modelTasksetAuthoring:e.lineage,...t.taskset.metadata.environmentResources===void 0?{}:{environmentResources:t.taskset.metadata.environmentResources},...t.taskset.metadata.ordinaryAuthoring===void 0?{}:{ordinaryAuthoring:t.taskset.metadata.ordinaryAuthoring}}})),R=K(t),n=R?[...t.files.filter(w=>w.asset.id!==qe(t.taskset)),oe({...R.execution,verifierSet:m})]:t.files;return Q({schemaVersion:"openpond.tasksetPackage.v1",taskset:x,environment:t.environment,verifierSet:m,files:n})}S(ot,"publishModelTasksetDraftPackage");function it(s){let e=A(s);if(e.modelResources||e.learningResources)throw new Error("This Taskset requires its bound or reviewed authoring workflow.");return e}S(it,"requireOrdinaryPackage");function ct(s,e,t,a){if(s.environment.entrypoint!=="openpond.javascript-environment.v1")return{taskset:s,inventory:t,generatedFiles:[]};let i="environment/execution.json",m=e.get(i);if(!m||m.length>524288)throw new Error("Authored tool environment requires its bounded private execution declaration.");let u=Ve.parse(JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(m))),k=S(M=>{if(!M)return null;let h=t.find(P=>P.asset.id===M.id&&P.asset.path===M.path);if(!h)throw new Error(`Authored environment dependency is missing: ${M.id}.`);return h.asset},"repin"),{contentHash:x,...R}=u.javascript,n=je.parse(H({...R,id:`javascript-${s.id}`,revision:s.revision,module:k(u.javascript.module)}));if(p(n.tools)!==p(s.environment.metadata.portableTools)||p(n.tools.map(M=>M.name))!==p(s.environment.toolNames))throw new Error("Authored environment tools differ from the Taskset's declared tools.");let w=Ce({schemaVersion:"openpond.environmentRelease.v1",id:`environment-${s.id}`,revision:s.revision,contract:Se(s),actionSchemaRef:k(u.environment.actionSchemaRef),observationSchemaRef:k(u.environment.observationSchemaRef),stateSchemaRef:k(u.environment.stateSchemaRef),artifactCollection:u.environment.artifactCollection,adapterConformanceHashes:{},metadata:{javascriptEnvironment:v(n),resources:s.environment.resources??[]}}),c=V.parse({...s,environment:{...s.environment,metadata:{...s.environment.metadata,portableExecutionResources:{environment:w}}}}),l=be({taskset:c,adapterId:a}),d=oe({javascript:n,environment:w,verifierSet:l.verifierSetRelease}),I=[...t.filter(M=>M.sourcePath!==i),{asset:d.asset,sourcePath:i}],E=V.parse({...c,metadata:{...c.metadata,portableFileInventory:I}});return{taskset:V.parse({...E,contentHash:U(E)}),inventory:I,generatedFiles:[{path:i,role:"environment",content:new TextDecoder().decode(W(d))}]}}S(ct,"prepareAuthoredToolEnvironment");var me=g.array(g.object({asset:we,sourcePath:g.string().min(1)}).strict()).max(1e4),dt=new Set(["taskset.json","capabilities.json","data/tasks.jsonl","graders/graders.json","fixtures/grader-fixtures.json","environment/taskset.ts"]);function mt(s){return dt.has(s)}S(mt,"isGeneratedTasksetPublicationFilePath");function lt(s,e,t){let a=V.parse(s);if(a.metadata.taskDefinition!==void 0||a.metadata.rewardBinding!==void 0)return{taskset:a,generatedFiles:[]};let i=new Map,m=0;for(let[r,f]of e){if(re.parse(r),m+=f.byteLength,i.size>=1e4||m>Re*3/4)throw new Error("Taskset source exceeds the package byte limit.");i.set(r,f.slice())}let u=a.metrics?.customAggregator,k=u?i.get(u.module):void 0;if(u&&!k)throw new Error("Declared Taskset metric module is missing.");let x=u&&k?{...a.metrics,customAggregator:{...u,contentHash:N(k)}}:a.metrics,R=new Map,n=new Set,w=[],c=S((r,f,T,D)=>{let o=i.get(f);if(!o)throw new Error(`Declared Taskset file is missing: ${f}.`);return{id:r,path:f,contentHash:N(o),sizeBytes:o.byteLength,mediaType:T,visibility:D}},"ref"),l=S((r,f=r.path)=>{let T=R.get(r.id);if(T&&p(T)!==p({asset:r,sourcePath:f}))throw new Error(`Conflicting Taskset file identity: ${r.id}.`);let D=i.get(f);if(!D||D.length!==r.sizeBytes||N(D)!==r.contentHash)throw new Error(`Taskset file differs from its declared bytes: ${r.id}.`);R.set(r.id,{asset:r,sourcePath:f}),n.add(f)},"add");for(let r of a.tasks){let f=xe(r);for(let T of f.artifactRefs)l(T,r.assets?.find(D=>D.id===T.id)?.artifactRef??T.path);for(let T of f.requiredOutputs??[])T.schemaRef&&l(T.schemaRef)}for(let r of a.environment.resources??[])l(c(r.id,r.path,r.mediaType??"application/octet-stream",r.visibility==="policy_visible"?"policy":"host_private"));let d=a.graders.map(r=>{if(r.kind==="custom_verifier"){let f=c(`verifier-${r.id}`,r.module,"application/javascript","host_private"),T=we.safeParse(r.metadata.portableVerifierRef);return T.success&&T.data.contentHash===f.contentHash&&T.data.sizeBytes===f.sizeBytes&&(f=T.data),l(f,r.module),{...r,metadata:{...r.metadata,portableVerifierRef:f}}}if(r.kind==="human"||r.kind==="model_judge"){let f=new TextEncoder().encode(r.rubric),T=`graders/rubric-${N(f)}.md`;i.set(T,f);let D=c(`rubric-${r.id}`,T,"text/markdown","verifier");return l(D),w.push({path:T,role:"verifier",content:r.rubric}),{...r,metadata:{...r.metadata,portableRubricRef:D}}}return r});u&&![...R.values()].some(r=>r.asset.path===u.module&&r.sourcePath===u.module&&r.asset.visibility!=="policy")&&l(c(`metric-${p(u.module)}`,u.module,"application/javascript","host_private"));let I=me.parse(a.metadata.portableFileInventory??[]);for(let r of[...i.keys()].sort())if(!n.has(r)){let f=I.find(T=>T.sourcePath===r&&!R.has(T.asset.id));l(f?{...c(f.asset.id,r,f.asset.mediaType,f.asset.visibility),path:f.asset.path}:c(`taskset-file-${p(r)}`,r,"application/octet-stream","host_private"),r)}let{importedPackageHash:E,derivedPortableMetadata:M,...h}=a.metadata,P={...a.environment.metadata};if(P.portableExecutionResources!==void 0){let r=g.object({environment:g.unknown(),verifierSet:g.unknown().optional()}).parse(P.portableExecutionResources);P.portableExecutionResources={environment:r.environment}}let C=V.parse({...a,graders:d,metrics:x,environment:{...a.environment,metadata:P},metadata:{...h,...E===void 0?{}:{sourceImportedPackageHash:E},portableFileInventory:me.parse([...R.values()].sort((r,f)=>r.asset.id.localeCompare(f.asset.id)))}}),q=ct(C,i,[...R.values()],t);return{taskset:V.parse({...q.taskset,contentHash:U(q.taskset)}),generatedFiles:[...w,...q.generatedFiles]}}S(lt,"prepareAuthoredTasksetSource");function Is(s){let e=A(s.source);if(e.modelResources||e.learningResources)throw new Error("Binding an ordinary Reward requires an ordinary source package.");let t=Y(e);if(!t.trim())throw new Error("Add collection instructions before selecting a saved Reward.");let a=new Map,i=K(e);for(let h of i?.assets??[])a.set(h.id,h);let m=new Set([...e.taskset.tasks.flatMap(h=>h.privilegedContextRef?[h.privilegedContextRef]:[]),...[e.environment.actionSchemaRef,e.environment.observationSchemaRef,e.environment.stateSchemaRef].flatMap(h=>h?[h.id]:[])]);for(let h of m){if(a.has(h))continue;let P=e.files.find(q=>q.asset.id===h);if(!P)throw new Error(`Source Taskset context is missing: ${h}.`);let C=new TextDecoder("utf-8",{fatal:!0}).decode(W(P));a.set(h,se.parse(H({schemaVersion:"openpond.learningTextAsset.v1",id:h,revision:1,asset:P.asset,text:C})))}for(let h of s.assets){let P=e.files.find(C=>C.asset.id===h.id);if(P&&H({asset:P.asset}).contentHash!==H({asset:h.asset}).contentHash)throw new Error(`Selected Reward conflicts with a source asset: ${h.id}.`);a.set(h.id,h)}let{policy:u,environment:k,environmentRelease:x,tools:R,capabilities:n,verifierSetRelease:w}=e.taskset,c=$.parse(H({schemaVersion:"openpond.taskDefinition.v1",id:`${e.taskset.id}-definition`,revision:1,name:e.taskset.id,description:"",instructions:t,category:"custom",familyNamespace:e.taskset.id,inputSchema:{type:"object"},outputSchema:{type:"object"},rewardBinding:v(s.rewardBinding),harness:null,execution:{policy:u,environment:k,environmentRelease:x,tools:R,capabilities:n,verifierSetRelease:w}})),l=ne({...s,assets:[...a.values()],source:{taskset:e.taskset,taskDefinition:c,instructionMode:"per_task",executionResources:{environment:e.environment,verifierSet:e.verifierSet},...i?{execution:i.execution}:{}}}),d=new Map(e.files.map(h=>[h.asset.id,h]));for(let h of l.assets){let P="";for(let C of new TextEncoder().encode(h.text))P+=String.fromCharCode(C);d.set(h.id,{asset:h.asset,base64:btoa(P)})}let{taskset:I,executionResources:E,...M}=l;return Q({schemaVersion:"openpond.tasksetPackage.v1",taskset:I,...E,modelResources:M,files:[...d.values()]})}S(Is,"bindOrdinaryModelTasksetReward");function pt(s){let{request:e,package:t}=s,a=t.learningResources;if(!a)throw new B("model_review_batch_required",422);let i=z(t.taskset),m=`model-review-${p([s.scope,e.modelId,e.operationId])}`,u=new Map(e.examples.map(o=>[p(o.evidence),o])),k=new Set(a.evidence.map(o=>p(v(o)))),x=new Map(a.decisions.map(o=>[p(o.evidence),o]));if(u.size!==e.examples.length||e.examples.some(o=>!k.has(p(o.evidence))))throw new B("model_review_evidence_mismatch",409);for(let o of[s.binding,...s.rewards,...s.assets])Be(o);Me(s.binding,s.rewards);let R=new Map;for(let o of s.binding.sources){let y=s.rewards.find(le=>j(v(le),o.reward)),{contentHash:_,...L}=y;R.set(y.contentHash,He({...L,id:`${m}-reward-${y.contentHash}`,revision:1}))}let n=[...R.values()],{contentHash:w,recipeRef:c,...l}=s.binding,d=Ee({...l,id:`${m}-binding`,revision:1,sources:s.binding.sources.map(o=>({...o,reward:v(R.get(o.reward.contentHash))}))},n),I=n.flatMap(o=>[...o.assets,..."verifierRef"in o.implementation?[o.implementation.verifierRef]:[],..."rubricRef"in o.implementation?[o.implementation.rubricRef]:[],..."inputContract"in o.implementation?[o.implementation.inputContract]:[]]),E=[...new Map(I.map(o=>{let y=s.assets.find(_=>_.id===o.id);if(!y)throw new B("model_review_reward_asset_missing",422);if(ae(y,o),o.visibility==="policy")throw new B("reward_asset_visibility_invalid",422);return[y.id,y]})).values()],{environmentRelease:M,verifierSetRelease:h,...P}=i.definition.execution,{contentHash:C,...q}=i.definition,r=$.parse(H({...q,...e.definition,id:`${m}-definition`,revision:1,rewardBinding:v(d),execution:{...P,policy:{...P.policy,hiddenGraderRefs:De(d,n).filter(o=>o.privileged).map(o=>o.id)}}})),f=ee.parse(H({schemaVersion:"openpond.learningSource.v1",id:m,revision:1,name:`${r.name} review`,kind:"direct",taskDefinition:v(r),enabled:!0,allowedSplits:[...new Set(a.evidence.map(o=>o.submission.split))],mapping:null,adapterVersion:null,reviewOrigin:{modelId:e.modelId,packageHash:t.contentHash,taskset:v(t.taskset),batch:v(a.batch),rewardBinding:v(s.binding)}})),T=a.evidence.map(o=>{let y=u.get(p(v(o))),_=`review-${o.contentHash}`,L=p({instructions:r.instructions,inputSchema:r.inputSchema,outputSchema:r.outputSchema,requiredOutputs:r.requiredOutputs??[],input:y?.input??o.submission.input})!==p({instructions:i.definition.instructions,inputSchema:i.definition.inputSchema,outputSchema:i.definition.outputSchema,requiredOutputs:i.definition.requiredOutputs??[],input:o.submission.input});return X.parse(H({schemaVersion:"openpond.taskEvidence.v1",id:Ae(f.id,o.submission.exampleId,_),revision:1,source:v(f),submission:{...o.submission,sourceId:f.id,taskDefinition:v(r),attemptId:_,observedOutput:L?null:o.submission.observedOutput,idempotencyKey:`${m}-${o.contentHash}`,...y?.input===void 0?{}:{input:y.input},...y?.expected===void 0?{}:{expected:y.expected},...y?.evaluatorContext===void 0?{}:{evaluatorContext:y.evaluatorContext}},supersedes:v(o),correctionFeedbackId:null,receivedAt:s.now}))}),D=T.flatMap(o=>{let y=u.get(p(o.supersedes)),_=x.get(p(o.supersedes)),L=y?.proposedTarget===void 0?_.approvedTarget:y.proposedTarget;return L===null?[]:[te.parse({schemaVersion:"openpond.taskFeedbackRecord.v1",id:`feedback-${p([m,o.id])}`,revision:1,submission:{schemaVersion:"openpond.taskFeedback.v1",sourceId:f.id,idempotencyKey:`${m}-${o.id}`,exampleId:o.submission.exampleId,attemptId:o.submission.attemptId,expectedEvidenceHash:o.contentHash,occurredAt:s.now,kind:"target_correction",value:L,note:"Proposed target for the revised task. Grade and review before admission."},status:"pending_review",evidence:v(o),createdAt:s.now,review:null})]});return{source:f,definition:r,binding:d,rewards:n,assets:E,evidence:T,proposals:D}}S(pt,"prepareModelBatchReview");var Ue=S(s=>`model-batch-review-${p([s.modelId,s.operationId])}`,"operation");function _s(s){let e=A(s);if(!e.learningResources)throw new B("model_review_batch_required",422);let t=z(e.taskset);return Ye.parse({schemaVersion:"openpond.modelBatchReviewInspection.v1",packageHash:e.contentHash,definition:t.definition,binding:t.binding,evidence:e.learningResources.evidence,decisions:e.learningResources.decisions})}S(_s,"inspectModelBatchPackage");async function ft(s,e){let t=Pe.parse(e),a=await s.operation(Ue(t));if(!a)return null;if(a.requestHash!==p(t))throw new B("learning_idempotency_conflict",409);return Ze(s,t,a.resources)}S(ft,"findModelBatchReview");async function Bs(s,e){let t=Pe.parse(e.request),a=await ft(s,t);if(a)return a;let i=A(e.package);if(!i.learningResources)throw new B("model_review_batch_required",422);let m=z(i.taskset),u=t.rewardBindingRef,k=!u||j(u,v(m.binding)),x=k?m.binding:await ve(s,"binding",u),R=k?m.rewards:await Promise.all(x.sources.map(d=>ve(s,"reward",d.reward))),n=new Set(R.flatMap(d=>[...d.assets,..."verifierRef"in d.implementation?[d.implementation.verifierRef]:[],..."rubricRef"in d.implementation?[d.implementation.rubricRef]:[],..."inputContract"in d.implementation?[d.implementation.inputContract]:[]]).map(d=>d.id)),w=k?i.learningResources.assets:await Promise.all([...n].map(d=>he(s,"asset",d,1))),c=pt({...e,request:t,package:i,binding:x,rewards:R,assets:w}),l=[];for(let d of c.assets){let I=await s.get("asset",d.id,1);if(I&&I.contentHash!==d.contentHash)throw new B("model_review_asset_conflict",409);I||await s.put("asset",d,0)}for(let d of c.rewards)await s.put("reward",d,0);await s.put("binding",c.binding,0),await s.put("definition",c.definition,0),await s.put("source",c.source,0,{parentId:t.modelId}),l.push({kind:"source",id:c.source.id,revision:1});for(let d of c.evidence)await s.put("evidence",d,0,{parentId:c.source.id}),l.push({kind:"evidence",id:d.id,revision:1});for(let d of c.proposals)await s.put("feedback",d,0,{parentId:d.evidence.id,status:d.status}),l.push({kind:"feedback",id:d.id,revision:1});return await s.saveOperation(Ue(t),{requestHash:p(t),resources:l}),Ze(s,t,l)}S(Bs,"beginModelBatchReview");async function Ze(s,e,t){let a=await Promise.all(t.map(i=>he(s,i.kind,i.id,i.revision)));return Qe.parse({schemaVersion:"openpond.modelBatchReviewReceipt.v1",operationId:e.operationId,modelId:e.modelId,source:a.find(i=>i.schemaVersion==="openpond.learningSource.v1"),evidence:a.filter(i=>i.schemaVersion==="openpond.taskEvidence.v1"),proposals:a.filter(i=>i.schemaVersion==="openpond.taskFeedbackRecord.v1")})}S(Ze,"readReceipt");function Cs(s){let e=A(s.package),t=e.taskset,a=e.modelResources,i=e.learningResources?z(t):void 0,m=Ge.parse({schemaVersion:"openpond.uploadedFileDatasetSource.v1",kind:"uploaded_file",id:`package-source-${p({profileId:s.profileId,packageHash:e.contentHash})}`,profileId:s.profileId,title:s.name,sourceHash:e.contentHash,occurredAt:s.createdAt,licensingStatus:"pending",secretScanStatus:"pending",piiScanStatus:"pending",originalFileNames:["taskset-package.json"],mediaTypes:["application/json"],sourceFileHashes:[e.contentHash],totalBytes:new TextEncoder().encode(JSON.stringify(e)).byteLength,parserVersion:"openpond.tasksetPackage.v1",metadata:{}}),u=Ke({profileId:s.profileId,id:`${t.id}-import`,name:s.name,now:s.createdAt}),k=[];for(let c of t.graders)if(c.kind==="custom_verifier"){let l=a?.assets.find(E=>E.id===c.verifierRef.id),d=e.files.find(E=>E.asset.id===c.verifierRef.id);if(!d)throw new Error(`Imported verifier source is missing: ${c.id}.`);let I=Xe(c.verifierRef.contentHash);k.some(E=>E.path===I)||k.push({path:I,role:"verifier",content:l?ae(l,c.verifierRef):new TextDecoder("utf-8",{fatal:!0}).decode(W(d))})}let x=t.metadata.ordinaryAuthoring??t.metadata.starterAuthoring,R=We.array().max(1e5).parse(x?.graderFixtures??[]),n=t.environment.kind==="text"?"chat":t.environment.kind==="custom_program"?"program":t.environment.kind,w=V.parse({schemaVersion:"openpond.taskset.v1",id:t.id,revision:t.revision,profileId:s.profileId,profileRelease:null,createImproveRunId:null,name:s.name,objective:Y(e),status:"needs_review",sourceRefs:[m],datasetArtifact:null,policy:t.policy,environment:{...u.environment,kind:n,entrypoint:t.environment.entrypoint,resources:Ne.array().max(1e4).parse(t.metadata.environmentResources??[]),stateful:t.environment.stateful,deterministicSeeds:t.environment.deterministicSeeds,toolNames:t.tools.map(c=>c.name),defaultTimeoutMs:t.environment.defaultTimeoutMs,networkPolicy:t.environment.networkPolicy,metadata:{runtimeSourceTasksetId:ut(s.profileId,e.contentHash),portableEnvironment:t.environment,portableTools:t.tools,portableExecutionResources:{environment:e.environment,verifierSet:e.verifierSet}}},capabilities:{...u.capabilities,taskKind:n==="chat"?"chat":n==="program"?"custom_program":"single_agent",compatibleMethods:["none"],requiresTools:t.tools.length>0,requiresState:t.environment.stateful,rewardKinds:[...new Set(t.graders.map(c=>c.kind==="human"?"human":c.kind==="model_judge"?"model_judge":"deterministic"))]},tasks:t.tasks.map(c=>({...c,schemaVersion:"openpond.taskData.v1",sourceRefs:[m.id],assets:c.artifactRefs.map(l=>({id:l.id,sourceRefId:m.id,artifactRef:l.path,fileName:l.path.split("/").at(-1),mediaType:l.mediaType,sha256:l.contentHash,sizeBytes:l.sizeBytes,split:c.split,metadata:{portableAsset:l}})),...c.requiredOutputs?{requiredOutputs:c.requiredOutputs.map(l=>({...l,schemaRef:l.schemaRef?.id??null,maxBytes:l.maxBytes??void 0}))}:{},metadata:{portableTaskRecord:c,exampleOrigin:"imported"}})),graders:a?Te(a.rewardBinding,a.rewards,a.assets):i?Te(i.binding,i.rewards,e.learningResources.assets):Je(e),graderFixtures:R,learningSignals:u.learningSignals,...t.metrics?{metrics:t.metrics}:{},authoringProvenance:{schemaVersion:"openpond.taskAuthoringProvenance.v1",model:null,modelConfig:{},skillHash:p("openpond-package-import-v1"),promptTemplateVersion:"package-import-v1",buildIntent:"discovery",buildSpecification:null,evidenceHashes:[e.contentHash],tasksetSdkVersion:"package-import-v1",sourceCommit:null,repairHistory:[],createdAt:s.createdAt},readiness:null,contentHash:"00000000",createdAt:s.createdAt,updatedAt:s.createdAt,metadata:{importedPackageHash:e.contentHash,...i?{learning:i}:{},portableFileInventory:e.files.map(c=>({asset:c.asset,sourcePath:c.asset.path})),...a?{taskDefinition:v(a.taskDefinition),rewardBinding:v(a.rewardBinding),rewardExecution:{binding:a.rewardBinding,rewards:a.rewards}}:{},portableCapabilities:t.capabilities,derivedPortableMetadata:t.metadata,...t.metadata.modelTasksetDerivation?{modelTasksetDerivation:t.metadata.modelTasksetDerivation}:{}}});return{package:e,taskset:V.parse({...w,contentHash:U(w)}),generatedFiles:k}}S(Cs,"prepareImportedTasksetPackage");function ut(s,e){return`package-${p({profileId:s,packageHash:e})}`}S(ut,"tasksetPackageSourceId");var ht=g.object({draft:ie,filePaths:g.array(g.object({assetId:g.string().min(1),paths:g.array(re).min(1).max(1e4)}).strict()).max(1e4)}).strict();function Vs(s){let e=A(s.source),t=ie.parse(s.sourceDraft),a=G.parse(s.preparation);if(e.contentHash!==a.sourcePackageHash||!j(v(e.taskset),a.sourceTasksetRef))throw new Error("Taskset draft preparation differs from its source package.");if(e.learningResources)throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");if(!!e.modelResources!=(a.authoringGraph==="bound"))throw new Error("Taskset draft authoring graph differs from its source.");let i=me.parse(t.metadata.portableFileInventory??[]),m=S(n=>ce(n)?`source-artifacts/${e.contentHash}/${p(n)}/${n.split("/").at(-1)}`:n,"sourcePath");if([...t.tasks.flatMap(n=>(n.assets??[]).map(w=>w.artifactRef)),...(t.environment.resources??[]).map(n=>n.path),...e.taskset.tasks.flatMap(n=>(n.requiredOutputs??[]).flatMap(w=>w.schemaRef?[w.schemaRef.path]:[])),...t.metrics.customAggregator?[t.metrics.customAggregator.module]:[],...t.graders.flatMap(n=>n.kind==="custom_verifier"?[n.module]:[])].some(ce))throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");let k=e.files.map(n=>{let w=new Set([n.asset.path]);for(let c of i)c.asset.id===n.asset.id&&w.add(c.sourcePath);for(let c of t.tasks)for(let l of c.assets??[])l.id===n.asset.id&&w.add(l.artifactRef);for(let c of e.taskset.graders)if(c.kind==="custom_verifier"&&c.verifierRef.id===n.asset.id){let l=t.graders.find(d=>d.id===c.id);l?.kind==="custom_verifier"&&w.add(l.module)}return{assetId:n.asset.id,paths:[...w].map(m)}}),x={...t.metadata};if(e.modelResources)for(let n of["taskDefinition","rewardBinding","rewardExecution","derivedPortableMetadata","modelTasksetDerivation","importedPackageHash"])delete x[n];let R=ie.parse({...t,id:a.draftId,revision:1,status:"draft",graders:t.graders.map(n=>({...n,metadata:{...n.metadata,portableGrader:e.taskset.graders.find(w=>w.id===n.id)}})),environment:{...t.environment,metadata:{...t.environment.metadata,portableExecutionResources:{environment:e.environment}}},modelScope:{modelId:a.lineage.owner.modelId,expectedModelRevision:s.expectedModelRevision,source:a},publishedTasksetRef:a.tasksetRevision>1?a.sourceTasksetRef:null,metadata:{...x,modelTasksetAuthoring:a.lineage,portableFileInventory:i.map(n=>({...n,sourcePath:m(n.sourcePath),asset:{...n.asset,id:ce(n.sourcePath)?`source-artifact-${p({packageHash:e.contentHash,assetId:n.asset.id})}`:n.asset.id,path:m(n.asset.path)}}))}});return ht.parse({draft:R,filePaths:k})}S(Vs,"prepareTasksetDraftSource");export{Pe as a,nt as b,ot as c,me as d,mt as e,lt as f,Is as g,_s as h,ft as i,Bs as j,Cs as k,ut as l,ht as m,Vs as n};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as E}from"./chunk-MOMDY22U.js";import{a as u,b as v,c as R,e as P,l as m}from"./chunk-HZP5U2AA.js";import{b as n}from"./chunk-ES2ISFJC.js";import{a as f}from"./chunk-FTQLQJQV.js";var C=n.object({profileId:u,sourceRevision:n.string().trim().min(1).max(240),harnessRelease:P}).strict(),I=n.object({kind:n.enum(["run","suite","comparison"]),id:u,contentHash:v}).strict(),g=n.object({schemaVersion:n.literal("openpond.profileEvaluationReport.v1"),id:u,createdAt:R,testedSources:n.array(C).min(1).max(100),tasksetReleases:n.array(P).min(1).max(100),metricPolicyHashes:n.array(v).min(1).max(100),modelConfigurationHashes:n.array(v).min(1).max(100),evidence:n.array(I).min(1).max(100),summary:n.object({totalChecks:n.number().int().nonnegative(),passedChecks:n.number().int().nonnegative(),failedChecks:n.number().int().nonnegative(),unscoredChecks:n.number().int().nonnegative(),meanScore:n.number().min(0).max(1).nullable()}).strict()}).strict().superRefine((e,i)=>{let{summary:t}=e;t.passedChecks+t.failedChecks+t.unscoredChecks!==t.totalChecks&&i.addIssue({code:"custom",path:["summary"],message:"Report check counts must add up."}),new Set(e.evidence.map(({kind:l,id:a})=>`${l}:${a}`)).size!==e.evidence.length&&i.addIssue({code:"custom",path:["evidence"],message:"Report evidence must be unique."})}),w=g.safeExtend({contentHash:v});function S(e){let i=g.parse(e);return w.parse({...i,contentHash:m(i)})}f(S,"createProfileEvaluationReport");function y(e){let i=w.parse(e),{contentHash:t,...l}=i;if(m(l)!==t)throw new Error("Profile evaluation report content hash differs from its source bytes.");return i}f(y,"assertProfileEvaluationReport");var x=n.object({id:u,runIds:n.array(u).min(2).max(100)}).strict();function z(e){return async i=>{let t=x.parse(i),l=await e.selectedProfile();if(!l)throw new Error("Select a Profile before comparing its evaluation runs.");let a=[];for(let r of t.runIds){let s=await e.store.getProfileEvaluationRun(r);if(!s||m(s.profileRef)!==m(l.ref))throw new Error(`Profile evaluation run ${r} is unavailable in the selected Profile.`);a.push({manifest:s.manifest,result:s.metric})}let o=await e.store.getProfileEvaluationComparison(t.id),c=E({id:t.id,members:a,createdAt:o?.createdAt??new Date().toISOString()});return e.store.saveProfileEvaluationComparison(l.ref,c)}}f(z,"createProfileEvaluationComparisonService");import{promises as d}from"node:fs";import h from"node:path";var j=n.object({id:u,evidenceKind:n.enum(["run","suite","comparison"]),evidenceId:u}).strict();function k(e){return h.join(e,"evals","reports")}f(k,"reportDirectory");async function b(e){let i=await d.lstat(e).catch(t=>{if(t.code==="ENOENT")return null;throw t});if(i&&(!i.isDirectory()||i.isSymbolicLink()))throw new Error("Profile evaluation report directory must be a regular directory.");i||await d.mkdir(e)}f(b,"ensureRegularDirectory");async function K(e){let i,t;if(e.evidenceKind==="run")i=[e.evidenceId],t="";else if(e.evidenceKind==="suite"){let o=await e.store.getProfileEvaluationSuiteRun(e.evidenceId);if(!o||o.profileId!==e.profileRef.profileId)throw new Error("Profile evaluation suite is unavailable.");i=o.members.map(c=>c.runManifest.id),t=o.contentHash}else{let o=await e.store.getProfileEvaluationComparison(e.evidenceId);if(!o)throw new Error("Profile evaluation comparison is unavailable.");i=o.members.map(c=>c.runManifest.id),t=o.contentHash}let l=await Promise.all(i.map(o=>e.store.getProfileEvaluationRun(o)));if(l.some(o=>!o||m(o.profileRef)!==m(e.profileRef)))throw new Error("Profile evaluation report is missing authorized run evidence.");let a=l;if(e.evidenceKind==="run"&&(t=a[0].contentHash),e.evidenceKind!=="run"){let o=e.evidenceKind==="suite"?(await e.store.getProfileEvaluationSuiteRun(e.evidenceId)).members.map(c=>c.runHash):(await e.store.getProfileEvaluationComparison(e.evidenceId)).members.map(c=>c.metricResultHash);for(let[c,r]of a.entries())if(e.evidenceKind==="suite"&&o[c]!==r.contentHash||e.evidenceKind==="comparison"&&o[c]!==r.metric.contentHash)throw new Error("Profile evaluation report evidence differs from retained member runs.")}return{runs:a,primary:{kind:e.evidenceKind,id:e.evidenceId,contentHash:t}}}f(K,"loadRuns");async function O(e){let i=j.parse(e.request),{runs:t,primary:l}=await K({store:e.store,profileRef:e.profileRef,evidenceKind:i.evidenceKind,evidenceId:i.evidenceId}),a=f(r=>[...new Map(r.map(s=>[m(s),s])).values()],"unique"),o=a(t.map(r=>m(r.manifest.metricPolicy))),c=t.map(r=>r.metric.value).filter(r=>r!==null);return S({schemaVersion:"openpond.profileEvaluationReport.v1",id:i.id,createdAt:new Date().toISOString(),testedSources:a(t.map(r=>({profileId:r.manifest.profileEvaluation.profileId,sourceRevision:r.manifest.profileEvaluation.sourceRevision,harnessRelease:r.manifest.profileEvaluation.harnessRelease}))),tasksetReleases:a(t.map(r=>r.manifest.tasksetRelease)),metricPolicyHashes:o,modelConfigurationHashes:a(t.map(r=>r.manifest.policy.kind==="model"?r.manifest.policy.configurationHash:m(r.manifest.policy))),evidence:[l,...t.filter(r=>l.kind!=="run"||r.manifest.id!==l.id).map(r=>({kind:"run",id:r.manifest.id,contentHash:r.contentHash}))],summary:{totalChecks:t.length,passedChecks:t.filter(r=>r.passed).length,failedChecks:t.filter(r=>!r.passed&&r.metric.value!==null).length,unscoredChecks:t.filter(r=>!r.passed&&r.metric.value===null).length,meanScore:o.length===1&&c.length===t.length?c.reduce((r,s)=>r+s,0)/c.length:null}})}f(O,"buildProfileEvaluationReport");function Q(e){return{list:f(async()=>{let l=await e.selectedProfile();if(!l)return[];let a=k(l.sourcePath),o=await d.lstat(a).catch(s=>{if(s.code==="ENOENT")return null;throw s});if(!o)return[];if(!o.isDirectory()||o.isSymbolicLink())throw new Error("Profile evaluation report directory is unsafe.");let c=await d.readdir(a,{withFileTypes:!0});return(await Promise.all(c.filter(s=>s.name.endsWith(".json")).map(async s=>{if(!s.isFile()||s.isSymbolicLink())throw new Error("Profile evaluation report must be a regular file.");let p=y(JSON.parse(await d.readFile(h.join(a,s.name),"utf8")));if(`${p.id}.json`!==s.name||p.testedSources.some(H=>H.profileId!==l.ref.profileId))throw new Error("Profile evaluation report differs from its source location.");return p}))).sort((s,p)=>p.createdAt.localeCompare(s.createdAt))},"list"),save:f(async l=>{let a=await e.selectedProfile();if(!a?.gitBacked)throw new Error("Select a Git-backed Profile before saving an evaluation report.");let o=await O({store:e.store,profileRef:a.ref,request:l}),c=h.join(a.sourcePath,"evals");await b(c);let r=k(a.sourcePath);return await b(r),await d.writeFile(h.join(r,`${o.id}.json`),`${JSON.stringify(o,null,2)}
|
|
3
|
+
`,{flag:"wx"}),o},"save")}}f(Q,"createProfileEvaluationReportService");export{z as a,O as b,Q as c};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{C as H,D as j,E as le,F as L,I as de,J as G,K as f,Lb as pe,M as Ye,N as Qe,O as et,Ob as me,Pa as at,Pb as ct,Qb as $,U as tt,cb as nt,db as rt,eb as st,fb as ot,fc as ue,gb as it,gc as he,h as Je,hc as Re,i as We,ic as Te,jc as Ie,kc as Pe,lc as Ee,mc as _e,sb as xe,sc as dt,tc as pt,uc as mt}from"./chunk-
|
|
2
|
+
import{C as H,D as j,E as le,F as L,I as de,J as G,K as f,Lb as pe,M as Ye,N as Qe,O as et,Ob as me,Pa as at,Pb as ct,Qb as $,U as tt,cb as nt,db as rt,eb as st,fb as ot,fc as ue,gb as it,gc as he,h as Je,hc as Re,i as We,ic as Te,jc as Ie,kc as Pe,lc as Ee,mc as _e,sb as xe,sc as dt,tc as pt,uc as mt}from"./chunk-NVPKY3KE.js";import{Da as C,Ea as Ge,Fa as Ue,Ga as ie,H as ze,Ha as Ke,Ia as X,Ja as ce,Ma as Xe,O as D,P as se,Qa as Ze,b as re,fa as oe,m as Q,ma as W,wa as Ve,xa as Fe}from"./chunk-TPOW52DO.js";import{a as $e}from"./chunk-QUNRWDVO.js";import{a as lt}from"./chunk-6FA3GG5B.js";import{a as V,b as N,c as F,d as Y,e as R,h as we,l as A,n as ne}from"./chunk-HZP5U2AA.js";import{b as t}from"./chunk-ES2ISFJC.js";import{a as l}from"./chunk-FTQLQJQV.js";var Vt=t.string().trim().min(1).max(1e5),Ft=t.enum(["no_training","sft","preference","rl"]),Gt=t.object({kind:t.enum(["none","demonstrations","chosen_rejected","scalar_reward"]),strength:t.enum(["absent","weak","usable"]),calibrated:t.boolean(),confounded:t.boolean(),variance:t.number().finite().nonnegative().nullable(),evidenceRefs:t.array(R).max(1e5)}).strict(),ht=t.object({schemaVersion:t.literal("openpond.modelImprovementQualificationReceipt.v1"),id:V,review:R,harnessRelease:R,tasksetRelease:R.nullable(),baselineEvaluation:R.nullable(),model:ne,environmentHash:N.nullable(),toolContractHash:N.nullable(),permissionContractHash:N.nullable(),policyHash:N.nullable(),verifierRef:R.nullable(),sourcePolicies:t.array($e).max(1e4),trainingEvidenceRefs:t.array(R).max(1e5),frozenEvaluationEvidenceRefs:t.array(R).max(1e5),privacyApproval:R.nullable(),budgetApproval:R.nullable(),maximumCostUsd:t.number().finite().nonnegative(),signal:Gt,decision:Ft,reasons:t.array(Vt).min(1).max(100),createdAt:F,metadata:Y}).strict().superRefine((e,a)=>{let n=new Set(e.trainingEvidenceRefs.map(ut));if(e.frozenEvaluationEvidenceRefs.some(o=>n.has(ut(o)))&&a.addIssue({code:"custom",message:"frozen Evaluation evidence cannot be used as training evidence",path:["frozenEvaluationEvidenceRefs"]}),e.decision==="no_training")return;(!e.tasksetRelease||!e.baselineEvaluation||!e.environmentHash||!e.toolContractHash||!e.permissionContractHash||!e.policyHash||!e.verifierRef||!e.privacyApproval||!e.budgetApproval||e.sourcePolicies.length===0||e.sourcePolicies.some(o=>o.state!=="authorized")||e.trainingEvidenceRefs.length===0||e.signal.strength!=="usable"||!e.signal.calibrated||e.signal.confounded)&&a.addIssue({code:"custom",message:"qualified model improvement requires frozen lineage, authorized signal, privacy, and budget gates"}),e.decision==="sft"&&e.signal.kind!=="demonstrations"&&a.addIssue({code:"custom",message:"SFT qualification requires demonstration signal",path:["signal","kind"]}),e.decision==="preference"&&e.signal.kind!=="chosen_rejected"&&a.addIssue({code:"custom",message:"preference qualification requires chosen/rejected signal",path:["signal","kind"]}),e.decision==="rl"&&(e.signal.kind!=="scalar_reward"||e.signal.variance===null||e.signal.variance<=0)&&a.addIssue({code:"custom",message:"RL qualification requires a usable scalar reward with variance",path:["signal"]})}),Ut=ht.extend({contentHash:N}).strict();function gn(e){let a=ht.parse(e);return Ut.parse({...a,contentHash:A(a)})}l(gn,"createModelImprovementQualificationReceipt");function ut(e){return`${e.id}:${e.contentHash}`}l(ut,"refKey");var Kt=t.object({schemaVersion:t.literal("openpond.optimizerTrainingSample.v1"),tokenIds:t.array(t.number().int().nonnegative()).min(2).max(32768),mask:t.array(t.boolean()).min(2).max(32768),logprobs:t.array(t.number().finite()).min(2).max(32768),temperatures:t.array(t.number().positive().finite()).min(2).max(32768),envName:t.string().trim().min(1).max(200),modelRequestId:t.string().trim().min(1).max(1e3),promptTokenCount:t.number().int().positive(),completionTokenCount:t.number().int().positive(),servedPolicyVersion:t.number().int().nonnegative()}).strict().superRefine((e,a)=>{let n=e.tokenIds.length;for(let[r,o]of[["mask",e.mask],["logprobs",e.logprobs],["temperatures",e.temperatures]])o.length!==n&&a.addIssue({code:"custom",path:[r],message:`${r} must align with tokenIds`});e.promptTokenCount+e.completionTokenCount!==n&&a.addIssue({code:"custom",path:["completionTokenCount"],message:"prompt and completion token counts must span tokenIds"}),e.mask.filter(r=>!r).length!==e.promptTokenCount&&a.addIssue({code:"custom",path:["mask"],message:"promptTokenCount must equal the non-trainable mask count"}),e.mask.filter(Boolean).length!==e.completionTokenCount&&a.addIssue({code:"custom",path:["mask"],message:"completionTokenCount must equal the trainable mask count"})}),Jt=t.object({id:V,environmentRelease:R,status:t.enum(["completed","failed","timed_out","cancelled"]),startedAt:F,completedAt:F,traceRefs:t.array(we).max(1e4),metadata:Y}).strict(),Wt=t.object({receiptRef:R,status:Ye,value:t.number().min(0).max(1).nullable(),learningEligible:t.boolean(),passed:t.boolean(),outcomeClass:et,failureOwner:Qe.nullable(),components:t.record(V,t.number().min(0).max(1).nullable())}).strict(),ft=t.object({schemaVersion:t.literal("openpond.canonicalRolloutRecord.v1"),id:V,attemptRef:R,artifactManifestRef:R,tasksetRelease:R,environmentRelease:R,verifierSetRelease:R,harnessRelease:R,taskId:V,split:Q,model:ne,seed:t.string().trim().min(1).max(500),reward:Wt,traceRef:we,optimizerSample:Kt.nullable(),environmentExecutions:t.array(Jt).min(1).max(1e5),startedAt:F,completedAt:F,metadata:Y}).strict();function gt(e,a){e.reward.status==="scored"&&(e.reward.value===null||!e.reward.learningEligible)&&a.addIssue({code:"custom",path:["reward","status"],message:"A scored rollout requires a numeric, learning-eligible reward."}),e.reward.status==="unscorable"&&(e.reward.value!==null||e.reward.learningEligible)&&a.addIssue({code:"custom",path:["reward","status"],message:"An unscorable rollout has no reward and cannot be learning-eligible."})}l(gt,"validateCanonicalRolloutRecord");var Xt=ft.superRefine(gt),Zt=t.object({...ft.shape,contentHash:N}).strict().superRefine(gt);function Rn(e){let a=Xe.parse(e.attemptReceipt);if(!Ze(a))throw new Error("Rollout Attempt Receipt failed content-hash verification.");let n=tt.parse(e.rewardReceipt);if(n.attemptRef.id!==a.id||n.attemptRef.contentHash!==a.contentHash)throw new Error("Rollout Attempt Receipt does not match its Reward Receipt.");if(n.artifactManifestRef.id!==e.artifactManifestRef.id||n.artifactManifestRef.contentHash!==e.artifactManifestRef.contentHash)throw new Error("Rollout Artifact Manifest does not match its Reward Receipt.");if(e.environmentExecutions.some(o=>o.environmentRelease.id!==e.environmentRelease.id||o.environmentRelease.contentHash!==e.environmentRelease.contentHash))throw new Error("Rollout Environment execution does not match its admitted Environment Release.");let r=Xt.parse({schemaVersion:"openpond.canonicalRolloutRecord.v1",id:e.id,attemptRef:n.attemptRef,artifactManifestRef:e.artifactManifestRef,tasksetRelease:e.tasksetRelease,environmentRelease:e.environmentRelease,verifierSetRelease:n.verifierSetRef,harnessRelease:e.harnessRelease,taskId:e.taskId,split:e.split,model:e.model,seed:e.seed,reward:{receiptRef:{id:n.id,contentHash:n.contentHash},status:n.status,value:n.reward,learningEligible:n.learningEligible,passed:n.passed,outcomeClass:n.outcomeClass,failureOwner:n.failureOwner,components:Object.fromEntries(n.components.map(o=>[o.verifierId,o.rewardContribution]))},traceRef:e.traceRef,optimizerSample:e.optimizerSample,environmentExecutions:e.environmentExecutions,startedAt:e.startedAt,completedAt:e.completedAt,metadata:e.metadata??{}});return Zt.parse({...r,contentHash:A(r)})}l(Rn,"createCanonicalRolloutRecord");function bt(e){let a=[],n=[],r="",o=!1,s=!1,c=l(()=>{n.push(r),r="",s=!1},"finishField"),i=l(()=>{if(c(),n.some(p=>p.length)&&a.push(n),n=[],a.length>C.records+1)throw new Error("CSV exceeds the 1,000-record limit.")},"finishRow");for(let p=0;p<e.length;p++){let d=e[p];if(o)d==='"'&&e[p+1]==='"'?(r+='"',p++):d==='"'?(o=!1,s=!0):r+=d;else if(d===",")c();else if(d===`
|
|
3
3
|
`||d==="\r")d==="\r"&&e[p+1]===`
|
|
4
4
|
`&&p++,i();else if(d==='"'&&!r&&!s)o=!0;else{if(s||d==='"')throw new Error("CSV has an invalid quoted field.");r+=d}}if(o)throw new Error("CSV has an unterminated quoted field.");(r||n.length||s)&&i();let u=a.shift()?.map(p=>p.trim().replace(/^\uFEFF/u,""));if(!u?.includes("instruction"))throw new Error("CSV requires an instruction column.");let h=new Set(["instruction","context","reference","labels","id","familyKey","split"]);if(u.some(p=>!h.has(p))||new Set(u).size!==u.length)throw new Error("CSV has duplicate or unsupported columns. Use instruction, context, reference, labels, id, familyKey and split.");return a.map((p,d)=>{if(p.length!==u.length)throw new Error(`CSV record ${d+2} has a different number of columns from its header.`);return Object.fromEntries(u.map((m,g)=>[m,p[g]]).filter(([,m])=>m!==""))})}l(bt,"parseTaskIntakeCsv");function fe(e){return e.startsWith("\uFEFF")?e.slice(1):e}l(fe,"structuredIntakeText");var vt=t.object({role:t.string().min(1),content:t.json().nullable().optional()}).catchall(t.json()),Yt=t.object({id:t.string().min(1),messages:t.array(vt).min(1).max(C.messages),lineage_session_ids:t.array(t.string()).optional(),parent_session_id:t.string().nullable().optional()}).catchall(t.json());function St(e){let a=Yt.parse(e),n=a.lineage_session_ids?.[0]??a.parent_session_id??a.id,{messages:r,segments:o,...s}=a;return kt("hermes",a.id,n,a.messages,{sourceHash:A(e),metadata:{session:s},warnings:["Imported session context and tools need review before this can become an executable task."]})}l(St,"parseHermesSession");var Qt=t.object({traceSchema:t.literal("openclaw-trajectory"),schemaVersion:t.literal(1),traceId:t.string().min(1),sessionId:t.string().min(1),leafId:t.string().nullable(),eventCount:t.number().int().nonnegative(),warnings:t.array(D).optional()}).catchall(t.json()),ea=t.object({traceSchema:t.literal("openclaw-trajectory"),schemaVersion:t.literal(1),traceId:t.string(),sessionId:t.string(),seq:t.number().int().nonnegative(),type:t.string(),ts:t.string()}).catchall(t.json()),ta=t.object({header:D.nullable(),leafId:t.string().nullable(),entries:t.array(t.object({id:t.string().min(1),type:t.string().min(1),parentId:t.string().nullable().optional(),message:vt.optional()}).catchall(t.json())).max(C.messages)}).strict();function yt(e){let a=l(i=>{let u=e.find(h=>h.path===i);if(!u)throw new Error(`OpenClaw bundle is missing ${i}.`);return fe(u.text)},"read"),n=Qt.parse(JSON.parse(a("manifest.json"))),r=ta.parse(JSON.parse(a("session-branch.json")));if(r.leafId!==n.leafId)throw new Error("OpenClaw manifest and session branch identify different leaves.");let o=a("events.jsonl").split(/\r?\n/u).filter(i=>i.trim()).map(i=>ea.parse(JSON.parse(i)));if(o.length!==n.eventCount||o.some(i=>i.traceId!==n.traceId||i.sessionId!==n.sessionId))throw new Error("OpenClaw events do not match the manifest identity or count.");if(r.header&&r.header.id!==n.sessionId)throw new Error("OpenClaw session header does not match the manifest.");let s=new Set;for(let[i,u]of r.entries.entries()){if(s.has(u.id))throw new Error("OpenClaw branch contains duplicate entry IDs.");if(i&&u.parentId!==r.entries[i-1].id)throw new Error("OpenClaw branch is incomplete or out of order.");s.add(u.id)}if(r.entries.length&&r.entries.at(-1).id!==r.leafId)throw new Error("OpenClaw branch does not reach its declared leaf.");let c=r.entries.filter(i=>i.type==="message"&&i.message).map(i=>({...i.message,entryId:i.id,timestamp:typeof i.timestamp=="string"?i.timestamp:typeof i.message.timestamp=="number"?new Date(i.message.timestamp).toISOString():null}));return kt("openclaw",n.sessionId,n.sessionId,c,{sourceHash:A(e),metadata:{manifest:n,sourceFiles:e.map(i=>i.path)},warnings:["Imported trajectory context and tools need review before this can become an executable task.",...(n.warnings??[]).map(i=>typeof i.message=="string"?i.message.slice(0,2e3):"The source exporter reported incomplete context.")]})}l(yt,"parseOpenClawBundle");function kt(e,a,n,r,o){let s=r.flatMap((i,u)=>i.role==="user"?[u]:[]);if(!s.length)throw new Error("This history contains no user request. Supply a session with its request context.");let c=0;return s.map((i,u)=>{let h=s[u+1]??r.length,p=r.slice(i+1,h),d=p.filter(x=>x.role==="assistant").at(-1),m=r[i],g=m.entryId??m.message_id??m.id??A({start:i,request:m}),v={id:X(e,[a,g]),familyKey:X(e,n),split:"train",kind:"attempt",input:{request:m.content??null,messages:r.slice(0,i+1)},observedOutput:d?{response:d.content??null,messages:p}:null,expected:null,sourceId:`${e}:${a}:${String(g)}`,sourceHash:o.sourceHash,occurredAt:ce(d?.timestamp??m.timestamp),metadata:o.metadata,warnings:[...o.warnings,...d?[]:["No assistant response was recorded for this request."]],needsContext:!0};if(re(v),c+=new TextEncoder().encode(JSON.stringify(v)).length,c>C.bytes)throw new Error("Expanded history exceeds the 5 MiB preview limit. Export a smaller session selection.");return ie.parse(v)})}l(kt,"historyRecords");var aa=t.object({instruction:t.string().trim().min(1).max(1e5),context:t.union([t.string(),D]).optional(),reference:t.union([t.string(),D]).optional(),labels:t.union([t.string(),t.array(t.string()),D]).optional(),id:t.string().min(1).max(200).optional(),familyKey:t.string().min(1).max(200).optional(),split:Q.optional()}).strict(),na=t.object({input:D,observedOutput:D.nullable().optional(),expectedOutput:D.nullable().optional(),id:t.string().min(1).max(200).optional(),familyKey:t.string().min(1).max(200).optional(),split:Q.optional(),occurredAt:t.string().datetime().optional(),labels:D.optional()}).strict();function Wn(e){let a=Ge.parse(e.format),n=t.array(Ue).min(1).max(C.files).parse(e.files);if(n.reduce((h,p)=>h+new TextEncoder().encode(p.text).length,0)>C.bytes)throw new Error("Import exceeds the 5 MiB size limit.");if(n.some(h=>h.path.startsWith("/")||h.path.includes("\\")||h.path.split("/").some(p=>!p||p==="."||p===".."))||new Set(n.map(h=>h.path)).size!==n.length)throw new Error("Import contains an unsafe or duplicate file path.");let r=[],o=[],s=new Map,c=new Map,i=0;function u(h,p,d){try{let m=d();if(r.length+m.length>C.records)throw new Error("Import exceeds the 1,000-record limit.");let g=new Map(s),v=new Map(c),x=0;for(let b of m){re(b);let T=A(b),I=g.get(b.id);if(I&&I!==T)throw new Error("The same record identity has different content in this upload.");I||(x+=new TextEncoder().encode(JSON.stringify(b)).length),g.set(b.id,T);for(let _ of[`family:${b.familyKey}`,`input:${A(b.input)}`]){if(v.has(_)&&v.get(_)!==b.split)throw new Error("The same task family or request occurs in different splits.");v.set(_,b.split)}}if(i+x>C.bytes*2)throw new Error("Expanded import exceeds the 10 MiB preview limit. Select fewer source files.");for(let b of m)s.has(b.id)||r.push(b),s.set(b.id,A(b));for(let[b,T]of v)c.set(b,T);i+=x}catch(m){o.push({file:h,row:p,message:m instanceof t.ZodError?`Unsupported record fields or values (${m.issues.slice(0,3).map(g=>g.path.join(".")||"record").join(", ")}).`:m instanceof SyntaxError?"Invalid JSON.":m instanceof Error?m.message:"Invalid import record."})}}if(l(u,"attempt"),a==="openclaw")u("manifest.json",null,()=>yt(n));else for(let h of n){let p=fe(h.text);if(a==="jsonl"||a==="hermes"){for(let[d,m]of p.split(/\r?\n/u).entries())if(m.trim()){if(o.length>=C.records)break;u(h.path,d+1,()=>a==="hermes"?St(JSON.parse(m)):[wt(JSON.parse(m))])}}else{let d;try{let m=a==="csv"?bt(p):JSON.parse(p);d=Array.isArray(m)?m:[m]}catch(m){u(h.path,null,()=>{throw m});continue}if(d.length>C.records){u(h.path,null,()=>{throw new Error("Import exceeds the 1,000-record limit.")});continue}d.forEach((m,g)=>u(h.path,g+(a==="csv"?2:1),()=>[wt(m)]))}}return Ke.parse({schemaVersion:"openpond.taskIntakePreview.v1",format:a,contentHash:A({format:a,files:n}),records:r,issues:o.slice(0,1e3)})}l(Wn,"previewTaskIntake");function wt(e){let a=t.union([aa,na]).parse(e),n="instruction"in a,r=n?{instruction:a.instruction,...a.context===void 0?{}:{context:a.context}}:a.input,o=n?a.reference===void 0?null:typeof a.reference=="string"?{text:a.reference}:a.reference:a.expectedOutput??null,s=n?null:a.observedOutput??null,c=a.familyKey??X("family",r),i=a.id??X("task",{input:r,expected:o,observedOutput:s});return ie.parse({id:i,familyKey:c,split:a.split??"train",kind:s?"attempt":"task",input:r,expected:o,observedOutput:s,sourceId:i,sourceHash:A(e),occurredAt:n?null:ce(a.occurredAt),metadata:a.labels===void 0?{}:{importedLabels:a.labels,labelOrigin:"unverified_import"},warnings:[],needsContext:!1})}l(wt,"normalizeTask");var q=$.shape.id,M=t.number().int().positive(),U=t.string().regex(/^[a-f0-9]{64}$/),K={teamId:q,modelId:q},Zs=t.object({schemaVersion:t.literal("openpond.tasksetDraftCreate.v1"),operationId:q,modelId:q,expectedModelRevision:M,name:$.shape.name}).strict(),Ys=t.object({schemaVersion:t.literal("openpond.tasksetDraftSourceDescriptor.v1"),...K,expectedModelRevision:M,sourcePackageHash:U}).strict(),Qs=t.object({schemaVersion:t.literal("openpond.tasksetDraftReadback.v1"),...K,draft:$,workspaceHash:U,projectEtag:U}).strict().refine(e=>e.draft.profileId===e.teamId&&e.draft.modelScope?.modelId===e.modelId,"The hosted draft must belong to its declared workspace and Model."),ra=t.object({id:q,revision:M,name:$.shape.name,status:ct,updatedAt:$.shape.updatedAt,sourceTasksetRef:se.nullable()}).strict(),eo=t.object({schemaVersion:t.literal("openpond.tasksetDraftList.v1"),...K,drafts:t.array(ra).max(100),nextCursor:t.string().min(1).max(2e3).nullable()}).strict(),to=t.object({expectedDraftRevision:M,draft:$}).strict(),ao=t.object({expectedDraftRevision:M,expectedModelRevision:M}).strict(),sa=t.object({expectedDraftRevision:M,expectedWorkspaceHash:U}).strict(),no=t.object({schemaVersion:t.literal("openpond.tasksetDraftValidation.v1"),...K,draftId:q,draftRevision:M,workspaceHash:U,valid:t.boolean(),issues:t.array(t.object({code:t.string().min(1),severity:t.enum(["warning","error"]),message:t.string(),path:t.string().nullable()}).strict()),packageHash:U.nullable(),tasksetRef:se.nullable()}).strict().refine(e=>e.valid?e.packageHash!==null&&e.tasksetRef!==null&&e.issues.every(a=>a.severity!=="error"):e.packageHash===null&&e.tasksetRef===null&&e.issues.some(a=>a.severity==="error"),"Validation must retain either a compiled package or publication errors."),ro=sa.extend({operationId:q,expectedPackageHash:U,expectedTasksetRef:se}).strict(),so=t.object({schemaVersion:t.literal("openpond.tasksetDraftFileList.v1"),...K,draftId:q,draftRevision:M,files:t.array(Je).max(10020)}).strict(),oo=t.object({schemaVersion:t.literal("openpond.tasksetDraftFileReadback.v1"),...K,draftId:q,draftRevision:M,file:We}).strict(),io=t.object({schemaVersion:t.literal("openpond.tasksetDraftDeletion.v1"),...K,draftId:q,revision:M,deleted:t.literal(!0)}).strict(),lo=$.shape.id,po=t.number().int().positive();var B=t.string().trim().min(1).max(500),uo=t.object({projectId:B.optional(),tasksetId:B.optional(),draftId:B.optional(),taskId:B.optional(),query:t.string().trim().max(1e3).default(""),split:t.enum(["train","validation","test","frozen_eval"]).optional(),after:t.string().min(1).max(2e3).optional(),limit:t.number().int().min(1).max(100).default(30)}).strict(),oa=t.object({id:B,method:t.enum(["code","judge","human"]),required:t.boolean()}),ia=t.object({tasksetId:B,tasksetName:t.string(),tasksetRevision:t.number().int().positive(),tasksetHash:t.string(),taskId:B,ordinal:t.number().int().nonnegative(),title:t.string(),description:t.string(),split:t.string(),scoring:t.array(oa),configuration:t.enum(["configured","needs_reward","needs_checks"]),draftId:B.nullable().default(null),modelId:B.nullable().default(null)}),ho=t.object({items:t.array(ia).max(100),nextCursor:t.string().nullable()});function fo(e,a){let n=[e.instruction,e.prompt,e.request,e.question,e.message].find(s=>typeof s=="string"&&s.trim().length>0),r=typeof e.title=="string"?e.title.trim():"",o=n?.trim()??"";return{title:(r||o||a).slice(0,180),description:o.slice(0,2e3)}}l(fo,"describeTaskInput");function go(e){return e.map(a=>({id:a.id,method:a.kind==="model_judge"?"judge":a.kind==="human"?"human":"code",required:a.hardGate}))}l(go,"summarizeTaskScoring");function bo(e){return e.some(a=>a.kind!=="human")?e.some(a=>a.kind==="model_judge"&&a.calibrationStatus!=="passed")?"needs_checks":"configured":"needs_reward"}l(bo,"taskConfiguration");var He=3e3,Oe=9999,ge="openpond.yaml",wo="openpond-template-plan.json",ca="openpond.sandboxTemplate.buildPlan.v1",la=["google","github","x"],De=new Set([22,2222,2375,2376,3108,5900,5901,6080,7818]),xt=t.array(t.string().trim().min(1).max(1e3)).max(50),ee=t.string().trim().min(1).max(4096).refine(_t,{message:"path must be a relative workspace path"}),da=t.string().trim().min(1).max(500).refine(e=>!e.includes("\0")&&!/\s/.test(e),"image ref must be a single OCI reference"),pa=t.string().trim().regex(/^sha256:[0-9a-f]{64}$/i),Tt=t.string().trim().min(1).max(500).refine(e=>e.startsWith("/")&&!e.includes("\0"),"workspaceRoot must be an absolute guest path"),ma=t.object({ref:da,digest:pa.optional(),registrySecretRef:t.string().trim().min(1).max(500).optional(),platform:t.literal("linux/amd64").optional(),workspaceRoot:Tt.optional()}).strict(),ua=t.object({context:ee.default("."),path:ee.default("Dockerfile"),target:t.string().trim().min(1).max(191).optional(),buildArgs:t.record(t.string().max(191),t.string().max(500)).optional(),registrySecretRefs:t.array(t.string().trim().min(1).max(500)).max(10).optional(),platform:t.literal("linux/amd64").optional(),workspaceRoot:Tt.optional()}).strict(),ha=t.object({base:t.string().trim().min(1).max(120).optional(),snapshot:t.string().trim().min(1).max(191).optional(),image:ma.optional(),dockerfile:ua.optional()}).strict().superRefine((e,a)=>{[e.base,e.snapshot,e.image,e.dockerfile].filter(Boolean).length!==1&&a.addIssue({code:t.ZodIssueCode.custom,message:"runtime must declare exactly one of base, snapshot, image, or dockerfile"})}),It=t.object({cpu:t.number().positive().max(8).optional(),memoryGb:t.number().positive().max(32).optional(),diskGb:t.number().positive().max(100).optional()}).strict(),fa=t.object({provider:t.enum(la),scopes:t.array(t.string().trim().min(1).max(200)).max(100).default([]),capabilities:t.array(t.string().trim().min(1).max(200)).max(100).default([])}).strict(),ga=t.object({models:t.array(t.string().trim().min(1).max(200)).max(100).default([]),scopes:t.array(t.string().trim().min(1).max(200)).max(100).default([])}).strict(),ba=t.object({opchat:ga.optional()}).catchall(t.record(t.string(),t.unknown())).default({}),va=t.object({name:t.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).max(63).optional(),mountPath:t.string().trim().min(1).max(256).optional(),storageGb:t.number().int().positive().max(100).optional(),deleteOnSandboxDelete:t.boolean().optional()}).strict(),Sa=t.object({port:t.number().int().min(He).max(Oe).refine(e=>!De.has(e),{message:"preview port is reserved"}),protocol:t.literal("http").default("http"),label:t.string().trim().min(1).max(80).optional(),access:t.enum(["private","public"]).default("private"),path:t.string().trim().min(1).max(512).refine(e=>e.startsWith("/"),{message:"preview path must start with /"}).default("/")}).strict(),Pt=t.object({command:t.string().trim().min(1).max(1e3),cwd:ee.optional(),timeoutSeconds:t.number().int().positive().max(86400).optional(),requiresStart:t.boolean().default(!1),ports:t.array(Sa).max(20).default([]),artifactPaths:t.array(ee).max(100).default([])}).strict(),Rt=Pt.extend({name:t.string().trim().min(1).max(80)}).strict(),ya=t.object({name:t.string().trim().min(1).max(80).optional(),service:t.string().trim().min(1).max(80).optional(),port:t.number().int().min(He).max(Oe).refine(e=>!De.has(e),{message:"app MCP port is reserved"}),path:t.string().trim().min(1).max(512).refine(e=>e.startsWith("/"),{message:"app MCP path must start with /"}).default("/mcp")}).strict(),ka=t.object({name:t.string().trim().min(1).max(80).optional(),port:t.number().int().min(He).max(Oe).refine(e=>!De.has(e),{message:"validation probe port is reserved"}),path:t.string().trim().min(1).max(512).refine(e=>e.startsWith("/"),{message:"validation probe path must start with /"}).default("/"),expectedStatus:t.number().int().min(100).max(599).default(200)}).strict(),wa=t.record(t.string(),t.unknown()).refine(e=>e.type==="object","input schema must be a JSON schema object"),xa=t.object({name:t.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),required:t.boolean().default(!1),secret:t.boolean().default(!0),description:t.string().trim().max(500).optional()}).strict(),Ae=t.string().trim().min(1).max(120),Ra=t.object({name:t.string().trim().min(1).max(120),description:t.string().trim().max(500).optional(),cron:t.string().trim().min(1).max(500).optional(),rate:t.string().trim().min(1).max(500).optional(),once:Ae.optional(),scheduleType:t.enum(["rate","cron","once"]).optional(),scheduleExpression:t.string().trim().min(1).max(500).optional(),timezone:t.string().trim().min(1).max(100).optional(),enabled:t.boolean().default(!0),startAt:Ae.optional(),endAt:Ae.optional(),maxRuns:t.number().int().positive().nullable().optional(),runtimePolicy:t.enum(["run_and_stop","run_and_archive","run_and_delete","use_existing_running"]).default("run_and_stop"),action:t.string().trim().min(1).max(120).optional(),actionName:t.string().trim().min(1).max(120).optional(),command:t.string().trim().min(1).max(2e3).optional(),target:t.object({kind:t.enum(["start","action","service","command"]).optional(),name:t.string().trim().min(1).max(120).optional(),actionName:t.string().trim().min(1).max(120).optional(),command:t.string().trim().min(1).max(2e3).optional(),requiresStart:t.boolean().optional()}).strict().optional(),requiresStart:t.boolean().optional(),budget:t.object({maxUsd:t.string().trim().min(1).max(40).optional()}).strict().optional(),resources:It.optional(),quotas:t.record(t.string(),t.unknown()).optional(),lifecycle:t.record(t.string(),t.unknown()).optional(),retentionPolicy:t.record(t.string(),t.unknown()).optional(),env:t.array(t.object({name:t.string().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/).max(191),value:t.string().optional(),secretRef:t.string().optional()}).strict()).max(100).optional(),integrationLeases:t.array(t.record(t.string(),t.unknown())).max(20).optional(),metadata:t.record(t.string(),t.unknown()).optional()}).strict().superRefine((e,a)=>{[e.cron,e.rate,e.once,e.scheduleExpression].filter(i=>typeof i=="string"&&i.trim()).length!==1&&a.addIssue({code:t.ZodIssueCode.custom,path:["scheduleExpression"],message:"schedule must declare exactly one of cron, rate, once, or scheduleExpression"}),e.scheduleExpression&&!e.scheduleType&&a.addIssue({code:t.ZodIssueCode.custom,path:["scheduleType"],message:"scheduleType is required with scheduleExpression"});let r=e.command??e.target?.command??null,o=e.target?.name??null,s=e.actionName??e.action??e.target?.actionName??(e.target?.kind==="action"?o:null),c=e.target?.kind??(r?"command":"action");c==="action"&&!s&&a.addIssue({code:t.ZodIssueCode.custom,path:["action"],message:"schedule action target is required"}),c==="service"&&!o&&a.addIssue({code:t.ZodIssueCode.custom,path:["target","name"],message:"schedule service target name is required"}),c==="command"&&!r&&a.addIssue({code:t.ZodIssueCode.custom,path:["command"],message:"schedule command target is required"})}),Ta=t.object({schemaVersion:t.literal(1),name:t.string().trim().min(1).max(80).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/),version:t.string().trim().min(1).max(40),useCase:t.string().trim().min(1).max(80),description:t.string().trim().min(1).max(500),runtime:ha,resources:It.optional(),setup:t.object({commands:xt.default([])}).strict().default({commands:[]}),validation:t.object({commands:xt.min(1),probes:t.array(ka).max(20).default([])}).strict(),start:Pt,actions:t.array(Rt).max(20).default([]),services:t.array(Rt).max(20).default([]),schedules:t.array(Ra).max(20).default([]),mcp:t.object({endpoints:t.array(ya).max(10).default([])}).strict().default({endpoints:[]}),volumes:t.array(va).max(5).default([]),integrations:t.object({requiredLeases:t.array(fa).max(20).default([])}).strict().default({requiredLeases:[]}),permissions:ba,inputs:t.object({schema:wa.default({type:"object"}),env:t.array(xa).max(100).default([])}).strict().default({schema:{type:"object"},env:[]}),artifacts:t.object({paths:t.array(ee).max(100).default([])}).strict().default({paths:[]}),network:t.object({egress:t.enum(["restricted","allow","block"]).default("restricted")}).strict().default({egress:"restricted"})}).strict().superRefine((e,a)=>{_a(e,a),Me(a,e.volumes.flatMap(n=>n.name?[n.name]:[]),"volume names must be unique","volumes"),Aa(e,a),Ca(e,a),ja(e,a),Ha(e,a)}),xo=t.object({path:t.string(),message:t.string(),code:t.string()});function Ro(e){let a;try{a=lt.load(e)}catch(n){return{ok:!1,manifest:null,diagnostics:[{path:"$",code:"invalid_yaml",message:n instanceof Error?n.message:"Invalid YAML"}]}}return Ia(a)}l(Ro,"validateSandboxTemplateYaml");function Ia(e){if(!e||typeof e!="object"||Array.isArray(e))return{ok:!1,manifest:null,diagnostics:[{path:"$",code:"invalid_type",message:`${ge} must be an object`}]};if(Object.prototype.hasOwnProperty.call(e,"databases"))return{ok:!1,manifest:null,diagnostics:[{path:"$.databases",code:"database_resources_removed",message:"managed database requests are unsupported for Firecracker sandbox templates; use a durable volume with SQLite or files instead"}]};let a=Ta.safeParse(e);return a.success?{ok:!0,manifest:a.data,diagnostics:[]}:{ok:!1,manifest:null,diagnostics:a.error.issues.map(n=>({path:Ea(n.path),code:n.code,message:n.message}))}}l(Ia,"validateSandboxTemplateManifest");function To(e){return e.map(a=>`${a.path}: ${a.message}`).join(`
|
|
5
5
|
`)}l(To,"formatSandboxTemplateDiagnostics");function Et(e){return[{kind:"start",name:"start",...e.start,artifactPaths:je(e.start,e)},...e.actions.map(a=>({kind:"action",name:a.name,command:a.command,cwd:a.cwd,timeoutSeconds:a.timeoutSeconds,requiresStart:a.requiresStart,ports:a.ports,artifactPaths:je(a,e)})),...e.services.map(a=>({kind:"service",name:a.name,command:a.command,cwd:a.cwd,timeoutSeconds:a.timeoutSeconds,requiresStart:a.requiresStart,ports:a.ports,artifactPaths:je(a,e)}))]}l(Et,"sandboxTemplateExecutableEntries");function Pa(e){let a=Et(e);return{template:{name:e.name,version:e.version,useCase:e.useCase,runtime:e.runtime},resources:e.resources??null,volumes:e.volumes,executables:a.map(n=>({kind:n.kind,name:n.name,command:n.command,cwd:n.cwd??null,timeoutSeconds:n.timeoutSeconds??null,requiresStart:n.requiresStart,ports:n.ports.map(r=>r.port),artifactPaths:n.artifactPaths})),ports:a.flatMap(n=>n.ports.map(r=>({executable:n.name,kind:n.kind,port:r.port,access:r.access,label:r.label??null}))),appMcpEndpoints:e.mcp.endpoints.map(n=>({name:n.name??null,service:n.service??null,port:n.port,path:n.path})),validation:{commands:e.validation.commands,probes:e.validation.probes},schedules:e.schedules}}l(Pa,"sandboxTemplateBuildMetadata");function Io(e){return{kind:ca,schemaVersion:1,manifestFile:e.manifestFile,projectRoot:e.projectRoot,manifest:e.manifest,metadata:Pa(e.manifest),executables:Et(e.manifest)}}l(Io,"sandboxTemplateBuildPlan");function Po(e){let a=e.name.trim()||"Sandbox Template",n=Oa(a),r=e.description?.trim()||`Local scaffold for ${a}.`;return{".gitignore":["node_modules","artifacts",".DS_Store",""].join(`
|