@rizom/ops 0.2.0-alpha.656 → 0.2.0-alpha.657

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 eo(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 to(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 no(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 s(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,!s(d,S,!1))s(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(no(d,y,d.dump,w),F)d.dump="&ref_"+L+d.dump}else if(to(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(eo(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 Xi(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 Ad.dump=_,Ad}var Rf;function QS(){if(Rf)return se;Rf=1;let e=YS(),n=XS();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=Pf(),se.FAILSAFE_SCHEMA=Uf(),se.JSON_SCHEMA=Ff(),se.CORE_SCHEMA=Vf(),se.DEFAULT_SCHEMA=Td(),se.load=e.load,se.loadAll=e.loadAll,se.dump=n.dump,se.YAMLException=Jn(),se.types={binary:Jf(),float:Bf(),map:jf(),null:Df(),pairs:Hf(),set:Wf(),timestamp:qf(),bool:Lf(),int:Mf(),merge:Kf(),omap:Gf(),seq:Cf(),str:Nf()},se.safeLoad=i("safeLoad","load"),se.safeLoadAll=i("safeLoadAll","loadAll"),se.safeDump=i("safeDump","dump"),se}var eb=QS(),Yf=HS(eb),{Type:Jt,Schema:tb,FAILSAFE_SCHEMA:nb,JSON_SCHEMA:rb,CORE_SCHEMA:ib,DEFAULT_SCHEMA:Od,load:Bi,loadAll:ob,dump:wd,YAMLException:ab,types:cb,safeLoad:sb,safeLoadAll:ub,safeDump:lb}=Yf;function Xf(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var db=/^[+-]?(?: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)+)$/,pb=/^(?:[-+]?(?:0|[1-9][\d_]*)(?:\.[\d_]*)?(?:[eE][-+]?\d+)?|\.[\d_]+(?:[eE][-+]?\d+)?|[-+]?\d[\d_]*(?::[0-5]?\d)+\.[\d_]*|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/;function eg(e){let n=Reflect.get(Gn,"types"),i=Xf(n)?n[e]:void 0;if(!(i instanceof Jt))throw Error(`Required YAML type is unavailable: ${e}`);return i}function mb(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 Qf(e){let n=eg(e);return new Jt(`tag:yaml.org,2002:${e}`,{kind:"scalar",resolve:(i)=>typeof i==="string"&&(e==="int"?db:pb).test(i)&&!i.endsWith("_"),construct:(i)=>{let o=i.replace(/_/g,""),t=o.startsWith("-")?-1:1,r=o.replace(/^[+-]/,"");if(r.includes(":"))return t*mb(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=eg("binary"),fb=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}),gb=new Jt("tag:yaml.org,2002:str",{kind:"scalar",resolve:(e)=>typeof e==="string"&&e.includes(":"),construct:(e)=>e}),hb=Od.extend({implicit:[Qf("int"),Qf("float"),gb],explicit:[fb]});var vb=c.object({public:c.boolean(),preview:c.boolean()}),Fi=c.object({name:c.string().trim().min(1).max(200),url:c.string().url().optional()});var Sb=c.object({sources:c.array(c.object({id:c.string(),title:c.string(),brain:Fi.optional()}))});var Zd="data-ask-sheet";var bb=`body *:not([${Zd}], [${Zd}] *) { -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 _b=c.strictObject({messageCharacters:c.number().int().positive(),requestTimeoutSeconds:c.number().int().positive().max(2147483)}),ck=c.strictObject({limits:_b,maxCostMicroUsd:c.number().int().positive()}),Ht=c.number().int().nonnegative(),xb=c.strictObject({modelCalls:Ht,inputTokens:Ht,cachedInputTokens:Ht,outputTokens:Ht,reasoningTokens:Ht,embeddingTokens:Ht}),$b=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"])})]),tg=c.strictObject({usage:xb,cost:$b}),sk=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()}),zb=c.enum(["in-scope","off-topic","abusive","injection","harmful"]),Ib=zb.exclude(["in-scope"]),ng=c.discriminatedUnion("outcome",[c.strictObject({outcome:c.literal("answered")}),c.strictObject({outcome:c.literal("refused"),category:Ib}),c.strictObject({outcome:c.literal("unscreened")})]);var rg=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()}),ig=c.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),og=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:ig,output:c.unknown().optional(),error:c.string().optional()}),ag=c.object({entityType:c.string().optional(),entityId:c.string().optional(),attachmentType:c.string().optional()}),cg=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:ag.optional()}),sg=c.object({kind:c.literal("attachment"),id:c.string(),jobId:c.string().optional(),title:c.string(),description:c.string().optional(),attachment:cg}),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:Fi.optional()}),ug=c.object({kind:c.literal("sources"),id:c.string().min(1),title:c.string().min(1).optional(),sources:c.array(Wt).min(1)}),lg=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()}),dg=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()}),pg=c.discriminatedUnion("type",[lg,dg]),mg=c.object({kind:c.literal("actions"),id:c.string().min(1),title:c.string().min(1).optional(),defaultOpen:c.boolean().optional(),actions:c.array(pg).min(1)}),Rd=c.discriminatedUnion("kind",[og,sg,ug,mg]),fg=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()}),gg=c.object({faqId:c.string().min(1)}),hg=c.object({text:c.string(),error:c.string().optional(),toolResults:c.array(fg).optional(),cards:c.array(Rd).optional(),pendingConfirmations:c.array(rg).optional(),usage:c.object({promptTokens:c.number(),completionTokens:c.number(),totalTokens:c.number()}),guestSettlement:tg.optional(),guestScreening:ng.optional(),askedBefore:gg.optional()}),kb=c.looseObject({cards:c.array(c.unknown())});function Ab(e){let n=kb.safeParse(e);if(!n.success)return e;return{...n.data,cards:n.data.cards.filter((i)=>Rd.safeParse(i).success)}}var Pd=c.preprocess((e)=>Ab(Vi(e)),hg);function M(e){return Object.freeze({name:e.channel,schema:e.request,response:e.response,delivery:e.delivery})}var Nd=c.object({state:c.string(),response:c.string(),sources:c.array(Wt)}),yg=c.object({agent:c.string().trim().min(1).max(253),question:c.string().trim().min(1).max(4000)}),Tb=M({channel:"a2a:ask:request",request:yg,response:Nd,delivery:"request"}),Cd=c.object({entityType:c.string().optional(),entityId:c.string().optional(),actor:Hn.optional(),interfaceType:c.string().optional(),userPermissionLevel:c.enum(["admin","trusted","public"])}),vg=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),...Cd.shape}),Ob=M({channel:"a2a:call:request",request:vg,response:Nd,delivery:"request"}),Sg=c.object({agents:c.array(c.object({id:c.string(),label:c.string()}))}),wb=M({channel:"a2a:call:agents",request:Cd,response:Sg,delivery:"request"});var bg=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:bg}),xg=Pd.nullable(),Eb=M({channel:"agent:action:request",request:_g,response:xg,delivery:"request"});var $g=c.object({question:c.string().trim().min(1)}),zg=c.object({faqId:c.string().min(1),faqQuestion:c.string().min(1),answer:c.string().trim().min(1),sources:c.array(Wt).default([])}),Ig=c.object({hit:zg.optional()}),Zb=M({channel:"guest:asked-before",request:$g,response:Ig,delivery:"collect"});var kg=c.enum(["admin","trusted","public"]),Ag=c.object({conversationId:c.string().min(1),message:c.string(),interfaceType:c.string().min(1),channelId:c.string().optional(),channelName:c.string().optional(),userPermissionLevel:kg}),jd=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()}),Rb=c.object({items:c.array(jd).default([])}),Tg=c.object({items:c.array(c.unknown()).default([]).transform((e)=>e.flatMap((n)=>{let i=jd.safeParse(n);return i.success?[i.data]:[]}))}),Pb=M({channel:"agent:context:request",request:Ag,response:Tg,delivery:"collect"});var Nb=c.strictObject({entityType:c.string().min(1),entityId:c.string().min(1)}),Cb=c.strictObject({startedAt:c.string().datetime(),retrieved:c.array(Nb).max(50)});var Og=c.object({actor:Hn}),wg=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"])}),Eg=c.object({principal:wg.nullable()}),jb=M({channel:"auth:principal:resolve",request:Og,response:Eg,delivery:"request"});var Ud=c.strictObject({name:c.string().min(1).optional(),address:c.email()}),Ub=c.strictObject({personId:c.string().min(1).max(200),displayName:c.string().trim().min(1).max(200),permissionLevel:c.enum(["admin","trusted","public"])}),Zg=c.strictObject({messageId:c.string().min(1),sourceRef:c.string().min(1),threadId:c.string().min(1).optional(),from:Ud,replyTo:Ud.optional(),to:c.array(Ud),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:Ub.optional()}),Rg=c.strictObject({}),Db=M({channel:"email:inbound",request:Zg,response:Rg,delivery:"request"});var Lb=c.strictObject({permissionLevel:c.enum(["admin","trusted","public"])}),Mb=c.custom((e)=>typeof AbortSignal<"u"&&e instanceof AbortSignal),Pg=c.strictObject({sourceRef:c.string().regex(/^imap:[a-f0-9]{64}$/),actor:Lb,signal:Mb.optional()}),Dd=c.strictObject({name:c.string().trim().min(1).max(300).optional(),address:c.email().max(320)}),Bb=c.strictObject({messageId:c.string().trim().min(1).max(2000),from:Dd,replyTo:Dd.optional(),to:c.array(Dd).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()}),Ng=c.discriminatedUnion("kind",[c.strictObject({kind:c.literal("available"),message:Bb}),c.strictObject({kind:c.literal("unavailable")})]),Fb=M({channel:"email:source-read",request:Pg,response:Ng,delivery:"request"});var Vb=c.object({url:c.string(),authToken:c.string().optional()});var qb=c.object({success:c.boolean(),entityId:c.string().optional(),error:c.string().optional()});function Ld(e,n){if(e instanceof Error)return e.message;return n??String(e)}var Cg=c.enum(["no_handler","handler_failed","invalid_input","invalid_response","unauthenticated","permission_denied","not_found","conflict","cancelled","deadline_exceeded"]),jg=1024,Kb=c.object({code:Cg,message:c.string().max(jg)});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)])),Md=c.record(c.string(),qi);var Jb=c.enum(["user","assistant"]);var Ug=c.object({entityType:c.string().min(1),entityId:c.string().min(1),contentHash:c.string().min(1).optional()}),Gb=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:Ug.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 Bd=10,Dg=82,Fd=c.object({title:c.string().min(1).max(200),lines:c.array(c.string().min(1)).min(1).max(Bd),actions:c.array(c.object({label:c.string().min(1).max(80),value:c.string().min(1).max(Dg)})).max(Bd)}),Lg=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)}))}),Mg=c.object({messageId:c.string().min(1)}),Bg=c.object({conversationId:c.string().min(1),noticeMessageId:c.string().min(1),value:c.string().min(1),by:c.string().min(1)}),Hb=M({channel:"chat:space-notice",request:Lg,response:Mg,delivery:"request"}),Fg=Fd.nullable(),Wb=M({channel:"chat:space-notice-action",request:Bg,response:Fg,delivery:"collect"});function Ki(e,n){return Object.freeze({name:e,schema:n})}var hA=c.object({name:c.string(),schema:c.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e))});var Vd={completed:"publish:completed",failed:"publish:failed"},Vg=c.object({entityType:c.string().min(1),entityId:c.string().min(1),result:c.object({id:c.string(),url:c.string().optional()})}),qg=c.object({entityType:c.string().min(1),entityId:c.string().min(1),error:c.string(),retryCount:c.number(),willRetry:c.boolean()}),Yb=Ki(Vd.completed,Vg),Xb=Ki(Vd.failed,qg);var Kg=c.object({entityType:c.string().min(1),entityId:c.string(),metadata:c.record(c.string(),c.unknown()).default({}),content:c.string().default("")}),Jg=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()}),Qb=M({channel:"sync:path:request",request:Kg,response:Jg,delivery:"request"});var Gg=c.strictObject({}),Hg=c.object({branch:c.string(),hasChanges:c.boolean(),ahead:c.number(),behind:c.number(),lastCommit:c.string().nullable(),remote:c.string().nullable()}),Wg=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:Hg.nullable(),managementUrl:c.string().optional()}),e_=M({channel:"sync:status:request",request:Gg,response:Wg,delivery:"request"});var Yg=c.strictObject({waveId:c.string().trim().min(1),sourceTypes:c.array(c.string().trim().min(1)),changedTargetTypes:c.array(c.string().trim().min(1))}),Xg=c.strictObject({}),t_=M({channel:"projection:wave-ready",request:Yg,response:Xg,delivery:"collect"});var Qg=c.object({audiences:c.array(c.string()).optional(),positioning:c.string().optional()}),eh=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()}),th=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()}),n_=c.object({name:c.string().describe("Style guide name"),messaging:Qg.optional(),voice:eh.optional(),visual:th.optional()});var nh=c.strictObject({}),rh=c.string(),r_=M({channel:"plugin:site-builder:head-scripts",request:nh,response:rh,delivery:"collect"});var oh=".site-build-manifest.json",i_=`/${oh}`;function ih(e){return typeof e==="function"}var ah=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(ih),reportFailure:c.custom(ih)}),o_=M({channel:"site:build:staging",request:ah,response:c.void(),delivery:"command"});var a_=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(),c_=c.object({registered:c.boolean(),id:c.string(),ignored:c.boolean().optional(),reason:c.string().optional()}),s_=M({channel:"playbooks:register-lifecycle-starter",request:a_,response:c_,delivery:"request"});var ch=c.enum(["provider"]),sh=c.object({executionMode:ch.optional(),publishResultIdField:c.string().min(1).optional(),publishTimestampField:c.string().min(1).optional(),enabled:c.boolean().optional()}).strict();function u_(e){return typeof e==="object"&&e!==null&&"name"in e&&typeof e.name==="string"&&"publish"in e&&typeof e.publish==="function"}var uh=c.custom(u_),lh=c.object({entityType:c.string(),provider:uh.optional(),config:sh.optional()}),l_=M({channel:"publish:register",request:lh,response:c.void(),delivery:"command"}),dh=c.union([c.string().min(1),c.object({location:c.enum(["metadata","frontmatter"]),field:c.string().min(1)})]),ph=c.object({entityType:c.string().min(1),attachmentType:c.string().min(1),mediaEntityType:c.enum(["image","document"]),targetEntityField:dh.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(),jobType:c.string().min(1).optional()}),d_=M({channel:"publish-assets:register",request:ph,response:c.void(),delivery:"command"});var mh=c.object({entityType:c.string()}),p_=M({channel:"generate:execute",request:mh,response:c.void(),delivery:"command"}),fh=c.object({entityType:c.string(),entityId:c.string()}),m_=M({channel:"generate:report:success",request:fh,response:c.void(),delivery:"command"}),gh=c.object({entityType:c.string(),error:c.string()}),f_=M({channel:"generate:report:failure",request:gh,response:c.void(),delivery:"command"});var g_=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"),h_=c.object({message:c.string()}).describe("simpleTextResponse"),y_=c.object({success:c.boolean(),entityId:c.string().optional(),message:c.string()}).describe("createEntityResponse"),v_=c.object({success:c.boolean(),entityId:c.string(),changes:c.array(c.string()).optional(),message:c.string()}).describe("updateEntityResponse");var hh=c.discriminatedUnion("type",[c.strictObject({type:c.literal("email"),address:c.email()})]),yh=c.strictObject({recipient:hh.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()}),vh=c.enum(["recipient-missing","transport-missing","delivery-failed"]),Sh=c.string().regex(/^[a-z0-9_:.-]{1,80}$/u),bh=c.discriminatedUnion("status",[c.strictObject({status:c.literal("sent"),deliveryId:c.string().optional()}),c.strictObject({status:c.literal("failed"),failure:vh,transportCode:Sh.optional()})]),S_=M({channel:"notifications:send",request:yh,response:bh,delivery:"request"});var _h=c.strictObject({}),xh=c.strictObject({titles:c.array(c.string().trim().min(1).max(500)).max(20)}),b_=M({channel:"topics:public-titles",request:_h,response:xh,delivery:"request"});var $h=c.strictObject({}),zh=c.strictObject({types:c.array(c.string().trim().min(1))}),__=M({channel:"topics:source-types",request:$h,response:zh,delivery:"request"});var Ih=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)}),kh=c.strictObject({noteId:c.string(),created:c.boolean()}),x_=M({channel:"note:capture",request:Ih,response:kh,delivery:"request"});var Yt=c.string().regex(/^[a-z][a-z0-9-]{0,63}$/),Wn=c.string().min(32).max(512),$_=c.strictObject({provider:Yt,brainState:Wn}),z_=c.strictObject({authorizationUrl:c.url({protocol:/^https?$/})}),I_=c.strictObject({provider:Yt,grant:Wn}),k_=c.strictObject({provider:Yt,credential:Md}),A_=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 Ah=c.object({permissionLevel:c.enum(["public","trusted","admin"])}),Th=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()}),Oh=c.array(Th),T_=M({channel:"console:jump-destinations",request:Ah,response:Oh,delivery:"collect"});var Ji=c.enum(["github","instagram","linkedin","podcast","email","website"]),O_=c.object({platform:Ji.describe("Social media platform"),url:c.string().describe("Profile or contact URL"),label:c.string().optional().describe("Optional display label")});function Gi(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 wh=c.enum(["1:1","16:9","9:16","4:3","3:4"]),Eh=c.object({prompt:c.string(),title:c.string().optional(),aspectRatio:wh.optional(),targetEntityType:c.string().optional(),targetEntityId:c.string().optional(),entityTitle:c.string().optional(),entityContent:c.string().optional()}),w_=Gi({type:"image:image-generate",input:Eh}),Zh=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()}),E_=Gi({type:"image:image-render-source",input:Zh});var Z_=c.enum(["none","low","medium","high","xhigh","max"]);var R_=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,P_=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,He=c.string().regex(R_,"expected exact pinned version"),Rh=c.string().regex(P_,"expected lowercase handle slug"),ct=c.string().min(1),N_=c.string().startsWith("age1").min(1),C_="capability-bundles-v1",j_=c.enum(["core","media","automation","web","chat","site","publishing","federation","team"]),U_=["professional","team","organization"],D_=c.enum(U_),L_=["person","team","organization"],M_=c.enum(L_),Ph=c.array(j_).min(1),Hi=c.array(c.string().min(1)),Nh=c.strictObject({brainVersion:He,bundleContract:c.literal(C_),bundles:Ph,add:Hi.optional(),remove:Hi.optional(),githubOrg:c.string().min(1),contentRepoPrefix:c.string().min(1),domainSuffix:c.string().min(1),aiApiKey:ct,gitSyncToken:ct,contentRepoAdminToken:ct,agePublicKey:N_}).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"})}),Ch=c.strictObject({members:c.array(Rh).min(1),brainVersionOverride:He.optional(),bundlesOverride:Ph.optional(),addOverride:Hi.optional(),removeOverride:Hi.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"})}),B_=c.strictObject({platform:Ji,url:c.string().min(1),label:c.string().min(1).optional()}),F_=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(B_).optional()}),V_=c.strictObject({delivery:c.literal("email"),email:c.string().email()}),q_=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()}),K_=c.strictObject({identifier:c.string().min(1),accountDid:c.string().min(1).optional(),lexiconAuthority:c.boolean().optional(),jetstream:q_.optional()}),J_=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"})}),G_=c.strictObject({onboarding:c.boolean().optional()}),H_=c.record(c.string().min(1),c.record(c.string(),c.unknown())),jh=c.strictObject({handle:Rh,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:D_.optional(),anchorKind:M_.optional(),plugins:H_.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:J_.optional(),setup:V_.optional(),atproto:K_.optional(),playbooks:G_.optional(),anchorProfile:F_.optional()});var Y_=c.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$/),Lh=c.string().regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/),Mh=c.strictObject({name:c.literal("rover-pilot-runtime"),private:c.literal(!0),packageManager:c.literal("bun@1.4.0"),dependencies:c.record(Lh,He),overrides:c.strictObject({"postcss-selector-parser":c.literal("7.1.6")})});function X_(e){return st("deploy","runtime",Y_.parse(e.tag))}function Q_(e){let n={"@rizom/brain":He.parse(e.brainVersion)};for(let i of[...e.sitePackages].sort()){let o=i.lastIndexOf("@"),t=Lh.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 Mh.parse({name:"rover-pilot-runtime",private:!0,packageManager:"bun@1.4.0",dependencies:n,overrides:{"postcss-selector-parser":"7.1.6"}})}async function Bh(e){try{return await qd(e),!0}catch(n){if(n instanceof Error&&"code"in n&&n.code==="ENOENT")return!1;throw n}}async function Dh(e){if(!(await qd(e)).isFile())throw Error(`Runtime lock input must be a regular file: ${e}`)}async function Fh(e){if(!(await qd(e)).isDirectory())throw Error(`Runtime lock input must be a directory: ${e}`)}async function ex(e){for(let n of["deploy",st("deploy","runtime")]){let i=st(e,n);if(await Bh(i))await Fh(i)}}async function tx(e,n){let i=st(e,"package.json"),o=st(e,"bun.lock");await Dh(i),await Dh(o);let t=Mh.parse(JSON.parse(await Uh(i,"utf8")));if(!W_(t,Q_(n)))throw Error(`Runtime dependency manifest does not match ${n.tag}`);if(!(await Uh(o,"utf8")).trim())throw Error(`Empty runtime dependency lock: ${o}`)}async function Vh(e,n){await ex(e);let i=st(e,X_(n));if(await Fh(i),await Bh(st(i,".incomplete")))throw Error(`Incomplete runtime dependency lock: ${i}`);await tx(i,n)}import{access as rx,readdir as ix,readFile as ox}from"fs/promises";import{basename as Kd,join as Yn,relative as ax}from"path";function qh(e,n){if(!e.trim())return{ok:!1,error:"file is empty"};let i;try{i=Bi(e)}catch(t){return{ok:!1,error:Ld(t,"YAML parse error")}}if(!nx(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 nx(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}class ut extends Error{}async function Jh(e,n={}){let[i,o,t]=await Promise.all([Jd(Yn(e,"pilot.yaml"),Nh),sx(e),ux(e)]),r=lx(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={...cx(p.data,l,i),snapshotStatus:await mx(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 cx(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:Kh(n.data.addOverride??(o?i.add:void 0),e.addOverride),remove:Kh(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:dx(e.handle,e.anchorProfile)}}function Kh(e,n){return fx([...e??[],...n??[]])}async function sx(e){let n=Yn(e,"users"),i=(await Gh(n)).filter((t)=>!Kd(t).endsWith(".secrets.yaml"));return(await Promise.all(i.map(async(t)=>{let r=Hh(Kd(t)),a=await Jd(t,jh);if(a.handle!==r){let u=Wh(ax(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 ux(e){let n=Yn(e,"cohorts"),i=await Gh(n);return(await Promise.all(i.map(async(t)=>({id:Hh(Kd(t)),data:await Jd(t,Ch)})))).sort((t,r)=>t.id.localeCompare(r.id))}function lx(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 dx(e,n){return{name:n?.name??px(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 px(e){return e.split("-").filter((n)=>n.length>0).map((n)=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}async function mx(e,n){let i=Yn(e,"users",n,"brain.yaml");try{return await rx(i),"present"}catch{return"missing"}}async function Gh(e){return(await ix(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 Jd(e,n){let i=await ox(e,"utf8"),o=qh(i,n);if(!o.ok)throw new ut(`${Wh(e)}: ${o.error}`);return o.data}function fx(e){return[...new Set(e)]}function Hh(e){return e.replace(/\.ya?ml$/,"")}function Wh(e){return e.replaceAll("\\","/")}var hx=128;function Gd(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${gx("sha256").update(JSON.stringify([e,...o])).digest("hex").slice(0,12)}`;return`${t.length+a.length<=hx?t:i}${a}`}function Xh(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 Qh(e){let n=new Map;for(let i of e){let o=[...new Set(Xh(i.siteOverride))].sort(),t=Gd(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 yx(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 ey(e){let n=e.brainVersionInput?.trim()??"";if(n){let o=yx([],(e.sitePackagesInput??"").split(/\s+/).filter(Boolean)),t=Gd(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 Qh(e.users))if(!await e.imageExists(o.tag))i.push(o);else await e.verifyImage(o);return i}async function vx(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 Sx(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 Jh(e.rootDir),p=await ey({users:u,brainVersionInput:t,sitePackagesInput:r,allowTagOverwrite:a,imageExists:(l)=>vx(i,e.imageRepository,l),verifyImage:(l)=>oo(e.imageRepository,l,i)});for(let l of p){try{await Vh(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{Xd as parseEnvFile,io as parseEnvSchema,Wd as parseEnvSchemaFile,Yd as readJsonResponse,Qd as requireEnv,Qh as requiredImages,ey as resolveImageBuilds,Sx as runResolveMissingImages,Gd as runtimeImageTag,Xh as sitePackagesFor,oo as verifyRuntimeImage,tp as writeGitHubEnv,ep as writeGitHubOutput};
115
+ `;return""}return Ad.dump=_,Ad}var Rf;function QS(){if(Rf)return se;Rf=1;let e=YS(),n=XS();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=Pf(),se.FAILSAFE_SCHEMA=Uf(),se.JSON_SCHEMA=Ff(),se.CORE_SCHEMA=Vf(),se.DEFAULT_SCHEMA=Td(),se.load=e.load,se.loadAll=e.loadAll,se.dump=n.dump,se.YAMLException=Jn(),se.types={binary:Jf(),float:Bf(),map:jf(),null:Df(),pairs:Hf(),set:Wf(),timestamp:qf(),bool:Lf(),int:Mf(),merge:Kf(),omap:Gf(),seq:Cf(),str:Nf()},se.safeLoad=i("safeLoad","load"),se.safeLoadAll=i("safeLoadAll","loadAll"),se.safeDump=i("safeDump","dump"),se}var eb=QS(),Yf=HS(eb),{Type:Jt,Schema:tb,FAILSAFE_SCHEMA:nb,JSON_SCHEMA:rb,CORE_SCHEMA:ib,DEFAULT_SCHEMA:Od,load:Bi,loadAll:ob,dump:wd,YAMLException:ab,types:cb,safeLoad:sb,safeLoadAll:ub,safeDump:lb}=Yf;function Xf(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var db=/^[+-]?(?: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)+)$/,pb=/^(?:[-+]?(?:0|[1-9][\d_]*)(?:\.[\d_]*)?(?:[eE][-+]?\d+)?|\.[\d_]+(?:[eE][-+]?\d+)?|[-+]?\d[\d_]*(?::[0-5]?\d)+\.[\d_]*|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/;function eg(e){let n=Reflect.get(Gn,"types"),i=Xf(n)?n[e]:void 0;if(!(i instanceof Jt))throw Error(`Required YAML type is unavailable: ${e}`);return i}function mb(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 Qf(e){let n=eg(e);return new Jt(`tag:yaml.org,2002:${e}`,{kind:"scalar",resolve:(i)=>typeof i==="string"&&(e==="int"?db:pb).test(i)&&!i.endsWith("_"),construct:(i)=>{let o=i.replace(/_/g,""),t=o.startsWith("-")?-1:1,r=o.replace(/^[+-]/,"");if(r.includes(":"))return t*mb(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=eg("binary"),fb=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}),gb=new Jt("tag:yaml.org,2002:str",{kind:"scalar",resolve:(e)=>typeof e==="string"&&e.includes(":"),construct:(e)=>e}),hb=Od.extend({implicit:[Qf("int"),Qf("float"),gb],explicit:[fb]});var vb=c.object({public:c.boolean(),preview:c.boolean()}),Fi=c.object({name:c.string().trim().min(1).max(200),url:c.string().url().optional()});var Sb=c.object({sources:c.array(c.object({id:c.string(),title:c.string(),brain:Fi.optional()}))});var Zd="data-ask-sheet";var bb=`body *:not([${Zd}], [${Zd}] *) { -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 _b=c.strictObject({messageCharacters:c.number().int().positive(),requestTimeoutSeconds:c.number().int().positive().max(2147483)}),ck=c.strictObject({limits:_b,maxCostMicroUsd:c.number().int().positive()}),Ht=c.number().int().nonnegative(),xb=c.strictObject({modelCalls:Ht,inputTokens:Ht,cachedInputTokens:Ht,outputTokens:Ht,reasoningTokens:Ht,embeddingTokens:Ht}),$b=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"])})]),tg=c.strictObject({usage:xb,cost:$b}),sk=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()}),zb=c.enum(["in-scope","off-topic","abusive","injection","harmful"]),Ib=zb.exclude(["in-scope"]),ng=c.discriminatedUnion("outcome",[c.strictObject({outcome:c.literal("answered")}),c.strictObject({outcome:c.literal("refused"),category:Ib}),c.strictObject({outcome:c.literal("unscreened")})]);var rg=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()}),ig=c.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),og=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:ig,output:c.unknown().optional(),error:c.string().optional()}),ag=c.object({entityType:c.string().optional(),entityId:c.string().optional(),attachmentType:c.string().optional()}),cg=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:ag.optional()}),sg=c.object({kind:c.literal("attachment"),id:c.string(),jobId:c.string().optional(),title:c.string(),description:c.string().optional(),attachment:cg}),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:Fi.optional()}),ug=c.object({kind:c.literal("sources"),id:c.string().min(1),title:c.string().min(1).optional(),sources:c.array(Wt).min(1)}),lg=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()}),dg=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()}),pg=c.discriminatedUnion("type",[lg,dg]),mg=c.object({kind:c.literal("actions"),id:c.string().min(1),title:c.string().min(1).optional(),defaultOpen:c.boolean().optional(),actions:c.array(pg).min(1)}),Rd=c.discriminatedUnion("kind",[og,sg,ug,mg]),fg=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()}),gg=c.object({faqId:c.string().min(1)}),hg=c.object({text:c.string(),error:c.string().optional(),toolResults:c.array(fg).optional(),cards:c.array(Rd).optional(),pendingConfirmations:c.array(rg).optional(),usage:c.object({promptTokens:c.number(),completionTokens:c.number(),totalTokens:c.number()}),guestSettlement:tg.optional(),guestScreening:ng.optional(),askedBefore:gg.optional()}),kb=c.looseObject({cards:c.array(c.unknown())});function Ab(e){let n=kb.safeParse(e);if(!n.success)return e;return{...n.data,cards:n.data.cards.filter((i)=>Rd.safeParse(i).success)}}var Pd=c.preprocess((e)=>Ab(Vi(e)),hg);function M(e){return Object.freeze({name:e.channel,schema:e.request,response:e.response,delivery:e.delivery})}var Nd=c.object({state:c.string(),response:c.string(),sources:c.array(Wt)}),yg=c.object({agent:c.string().trim().min(1).max(253),question:c.string().trim().min(1).max(4000)}),Tb=M({channel:"a2a:ask:request",request:yg,response:Nd,delivery:"request"}),Cd=c.object({entityType:c.string().optional(),entityId:c.string().optional(),actor:Hn.optional(),interfaceType:c.string().optional(),userPermissionLevel:c.enum(["admin","trusted","public"])}),vg=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),...Cd.shape}),Ob=M({channel:"a2a:call:request",request:vg,response:Nd,delivery:"request"}),Sg=c.object({agents:c.array(c.object({id:c.string(),label:c.string()}))}),wb=M({channel:"a2a:call:agents",request:Cd,response:Sg,delivery:"request"});var bg=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:bg}),xg=Pd.nullable(),Eb=M({channel:"agent:action:request",request:_g,response:xg,delivery:"request"});var $g=c.object({question:c.string().trim().min(1)}),zg=c.object({faqId:c.string().min(1),faqQuestion:c.string().min(1),answer:c.string().trim().min(1),sources:c.array(Wt).default([])}),Ig=c.object({hit:zg.optional()}),Zb=M({channel:"guest:asked-before",request:$g,response:Ig,delivery:"collect"});var kg=c.enum(["admin","trusted","public"]),Ag=c.object({conversationId:c.string().min(1),message:c.string(),interfaceType:c.string().min(1),channelId:c.string().optional(),channelName:c.string().optional(),userPermissionLevel:kg}),jd=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()}),Rb=c.object({items:c.array(jd).default([])}),Tg=c.object({items:c.array(c.unknown()).default([]).transform((e)=>e.flatMap((n)=>{let i=jd.safeParse(n);return i.success?[i.data]:[]}))}),Pb=M({channel:"agent:context:request",request:Ag,response:Tg,delivery:"collect"});var Nb=c.strictObject({entityType:c.string().min(1),entityId:c.string().min(1)}),Cb=c.strictObject({startedAt:c.string().datetime(),retrieved:c.array(Nb).max(50)});var Og=c.object({actor:Hn}),wg=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"])}),Eg=c.object({principal:wg.nullable()}),jb=M({channel:"auth:principal:resolve",request:Og,response:Eg,delivery:"request"});var Ud=c.strictObject({name:c.string().min(1).optional(),address:c.email()}),Ub=c.strictObject({personId:c.string().min(1).max(200),displayName:c.string().trim().min(1).max(200),permissionLevel:c.enum(["admin","trusted","public"])}),Zg=c.strictObject({messageId:c.string().min(1),sourceRef:c.string().min(1),threadId:c.string().min(1).optional(),from:Ud,replyTo:Ud.optional(),to:c.array(Ud),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:Ub.optional()}),Rg=c.strictObject({}),Db=M({channel:"email:inbound",request:Zg,response:Rg,delivery:"request"});var Lb=c.strictObject({permissionLevel:c.enum(["admin","trusted","public"])}),Mb=c.custom((e)=>typeof AbortSignal<"u"&&e instanceof AbortSignal),Pg=c.strictObject({sourceRef:c.string().regex(/^imap:[a-f0-9]{64}$/),actor:Lb,signal:Mb.optional()}),Dd=c.strictObject({name:c.string().trim().min(1).max(300).optional(),address:c.email().max(320)}),Bb=c.strictObject({messageId:c.string().trim().min(1).max(2000),from:Dd,replyTo:Dd.optional(),to:c.array(Dd).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()}),Ng=c.discriminatedUnion("kind",[c.strictObject({kind:c.literal("available"),message:Bb}),c.strictObject({kind:c.literal("unavailable")})]),Fb=M({channel:"email:source-read",request:Pg,response:Ng,delivery:"request"});var Vb=c.object({url:c.string(),authToken:c.string().optional()});var qb=c.object({success:c.boolean(),entityId:c.string().optional(),error:c.string().optional()});function Ld(e,n){if(e instanceof Error)return e.message;return n??String(e)}var Cg=c.enum(["no_handler","handler_failed","invalid_input","invalid_response","unauthenticated","permission_denied","not_found","conflict","cancelled","deadline_exceeded"]),jg=1024,Kb=c.object({code:Cg,message:c.string().max(jg)});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)])),Md=c.record(c.string(),qi);var Jb=c.enum(["user","assistant"]);var Ug=c.object({entityType:c.string().min(1),entityId:c.string().min(1),contentHash:c.string().min(1).optional()}),Gb=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:Ug.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 Bd=10,Dg=82,Fd=c.object({title:c.string().min(1).max(200),lines:c.array(c.string().min(1)).min(1).max(Bd),actions:c.array(c.object({label:c.string().min(1).max(80),value:c.string().min(1).max(Dg)})).max(Bd)}),Lg=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)}))}),Mg=c.object({messageId:c.string().min(1)}),Bg=c.object({conversationId:c.string().min(1),noticeMessageId:c.string().min(1),value:c.string().min(1),by:c.string().min(1)}),Hb=M({channel:"chat:space-notice",request:Lg,response:Mg,delivery:"request"}),Fg=Fd.nullable(),Wb=M({channel:"chat:space-notice-action",request:Bg,response:Fg,delivery:"collect"});function Ki(e,n){return Object.freeze({name:e,schema:n})}var hA=c.object({name:c.string(),schema:c.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e))});var Vd={completed:"publish:completed",failed:"publish:failed"},Vg=c.object({entityType:c.string().min(1),entityId:c.string().min(1),result:c.object({id:c.string(),url:c.string().optional()})}),qg=c.object({entityType:c.string().min(1),entityId:c.string().min(1),error:c.string(),retryCount:c.number(),willRetry:c.boolean()}),Yb=Ki(Vd.completed,Vg),Xb=Ki(Vd.failed,qg);var Kg=c.object({entityType:c.string().min(1),entityId:c.string(),metadata:c.record(c.string(),c.unknown()).default({}),content:c.string().default("")}),Jg=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()}),Qb=M({channel:"sync:path:request",request:Kg,response:Jg,delivery:"request"});var Gg=c.strictObject({}),Hg=c.object({branch:c.string(),hasChanges:c.boolean(),ahead:c.number(),behind:c.number(),lastCommit:c.string().nullable(),remote:c.string().nullable()}),Wg=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:Hg.nullable(),managementUrl:c.string().optional()}),e_=M({channel:"sync:status:request",request:Gg,response:Wg,delivery:"request"});var Yg=c.strictObject({waveId:c.string().trim().min(1),sourceTypes:c.array(c.string().trim().min(1)),changedTargetTypes:c.array(c.string().trim().min(1))}),Xg=c.strictObject({}),t_=M({channel:"projection:wave-ready",request:Yg,response:Xg,delivery:"collect"});var Qg=c.object({audiences:c.array(c.string()).optional(),positioning:c.string().optional()}),eh=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()}),th=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()}),n_=c.object({name:c.string().describe("Style guide name"),messaging:Qg.optional(),voice:eh.optional(),visual:th.optional()});var nh=c.strictObject({}),rh=c.string(),r_=M({channel:"plugin:site-builder:head-scripts",request:nh,response:rh,delivery:"collect"});var oh=".site-build-manifest.json",i_=`/${oh}`;function ih(e){return typeof e==="function"}var ah=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(ih),reportFailure:c.custom(ih)}),o_=M({channel:"site:build:staging",request:ah,response:c.void(),delivery:"command"});var a_=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(),c_=c.object({registered:c.boolean(),id:c.string(),ignored:c.boolean().optional(),reason:c.string().optional()}),s_=M({channel:"playbooks:register-lifecycle-starter",request:a_,response:c_,delivery:"request"});var ch=c.enum(["provider"]),sh=c.object({executionMode:ch.optional(),publishResultIdField:c.string().min(1).optional(),publishTimestampField:c.string().min(1).optional(),enabled:c.boolean().optional()}).strict();function u_(e){return typeof e==="object"&&e!==null&&"name"in e&&typeof e.name==="string"&&"publish"in e&&typeof e.publish==="function"}var uh=c.custom(u_),lh=c.object({entityType:c.string(),provider:uh.optional(),config:sh.optional()}),l_=M({channel:"publish:register",request:lh,response:c.void(),delivery:"command"}),dh=c.union([c.string().min(1),c.object({location:c.enum(["metadata","frontmatter"]),field:c.string().min(1)})]),ph=c.object({entityType:c.string().min(1),attachmentType:c.string().min(1),mediaEntityType:c.enum(["image"]),targetEntityField:dh.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()}),d_=M({channel:"publish-assets:register",request:ph,response:c.void(),delivery:"command"});var mh=c.object({entityType:c.string()}),p_=M({channel:"generate:execute",request:mh,response:c.void(),delivery:"command"}),fh=c.object({entityType:c.string(),entityId:c.string()}),m_=M({channel:"generate:report:success",request:fh,response:c.void(),delivery:"command"}),gh=c.object({entityType:c.string(),error:c.string()}),f_=M({channel:"generate:report:failure",request:gh,response:c.void(),delivery:"command"});var g_=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"),h_=c.object({message:c.string()}).describe("simpleTextResponse"),y_=c.object({success:c.boolean(),entityId:c.string().optional(),message:c.string()}).describe("createEntityResponse"),v_=c.object({success:c.boolean(),entityId:c.string(),changes:c.array(c.string()).optional(),message:c.string()}).describe("updateEntityResponse");var hh=c.discriminatedUnion("type",[c.strictObject({type:c.literal("email"),address:c.email()})]),yh=c.strictObject({recipient:hh.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()}),vh=c.enum(["recipient-missing","transport-missing","delivery-failed"]),Sh=c.string().regex(/^[a-z0-9_:.-]{1,80}$/u),bh=c.discriminatedUnion("status",[c.strictObject({status:c.literal("sent"),deliveryId:c.string().optional()}),c.strictObject({status:c.literal("failed"),failure:vh,transportCode:Sh.optional()})]),S_=M({channel:"notifications:send",request:yh,response:bh,delivery:"request"});var _h=c.strictObject({}),xh=c.strictObject({titles:c.array(c.string().trim().min(1).max(500)).max(20)}),b_=M({channel:"topics:public-titles",request:_h,response:xh,delivery:"request"});var $h=c.strictObject({}),zh=c.strictObject({types:c.array(c.string().trim().min(1))}),__=M({channel:"topics:source-types",request:$h,response:zh,delivery:"request"});var Ih=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)}),kh=c.strictObject({noteId:c.string(),created:c.boolean()}),x_=M({channel:"note:capture",request:Ih,response:kh,delivery:"request"});var Yt=c.string().regex(/^[a-z][a-z0-9-]{0,63}$/),Wn=c.string().min(32).max(512),$_=c.strictObject({provider:Yt,brainState:Wn}),z_=c.strictObject({authorizationUrl:c.url({protocol:/^https?$/})}),I_=c.strictObject({provider:Yt,grant:Wn}),k_=c.strictObject({provider:Yt,credential:Md}),A_=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 Ah=c.object({permissionLevel:c.enum(["public","trusted","admin"])}),Th=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()}),Oh=c.array(Th),T_=M({channel:"console:jump-destinations",request:Ah,response:Oh,delivery:"collect"});var Ji=c.enum(["github","instagram","linkedin","podcast","email","website"]),O_=c.object({platform:Ji.describe("Social media platform"),url:c.string().describe("Profile or contact URL"),label:c.string().optional().describe("Optional display label")});function Gi(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 wh=c.enum(["1:1","16:9","9:16","4:3","3:4"]),Eh=c.object({prompt:c.string(),title:c.string().optional(),aspectRatio:wh.optional(),targetEntityType:c.string().optional(),targetEntityId:c.string().optional(),entityTitle:c.string().optional(),entityContent:c.string().optional()}),w_=Gi({type:"image:image-generate",input:Eh}),Zh=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()}),E_=Gi({type:"image:image-render-source",input:Zh});var Z_=c.enum(["none","low","medium","high","xhigh","max"]);var R_=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,P_=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,He=c.string().regex(R_,"expected exact pinned version"),Rh=c.string().regex(P_,"expected lowercase handle slug"),ct=c.string().min(1),N_=c.string().startsWith("age1").min(1),C_="capability-bundles-v1",j_=c.enum(["core","media","automation","web","chat","site","publishing","federation","team"]),U_=["professional","team","organization"],D_=c.enum(U_),L_=["person","team","organization"],M_=c.enum(L_),Ph=c.array(j_).min(1),Hi=c.array(c.string().min(1)),Nh=c.strictObject({brainVersion:He,bundleContract:c.literal(C_),bundles:Ph,add:Hi.optional(),remove:Hi.optional(),githubOrg:c.string().min(1),contentRepoPrefix:c.string().min(1),domainSuffix:c.string().min(1),aiApiKey:ct,gitSyncToken:ct,contentRepoAdminToken:ct,agePublicKey:N_}).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"})}),Ch=c.strictObject({members:c.array(Rh).min(1),brainVersionOverride:He.optional(),bundlesOverride:Ph.optional(),addOverride:Hi.optional(),removeOverride:Hi.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"})}),B_=c.strictObject({platform:Ji,url:c.string().min(1),label:c.string().min(1).optional()}),F_=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(B_).optional()}),V_=c.strictObject({delivery:c.literal("email"),email:c.string().email()}),q_=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()}),K_=c.strictObject({identifier:c.string().min(1),accountDid:c.string().min(1).optional(),lexiconAuthority:c.boolean().optional(),jetstream:q_.optional()}),J_=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"})}),G_=c.strictObject({onboarding:c.boolean().optional()}),H_=c.record(c.string().min(1),c.record(c.string(),c.unknown())),jh=c.strictObject({handle:Rh,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:D_.optional(),anchorKind:M_.optional(),plugins:H_.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:J_.optional(),setup:V_.optional(),atproto:K_.optional(),playbooks:G_.optional(),anchorProfile:F_.optional()});var Y_=c.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$/),Lh=c.string().regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/),Mh=c.strictObject({name:c.literal("rover-pilot-runtime"),private:c.literal(!0),packageManager:c.literal("bun@1.4.0"),dependencies:c.record(Lh,He),overrides:c.strictObject({"postcss-selector-parser":c.literal("7.1.6")})});function X_(e){return st("deploy","runtime",Y_.parse(e.tag))}function Q_(e){let n={"@rizom/brain":He.parse(e.brainVersion)};for(let i of[...e.sitePackages].sort()){let o=i.lastIndexOf("@"),t=Lh.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 Mh.parse({name:"rover-pilot-runtime",private:!0,packageManager:"bun@1.4.0",dependencies:n,overrides:{"postcss-selector-parser":"7.1.6"}})}async function Bh(e){try{return await qd(e),!0}catch(n){if(n instanceof Error&&"code"in n&&n.code==="ENOENT")return!1;throw n}}async function Dh(e){if(!(await qd(e)).isFile())throw Error(`Runtime lock input must be a regular file: ${e}`)}async function Fh(e){if(!(await qd(e)).isDirectory())throw Error(`Runtime lock input must be a directory: ${e}`)}async function ex(e){for(let n of["deploy",st("deploy","runtime")]){let i=st(e,n);if(await Bh(i))await Fh(i)}}async function tx(e,n){let i=st(e,"package.json"),o=st(e,"bun.lock");await Dh(i),await Dh(o);let t=Mh.parse(JSON.parse(await Uh(i,"utf8")));if(!W_(t,Q_(n)))throw Error(`Runtime dependency manifest does not match ${n.tag}`);if(!(await Uh(o,"utf8")).trim())throw Error(`Empty runtime dependency lock: ${o}`)}async function Vh(e,n){await ex(e);let i=st(e,X_(n));if(await Fh(i),await Bh(st(i,".incomplete")))throw Error(`Incomplete runtime dependency lock: ${i}`);await tx(i,n)}import{access as rx,readdir as ix,readFile as ox}from"fs/promises";import{basename as Kd,join as Yn,relative as ax}from"path";function qh(e,n){if(!e.trim())return{ok:!1,error:"file is empty"};let i;try{i=Bi(e)}catch(t){return{ok:!1,error:Ld(t,"YAML parse error")}}if(!nx(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 nx(e){return Boolean(e)&&typeof e==="object"&&!Array.isArray(e)}class ut extends Error{}async function Jh(e,n={}){let[i,o,t]=await Promise.all([Jd(Yn(e,"pilot.yaml"),Nh),sx(e),ux(e)]),r=lx(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={...cx(p.data,l,i),snapshotStatus:await mx(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 cx(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:Kh(n.data.addOverride??(o?i.add:void 0),e.addOverride),remove:Kh(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:dx(e.handle,e.anchorProfile)}}function Kh(e,n){return fx([...e??[],...n??[]])}async function sx(e){let n=Yn(e,"users"),i=(await Gh(n)).filter((t)=>!Kd(t).endsWith(".secrets.yaml"));return(await Promise.all(i.map(async(t)=>{let r=Hh(Kd(t)),a=await Jd(t,jh);if(a.handle!==r){let u=Wh(ax(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 ux(e){let n=Yn(e,"cohorts"),i=await Gh(n);return(await Promise.all(i.map(async(t)=>({id:Hh(Kd(t)),data:await Jd(t,Ch)})))).sort((t,r)=>t.id.localeCompare(r.id))}function lx(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 dx(e,n){return{name:n?.name??px(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 px(e){return e.split("-").filter((n)=>n.length>0).map((n)=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}async function mx(e,n){let i=Yn(e,"users",n,"brain.yaml");try{return await rx(i),"present"}catch{return"missing"}}async function Gh(e){return(await ix(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 Jd(e,n){let i=await ox(e,"utf8"),o=qh(i,n);if(!o.ok)throw new ut(`${Wh(e)}: ${o.error}`);return o.data}function fx(e){return[...new Set(e)]}function Hh(e){return e.replace(/\.ya?ml$/,"")}function Wh(e){return e.replaceAll("\\","/")}var hx=128;function Gd(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${gx("sha256").update(JSON.stringify([e,...o])).digest("hex").slice(0,12)}`;return`${t.length+a.length<=hx?t:i}${a}`}function Xh(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 Qh(e){let n=new Map;for(let i of e){let o=[...new Set(Xh(i.siteOverride))].sort(),t=Gd(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 yx(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 ey(e){let n=e.brainVersionInput?.trim()??"";if(n){let o=yx([],(e.sitePackagesInput??"").split(/\s+/).filter(Boolean)),t=Gd(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 Qh(e.users))if(!await e.imageExists(o.tag))i.push(o);else await e.verifyImage(o);return i}async function vx(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 Sx(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 Jh(e.rootDir),p=await ey({users:u,brainVersionInput:t,sitePackagesInput:r,allowTagOverwrite:a,imageExists:(l)=>vx(i,e.imageRepository,l),verifyImage:(l)=>oo(e.imageRepository,l,i)});for(let l of p){try{await Vh(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{Xd as parseEnvFile,io as parseEnvSchema,Wd as parseEnvSchemaFile,Yd as readJsonResponse,Qd as requireEnv,Qh as requiredImages,ey as resolveImageBuilds,Sx as runResolveMissingImages,Gd as runtimeImageTag,Xh as sitePackagesFor,oo as verifyRuntimeImage,tp as writeGitHubEnv,ep as writeGitHubOutput};