@rizom/ops 0.2.0-alpha.653 → 0.2.0-alpha.654

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