@rizom/ops 0.2.0-alpha.669 → 0.2.0-alpha.670
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/brains-ops.js +120 -120
- package/dist/deploy.js +1 -1
- package/dist/index.js +123 -123
- package/package.json +1 -1
package/dist/deploy.js
CHANGED
|
@@ -112,4 +112,4 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
112
112
|
`+d.slice(T,E),T=E+1;x=P}if(j+=`
|
|
113
113
|
`,d.length-T>y&&x>T)j+=d.slice(T,x)+`
|
|
114
114
|
`+d.slice(x+1);else j+=d.slice(T);return j.slice(1)}function Ne(d){let y="",S=0;for(let A=0;A<d.length;S>=65536?A+=2:A++){S=$e(d,A);let T=ie[S];if(!T&&Ce(S)){if(y+=d[A],S>=65536)y+=d[A+1]}else y+=T||Te(S)}return y}function to(d,y,S){let A="",T=d.tag;for(let E=0,x=S.length;E<x;E+=1){let P=S[E];if(d.replacer)P=d.replacer.call(S,String(E),P);if(h(d,y,P,!1,!1)||typeof P>"u"&&h(d,y,null,!1,!1)){if(A!=="")A+=","+(!d.condenseFlow?" ":"");A+=d.dump}}d.tag=T,d.dump="["+A+"]"}function an(d,y,S,A){let T="",E=d.tag;for(let x=0,P=S.length;x<P;x+=1){let j=S[x];if(d.replacer)j=d.replacer.call(S,String(x),j);if(h(d,y+1,j,!0,!0,!1,!0)||typeof j>"u"&&h(d,y+1,null,!0,!0,!1,!0)){if(!A||T!=="")T+=ft(d,y);if(d.dump&&u===d.dump.charCodeAt(0))T+="-";else T+="- ";T+=d.dump}}d.tag=E,d.dump=T||"[]"}function no(d,y,S){let A="",T=d.tag,E=Object.keys(S);for(let x=0,P=E.length;x<P;x+=1){let j="";if(A!=="")j+=", ";if(d.condenseFlow)j+='"';let L=E[x],F=S[L];if(d.replacer)F=d.replacer.call(S,L,F);if(!h(d,y,L,!1,!1))continue;if(d.dump.length>1024)j+="? ";if(j+=d.dump+(d.condenseFlow?'"':"")+":"+(d.condenseFlow?"":" "),!h(d,y,F,!1,!1))continue;j+=d.dump,A+=j}d.tag=T,d.dump="{"+A+"}"}function ro(d,y,S,A){let T="",E=d.tag,x=Object.keys(S);if(d.sortKeys===!0)x.sort();else if(typeof d.sortKeys==="function")x.sort(d.sortKeys);else if(d.sortKeys)throw new n("sortKeys must be a boolean or a function");for(let P=0,j=x.length;P<j;P+=1){let L="";if(!A||T!=="")L+=ft(d,y);let F=x[P],B=S[F];if(d.replacer)B=d.replacer.call(S,F,B);if(!h(d,y+1,F,!0,!0,!0))continue;let K=d.tag!==null&&d.tag!=="?"||d.dump&&d.dump.length>1024;if(K)if(d.dump&&u===d.dump.charCodeAt(0))L+="?";else L+="? ";if(L+=d.dump,K)L+=ft(d,y);if(!h(d,y+1,B,!0,K))continue;if(d.dump&&u===d.dump.charCodeAt(0))L+=":";else L+=": ";L+=d.dump,T+=L}d.tag=E,d.dump=T||"{}"}function s(d,y,S){let A=S?d.explicitTypes:d.implicitTypes;for(let T=0,E=A.length;T<E;T+=1){let x=A[T];if((x.instanceOf||x.predicate)&&(!x.instanceOf||typeof y==="object"&&y instanceof x.instanceOf)&&(!x.predicate||x.predicate(y))){if(S)if(x.multi&&x.representName)d.tag=x.representName(y);else d.tag=x.tag;else d.tag="?";if(x.represent){let P=d.styleMap[x.tag]||x.defaultStyle,j;if(o.call(x.represent)==="[object Function]")j=x.represent(y,P);else if(t.call(x.represent,P))j=x.represent[P](y,P);else throw new n("!<"+x.tag+'> tag resolver accepts not "'+P+'" style');d.dump=j}return!0}}return!1}function h(d,y,S,A,T,E,x){if(d.tag=null,d.dump=S,!s(d,S,!1))s(d,S,!0);let P=o.call(d.dump),j=A;if(A)A=d.flowLevel<0||d.flowLevel>y;let L=P==="[object Object]"||P==="[object Array]",F,B;if(L)F=d.duplicates.indexOf(S),B=F!==-1;if(d.tag!==null&&d.tag!=="?"||B||d.indent!==2&&y>0)T=!1;if(B&&d.usedDuplicates[F])d.dump="*ref_"+F;else{if(L&&B&&!d.usedDuplicates[F])d.usedDuplicates[F]=!0;if(P==="[object Object]"){if(A&&Object.keys(d.dump).length!==0){if(ro(d,y,d.dump,T),B)d.dump="&ref_"+F+d.dump}else if(no(d,y,d.dump),B)d.dump="&ref_"+F+" "+d.dump}else if(P==="[object Array]"){if(A&&d.dump.length!==0){if(d.noArrayIndent&&!x&&y>0)an(d,y-1,d.dump,T);else an(d,y,d.dump,T);if(B)d.dump="&ref_"+F+d.dump}else if(to(d,y,d.dump),B)d.dump="&ref_"+F+" "+d.dump}else if(P==="[object String]"){if(d.tag!=="?")or(d,d.dump,y,E,j)}else if(P==="[object Undefined]")return!1;else{if(d.skipInvalid)return!1;throw new n("unacceptable kind of an object to dump "+P)}if(d.tag!==null&&d.tag!=="?"){let K=encodeURI(d.tag[0]==="!"?d.tag.slice(1):d.tag).replace(/!/g,"%21");if(d.tag[0]==="!")K="!"+K;else if(K.slice(0,18)==="tag:yaml.org,2002:")K="!!"+K.slice(18);else K="!<"+K+">";d.dump=K+" "+d.dump}}return!0}function k(d,y){let S=[],A=[];I(d,S,A);let T=A.length;for(let E=0;E<T;E+=1)y.duplicates.push(S[A[E]]);y.usedDuplicates=Array(T)}function I(d,y,S){if(d!==null&&typeof d==="object"){let A=y.indexOf(d);if(A!==-1){if(S.indexOf(A)===-1)S.push(A)}else if(y.push(d),Array.isArray(d))for(let T=0,E=d.length;T<E;T+=1)I(d[T],y,S);else{let T=Object.keys(d);for(let E=0,x=T.length;E<x;E+=1)I(d[T[E]],y,S)}}}function _(d,y){y=y||{};let S=new Qi(y);if(!S.noRefs)k(d,S);let A=d;if(S.replacer)A=S.replacer.call({"":A},"",A);if(h(S,0,A,!0,!0))return S.dump+`
|
|
115
|
-
`;return""}return Od.dump=_,Od}var Ef;function SS(){if(Ef)return se;Ef=1;let e=yS(),n=vS();function i(o,t){return function(){throw Error("Function yaml."+o+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}return se.Type=me(),se.Schema=Rf(),se.FAILSAFE_SCHEMA=Nf(),se.JSON_SCHEMA=Mf(),se.CORE_SCHEMA=Bf(),se.DEFAULT_SCHEMA=wd(),se.load=e.load,se.loadAll=e.loadAll,se.dump=n.dump,se.YAMLException=Jn(),se.types={binary:Kf(),float:Ff(),map:jf(),null:Uf(),pairs:Gf(),set:Hf(),timestamp:Vf(),bool:Df(),int:Lf(),merge:qf(),omap:Jf(),seq:Cf(),str:Pf()},se.safeLoad=i("safeLoad","load"),se.safeLoadAll=i("safeLoadAll","loadAll"),se.safeDump=i("safeDump","dump"),se}var bS=SS(),Wf=gS(bS),{Type:Jt,Schema:_S,FAILSAFE_SCHEMA:xS,JSON_SCHEMA:$S,CORE_SCHEMA:zS,DEFAULT_SCHEMA:Td,load:Mi,loadAll:kS,dump:Zd,YAMLException:IS,types:AS,safeLoad:OS,safeLoadAll:wS,safeDump:TS}=Wf;function Yf(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var ZS=/^[+-]?(?:0|0b[01_]*[01]|0x[\da-fA-F_]*[\da-fA-F]|0[0-7_]*[0-7]|[1-9](?:[\d_]*\d)?|[1-9][\d_]*(?::[0-5]?\d)+)$/,ES=/^(?:[-+]?(?:0|[1-9][\d_]*)(?:\.[\d_]*)?(?:[eE][-+]?\d+)?|\.[\d_]+(?:[eE][-+]?\d+)?|[-+]?\d[\d_]*(?::[0-5]?\d)+\.[\d_]*|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/;function Qf(e){let n=Reflect.get(Gn,"types"),i=Yf(n)?n[e]:void 0;if(!(i instanceof Jt))throw Error(`Required YAML type is unavailable: ${e}`);return i}function RS(e,n){let i=0,o=1;for(let t of e.split(":").reverse())i+=(n?Number.parseFloat(t):Number.parseInt(t,10))*o,o*=60;return i}function Xf(e){let n=Qf(e);return new Jt(`tag:yaml.org,2002:${e}`,{kind:"scalar",resolve:(i)=>typeof i==="string"&&(e==="int"?ZS:ES).test(i)&&!i.endsWith("_"),construct:(i)=>{let o=i.replace(/_/g,""),t=o.startsWith("-")?-1:1,r=o.replace(/^[+-]/,"");if(r.includes(":"))return t*RS(r,e==="float");if(e==="int"&&r==="0")return 0;if(e==="int"&&/^0[0-7]+$/.test(r))return t*Number.parseInt(r,8);return n.construct(o)},predicate:n.predicate??void 0,represent:n.represent??void 0,defaultStyle:n.defaultStyle??void 0})}var Ed=Qf("binary"),PS=new Jt("tag:yaml.org,2002:binary",{kind:"scalar",resolve:(e)=>Ed.resolve(e),construct:(e)=>{let n=Ed.construct(e);if(!(n instanceof Uint8Array))throw Error("Invalid YAML binary result");return typeof Buffer>"u"?Array.from(n):Buffer.from(n)},predicate:(e)=>typeof Buffer<"u"&&Buffer.isBuffer(e),represent:Ed.represent??void 0}),CS=new Jt("tag:yaml.org,2002:str",{kind:"scalar",resolve:(e)=>typeof e==="string"&&e.includes(":"),construct:(e)=>e}),jS=Td.extend({implicit:[Xf("int"),Xf("float"),CS],explicit:[PS]});var eg=c.object({audiences:c.array(c.string()).optional(),positioning:c.string().optional()}),tg=c.object({summary:c.string().optional(),traits:c.array(c.string()).optional(),principles:c.array(c.string()).optional(),preferredTerms:c.array(c.string()).optional(),avoid:c.array(c.string()).optional()}),ng=c.object({artDirection:c.string().optional(),palette:c.array(c.string()).optional(),composition:c.string().optional(),mood:c.string().optional(),preferred:c.array(c.string()).optional(),avoid:c.array(c.string()).optional()}),US=c.object({name:c.string().describe("Style guide name"),messaging:eg.optional(),voice:tg.optional(),visual:ng.optional()});var LS=c.object({public:c.boolean(),preview:c.boolean()}),Bi=c.object({name:c.string().trim().min(1).max(200),url:c.string().url().optional()});var gI=c.object({sources:c.array(c.object({id:c.string(),title:c.string(),brain:Bi.optional()}))});var Rd="data-ask-sheet";var FS=`body *:not([${Rd}], [${Rd}] *) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }`;var Hn=c.discriminatedUnion("kind",[c.object({kind:c.literal("user"),userId:c.string().min(1),canonicalId:c.string().min(1).optional()}),c.object({kind:c.literal("external"),externalActorId:c.string().min(1)}),c.object({kind:c.literal("agent"),agentId:c.string().min(1)}),c.object({kind:c.literal("service"),serviceId:c.string().min(1)})]);function Gt(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>n!==void 0))}function Vi(e){if(Array.isArray(e))return e.map(Vi);if(!e||typeof e!=="object")return e;if(e instanceof Uint8Array)return e;return Object.fromEntries(Object.entries(e).filter(([,n])=>n!==void 0).map(([n,i])=>[n,Vi(i)]))}var MS=c.strictObject({messageCharacters:c.number().int().positive(),requestTimeoutSeconds:c.number().int().positive().max(2147483)}),_I=c.strictObject({limits:MS,maxCostMicroUsd:c.number().int().positive()}),Ht=c.number().int().nonnegative(),BS=c.strictObject({modelCalls:Ht,inputTokens:Ht,cachedInputTokens:Ht,outputTokens:Ht,reasoningTokens:Ht,embeddingTokens:Ht}),VS=c.discriminatedUnion("state",[c.strictObject({state:c.literal("known"),microUsd:c.number().int().nonnegative(),pricing:c.string().trim().min(1).max(120)}),c.strictObject({state:c.literal("unknown"),reason:c.enum(["missing-usage","unsupported-pricing"])})]),rg=c.strictObject({usage:BS,cost:VS}),xI=c.strictObject({topics:c.array(c.string().trim().min(1).max(500)).max(20),introduction:c.string().trim().min(1).max(4000).optional(),refusal:c.string().trim().min(1).max(500).optional()}),qS=c.enum(["in-scope","off-topic","abusive","injection","harmful"]),KS=qS.exclude(["in-scope"]),ig=c.discriminatedUnion("outcome",[c.strictObject({outcome:c.literal("answered")}),c.strictObject({outcome:c.literal("refused"),category:KS}),c.strictObject({outcome:c.literal("unscreened")})]);var og=c.object({id:c.string(),toolCallId:c.string().optional(),toolName:c.string(),summary:c.string(),completionSummary:c.string().optional(),preview:c.string().optional(),args:c.unknown()}),ag=c.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),cg=c.object({kind:c.literal("tool-approval"),id:c.string(),toolCallId:c.string().optional(),toolName:c.string(),input:c.record(c.string(),c.unknown()).optional(),summary:c.string(),completionSummary:c.string().optional(),preview:c.string().optional(),state:ag,output:c.unknown().optional(),error:c.string().optional()}),sg=c.object({entityType:c.string().optional(),entityId:c.string().optional(),attachmentType:c.string().optional()}),ug=c.object({mediaType:c.string().min(1),url:c.string().min(1),downloadUrl:c.string().min(1).optional(),previewUrl:c.string().min(1).optional(),filename:c.string().min(1).optional(),sizeBytes:c.number().nonnegative().optional(),source:sg.optional()}),lg=c.object({kind:c.literal("attachment"),id:c.string(),jobId:c.string().optional(),title:c.string(),description:c.string().optional(),attachment:ug}),Wt=c.object({id:c.string().min(1),title:c.string().min(1).optional(),source:c.string().min(1),url:c.string().min(1).optional(),entityType:c.string().min(1).optional(),entityId:c.string().min(1).optional(),excerpt:c.string().min(1).optional(),provenance:c.record(c.string(),c.unknown()).optional(),brain:Bi.optional()}),dg=c.object({kind:c.literal("sources"),id:c.string().min(1),title:c.string().min(1).optional(),sources:c.array(Wt).min(1)}),pg=c.object({type:c.literal("prompt"),id:c.string().min(1),label:c.string().min(1),prompt:c.string().min(1),description:c.string().min(1).optional()}),mg=c.object({type:c.literal("event"),id:c.string().min(1),label:c.string().min(1),event:c.string().min(1),fromState:c.string().min(1).optional(),description:c.string().min(1).optional()}),fg=c.discriminatedUnion("type",[pg,mg]),gg=c.object({kind:c.literal("actions"),id:c.string().min(1),title:c.string().min(1).optional(),defaultOpen:c.boolean().optional(),actions:c.array(fg).min(1)}),Pd=c.discriminatedUnion("kind",[cg,lg,dg,gg]),hg=c.object({toolName:c.string(),args:c.record(c.string(),c.unknown()).optional(),jobId:c.string().optional(),data:c.unknown().optional(),error:c.object({message:c.string(),code:c.string().optional()}).optional()}),yg=c.object({faqId:c.string().min(1)}),vg=c.object({text:c.string(),error:c.string().optional(),toolResults:c.array(hg).optional(),cards:c.array(Pd).optional(),pendingConfirmations:c.array(og).optional(),usage:c.object({promptTokens:c.number(),completionTokens:c.number(),totalTokens:c.number()}),guestSettlement:rg.optional(),guestScreening:ig.optional(),askedBefore:yg.optional()}),JS=c.looseObject({cards:c.array(c.unknown())});function GS(e){let n=JS.safeParse(e);if(!n.success)return e;return{...n.data,cards:n.data.cards.filter((i)=>Pd.safeParse(i).success)}}var Sg=c.preprocess((e)=>GS(Vi(e)),vg);function D(e){return Object.freeze({name:e.channel,schema:e.request,response:e.response,delivery:e.delivery})}var Cd=c.object({state:c.string(),response:c.string(),sources:c.array(Wt)}),HS=c.object({agent:c.string().trim().min(1).max(253),question:c.string().trim().min(1).max(4000)}),WS=D({channel:"a2a:ask:request",request:HS,response:Cd,delivery:"request"}),bg=c.object({entityType:c.string().optional(),entityId:c.string().optional(),actor:Hn.optional(),interfaceType:c.string().optional(),userPermissionLevel:c.enum(["admin","trusted","public"])}),YS=c.object({agent:c.string().trim().min(1).max(253),instruction:c.string().trim().min(1).max(2000),selection:c.string().min(1).max(8000),...bg.shape}),XS=D({channel:"a2a:call:request",request:YS,response:Cd,delivery:"request"}),QS=c.object({agents:c.array(c.object({id:c.string(),label:c.string()}))}),eb=D({channel:"a2a:call:agents",request:bg,response:QS,delivery:"request"});var tb=c.object({type:c.literal("event"),event:c.string().min(1),fromState:c.string().min(1).optional()}),_g=c.object({conversationId:c.string().min(1),interfaceType:c.string().min(1),channelId:c.string().min(1).optional(),channelName:c.string().min(1),userPermissionLevel:c.enum(["admin","trusted","public"]),isAnchor:c.boolean(),action:tb}),nb=Sg.nullable(),rb=D({channel:"agent:action:request",request:_g,response:nb,delivery:"request"});var xg=c.object({question:c.string().trim().min(1)}),ib=c.object({faqId:c.string().min(1),faqQuestion:c.string().min(1),answer:c.string().trim().min(1),sources:c.array(Wt).default([])}),$g=c.object({hit:ib.optional()}),ob=D({channel:"guest:asked-before",request:xg,response:$g,delivery:"collect"});var ab=c.enum(["admin","trusted","public"]),zg=c.object({conversationId:c.string().min(1),message:c.string(),interfaceType:c.string().min(1),channelId:c.string().optional(),channelName:c.string().optional(),userPermissionLevel:ab}),kg=c.object({id:c.string().min(1),source:c.string().min(1),title:c.string().optional(),content:c.string().min(1),provenance:c.record(c.string(),c.unknown()).optional()}),qI=c.object({items:c.array(kg).default([])}),cb=c.object({items:c.array(c.unknown()).default([]).transform((e)=>e.flatMap((n)=>{let i=kg.safeParse(n);return i.success?[i.data]:[]}))}),sb=D({channel:"agent:context:request",request:zg,response:cb,delivery:"collect"});var ub=c.strictObject({entityType:c.string().min(1),entityId:c.string().min(1)}),lb=c.strictObject({startedAt:c.string().datetime(),retrieved:c.array(ub).max(50)});var Ig=c.object({actor:Hn}),db=c.object({userId:c.string().min(1),personId:c.string().min(1),canonicalId:c.string().min(1).optional(),displayName:c.string().min(1),permissionLevel:c.enum(["admin","trusted","public"])}),Ag=c.object({principal:db.nullable()}),pb=D({channel:"auth:principal:resolve",request:Ig,response:Ag,delivery:"request"});var jd=c.strictObject({name:c.string().min(1).optional(),address:c.email()}),mb=c.strictObject({personId:c.string().min(1).max(200),displayName:c.string().trim().min(1).max(200),permissionLevel:c.enum(["admin","trusted","public"])}),Og=c.strictObject({messageId:c.string().min(1),sourceRef:c.string().min(1),threadId:c.string().min(1).optional(),from:jd,replyTo:jd.optional(),to:c.array(jd),subject:c.string(),receivedAt:c.iso.datetime(),text:c.string(),html:c.string().min(1).optional(),headers:c.strictObject({listUnsubscribe:c.string().min(1).optional(),autoSubmitted:c.string().min(1).optional(),precedence:c.string().min(1).optional(),inReplyTo:c.string().min(1).optional(),references:c.array(c.string().min(1)).optional()}),sender:mb.optional()}),fb=c.strictObject({}),gb=D({channel:"email:inbound",request:Og,response:fb,delivery:"request"});var hb=c.strictObject({permissionLevel:c.enum(["admin","trusted","public"])}),yb=c.custom((e)=>typeof AbortSignal<"u"&&e instanceof AbortSignal),wg=c.strictObject({sourceRef:c.string().regex(/^imap:[a-f0-9]{64}$/),actor:hb,signal:yb.optional()}),Nd=c.strictObject({name:c.string().trim().min(1).max(300).optional(),address:c.email().max(320)}),vb=c.strictObject({messageId:c.string().trim().min(1).max(2000),from:Nd,replyTo:Nd.optional(),to:c.array(Nd).max(100),subject:c.string().max(1000),receivedAt:c.iso.datetime(),text:c.string().max(1e5),inReplyTo:c.string().trim().min(1).max(2000).optional(),references:c.array(c.string().trim().min(1).max(2000)).max(100),truncated:c.boolean()}),Tg=c.discriminatedUnion("kind",[c.strictObject({kind:c.literal("available"),message:vb}),c.strictObject({kind:c.literal("unavailable")})]),Sb=D({channel:"email:source-read",request:wg,response:Tg,delivery:"request"});var bb=c.object({url:c.string(),authToken:c.string().optional()});var _b=c.object({success:c.boolean(),entityId:c.string().optional(),error:c.string().optional()});function Ud(e,n){if(e instanceof Error)return e.message;return n??String(e)}var Zg=c.enum(["no_handler","handler_failed","invalid_input","invalid_response","unauthenticated","permission_denied","not_found","conflict","cancelled","deadline_exceeded"]),Eg=1024,xb=c.object({code:Zg,message:c.string().max(Eg)});var qi=c.lazy(()=>c.union([c.null(),c.boolean(),c.number().finite().refine((e)=>!Number.isInteger(e)||Number.isSafeInteger(e),{message:"integer exceeds the JSON-safe range"}),c.string(),c.array(qi),c.record(c.string(),qi)])),Dd=c.record(c.string(),qi);var $b=c.enum(["user","assistant"]);var zb=c.object({entityType:c.string().min(1),entityId:c.string().min(1),contentHash:c.string().min(1).optional()}),kb=c.object({rootJobId:c.string().min(1),causationId:c.string().min(1),projectionId:c.string().min(1).optional(),projectionLineage:c.array(c.string().min(1)),sourceEntity:zb.optional(),derivationDepth:c.number().int().nonnegative()}).superRefine((e,n)=>{if(e.derivationDepth!==e.projectionLineage.length)n.addIssue({code:"custom",path:["derivationDepth"],message:"Derivation depth must equal projection lineage length"});let i=e.projectionLineage.at(-1);if(e.projectionId!==i)n.addIssue({code:"custom",path:["projectionId"],message:"Current projection must equal the final projection lineage entry"})});var Ld=10,Rg=82,Fd=c.object({title:c.string().min(1).max(200),lines:c.array(c.string().min(1)).min(1).max(Ld),actions:c.array(c.object({label:c.string().min(1).max(80),value:c.string().min(1).max(Rg)})).max(Ld)}),Ib=Fd.extend({channelId:c.string().min(1),interfaceType:c.string().min(1),reactions:c.array(c.object({messageId:c.string().min(1),emoji:c.string().min(1)}))}),Ab=c.object({messageId:c.string().min(1)}),Ob=c.object({conversationId:c.string().min(1),noticeMessageId:c.string().min(1),value:c.string().min(1),by:c.string().min(1)}),wb=D({channel:"chat:space-notice",request:Ib,response:Ab,delivery:"request"}),Tb=Fd.nullable(),Zb=D({channel:"chat:space-notice-action",request:Ob,response:Tb,delivery:"collect"});function Ki(e,n){return Object.freeze({name:e,schema:n})}var ZA=c.object({name:c.string(),schema:c.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e))});var Md={completed:"publish:completed",failed:"publish:failed"},Eb=c.object({entityType:c.string().min(1),entityId:c.string().min(1),result:c.object({id:c.string(),url:c.string().optional()})}),Rb=c.object({entityType:c.string().min(1),entityId:c.string().min(1),error:c.string(),retryCount:c.number(),willRetry:c.boolean()}),Pb=Ki(Md.completed,Eb),Cb=Ki(Md.failed,Rb);var Pg=c.object({entityType:c.string().min(1),entityId:c.string(),metadata:c.record(c.string(),c.unknown()).default({}),content:c.string().default("")}),Cg=c.object({relativePath:c.string(),leaf:c.object({start:c.number().int().nonnegative(),end:c.number().int().nonnegative()}).nullable(),owner:c.object({entityType:c.string(),id:c.string()}).optional(),writable:c.boolean().optional()}),jb=D({channel:"sync:path:request",request:Pg,response:Cg,delivery:"request"});var Nb=c.strictObject({}),Ub=c.object({branch:c.string(),hasChanges:c.boolean(),ahead:c.number(),behind:c.number(),lastCommit:c.string().nullable(),remote:c.string().nullable()}),Db=c.object({syncPath:c.string(),isInitialized:c.boolean(),watchEnabled:c.boolean(),lastSync:c.string().nullable(),totalFiles:c.number(),byEntityType:c.record(c.string(),c.number()),git:Ub.nullable(),managementUrl:c.string().optional()}),Lb=D({channel:"sync:status:request",request:Nb,response:Db,delivery:"request"});var jg=c.strictObject({waveId:c.string().trim().min(1),sourceTypes:c.array(c.string().trim().min(1)),changedTargetTypes:c.array(c.string().trim().min(1))}),Fb=c.strictObject({}),Mb=D({channel:"projection:wave-ready",request:jg,response:Fb,delivery:"collect"});var Bb=c.strictObject({}),Vb=c.string(),qb=D({channel:"plugin:site-builder:head-scripts",request:Bb,response:Vb,delivery:"collect"});var Ug=".site-build-manifest.json",Kb=`/${Ug}`;function Ng(e){return typeof e==="function"}var Jb=c.object({outputDir:c.string(),environment:c.enum(["preview","production"]),routesBuilt:c.number(),siteConfig:c.object({title:c.string().optional(),description:c.string().optional(),url:c.string().optional(),copyright:c.string().optional(),themeMode:c.enum(["light","dark"]).optional()}),generateEntityUrl:c.custom(Ng),reportFailure:c.custom(Ng)}),Gb=D({channel:"site:build:staging",request:Jb,response:c.void(),delivery:"command"});var Hb=c.object({id:c.string().min(1),trigger:c.string().min(1),playbookId:c.string().min(1),once:c.boolean().default(!0),starterText:c.string().min(1),description:c.string().min(1).optional(),starterPrompt:c.string().min(1)}).strict(),Wb=c.object({registered:c.boolean(),id:c.string(),ignored:c.boolean().optional(),reason:c.string().optional()}),Yb=D({channel:"playbooks:register-lifecycle-starter",request:Hb,response:Wb,delivery:"request"});var Xb=c.object({id:c.string().min(1),markdown:c.string().min(1)}).strict(),Qb=c.object({created:c.boolean()}),e_=D({channel:"playbooks:seed",request:Xb,response:Qb,delivery:"request"});var Dg=["name","headline","industry","location","website","story"],Ji=c.enum(Dg),Bd=c.object({name:c.string().optional(),headline:c.string().optional(),industry:c.string().optional(),location:c.string().optional(),website:c.string().optional(),story:c.string().optional()}),Lg=c.enum(["fill","preserve","unchanged"]),Fg=c.object({field:Ji,current:c.string().nullable(),imported:c.string(),outcome:Lg}),t_=D({channel:"@brains/profile:import-preview",request:c.object({fields:Bd}),response:c.object({fields:c.array(Fg),changed:c.boolean(),revision:c.string()}),delivery:"request"}),n_=D({channel:"@brains/profile:import-apply",request:c.object({fields:Bd,revision:c.string()}),response:c.object({filled:c.array(Ji),kept:c.array(Ji)}),delivery:"request"});var r_=c.enum(["provider"]),i_=c.object({executionMode:r_.optional(),publishResultIdField:c.string().min(1).optional(),publishTimestampField:c.string().min(1).optional(),enabled:c.boolean().optional()}).strict();function o_(e){return typeof e==="object"&&e!==null&&"name"in e&&typeof e.name==="string"&&"publish"in e&&typeof e.publish==="function"}var a_=c.custom(o_),c_=c.object({entityType:c.string(),provider:a_.optional(),config:i_.optional()}),s_=D({channel:"publish:register",request:c_,response:c.void(),delivery:"command"}),u_=c.union([c.string().min(1),c.object({location:c.enum(["metadata","frontmatter"]),field:c.string().min(1)})]),Mg=c.object({entityType:c.string().min(1),attachmentType:c.string().min(1),mediaEntityType:c.enum(["image"]),targetEntityField:u_.optional(),requiredWhen:c.object({status:c.string().min(1).optional(),visibility:c.string().min(1).optional()}).optional(),autoGenerate:c.boolean().optional(),requiredForPublish:c.boolean().optional()}),l_=D({channel:"publish-assets:register",request:Mg,response:c.void(),delivery:"command"});var d_=c.object({entityType:c.string()}),p_=D({channel:"generate:execute",request:d_,response:c.void(),delivery:"command"}),m_=c.object({entityType:c.string(),entityId:c.string()}),f_=D({channel:"generate:report:success",request:m_,response:c.void(),delivery:"command"}),g_=c.object({entityType:c.string(),error:c.string()}),h_=D({channel:"generate:report:failure",request:g_,response:c.void(),delivery:"command"});var y_=c.object({message:c.string().describe("Natural language response to the query"),summary:c.string().optional().describe("Brief summary if applicable"),topics:c.array(c.string()).optional().describe("Related topics mentioned"),sources:c.array(c.object({id:c.string(),type:c.string(),excerpt:c.string().optional(),relevance:c.number().min(0).max(1).optional()})).optional().describe("Source entities used to answer the query"),metadata:c.record(c.string(),c.unknown()).optional()}).describe("defaultQueryResponse"),v_=c.object({message:c.string()}).describe("simpleTextResponse"),S_=c.object({success:c.boolean(),entityId:c.string().optional(),message:c.string()}).describe("createEntityResponse"),b_=c.object({success:c.boolean(),entityId:c.string(),changes:c.array(c.string()).optional(),message:c.string()}).describe("updateEntityResponse");var Bg=c.discriminatedUnion("type",[c.strictObject({type:c.literal("email"),address:c.email()})]),Vg=c.strictObject({recipient:Bg.optional(),title:c.string().min(1),body:c.string().min(1),html:c.string().min(1).optional(),sensitivity:c.enum(["normal","secret"]).default("normal"),idempotencyKey:c.string().trim().min(1).max(200).optional()}),__=c.enum(["recipient-missing","transport-missing","delivery-failed"]),qg=c.string().regex(/^[a-z0-9_:.-]{1,80}$/u),Kg=c.discriminatedUnion("status",[c.strictObject({status:c.literal("sent"),deliveryId:c.string().optional()}),c.strictObject({status:c.literal("failed"),failure:__,transportCode:qg.optional()})]),x_=D({channel:"notifications:send",request:Vg,response:Kg,delivery:"request"});var $_=c.strictObject({}),Jg=c.strictObject({titles:c.array(c.string().trim().min(1).max(500)).max(20)}),z_=D({channel:"topics:public-titles",request:$_,response:Jg,delivery:"request"});var k_=c.strictObject({}),I_=c.strictObject({types:c.array(c.string().trim().min(1))}),A_=D({channel:"topics:source-types",request:k_,response:I_,delivery:"request"});var Gg=c.strictObject({id:c.string().regex(/^[a-z0-9][a-z0-9-]{0,79}$/),title:c.string().trim().min(1).max(200),body:c.string().trim().min(1).max(20000)}),Hg=c.strictObject({noteId:c.string(),created:c.boolean()}),O_=D({channel:"note:capture",request:Gg,response:Hg,delivery:"request"});var Yt=c.string().regex(/^[a-z][a-z0-9-]{0,63}$/),Wn=c.string().min(32).max(512),w_=c.strictObject({provider:Yt,brainState:Wn}),T_=c.strictObject({authorizationUrl:c.url({protocol:/^https?$/})}),Z_=c.strictObject({provider:Yt,grant:Wn}),E_=c.strictObject({provider:Yt,credential:Dd}),R_=c.union([c.strictObject({provider:Yt,state:Wn,grant:Wn}),c.strictObject({provider:Yt,state:Wn,error:c.enum(["provider_denied","authorization_incomplete","credential_exchange_failed"])})]);var P_=c.object({permissionLevel:c.enum(["public","trusted","admin"])}),C_=c.object({id:c.string().min(1),title:c.string().min(1),sub:c.string().optional(),href:c.string().min(1),primary:c.boolean().optional(),keywords:c.array(c.string()).optional()}),j_=c.array(C_),N_=D({channel:"console:jump-destinations",request:P_,response:j_,delivery:"collect"});var Gi=c.enum(["github","instagram","linkedin","podcast","email","website"]),U_=c.object({platform:Gi.describe("Social media platform"),url:c.string().describe("Profile or contact URL"),label:c.string().optional().describe("Optional display label")});function Hi(e){if(!e.type.includes(":"))throw Error(`Job contract type "${e.type}" must name its owner, as "owner:job"`);return Object.freeze({type:e.type,input:e.input})}var Wg=c.enum(["1:1","16:9","9:16","4:3","3:4"]),Yg=c.object({prompt:c.string(),title:c.string().optional(),aspectRatio:Wg.optional(),targetEntityType:c.string().optional(),targetEntityId:c.string().optional(),entityTitle:c.string().optional(),entityContent:c.string().optional()}),D_=Hi({type:"image:image-generate",input:Yg}),Xg=c.object({sourceEntityType:c.string().min(1),sourceEntityId:c.string().min(1),attachmentType:c.string().min(1),imageId:c.string().min(1),dedupKey:c.string().min(1).optional(),replace:c.boolean().optional(),targetEntityType:c.string().min(1).optional(),targetEntityId:c.string().min(1).optional(),targetImageField:c.enum(["coverImageId","ogImageId"]).optional()}),L_=Hi({type:"image:image-render-source",input:Xg});var F_=c.enum(["none","low","medium","high","xhigh","max"]);var M_=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,B_=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,He=c.string().regex(M_,"expected exact pinned version"),Qg=c.string().regex(B_,"expected lowercase handle slug"),ct=c.string().min(1),V_=c.string().startsWith("age1").min(1),q_="capability-bundles-v1",K_=c.enum(["core","media","automation","web","chat","site","publishing","federation","team"]),J_=["professional","team","organization"],G_=c.enum(J_),H_=["person","team","organization"],W_=c.enum(H_),eh=c.array(K_).min(1),Wi=c.array(c.string().min(1)),th=c.strictObject({brainVersion:He,bundleContract:c.literal(q_),bundles:eh,add:Wi.optional(),remove:Wi.optional(),githubOrg:c.string().min(1),contentRepoPrefix:c.string().min(1),domainSuffix:c.string().min(1),aiApiKey:ct,gitSyncToken:ct,contentRepoAdminToken:ct,agePublicKey:V_}).superRefine((e,n)=>{if(new Set(e.bundles).size!==e.bundles.length)n.addIssue({code:c.ZodIssueCode.custom,path:["bundles"],message:"canonical bundles must be unique"})}),nh=c.strictObject({members:c.array(Qg).min(1),brainVersionOverride:He.optional(),bundlesOverride:eh.optional(),addOverride:Wi.optional(),removeOverride:Wi.optional(),aiApiKeyOverride:ct.optional(),gitSyncTokenOverride:ct.optional()}).superRefine((e,n)=>{if(new Set(e.members).size!==e.members.length)n.addIssue({code:c.ZodIssueCode.custom,path:["members"],message:"cohort members must be unique"});if(e.bundlesOverride&&new Set(e.bundlesOverride).size!==e.bundlesOverride.length)n.addIssue({code:c.ZodIssueCode.custom,path:["bundlesOverride"],message:"canonical bundle overrides must be unique"})}),Y_=c.strictObject({platform:Gi,url:c.string().min(1),label:c.string().min(1).optional()}),X_=c.strictObject({name:c.string().min(1).optional(),description:c.string().min(1).optional(),website:c.string().min(1).optional(),email:c.string().min(1).optional(),story:c.string().min(1).optional(),socialLinks:c.array(Y_).optional()}),Q_=c.strictObject({delivery:c.literal("email"),email:c.string().email()}),ex=c.strictObject({enabled:c.boolean().optional(),endpoint:c.string().url().refine((e)=>new URL(e).protocol==="wss:",{message:"Jetstream endpoint must use wss"}).optional(),replayWindowSeconds:c.number().int().min(60).optional(),denyDids:c.array(c.string().startsWith("did:plc:")).optional(),denyDomains:c.array(c.string().min(1)).optional(),skillKeywords:c.array(c.string().min(1)).optional(),queueLimit:c.number().int().min(1).max(1e4).optional(),concurrency:c.number().int().min(1).max(32).optional(),perDidCooldownSeconds:c.number().int().nonnegative().optional(),fetchBudgetPerMinute:c.number().int().min(1).optional(),newAgentsPerHour:c.number().int().min(1).optional(),pendingCandidateCeiling:c.number().int().min(1).optional(),staleCandidateRetentionDays:c.number().int().min(1).optional(),requestTimeoutMs:c.number().int().min(100).optional(),maxResponseBytes:c.number().int().min(1024).optional(),maxRedirects:c.number().int().nonnegative().optional(),retryAttempts:c.number().int().min(1).optional(),heartbeatIntervalHours:c.number().min(1).optional()}),tx=c.strictObject({identifier:c.string().min(1),accountDid:c.string().min(1).optional(),lexiconAuthority:c.boolean().optional(),jetstream:ex.optional()}),nx=c.strictObject({package:c.string().min(1),version:He.optional(),theme:c.string().min(1).optional(),themeVersion:He.optional()}).superRefine((e,n)=>{let i=e.package.startsWith("@rizom/");if(i&&e.version===void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["version"],message:"external @rizom site packages require an exact version pin"});if(!i&&e.version!==void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["version"],message:"version is valid only for external @rizom site packages"});let o=e.theme?.startsWith("@rizom/")===!0;if(o&&e.themeVersion===void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["themeVersion"],message:"external @rizom themes require an exact version pin"});if(!o&&e.themeVersion!==void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["themeVersion"],message:"themeVersion is valid only for external @rizom themes"})}),rx=c.strictObject({onboarding:c.boolean().optional()}),ix=c.record(c.string().min(1),c.record(c.string(),c.unknown())),rh=c.strictObject({handle:Qg,discord:c.strictObject({enabled:c.boolean(),anchorUserId:c.string().min(1).optional()}),aiApiKeyOverride:ct.optional(),gitSyncTokenOverride:ct.optional(),domainOverride:c.string().min(1).optional(),cloudflareZoneId:c.string().min(1).optional(),contentRepoOverride:c.string().min(1).optional(),profileKind:G_.optional(),anchorKind:W_.optional(),plugins:ix.optional(),spaces:c.array(c.string().min(1)).optional(),embeddingEnabled:c.boolean().optional(),topicExtractionEnabled:c.boolean().optional(),skillDerivationEnabled:c.boolean().optional(),swotDerivationEnabled:c.boolean().optional(),addOverride:c.array(c.string().min(1)).optional(),removeOverride:c.array(c.string().min(1)).optional(),siteOverride:nx.optional(),setup:Q_.optional(),atproto:tx.optional(),playbooks:rx.optional(),anchorProfile:X_.optional()});var ax=c.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$/),ah=c.string().regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/),ch=c.strictObject({name:c.literal("rover-pilot-runtime"),private:c.literal(!0),packageManager:c.literal("bun@1.4.0"),dependencies:c.record(ah,He),overrides:c.strictObject({"postcss-selector-parser":c.literal("7.1.6")})});function cx(e){return st("deploy","runtime",ax.parse(e.tag))}function sx(e){let n={"@rizom/brain":He.parse(e.brainVersion)};for(let i of[...e.sitePackages].sort()){let o=i.lastIndexOf("@"),t=ah.parse(i.slice(0,o)),r=He.parse(i.slice(o+1));if(n[t]!==void 0&&n[t]!==r)throw Error(`Conflicting runtime dependency pin: ${i}`);n[t]=r}return ch.parse({name:"rover-pilot-runtime",private:!0,packageManager:"bun@1.4.0",dependencies:n,overrides:{"postcss-selector-parser":"7.1.6"}})}async function sh(e){try{return await Vd(e),!0}catch(n){if(n instanceof Error&&"code"in n&&n.code==="ENOENT")return!1;throw n}}async function oh(e){if(!(await Vd(e)).isFile())throw Error(`Runtime lock input must be a regular file: ${e}`)}async function uh(e){if(!(await Vd(e)).isDirectory())throw Error(`Runtime lock input must be a directory: ${e}`)}async function ux(e){for(let n of["deploy",st("deploy","runtime")]){let i=st(e,n);if(await sh(i))await uh(i)}}async function lx(e,n){let i=st(e,"package.json"),o=st(e,"bun.lock");await oh(i),await oh(o);let t=ch.parse(JSON.parse(await ih(i,"utf8")));if(!ox(t,sx(n)))throw Error(`Runtime dependency manifest does not match ${n.tag}`);if(!(await ih(o,"utf8")).trim())throw Error(`Empty runtime dependency lock: ${o}`)}async function lh(e,n){await ux(e);let i=st(e,cx(n));if(await uh(i),await sh(st(i,".incomplete")))throw Error(`Incomplete runtime dependency lock: ${i}`);await lx(i,n)}import{access as px,readdir as mx,readFile as fx}from"fs/promises";import{basename as qd,join as Yn,relative as gx}from"path";function dh(e,n){if(!e.trim())return{ok:!1,error:"file is empty"};let i;try{i=Mi(e)}catch(t){return{ok:!1,error:Ud(t,"YAML parse error")}}if(!dx(i))return{ok:!1,error:"expected a YAML mapping (key: value pairs)"};if(!n)return{ok:!0,data:i};let o=n.safeParse(i);if(!o.success)return{ok:!1,error:`invalid field(s): ${o.error.issues.map((r)=>r.path.map(String).join(".")).join(", ")}`};return{ok:!0,data:o.data}}function dx(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}class ut extends Error{}async function mh(e,n={}){let[i,o,t]=await Promise.all([Kd(Yn(e,"pilot.yaml"),th),yx(e),vx(e)]),r=Sx(o,t),a=t.map((p)=>({id:p.id,members:[...p.data.members].sort(),...Gt({brainVersionOverride:p.data.brainVersionOverride,bundlesOverride:p.data.bundlesOverride,addOverride:p.data.addOverride,removeOverride:p.data.removeOverride,aiApiKeyOverride:p.data.aiApiKeyOverride,gitSyncTokenOverride:p.data.gitSyncTokenOverride})})).sort((p,l)=>p.id.localeCompare(l.id)),u=await Promise.all(o.map(async(p)=>{let l=r.get(p.data.handle);if(!l)throw new ut(`User ${p.data.handle} must belong to exactly one cohort`);let m={...hx(p.data,l,i),snapshotStatus:await xx(e,p.data.handle)},f=await n.resolveStatus?.(m);return{...m,serverStatus:f?.serverStatus??"unknown",deployStatus:f?.deployStatus??"unknown",dnsStatus:f?.dnsStatus??"unknown",mcpStatus:f?.mcpStatus??"unknown"}}));return u.sort((p,l)=>p.handle.localeCompare(l.handle)),{pilot:i,cohorts:a,users:u}}function hx(e,n,i){let o=n.data.bundlesOverride===void 0;return{handle:e.handle,cohort:n.id,brainVersion:n.data.brainVersionOverride??i.brainVersion,bundleContract:i.bundleContract,bundles:[...n.data.bundlesOverride??i.bundles],add:ph(n.data.addOverride??(o?i.add:void 0),e.addOverride),remove:ph(n.data.removeOverride??(o?i.remove:void 0),e.removeOverride),domain:e.domainOverride??`${e.handle}${i.domainSuffix}`,...Gt({cloudflareZoneId:e.cloudflareZoneId}),contentRepo:e.contentRepoOverride??`${i.contentRepoPrefix}${e.handle}-content`,...Gt({profileKind:e.profileKind,anchorKind:e.anchorKind,embeddingEnabled:e.embeddingEnabled,spaces:e.spaces,plugins:e.plugins,topicExtractionEnabled:e.topicExtractionEnabled,skillDerivationEnabled:e.skillDerivationEnabled,swotDerivationEnabled:e.swotDerivationEnabled,siteOverride:e.siteOverride&&{...e.siteOverride}}),discordEnabled:e.discord.enabled,...Gt({discordAnchorUserId:e.discord.anchorUserId}),effectiveAiApiKey:e.aiApiKeyOverride??n.data.aiApiKeyOverride??i.aiApiKey,effectiveGitSyncToken:e.gitSyncTokenOverride??n.data.gitSyncTokenOverride??i.gitSyncToken,...Gt({setup:e.setup,atproto:e.atproto,playbooks:e.playbooks}),anchorProfile:bx(e.handle,e.anchorProfile)}}function ph(e,n){return $x([...e??[],...n??[]])}async function yx(e){let n=Yn(e,"users"),i=(await fh(n)).filter((t)=>!qd(t).endsWith(".secrets.yaml"));return(await Promise.all(i.map(async(t)=>{let r=gh(qd(t)),a=await Kd(t,rh);if(a.handle!==r){let u=hh(gx(e,t));throw new ut(`${u} must declare handle: ${r}`)}return{id:r,data:a}}))).sort((t,r)=>t.id.localeCompare(r.id))}async function vx(e){let n=Yn(e,"cohorts"),i=await fh(n);return(await Promise.all(i.map(async(t)=>({id:gh(qd(t)),data:await Kd(t,nh)})))).sort((t,r)=>t.id.localeCompare(r.id))}function Sx(e,n){let i=new Map(e.map((t)=>[t.data.handle,t])),o=new Map;for(let t of n)for(let r of t.data.members){if(!i.has(r))throw new ut(`Cohort ${t.id} references unknown user ${r}`);if(o.has(r))throw new ut(`User ${r} must belong to exactly one cohort`);o.set(r,t)}for(let t of e)if(!o.has(t.data.handle))throw new ut(`User ${t.data.handle} must belong to exactly one cohort`);return o}function bx(e,n){return{name:n?.name??_x(e),...n?.description?{description:n.description}:{},...n?.website?{website:n.website}:{},...n?.email?{email:n.email}:{},...n?.story?{story:n.story}:{},...n?.socialLinks?{socialLinks:n.socialLinks.map((i)=>({platform:i.platform,url:i.url,...i.label?{label:i.label}:{}}))}:{}}}function _x(e){return e.split("-").filter((n)=>n.length>0).map((n)=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}async function xx(e,n){let i=Yn(e,"users",n,"brain.yaml");try{return await px(i),"present"}catch{return"missing"}}async function fh(e){return(await mx(e,{withFileTypes:!0})).filter((i)=>i.isFile()&&i.name.endsWith(".yaml")).map((i)=>Yn(e,i.name)).sort((i,o)=>i.localeCompare(o))}async function Kd(e,n){let i=await fx(e,"utf8"),o=dh(i,n);if(!o.ok)throw new ut(`${hh(e)}: ${o.error}`);return o.data}function $x(e){return[...new Set(e)]}function gh(e){return e.replace(/\.ya?ml$/,"")}function hh(e){return e.replaceAll("\\","/")}var kx=128;function Jd(e,n=[]){let i=`brain-${e}`,o=[...new Set(n)].sort();if(o.length===0)return i;let t=`${i}--${o.map((u)=>u.replace(/^@/,"").replace("/","-").replace(/@(?=[^@]*$)/,"-")).join("--")}`,a=`--s${zx("sha256").update(JSON.stringify([e,...o])).digest("hex").slice(0,12)}`;return`${t.length+a.length<=kx?t:i}${a}`}function vh(e){if(!e)return[];return[yh(e.package,e.version),yh(e.theme,e.themeVersion)].filter((n)=>n!==void 0)}function yh(e,n){if(!e?.startsWith("@rizom/"))return;if(n===void 0)throw Error(`Package ${e} has no explicit version pin`);return`${e}@${n}`}function Sh(e){let n=new Map;for(let i of e){let o=[...new Set(vh(i.siteOverride))].sort(),t=Jd(i.brainVersion,o),r=n.get(t);if(r&&(r.brainVersion!==i.brainVersion||!Bun.deepEquals(r.sitePackages,o)))throw Error(`Image tag collision for distinct runtime requirements: ${t}`);n.set(t,{tag:t,brainVersion:i.brainVersion,sitePackages:o})}return[...n.values()].sort((i,o)=>i.tag.localeCompare(o.tag))}function Ix(e,n){let i=new Map;for(let o of[...e,...n]){let t=o.lastIndexOf("@"),r=t>0?o.slice(0,t):o,a=i.get(r);if(a&&a!==o)throw Error(`Fleet shared images have conflicting pins for ${r}: ${a} and ${o}`);i.set(r,o)}return[...i.values()].sort()}async function bh(e){let n=e.brainVersionInput?.trim()??"";if(n){let o=Ix([],(e.sitePackagesInput??"").split(/\s+/).filter(Boolean)),t=Jd(n,o);if(!e.allowTagOverwrite&&await e.imageExists(t))throw Error(`Image tag ${t} already exists; published tags are immutable. Pick a new version, or pass overwrite=true only when replacing a tag whose containers were never deployed.`);return[{tag:t,brainVersion:n,sitePackages:o}]}let i=[];for(let o of Sh(e.users))if(!await e.imageExists(o.tag))i.push(o);else await e.verifyImage(o);return i}async function Ax(e,n,i){try{return await e("docker",["manifest","inspect",`${n}:${i}`]),!0}catch(o){if(o instanceof Error&&/exited with code/.test(o.message))return!1;throw o}}async function Ox(e){let n=e.env??process.env,i=e.runCommand??un,o=e.log??console.log,t=n.BRAIN_VERSION_INPUT?.trim()??"",r=n.SITE_PACKAGES_INPUT?.trim()??"",a=n.ALLOW_TAG_OVERWRITE?.trim()==="true",{users:u}=await mh(e.rootDir),p=await bh({users:u,brainVersionInput:t,sitePackagesInput:r,allowTagOverwrite:a,imageExists:(l)=>Ax(i,e.imageRepository,l),verifyImage:(l)=>ao(e.imageRepository,l,i)});for(let l of p){try{await lh(e.rootDir,l)}catch(m){throw Error(`Missing or invalid runtime lock for ${l.tag}; run brains-ops images:lock and commit its reviewed package.json and bun.lock before building.`,{cause:m})}o(`build needed: ${l.tag} (brain ${l.brainVersion}${l.sitePackages.length>0?`, sites ${l.sitePackages.join(" ")}`:""})`)}if(p.length===0)o("All declared images already exist; nothing to build.");return e.writeOutput("images_json",JSON.stringify(p.map((l)=>({tag:l.tag,brain_version:l.brainVersion,site_packages:l.sitePackages.join(" ")})))),p}export{Yd as parseEnvFile,oo as parseEnvSchema,Hd as parseEnvSchemaFile,Wd as readJsonResponse,Xd as requireEnv,Sh as requiredImages,bh as resolveImageBuilds,Ox as runResolveMissingImages,Jd as runtimeImageTag,vh as sitePackagesFor,ao as verifyRuntimeImage,ep as writeGitHubEnv,Qd as writeGitHubOutput};
|
|
115
|
+
`;return""}return Od.dump=_,Od}var Ef;function SS(){if(Ef)return se;Ef=1;let e=yS(),n=vS();function i(o,t){return function(){throw Error("Function yaml."+o+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}return se.Type=me(),se.Schema=Rf(),se.FAILSAFE_SCHEMA=Nf(),se.JSON_SCHEMA=Mf(),se.CORE_SCHEMA=Bf(),se.DEFAULT_SCHEMA=wd(),se.load=e.load,se.loadAll=e.loadAll,se.dump=n.dump,se.YAMLException=Jn(),se.types={binary:Kf(),float:Ff(),map:jf(),null:Uf(),pairs:Gf(),set:Hf(),timestamp:Vf(),bool:Df(),int:Lf(),merge:qf(),omap:Jf(),seq:Cf(),str:Pf()},se.safeLoad=i("safeLoad","load"),se.safeLoadAll=i("safeLoadAll","loadAll"),se.safeDump=i("safeDump","dump"),se}var bS=SS(),Wf=gS(bS),{Type:Jt,Schema:_S,FAILSAFE_SCHEMA:xS,JSON_SCHEMA:$S,CORE_SCHEMA:zS,DEFAULT_SCHEMA:Td,load:Mi,loadAll:kS,dump:Zd,YAMLException:IS,types:AS,safeLoad:OS,safeLoadAll:wS,safeDump:TS}=Wf;function Yf(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var ZS=/^[+-]?(?:0|0b[01_]*[01]|0x[\da-fA-F_]*[\da-fA-F]|0[0-7_]*[0-7]|[1-9](?:[\d_]*\d)?|[1-9][\d_]*(?::[0-5]?\d)+)$/,ES=/^(?:[-+]?(?:0|[1-9][\d_]*)(?:\.[\d_]*)?(?:[eE][-+]?\d+)?|\.[\d_]+(?:[eE][-+]?\d+)?|[-+]?\d[\d_]*(?::[0-5]?\d)+\.[\d_]*|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/;function Qf(e){let n=Reflect.get(Gn,"types"),i=Yf(n)?n[e]:void 0;if(!(i instanceof Jt))throw Error(`Required YAML type is unavailable: ${e}`);return i}function RS(e,n){let i=0,o=1;for(let t of e.split(":").reverse())i+=(n?Number.parseFloat(t):Number.parseInt(t,10))*o,o*=60;return i}function Xf(e){let n=Qf(e);return new Jt(`tag:yaml.org,2002:${e}`,{kind:"scalar",resolve:(i)=>typeof i==="string"&&(e==="int"?ZS:ES).test(i)&&!i.endsWith("_"),construct:(i)=>{let o=i.replace(/_/g,""),t=o.startsWith("-")?-1:1,r=o.replace(/^[+-]/,"");if(r.includes(":"))return t*RS(r,e==="float");if(e==="int"&&r==="0")return 0;if(e==="int"&&/^0[0-7]+$/.test(r))return t*Number.parseInt(r,8);return n.construct(o)},predicate:n.predicate??void 0,represent:n.represent??void 0,defaultStyle:n.defaultStyle??void 0})}var Ed=Qf("binary"),PS=new Jt("tag:yaml.org,2002:binary",{kind:"scalar",resolve:(e)=>Ed.resolve(e),construct:(e)=>{let n=Ed.construct(e);if(!(n instanceof Uint8Array))throw Error("Invalid YAML binary result");return typeof Buffer>"u"?Array.from(n):Buffer.from(n)},predicate:(e)=>typeof Buffer<"u"&&Buffer.isBuffer(e),represent:Ed.represent??void 0}),CS=new Jt("tag:yaml.org,2002:str",{kind:"scalar",resolve:(e)=>typeof e==="string"&&e.includes(":"),construct:(e)=>e}),jS=Td.extend({implicit:[Xf("int"),Xf("float"),CS],explicit:[PS]});var eg=c.object({audiences:c.array(c.string()).optional(),positioning:c.string().optional()}),tg=c.object({summary:c.string().optional(),traits:c.array(c.string()).optional(),principles:c.array(c.string()).optional(),preferredTerms:c.array(c.string()).optional(),avoid:c.array(c.string()).optional()}),ng=c.object({artDirection:c.string().optional(),palette:c.array(c.string()).optional(),composition:c.string().optional(),mood:c.string().optional(),preferred:c.array(c.string()).optional(),avoid:c.array(c.string()).optional()}),US=c.object({name:c.string().describe("Style guide name"),messaging:eg.optional(),voice:tg.optional(),visual:ng.optional()});var LS=c.object({public:c.boolean(),preview:c.boolean()}),Bi=c.object({name:c.string().trim().min(1).max(200),url:c.string().url().optional()});var gI=c.object({sources:c.array(c.object({id:c.string(),title:c.string(),brain:Bi.optional()}))});var Rd="data-ask-sheet";var FS=`body *:not([${Rd}], [${Rd}] *) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }`;var Hn=c.discriminatedUnion("kind",[c.object({kind:c.literal("user"),userId:c.string().min(1),canonicalId:c.string().min(1).optional()}),c.object({kind:c.literal("external"),externalActorId:c.string().min(1)}),c.object({kind:c.literal("agent"),agentId:c.string().min(1)}),c.object({kind:c.literal("service"),serviceId:c.string().min(1)})]);function Gt(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>n!==void 0))}function Vi(e){if(Array.isArray(e))return e.map(Vi);if(!e||typeof e!=="object")return e;if(e instanceof Uint8Array)return e;return Object.fromEntries(Object.entries(e).filter(([,n])=>n!==void 0).map(([n,i])=>[n,Vi(i)]))}var MS=c.strictObject({messageCharacters:c.number().int().positive(),requestTimeoutSeconds:c.number().int().positive().max(2147483)}),_I=c.strictObject({limits:MS,maxCostMicroUsd:c.number().int().positive()}),Ht=c.number().int().nonnegative(),BS=c.strictObject({modelCalls:Ht,inputTokens:Ht,cachedInputTokens:Ht,outputTokens:Ht,reasoningTokens:Ht,embeddingTokens:Ht}),VS=c.discriminatedUnion("state",[c.strictObject({state:c.literal("known"),microUsd:c.number().int().nonnegative(),pricing:c.string().trim().min(1).max(120)}),c.strictObject({state:c.literal("unknown"),reason:c.enum(["missing-usage","unsupported-pricing"])})]),rg=c.strictObject({usage:BS,cost:VS}),xI=c.strictObject({topics:c.array(c.string().trim().min(1).max(500)).max(20),introduction:c.string().trim().min(1).max(4000).optional(),refusal:c.string().trim().min(1).max(500).optional()}),qS=c.enum(["in-scope","off-topic","abusive","injection","harmful"]),KS=qS.exclude(["in-scope"]),ig=c.discriminatedUnion("outcome",[c.strictObject({outcome:c.literal("answered")}),c.strictObject({outcome:c.literal("refused"),category:KS}),c.strictObject({outcome:c.literal("unscreened")})]);var og=c.object({id:c.string(),toolCallId:c.string().optional(),toolName:c.string(),summary:c.string(),completionSummary:c.string().optional(),preview:c.string().optional(),args:c.unknown()}),ag=c.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),cg=c.object({kind:c.literal("tool-approval"),id:c.string(),toolCallId:c.string().optional(),toolName:c.string(),input:c.record(c.string(),c.unknown()).optional(),summary:c.string(),completionSummary:c.string().optional(),preview:c.string().optional(),state:ag,output:c.unknown().optional(),error:c.string().optional()}),sg=c.object({entityType:c.string().optional(),entityId:c.string().optional(),attachmentType:c.string().optional()}),ug=c.object({mediaType:c.string().min(1),url:c.string().min(1),downloadUrl:c.string().min(1).optional(),previewUrl:c.string().min(1).optional(),filename:c.string().min(1).optional(),sizeBytes:c.number().nonnegative().optional(),source:sg.optional()}),lg=c.object({kind:c.literal("attachment"),id:c.string(),jobId:c.string().optional(),title:c.string(),description:c.string().optional(),attachment:ug}),Wt=c.object({id:c.string().min(1),title:c.string().min(1).optional(),source:c.string().min(1),url:c.string().min(1).optional(),entityType:c.string().min(1).optional(),entityId:c.string().min(1).optional(),excerpt:c.string().min(1).optional(),provenance:c.record(c.string(),c.unknown()).optional(),brain:Bi.optional()}),dg=c.object({kind:c.literal("sources"),id:c.string().min(1),title:c.string().min(1).optional(),sources:c.array(Wt).min(1)}),pg=c.object({type:c.literal("prompt"),id:c.string().min(1),label:c.string().min(1),prompt:c.string().min(1),description:c.string().min(1).optional()}),mg=c.object({type:c.literal("event"),id:c.string().min(1),label:c.string().min(1),event:c.string().min(1),fromState:c.string().min(1).optional(),description:c.string().min(1).optional()}),fg=c.discriminatedUnion("type",[pg,mg]),gg=c.object({kind:c.literal("actions"),id:c.string().min(1),title:c.string().min(1).optional(),defaultOpen:c.boolean().optional(),actions:c.array(fg).min(1)}),Pd=c.discriminatedUnion("kind",[cg,lg,dg,gg]),hg=c.object({toolName:c.string(),args:c.record(c.string(),c.unknown()).optional(),jobId:c.string().optional(),data:c.unknown().optional(),error:c.object({message:c.string(),code:c.string().optional()}).optional()}),yg=c.object({faqId:c.string().min(1)}),vg=c.object({text:c.string(),error:c.string().optional(),toolResults:c.array(hg).optional(),cards:c.array(Pd).optional(),pendingConfirmations:c.array(og).optional(),usage:c.object({promptTokens:c.number(),completionTokens:c.number(),totalTokens:c.number()}),guestSettlement:rg.optional(),guestScreening:ig.optional(),askedBefore:yg.optional()}),JS=c.looseObject({cards:c.array(c.unknown())});function GS(e){let n=JS.safeParse(e);if(!n.success)return e;return{...n.data,cards:n.data.cards.filter((i)=>Pd.safeParse(i).success)}}var Sg=c.preprocess((e)=>GS(Vi(e)),vg);function D(e){return Object.freeze({name:e.channel,schema:e.request,response:e.response,delivery:e.delivery})}var Cd=c.object({state:c.string(),response:c.string(),sources:c.array(Wt)}),HS=c.object({agent:c.string().trim().min(1).max(253),question:c.string().trim().min(1).max(4000)}),WS=D({channel:"a2a:ask:request",request:HS,response:Cd,delivery:"request"}),bg=c.object({entityType:c.string().optional(),entityId:c.string().optional(),actor:Hn.optional(),interfaceType:c.string().optional(),userPermissionLevel:c.enum(["admin","trusted","public"])}),YS=c.object({agent:c.string().trim().min(1).max(253),instruction:c.string().trim().min(1).max(2000),selection:c.string().min(1).max(8000),...bg.shape}),XS=D({channel:"a2a:call:request",request:YS,response:Cd,delivery:"request"}),QS=c.object({agents:c.array(c.object({id:c.string(),label:c.string()}))}),eb=D({channel:"a2a:call:agents",request:bg,response:QS,delivery:"request"});var tb=c.object({type:c.literal("event"),event:c.string().min(1),fromState:c.string().min(1).optional()}),_g=c.object({conversationId:c.string().min(1),interfaceType:c.string().min(1),channelId:c.string().min(1).optional(),channelName:c.string().min(1),userPermissionLevel:c.enum(["admin","trusted","public"]),isAnchor:c.boolean(),action:tb}),nb=Sg.nullable(),rb=D({channel:"agent:action:request",request:_g,response:nb,delivery:"request"});var xg=c.object({question:c.string().trim().min(1)}),ib=c.object({faqId:c.string().min(1),faqQuestion:c.string().min(1),answer:c.string().trim().min(1),sources:c.array(Wt).default([])}),$g=c.object({hit:ib.optional()}),ob=D({channel:"guest:asked-before",request:xg,response:$g,delivery:"collect"});var ab=c.enum(["admin","trusted","public"]),zg=c.object({conversationId:c.string().min(1),message:c.string(),interfaceType:c.string().min(1),channelId:c.string().optional(),channelName:c.string().optional(),userPermissionLevel:ab}),kg=c.object({id:c.string().min(1),source:c.string().min(1),title:c.string().optional(),content:c.string().min(1),provenance:c.record(c.string(),c.unknown()).optional()}),qI=c.object({items:c.array(kg).default([])}),cb=c.object({items:c.array(c.unknown()).default([]).transform((e)=>e.flatMap((n)=>{let i=kg.safeParse(n);return i.success?[i.data]:[]}))}),sb=D({channel:"agent:context:request",request:zg,response:cb,delivery:"collect"});var ub=c.strictObject({entityType:c.string().min(1),entityId:c.string().min(1)}),lb=c.strictObject({startedAt:c.string().datetime(),retrieved:c.array(ub).max(50)});var Ig=c.object({actor:Hn}),db=c.object({userId:c.string().min(1),personId:c.string().min(1),canonicalId:c.string().min(1).optional(),displayName:c.string().min(1),permissionLevel:c.enum(["admin","trusted","public"])}),Ag=c.object({principal:db.nullable()}),pb=D({channel:"auth:principal:resolve",request:Ig,response:Ag,delivery:"request"});var jd=c.strictObject({name:c.string().min(1).optional(),address:c.email()}),mb=c.strictObject({personId:c.string().min(1).max(200),displayName:c.string().trim().min(1).max(200),permissionLevel:c.enum(["admin","trusted","public"])}),Og=c.strictObject({messageId:c.string().min(1),sourceRef:c.string().min(1),threadId:c.string().min(1).optional(),from:jd,replyTo:jd.optional(),to:c.array(jd),subject:c.string(),receivedAt:c.iso.datetime(),text:c.string(),html:c.string().min(1).optional(),headers:c.strictObject({listUnsubscribe:c.string().min(1).optional(),autoSubmitted:c.string().min(1).optional(),precedence:c.string().min(1).optional(),inReplyTo:c.string().min(1).optional(),references:c.array(c.string().min(1)).optional()}),sender:mb.optional()}),fb=c.strictObject({}),gb=D({channel:"email:inbound",request:Og,response:fb,delivery:"request"});var hb=c.strictObject({permissionLevel:c.enum(["admin","trusted","public"])}),yb=c.custom((e)=>typeof AbortSignal<"u"&&e instanceof AbortSignal),wg=c.strictObject({sourceRef:c.string().regex(/^imap:[a-f0-9]{64}$/),actor:hb,signal:yb.optional()}),Nd=c.strictObject({name:c.string().trim().min(1).max(300).optional(),address:c.email().max(320)}),vb=c.strictObject({messageId:c.string().trim().min(1).max(2000),from:Nd,replyTo:Nd.optional(),to:c.array(Nd).max(100),subject:c.string().max(1000),receivedAt:c.iso.datetime(),text:c.string().max(1e5),inReplyTo:c.string().trim().min(1).max(2000).optional(),references:c.array(c.string().trim().min(1).max(2000)).max(100),truncated:c.boolean()}),Tg=c.discriminatedUnion("kind",[c.strictObject({kind:c.literal("available"),message:vb}),c.strictObject({kind:c.literal("unavailable")})]),Sb=D({channel:"email:source-read",request:wg,response:Tg,delivery:"request"});var bb=c.object({url:c.string(),authToken:c.string().optional()});var _b=c.object({success:c.boolean(),entityId:c.string().optional(),error:c.string().optional()});function Ud(e,n){if(e instanceof Error)return e.message;return n??String(e)}var Zg=c.enum(["no_handler","handler_failed","invalid_input","invalid_response","unauthenticated","permission_denied","not_found","conflict","cancelled","deadline_exceeded"]),Eg=1024,xb=c.object({code:Zg,message:c.string().max(Eg)});var qi=c.lazy(()=>c.union([c.null(),c.boolean(),c.number().finite().refine((e)=>!Number.isInteger(e)||Number.isSafeInteger(e),{message:"integer exceeds the JSON-safe range"}),c.string(),c.array(qi),c.record(c.string(),qi)])),Dd=c.record(c.string(),qi);var $b=c.enum(["user","assistant"]);var zb=c.object({entityType:c.string().min(1),entityId:c.string().min(1),contentHash:c.string().min(1).optional()}),kb=c.object({rootJobId:c.string().min(1),causationId:c.string().min(1),projectionId:c.string().min(1).optional(),projectionLineage:c.array(c.string().min(1)),sourceEntity:zb.optional(),derivationDepth:c.number().int().nonnegative()}).superRefine((e,n)=>{if(e.derivationDepth!==e.projectionLineage.length)n.addIssue({code:"custom",path:["derivationDepth"],message:"Derivation depth must equal projection lineage length"});let i=e.projectionLineage.at(-1);if(e.projectionId!==i)n.addIssue({code:"custom",path:["projectionId"],message:"Current projection must equal the final projection lineage entry"})});var Ld=10,Rg=82,Fd=c.object({title:c.string().min(1).max(200),lines:c.array(c.string().min(1)).min(1).max(Ld),actions:c.array(c.object({label:c.string().min(1).max(80),value:c.string().min(1).max(Rg)})).max(Ld)}),Ib=Fd.extend({channelId:c.string().min(1),interfaceType:c.string().min(1),reactions:c.array(c.object({messageId:c.string().min(1),emoji:c.string().min(1)}))}),Ab=c.object({messageId:c.string().min(1)}),Ob=c.object({conversationId:c.string().min(1),noticeMessageId:c.string().min(1),value:c.string().min(1),by:c.string().min(1)}),wb=D({channel:"chat:space-notice",request:Ib,response:Ab,delivery:"request"}),Tb=Fd.nullable(),Zb=D({channel:"chat:space-notice-action",request:Ob,response:Tb,delivery:"collect"});function Ki(e,n){return Object.freeze({name:e,schema:n})}var ZA=c.object({name:c.string(),schema:c.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e))});var Md={completed:"publish:completed",failed:"publish:failed"},Eb=c.object({entityType:c.string().min(1),entityId:c.string().min(1),result:c.object({id:c.string(),url:c.string().optional()})}),Rb=c.object({entityType:c.string().min(1),entityId:c.string().min(1),error:c.string(),retryCount:c.number(),willRetry:c.boolean()}),Pb=Ki(Md.completed,Eb),Cb=Ki(Md.failed,Rb);var Pg=c.object({entityType:c.string().min(1),entityId:c.string(),metadata:c.record(c.string(),c.unknown()).default({}),content:c.string().default("")}),Cg=c.object({relativePath:c.string(),leaf:c.object({start:c.number().int().nonnegative(),end:c.number().int().nonnegative()}).nullable(),owner:c.object({entityType:c.string(),id:c.string()}).optional(),writable:c.boolean().optional()}),jb=D({channel:"sync:path:request",request:Pg,response:Cg,delivery:"request"});var Nb=c.strictObject({}),Ub=c.object({branch:c.string(),hasChanges:c.boolean(),ahead:c.number(),behind:c.number(),lastCommit:c.string().nullable(),remote:c.string().nullable()}),Db=c.object({syncPath:c.string(),isInitialized:c.boolean(),watchEnabled:c.boolean(),lastSync:c.string().nullable(),totalFiles:c.number(),byEntityType:c.record(c.string(),c.number()),git:Ub.nullable(),managementUrl:c.string().optional()}),Lb=D({channel:"sync:status:request",request:Nb,response:Db,delivery:"request"});var jg=c.strictObject({waveId:c.string().trim().min(1),sourceTypes:c.array(c.string().trim().min(1)),changedTargetTypes:c.array(c.string().trim().min(1))}),Fb=c.strictObject({}),Mb=D({channel:"projection:wave-ready",request:jg,response:Fb,delivery:"collect"});var Bb=c.strictObject({}),Vb=c.string(),qb=D({channel:"plugin:site-builder:head-scripts",request:Bb,response:Vb,delivery:"collect"});var Ug=".site-build-manifest.json",Kb=`/${Ug}`;function Ng(e){return typeof e==="function"}var Jb=c.object({outputDir:c.string(),environment:c.enum(["preview","production"]),routesBuilt:c.number(),siteConfig:c.object({title:c.string().optional(),description:c.string().optional(),url:c.string().optional(),copyright:c.string().optional(),themeMode:c.enum(["light","dark"]).optional()}),generateEntityUrl:c.custom(Ng),reportFailure:c.custom(Ng)}),Gb=D({channel:"site:build:staging",request:Jb,response:c.void(),delivery:"command"});var Hb=c.object({id:c.string().min(1),trigger:c.string().min(1),playbookId:c.string().min(1),once:c.boolean().default(!0),starterText:c.string().min(1),description:c.string().min(1).optional(),starterPrompt:c.string().min(1)}).strict(),Wb=c.object({registered:c.boolean(),id:c.string(),ignored:c.boolean().optional(),reason:c.string().optional()}),Yb=D({channel:"playbooks:register-lifecycle-starter",request:Hb,response:Wb,delivery:"request"});var Xb=c.object({id:c.string().min(1),markdown:c.string().min(1)}).strict(),Qb=c.object({created:c.boolean()}),e_=D({channel:"playbooks:seed",request:Xb,response:Qb,delivery:"request"});var Dg=["name","headline","industry","location","website","story"],Ji=c.enum(Dg),Bd=c.object({name:c.string().optional(),headline:c.string().optional(),industry:c.string().optional(),location:c.string().optional(),website:c.string().optional(),story:c.string().optional()}),Lg=c.enum(["fill","preserve","unchanged"]),Fg=c.object({field:Ji,current:c.string().nullable(),imported:c.string(),outcome:Lg}),t_=D({channel:"@brains/profile:import-preview",request:c.object({fields:Bd}),response:c.object({fields:c.array(Fg),changed:c.boolean(),revision:c.string()}),delivery:"request"}),n_=D({channel:"@brains/profile:import-apply",request:c.object({fields:Bd,revision:c.string()}),response:c.object({filled:c.array(Ji),kept:c.array(Ji)}),delivery:"request"});var r_=c.enum(["provider"]),i_=c.object({executionMode:r_.optional(),publishResultIdField:c.string().min(1).optional(),publishTimestampField:c.string().min(1).optional(),enabled:c.boolean().optional()}).strict();function o_(e){return typeof e==="object"&&e!==null&&"name"in e&&typeof e.name==="string"&&"publish"in e&&typeof e.publish==="function"}var a_=c.custom(o_),c_=c.object({entityType:c.string(),provider:a_.optional(),config:i_.optional()}),s_=D({channel:"publish:register",request:c_,response:c.void(),delivery:"command"}),u_=c.union([c.string().min(1),c.object({location:c.enum(["metadata","frontmatter"]),field:c.string().min(1)})]),Mg=c.object({entityType:c.string().min(1),attachmentType:c.string().min(1),mediaEntityType:c.enum(["image"]),targetEntityField:u_.optional(),requiredWhen:c.object({status:c.string().min(1).optional(),visibility:c.string().min(1).optional()}).optional(),autoGenerate:c.boolean().optional(),requiredForPublish:c.boolean().optional()}),l_=D({channel:"publish-assets:register",request:Mg,response:c.void(),delivery:"command"});var d_=c.object({entityType:c.string()}),p_=D({channel:"generate:execute",request:d_,response:c.void(),delivery:"command"}),m_=c.object({entityType:c.string(),entityId:c.string()}),f_=D({channel:"generate:report:success",request:m_,response:c.void(),delivery:"command"}),g_=c.object({entityType:c.string(),error:c.string()}),h_=D({channel:"generate:report:failure",request:g_,response:c.void(),delivery:"command"});var y_=c.object({message:c.string().describe("Natural language response to the query"),summary:c.string().optional().describe("Brief summary if applicable"),topics:c.array(c.string()).optional().describe("Related topics mentioned"),sources:c.array(c.object({id:c.string(),type:c.string(),excerpt:c.string().optional(),relevance:c.number().min(0).max(1).optional()})).optional().describe("Source entities used to answer the query"),metadata:c.record(c.string(),c.unknown()).optional()}).describe("defaultQueryResponse"),v_=c.object({message:c.string()}).describe("simpleTextResponse"),S_=c.object({success:c.boolean(),entityId:c.string().optional(),message:c.string()}).describe("createEntityResponse"),b_=c.object({success:c.boolean(),entityId:c.string(),changes:c.array(c.string()).optional(),message:c.string()}).describe("updateEntityResponse");var Bg=c.discriminatedUnion("type",[c.strictObject({type:c.literal("email"),address:c.email()})]),Vg=c.strictObject({recipient:Bg.optional(),title:c.string().min(1),body:c.string().min(1),html:c.string().min(1).optional(),sensitivity:c.enum(["normal","secret"]).default("normal"),idempotencyKey:c.string().trim().min(1).max(200).optional(),replyTo:c.email().optional()}),__=c.enum(["recipient-missing","transport-missing","delivery-failed"]),qg=c.string().regex(/^[a-z0-9_:.-]{1,80}$/u),Kg=c.discriminatedUnion("status",[c.strictObject({status:c.literal("sent"),deliveryId:c.string().optional()}),c.strictObject({status:c.literal("failed"),failure:__,transportCode:qg.optional()})]),x_=D({channel:"notifications:send",request:Vg,response:Kg,delivery:"request"});var $_=c.strictObject({}),Jg=c.strictObject({titles:c.array(c.string().trim().min(1).max(500)).max(20)}),z_=D({channel:"topics:public-titles",request:$_,response:Jg,delivery:"request"});var k_=c.strictObject({}),I_=c.strictObject({types:c.array(c.string().trim().min(1))}),A_=D({channel:"topics:source-types",request:k_,response:I_,delivery:"request"});var Gg=c.strictObject({id:c.string().regex(/^[a-z0-9][a-z0-9-]{0,79}$/),title:c.string().trim().min(1).max(200),body:c.string().trim().min(1).max(20000)}),Hg=c.strictObject({noteId:c.string(),created:c.boolean()}),O_=D({channel:"note:capture",request:Gg,response:Hg,delivery:"request"});var Yt=c.string().regex(/^[a-z][a-z0-9-]{0,63}$/),Wn=c.string().min(32).max(512),w_=c.strictObject({provider:Yt,brainState:Wn}),T_=c.strictObject({authorizationUrl:c.url({protocol:/^https?$/})}),Z_=c.strictObject({provider:Yt,grant:Wn}),E_=c.strictObject({provider:Yt,credential:Dd}),R_=c.union([c.strictObject({provider:Yt,state:Wn,grant:Wn}),c.strictObject({provider:Yt,state:Wn,error:c.enum(["provider_denied","authorization_incomplete","credential_exchange_failed"])})]);var P_=c.object({permissionLevel:c.enum(["public","trusted","admin"])}),C_=c.object({id:c.string().min(1),title:c.string().min(1),sub:c.string().optional(),href:c.string().min(1),primary:c.boolean().optional(),keywords:c.array(c.string()).optional()}),j_=c.array(C_),N_=D({channel:"console:jump-destinations",request:P_,response:j_,delivery:"collect"});var Gi=c.enum(["github","instagram","linkedin","podcast","email","website"]),U_=c.object({platform:Gi.describe("Social media platform"),url:c.string().describe("Profile or contact URL"),label:c.string().optional().describe("Optional display label")});function Hi(e){if(!e.type.includes(":"))throw Error(`Job contract type "${e.type}" must name its owner, as "owner:job"`);return Object.freeze({type:e.type,input:e.input})}var Wg=c.enum(["1:1","16:9","9:16","4:3","3:4"]),Yg=c.object({prompt:c.string(),title:c.string().optional(),aspectRatio:Wg.optional(),targetEntityType:c.string().optional(),targetEntityId:c.string().optional(),entityTitle:c.string().optional(),entityContent:c.string().optional()}),D_=Hi({type:"image:image-generate",input:Yg}),Xg=c.object({sourceEntityType:c.string().min(1),sourceEntityId:c.string().min(1),attachmentType:c.string().min(1),imageId:c.string().min(1),dedupKey:c.string().min(1).optional(),replace:c.boolean().optional(),targetEntityType:c.string().min(1).optional(),targetEntityId:c.string().min(1).optional(),targetImageField:c.enum(["coverImageId","ogImageId"]).optional()}),L_=Hi({type:"image:image-render-source",input:Xg});var F_=c.enum(["none","low","medium","high","xhigh","max"]);var M_=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,B_=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,He=c.string().regex(M_,"expected exact pinned version"),Qg=c.string().regex(B_,"expected lowercase handle slug"),ct=c.string().min(1),V_=c.string().startsWith("age1").min(1),q_="capability-bundles-v1",K_=c.enum(["core","media","automation","web","chat","site","publishing","federation","team"]),J_=["professional","team","organization"],G_=c.enum(J_),H_=["person","team","organization"],W_=c.enum(H_),eh=c.array(K_).min(1),Wi=c.array(c.string().min(1)),th=c.strictObject({brainVersion:He,bundleContract:c.literal(q_),bundles:eh,add:Wi.optional(),remove:Wi.optional(),githubOrg:c.string().min(1),contentRepoPrefix:c.string().min(1),domainSuffix:c.string().min(1),aiApiKey:ct,gitSyncToken:ct,contentRepoAdminToken:ct,agePublicKey:V_}).superRefine((e,n)=>{if(new Set(e.bundles).size!==e.bundles.length)n.addIssue({code:c.ZodIssueCode.custom,path:["bundles"],message:"canonical bundles must be unique"})}),nh=c.strictObject({members:c.array(Qg).min(1),brainVersionOverride:He.optional(),bundlesOverride:eh.optional(),addOverride:Wi.optional(),removeOverride:Wi.optional(),aiApiKeyOverride:ct.optional(),gitSyncTokenOverride:ct.optional()}).superRefine((e,n)=>{if(new Set(e.members).size!==e.members.length)n.addIssue({code:c.ZodIssueCode.custom,path:["members"],message:"cohort members must be unique"});if(e.bundlesOverride&&new Set(e.bundlesOverride).size!==e.bundlesOverride.length)n.addIssue({code:c.ZodIssueCode.custom,path:["bundlesOverride"],message:"canonical bundle overrides must be unique"})}),Y_=c.strictObject({platform:Gi,url:c.string().min(1),label:c.string().min(1).optional()}),X_=c.strictObject({name:c.string().min(1).optional(),description:c.string().min(1).optional(),website:c.string().min(1).optional(),email:c.string().min(1).optional(),story:c.string().min(1).optional(),socialLinks:c.array(Y_).optional()}),Q_=c.strictObject({delivery:c.literal("email"),email:c.string().email()}),ex=c.strictObject({enabled:c.boolean().optional(),endpoint:c.string().url().refine((e)=>new URL(e).protocol==="wss:",{message:"Jetstream endpoint must use wss"}).optional(),replayWindowSeconds:c.number().int().min(60).optional(),denyDids:c.array(c.string().startsWith("did:plc:")).optional(),denyDomains:c.array(c.string().min(1)).optional(),skillKeywords:c.array(c.string().min(1)).optional(),queueLimit:c.number().int().min(1).max(1e4).optional(),concurrency:c.number().int().min(1).max(32).optional(),perDidCooldownSeconds:c.number().int().nonnegative().optional(),fetchBudgetPerMinute:c.number().int().min(1).optional(),newAgentsPerHour:c.number().int().min(1).optional(),pendingCandidateCeiling:c.number().int().min(1).optional(),staleCandidateRetentionDays:c.number().int().min(1).optional(),requestTimeoutMs:c.number().int().min(100).optional(),maxResponseBytes:c.number().int().min(1024).optional(),maxRedirects:c.number().int().nonnegative().optional(),retryAttempts:c.number().int().min(1).optional(),heartbeatIntervalHours:c.number().min(1).optional()}),tx=c.strictObject({identifier:c.string().min(1),accountDid:c.string().min(1).optional(),lexiconAuthority:c.boolean().optional(),jetstream:ex.optional()}),nx=c.strictObject({package:c.string().min(1),version:He.optional(),theme:c.string().min(1).optional(),themeVersion:He.optional()}).superRefine((e,n)=>{let i=e.package.startsWith("@rizom/");if(i&&e.version===void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["version"],message:"external @rizom site packages require an exact version pin"});if(!i&&e.version!==void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["version"],message:"version is valid only for external @rizom site packages"});let o=e.theme?.startsWith("@rizom/")===!0;if(o&&e.themeVersion===void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["themeVersion"],message:"external @rizom themes require an exact version pin"});if(!o&&e.themeVersion!==void 0)n.addIssue({code:c.ZodIssueCode.custom,path:["themeVersion"],message:"themeVersion is valid only for external @rizom themes"})}),rx=c.strictObject({onboarding:c.boolean().optional()}),ix=c.record(c.string().min(1),c.record(c.string(),c.unknown())),rh=c.strictObject({handle:Qg,discord:c.strictObject({enabled:c.boolean(),anchorUserId:c.string().min(1).optional()}),aiApiKeyOverride:ct.optional(),gitSyncTokenOverride:ct.optional(),domainOverride:c.string().min(1).optional(),cloudflareZoneId:c.string().min(1).optional(),contentRepoOverride:c.string().min(1).optional(),profileKind:G_.optional(),anchorKind:W_.optional(),plugins:ix.optional(),spaces:c.array(c.string().min(1)).optional(),embeddingEnabled:c.boolean().optional(),topicExtractionEnabled:c.boolean().optional(),skillDerivationEnabled:c.boolean().optional(),swotDerivationEnabled:c.boolean().optional(),addOverride:c.array(c.string().min(1)).optional(),removeOverride:c.array(c.string().min(1)).optional(),siteOverride:nx.optional(),setup:Q_.optional(),atproto:tx.optional(),playbooks:rx.optional(),anchorProfile:X_.optional()});var ax=c.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$/),ah=c.string().regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/),ch=c.strictObject({name:c.literal("rover-pilot-runtime"),private:c.literal(!0),packageManager:c.literal("bun@1.4.0"),dependencies:c.record(ah,He),overrides:c.strictObject({"postcss-selector-parser":c.literal("7.1.6")})});function cx(e){return st("deploy","runtime",ax.parse(e.tag))}function sx(e){let n={"@rizom/brain":He.parse(e.brainVersion)};for(let i of[...e.sitePackages].sort()){let o=i.lastIndexOf("@"),t=ah.parse(i.slice(0,o)),r=He.parse(i.slice(o+1));if(n[t]!==void 0&&n[t]!==r)throw Error(`Conflicting runtime dependency pin: ${i}`);n[t]=r}return ch.parse({name:"rover-pilot-runtime",private:!0,packageManager:"bun@1.4.0",dependencies:n,overrides:{"postcss-selector-parser":"7.1.6"}})}async function sh(e){try{return await Vd(e),!0}catch(n){if(n instanceof Error&&"code"in n&&n.code==="ENOENT")return!1;throw n}}async function oh(e){if(!(await Vd(e)).isFile())throw Error(`Runtime lock input must be a regular file: ${e}`)}async function uh(e){if(!(await Vd(e)).isDirectory())throw Error(`Runtime lock input must be a directory: ${e}`)}async function ux(e){for(let n of["deploy",st("deploy","runtime")]){let i=st(e,n);if(await sh(i))await uh(i)}}async function lx(e,n){let i=st(e,"package.json"),o=st(e,"bun.lock");await oh(i),await oh(o);let t=ch.parse(JSON.parse(await ih(i,"utf8")));if(!ox(t,sx(n)))throw Error(`Runtime dependency manifest does not match ${n.tag}`);if(!(await ih(o,"utf8")).trim())throw Error(`Empty runtime dependency lock: ${o}`)}async function lh(e,n){await ux(e);let i=st(e,cx(n));if(await uh(i),await sh(st(i,".incomplete")))throw Error(`Incomplete runtime dependency lock: ${i}`);await lx(i,n)}import{access as px,readdir as mx,readFile as fx}from"fs/promises";import{basename as qd,join as Yn,relative as gx}from"path";function dh(e,n){if(!e.trim())return{ok:!1,error:"file is empty"};let i;try{i=Mi(e)}catch(t){return{ok:!1,error:Ud(t,"YAML parse error")}}if(!dx(i))return{ok:!1,error:"expected a YAML mapping (key: value pairs)"};if(!n)return{ok:!0,data:i};let o=n.safeParse(i);if(!o.success)return{ok:!1,error:`invalid field(s): ${o.error.issues.map((r)=>r.path.map(String).join(".")).join(", ")}`};return{ok:!0,data:o.data}}function dx(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}class ut extends Error{}async function mh(e,n={}){let[i,o,t]=await Promise.all([Kd(Yn(e,"pilot.yaml"),th),yx(e),vx(e)]),r=Sx(o,t),a=t.map((p)=>({id:p.id,members:[...p.data.members].sort(),...Gt({brainVersionOverride:p.data.brainVersionOverride,bundlesOverride:p.data.bundlesOverride,addOverride:p.data.addOverride,removeOverride:p.data.removeOverride,aiApiKeyOverride:p.data.aiApiKeyOverride,gitSyncTokenOverride:p.data.gitSyncTokenOverride})})).sort((p,l)=>p.id.localeCompare(l.id)),u=await Promise.all(o.map(async(p)=>{let l=r.get(p.data.handle);if(!l)throw new ut(`User ${p.data.handle} must belong to exactly one cohort`);let m={...hx(p.data,l,i),snapshotStatus:await xx(e,p.data.handle)},f=await n.resolveStatus?.(m);return{...m,serverStatus:f?.serverStatus??"unknown",deployStatus:f?.deployStatus??"unknown",dnsStatus:f?.dnsStatus??"unknown",mcpStatus:f?.mcpStatus??"unknown"}}));return u.sort((p,l)=>p.handle.localeCompare(l.handle)),{pilot:i,cohorts:a,users:u}}function hx(e,n,i){let o=n.data.bundlesOverride===void 0;return{handle:e.handle,cohort:n.id,brainVersion:n.data.brainVersionOverride??i.brainVersion,bundleContract:i.bundleContract,bundles:[...n.data.bundlesOverride??i.bundles],add:ph(n.data.addOverride??(o?i.add:void 0),e.addOverride),remove:ph(n.data.removeOverride??(o?i.remove:void 0),e.removeOverride),domain:e.domainOverride??`${e.handle}${i.domainSuffix}`,...Gt({cloudflareZoneId:e.cloudflareZoneId}),contentRepo:e.contentRepoOverride??`${i.contentRepoPrefix}${e.handle}-content`,...Gt({profileKind:e.profileKind,anchorKind:e.anchorKind,embeddingEnabled:e.embeddingEnabled,spaces:e.spaces,plugins:e.plugins,topicExtractionEnabled:e.topicExtractionEnabled,skillDerivationEnabled:e.skillDerivationEnabled,swotDerivationEnabled:e.swotDerivationEnabled,siteOverride:e.siteOverride&&{...e.siteOverride}}),discordEnabled:e.discord.enabled,...Gt({discordAnchorUserId:e.discord.anchorUserId}),effectiveAiApiKey:e.aiApiKeyOverride??n.data.aiApiKeyOverride??i.aiApiKey,effectiveGitSyncToken:e.gitSyncTokenOverride??n.data.gitSyncTokenOverride??i.gitSyncToken,...Gt({setup:e.setup,atproto:e.atproto,playbooks:e.playbooks}),anchorProfile:bx(e.handle,e.anchorProfile)}}function ph(e,n){return $x([...e??[],...n??[]])}async function yx(e){let n=Yn(e,"users"),i=(await fh(n)).filter((t)=>!qd(t).endsWith(".secrets.yaml"));return(await Promise.all(i.map(async(t)=>{let r=gh(qd(t)),a=await Kd(t,rh);if(a.handle!==r){let u=hh(gx(e,t));throw new ut(`${u} must declare handle: ${r}`)}return{id:r,data:a}}))).sort((t,r)=>t.id.localeCompare(r.id))}async function vx(e){let n=Yn(e,"cohorts"),i=await fh(n);return(await Promise.all(i.map(async(t)=>({id:gh(qd(t)),data:await Kd(t,nh)})))).sort((t,r)=>t.id.localeCompare(r.id))}function Sx(e,n){let i=new Map(e.map((t)=>[t.data.handle,t])),o=new Map;for(let t of n)for(let r of t.data.members){if(!i.has(r))throw new ut(`Cohort ${t.id} references unknown user ${r}`);if(o.has(r))throw new ut(`User ${r} must belong to exactly one cohort`);o.set(r,t)}for(let t of e)if(!o.has(t.data.handle))throw new ut(`User ${t.data.handle} must belong to exactly one cohort`);return o}function bx(e,n){return{name:n?.name??_x(e),...n?.description?{description:n.description}:{},...n?.website?{website:n.website}:{},...n?.email?{email:n.email}:{},...n?.story?{story:n.story}:{},...n?.socialLinks?{socialLinks:n.socialLinks.map((i)=>({platform:i.platform,url:i.url,...i.label?{label:i.label}:{}}))}:{}}}function _x(e){return e.split("-").filter((n)=>n.length>0).map((n)=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}async function xx(e,n){let i=Yn(e,"users",n,"brain.yaml");try{return await px(i),"present"}catch{return"missing"}}async function fh(e){return(await mx(e,{withFileTypes:!0})).filter((i)=>i.isFile()&&i.name.endsWith(".yaml")).map((i)=>Yn(e,i.name)).sort((i,o)=>i.localeCompare(o))}async function Kd(e,n){let i=await fx(e,"utf8"),o=dh(i,n);if(!o.ok)throw new ut(`${hh(e)}: ${o.error}`);return o.data}function $x(e){return[...new Set(e)]}function gh(e){return e.replace(/\.ya?ml$/,"")}function hh(e){return e.replaceAll("\\","/")}var kx=128;function Jd(e,n=[]){let i=`brain-${e}`,o=[...new Set(n)].sort();if(o.length===0)return i;let t=`${i}--${o.map((u)=>u.replace(/^@/,"").replace("/","-").replace(/@(?=[^@]*$)/,"-")).join("--")}`,a=`--s${zx("sha256").update(JSON.stringify([e,...o])).digest("hex").slice(0,12)}`;return`${t.length+a.length<=kx?t:i}${a}`}function vh(e){if(!e)return[];return[yh(e.package,e.version),yh(e.theme,e.themeVersion)].filter((n)=>n!==void 0)}function yh(e,n){if(!e?.startsWith("@rizom/"))return;if(n===void 0)throw Error(`Package ${e} has no explicit version pin`);return`${e}@${n}`}function Sh(e){let n=new Map;for(let i of e){let o=[...new Set(vh(i.siteOverride))].sort(),t=Jd(i.brainVersion,o),r=n.get(t);if(r&&(r.brainVersion!==i.brainVersion||!Bun.deepEquals(r.sitePackages,o)))throw Error(`Image tag collision for distinct runtime requirements: ${t}`);n.set(t,{tag:t,brainVersion:i.brainVersion,sitePackages:o})}return[...n.values()].sort((i,o)=>i.tag.localeCompare(o.tag))}function Ix(e,n){let i=new Map;for(let o of[...e,...n]){let t=o.lastIndexOf("@"),r=t>0?o.slice(0,t):o,a=i.get(r);if(a&&a!==o)throw Error(`Fleet shared images have conflicting pins for ${r}: ${a} and ${o}`);i.set(r,o)}return[...i.values()].sort()}async function bh(e){let n=e.brainVersionInput?.trim()??"";if(n){let o=Ix([],(e.sitePackagesInput??"").split(/\s+/).filter(Boolean)),t=Jd(n,o);if(!e.allowTagOverwrite&&await e.imageExists(t))throw Error(`Image tag ${t} already exists; published tags are immutable. Pick a new version, or pass overwrite=true only when replacing a tag whose containers were never deployed.`);return[{tag:t,brainVersion:n,sitePackages:o}]}let i=[];for(let o of Sh(e.users))if(!await e.imageExists(o.tag))i.push(o);else await e.verifyImage(o);return i}async function Ax(e,n,i){try{return await e("docker",["manifest","inspect",`${n}:${i}`]),!0}catch(o){if(o instanceof Error&&/exited with code/.test(o.message))return!1;throw o}}async function Ox(e){let n=e.env??process.env,i=e.runCommand??un,o=e.log??console.log,t=n.BRAIN_VERSION_INPUT?.trim()??"",r=n.SITE_PACKAGES_INPUT?.trim()??"",a=n.ALLOW_TAG_OVERWRITE?.trim()==="true",{users:u}=await mh(e.rootDir),p=await bh({users:u,brainVersionInput:t,sitePackagesInput:r,allowTagOverwrite:a,imageExists:(l)=>Ax(i,e.imageRepository,l),verifyImage:(l)=>ao(e.imageRepository,l,i)});for(let l of p){try{await lh(e.rootDir,l)}catch(m){throw Error(`Missing or invalid runtime lock for ${l.tag}; run brains-ops images:lock and commit its reviewed package.json and bun.lock before building.`,{cause:m})}o(`build needed: ${l.tag} (brain ${l.brainVersion}${l.sitePackages.length>0?`, sites ${l.sitePackages.join(" ")}`:""})`)}if(p.length===0)o("All declared images already exist; nothing to build.");return e.writeOutput("images_json",JSON.stringify(p.map((l)=>({tag:l.tag,brain_version:l.brainVersion,site_packages:l.sitePackages.join(" ")})))),p}export{Yd as parseEnvFile,oo as parseEnvSchema,Hd as parseEnvSchemaFile,Wd as readJsonResponse,Xd as requireEnv,Sh as requiredImages,bh as resolveImageBuilds,Ox as runResolveMissingImages,Jd as runtimeImageTag,vh as sitePackagesFor,ao as verifyRuntimeImage,ep as writeGitHubEnv,Qd as writeGitHubOutput};
|