@kumori/kdsl 0.0.24 → 0.0.25
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.
|
@@ -11,7 +11,7 @@ import { isComponentArtifact } from "@kumori/kdsl-lsp/language/generated/ast.js"
|
|
|
11
11
|
export function ComponentServiceToSolutionJSON(ctx, component, scale) {
|
|
12
12
|
const ref = {
|
|
13
13
|
version: [0, 0, 0],
|
|
14
|
-
kind: "
|
|
14
|
+
kind: "service",
|
|
15
15
|
domain: "unknown",
|
|
16
16
|
module: "unknown",
|
|
17
17
|
name: "unknown",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/build/helpers/component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,GAAwB,EAAE,SAAoB,EAAE,KAAc;IACzG,MAAM,GAAG,GAAc;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/build/helpers/component.ts"],"names":[],"mappings":"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"}
|
package/out/main.cjs
CHANGED
|
@@ -395,7 +395,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
395
395
|
For example, "docker.io/alpine:3"`,{node:l});continue}}}}var SJe=[rn.$type],dde=()=>SJe.map(t=>[t,xJe]);function xJe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{let i=t.ctx(),[{Value:o},s]=e.Eval(i,r);if(s.length||!Oe.is(o))return;let a=sn(o,"code");if(je.isNone(a)||!Oe.is(a.value))return;let u=sn(o,"probe");if(je.isNone(u)||!Oe.is(u.value))return;let c=new Set(Object.keys(a.value.parameters)),l=new Set(Object.keys(u.value.parameters));for(let f of l)c.has(f)||n("error",`Probe "${f}" does not refer to any existing container. Existing containers are: ${[...c].map(d=>`"${d}"`).join(", ")}`,{node:r})}}var pde=Me(require("assert"),1);var kJe=[Vi.$type],hde=()=>kJe.map(t=>[t,EJe]);function EJe(t){let e=t.svcs.validation.KumoriTypeSystem,r=t.svcs.references.KumoriPackages;return(n,i)=>{let o=r.GetPackage(ai.Kumori);(0,pde.default)(J.isOk(o));let s=t.svcs.shared.workspace.IndexManager.allElements(void 0,new Set(o.value.docs.map(p=>p.uri.toString()))).toArray().find(p=>"name"in p&&p.name==="deployment");if(!s||!s.node){i("error","deployment type definition not found",{node:n});return}let a=t.ctx(),[u,c]=e.Infer(a,s.node);for(let p of c)i("error",`type error: ${p.message}`,{node:p.node});let[l,f]=e.Infer(a,n);for(let p of f)tt.getContainerOfType(p.node,h=>h===n)&&i("error",`type error: ${p.message}`,{node:p.node});let d=e.Assignable(a,l,u);if(J.isErr(d)){for(let p of d.err){let h=Ni(p,n);i("error",`type error: ${p.cause}`,h)}return}}}var mde=Me(require("assert"),1);var $Je=[Vi.$type],gde=()=>$Je.map(t=>[t,PJe]);function PJe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{let[{Value:i}]=e.Eval(t.ctx(),r);if(Oe.is(i))for(let[o,s]of Object.entries(i.parameters)){if((0,mde.default)(s!==void 0),o==="artifact")continue;let a=e.Complete(s.value,r);if(J.isErr(a))for(let u of a.err)n("error",`completeness error: ${u.message}`,{node:u.node})}}}var yde=Me(require("assert"),1);var TJe=[Vi.$type],vde=()=>TJe.map(t=>[t,RJe]);function RJe(t){let e=t.svcs.references.KumoriPackages;return(r,n)=>{let i=e.GetPackage(r);(0,yde.default)(J.isOk(i));let o=i.value.docs.flatMap(s=>tt.streamAst(s.parseResult.value).filter(bo).filter(a=>a!==r).toArray());if(o.length>0){let s={node:r};s.relatedInformation=o.map(a=>by(a,"another deployment was found here")),n("error",`error: package ${i.value.name} (${i.value.uri.toString()}) contains too many deployments`,{node:r})}}}var CJe=[Vi.$type],bde=()=>CJe.map(t=>[t,AJe]);function AJe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{var l,f,d,p;let[i]=e.Infer(t.ctx(),r);if(!we.is(i))return;let o=(f=(l=i.parameters.artifact)==null?void 0:l.value)==null?void 0:f.node;if(!o)return;let[s]=e.Infer(t.ctx(),o);if(!we.is(s))return;let a=(d=i.parameters.config)==null?void 0:d.value,u=(p=s.parameters.config)==null?void 0:p.value;if(!a||!u)return;let c=e.Assignable(t.ctx(),a,u);if(!J.isOk(c))for(let h of c.err){let g=Ni(h,r);n("error",`type error: ${h.cause}`,g)}}}var OJe=[Vi.$type],_de=()=>OJe.map(t=>[t,IJe]);function IJe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{var l,f,d,p;let[i]=e.Infer(t.ctx(),r);if(!we.is(i))return;let o=(f=(l=i.parameters.artifact)==null?void 0:l.value)==null?void 0:f.node;if(!o)return;let[s]=e.Infer(t.ctx(),o);if(!we.is(s))return;let a=(d=i.parameters.resource)==null?void 0:d.value,u=(p=s.parameters.resource)==null?void 0:p.value;if(!a||!u)return;let c=e.Assignable(t.ctx(),a,u);if(!J.isOk(c))for(let h of c.err){let g=Ni(h,r);n("error",`type error: ${h.cause}`,g)}}}var wde=Me(require("assert"),1),DJe=[Vi.$type],Sde=()=>DJe.map(t=>[t,NJe]);function NJe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{let i=t.ctx(),[{Value:o},s]=e.Eval(i,r);if(s.length||!Oe.is(o))return;let a=sn(o,"scale");if(!a||!je.isSome(a))return;let u=sn(o,"artifact");if(u&&!(!je.isSome(u)||!u.value.node)){if(u.value.node.$type===rn.$type)(!Un.is(a.value)||a.value.literal<0)&&n("error","Deployment scale for Component artifacts must be a non-negative number.",{node:r});else if(u.value.node.$type===Kr.$type&&(Oe.is(a.value)||n("error","Deployment scale for Service artifacts must be a struct specifying the number of replicas for each role.",{node:r}),Oe.is(u.value)&&u.value.parameters.role&&Oe.is(u.value.parameters.role.value)&&Oe.is(a.value))){let c=Object.keys(u.value.parameters.role.value.parameters),l=Object.keys(a.value.parameters);for(let f of l)if(!c.includes(f))n("error",`Role "${f}" is not defined in the Service artifact. Available roles are: ${c.map(d=>`"${d}"`).join(", ")}.`,{node:r});else{let d=a.value.parameters[f];(0,wde.default)(d),(!Un.is(d.value)||d.value.literal<0)&&n("error",`The number of replicas for role "${f}" must be a non-negative number.`,{node:r})}}}}}var LJe=[O0.$type,I0.$type,hm.$type],xde=()=>LJe.map(t=>[t,MJe]);function MJe(t){let e=t.svcs.validation.KumoriTypeSystem,r=t.ctx();return(n,i)=>{let[,o]=e.Infer(r,n);for(let s of o)i("error",`type error: ${s.message}`,{node:s.node})}}var jJe=[B4.$type,mm.$type],kde=()=>jJe.map(t=>[t,FJe]);function FJe(){return(t,e)=>{let r=new Map;for(let n of t.entries||[]){let i=r.get(n.key);i||(i=[],r.set(n.key,i)),i.push(n)}for(let[,n]of r.entries())if(n.length>1)for(let i of n)e("error",`illegal struct declaration: repeated parameter '${i.key}'`,{node:i})}}var Ede=Me(require("assert"),1);var qJe=[Kr.$type],$de=()=>qJe.map(t=>[t,UJe]);function UJe(t){let e=t.svcs.validation.KumoriTypeSystem,r=t.svcs.references.KumoriPackages;return(n,i)=>{let o=r.GetPackage(ai.Kumori);(0,Ede.default)(J.isOk(o));let s=t.svcs.shared.workspace.IndexManager.allElements(void 0,new Set(o.value.docs.map(p=>p.uri.toString()))).toArray().find(p=>"name"in p&&p.name==="service");if(!s||!s.node){i("error","service type definition not found",{node:n});return}let a=t.ctx(),[u,c]=e.Infer(a,s.node);for(let p of c)i("error",`type error: ${p.message}`,{node:p.node});let[l,f]=e.Infer(a,n);for(let p of f)tt.getContainerOfType(p.node,h=>h===n)&&i("error",`type error: ${p.message}`,{node:p.node});if(f.length>0||c.length>0)return;let d=e.Assignable(a,l,u);if(J.isErr(d))for(let p of d.err){let h=Ni(p,n);i("error",`type error: ${p.cause}`,h)}}}var Qe=Me(require("assert"),1);var iq=H.union([H.literal("udp"),H.literal("tcp"),H.literal("http"),H.literal("grpc")]),zJe=iq,Pde=H.union([iq,H.object({protocol:iq,port:H.number()})]),wy=H.object({client:H.object({}).catchall(zJe).optional(),server:H.object({}).catchall(Pde).optional(),duplex:H.object({}).catchall(Pde).optional()});var BJe=H.union([H.string(),H.object({data:H.string(),mode:H.number(),format:H.enum(["text","json","yaml"]).optional()}),H.object({secret:H.string(),mode:H.number(),format:H.enum(["text","json","yaml"]).optional()}),H.object({port:H.string(),mode:H.number(),format:H.enum(["text","json","yaml"]).optional()}),H.object({domain:H.string(),mode:H.number(),format:H.enum(["text","json","yaml"]).optional()}),H.object({certificate:H.string(),mode:H.number(),format:H.enum(["text","json","yaml"]).optional()}),H.object({ca:H.string(),mode:H.number(),format:H.enum(["text","json","yaml"]).optional()}),H.object({volume:H.string()})]),VJe=H.union([H.string(),H.number(),H.boolean(),H.object({secret:H.string()})]),HJe=H.object({hub:H.object({name:H.string(),secret:H.string().optional()}),tag:H.string()}),Tde=H.object({cmd:H.array(H.string()).optional(),image:H.union([H.string(),HJe]),entrypoint:H.array(H.string()).optional(),size:H.object({memory:Uo,cpu:Uo,mincpu:Uo}),env:H.object({}).catchall(VJe).optional(),fs:H.object({}).catchall(BJe).optional()}),Rde=H.object({port:H.number(),path:H.string()}),WJe=H.object({port:H.number()}),GJe=H.object({path:H.string()}),Cde=H.object({http:Rde.optional(),tcp:WJe.optional(),exec:GJe.optional()}),KJe=H.object({http:Rde.optional()}),ZJe=H.object({unit:H.enum(["attempts","ms"]),duration:H.int().nonnegative(),probe:H.boolean()}),JJe=H.object({protocol:H.object({}).catchall(Cde),startupGraceWindow:H.object({}).catchall(ZJe).optional(),frequency:H.optional(H.any()),timeout:H.optional(H.int())}),XJe=H.object({protocol:H.object({}).catchall(Cde),frequency:H.optional(H.any()),timeout:H.optional(H.int())}),YJe=H.object({protocol:H.object({}).catchall(KJe)}),QJe=H.object({liveness:H.object({}).catchall(JJe).optional(),readiness:H.object({}).catchall(XJe).optional(),pmetrics:H.object({}).catchall(YJe).optional()}),xk=H.object({srv:wy.optional(),config:H.object({}).catchall(H.any()).optional(),resource:H.object({}).catchall(Sf).optional(),code:H.object({}).catchall(Tde).optional(),init:H.array(Tde).optional(),size:H.object({bandwidth:Uo,minbandwidth:Uo,mincpu:Uo}),probe:H.object({}).catchall(QJe).optional()});var eXe=H.object({name:H.string(),kind:H.union([H.literal("service"),H.literal("component")]),domain:H.string(),module:H.string(),version:H.string()}),kk=H.object({id:eXe,srv:wy,config:H.record(H.string(),H.any()),resource:H.record(H.string(),Sf)});var tXe=H.object({config:H.record(H.string(),H.any()).optional(),resource:H.record(H.string(),Sf).optional(),meta:H.record(H.string(),H.any()).optional()}),rXe=tXe.extend({artifact:H.lazy(()=>H.union([xk,oq,kk]))}),Sy=Vo("LoadBalancer"),nXe=ks(Sy,H.object({from:H.union([H.object({target:H.string(),channel:H.string()}),H.array(H.object({target:H.string(),channel:H.string()}))]),to:H.union([H.object({target:H.string(),channel:H.string()}),H.array(H.object({target:H.string(),channel:H.string()}))]),meta:H.any().optional()})),iXe=H.object({target:H.string(),channel:H.string(),meta:H.any().optional()}),oXe=H.object({from:H.union([H.object({target:H.string(),channel:H.string()}),H.array(H.object({target:H.string(),channel:H.string()}))]),to:H.union([H.object({target:H.string(),channel:H.string()}),H.array(H.object({target:H.string(),channel:H.string()}))]),meta:H.any().optional()}),xy=Vo("FullConnector"),sXe=ks(xy,H.union([iXe,oXe])),aXe=H.union([nXe,sXe]),oq=H.object({srv:wy.optional(),config:H.record(H.string(),H.any()).optional(),resource:H.record(H.string(),Sf).optional(),role:H.record(H.string(),rXe).optional(),connect:H.record(H.string(),aXe).optional()});var cXe=[Kr.$type],Ade=()=>cXe.map(t=>[t,uXe]);function uXe(t){let e=t.svcs.validation.KumoriTypeSystem,r=t.ctx();return(n,i)=>{var p,h,g,v,x,b,y,w,k,I,E,j,O,U,N,M,$,L,q,B,V,Q,Y,W;let[{Value:o,Type:s},a]=e.Eval(r,n);if(a.length)return;(0,Qe.default)(Oe.is(o)&&we.is(s));let u=(p=o.parameters.connect)==null?void 0:p.value;if(!u)return;(0,Qe.default)(u&&Oe.is(u));let c=(h=s.parameters.role)==null?void 0:h.value;(0,Qe.default)(c&&we.is(c));let f=`[${Object.keys(c.parameters).join(", ")}]`,d=[];for(let se of Object.values(u.parameters)){let ie=se==null?void 0:se.value;(0,Qe.default)(ie),ie=et(ie),(0,Qe.default)(ws.is(ie)&&Oe.is(ie.inner));let ke=e.Complete(ie,n);if(J.isErr(ke))for(let ce of ke.err)i("error",`completeness error: ${ce.message}`,{node:ce.node});switch(ie.definition.meta.id){case Sy:{let ce=(g=ie.inner.parameters.from)==null?void 0:g.value;if((0,Qe.default)(ce),_i.is(ce))for(let ve of ce.items){(0,Qe.default)(Oe.is(ve.value));let ue=(v=ve.value.parameters.target)==null?void 0:v.value;(0,Qe.default)(ue),ue=et(ue),(0,Qe.default)(yt.is(ue)&&ue.node);let Se=(x=ve.value.parameters.channel)==null?void 0:x.value;if((0,Qe.default)(Se),Se=et(Se),(0,Qe.default)(yt.is(Se)&&Se.node),d.find(([Ee,Te])=>Ee.Target===ue.literal&&Te.Channel===Se.literal&&Ee.node===ue.node&&Te.node===Se.node&&Te.type==="client")){i("error",`found duplicate "from" definition: role: ${ue.literal} channel: ${Se.literal}`,{node:Se.node});return}d.push([{Target:ue.literal,node:ue.node},{Channel:Se.literal,type:"client",node:Se.node}])}else if(Oe.is(ce)){let ve=(b=ce.parameters.target)==null?void 0:b.value;(0,Qe.default)(ve),ve=et(ve),(0,Qe.default)(yt.is(ve)&&ve.node);let ue=(y=ce.parameters.channel)==null?void 0:y.value;if((0,Qe.default)(ue),ue=et(ue),(0,Qe.default)(yt.is(ue)&&ue.node),d.find(([Se,Ee])=>Se.Target===ve.literal&&Ee.Channel===ue.literal&&Se.node===ve.node&&Ee.node===ue.node&&Ee.type==="client")){i("error",`found duplicate "from" definition: role: ${ve.literal} channel: ${ue.literal}`,{node:ue.node});return}d.push([{Target:ve.literal,node:ve.node},{Channel:ue.literal,type:"client",node:ue.node}])}let xe=(w=ie.inner.parameters.to)==null?void 0:w.value;if((0,Qe.default)(xe),_i.is(xe)){for(let ve of xe.items){(0,Qe.default)(Oe.is(ve.value));let ue=(k=ve.value.parameters.target)==null?void 0:k.value;(0,Qe.default)(ue),ue=et(ue),(0,Qe.default)(yt.is(ue)&&ue.node);let Se=(I=ve.value.parameters.channel)==null?void 0:I.value;if((0,Qe.default)(Se),Se=et(Se),(0,Qe.default)(yt.is(Se)&&Se.node),d.find(([Ee,Te])=>Ee.Target===ue.literal&&Te.Channel===Se.literal&&Ee.node===ue.node&&Te.node===Se.node&&Te.type==="server")){i("error",`found duplicated "to" definition: role: ${ue.literal} channel: ${Se.literal}`,{node:Se.node});return}d.push([{Target:ue.literal,node:ue.node},{Channel:Se.literal,type:"server",node:Se.node}])}break}else if(Oe.is(xe)){let ve=(E=xe.parameters.target)==null?void 0:E.value;(0,Qe.default)(ve),ve=et(ve),(0,Qe.default)(yt.is(ve)&&ve.node);let ue=(j=xe.parameters.channel)==null?void 0:j.value;if((0,Qe.default)(ue),ue=et(ue),(0,Qe.default)(yt.is(ue)&&ue.node),d.find(([Se,Ee])=>Se.Target===ve.literal&&Ee.Channel===ue.literal&&Se.node===ve.node&&Ee.node===ue.node&&Ee.type==="server")){i("error",`found duplicated "to" definition: role: ${ve.literal} channel: ${ue.literal}`,{node:ue.node});return}d.push([{Target:ve.literal,node:ve.node},{Channel:ue.literal,type:"server",node:ue.node}])}break}case xy:{let ce=ie.inner.parameters.target!==void 0,xe=ie.inner.parameters.channel!==void 0;if(ce&&xe){let ve=(O=ie.inner.parameters.target)==null?void 0:O.value;(0,Qe.default)(ve),ve=et(ve),(0,Qe.default)(yt.is(ve)&&ve.node);let ue=(U=ie.inner.parameters.channel)==null?void 0:U.value;(0,Qe.default)(ue),ue=et(ue),(0,Qe.default)(yt.is(ue)&&ue.node),d.push([{Target:ve.literal,node:ve.node},{Channel:ue.literal,type:"server",node:ue.node}])}else{let ve=(N=ie.inner.parameters.from)==null?void 0:N.value;if((0,Qe.default)(ve),_i.is(ve))for(let Se of ve.items){(0,Qe.default)(Oe.is(Se.value));let Ee=(M=Se.value.parameters.target)==null?void 0:M.value;(0,Qe.default)(Ee),Ee=et(Ee),(0,Qe.default)(yt.is(Ee)&&Ee.node);let Te=($=Se.value.parameters.channel)==null?void 0:$.value;if((0,Qe.default)(Te),Te=et(Te),(0,Qe.default)(yt.is(Te)&&Te.node),d.find(([Fe,de])=>Fe.Target===Ee.literal&&de.Channel===Te.literal&&Fe.node===Ee.node&&de.node===Te.node)){i("error",`found duplicate "from" definition: role: ${Ee.literal} channel: ${Te.literal}`,{node:Te.node});return}d.push([{Target:Ee.literal,node:Ee.node},{Channel:Te.literal,type:"client",node:Te.node}])}else if(Oe.is(ve)){let Se=(L=ve.parameters.target)==null?void 0:L.value;(0,Qe.default)(Se),Se=et(Se),(0,Qe.default)(yt.is(Se)&&Se.node);let Ee=(q=ve.parameters.channel)==null?void 0:q.value;if((0,Qe.default)(Ee),Ee=et(Ee),(0,Qe.default)(yt.is(Ee)&&Ee.node),d.find(([Te,Fe])=>Te.Target===Se.literal&&Fe.Channel===Ee.literal&&Te.node===Se.node&&Fe.node===Ee.node)){i("error",`found duplicate "from" definition: role: ${Se.literal} channel: ${Ee.literal}`,{node:Ee.node});return}d.push([{Target:Se.literal,node:Se.node},{Channel:Ee.literal,type:"client",node:Ee.node}])}let ue=(B=ie.inner.parameters.to)==null?void 0:B.value;if((0,Qe.default)(ue),_i.is(ue))for(let Se of ue.items){(0,Qe.default)(Oe.is(Se.value));let Ee=(V=Se.value.parameters.target)==null?void 0:V.value;(0,Qe.default)(Ee),Ee=et(Ee),(0,Qe.default)(yt.is(Ee)&&Ee.node);let Te=(Q=Se.value.parameters.channel)==null?void 0:Q.value;if((0,Qe.default)(Te),Te=et(Te),(0,Qe.default)(yt.is(Te)&&Te.node),d.find(([Fe,de])=>Fe.Target===Ee.literal&&de.Channel===Te.literal&&Fe.node===Ee.node&&de.node===Te.node)){i("error",`found duplicate "to" definition: role: ${Ee.literal} channel: ${Te.literal}`,{node:Te.node});return}d.push([{Target:Ee.literal,node:Ee.node},{Channel:Te.literal,type:"server",node:Te.node}])}else if(Oe.is(ue)){let Se=(Y=ue.parameters.target)==null?void 0:Y.value;(0,Qe.default)(Se),Se=et(Se),(0,Qe.default)(yt.is(Se)&&Se.node);let Ee=(W=ue.parameters.channel)==null?void 0:W.value;if((0,Qe.default)(Ee),Ee=et(Ee),(0,Qe.default)(yt.is(Ee)&&Ee.node),d.find(([Te,Fe])=>Te.Target===Se.literal&&Fe.Channel===Ee.literal&&Te.node===Se.node&&Fe.node===Ee.node)){i("error",`found duplicate "to" definition: role: ${Se.literal} channel: ${Ee.literal}`,{node:Ee.node});return}d.push([{Target:Se.literal,node:Se.node},{Channel:Ee.literal,type:"server",node:Ee.node}])}}break}default:(0,Qe.default)(ie.node),i("error",`unknown connector type: ${ie.definition.meta.id}, valid types are: ${Sy}, ${xy}`,{node:ie.node});break}}for(let[se,ie]of d){let ke=se.Target;if(c.parameters[ke]===void 0&&ke!=="self"){i("error",`unknown target '${ke}': must be one of ${f}`,{node:se.node});continue}let ce=(()=>{let ve=()=>dXe(c,ke),ue=()=>pXe(c,ke);switch(ke==="self"&&(ve=()=>fXe(s),ue=()=>lXe(s)),ie.type){case"client":return ve();case"server":return ue()}})(),xe=ie.Channel;if(!ce.includes(xe)){i("error",`unknown channel '${xe}' in role '${ke}': must be one of [${ce.join(", ")}]`,{node:ie.node});continue}}}}var lXe=t=>{var i,o,s,a,u,c;let e=(o=(i=t.parameters.srv)==null?void 0:i.value)!=null?o:we.closed();(0,Qe.default)(e&&we.is(e));let r=(a=(s=e.parameters.client)==null?void 0:s.value)!=null?a:we.closed();(0,Qe.default)(r&&we.is(r));let n=(c=(u=e.parameters.duplex)==null?void 0:u.value)!=null?c:we.closed();return(0,Qe.default)(n&&we.is(n)),[...new Set(Object.keys(r.parameters).concat(Object.keys(n.parameters)))]},fXe=t=>{var i,o,s,a,u,c;let e=(o=(i=t.parameters.srv)==null?void 0:i.value)!=null?o:we.closed();(0,Qe.default)(e&&we.is(e));let r=(a=(s=e.parameters.server)==null?void 0:s.value)!=null?a:we.closed();(0,Qe.default)(r&&we.is(r));let n=(c=(u=e.parameters.duplex)==null?void 0:u.value)!=null?c:we.closed();return(0,Qe.default)(n&&we.is(n)),[...new Set(Object.keys(r.parameters).concat(Object.keys(n.parameters)))]},dXe=(t,e)=>{var a,u,c,l,f,d,p,h;let r=(a=t.parameters[e])==null?void 0:a.value;(0,Qe.default)(r&&we.is(r));let n=(u=r.parameters.artifact)==null?void 0:u.value;(0,Qe.default)(n&&we.is(n));let i=(l=(c=n.parameters.srv)==null?void 0:c.value)!=null?l:we.closed();(0,Qe.default)(i&&we.is(i));let o=(d=(f=i.parameters.client)==null?void 0:f.value)!=null?d:we.closed();(0,Qe.default)(o&&we.is(o));let s=(h=(p=i.parameters.duplex)==null?void 0:p.value)!=null?h:we.closed();return(0,Qe.default)(s&&we.is(s)),[...new Set(Object.keys(o.parameters).concat(Object.keys(s.parameters)))]},pXe=(t,e)=>{var a,u,c,l,f,d,p,h;let r=(a=t.parameters[e])==null?void 0:a.value;(0,Qe.default)(r&&we.is(r));let n=(u=r.parameters.artifact)==null?void 0:u.value;(0,Qe.default)(n&&we.is(n));let i=(l=(c=n.parameters.srv)==null?void 0:c.value)!=null?l:we.closed();(0,Qe.default)(i&&we.is(i));let o=(d=(f=i.parameters.server)==null?void 0:f.value)!=null?d:we.closed();(0,Qe.default)(o&&we.is(o));let s=(h=(p=i.parameters.duplex)==null?void 0:p.value)!=null?h:we.closed();return(0,Qe.default)(s&&we.is(s)),[...new Set(Object.keys(o.parameters).concat(Object.keys(s.parameters)))]};var Ode=Me(require("assert"),1);var hXe=[Kr.$type],Ide=()=>hXe.map(t=>[t,mXe]);function mXe(t){let e=t.svcs.validation.KumoriTypeSystem,r=t.svcs.references.KumoriPackages;return(n,i)=>{if(!tt.getDocument(n).uri.path.endsWith(".h.kumori"))return;let a=r.GetPackage(ai.Kumori);(0,Ode.default)(J.isOk(a));let u=t.svcs.shared.workspace.IndexManager.allElements(void 0,new Set(a.value.docs.map(g=>g.uri.toString()))).toArray().find(g=>"name"in g&&g.name==="ServiceInterface");if(!u||!u.node){i("error","service interface type definition not found",{node:n});return}let c=t.ctx(),[l,f]=e.Infer(c,u.node);for(let g of f)i("error",`type error: ${g.message}`,{node:g.node});let[d,p]=e.Infer(c,n);for(let g of p)tt.getContainerOfType(g.node,v=>v===n)&&i("error",`type error: ${g.message}`,{node:g.node});if(p.length>0||f.length>0)return;let h=e.Assignable(c,d,l);if(J.isErr(h))for(let g of h.err){let v=Ni(g,n);i("error",`type error: ${g.cause}`,v)}}}var Dde=Me(require("assert"),1),gXe=[Kr.$type],Nde=()=>gXe.map(t=>[t,yXe]);function yXe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{var a,u,c,l;let i=t.ctx(),[o]=e.Infer(i,r);if(!we.is(o))return;let s=(a=o.parameters.role)==null?void 0:a.value;if(!(!s||!we.is(s)))for(let f of Object.values(s.parameters)){(0,Dde.default)(f);let d=f.value;if(!d||!we.is(d))continue;let p=(u=d.parameters.artifact)==null?void 0:u.value;if(!p||!we.is(p))continue;let h=(c=d.parameters.config)==null?void 0:c.value,g=(l=p.parameters.config)==null?void 0:l.value;if(!h||!g)continue;let v=e.Assignable(i,h,g);if(!J.isOk(v))for(let x of v.err){let b=Ni(x,r);n("error",`type error: ${x.cause}`,b)}}}}var Lde=Me(require("assert"),1),vXe=[Kr.$type],Mde=()=>vXe.map(t=>[t,bXe]);function bXe(t){let e=t.svcs.validation.KumoriTypeSystem;return(r,n)=>{var a,u,c,l;let i=t.ctx(),[o]=e.Infer(i,r);if(!we.is(o))return;let s=(a=o.parameters.role)==null?void 0:a.value;if(!(!s||!we.is(s)))for(let f of Object.values(s.parameters)){(0,Lde.default)(f);let d=f.value;if(!d||!we.is(d))continue;let p=(u=d.parameters.artifact)==null?void 0:u.value;if(!p||!we.is(p))continue;let h=(c=d.parameters.resource)==null?void 0:c.value,g=(l=p.parameters.resource)==null?void 0:l.value;if(!h||!g)continue;let v=e.Assignable(i,h,g);if(!J.isOk(v))for(let x of v.err){let b=Ni(x,r);n("error",`type error: ${x.cause}`,b)}}}}var jde=new Jn,Fde=t=>{let e=new Jn;for(let[r,n]of jde.entriesGroupedByKey()){let i=n.map(o=>o(t));e.addAll(r,i)}return r=>e.get(r)},yn=t=>{let e=t();for(let r of e){let n=r[0],i=r[1];jde.add(n,i)}};yn(Gfe);yn(Zfe);yn(Jfe);yn(Xfe);yn(Yfe);yn(ede);yn(rde);yn(ide);yn(sde);yn(ude);yn(lde);yn(fde);yn(dde);yn(hde);yn(gde);yn(vde);yn(bde);yn(_de);yn(Sde);yn(xde);yn(kde);yn($de);yn(Ade);yn(Ide);yn(Nde);yn(Mde);var qde=t=>(e,r)=>t.forEach(n=>n(e,r));function Ude(t){let e=t.validation.ValidationRegistry,r=t.validation.KumoriValidations,n=Fde(r),i=Object.fromEntries(t.shared.AstReflection.getAllTypes().map(o=>[o,n(o)]).filter(([,o])=>o.length>0).map(([o,s])=>[o,qde(s)]));e.register(i)}var zde=t=>({svcs:t,ctx:xc(()=>t.validation.KumoriTypeSystem.NewContext())});var ea=require("fs"),Bde=require("url"),Ho=require("path"),_Xe=(0,Bde.fileURLToPath)(__importMetaUrl),Wa=(0,Ho.dirname)(_Xe),ta=[],Vde=ta,Ga=(t,e)=>({src:t,data:e}),wXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/io/lib.kumori"),"utf-8");ta.push(Ga("/io/lib.kumori",wXe));var SXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/builtin/httpinbound.h.kumori"),"utf-8");ta.push(Ga("/kumori/builtin/httpinbound.h.kumori",SXe));var xXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/builtin.kumori"),"utf-8");ta.push(Ga("/kumori/builtin.kumori",xXe));var kXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/builtin/tcpinbound.h.kumori"),"utf-8");ta.push(Ga("/kumori/builtin/tcpinbound.h.kumori",kXe));var EXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/component.kumori"),"utf-8");ta.push(Ga("/kumori/component.kumori",EXe));var $Xe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/deployment.kumori"),"utf-8");ta.push(Ga("/kumori/deployment.kumori",$Xe));var PXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/resource.kumori"),"utf-8");ta.push(Ga("/kumori/resource.kumori",PXe));var TXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/service.kumori"),"utf-8");ta.push(Ga("/kumori/service.kumori",TXe));var RXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/shared.kumori"),"utf-8");ta.push(Ga("/kumori/shared.kumori",RXe));var CXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/kumori/sized.kumori"),"utf-8");ta.push(Ga("/kumori/sized.kumori",CXe));var AXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/sized.kumori"),"utf-8");ta.push(Ga("/sized.kumori",AXe));var OXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/std.kumori"),"utf-8");ta.push(Ga("/std.kumori",OXe));var IXe=(0,ea.readFileSync)((0,Ho.join)(Wa,"lib/strconv/lib.kumori"),"utf-8");ta.push(Ga("/strconv/lib.kumori",IXe));var sq=Vde.map(t=>mae(t.src,t.data)),DXe=new Map;for(let t of sq){let e=me.dirname(t.uri).fsPath.split("/").filter(i=>i!==""),r=DXe,n="";for(let i of e){n=`${n}/${i}`;let o=r.get(i);if(o===void 0&&(o={type:"Dir",contents:new Map},r.set(i,o)),o.type==="File")throw new Error("fs collision on "+n);r=o.contents}r.set(me.basename(t.uri),{type:"File",data:t.data})}async function Ek(t,e,r,n=Ue.CancellationToken.None){await Hde(t,e,r,n)}async function Hde(t,e,r,n=Ue.CancellationToken.None){await Tt(n);let i=await t.readDirectory(e);if(r.Dir){let s=await r.Dir(e,i);if(s!=null&&s.break)return s;if(s!=null&&s.skipDir)return}let o=[];for(let s of i)if(await Tt(n),s.isDirectory)o.push(s.uri);else if(s.isFile&&r.File){let a=await r.File(s.uri);if(a!=null&&a.break)return a}for(let s of o){await Tt(n);let a=await Hde(t,s,r);if(a!=null&&a.break)return a}}var an="kumori.mod.json";async function Wde(t,e,r=Ue.CancellationToken.None){let n=[],i=await NXe(t,ze.parse(e.uri),r);for(let o of i){let s=await vn(t,o);J.isOk(s)&&n.push(s.value)}return n}async function NXe(t,e,r=Ue.CancellationToken.None){let n=[];return await Ek(t,e,{Dir:async i=>{if(e.fsPath===i.fsPath)return;let o=me.dirname(i);if((await t.readDirectory(o)).map(a=>a.uri).map(me.basename).includes(an))return{skipDir:!0}},File:i=>{me.basename(i)===an&&n.push(me.dirname(i))}},r),n}async function Lm(t,e){if((await t.readDirectory(e)).map(o=>me.basename(o.uri)).includes(an))return Vr(me.joinPath(e,an));let i=me.dirname(e);return e.fsPath===i.fsPath?Vt:Lm(t,i)}var aq=H.object({target:H.string(),version:H.string()}),Gde=aq.extend({headers:H.optional(aq)}),LXe=Gde.extend({alias:H.optional(H.string())}),MXe=H.object({spec:H.literal("kumori/module/v1"),module:H.string(),kumori:H.string(),version:H.string(),headers:H.optional(aq),cacheLocation:H.optional(H.string().prefault(".kumori/mod")),requires:H.array(LXe),indirect:H.array(Gde).optional()}),Kde=H.discriminatedUnion("spec",[MXe]);async function Oc(t,e,r=Ue.CancellationToken.None){try{await Tt(r)}catch(s){return be("error reading module: operation cancelled")}let n=e;if(n.scheme!=="file")return be(`unexpected URI scheme '${n.scheme}': ${n.toString()}`);me.basename(n)!==an&&(n=me.joinPath(n,an));let i;try{i=JSON.parse(await t.readFile(n))}catch(s){return be(`error reading file ${n.fsPath}: ${s}`)}let o=await Kde.safeParseAsync(i);return o.success?Ke({Root:me.dirname(n),Manifest:o.data}):be(`error parsing file ${n.fsPath}: ${JSON.stringify(o.error.format())}`)}function d_(t){return t instanceof ze||(t=t.Root),me.joinPath(t,"vendor")}function $k(t){if(!(t instanceof ze)){let e=t.Manifest,r=t.Root;if(e&&e.cacheLocation){let n=e.cacheLocation;return n.startsWith(".")?me.joinPath(r,n):n.startsWith("/")?ze.parse(n):me.joinPath(r,n)}t=r}return me.joinPath(t,".kumori/mod")}var E6=require("fs/promises");var cq=require("crypto"),Zde=require("fs"),Jde=require("fs/promises"),uq=Me(require("path"),1),Xde=require("stream/promises");async function cp(t){let e=[];async function r(i){let o=await(0,Jde.readdir)(i,{withFileTypes:!0});for(let s of o){let a=uq.default.join(i,s.name),u=uq.default.relative(i,a).replace(/\\/g,"/");if(s.isDirectory()&&s.name!==".git")await r(a);else if(s.isFile()){let c=(0,cq.createHash)("sha256"),l=(0,Zde.createReadStream)(a);await(0,Xde.pipeline)(l,c),e.push({relativePath:u,hash:c.digest("hex")})}}}await r(t),e.sort((i,o)=>i.relativePath.localeCompare(o.relativePath));let n=(0,cq.createHash)("sha256");for(let i of e)n.update(`${i.relativePath} ${i.hash}
|
|
396
396
|
`);return`h1:${n.digest("hex")}`}var spe=Me(npe(),1);var gl=class{get[Symbol.toStringTag](){return"URLSearchParams"}constructor(e){this.isEncoded=!1,this.params=[],typeof e=="string"?lq(e,e[0]==="?"?1:0,e.length,this,[38],61,[],{encode:!0}):Array.isArray(e)?e.forEach(r=>{this.append(r[0],r[1])}):typeof e=="object"&&Object.keys(e).forEach(r=>{this.append(r,e[r])})}*entries(){for(let e=0;e<this.params.length;e+=1)yield[mu(this.params[e][0]),mu(this.params[e][1])]}append(e,r){this.params.push([Pk(e),Pk(r)])}delete(e){this.params=this.params.filter(([r])=>mu(r)!==e)}forEach(e){this.params.forEach(([r,n])=>{e(mu(n),mu(r),this)})}get(e){let r=this.params.find(([n])=>mu(n)===e);return r?mu(r[1]):null}getAll(e){return this.params.filter(([r])=>mu(r)===e).map(r=>r[1])}has(e){return this.get(e)!==null}*keys(){for(let e=0;e<this.params.length;e+=1)yield mu(this.params[e][0])}set(e,r){let n=this.params.findIndex(([i])=>mu(i)===e);if(n===-1){this.append(e,r);return}this.delete(e),this.params.splice(n,0,[Pk(e),Pk(r)])}sort(){this.params=this.params.sort((e,r)=>e[0].localeCompare(r[0]))}toString(){return this.params.map(([e,r])=>`${e}=${r}`).join("&")}*values(){for(let e=0;e<this.params.length;e+=1)yield mu(this.params[e][1])}[Symbol.iterator](){return this.entries()}get size(){return this.params.length}};function lq(t,e,r,n,i,o,s,{encode:a}={encode:!1}){let u=e,c=u,l=0,f=0,d=a?n.append.bind(n):(p,h)=>n.params.push([p,h]);for(;u<=r;u+=1){let p=t.charCodeAt(u);if(p===o&&l===0)l=u,f=u+1;else if(i.indexOf(p)!==-1)u>c&&d(t.slice(c,l||u),t.slice(f||u,u)),c=u+1,l=0,f=0;else if(s.indexOf(p)!==-1)break}return u!==c&&d(t.slice(c,l||u),t.slice(f||u,u)),u}function mu(t){if(t.indexOf("%")!==-1)try{return decodeURIComponent(t.replace(/\+/g," "))}catch(e){return t}else return t}function Pk(t){let e=""+t,r="";for(let n=0;n<e.length;n++)e.charCodeAt(n)===32?r+="+":r+=encodeURIComponent(e[n]);return r}var ope=[47,35,63];function oYe(t){return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||t===45||t===43}var up=class{constructor(t){this.parse(t)}get protocol(){return this._protocol}get username(){return this._username}get password(){return this._password}get hostname(){return this._hostname}get host(){return this._host}get port(){return this._port}get pathname(){return this._pathname}get search(){return this._search||this._extractParams(),this._search}get searchParams(){return this.isQueryParsed||this._extractSearchParams(),this._query}get parameters(){return this.isQueryParsed||this._extractSearchParams(),this._parameters}hasParameterString(){return this.parameterStartIndex>0}get hash(){return!this._search&&!this._hash&&this._extractParams(),this._hash}get href(){return this._href}toString(){return this.href}toJSON(){return this.href}get domainInfo(){return this._domainInfo||(this._domainInfo=(0,spe.parse)(this.hostname,{extractHostname:!1})),this._domainInfo}get hostIsIp(){return this.domainInfo.isIp}get domain(){return this.domainInfo.hostname||this.hostname}get generalDomain(){return this.domainInfo.domain||this.hostname}get path(){return this.pathname||"/"}get scheme(){return this.protocol.slice(0,-1)}isValidHost(){return this.hostIsIp||this.generalDomain!==null}extractKeyValues(){if(this.parsedParameters)return this.parsedParameters;if(this.parsedParameters=new gl,this.queryStartIndex===0&&this.parameterStartIndex===0)return this.parsedParameters;let t=this.parameterStartIndex||this.queryStartIndex,e=this.href.length-1,r=t;return this.href.charCodeAt(r)===59&&(r=this._extractParamTuples(r+1,e,this.parsedParameters,[59],61,[63,35])),this.href.charCodeAt(r)===63&&(r=this._extractParamTuples(r+1,e,this.parsedParameters,[38,59],61,[35])),this.parsedParameters}_extractHostname(t,e){let r=0,n=!1,i=t,o=!1,s=!1;if(this._href.charCodeAt(i)===91){for(o=!0;i<=e;i+=1)if(this._href.charCodeAt(i)===93){let c=this._href.charCodeAt(i+1);if(c===58)r=i+1,i+=1,n=!0;else if(c===47)i+=1,n=!0;else if(i!==e)throw new TypeError("expected `:` or `/` after IPv6 address");break}}if(!o)for(;i<=e;i+=1){let u=this._href.charCodeAt(i);if(u===58){r=i,n=!0;break}else if(u===64)return this._username=this._href.slice(t,i),this._password="",this._extractHostname(i+1,e);if(ope.indexOf(u)!==-1){n=!0;break}else{if(u<=32)throw new TypeError(`Invalid character '${this.href[i]}' in hostname`);u>=65&&u<=90&&(s=!0)}}let a=n?i:i+1;if(s&&(this._href=`${this._href.slice(0,t)}${this._href.slice(t,a).toLowerCase()}${this._href.slice(a)}`),this._hostname=this._href.slice(t,a),r>0){i+=1;let u=i,c=!1;for(;i<=e;i+=1){let l=this._href.charCodeAt(i);if(ope.indexOf(l)!==-1){this._port=this._href.slice(u,i);break}else{if(l===64)return this._username=this._href.slice(t,r||i),this._password=this._href.slice(r+1,i),this._extractHostname(i+1,e);(l<48||l>57)&&(c=!0)}}if(this._port||(this._port=this.href.slice(u,i)),c)throw new TypeError("Invalid URL: port contains non numeric character");if(this._port.length>=5&&+this._port>65535)throw new TypeError("Invalid URL: invalid port number")}return this._host=this._href.slice(t,n?i:i+1),this.origin=`${this._protocol}//${this._host}`,n?i:i+1}_extractParams(){if(this.queryStartIndex>0){let t=this.queryStartIndex,e=this.href.length-1;if(this.href.charCodeAt(t)===63){let r=!1;for(;t<=e;t+=1)if(this.href.charCodeAt(t)===35){r=!0;break}this._search=this.href.slice(this.queryStartIndex,r?t:e+1),this._search.length===1&&(this._search="")}this.href.charCodeAt(t)===35&&(this._hash=this.href.slice(t,e+1))}}_extractSearchParams(){if(this.isQueryParsed=!0,this.queryStartIndex===0&&this.parameterStartIndex===0)return;let t=this.parameterStartIndex||this.queryStartIndex,e=this.href.length-1,r=t;if(this.href.charCodeAt(r)===59&&(r=this._extractParamTuples(r+1,e,this._parameters,[59],61,[63,35])),this.href.charCodeAt(r)===63){let n=r;r=this._extractParamTuples(r+1,e,this._query,[38],61,[35]),this._search=this.href.slice(n,r),this._search.length===1&&(this._search="")}this.href.charCodeAt(r)===35&&(this._hash=this.href.slice(r,e+1))}_extractParamTuples(t,e,r,n,i,o){return lq(this.href,t,e,r,n,i,o)}parse(t){if(typeof t!="string"||t.length===0)throw new TypeError(`${t} is not a valid URL`);this._protocol="",this._hostname="",this._host="",this._port="",this._pathname="",this._username="",this._password="",this._search="",this._hash="",this.parameterStartIndex=0,this.queryStartIndex=0,this.isQueryParsed=!1,this._parameters=new gl,this._query=new gl,this._domainInfo=null,this.parsedParameters=null;let e=0,r=t.length-1;for(;t.charCodeAt(e)<=32;)e+=1;for(;t.charCodeAt(r)<=32;)r-=1;this._href=t.slice(e,r+1),r=this._href.length-1;let n=!1;for(;e<=r;e+=1){let i=this._href.charCodeAt(e);if(i===58){this._protocol=this._href.slice(0,e+1),n&&(this._protocol=this._protocol.toLowerCase(),this._href=`${this._protocol}${this._href.slice(e+1)}`);break}else if(oYe(i))i>=65&&i<=90&&(n=!0);else throw new TypeError("Invalid URL protocol")}if(e>=r)throw new TypeError("No protocol");for(this.slashes="",e+=1;e<r&&this._href.charCodeAt(e)===47;e+=1)this.slashes+="/";if(this.slashes.length>=2?e=this._extractHostname(e,r):(this._host="",this._hostname="",this.origin="null"),e>=r)this._href.charCodeAt(r)!==47&&(this._href+="/"),this._pathname="/";else{let i=e;for(;e<=r;e+=1){let o=this._href.charCodeAt(e);if(o===59&&!this.parameterStartIndex)this.parameterStartIndex=e;else if(o===63||o===35){this.queryStartIndex=e;break}}this._pathname=this.href.slice(i,this.queryStartIndex!==0?this.queryStartIndex:r+1)||"/"}}};var h_=class extends gl{constructor(e,r){super(),this.url=e,this.params=r.params}append(e,r){super.append(e,r),this.url.search=this.toString()}delete(e){super.delete(e),this.url.search=this.toString()}set(e,r){super.set(e,r),this.url.search=this.toString()}sort(){super.sort(),this.url.search=this.toString()}};function lp(t,e){let r={hash:e.hash!==void 0?e.hash:t.hash,host:e.host!==void 0?e.host:t.host,hostname:e.hostname!==void 0?e.hostname:t.hostname,password:e.password!==void 0?e.password:t.password,pathname:e.pathname!==void 0?e.pathname:t.pathname,port:e.port!==void 0?e.port:t.port,protocol:e.protocol!==void 0?e.protocol:t.protocol,search:e.search!==void 0?e.search:t.search,username:e.username!==void 0?e.username:t.username};(e.hostname||e.port)&&((r.protocol==="https:"&&r.port==="443"||r.protocol==="http:"&&r.port==="80")&&(r.port=""),r.host=`${r.hostname}${r.port?":":""}${r.port}`);let n=r.username?r.password?`${r.username}:${r.password}@`:`${r.username}@`:r.password?`:${r.password}@`:"";return new up(`${r.protocol}${t.slashes}${n}${r.host}${r.pathname}${r.search}${r.hash}`)}var Cy=class{get[Symbol.toStringTag](){return"URL"}constructor(t){this.url=new up(t)}get protocol(){return this.url.protocol}set protocol(t){let e=this.url.protocol,r=t.endsWith(":")?"":":",n=`${t}${r}${this.href.slice(e.length)}`;this.url=new up(n)}get username(){return this.url.username}set username(t){this.url=lp(this,{username:t||""})}get password(){return this.url.password}set password(t){this.url=lp(this,{password:t||""})}get hostname(){return this.url.hostname}set hostname(t){this.url=lp(this,{hostname:t||""})}get host(){return this.url.host}set host(t){this.url=lp(this,{host:t})}get origin(){return this.url.origin}get port(){return this.url.port}set port(t){this.url=lp(this,{port:t||""})}get pathname(){return this.url.pathname}set pathname(t){let e=t.charCodeAt(0)===47?t:`/${t}`;this.url=lp(this,{pathname:e})}get search(){return this.url.search}set search(t){let e=t.charCodeAt(0)===63?t.slice(1):t;this.url=lp(this,{search:e.length>0?`?${e}`:""})}get searchParams(){return new h_(this,this.url.searchParams)}get parameters(){return this.url.parameters}hasParameterString(){return this.url.hasParameterString()}get hash(){return this.url.hash}set hash(t){let e=t.charCodeAt(0)===35?t.slice(1):t;this.url=lp(this,{hash:e.length>0?`#${e}`:""})}get href(){return this.url.href}set href(t){this.url=new up(t)}toString(){return this.href}toJSON(){return this.href}get domainInfo(){return this.url.domainInfo}get hostIsIp(){return this.url.hostIsIp}get domain(){return this.url.domain}get generalDomain(){return this.url.generalDomain}get path(){return this.url.path}get scheme(){return this.url.scheme}get slashes(){return this.url.slashes}isValidHost(){return this.url.isValidHost()}extractKeyValues(){return this.url.extractKeyValues()}};var Ef=class extends Cy{};var no=Me(require("fs"),1),Eu=Me(require("path"),1),x_e=Me(require("os"),1),k_e=Me(ame(),1);var cme={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://kumori.systems/kdsl/registry-index.schema.json",title:"KDSL Registry Module Index",description:"Defines the structure of the index.json file hosted in a registry repository.",$defs:{role:{type:"object",required:["name","type","roles"],properties:{name:{type:"string",description:"Role name"},type:{type:"string",enum:["component","service"],description:"Type of the role"},roles:{type:"array",minItems:0,items:{$ref:"#/$defs/role"},description:"Nested roles (for service roles)"}},additionalProperties:!1}},type:"object",required:["modules"],properties:{modules:{type:"array",minItems:0,uniqueItems:!0,description:"List of modules available in this registry index",items:{type:"object",required:["domain","version","location","checksum","artifacts"],properties:{domain:{type:"string",description:"Domain of the module (e.g. kumori.systems/jenkins)"},version:{type:"string",description:"Semantic version of the module"},description:{type:"string",description:"Optional human-readable module description"},location:{type:"string",description:"Location (URL) where the module resides"},releaseDate:{type:"string",pattern:"^\\d{4}-\\d{2}-\\d{2}$",description:"Release date in YYYY-MM-DD format"},checksum:{type:"string",pattern:"^h1:[a-fA-F0-9]{64}$",description:"SHA-256 checksum of the module, prefixed with h1:"},artifacts:{type:"array",minItems:1,items:{type:"object",required:["name","type","marketplace","schema","location"],properties:{name:{type:"string",description:"Name of the artifact"},description:{type:"string",description:"Optional human-readable artifact description"},requirements:{type:"object",description:"Requirements for using this artifact",properties:{cpu:{type:"number",description:"Minimum vCPUs required"},memory:{type:"number",description:"Minimum memory (in GB) required"}}},marketplace:{type:"boolean",description:"Whether this artifact is available in the marketplace"},type:{type:"string",enum:["component","service"],description:"Type of artifact"},schema:{type:"object",description:"JSON Schema object describing the artifact"},location:{type:"string",description:"Relative path or URL to the artifact"},roles:{type:"array",minItems:0,items:{$ref:"#/$defs/role"},description:"List of roles exposed by this artifact"},icon:{type:"string",description:"Filename for the artifact's icon"},categories:{type:"array",items:{type:"string"},description:"Categories for this artifact"},tags:{type:"array",items:{type:"string"},description:"Tags for this artifact"}},additionalProperties:!1}}},additionalProperties:!1}}},additionalProperties:!1};var VB=Me(Qve(),1);var w_e=Me(m3e(),1);function Nft(t){let e=[t];return{next(){return Promise.resolve({done:e.length===0,value:e.pop()})},return(){return e=[],{}},[Symbol.asyncIterator](){return this}}}function Lft(t){return t[Symbol.asyncIterator]?t[Symbol.asyncIterator]():t[Symbol.iterator]?t[Symbol.iterator]():t.next?t:Nft(t)}async function S_e(t,e){let r=Lft(t);for(;;){let{value:n,done:i}=await r.next();if(n&&await e(n),i)break}r.return&&r.return()}function Mft(t){let{PassThrough:e}=__e(),r=new e;return setTimeout(async()=>{await S_e(t,n=>r.write(n)),r.end()},1),r}async function jft(t){let e=0,r=[];await S_e(t,o=>{r.push(o),e+=o.byteLength});let n=new Uint8Array(e),i=0;for(let o of r)n.set(o,i),i+=o.byteLength;return n}function Fft(t){let e=Object.getOwnPropertyDescriptor(t,Symbol.asyncIterator);if(e&&e.enumerable)return t;let r=!1,n=[],i={};return t.on("data",o=>{n.push(o),i.resolve&&(i.resolve({value:n.shift(),done:!1}),i={})}),t.on("error",o=>{i.reject&&(i.reject(o),i={})}),t.on("end",()=>{r=!0,i.resolve&&(i.resolve({done:!0}),i={})}),{next(){return new Promise((o,s)=>{if(n.length===0&&r)return o({done:!0});if(n.length>0)return o({value:n.shift(),done:!1});n.length===0&&!r&&(i={resolve:o,reject:s})})},return(){t.removeAllListeners(),t.destroy&&t.destroy()},[Symbol.asyncIterator](){return this}}}async function qft({onProgress:t,url:e,method:r="GET",headers:n={},agent:i,body:o}){return o&&Array.isArray(o)?o=Buffer.from(await jft(o)):o&&(o=Mft(o)),new Promise((s,a)=>{(0,w_e.default)({url:e,method:r,headers:n,agent:i,body:o},(u,c)=>{if(u)return a(u);try{let l=Fft(c);s({url:c.url,method:c.method,statusCode:c.statusCode,statusMessage:c.statusMessage,body:l,headers:c.headers})}catch(l){a(l)}})})}var Uft={request:qft},BB=Uft;var xi=class{constructor(e){this.registries=[],this.defaultName="kumori.systems",this.defaultIndexUrl="https://gitlab.com/kumori-systems/registry/index.git";let r;if(e)r=Eu.default.resolve(e);else{r=Eu.default.join(x_e.default.homedir(),".config","kdsl");let n=process.argv.indexOf("--config");n!==-1&&process.argv[n+1]&&(r=Eu.default.resolve(process.argv[n+1]))}try{no.default.existsSync(r)||no.default.mkdirSync(r,{recursive:!0})}catch(n){throw new Error(`Failed to create config directory: ${n}`)}this.configDir=r,this.filePath=Eu.default.join(r,"registries.json"),this.load()}async ensureIndexes(){for(let e of this.registries){let r=Eu.default.join(this.configDir,".cache",e.selector),n=Eu.default.join(r,"index.json");if(no.default.existsSync(n))continue;console.info(`Index file not found for ${e.selector}, attempting to download...`),no.default.mkdirSync(r,{recursive:!0}),await VB.default.clone({fs:no.default,http:BB,dir:r,url:e.repoUrl,singleBranch:!0,depth:1}).catch(u=>{throw new Error(`Failed to clone repository ${e.repoUrl}: ${u}`)});let i=Eu.default.join(r,"index.json");if(!no.default.existsSync(i))throw new Error(`Index file not found in repository ${e.repoUrl}`);let o=no.default.readFileSync(i,"utf-8"),s;try{s=JSON.parse(o)}catch(u){throw new Error(`Failed to parse index file: ${u}`)}if(!this.validateIndexSchema(s))throw console.error(`Failed to validate index schema for ${e.repoUrl}`),new Error(`Index schema validation failed for ${e.repoUrl}`);no.default.writeFileSync(n,JSON.stringify(s,null,2),{encoding:"utf-8"}),console.info(`Successfully downloaded index for registry ${e.selector}. Location: ${n}`)}}async initialize(){this.registries=[{selector:this.defaultName,repoUrl:this.defaultIndexUrl}];try{await this.ensureIndexes()}catch(e){console.warn(`Failed to download index for default registry: ${e}`);return}this.save()}load(){if(no.default.existsSync(this.filePath))try{let e=no.default.readFileSync(this.filePath,"utf-8"),r=JSON.parse(e);if(!Array.isArray(r.registries))throw new Error("Malformed registry file: 'registries' is not an array");this.registries=r.registries}catch(e){console.warn(`Failed to load registries: ${e}. Reinitializing.`),this.initialize()}else this.initialize()}save(){let e=`${this.filePath}.tmp`;try{no.default.writeFileSync(e,JSON.stringify({registries:this.registries},null,2),{encoding:"utf-8"}),no.default.renameSync(e,this.filePath)}catch(r){throw new Error(`Failed to save registries: ${r}`)}}list(){return this.registries}async add(e){if(!e.selector||typeof e.selector!="string")throw new Error("Registry must have a valid 'selector'");if(this.registries.some(u=>u.selector===e.selector))throw new Error(`Registry with selector '${e.selector}' already exists`);let r=Eu.default.join(this.configDir,".cache",e.selector),n=Eu.default.join(r,"index.json");no.default.mkdirSync(r,{recursive:!0}),e.repoUrl.endsWith(".git")||(e.repoUrl+=".git"),await VB.default.clone({fs:no.default,http:BB,dir:r,url:e.repoUrl,singleBranch:!0,depth:1,onAuth:()=>({password:e.token})}).catch(u=>{throw new Error(`Failed to clone repository ${e.repoUrl}: ${u}`)});let i=Eu.default.join(r,"index.json");if(!no.default.existsSync(i))throw new Error(`Index file not found in repository ${e.repoUrl}`);let o=no.default.readFileSync(i,"utf-8"),s;try{s=JSON.parse(o)}catch(u){throw new Error(`Failed to parse index file: ${u}`)}if(!this.validateIndexSchema(s))throw new Error(`Index schema validation failed for ${e.repoUrl}`);no.default.writeFileSync(n,JSON.stringify(s,null,2),{encoding:"utf-8"}),this.registries.push(e),this.save()}remove(e){if(e===this.defaultName)throw new Error(`Cannot remove default registry '${this.defaultName}'`);let r=this.registries.length;if(this.registries=this.registries.filter(n=>n.selector!==e),this.registries.length===r)throw new Error(`Registry '${e}' not found`);this.save()}validateIndexSchema(e){let n=new k_e.default({validateSchema:!1,allErrors:!0}).compile(cme);return n(e)?!0:(console.warn("Index schema validation errors:",n.errors),!1)}};var $u=Me(require("path"),1),WB=Me(require("os"),1),w$=Me(require("fs"),1);var HB;(function(t){t.toString=e=>`${e.Location}@${e.Version}`,t.toURL=e=>new Ef(`${e.Scheme}://${e.Location}`)})(HB||(HB={}));function Fc(t,e){var c;let r=[t],n="git";if(r=r.pop().split("://"),r.length>2)return Vt;r.length===2&&(n=r.shift());let i="";r=r.pop().split("@");try{i=xo(r[1]).toString()}catch(l){return console.error(`Invalid version format for ${t} version: ${r[1]} is not a valid SemVer string`),Vt}let o=r[0],u=new xi(e).list().find(l=>o.startsWith(l.selector));if(u!==void 0){let l;if(e)l=$u.default.resolve(e);else{l=$u.default.join(WB.default.homedir(),".config","kdsl");let k=process.argv.indexOf("--config");k!==-1&&process.argv[k+1]&&(l=$u.default.resolve(process.argv[k+1]))}let f=$u.default.join(l,".cache",u.selector),d=$u.default.join(f,"index.json"),p=w$.default.readFileSync(d,{encoding:"utf-8"}),g=JSON.parse(p).modules.find(k=>k.domain==o);if(g===void 0)return console.warn(`Module not found in registry index: ${o} (registry: ${u.selector})`),Vt;if(g.version!==i)return console.warn(`Module version not found in registry index: ${o} (requested: ${i}, available: ${g.version})`),Vt;let v=o.substring(g.location.length),b=((c=g.location.split("://")[1])!=null?c:g.location).replace(/\/+$/,""),y=v.startsWith("/")?v:`/${v}`;o=`${b}${y}`}return Vr({Location:o,Scheme:n,Version:i,toString(){return HB.toString(this)}})}function E_e(t,e){let i=new xi(e).list().find(o=>t.startsWith(o.selector));if(i!==void 0){let o;if(e)o=$u.default.resolve(e);else{o=$u.default.join(WB.default.homedir(),".config","kdsl");let f=process.argv.indexOf("--config");f!==-1&&process.argv[f+1]&&(o=$u.default.resolve(process.argv[f+1]))}let s=$u.default.join(o,".cache",i.selector),a=$u.default.join(s,"index.json");if(!w$.default.existsSync(a))return console.warn(`Index not found in cache: ${a}`),Vt;let u=w$.default.readFileSync(a,{encoding:"utf-8"}),l=JSON.parse(u).modules.find(f=>f.domain==t);return l===void 0?(console.warn(`Module not found in registry index: ${t} (registry: ${i.selector})`),Vt):Vr(l.checksum)}return Vt}var zft=H.object({indirect:H.optional(H.boolean()),sum:H.string()}),Bft=H.object({spec:H.literal("kumori/sumdb/v1"),content:H.record(H.string(),zft)}),Mf;(function(t){t.Type=H.discriminatedUnion("spec",[Bft]),t.Parse=t.Type.safeParseAsync,t.Retrieve=Vft,t.Register=Hft,t.New=()=>({spec:"kumori/sumdb/v1",content:{}}),t.Open=Wft,t.Read=Gft,t.Write=T_e})(Mf||(Mf={}));var $_e=(t,e)=>{let r=`${t}@${e}`,n=Fc(r);return J.isOk(n)?n.value.toString():r};function Vft(t,e,r){var n;switch(t.spec){case"kumori/sumdb/v1":return je.fromNullable((n=t.content[$_e(e,r)])==null?void 0:n.sum)}}async function Hft(t,e,r,n,i){switch(t.spec){case"kumori/sumdb/v1":{let o=await cp(e.fsPath);t.content[$_e(n,i)]={sum:o};break}}return T_e(r.Locations.Checksum(),t)}var GB=t=>me.joinPath(t.Root,"kumori.sum.json");async function Wft(t){let e;try{e=(await(0,E6.readFile)(t.fsPath)).toString("utf-8")}catch(r){return Ke(Mf.New())}return J.mapErr(await P_e(e),r=>`error parsing sumdb '${t.fsPath}': ${r}`)}async function Gft(t){let e;try{e=(await(0,E6.readFile)(t.fsPath)).toString("utf-8")}catch(r){return be(`unable to open sumdb: error reading file '${t.fsPath}'`)}return J.mapErr(await P_e(e),r=>`error parsing sumdb '${t.fsPath}': ${r}`)}async function P_e(t){let e;try{e=JSON.parse(t)}catch(n){return be("invalid json data")}let r=await Mf.Parse(e);if(!r.success){let n,i=Kft(r.error);return i.length===0?n="<unknown error>":n=`
|
|
397
397
|
`+i.join(`
|
|
398
|
-
`),be(n)}return Ke(r.data)}async function T_e(t,e){let r;try{r=JSON.stringify(e,void 0,4)}catch(n){return be("unable to serialize sumdb")}try{await(0,E6.writeFile)(t.fsPath,r)}catch(n){return be(`error writing to sumdb: error writing file '${t.fsPath}': `+n)}return Ke(void 0)}function Kft(t){return R_e("",H.treeifyError(t)).map(([r,n])=>r===""?n:`- [${r}]: ${n}`)}function R_e(t,e){let r=[];"_errors"in e&&Array.isArray(e._errors)&&e._errors.every(n=>typeof n=="string")&&(r=r.concat(e._errors.map(n=>[t,n])));for(let[n,i]of Object.entries(e))n!=="_errors"&&(typeof i!="object"||i===null||(r=r.concat(R_e(`${t}.${n}`,i))));return r}async function vn(t,e){let r=await Lm(t,e);if(J.isErr(r))return be(`not a module: unable to find ${an}`);let n=await Oc(t,r.value);if(J.isErr(n))return n;let i=n.value;return Ke({Current:i,Root:i,Locations:{Cache:xc(()=>$k(i)),Vendor:xc(()=>d_(i)),Checksum:xc(()=>GB(i))}})}(function(t){async function e(r,n,i){let o=await t(n,i);if(J.isErr(o))return be(`move context: ${i.fsPath}: no module in location`);if(o.value.Current.Root.fsPath===r.Current.Root.fsPath)return be(`move context: ${i.fsPath}: module not moved`);let s=o.value.Current;return Ke(ee(C({},r),{Current:s,Locations:ee(C({},r.Locations),{Vendor:xc(()=>d_(s)),Checksum:xc(()=>GB(s))})}))}t.Move=e})(vn||(vn={}));var C_e=Me(require("assert"),1),A_e=require("path");async function S$(t,e,r=Ue.CancellationToken.None){let n=t.svcs.workspace.FileSystemProvider,i=await vn(n,e.Root);return(0,C_e.default)(J.isOk(i)),await O_e(ee(C({},t),{mod:i.value}),r),Array.from(t.cache.values()).filter(je.isSome).map(o=>o.value)}async function O_e(t,e=Ue.CancellationToken.None){let r=t.mod.Current;if(r.Manifest.headers!==void 0){let n=r.Manifest.headers;await Tt(e),await KB(t,n.target,n.version,e)}for(let n of r.Manifest.requires)if(await Tt(e),await KB(t,n.target,n.version,e),n.headers!==void 0){let i=n.headers;await Tt(e),await KB(t,i.target,i.version,e)}}async function KB(t,e,r,n=Ue.CancellationToken.None){let i=t.svcs.workspace.FileSystemProvider,o=to(e,r);if(t.cache.get(o)!==void 0)return;t.cache.set(o,Vt);let a=await Zft(t,e,r);if(J.isErr(a))return;let u=await vn.Move(t.mod,i,a.value);J.isErr(u)||(t.cache.set(o,Ke(u.value.Current)),t=ee(C({},t),{mod:u.value}),await O_e(t,n))}async function Zft(t,e,r){let n=t.svcs.workspace.FileSystemProvider,i=to(e,r);if((0,A_e.isAbsolute)(e)){let a=ze.file(e),u=await J.tryCatchAsync(async()=>await n.readDirectory(a));if(J.isOk(u))return Vr(a)}let o=me.joinPath(t.mod.Locations.Vendor(),i),s=await J.tryCatchAsync(async()=>await n.readDirectory(o));return J.isOk(s)?Vr(o):(o=me.joinPath(t.mod.Locations.Cache(),i),s=await J.tryCatchAsync(async()=>await n.readDirectory(o)),J.isOk(s)?Vr(o):Vt)}async function P2(t,e,r=Ue.CancellationToken.None){await Tt(r);let n=[],i=t.ServiceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),o=d_(e).fsPath,s=$k(e).fsPath;return await Ek(t.workspace.FileSystemProvider,e,{Dir:a=>({skipDir:[o,s].includes(a.fsPath)}),File:a=>{let u=me.extname(a);i.includes(u)&&n.push(a)}},r),n}var x$=class{constructor(e){this.svcs=e,this.initialBuildOptions={},this.folders=[],this.mutex=new fm,this._ready=new go}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var r;this.folders=(r=e.workspaceFolders)!=null?r:this.folders}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders,r))}async initializeWorkspace(e,r=Ue.CancellationToken.None){e=e.map(Jft);let n=this.svcs.workspace.LangiumDocuments,i=c=>{n.hasDocument(c.uri)||n.addDocument(c)};this.loadStdlib(i);let o=this.svcs.references.KumoriModules.ResolverCtx(),s=this.svcs.workspace.FileSystemProvider,a=(await Promise.all(e.map(async c=>{let l=await Wde(s,c,r),f=(await Promise.all(l.map(p=>Oc(s,p.Current.Root)))).filter(J.isOk).map(p=>p.value);return(await Promise.all(f.map(p=>S$(o,p,r)))).flat().concat(f)}))).flat();await Promise.all(a.map(async c=>{let l=await P2(this.svcs,c.Root),f=ee(C({},c),{Docs:l});await this.svcs.references.KumoriModules.registerModule(f),await this.loadModule(f,i)})),this._ready.resolve(),await Tt(r);let u=this.svcs.workspace.LangiumDocuments.all.toArray();await this.svcs.workspace.DocumentBuilder.build(u,this.initialBuildOptions,r)}loadStdlib(e){let r=this.svcs.workspace.LangiumDocumentFactory;for(let n of sq)e(r.fromString(n.data,n.uri))}async loadModule(e,r){let n=this.svcs.workspace.LangiumDocumentFactory;for(let i of e.Docs)r(await n.fromUri(i))}async traverseFolder(e,r){try{let n=await this.svcs.workspace.FileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=me.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.svcs.ServiceRegistry.hasServices(e.uri):!1}};function Jft(t){let e=hS(ze.parse(t.uri));return ee(C({},t),{uri:e.toString()})}var I_e=Me(Na(),1);var k$=class extends H0{constructor(e){super(e),this.svcs=e}registerFileWatcher(e){let r=St(e.ServiceRegistry.all).flatMap(o=>o.LanguageMetaData.fileExtensions).map(o=>o.startsWith(".")?o.substring(1):o).distinct().toArray(),n={watchers:[]};r.length>0&&n.watchers.push({globPattern:r.length===1?`**/*.${r[0]}`:`**/*.{${r.join(",")}}`}),r.includes("kumori")&&n.watchers.push({globPattern:`**/${an}`});let i=e.lsp.Connection;i==null||i.client.register(I_e.DidChangeWatchedFilesNotification.type,n)}fireDocumentUpdate(e,r){(async()=>{let n=this.svcs.references.KumoriModules,i=[...e,...r].filter(a=>me.basename(a)===an);if(i.length){let a=n.ResolverCtx(),u=this.svcs.workspace.FileSystemProvider,c=(await Promise.all(i.map(async l=>{let f=await Oc(u,l);return J.isErr(f)?[]:(await S$(a,f.value)).concat(f.value)}))).flat();await Promise.all(c.map(async l=>{let f=await P2(this.svcs,l.Root),d=ee(C({},l),{Docs:f});await n.registerModule(d)}))}for(let a of i)n.invalidateModule(a);let o=e.filter(a=>me.basename(a)!==an),s=r.filter(a=>me.basename(a)!==an);super.fireDocumentUpdate(o,s)})()}};var Xft={workspace:{WorkspaceManager:t=>new x$(t),IndexManager:t=>new dS(t),DocumentBuilder:t=>new lS(t)},references:{KumoriModules:t=>new mS(t)},lsp:{DocumentUpdateHandler:t=>new k$(t)}},Yft={references:{ScopeComputation:t=>new yS(t),ScopeProvider:t=>new vS(t),Linker:t=>new pS(t),KumoriPackages:t=>new gS(t)},validation:{KumoriValidations:t=>zde(t),KumoriTypeSystem:t=>new _k(t),DocumentValidator:t=>new fS(t)},lsp:{SemanticTokenProvider:t=>new _S(t)}};function io(t){let e=dm(uae(t),fae,Xft),r=dm(cae({shared:e}),dae,Yft);return e.ServiceRegistry.register(r),Ude(r),t.connection||e.workspace.ConfigurationProvider.initialized({}),{shared:e,Kumori:r}}var Zo=Me(require("node:fs"),1),ZB=class{constructor(){this.encoding="utf-8"}async stat(e){let r=await Zo.promises.stat(e.fsPath);return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}statSync(e){let r=Zo.statSync(e.fsPath);return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}exists(e){return new Promise(r=>{Zo.stat(e.fsPath,n=>{r(!n)})})}existsSync(e){return Zo.existsSync(e.fsPath)}readBinary(e){return Zo.promises.readFile(e.fsPath)}readBinarySync(e){return Zo.readFileSync(e.fsPath)}readFile(e){return Zo.promises.readFile(e.fsPath,this.encoding)}readFileSync(e){return Zo.readFileSync(e.fsPath,this.encoding)}async readDirectory(e){return(await Zo.promises.readdir(e.fsPath,{withFileTypes:!0})).map(n=>({dirent:n,isFile:n.isFile(),isDirectory:n.isDirectory(),uri:me.joinPath(e,n.name)}))}readDirectorySync(e){return Zo.readdirSync(e.fsPath,{withFileTypes:!0}).map(n=>({dirent:n,isFile:n.isFile(),isDirectory:n.isDirectory(),uri:me.joinPath(e,n.name)}))}},ti={fileSystemProvider:()=>new ZB};var D_e=H.object({name:H.string(),artifact:H.union([oq,xk,kk]),resilience:H.number().nonnegative().optional(),scale:H.union([H.object({}).catchall(H.any()),H.number().nonnegative()]).optional(),config:H.object({}).catchall(H.any()).optional(),resource:H.object({}).catchall(Sf).optional(),meta:H.object({}).catchall(H.any()).optional()});var N_e={m:.001,k:1e3,M:1e6,G:1e9,T:1e12,P:1e15,E:1e18,Ki:1024,Mi:1048576,Gi:1073741824,Ti:1099511627776,Pi:0x4000000000000,Ei:1152921504606847e3},L_e=(t,e)=>{let r=N_e[t.unit],n=N_e[e];return{size:t.size*(r/n),unit:e}};function Cl(t){if(t.$type===UF){let e=zF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage"}}}if(t.$type===BF)return{volume:VF.parse(t).value};if(t.$type===XF)return{volume:YF.parse(t).value};if(t.$type===HF){let e=WF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"volatile"}}}if(t.$type===GF){let e=KF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"persistent"}}}if(t.$type===ZF){let e=JF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"nonreplicated"}}}if(t.$type===c_)return{ca:QF.parse(t).value};if(t.$type===u_)return{certificate:eq.parse(t).value};if(t.$type===_y)return{secret:tq.parse(t).value};if(t.$type===l_)return{domain:rq.parse(t).value};if(t.$type===f_)return{port:nq.parse(t).value};throw new Error(`unknown resource type '${t.$type}'`)}var M_e=require("path");function j_e(t){return typeof t=="string"?J.orElse(J.map(Sk(t),e=>{var r,n;return{tag:e.tag,hub:{name:e.hub,secret:typeof t=="string"?"":(n=(r=t.hub)==null?void 0:r.secret)!=null?n:""}}}),e=>{throw new Error(e)}):t}function pg(t,e){if(!e)return[];let r=tt.getDocument(e).uri,n=t.getModule(r);if(J.isErr(n))return[];let i=J.tryCatch(()=>new URL(`file://${n.value.Manifest.module}`));if(J.isErr(i))return[];let o=[];i.value.hostname.length&&o.push(a=>a.domain=i.value.hostname),i.value.pathname.length&&o.push(a=>{a.module=i.value.pathname.replace(/^\//,""),a.name=(0,M_e.basename)(a.module)});let s=n.value.Manifest.version;if(s){let a=s.split(".").map(Number);a.length>=3&&a.every(u=>!isNaN(u))&&o.push(u=>u.version=[a[0],a[1],a[2]])}return o}function F_e(t){let e="";return t.domain!==""?(e+=`${t.domain}`,t.module!==""&&(e+=`/${t.module}`)):t.module!==""&&(e+=t.module),e}function q_e(t,e,r){var u,c,l,f,d,p;let n={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"},i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let h of o)h(n);let s=t.nodes.get(e),a="";if(s&&hs(s)&&(a=s.name.value.$refText),a==="")throw new Error("Unable to determine component name for service artifact conversion.");return{spec:[1,0],ref:n,description:{builtin:!1,connector:{},config:{resilience:0,scale:{},parameter:{},resource:{}},role:{[a]:{name:a,meta:{},artifact:JB(t,e,r)}},srv:{client:Object.fromEntries(Object.entries((c=(u=e.srv)==null?void 0:u.client)!=null?c:{}).map(([h,g])=>[h,{protocol:g,inherited:!1}])),server:Object.fromEntries(Object.entries((f=(l=e.srv)==null?void 0:l.server)!=null?f:{}).map(([h,g])=>{let v;return typeof g=="string"?v={port:80,inherited:!1,protocol:g}:v=ee(C({},g),{inherited:!1}),[h,v]})),duplex:Object.fromEntries(Object.entries((p=(d=e.srv)==null?void 0:d.duplex)!=null?p:{}).map(([h,g])=>{let v;return typeof g=="string"?v={port:80,inherited:!1,protocol:g}:v=ee(C({},g),{inherited:!1}),[h,v]}))}}}}function JB(t,e,r){var l,f,d,p,h,g,v,x,b,y;let n={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"},i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let w of o)w(n);function s(w,k=!1){return Object.fromEntries(Object.entries(w!=null?w:{}).map(([I,E])=>{var O,U;return[I,{name:I,init:k,entrypoint:E.entrypoint,image:j_e(E.image),cmd:E.cmd,size:{memory:ee(C({},E.size.memory),{kind:"ram"}),cpu:ee(C({},E.size.cpu),{kind:"cpu"}),mincpu:E.size.mincpu?E.size.mincpu.size:E.size.cpu.size},mapping:{filesystem:Object.fromEntries(Object.entries((O=E.fs)!=null?O:{}).map(([N,M])=>[N,Qft(N,M)])),env:Object.fromEntries(Object.entries((U=E.env)!=null?U:{}).map(([N,M])=>{let $=N,L=typeof M=="string"||typeof M=="number"||typeof M=="boolean"?{value:String(M)}:M;return[$,L]}))}}]}))}let a=Object.fromEntries(((l=e.init)!=null?l:[]).map((w,k)=>[`INIT_${k}`,w])),u=s(e.code),c=s(a,!0);return{spec:[1,0],ref:n,description:{builtin:!1,config:{resilience:0,scale:{hsize:r!=null?r:1},parameter:e.config,resource:Object.fromEntries(Object.entries((f=e.resource)!=null?f:{}).map(([w,k])=>[w,Cl(k)]))},size:{bandwidth:ee(C({},e.size.bandwidth),{kind:"bandwidth"}),minbandwidth:Math.ceil(L_e((d=e.size.minbandwidth)!=null?d:e.size.bandwidth,e.size.bandwidth.unit).size),mincpu:ee(C({},e.size.mincpu),{kind:"cpu"})},profile:{threadability:"*",iopsintensive:!1},srv:{client:Object.fromEntries(Object.entries((h=(p=e.srv)==null?void 0:p.client)!=null?h:{}).map(([w,k])=>[w,{protocol:k,inherited:!1}])),server:Object.fromEntries(Object.entries((v=(g=e.srv)==null?void 0:g.server)!=null?v:{}).map(([w,k])=>{let I;return typeof k=="string"?I={port:80,portnum:1,inherited:!1,protocol:k}:I=ee(C({},k),{portnum:1,inherited:!1}),[w,I]})),duplex:Object.fromEntries(Object.entries((b=(x=e.srv)==null?void 0:x.duplex)!=null?b:{}).map(([w,k])=>{let I;return typeof k=="string"?I={port:80,portnum:1,inherited:!1,protocol:k}:I=ee(C({},k),{portnum:1,inherited:!1}),[w,I]}))},code:C(C({},c),u),probe:Object.fromEntries(Object.entries((y=e.probe)!=null?y:{}).map(([w,k])=>[w,k]))}}}function Qft(t,e){var r,n,i,o;if(typeof e=="string")return{path:t,data:{value:e},format:"text"};if(typeof e=="object"){if("volume"in e)return{path:t,volume:e.volume};if("data"in e)return{path:t,data:{value:e.data},format:(r=e.format)!=null?r:"text",mode:(n=e.mode)!=null?n:420};let a=["secret","port","domain","certificate","ca"].find(u=>u in e);if(a){let u=a;return{path:t,data:{[u]:e[u]},format:(i=e.format)!=null?i:"text",mode:(o=e.mode)!=null?o:420}}}throw new Error(`Unknown key '${t}': ${JSON.stringify(e)}`)}function XB(t){var r,n,i;let e=xo(t.id.version);return{spec:[1,0],ref:{version:[e.major,e.minor,e.patch],kind:t.id.kind,domain:t.id.domain,module:t.id.module,name:t.id.name},description:{builtin:!0,srv:{client:Object.fromEntries(Object.entries((r=t.srv.client)!=null?r:{}).map(([o])=>[o,{protocol:"http",inherited:!1}])),server:Object.fromEntries(Object.entries((n=t.srv.server)!=null?n:{}).map(([o,s])=>{let a;return typeof s=="string"?a={port:80,portnum:1,inherited:!1,protocol:s}:a=ee(C({},s),{inherited:!1}),[o,a]}))},config:{resilience:0,scale:{},parameter:(i=t.config)!=null?i:{},resource:Object.fromEntries(Object.entries(t.resource).map(([o,s])=>[o,Cl(s)]))},connector:{},role:{}}}}function U_e(t,e){var r,n;return{name:hg(t),up:T2(t),meta:{},config:{resilience:0,scale:{},parameter:(r=e.config)!=null?r:{},resource:Object.fromEntries(Object.entries((n=e.resource)!=null?n:{}).map(([i,o])=>[i,Cl(o)]))},artifact:XB(e)}}function E$(t,e,r,n){let i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let s of o)s(r);return n&&(r.kind="service"),r}function YB(t,e){return t.some(r=>JSON.stringify(r)===JSON.stringify(e))}function QB(t,e){return{role:t,channel:e}}function $$(t,e,r){return{meta:t,links:[{role:e,channel:r}]}}function z_e(t,e,r){var i,o,s,a;let n={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"};if(r.$type===Sy){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let l of r.value.from){c.push(QB(l.target,l.channel));for(let f of r.value.to){let d=e.role[f.target=="self"?l.target:f.target],p=jf(d.artifact)||f.target=="self";E$(t,d,n,p);let h=(i=r.value.meta)!=null?i:[{auto:{channel:f.target!=="self"?f.target+"."+f.channel:f.channel,compRef:n,roleName:f.target=="self"?l.target:f.target},user:{}}],g=$$(h,f.target,f.channel);YB(u,g)||u.push(g)}}else if("from"in r.value&&!Array.isArray(r.value.from)&&!Array.isArray(r.value.to)){let l=r.value.from,f=r.value.to;c.push(QB(l.target,l.channel));let d=e.role[f.target=="self"?l.target:f.target],p=jf(d.artifact)||f.target=="self";E$(t,d,n,p);let h=(o=r.value.meta)!=null?o:[{auto:{channel:f.target!=="self"?f.target+"."+f.channel:f.channel,compRef:n,roleName:f.target=="self"?l.target:f.target},user:{}}],g=$$(h,f.target,f.channel);YB(u,g)||u.push(g)}return{kind:"lb",clients:c,servers:u}}if(r.$type===xy){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let l of r.value.from){c.push(QB(l.target,l.channel));for(let f of r.value.to){let d=e.role[f.target=="self"?l.target:f.target],p=jf(d.artifact);E$(t,d,n,p);let h=(s=r.value.meta)!=null?s:[{auto:{channel:f.target!=="self"?f.target+"."+f.channel:f.channel,compRef:n,roleName:f.target=="self"?l.target:f.target},user:{}}],g=$$(h,f.target,f.channel);YB(u,g)||u.push(g)}}else if("target"in r.value&&"channel"in r.value){let l=e.role[r.value.target],f=jf(l.artifact);E$(t,l,n,f);let d=(a=r.value.meta)!=null?a:[{auto:{channel:r.value.channel,compRef:n,roleName:r.value.target},user:{}}];u.push($$(d,r.value.target,r.value.channel))}return{kind:"full",clients:c,servers:u}}throw new Error(`unknown connection type '${r.$type}'`)}function eV(t,e,r){var a,u,c,l,f,d,p,h,g,v,x;let n={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let b of o)b(n);let s={spec:[1,0],ref:n,description:{builtin:!1,config:{resilience:0,scale:{detail:Object.fromEntries(Object.entries((a=e.role)!=null?a:{}).map(([b])=>[b,{hsize:r&&typeof r=="object"&&b in r?r[b]:1}]))},parameter:(u=e==null?void 0:e.config)!=null?u:{},resource:Object.fromEntries(Object.entries((c=e.resource)!=null?c:{}).map(([b,y])=>[b,Cl(y)]))},role:{},connector:Object.fromEntries(Object.entries((l=e.connect)!=null?l:{}).map(([b,y])=>[b,z_e(t,e,y)])),srv:{client:Object.fromEntries(Object.entries((d=(f=e.srv)==null?void 0:f.client)!=null?d:{}).map(([b,y])=>[b,{protocol:y,inherited:!1}])),server:Object.fromEntries(Object.entries((h=(p=e.srv)==null?void 0:p.server)!=null?h:{}).map(([b,y])=>{let w;return typeof y=="string"?w={port:80,inherited:!1,protocol:y}:w=ee(C({},y),{inherited:!1}),[b,w]})),duplex:Object.fromEntries(Object.entries((v=(g=e.srv)==null?void 0:g.duplex)!=null?v:{}).map(([b,y])=>{let w;return typeof y=="string"?w={port:80,inherited:!1,protocol:y}:w=ee(C({},y),{inherited:!1}),[b,w]}))}}};return s.description.role=Object.fromEntries(Object.entries((x=e.role)!=null?x:{}).map(([b,y])=>[b,tdt(t,b,y,s)]).filter(([,b])=>je.isSome(b)).map(([b,y])=>[b,y.value])),s}function edt(t,e){var r,n,i,o,s,a,u,c;return{name:hg(t),up:T2(t),meta:{},config:{resilience:0,scale:(i=(r=e.config)==null?void 0:r.scale)!=null?i:{hsize:(n=e.config)==null?void 0:n.scale},parameter:(s=(o=e.config)==null?void 0:o.parameter)!=null?s:{},resource:Object.fromEntries(Object.entries((u=(a=e.config)==null?void 0:a.resource)!=null?u:{}).map(([l,f])=>[l,Cl(f)]))},artifact:eV(t,e,(c=e.config)==null?void 0:c.scale)}}function tdt(t,e,r,n){var s,a,u,c,l,f,d,p,h,g,v,x,b,y,w,k,I,E,j,O,U;if(mg(r.artifact)){let N=(a=(s=n.description.config)==null?void 0:s.scale)!=null&&a.detail?(u=n.description.config.scale.detail[e])==null?void 0:u.hsize:1;return Vr({name:e,meta:r.meta,config:{resilience:0,scale:{hsize:N},parameter:(c=r.artifact.config)!=null?c:{},resource:{}},artifact:JB(t,r.artifact,N)})}let i=r.artifact;t=B_e(t,e),V_e(t,jf(i)?edt(t,i):U_e(t,i)),(f=(l=n.description).srv)!=null||(l.srv={}),(p=(d=n.description.srv).server)!=null||(d.server={}),(g=(h=n.description.srv).client)!=null||(h.client={});for(let[,N]of Object.entries((v=n.description.connector)!=null?v:{})){for(let M of N.clients){if(M.role!==e)continue;let $=C({},M),L=`${M.role}.${M.channel}`,q=((b=(x=i==null?void 0:i.srv)==null?void 0:x.client)!=null?b:{})[M.channel];n.description.srv.server[L]={inherited:!0,protocol:M.channel=="inbound"?"http":q},M.role="self",M.channel=L,(w=(y=t.root).links)!=null||(y.links=[]),t.root.links.push({meta:{},s_d:hg(t),s_c:$.channel,t_d:T2(t),t_c:L})}for(let M of N.servers)for(let $ of M.links)if($.role===e){let L=`${$.role}.${$.channel}`,q=((I=(k=i==null?void 0:i.srv)==null?void 0:k.server)!=null?I:{})[$.channel];q===void 0&&(q=((j=(E=i==null?void 0:i.srv)==null?void 0:E.duplex)!=null?j:{})[$.channel]),n.description.srv.client[L]={inherited:!0,protocol:typeof q=="string"?q:q.protocol,port:typeof q=="object"?q.port:void 0},(U=(O=t.root).links)!=null||(O.links=[]),t.root.links.push({meta:{},s_d:T2(t),s_c:L,t_d:hg(t),t_c:$.channel}),$.role="self",$.channel=L}}return Vt}var hg=t=>t.path.join("."),T2=t=>t.path.slice(0,-1).join("."),B_e=(t,e)=>ee(C({},t),{path:[...t.path,e]}),V_e=(t,e)=>t.root.deployments[hg(t)]=e;function H_e(t,e,r){var o,s,a;let n={cspec:"1.0",top:r.name,deployments:{},links:[]},i={svcs:t,path:[r.name],root:n,nodes:e};return n.deployments[r.name]={name:r.name,meta:r.meta,config:{parameter:(o=r.config)!=null?o:{},resource:Object.fromEntries(Object.entries((s=r.resource)!=null?s:{}).map(([u,c])=>[u,Cl(c)])),resilience:(a=r.resilience)!=null?a:0,scale:{detail:(()=>{var u;if(mg(r.artifact)){let c=i.nodes.get(r.artifact),l="";if(c&&hs(c)&&(l=c.name.value.$refText),l==="")throw new Error("Unable to determine component name for scale detail.");return{[l]:{hsize:typeof r.scale=="number"?r.scale:1}}}if(jf(r.artifact)){let c=Object.entries((u=r.artifact.role)!=null?u:{});return Object.fromEntries(c.map(([l])=>[l,{hsize:r.scale&&typeof r.scale=="object"&&!Array.isArray(r.scale)&&l in r.scale?r.scale[l]:1}]))}return{}})()}},artifact:(()=>{if(mg(r.artifact))return q_e(i,r.artifact,r.scale);if(jf(r.artifact))return eV(i,r.artifact,r.scale);if(W_e(r.artifact))return XB(r.artifact);throw new Error("unknown artifact")})()},n}function mg(t){return"size"in t}function jf(t){return!(mg(t)||W_e(t))}function W_e(t){return"id"in t}function G_e(t,e,r){let n=tV(t,e,r);if(J.isErr(n))return n;let{nodes:i,deployment:o}=n.value,s=JSON.stringify(H_e(e,i,o),null,2);return Ke(s)}function tV(t,e,r){var c,l;let n=e.validation.KumoriTypeSystem,[{Value:i},o]=n.Eval(e.validation.KumoriValidations.ctx(),r);if(o.length!==0){let f=[];for(let d of o){let p=d.node,h=tt.getDocument(p),g=((c=p.$cstNode)==null?void 0:c.range.start)||{line:0,character:0},v=`${h.uri.fsPath}:${g.line}:${g.character}: type error: ${d.message}`;t.error(v),f.push(v)}return be(f)}let s=new Map,a=dl({svcs:e,nodes:s},i);if(J.isErr(a)){let f=[];for(let d of a.err){let p=d.node,h=tt.getDocument(p),g=((l=p.$cstNode)==null?void 0:l.range.start)||{line:0,character:0},v=`${h.uri.fsPath}:${g.line}:${g.character}: json conversion error: ${d.message}`;t.error(v),f.push(v)}return be(f)}let u=D_e.safeParse(a.value);if(!u.success){let f=[];for(let d of u.error.issues){let p=`${d.code}: ${d.path}: invalid deployment: ${d.message}`;t.error(p),f.push(p)}return be(f)}return Ke({nodes:s,deployment:a.value})}function P$(t,e=new Jn){if(t.Manifest.headers!==void 0){let[r,n]=[t.Manifest.headers.target,t.Manifest.headers.version],i=to(r,n);e.add(i,{target:r,version:n})}for(let r of t.Manifest.requires){let[n,i]=[r.target,r.version],o={target:n,version:i},s=to(n,i);if(e.add(s,o),r.headers!==void 0){let[a,u]=[r.headers.target,r.headers.version],c=to(a,u);o.interface={target:a,version:u},e.add(c,o.interface)}}return e}var Vf=Me(require("assert"),1);var K_e=require("path");async function $6(t,e,r){let n=to(e,r),i=Fc(n);if(je.isSome(i)&&(e=i.value.Location),(0,K_e.isAbsolute)(e)){let a=ze.file(e),u=await Oc(t.FS,a);return J.isOk(u)?u:Vt}let o=me.joinPath(t.Locations.Vendor(),n),s=await Oc(t.FS,o);return J.isOk(s)||(o=me.joinPath(t.Locations.Cache(),n),s=await Oc(t.FS,o),J.isOk(s))?s:Vt}var wT=Me(require("node:path"),1);var QW=Me(g7e(),1);var u9e=require("node:buffer"),sT=Me(R7e(),1),nT=Me(iW(),1),Q9e=require("child_process"),LSe=Me(sW(),1),GSe=require("node:path"),tv=Me(sW(),1),lxe=require("node:events");var $W=Object.defineProperty,Hht=Object.getOwnPropertyDescriptor,PW=Object.getOwnPropertyNames,Wht=Object.prototype.hasOwnProperty,Ve=(t,e)=>function(){return t&&(e=(0,t[PW(t)[0]])(t=0)),e},Ght=(t,e)=>function(){return e||(0,t[PW(t)[0]])((e={exports:{}}).exports,e),e.exports},$i=(t,e)=>{for(var r in e)$W(t,r,{get:e[r],enumerable:!0})},Kht=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of PW(e))!Wht.call(t,i)&&i!==r&&$W(t,i,{get:()=>e[i],enumerable:!(n=Hht(e,i))||n.enumerable});return t},di=t=>Kht($W({},"__esModule",{value:!0}),t);function Zht(...t){let e=new String(t);return oT.set(e,t),e}function eT(t){return t instanceof String&&oT.has(t)}function C7e(t){return oT.get(t)||[]}var oT,H6=Ve({"src/lib/args/pathspec.ts"(){"use strict";oT=new WeakMap}}),zf,Jp=Ve({"src/lib/errors/git-error.ts"(){"use strict";zf=class extends Error{constructor(t,e){super(e),this.task=t,Object.setPrototypeOf(this,new.target.prototype)}}}}),W6,nv=Ve({"src/lib/errors/git-response-error.ts"(){"use strict";Jp(),W6=class extends zf{constructor(t,e){super(void 0,e||String(t)),this.git=t}}}}),a9e,c9e=Ve({"src/lib/errors/task-configuration-error.ts"(){"use strict";Jp(),a9e=class extends zf{constructor(t){super(void 0,t)}}}});function l9e(t){return typeof t!="function"?Tg:t}function f9e(t){return typeof t=="function"&&t!==Tg}function d9e(t,e){let r=t.indexOf(e);return r<=0?[t,""]:[t.substr(0,r),t.substr(r+1)]}function p9e(t,e=0){return h9e(t)&&t.length>e?t[e]:void 0}function Pg(t,e=0){if(h9e(t)&&t.length>e)return t[t.length-1-e]}function h9e(t){return lT(t)}function G6(t="",e=!0,r=`
|
|
398
|
+
`),be(n)}return Ke(r.data)}async function T_e(t,e){let r;try{r=JSON.stringify(e,void 0,4)}catch(n){return be("unable to serialize sumdb")}try{await(0,E6.writeFile)(t.fsPath,r)}catch(n){return be(`error writing to sumdb: error writing file '${t.fsPath}': `+n)}return Ke(void 0)}function Kft(t){return R_e("",H.treeifyError(t)).map(([r,n])=>r===""?n:`- [${r}]: ${n}`)}function R_e(t,e){let r=[];"_errors"in e&&Array.isArray(e._errors)&&e._errors.every(n=>typeof n=="string")&&(r=r.concat(e._errors.map(n=>[t,n])));for(let[n,i]of Object.entries(e))n!=="_errors"&&(typeof i!="object"||i===null||(r=r.concat(R_e(`${t}.${n}`,i))));return r}async function vn(t,e){let r=await Lm(t,e);if(J.isErr(r))return be(`not a module: unable to find ${an}`);let n=await Oc(t,r.value);if(J.isErr(n))return n;let i=n.value;return Ke({Current:i,Root:i,Locations:{Cache:xc(()=>$k(i)),Vendor:xc(()=>d_(i)),Checksum:xc(()=>GB(i))}})}(function(t){async function e(r,n,i){let o=await t(n,i);if(J.isErr(o))return be(`move context: ${i.fsPath}: no module in location`);if(o.value.Current.Root.fsPath===r.Current.Root.fsPath)return be(`move context: ${i.fsPath}: module not moved`);let s=o.value.Current;return Ke(ee(C({},r),{Current:s,Locations:ee(C({},r.Locations),{Vendor:xc(()=>d_(s)),Checksum:xc(()=>GB(s))})}))}t.Move=e})(vn||(vn={}));var C_e=Me(require("assert"),1),A_e=require("path");async function S$(t,e,r=Ue.CancellationToken.None){let n=t.svcs.workspace.FileSystemProvider,i=await vn(n,e.Root);return(0,C_e.default)(J.isOk(i)),await O_e(ee(C({},t),{mod:i.value}),r),Array.from(t.cache.values()).filter(je.isSome).map(o=>o.value)}async function O_e(t,e=Ue.CancellationToken.None){let r=t.mod.Current;if(r.Manifest.headers!==void 0){let n=r.Manifest.headers;await Tt(e),await KB(t,n.target,n.version,e)}for(let n of r.Manifest.requires)if(await Tt(e),await KB(t,n.target,n.version,e),n.headers!==void 0){let i=n.headers;await Tt(e),await KB(t,i.target,i.version,e)}}async function KB(t,e,r,n=Ue.CancellationToken.None){let i=t.svcs.workspace.FileSystemProvider,o=to(e,r);if(t.cache.get(o)!==void 0)return;t.cache.set(o,Vt);let a=await Zft(t,e,r);if(J.isErr(a))return;let u=await vn.Move(t.mod,i,a.value);J.isErr(u)||(t.cache.set(o,Ke(u.value.Current)),t=ee(C({},t),{mod:u.value}),await O_e(t,n))}async function Zft(t,e,r){let n=t.svcs.workspace.FileSystemProvider,i=to(e,r);if((0,A_e.isAbsolute)(e)){let a=ze.file(e),u=await J.tryCatchAsync(async()=>await n.readDirectory(a));if(J.isOk(u))return Vr(a)}let o=me.joinPath(t.mod.Locations.Vendor(),i),s=await J.tryCatchAsync(async()=>await n.readDirectory(o));return J.isOk(s)?Vr(o):(o=me.joinPath(t.mod.Locations.Cache(),i),s=await J.tryCatchAsync(async()=>await n.readDirectory(o)),J.isOk(s)?Vr(o):Vt)}async function P2(t,e,r=Ue.CancellationToken.None){await Tt(r);let n=[],i=t.ServiceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),o=d_(e).fsPath,s=$k(e).fsPath;return await Ek(t.workspace.FileSystemProvider,e,{Dir:a=>({skipDir:[o,s].includes(a.fsPath)}),File:a=>{let u=me.extname(a);i.includes(u)&&n.push(a)}},r),n}var x$=class{constructor(e){this.svcs=e,this.initialBuildOptions={},this.folders=[],this.mutex=new fm,this._ready=new go}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var r;this.folders=(r=e.workspaceFolders)!=null?r:this.folders}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders,r))}async initializeWorkspace(e,r=Ue.CancellationToken.None){e=e.map(Jft);let n=this.svcs.workspace.LangiumDocuments,i=c=>{n.hasDocument(c.uri)||n.addDocument(c)};this.loadStdlib(i);let o=this.svcs.references.KumoriModules.ResolverCtx(),s=this.svcs.workspace.FileSystemProvider,a=(await Promise.all(e.map(async c=>{let l=await Wde(s,c,r),f=(await Promise.all(l.map(p=>Oc(s,p.Current.Root)))).filter(J.isOk).map(p=>p.value);return(await Promise.all(f.map(p=>S$(o,p,r)))).flat().concat(f)}))).flat();await Promise.all(a.map(async c=>{let l=await P2(this.svcs,c.Root),f=ee(C({},c),{Docs:l});await this.svcs.references.KumoriModules.registerModule(f),await this.loadModule(f,i)})),this._ready.resolve(),await Tt(r);let u=this.svcs.workspace.LangiumDocuments.all.toArray();await this.svcs.workspace.DocumentBuilder.build(u,this.initialBuildOptions,r)}loadStdlib(e){let r=this.svcs.workspace.LangiumDocumentFactory;for(let n of sq)e(r.fromString(n.data,n.uri))}async loadModule(e,r){let n=this.svcs.workspace.LangiumDocumentFactory;for(let i of e.Docs)r(await n.fromUri(i))}async traverseFolder(e,r){try{let n=await this.svcs.workspace.FileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=me.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.svcs.ServiceRegistry.hasServices(e.uri):!1}};function Jft(t){let e=hS(ze.parse(t.uri));return ee(C({},t),{uri:e.toString()})}var I_e=Me(Na(),1);var k$=class extends H0{constructor(e){super(e),this.svcs=e}registerFileWatcher(e){let r=St(e.ServiceRegistry.all).flatMap(o=>o.LanguageMetaData.fileExtensions).map(o=>o.startsWith(".")?o.substring(1):o).distinct().toArray(),n={watchers:[]};r.length>0&&n.watchers.push({globPattern:r.length===1?`**/*.${r[0]}`:`**/*.{${r.join(",")}}`}),r.includes("kumori")&&n.watchers.push({globPattern:`**/${an}`});let i=e.lsp.Connection;i==null||i.client.register(I_e.DidChangeWatchedFilesNotification.type,n)}fireDocumentUpdate(e,r){(async()=>{let n=this.svcs.references.KumoriModules,i=[...e,...r].filter(a=>me.basename(a)===an);if(i.length){let a=n.ResolverCtx(),u=this.svcs.workspace.FileSystemProvider,c=(await Promise.all(i.map(async l=>{let f=await Oc(u,l);return J.isErr(f)?[]:(await S$(a,f.value)).concat(f.value)}))).flat();await Promise.all(c.map(async l=>{let f=await P2(this.svcs,l.Root),d=ee(C({},l),{Docs:f});await n.registerModule(d)}))}for(let a of i)n.invalidateModule(a);let o=e.filter(a=>me.basename(a)!==an),s=r.filter(a=>me.basename(a)!==an);super.fireDocumentUpdate(o,s)})()}};var Xft={workspace:{WorkspaceManager:t=>new x$(t),IndexManager:t=>new dS(t),DocumentBuilder:t=>new lS(t)},references:{KumoriModules:t=>new mS(t)},lsp:{DocumentUpdateHandler:t=>new k$(t)}},Yft={references:{ScopeComputation:t=>new yS(t),ScopeProvider:t=>new vS(t),Linker:t=>new pS(t),KumoriPackages:t=>new gS(t)},validation:{KumoriValidations:t=>zde(t),KumoriTypeSystem:t=>new _k(t),DocumentValidator:t=>new fS(t)},lsp:{SemanticTokenProvider:t=>new _S(t)}};function io(t){let e=dm(uae(t),fae,Xft),r=dm(cae({shared:e}),dae,Yft);return e.ServiceRegistry.register(r),Ude(r),t.connection||e.workspace.ConfigurationProvider.initialized({}),{shared:e,Kumori:r}}var Zo=Me(require("node:fs"),1),ZB=class{constructor(){this.encoding="utf-8"}async stat(e){let r=await Zo.promises.stat(e.fsPath);return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}statSync(e){let r=Zo.statSync(e.fsPath);return{isFile:r.isFile(),isDirectory:r.isDirectory(),uri:e}}exists(e){return new Promise(r=>{Zo.stat(e.fsPath,n=>{r(!n)})})}existsSync(e){return Zo.existsSync(e.fsPath)}readBinary(e){return Zo.promises.readFile(e.fsPath)}readBinarySync(e){return Zo.readFileSync(e.fsPath)}readFile(e){return Zo.promises.readFile(e.fsPath,this.encoding)}readFileSync(e){return Zo.readFileSync(e.fsPath,this.encoding)}async readDirectory(e){return(await Zo.promises.readdir(e.fsPath,{withFileTypes:!0})).map(n=>({dirent:n,isFile:n.isFile(),isDirectory:n.isDirectory(),uri:me.joinPath(e,n.name)}))}readDirectorySync(e){return Zo.readdirSync(e.fsPath,{withFileTypes:!0}).map(n=>({dirent:n,isFile:n.isFile(),isDirectory:n.isDirectory(),uri:me.joinPath(e,n.name)}))}},ti={fileSystemProvider:()=>new ZB};var D_e=H.object({name:H.string(),artifact:H.union([oq,xk,kk]),resilience:H.number().nonnegative().optional(),scale:H.union([H.object({}).catchall(H.any()),H.number().nonnegative()]).optional(),config:H.object({}).catchall(H.any()).optional(),resource:H.object({}).catchall(Sf).optional(),meta:H.object({}).catchall(H.any()).optional()});var N_e={m:.001,k:1e3,M:1e6,G:1e9,T:1e12,P:1e15,E:1e18,Ki:1024,Mi:1048576,Gi:1073741824,Ti:1099511627776,Pi:0x4000000000000,Ei:1152921504606847e3},L_e=(t,e)=>{let r=N_e[t.unit],n=N_e[e];return{size:t.size*(r/n),unit:e}};function Cl(t){if(t.$type===UF){let e=zF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage"}}}if(t.$type===BF)return{volume:VF.parse(t).value};if(t.$type===XF)return{volume:YF.parse(t).value};if(t.$type===HF){let e=WF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"volatile"}}}if(t.$type===GF){let e=KF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"persistent"}}}if(t.$type===ZF){let e=JF.parse(t);return{volume:{size:e.value.size,unit:e.value.unit,kind:"storage",type:"nonreplicated"}}}if(t.$type===c_)return{ca:QF.parse(t).value};if(t.$type===u_)return{certificate:eq.parse(t).value};if(t.$type===_y)return{secret:tq.parse(t).value};if(t.$type===l_)return{domain:rq.parse(t).value};if(t.$type===f_)return{port:nq.parse(t).value};throw new Error(`unknown resource type '${t.$type}'`)}var M_e=require("path");function j_e(t){return typeof t=="string"?J.orElse(J.map(Sk(t),e=>{var r,n;return{tag:e.tag,hub:{name:e.hub,secret:typeof t=="string"?"":(n=(r=t.hub)==null?void 0:r.secret)!=null?n:""}}}),e=>{throw new Error(e)}):t}function pg(t,e){if(!e)return[];let r=tt.getDocument(e).uri,n=t.getModule(r);if(J.isErr(n))return[];let i=J.tryCatch(()=>new URL(`file://${n.value.Manifest.module}`));if(J.isErr(i))return[];let o=[];i.value.hostname.length&&o.push(a=>a.domain=i.value.hostname),i.value.pathname.length&&o.push(a=>{a.module=i.value.pathname.replace(/^\//,""),a.name=(0,M_e.basename)(a.module)});let s=n.value.Manifest.version;if(s){let a=s.split(".").map(Number);a.length>=3&&a.every(u=>!isNaN(u))&&o.push(u=>u.version=[a[0],a[1],a[2]])}return o}function F_e(t){let e="";return t.domain!==""?(e+=`${t.domain}`,t.module!==""&&(e+=`/${t.module}`)):t.module!==""&&(e+=t.module),e}function q_e(t,e,r){var u,c,l,f,d,p;let n={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let h of o)h(n);let s=t.nodes.get(e),a="";if(s&&hs(s)&&(a=s.name.value.$refText),a==="")throw new Error("Unable to determine component name for service artifact conversion.");return{spec:[1,0],ref:n,description:{builtin:!1,connector:{},config:{resilience:0,scale:{},parameter:{},resource:{}},role:{[a]:{name:a,meta:{},artifact:JB(t,e,r)}},srv:{client:Object.fromEntries(Object.entries((c=(u=e.srv)==null?void 0:u.client)!=null?c:{}).map(([h,g])=>[h,{protocol:g,inherited:!1}])),server:Object.fromEntries(Object.entries((f=(l=e.srv)==null?void 0:l.server)!=null?f:{}).map(([h,g])=>{let v;return typeof g=="string"?v={port:80,inherited:!1,protocol:g}:v=ee(C({},g),{inherited:!1}),[h,v]})),duplex:Object.fromEntries(Object.entries((p=(d=e.srv)==null?void 0:d.duplex)!=null?p:{}).map(([h,g])=>{let v;return typeof g=="string"?v={port:80,inherited:!1,protocol:g}:v=ee(C({},g),{inherited:!1}),[h,v]}))}}}}function JB(t,e,r){var l,f,d,p,h,g,v,x,b,y;let n={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"},i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let w of o)w(n);function s(w,k=!1){return Object.fromEntries(Object.entries(w!=null?w:{}).map(([I,E])=>{var O,U;return[I,{name:I,init:k,entrypoint:E.entrypoint,image:j_e(E.image),cmd:E.cmd,size:{memory:ee(C({},E.size.memory),{kind:"ram"}),cpu:ee(C({},E.size.cpu),{kind:"cpu"}),mincpu:E.size.mincpu?E.size.mincpu.size:E.size.cpu.size},mapping:{filesystem:Object.fromEntries(Object.entries((O=E.fs)!=null?O:{}).map(([N,M])=>[N,Qft(N,M)])),env:Object.fromEntries(Object.entries((U=E.env)!=null?U:{}).map(([N,M])=>{let $=N,L=typeof M=="string"||typeof M=="number"||typeof M=="boolean"?{value:String(M)}:M;return[$,L]}))}}]}))}let a=Object.fromEntries(((l=e.init)!=null?l:[]).map((w,k)=>[`INIT_${k}`,w])),u=s(e.code),c=s(a,!0);return{spec:[1,0],ref:n,description:{builtin:!1,config:{resilience:0,scale:{hsize:r!=null?r:1},parameter:e.config,resource:Object.fromEntries(Object.entries((f=e.resource)!=null?f:{}).map(([w,k])=>[w,Cl(k)]))},size:{bandwidth:ee(C({},e.size.bandwidth),{kind:"bandwidth"}),minbandwidth:Math.ceil(L_e((d=e.size.minbandwidth)!=null?d:e.size.bandwidth,e.size.bandwidth.unit).size),mincpu:ee(C({},e.size.mincpu),{kind:"cpu"})},profile:{threadability:"*",iopsintensive:!1},srv:{client:Object.fromEntries(Object.entries((h=(p=e.srv)==null?void 0:p.client)!=null?h:{}).map(([w,k])=>[w,{protocol:k,inherited:!1}])),server:Object.fromEntries(Object.entries((v=(g=e.srv)==null?void 0:g.server)!=null?v:{}).map(([w,k])=>{let I;return typeof k=="string"?I={port:80,portnum:1,inherited:!1,protocol:k}:I=ee(C({},k),{portnum:1,inherited:!1}),[w,I]})),duplex:Object.fromEntries(Object.entries((b=(x=e.srv)==null?void 0:x.duplex)!=null?b:{}).map(([w,k])=>{let I;return typeof k=="string"?I={port:80,portnum:1,inherited:!1,protocol:k}:I=ee(C({},k),{portnum:1,inherited:!1}),[w,I]}))},code:C(C({},c),u),probe:Object.fromEntries(Object.entries((y=e.probe)!=null?y:{}).map(([w,k])=>[w,k]))}}}function Qft(t,e){var r,n,i,o;if(typeof e=="string")return{path:t,data:{value:e},format:"text"};if(typeof e=="object"){if("volume"in e)return{path:t,volume:e.volume};if("data"in e)return{path:t,data:{value:e.data},format:(r=e.format)!=null?r:"text",mode:(n=e.mode)!=null?n:420};let a=["secret","port","domain","certificate","ca"].find(u=>u in e);if(a){let u=a;return{path:t,data:{[u]:e[u]},format:(i=e.format)!=null?i:"text",mode:(o=e.mode)!=null?o:420}}}throw new Error(`Unknown key '${t}': ${JSON.stringify(e)}`)}function XB(t){var r,n,i;let e=xo(t.id.version);return{spec:[1,0],ref:{version:[e.major,e.minor,e.patch],kind:t.id.kind,domain:t.id.domain,module:t.id.module,name:t.id.name},description:{builtin:!0,srv:{client:Object.fromEntries(Object.entries((r=t.srv.client)!=null?r:{}).map(([o])=>[o,{protocol:"http",inherited:!1}])),server:Object.fromEntries(Object.entries((n=t.srv.server)!=null?n:{}).map(([o,s])=>{let a;return typeof s=="string"?a={port:80,portnum:1,inherited:!1,protocol:s}:a=ee(C({},s),{inherited:!1}),[o,a]}))},config:{resilience:0,scale:{},parameter:(i=t.config)!=null?i:{},resource:Object.fromEntries(Object.entries(t.resource).map(([o,s])=>[o,Cl(s)]))},connector:{},role:{}}}}function U_e(t,e){var r,n;return{name:hg(t),up:T2(t),meta:{},config:{resilience:0,scale:{},parameter:(r=e.config)!=null?r:{},resource:Object.fromEntries(Object.entries((n=e.resource)!=null?n:{}).map(([i,o])=>[i,Cl(o)]))},artifact:XB(e)}}function E$(t,e,r,n){let i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let s of o)s(r);return n&&(r.kind="service"),r}function YB(t,e){return t.some(r=>JSON.stringify(r)===JSON.stringify(e))}function QB(t,e){return{role:t,channel:e}}function $$(t,e,r){return{meta:t,links:[{role:e,channel:r}]}}function z_e(t,e,r){var i,o,s,a;let n={version:[0,0,0],kind:"component",domain:"unknown",module:"unknown",name:"unknown"};if(r.$type===Sy){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let l of r.value.from){c.push(QB(l.target,l.channel));for(let f of r.value.to){let d=e.role[f.target=="self"?l.target:f.target],p=jf(d.artifact)||f.target=="self";E$(t,d,n,p);let h=(i=r.value.meta)!=null?i:[{auto:{channel:f.target!=="self"?f.target+"."+f.channel:f.channel,compRef:n,roleName:f.target=="self"?l.target:f.target},user:{}}],g=$$(h,f.target,f.channel);YB(u,g)||u.push(g)}}else if("from"in r.value&&!Array.isArray(r.value.from)&&!Array.isArray(r.value.to)){let l=r.value.from,f=r.value.to;c.push(QB(l.target,l.channel));let d=e.role[f.target=="self"?l.target:f.target],p=jf(d.artifact)||f.target=="self";E$(t,d,n,p);let h=(o=r.value.meta)!=null?o:[{auto:{channel:f.target!=="self"?f.target+"."+f.channel:f.channel,compRef:n,roleName:f.target=="self"?l.target:f.target},user:{}}],g=$$(h,f.target,f.channel);YB(u,g)||u.push(g)}return{kind:"lb",clients:c,servers:u}}if(r.$type===xy){r=r;let u=[],c=[];if("from"in r.value&&Array.isArray(r.value.from)&&"to"in r.value&&Array.isArray(r.value.to))for(let l of r.value.from){c.push(QB(l.target,l.channel));for(let f of r.value.to){let d=e.role[f.target=="self"?l.target:f.target],p=jf(d.artifact);E$(t,d,n,p);let h=(s=r.value.meta)!=null?s:[{auto:{channel:f.target!=="self"?f.target+"."+f.channel:f.channel,compRef:n,roleName:f.target=="self"?l.target:f.target},user:{}}],g=$$(h,f.target,f.channel);YB(u,g)||u.push(g)}}else if("target"in r.value&&"channel"in r.value){let l=e.role[r.value.target],f=jf(l.artifact);E$(t,l,n,f);let d=(a=r.value.meta)!=null?a:[{auto:{channel:r.value.channel,compRef:n,roleName:r.value.target},user:{}}];u.push($$(d,r.value.target,r.value.channel))}return{kind:"full",clients:c,servers:u}}throw new Error(`unknown connection type '${r.$type}'`)}function eV(t,e,r){var a,u,c,l,f,d,p,h,g,v,x;let n={version:[0,0,0],kind:"service",domain:"unknown",module:"unknown",name:"unknown"},i=t.svcs.shared.references.KumoriModules,o=pg(i,t.nodes.get(e));for(let b of o)b(n);let s={spec:[1,0],ref:n,description:{builtin:!1,config:{resilience:0,scale:{detail:Object.fromEntries(Object.entries((a=e.role)!=null?a:{}).map(([b])=>[b,{hsize:r&&typeof r=="object"&&b in r?r[b]:1}]))},parameter:(u=e==null?void 0:e.config)!=null?u:{},resource:Object.fromEntries(Object.entries((c=e.resource)!=null?c:{}).map(([b,y])=>[b,Cl(y)]))},role:{},connector:Object.fromEntries(Object.entries((l=e.connect)!=null?l:{}).map(([b,y])=>[b,z_e(t,e,y)])),srv:{client:Object.fromEntries(Object.entries((d=(f=e.srv)==null?void 0:f.client)!=null?d:{}).map(([b,y])=>[b,{protocol:y,inherited:!1}])),server:Object.fromEntries(Object.entries((h=(p=e.srv)==null?void 0:p.server)!=null?h:{}).map(([b,y])=>{let w;return typeof y=="string"?w={port:80,inherited:!1,protocol:y}:w=ee(C({},y),{inherited:!1}),[b,w]})),duplex:Object.fromEntries(Object.entries((v=(g=e.srv)==null?void 0:g.duplex)!=null?v:{}).map(([b,y])=>{let w;return typeof y=="string"?w={port:80,inherited:!1,protocol:y}:w=ee(C({},y),{inherited:!1}),[b,w]}))}}};return s.description.role=Object.fromEntries(Object.entries((x=e.role)!=null?x:{}).map(([b,y])=>[b,tdt(t,b,y,s)]).filter(([,b])=>je.isSome(b)).map(([b,y])=>[b,y.value])),s}function edt(t,e){var r,n,i,o,s,a,u,c;return{name:hg(t),up:T2(t),meta:{},config:{resilience:0,scale:(i=(r=e.config)==null?void 0:r.scale)!=null?i:{hsize:(n=e.config)==null?void 0:n.scale},parameter:(s=(o=e.config)==null?void 0:o.parameter)!=null?s:{},resource:Object.fromEntries(Object.entries((u=(a=e.config)==null?void 0:a.resource)!=null?u:{}).map(([l,f])=>[l,Cl(f)]))},artifact:eV(t,e,(c=e.config)==null?void 0:c.scale)}}function tdt(t,e,r,n){var s,a,u,c,l,f,d,p,h,g,v,x,b,y,w,k,I,E,j,O,U;if(mg(r.artifact)){let N=(a=(s=n.description.config)==null?void 0:s.scale)!=null&&a.detail?(u=n.description.config.scale.detail[e])==null?void 0:u.hsize:1;return Vr({name:e,meta:r.meta,config:{resilience:0,scale:{hsize:N},parameter:(c=r.artifact.config)!=null?c:{},resource:{}},artifact:JB(t,r.artifact,N)})}let i=r.artifact;t=B_e(t,e),V_e(t,jf(i)?edt(t,i):U_e(t,i)),(f=(l=n.description).srv)!=null||(l.srv={}),(p=(d=n.description.srv).server)!=null||(d.server={}),(g=(h=n.description.srv).client)!=null||(h.client={});for(let[,N]of Object.entries((v=n.description.connector)!=null?v:{})){for(let M of N.clients){if(M.role!==e)continue;let $=C({},M),L=`${M.role}.${M.channel}`,q=((b=(x=i==null?void 0:i.srv)==null?void 0:x.client)!=null?b:{})[M.channel];n.description.srv.server[L]={inherited:!0,protocol:M.channel=="inbound"?"http":q},M.role="self",M.channel=L,(w=(y=t.root).links)!=null||(y.links=[]),t.root.links.push({meta:{},s_d:hg(t),s_c:$.channel,t_d:T2(t),t_c:L})}for(let M of N.servers)for(let $ of M.links)if($.role===e){let L=`${$.role}.${$.channel}`,q=((I=(k=i==null?void 0:i.srv)==null?void 0:k.server)!=null?I:{})[$.channel];q===void 0&&(q=((j=(E=i==null?void 0:i.srv)==null?void 0:E.duplex)!=null?j:{})[$.channel]),n.description.srv.client[L]={inherited:!0,protocol:typeof q=="string"?q:q.protocol,port:typeof q=="object"?q.port:void 0},(U=(O=t.root).links)!=null||(O.links=[]),t.root.links.push({meta:{},s_d:T2(t),s_c:L,t_d:hg(t),t_c:$.channel}),$.role="self",$.channel=L}}return Vt}var hg=t=>t.path.join("."),T2=t=>t.path.slice(0,-1).join("."),B_e=(t,e)=>ee(C({},t),{path:[...t.path,e]}),V_e=(t,e)=>t.root.deployments[hg(t)]=e;function H_e(t,e,r){var o,s,a;let n={cspec:"1.0",top:r.name,deployments:{},links:[]},i={svcs:t,path:[r.name],root:n,nodes:e};return n.deployments[r.name]={name:r.name,meta:r.meta,config:{parameter:(o=r.config)!=null?o:{},resource:Object.fromEntries(Object.entries((s=r.resource)!=null?s:{}).map(([u,c])=>[u,Cl(c)])),resilience:(a=r.resilience)!=null?a:0,scale:{detail:(()=>{var u;if(mg(r.artifact)){let c=i.nodes.get(r.artifact),l="";if(c&&hs(c)&&(l=c.name.value.$refText),l==="")throw new Error("Unable to determine component name for scale detail.");return{[l]:{hsize:typeof r.scale=="number"?r.scale:1}}}if(jf(r.artifact)){let c=Object.entries((u=r.artifact.role)!=null?u:{});return Object.fromEntries(c.map(([l])=>[l,{hsize:r.scale&&typeof r.scale=="object"&&!Array.isArray(r.scale)&&l in r.scale?r.scale[l]:1}]))}return{}})()}},artifact:(()=>{if(mg(r.artifact))return q_e(i,r.artifact,r.scale);if(jf(r.artifact))return eV(i,r.artifact,r.scale);if(W_e(r.artifact))return XB(r.artifact);throw new Error("unknown artifact")})()},n}function mg(t){return"size"in t}function jf(t){return!(mg(t)||W_e(t))}function W_e(t){return"id"in t}function G_e(t,e,r){let n=tV(t,e,r);if(J.isErr(n))return n;let{nodes:i,deployment:o}=n.value,s=JSON.stringify(H_e(e,i,o),null,2);return Ke(s)}function tV(t,e,r){var c,l;let n=e.validation.KumoriTypeSystem,[{Value:i},o]=n.Eval(e.validation.KumoriValidations.ctx(),r);if(o.length!==0){let f=[];for(let d of o){let p=d.node,h=tt.getDocument(p),g=((c=p.$cstNode)==null?void 0:c.range.start)||{line:0,character:0},v=`${h.uri.fsPath}:${g.line}:${g.character}: type error: ${d.message}`;t.error(v),f.push(v)}return be(f)}let s=new Map,a=dl({svcs:e,nodes:s},i);if(J.isErr(a)){let f=[];for(let d of a.err){let p=d.node,h=tt.getDocument(p),g=((l=p.$cstNode)==null?void 0:l.range.start)||{line:0,character:0},v=`${h.uri.fsPath}:${g.line}:${g.character}: json conversion error: ${d.message}`;t.error(v),f.push(v)}return be(f)}let u=D_e.safeParse(a.value);if(!u.success){let f=[];for(let d of u.error.issues){let p=`${d.code}: ${d.path}: invalid deployment: ${d.message}`;t.error(p),f.push(p)}return be(f)}return Ke({nodes:s,deployment:a.value})}function P$(t,e=new Jn){if(t.Manifest.headers!==void 0){let[r,n]=[t.Manifest.headers.target,t.Manifest.headers.version],i=to(r,n);e.add(i,{target:r,version:n})}for(let r of t.Manifest.requires){let[n,i]=[r.target,r.version],o={target:n,version:i},s=to(n,i);if(e.add(s,o),r.headers!==void 0){let[a,u]=[r.headers.target,r.headers.version],c=to(a,u);o.interface={target:a,version:u},e.add(c,o.interface)}}return e}var Vf=Me(require("assert"),1);var K_e=require("path");async function $6(t,e,r){let n=to(e,r),i=Fc(n);if(je.isSome(i)&&(e=i.value.Location),(0,K_e.isAbsolute)(e)){let a=ze.file(e),u=await Oc(t.FS,a);return J.isOk(u)?u:Vt}let o=me.joinPath(t.Locations.Vendor(),n),s=await Oc(t.FS,o);return J.isOk(s)||(o=me.joinPath(t.Locations.Cache(),n),s=await Oc(t.FS,o),J.isOk(s))?s:Vt}var wT=Me(require("node:path"),1);var QW=Me(g7e(),1);var u9e=require("node:buffer"),sT=Me(R7e(),1),nT=Me(iW(),1),Q9e=require("child_process"),LSe=Me(sW(),1),GSe=require("node:path"),tv=Me(sW(),1),lxe=require("node:events");var $W=Object.defineProperty,Hht=Object.getOwnPropertyDescriptor,PW=Object.getOwnPropertyNames,Wht=Object.prototype.hasOwnProperty,Ve=(t,e)=>function(){return t&&(e=(0,t[PW(t)[0]])(t=0)),e},Ght=(t,e)=>function(){return e||(0,t[PW(t)[0]])((e={exports:{}}).exports,e),e.exports},$i=(t,e)=>{for(var r in e)$W(t,r,{get:e[r],enumerable:!0})},Kht=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of PW(e))!Wht.call(t,i)&&i!==r&&$W(t,i,{get:()=>e[i],enumerable:!(n=Hht(e,i))||n.enumerable});return t},di=t=>Kht($W({},"__esModule",{value:!0}),t);function Zht(...t){let e=new String(t);return oT.set(e,t),e}function eT(t){return t instanceof String&&oT.has(t)}function C7e(t){return oT.get(t)||[]}var oT,H6=Ve({"src/lib/args/pathspec.ts"(){"use strict";oT=new WeakMap}}),zf,Jp=Ve({"src/lib/errors/git-error.ts"(){"use strict";zf=class extends Error{constructor(t,e){super(e),this.task=t,Object.setPrototypeOf(this,new.target.prototype)}}}}),W6,nv=Ve({"src/lib/errors/git-response-error.ts"(){"use strict";Jp(),W6=class extends zf{constructor(t,e){super(void 0,e||String(t)),this.git=t}}}}),a9e,c9e=Ve({"src/lib/errors/task-configuration-error.ts"(){"use strict";Jp(),a9e=class extends zf{constructor(t){super(void 0,t)}}}});function l9e(t){return typeof t!="function"?Tg:t}function f9e(t){return typeof t=="function"&&t!==Tg}function d9e(t,e){let r=t.indexOf(e);return r<=0?[t,""]:[t.substr(0,r),t.substr(r+1)]}function p9e(t,e=0){return h9e(t)&&t.length>e?t[e]:void 0}function Pg(t,e=0){if(h9e(t)&&t.length>e)return t[t.length-1-e]}function h9e(t){return lT(t)}function G6(t="",e=!0,r=`
|
|
399
399
|
`){return t.split(r).reduce((n,i)=>{let o=e?i.trim():i;return o&&n.push(o),n},[])}function TW(t,e){return G6(t,!0).map(r=>e(r))}function RW(t){return(0,sT.exists)(t,sT.FOLDER)}function Nr(t,e){return Array.isArray(t)?t.includes(e)||t.push(e):t.add(e),e}function m9e(t,e){return Array.isArray(t)&&!t.includes(e)&&t.push(e),t}function aT(t,e){if(Array.isArray(t)){let r=t.indexOf(e);r>=0&&t.splice(r,1)}else t.delete(e);return e}function Dl(t){return Array.isArray(t)?t:[t]}function g9e(t){return t.replace(/[\s-]+(.)/g,(e,r)=>r.toUpperCase())}function iv(t){return Dl(t).map(e=>e instanceof String?e:String(e))}function _n(t,e=0){if(t==null)return e;let r=parseInt(t,10);return Number.isNaN(r)?e:r}function B6(t,e){let r=[];for(let n=0,i=t.length;n<i;n++)r.push(e,t[n]);return r}function V6(t){return(Array.isArray(t)?u9e.Buffer.concat(t):t).toString("utf-8")}function y9e(t,e){let r={};return e.forEach(n=>{t[n]!==void 0&&(r[n]=t[n])}),r}function pW(t=0){return new Promise(e=>setTimeout(e,t))}function hW(t){if(t!==!1)return t}var rv,Tg,K6,cT=Ve({"src/lib/utils/util.ts"(){"use strict";CW(),rv="\0",Tg=()=>{},K6=Object.prototype.toString.call.bind(Object.prototype.toString)}});function rc(t,e,r){return e(t)?t:arguments.length>2?r:void 0}function mW(t,e){let r=eT(t)?"string":typeof t;return/number|string|boolean/.test(r)&&(!e||!e.includes(r))}function uT(t){return!!t&&K6(t)==="[object Object]"}function v9e(t){return typeof t=="function"}var Z6,b9e,co,tT,lT,CW=Ve({"src/lib/utils/argument-filters.ts"(){"use strict";H6(),cT(),Z6=t=>Array.isArray(t),b9e=t=>typeof t=="number",co=t=>typeof t=="string",tT=t=>co(t)||Array.isArray(t)&&t.every(co),lT=t=>t==null||"number|boolean|function".includes(typeof t)?!1:typeof t.length=="number"}}),gW,Jht=Ve({"src/lib/utils/exit-codes.ts"(){"use strict";gW=(t=>(t[t.SUCCESS=0]="SUCCESS",t[t.ERROR=1]="ERROR",t[t.NOT_FOUND=-2]="NOT_FOUND",t[t.UNCLEAN=128]="UNCLEAN",t))(gW||{})}}),rT,Xht=Ve({"src/lib/utils/git-output-streams.ts"(){"use strict";rT=class _9e{constructor(e,r){this.stdOut=e,this.stdErr=r}asStrings(){return new _9e(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}});function Yht(){throw new Error("LineParser:useMatches not implemented")}var Ut,Zp,Qht=Ve({"src/lib/utils/line-parser.ts"(){"use strict";Ut=class{constructor(t,e){this.matches=[],this.useMatches=Yht,this.parse=(r,n)=>(this.resetMatches(),this._regExp.every((i,o)=>this.addMatch(i,o,r(o)))?this.useMatches(n,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(t)?t:[t],e&&(this.useMatches=e)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(t,e,r){let n=r&&t.exec(r);return n&&this.pushMatch(e,n),!!n}pushMatch(t,e){this.matches.push(...e.slice(1))}},Zp=class extends Ut{addMatch(t,e,r){return/^remote:\s/.test(String(r))&&super.addMatch(t,e,r)}pushMatch(t,e){(t>0||e.length>1)&&super.pushMatch(t,e)}}}});function w9e(...t){let e=process.cwd(),r=Object.assign(C({baseDir:e},S9e),...t.filter(n=>typeof n=="object"&&n));return r.baseDir=r.baseDir||e,r.trimmed=r.trimmed===!0,r}var S9e,emt=Ve({"src/lib/utils/simple-git-options.ts"(){"use strict";S9e={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function AW(t,e=[]){return uT(t)?Object.keys(t).reduce((r,n)=>{let i=t[n];if(eT(i))r.push(i);else if(mW(i,["boolean"]))r.push(n+"="+i);else if(Array.isArray(i))for(let o of i)mW(o,["string","number"])||r.push(n+"="+o);else r.push(n);return r},e):e}function pa(t,e=0,r=!1){let n=[];for(let i=0,o=e<0?t.length:e;i<o;i++)"string|number".includes(typeof t[i])&&n.push(String(t[i]));return AW(OW(t),n),r||n.push(...tmt(t)),n}function tmt(t){let e=typeof Pg(t)=="function";return iv(rc(Pg(t,e?1:0),Z6,[]))}function OW(t){let e=v9e(Pg(t));return rc(Pg(t,e?1:0),uT)}function pi(t,e=!0){let r=l9e(Pg(t));return e||f9e(r)?r:void 0}var rmt=Ve({"src/lib/utils/task-options.ts"(){"use strict";CW(),cT(),H6()}});function yW(t,e){return t(e.stdOut,e.stdErr)}function ma(t,e,r,n=!0){return Dl(r).forEach(i=>{for(let o=G6(i,n),s=0,a=o.length;s<a;s++){let u=(c=0)=>{if(!(s+c>=a))return o[s+c]};e.some(({parse:c})=>c(u,t))}}),t}var nmt=Ve({"src/lib/utils/task-parser.ts"(){"use strict";cT()}}),x9e={};$i(x9e,{ExitCodes:()=>gW,GitOutputStreams:()=>rT,LineParser:()=>Ut,NOOP:()=>Tg,NULL:()=>rv,RemoteLineParser:()=>Zp,append:()=>Nr,appendTaskOptions:()=>AW,asArray:()=>Dl,asCamelCase:()=>g9e,asFunction:()=>l9e,asNumber:()=>_n,asStringArray:()=>iv,bufferToString:()=>V6,callTaskParser:()=>yW,createInstanceConfig:()=>w9e,delay:()=>pW,filterArray:()=>Z6,filterFunction:()=>v9e,filterHasLength:()=>lT,filterNumber:()=>b9e,filterPlainObject:()=>uT,filterPrimitives:()=>mW,filterString:()=>co,filterStringOrStringArray:()=>tT,filterType:()=>rc,first:()=>p9e,folderExists:()=>RW,forEachLineWithContent:()=>TW,getTrailingOptions:()=>pa,including:()=>m9e,isUserFunction:()=>f9e,last:()=>Pg,objectToString:()=>K6,orVoid:()=>hW,parseStringResponse:()=>ma,pick:()=>y9e,prefixedArray:()=>B6,remove:()=>aT,splitOn:()=>d9e,toLinesWithContent:()=>G6,trailingFunctionArgument:()=>pi,trailingOptionsArgument:()=>OW});var It=Ve({"src/lib/utils/index.ts"(){"use strict";CW(),Jht(),Xht(),Qht(),emt(),rmt(),nmt(),cT()}}),k9e={};$i(k9e,{CheckRepoActions:()=>vW,checkIsBareRepoTask:()=>$9e,checkIsRepoRootTask:()=>E9e,checkIsRepoTask:()=>imt});function imt(t){switch(t){case"bare":return $9e();case"root":return E9e()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:fT,parser:IW}}function E9e(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:fT,parser(e){return/^\.(git)?$/.test(e.trim())}}}function $9e(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:fT,parser:IW}}function omt(t){return/(Not a git repository|Kein Git-Repository)/i.test(String(t))}var vW,fT,IW,P9e=Ve({"src/lib/tasks/check-is-repo.ts"(){"use strict";It(),vW=(t=>(t.BARE="bare",t.IN_TREE="tree",t.IS_REPO_ROOT="root",t))(vW||{}),fT=({exitCode:t},e,r,n)=>{if(t===128&&omt(e))return r(Buffer.from("false"));n(e)},IW=t=>t.trim()==="true"}});function smt(t,e){let r=new T9e(t),n=t?C9e:R9e;return G6(e).forEach(i=>{let o=i.replace(n,"");r.paths.push(o),(A9e.test(o)?r.folders:r.files).push(o)}),r}var T9e,R9e,C9e,A9e,amt=Ve({"src/lib/responses/CleanSummary.ts"(){"use strict";It(),T9e=class{constructor(t){this.dryRun=t,this.paths=[],this.files=[],this.folders=[]}},R9e=/^[a-z]+\s*/i,C9e=/^[a-z]+\s+[a-z]+\s*/i,A9e=/\/$/}}),bW={};$i(bW,{EMPTY_COMMANDS:()=>dT,adhocExecTask:()=>O9e,configurationErrorTask:()=>ha,isBufferTask:()=>D9e,isEmptyTask:()=>N9e,straightThroughBufferTask:()=>I9e,straightThroughStringTask:()=>Rs});function O9e(t){return{commands:dT,format:"empty",parser:t}}function ha(t){return{commands:dT,format:"empty",parser(){throw typeof t=="string"?new a9e(t):t}}}function Rs(t,e=!1){return{commands:t,format:"utf-8",parser(r){return e?String(r).trim():r}}}function I9e(t){return{commands:t,format:"buffer",parser(e){return e}}}function D9e(t){return t.format==="buffer"}function N9e(t){return t.format==="empty"||!t.commands.length}var dT,Ei=Ve({"src/lib/tasks/task.ts"(){"use strict";c9e(),dT=[]}}),L9e={};$i(L9e,{CONFIG_ERROR_INTERACTIVE_MODE:()=>DW,CONFIG_ERROR_MODE_REQUIRED:()=>NW,CONFIG_ERROR_UNKNOWN_OPTION:()=>LW,CleanOptions:()=>JP,cleanTask:()=>M9e,cleanWithOptionsTask:()=>cmt,isCleanOptionsArray:()=>umt});function cmt(t,e){let{cleanMode:r,options:n,valid:i}=lmt(t);return r?i.options?(n.push(...e),n.some(pmt)?ha(DW):M9e(r,n)):ha(LW+JSON.stringify(t)):ha(NW)}function M9e(t,e){return{commands:["clean",`-${t}`,...e],format:"utf-8",parser(n){return smt(t==="n",n)}}}function umt(t){return Array.isArray(t)&&t.every(e=>MW.has(e))}function lmt(t){let e,r=[],n={cleanMode:!1,options:!0};return t.replace(/[^a-z]i/g,"").split("").forEach(i=>{fmt(i)?(e=i,n.cleanMode=!0):n.options=n.options&&dmt(r[r.length]=`-${i}`)}),{cleanMode:e,options:r,valid:n}}function fmt(t){return t==="f"||t==="n"}function dmt(t){return/^-[a-z]$/i.test(t)&&MW.has(t.charAt(1))}function pmt(t){return/^-[^\-]/.test(t)?t.indexOf("i")>0:t==="--interactive"}var DW,NW,LW,JP,MW,j9e=Ve({"src/lib/tasks/clean.ts"(){"use strict";amt(),It(),Ei(),DW="Git clean interactive mode is not supported",NW='Git clean mode parameter ("n" or "f") is required',LW="Git clean unknown option found in: ",JP=(t=>(t.DRY_RUN="n",t.FORCE="f",t.IGNORED_INCLUDED="x",t.IGNORED_ONLY="X",t.EXCLUDING="e",t.QUIET="q",t.RECURSIVE="d",t))(JP||{}),MW=new Set(["i",...iv(Object.values(JP))])}});function hmt(t){let e=new q9e;for(let r of F9e(t))e.addValue(r.file,String(r.key),r.value);return e}function mmt(t,e){let r=null,n=[],i=new Map;for(let o of F9e(t,e))o.key===e&&(n.push(r=o.value),i.has(o.file)||i.set(o.file,[]),i.get(o.file).push(r));return{key:e,paths:Array.from(i.keys()),scopes:i,value:r,values:n}}function gmt(t){return t.replace(/^(file):/,"")}function*F9e(t,e=null){let r=t.split("\0");for(let n=0,i=r.length-1;n<i;){let o=gmt(r[n++]),s=r[n++],a=e;if(s.includes(`
|
|
400
400
|
`)){let u=d9e(s,`
|
|
401
401
|
`);a=u[0],s=u[1]}yield{file:o,key:a,value:s}}}var q9e,ymt=Ve({"src/lib/responses/ConfigList.ts"(){"use strict";It(),q9e=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||(this._all=this.files.reduce((t,e)=>Object.assign(t,this.values[e]),{})),this._all}addFile(t){if(!(t in this.values)){let e=Pg(this.files);this.values[t]=e?Object.create(this.values[e]):{},this.files.push(t)}return this.values[t]}addValue(t,e,r){let n=this.addFile(t);Object.hasOwn(n,e)?Array.isArray(n[e])?n[e].push(r):n[e]=[n[e],r]:n[e]=r,this._all=void 0}}}});function aW(t,e){return typeof t=="string"&&Object.hasOwn(_W,t)?t:e}function vmt(t,e,r,n){let i=["config",`--${n}`];return r&&i.push("--add"),i.push(t,e),{commands:i,format:"utf-8",parser(o){return o}}}function bmt(t,e){let r=["config","--null","--show-origin","--get-all",t];return e&&r.splice(1,0,`--${e}`),{commands:r,format:"utf-8",parser(n){return mmt(n,t)}}}function _mt(t){let e=["config","--list","--show-origin","--null"];return t&&e.push(`--${t}`),{commands:e,format:"utf-8",parser(r){return hmt(r)}}}function wmt(){return{addConfig(t,e,...r){return this._runTask(vmt(t,e,r[0]===!0,aW(r[1],"local")),pi(arguments))},getConfig(t,e){return this._runTask(bmt(t,aW(e,void 0)),pi(arguments))},listConfig(...t){return this._runTask(_mt(aW(t[0],void 0)),pi(arguments))}}}var _W,U9e=Ve({"src/lib/tasks/config.ts"(){"use strict";ymt(),It(),_W=(t=>(t.system="system",t.global="global",t.local="local",t.worktree="worktree",t))(_W||{})}});function Smt(t){return z9e.has(t)}var cW,z9e,B9e=Ve({"src/lib/tasks/diff-name-status.ts"(){"use strict";cW=(t=>(t.ADDED="A",t.COPIED="C",t.DELETED="D",t.MODIFIED="M",t.RENAMED="R",t.CHANGED="T",t.UNMERGED="U",t.UNKNOWN="X",t.BROKEN="B",t))(cW||{}),z9e=new Set(Object.values(cW))}});function xmt(...t){return new H9e().param(...t)}function kmt(t){let e=new Set,r={};return TW(t,n=>{let[i,o,s]=n.split(rv);e.add(i),(r[i]=r[i]||[]).push({line:_n(o),path:i,preview:s})}),{paths:e,results:r}}function Emt(){return{grep(t){let e=pi(arguments),r=pa(arguments);for(let i of V9e)if(r.includes(i))return this._runTask(ha(`git.grep: use of "${i}" is not supported.`),e);typeof t=="string"&&(t=xmt().param(t));let n=["grep","--null","-n","--full-name",...r,...t];return this._runTask({commands:n,format:"utf-8",parser(i){return kmt(i)}},e)}}}var V9e,z6,A7e,H9e,W9e=Ve({"src/lib/tasks/grep.ts"(){"use strict";It(),Ei(),V9e=["-h"],z6=Symbol("grepQuery"),H9e=class{constructor(){this[A7e]=[]}*[(A7e=z6,Symbol.iterator)](){for(let t of this[z6])yield t}and(...t){return t.length&&this[z6].push("--and","(",...B6(t,"-e"),")"),this}param(...t){return this[z6].push(...B6(t,"-e")),this}}}}),G9e={};$i(G9e,{ResetMode:()=>XP,getResetMode:()=>Pmt,resetTask:()=>$mt});function $mt(t,e){let r=["reset"];return K9e(t)&&r.push(`--${t}`),r.push(...e),Rs(r)}function Pmt(t){if(K9e(t))return t;switch(typeof t){case"string":case"undefined":return"soft"}}function K9e(t){return typeof t=="string"&&Z9e.includes(t)}var XP,Z9e,J9e=Ve({"src/lib/tasks/reset.ts"(){"use strict";It(),Ei(),XP=(t=>(t.MIXED="mixed",t.SOFT="soft",t.HARD="hard",t.MERGE="merge",t.KEEP="keep",t))(XP||{}),Z9e=iv(Object.values(XP))}});function Tmt(){return(0,nT.default)("simple-git")}function O7e(t,e,r){return!e||!String(e).replace(/\s*/,"")?r?(n,...i)=>{t(n,...i),r(n,...i)}:t:(n,...i)=>{t(`%s ${n}`,e,...i),r&&r(n,...i)}}function Rmt(t,e,{namespace:r}){if(typeof t=="string")return t;let n=e&&e.namespace||"";return n.startsWith(r)?n.substr(r.length+1):n||r}function jW(t,e,r,n=Tmt()){let i=t&&`[${t}]`||"",o=[],s=typeof e=="string"?n.extend(e):e,a=Rmt(rc(e,co),s,n);return c(r);function u(l,f){return Nr(o,jW(t,a.replace(/^[^:]+/,l),f,n))}function c(l){let f=l&&`[${l}]`||"",d=s&&O7e(s,f)||Tg,p=O7e(n,`${i} ${f}`,d);return Object.assign(s?d:p,{label:t,sibling:u,info:p,step:c})}}var X9e=Ve({"src/lib/git-logger.ts"(){"use strict";It(),nT.default.formatters.L=t=>String(lT(t)?t.length:"-"),nT.default.formatters.B=t=>Buffer.isBuffer(t)?t.toString("utf8"):K6(t)}}),Y9e,Cmt=Ve({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";var t;Jp(),X9e(),Y9e=(t=class{constructor(r="GitExecutor"){this.logLabel=r,this._queue=new Map}withProgress(r){return this._queue.get(r)}createProgress(r){let n=t.getName(r.commands[0]),i=jW(this.logLabel,n);return{task:r,logger:i,name:n}}push(r){let n=this.createProgress(r);return n.logger("Adding task to the queue, commands = %o",r.commands),this._queue.set(r,n),n}fatal(r){for(let[n,{logger:i}]of Array.from(this._queue.entries()))n===r.task?(i.info("Failed %o",r),i("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):i.info("A fatal exception occurred in a previous task, the queue has been purged: %o",r.message),this.complete(n);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(r){this.withProgress(r)&&this._queue.delete(r)}attempt(r){let n=this.withProgress(r);if(!n)throw new zf(void 0,"TasksPendingQueue: attempt called for an unknown task");return n.logger("Starting task"),n}static getName(r="empty"){return`task:${r}:${++t.counter}`}},t.counter=0,t)}});function $g(t,e){return{method:p9e(t.commands)||"",commands:e}}function Amt(t,e){return r=>{e("[ERROR] child process exception %o",r),t.push(Buffer.from(String(r.stack),"ascii"))}}function I7e(t,e,r,n){return i=>{r("%s received %L bytes",e,i),n("%B",i),t.push(i)}}var wW,Omt=Ve({"src/lib/runners/git-executor-chain.ts"(){"use strict";Jp(),Ei(),It(),Cmt(),wW=class{constructor(t,e,r){this._executor=t,this._scheduler=e,this._plugins=r,this._chain=Promise.resolve(),this._queue=new Y9e}get cwd(){return this._cwd||this._executor.cwd}set cwd(t){this._cwd=t}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(t){return this._queue.push(t),this._chain=this._chain.then(()=>this.attemptTask(t))}async attemptTask(t){let e=await this._scheduler.next(),r=()=>this._queue.complete(t);try{let{logger:n}=this._queue.attempt(t);return await(N9e(t)?this.attemptEmptyTask(t,n):this.attemptRemoteTask(t,n))}catch(n){throw this.onFatalException(t,n)}finally{r(),e()}}onFatalException(t,e){let r=e instanceof zf?Object.assign(e,{task:t}):new zf(t,e&&String(e));return this._chain=Promise.resolve(),this._queue.fatal(r),r}async attemptRemoteTask(t,e){let r=this._plugins.exec("spawn.binary","",$g(t,t.commands)),n=this._plugins.exec("spawn.args",[...t.commands],$g(t,t.commands)),i=await this.gitResponse(t,r,n,this.outputHandler,e.step("SPAWN")),o=await this.handleTaskData(t,n,i,e.step("HANDLE"));return e("passing response to task's parser as a %s",t.format),D9e(t)?yW(t.parser,o):yW(t.parser,o.asStrings())}async attemptEmptyTask(t,e){return e("empty task bypassing child process to call to task's parser"),t.parser(this)}handleTaskData(t,e,r,n){let{exitCode:i,rejection:o,stdOut:s,stdErr:a}=r;return new Promise((u,c)=>{n("Preparing to handle process response exitCode=%d stdOut=",i);let{error:l}=this._plugins.exec("task.error",{error:o},C(C({},$g(t,e)),r));if(l&&t.onError)return n.info("exitCode=%s handling with custom error handler"),t.onError(r,l,f=>{n.info("custom error handler treated as success"),n("custom error returned a %s",K6(f)),u(new rT(Array.isArray(f)?Buffer.concat(f):f,Buffer.concat(a)))},c);if(l)return n.info("handling as error: exitCode=%s stdErr=%s rejection=%o",i,a.length,o),c(l);n.info("retrieving task output complete"),u(new rT(Buffer.concat(s),Buffer.concat(a)))})}async gitResponse(t,e,r,n,i){let o=i.sibling("output"),s=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},$g(t,t.commands));return new Promise(a=>{let u=[],c=[];i.info("%s %o",e,r),i("%O",s);let l=this._beforeSpawn(t,r);if(l)return a({stdOut:u,stdErr:c,exitCode:9901,rejection:l});this._plugins.exec("spawn.before",void 0,ee(C({},$g(t,r)),{kill(d){l=d||l}}));let f=(0,Q9e.spawn)(e,r,s);f.stdout.on("data",I7e(u,"stdOut",i,o.step("stdOut"))),f.stderr.on("data",I7e(c,"stdErr",i,o.step("stdErr"))),f.on("error",Amt(c,i)),n&&(i("Passing child process stdOut/stdErr to custom outputHandler"),n(e,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,ee(C({},$g(t,r)),{spawned:f,close(d,p){a({stdOut:u,stdErr:c,exitCode:d,rejection:l||p})},kill(d){f.killed||(l=d,f.kill("SIGINT"))}}))})}_beforeSpawn(t,e){let r;return this._plugins.exec("spawn.before",void 0,ee(C({},$g(t,e)),{kill(n){r=n||r}})),r}}}}),eSe={};$i(eSe,{GitExecutor:()=>tSe});var tSe,Imt=Ve({"src/lib/runners/git-executor.ts"(){"use strict";Omt(),tSe=class{constructor(t,e,r){this.cwd=t,this._scheduler=e,this._plugins=r,this._chain=new wW(this,this._scheduler,this._plugins)}chain(){return new wW(this,this._scheduler,this._plugins)}push(t){return this._chain.push(t)}}}});function Dmt(t,e,r=Tg){let n=o=>{r(null,o)},i=o=>{(o==null?void 0:o.task)===t&&r(o instanceof W6?Nmt(o):o,void 0)};e.then(n,i)}function Nmt(t){let e=n=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${n} should be GitResponseError.git.${n}, this will no longer be available in version 3`),e=Tg};return Object.create(t,Object.getOwnPropertyNames(t.git).reduce(r,{}));function r(n,i){return i in t||(n[i]={enumerable:!1,configurable:!1,get(){return e(i),t.git[i]}}),n}}var Lmt=Ve({"src/lib/task-callback.ts"(){"use strict";nv(),It()}});function D7e(t,e){return O9e(r=>{if(!RW(t))throw new Error(`Git.cwd: cannot change to non-directory "${t}"`);return(e||r).cwd=t})}var Mmt=Ve({"src/lib/tasks/change-working-directory.ts"(){"use strict";It(),Ei()}});function uW(t){let e=["checkout",...t];return e[1]==="-b"&&e.includes("-B")&&(e[1]=aT(e,"-B")),Rs(e)}function jmt(){return{checkout(){return this._runTask(uW(pa(arguments,1)),pi(arguments))},checkoutBranch(t,e){return this._runTask(uW(["-b",t,e,...pa(arguments)]),pi(arguments))},checkoutLocalBranch(t){return this._runTask(uW(["-b",t,...pa(arguments)]),pi(arguments))}}}var Fmt=Ve({"src/lib/tasks/checkout.ts"(){"use strict";It(),Ei()}});function qmt(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function Umt(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(t){return ma(qmt(),[rSe],t)}})}}}var rSe,zmt=Ve({"src/lib/tasks/count-objects.ts"(){"use strict";It(),rSe=new Ut(/([a-z-]+): (\d+)$/,(t,[e,r])=>{let n=g9e(e);Object.hasOwn(t,n)&&(t[n]=_n(r))})}});function Bmt(t){return ma({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},nSe,t)}var nSe,Vmt=Ve({"src/lib/parsers/parse-commit.ts"(){"use strict";It(),nSe=[new Ut(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(t,[e,r,n])=>{t.branch=e,t.commit=n,t.root=!!r}),new Ut(/\s*Author:\s(.+)/i,(t,[e])=>{let r=e.split("<"),n=r.pop();!n||!n.includes("@")||(t.author={email:n.substr(0,n.length-1),name:r.join("<").trim()})}),new Ut(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(t,[e,r,n])=>{t.summary.changes=parseInt(e,10)||0,t.summary.insertions=parseInt(r,10)||0,t.summary.deletions=parseInt(n,10)||0}),new Ut(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(t,[e,r,n])=>{t.summary.changes=parseInt(e,10)||0;let i=parseInt(r,10)||0;n==="-"?t.summary.deletions=i:n==="+"&&(t.summary.insertions=i)})]}});function Hmt(t,e,r){return{commands:["-c","core.abbrev=40","commit",...B6(t,"-m"),...e,...r],format:"utf-8",parser:Bmt}}function Wmt(){return{commit(e,...r){let n=pi(arguments),i=t(e)||Hmt(Dl(e),Dl(rc(r[0],tT,[])),[...iv(rc(r[1],Z6,[])),...pa(arguments,0,!0)]);return this._runTask(i,n)}};function t(e){return!tT(e)&&ha("git.commit: requires the commit message to be supplied as a string/string[]")}}var Gmt=Ve({"src/lib/tasks/commit.ts"(){"use strict";Vmt(),It(),Ei()}});function Kmt(){return{firstCommit(){return this._runTask(Rs(["rev-list","--max-parents=0","HEAD"],!0),pi(arguments))}}}var Zmt=Ve({"src/lib/tasks/first-commit.ts"(){"use strict";It(),Ei()}});function Jmt(t,e){let r=["hash-object",t];return e&&r.push("-w"),Rs(r,!0)}var Xmt=Ve({"src/lib/tasks/hash-object.ts"(){"use strict";Ei()}});function Ymt(t,e,r){let n=String(r).trim(),i;if(i=iSe.exec(n))return new YP(t,e,!1,i[1]);if(i=oSe.exec(n))return new YP(t,e,!0,i[1]);let o="",s=n.split(" ");for(;s.length;)if(s.shift()==="in"){o=s.join(" ");break}return new YP(t,e,/^re/i.test(n),o)}var YP,iSe,oSe,Qmt=Ve({"src/lib/responses/InitSummary.ts"(){"use strict";YP=class{constructor(t,e,r,n){this.bare=t,this.path=e,this.existing=r,this.gitDir=n}},iSe=/^Init.+ repository in (.+)$/,oSe=/^Rein.+ in (.+)$/}});function egt(t){return t.includes(FW)}function tgt(t=!1,e,r){let n=["init",...r];return t&&!egt(n)&&n.splice(1,0,FW),{commands:n,format:"utf-8",parser(i){return Ymt(n.includes("--bare"),e,i)}}}var FW,rgt=Ve({"src/lib/tasks/init.ts"(){"use strict";Qmt(),FW="--bare"}});function qW(t){for(let e=0;e<t.length;e++){let r=UW.exec(t[e]);if(r)return`--${r[1]}`}return""}function ngt(t){return UW.test(t)}var UW,J6=Ve({"src/lib/args/log-format.ts"(){"use strict";UW=/^--(stat|numstat|name-only|name-status)(=|$)/}}),sSe,igt=Ve({"src/lib/responses/DiffSummary.ts"(){"use strict";sSe=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}}}});function aSe(t=""){let e=cSe[t];return r=>ma(new sSe,e,r,!1)}var lW,N7e,L7e,M7e,cSe,uSe=Ve({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";J6(),igt(),B9e(),It(),lW=[new Ut(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(t,[e,r,n=""])=>{t.files.push({file:e.trim(),changes:_n(r),insertions:n.replace(/[^+]/g,"").length,deletions:n.replace(/[^-]/g,"").length,binary:!1})}),new Ut(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(t,[e,r,n])=>{t.files.push({file:e.trim(),before:_n(r),after:_n(n),binary:!0})}),new Ut(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(t,[e,r])=>{let n=/(\d+) i/.exec(r),i=/(\d+) d/.exec(r);t.changed=_n(e),t.insertions=_n(n==null?void 0:n[1]),t.deletions=_n(i==null?void 0:i[1])})],N7e=[new Ut(/(\d+)\t(\d+)\t(.+)$/,(t,[e,r,n])=>{let i=_n(e),o=_n(r);t.changed++,t.insertions+=i,t.deletions+=o,t.files.push({file:n,changes:i+o,insertions:i,deletions:o,binary:!1})}),new Ut(/-\t-\t(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,after:0,before:0,binary:!0})})],L7e=[new Ut(/(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})})],M7e=[new Ut(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(t,[e,r,n,i,o])=>{t.changed++,t.files.push({file:o!=null?o:n,changes:0,insertions:0,deletions:0,binary:!1,status:hW(Smt(e)&&e),from:hW(!!o&&n!==o&&n),similarity:_n(r)})})],cSe={"":lW,"--stat":lW,"--numstat":N7e,"--name-status":M7e,"--name-only":L7e}}});function ogt(t,e){return e.reduce((r,n,i)=>(r[n]=t[i]||"",r),Object.create({diff:null}))}function lSe(t=VW,e=fSe,r=""){let n=aSe(r);return function(i){let o=G6(i.trim(),!1,zW).map(function(s){let a=s.split(BW),u=ogt(a[0].split(t),e);return a.length>1&&a[1].trim()&&(u.diff=n(a[1])),u});return{all:o,latest:o.length&&o[0]||null,total:o.length}}}var zW,BW,VW,fSe,dSe=Ve({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";It(),uSe(),J6(),zW="\xF2\xF2\xF2\xF2\xF2\xF2 ",BW=" \xF2\xF2",VW=" \xF2 ",fSe=["hash","date","message","refs","author_name","author_email"]}}),pSe={};$i(pSe,{diffSummaryTask:()=>sgt,validateLogFormatConfig:()=>pT});function sgt(t){let e=qW(t),r=["diff"];return e===""&&(e="--stat",r.push("--stat=4096")),r.push(...t),pT(r)||{commands:r,format:"utf-8",parser:aSe(e)}}function pT(t){let e=t.filter(ngt);if(e.length>1)return ha(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`);if(e.length&&t.includes("-z"))return ha(`Summary flag ${e} parsing is not compatible with null termination option '-z'`)}var HW=Ve({"src/lib/tasks/diff.ts"(){"use strict";J6(),uSe(),Ei()}});function agt(t,e){let r=[],n=[];return Object.keys(t).forEach(i=>{r.push(i),n.push(String(t[i]))}),[r,n.join(e)]}function cgt(t){return Object.keys(t).reduce((e,r)=>(r in SW||(e[r]=t[r]),e),{})}function hSe(t={},e=[]){let r=rc(t.splitter,co,VW),n=uT(t.format)?t.format:{hash:"%H",date:t.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:t.multiLine?"%B":"%b",author_name:t.mailMap!==!1?"%aN":"%an",author_email:t.mailMap!==!1?"%aE":"%ae"},[i,o]=agt(n,r),s=[],a=[`--pretty=format:${zW}${o}${BW}`,...e],u=t.n||t["max-count"]||t.maxCount;if(u&&a.push(`--max-count=${u}`),t.from||t.to){let c=t.symmetric!==!1?"...":"..";s.push(`${t.from||""}${c}${t.to||""}`)}return co(t.file)&&a.push("--follow",Zht(t.file)),AW(cgt(t),a),{fields:i,splitter:r,commands:[...a,...s]}}function ugt(t,e,r){let n=lSe(t,e,qW(r));return{commands:["log",...r],format:"utf-8",parser:n}}function lgt(){return{log(...r){let n=pi(arguments),i=hSe(OW(arguments),iv(rc(arguments[0],Z6,[]))),o=e(...r)||pT(i.commands)||t(i);return this._runTask(o,n)}};function t(r){return ugt(r.splitter,r.fields,r.commands)}function e(r,n){return co(r)&&co(n)&&ha("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var SW,mSe=Ve({"src/lib/tasks/log.ts"(){"use strict";J6(),H6(),dSe(),It(),Ei(),HW(),SW=(t=>(t[t["--pretty"]=0]="--pretty",t[t["max-count"]=1]="max-count",t[t.maxCount=2]="maxCount",t[t.n=3]="n",t[t.file=4]="file",t[t.format=5]="format",t[t.from=6]="from",t[t.to=7]="to",t[t.splitter=8]="splitter",t[t.symmetric=9]="symmetric",t[t.mailMap=10]="mailMap",t[t.multiLine=11]="multiLine",t[t.strictDate=12]="strictDate",t))(SW||{})}}),QP,gSe,fgt=Ve({"src/lib/responses/MergeSummary.ts"(){"use strict";QP=class{constructor(t,e=null,r){this.reason=t,this.file=e,this.meta=r}toString(){return`${this.file}:${this.reason}`}},gSe=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),xW,ySe,dgt=Ve({"src/lib/responses/PullSummary.ts"(){"use strict";xW=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},ySe=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function fW(t){return t.objects=t.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function j7e(t){let e=/^\s*(\d+)/.exec(t),r=/delta (\d+)/i.exec(t);return{count:_n(e&&e[1]||"0"),delta:_n(r&&r[1]||"0")}}var vSe,pgt=Ve({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";It(),vSe=[new Zp(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(t,[e,r])=>{let n=e.toLowerCase(),i=fW(t.remoteMessages);Object.assign(i,{[n]:_n(r)})}),new Zp(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(t,[e,r])=>{let n=e.toLowerCase(),i=fW(t.remoteMessages);Object.assign(i,{[n]:_n(r)})}),new Zp(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(t,[e,r,n])=>{let i=fW(t.remoteMessages);i.total=j7e(e),i.reused=j7e(r),i.packReused=_n(n)})]}});function bSe(t,e){return ma({remoteMessages:new wSe},_Se,e)}var _Se,wSe,SSe=Ve({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";It(),pgt(),_Se=[new Zp(/^remote:\s*(.+)$/,(t,[e])=>(t.remoteMessages.all.push(e.trim()),!1)),...vSe,new Zp([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(t,[e])=>{t.remoteMessages.pullRequestUrl=e}),new Zp([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(t,[e,r,n])=>{t.remoteMessages.vulnerabilities={count:_n(e),summary:r,url:n}})],wSe=class{constructor(){this.all=[]}}}});function hgt(t,e){let r=ma(new ySe,xSe,[t,e]);return r.message&&r}var F7e,q7e,U7e,z7e,xSe,B7e,WW,kSe=Ve({"src/lib/parsers/parse-pull.ts"(){"use strict";dgt(),It(),SSe(),F7e=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,q7e=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,U7e=/^(create|delete) mode \d+ (.+)/,z7e=[new Ut(F7e,(t,[e,r,n])=>{t.files.push(e),r&&(t.insertions[e]=r.length),n&&(t.deletions[e]=n.length)}),new Ut(q7e,(t,[e,,r,,n])=>r!==void 0||n!==void 0?(t.summary.changes=+e||0,t.summary.insertions=+r||0,t.summary.deletions=+n||0,!0):!1),new Ut(U7e,(t,[e,r])=>{Nr(t.files,r),Nr(e==="create"?t.created:t.deleted,r)})],xSe=[new Ut(/^from\s(.+)$/i,(t,[e])=>void(t.remote=e)),new Ut(/^fatal:\s(.+)$/,(t,[e])=>void(t.message=e)),new Ut(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(t,[e,r,n,i])=>{t.branch.local=n,t.hash.local=e,t.branch.remote=i,t.hash.remote=r})],B7e=(t,e)=>ma(new xW,z7e,[t,e]),WW=(t,e)=>Object.assign(new xW,B7e(t,e),bSe(t,e))}}),V7e,ESe,H7e,mgt=Ve({"src/lib/parsers/parse-merge.ts"(){"use strict";fgt(),It(),kSe(),V7e=[new Ut(/^Auto-merging\s+(.+)$/,(t,[e])=>{t.merges.push(e)}),new Ut(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(t,[e,r])=>{t.conflicts.push(new QP(e,r))}),new Ut(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(t,[e,r,n])=>{t.conflicts.push(new QP(e,r,{deleteRef:n}))}),new Ut(/^CONFLICT\s+\((.+)\):/,(t,[e])=>{t.conflicts.push(new QP(e,null))}),new Ut(/^Automatic merge failed;\s+(.+)$/,(t,[e])=>{t.result=e})],ESe=(t,e)=>Object.assign(H7e(t,e),WW(t,e)),H7e=t=>ma(new gSe,V7e,t)}});function W7e(t){return t.length?{commands:["merge",...t],format:"utf-8",parser(e,r){let n=ESe(e,r);if(n.failed)throw new W6(n);return n}}:ha("Git.merge requires at least one option")}var ggt=Ve({"src/lib/tasks/merge.ts"(){"use strict";nv(),mgt(),Ei()}});function ygt(t,e,r){let n=r.includes("deleted"),i=r.includes("tag")||/^refs\/tags/.test(t),o=!r.includes("new");return{deleted:n,tag:i,branch:!i,new:!o,alreadyUpdated:o,local:t,remote:e}}var G7e,$Se,K7e,vgt=Ve({"src/lib/parsers/parse-push.ts"(){"use strict";It(),SSe(),G7e=[new Ut(/^Pushing to (.+)$/,(t,[e])=>{t.repo=e}),new Ut(/^updating local tracking ref '(.+)'/,(t,[e])=>{t.ref=ee(C({},t.ref||{}),{local:e})}),new Ut(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(t,[e,r,n])=>{t.pushed.push(ygt(e,r,n))}),new Ut(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(t,[e,r,n])=>{t.branch=ee(C({},t.branch||{}),{local:e,remote:r,remoteName:n})}),new Ut(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(t,[e,r,n,i])=>{t.update={head:{local:e,remote:r},hash:{from:n,to:i}}})],$Se=(t,e)=>{let r=K7e(t,e),n=bSe(t,e);return C(C({},r),n)},K7e=(t,e)=>ma({pushed:[]},G7e,[t,e])}}),PSe={};$i(PSe,{pushTagsTask:()=>bgt,pushTask:()=>GW});function bgt(t={},e){return Nr(e,"--tags"),GW(t,e)}function GW(t={},e){let r=["push",...e];return t.branch&&r.splice(1,0,t.branch),t.remote&&r.splice(1,0,t.remote),aT(r,"-v"),Nr(r,"--verbose"),Nr(r,"--porcelain"),{commands:r,format:"utf-8",parser:$Se}}var TSe=Ve({"src/lib/tasks/push.ts"(){"use strict";vgt(),It()}});function _gt(){return{showBuffer(){let t=["show",...pa(arguments,1)];return t.includes("--binary")||t.splice(1,0,"--binary"),this._runTask(I9e(t),pi(arguments))},show(){let t=["show",...pa(arguments,1)];return this._runTask(Rs(t),pi(arguments))}}}var wgt=Ve({"src/lib/tasks/show.ts"(){"use strict";It(),Ei()}}),Z7e,RSe,Sgt=Ve({"src/lib/responses/FileStatusSummary.ts"(){"use strict";Z7e=/^(.+)\0(.+)$/,RSe=class{constructor(t,e,r){if(this.path=t,this.index=e,this.working_dir=r,e==="R"||r==="R"){let n=Z7e.exec(t)||[null,t,t];this.from=n[2]||"",this.path=n[1]||""}}}}});function J7e(t){let[e,r]=t.split(rv);return{from:r||e,to:e}}function tc(t,e,r){return[`${t}${e}`,r]}function dW(t,...e){return e.map(r=>tc(t,r,(n,i)=>Nr(n.conflicted,i)))}function xgt(t,e){let r=e.trim();switch(" "){case r.charAt(2):return n(r.charAt(0),r.charAt(1),r.substr(3));case r.charAt(1):return n(" ",r.charAt(0),r.substr(2));default:return}function n(i,o,s){let a=`${i}${o}`,u=CSe.get(a);u&&u(t,s),a!=="##"&&a!=="!!"&&t.files.push(new RSe(s,i,o))}}var X7e,CSe,ASe,kgt=Ve({"src/lib/responses/StatusSummary.ts"(){"use strict";It(),Sgt(),X7e=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},CSe=new Map([tc(" ","A",(t,e)=>Nr(t.created,e)),tc(" ","D",(t,e)=>Nr(t.deleted,e)),tc(" ","M",(t,e)=>Nr(t.modified,e)),tc("A"," ",(t,e)=>Nr(t.created,e)&&Nr(t.staged,e)),tc("A","M",(t,e)=>Nr(t.created,e)&&Nr(t.staged,e)&&Nr(t.modified,e)),tc("D"," ",(t,e)=>Nr(t.deleted,e)&&Nr(t.staged,e)),tc("M"," ",(t,e)=>Nr(t.modified,e)&&Nr(t.staged,e)),tc("M","M",(t,e)=>Nr(t.modified,e)&&Nr(t.staged,e)),tc("R"," ",(t,e)=>{Nr(t.renamed,J7e(e))}),tc("R","M",(t,e)=>{let r=J7e(e);Nr(t.renamed,r),Nr(t.modified,r.to)}),tc("!","!",(t,e)=>{Nr(t.ignored=t.ignored||[],e)}),tc("?","?",(t,e)=>Nr(t.not_added,e)),...dW("A","A","U"),...dW("D","D","U"),...dW("U","A","D","U"),["##",(t,e)=>{let r=/ahead (\d+)/,n=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,o=/\.{3}(\S*)/,s=/\son\s(\S+?)(?=\.{3}|$)/,a=r.exec(e);t.ahead=a&&+a[1]||0,a=n.exec(e),t.behind=a&&+a[1]||0,a=i.exec(e),t.current=rc(a==null?void 0:a[1],co,null),a=o.exec(e),t.tracking=rc(a==null?void 0:a[1],co,null),a=s.exec(e),a&&(t.current=rc(a==null?void 0:a[1],co,t.current)),t.detached=/\(no branch\)/.test(e)}]]),ASe=function(t){let e=t.split(rv),r=new X7e;for(let n=0,i=e.length;n<i;){let o=e[n++].trim();o&&(o.charAt(0)==="R"&&(o+=rv+(e[n++]||"")),xgt(r,o))}return r}}});function Egt(t){return{format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...t.filter(r=>!OSe.includes(r))],parser(r){return ASe(r)}}}var OSe,$gt=Ve({"src/lib/tasks/status.ts"(){"use strict";kgt(),OSe=["--null","-z"]}});function iT(t=0,e=0,r=0,n="",i=!0){return Object.defineProperty({major:t,minor:e,patch:r,agent:n,installed:i},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function Pgt(){return iT(0,0,0,"",!1)}function Tgt(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:Rgt,onError(t,e,r,n){if(t.exitCode===-2)return r(Buffer.from(KW));n(e)}})}}}function Rgt(t){return t===KW?Pgt():ma(iT(0,0,0,t),ISe,t)}var KW,ISe,Cgt=Ve({"src/lib/tasks/version.ts"(){"use strict";It(),KW="installed=false",ISe=[new Ut(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(t,[e,r,n,i=""])=>{Object.assign(t,iT(_n(e),_n(r),_n(n),i))}),new Ut(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(t,[e,r,n,i=""])=>{Object.assign(t,iT(_n(e),_n(r),n,i))})]}}),DSe={};$i(DSe,{SimpleGitApi:()=>kW});var kW,Agt=Ve({"src/lib/simple-git-api.ts"(){"use strict";Lmt(),Mmt(),Fmt(),zmt(),Gmt(),U9e(),Zmt(),W9e(),Xmt(),rgt(),mSe(),ggt(),TSe(),wgt(),$gt(),Ei(),Cgt(),It(),kW=class{constructor(t){this._executor=t}_runTask(t,e){let r=this._executor.chain(),n=r.push(t);return e&&Dmt(t,n,e),Object.create(this,{then:{value:n.then.bind(n)},catch:{value:n.catch.bind(n)},_executor:{value:r}})}add(t){return this._runTask(Rs(["add",...Dl(t)]),pi(arguments))}cwd(t){let e=pi(arguments);return typeof t=="string"?this._runTask(D7e(t,this._executor),e):typeof(t==null?void 0:t.path)=="string"?this._runTask(D7e(t.path,t.root&&this._executor||void 0),e):this._runTask(ha("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(t,e){return this._runTask(Jmt(t,e===!0),pi(arguments))}init(t){return this._runTask(tgt(t===!0,this._executor.cwd,pa(arguments)),pi(arguments))}merge(){return this._runTask(W7e(pa(arguments)),pi(arguments))}mergeFromTo(t,e){return co(t)&&co(e)?this._runTask(W7e([t,e,...pa(arguments)]),pi(arguments,!1)):this._runTask(ha("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(t){return this._executor.outputHandler=t,this}push(){let t=GW({remote:rc(arguments[0],co),branch:rc(arguments[1],co)},pa(arguments));return this._runTask(t,pi(arguments))}stash(){return this._runTask(Rs(["stash",...pa(arguments)]),pi(arguments))}status(){return this._runTask(Egt(pa(arguments)),pi(arguments))}},Object.assign(kW.prototype,jmt(),Wmt(),wmt(),Umt(),Kmt(),Emt(),lgt(),_gt(),Tgt())}}),NSe={};$i(NSe,{Scheduler:()=>MSe});var Y7e,MSe,Ogt=Ve({"src/lib/runners/scheduler.ts"(){"use strict";It(),X9e(),Y7e=(()=>{let t=0;return()=>{t++;let{promise:e,done:r}=(0,LSe.createDeferred)();return{promise:e,done:r,id:t}}})(),MSe=class{constructor(t=2){this.concurrency=t,this.logger=jW("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",t)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let t=Nr(this.running,this.pending.shift());this.logger("Attempting id=%s",t.id),t.done(()=>{this.logger("Completing id=",t.id),aT(this.running,t),this.schedule()})}next(){let{promise:t,id:e}=Nr(this.pending,Y7e());return this.logger("Scheduling id=%s",e),this.schedule(),t}}}}),jSe={};$i(jSe,{applyPatchTask:()=>Igt});function Igt(t,e){return Rs(["apply",...e,...t])}var Dgt=Ve({"src/lib/tasks/apply-patch.ts"(){"use strict";Ei()}});function Ngt(t,e){return{branch:t,hash:e,success:!0}}function Lgt(t){return{branch:t,hash:null,success:!1}}var FSe,Mgt=Ve({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";FSe=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function qSe(t,e){return e===1&&EW.test(t)}var Q7e,EW,e9e,hT,jgt=Ve({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";Mgt(),It(),Q7e=/(\S+)\s+\(\S+\s([^)]+)\)/,EW=/^error[^']+'([^']+)'/m,e9e=[new Ut(Q7e,(t,[e,r])=>{let n=Ngt(e,r);t.all.push(n),t.branches[e]=n}),new Ut(EW,(t,[e])=>{let r=Lgt(e);t.errors.push(r),t.all.push(r),t.branches[e]=r})],hT=(t,e)=>ma(new FSe,e9e,[t,e])}}),USe,Fgt=Ve({"src/lib/responses/BranchSummary.ts"(){"use strict";USe=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(t,e,r,n,i){t==="*"&&(this.detached=e,this.current=r),this.all.push(r),this.branches[r]={current:t==="*",linkedWorkTree:t==="+",name:r,commit:n,label:i}}}}});function t9e(t){return t?t.charAt(0):""}function zSe(t,e=!1){return ma(new USe,e?[VSe]:BSe,t)}var BSe,VSe,qgt=Ve({"src/lib/parsers/parse-branch.ts"(){"use strict";Fgt(),It(),BSe=[new Ut(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(t,[e,r,n,i])=>{t.push(t9e(e),!0,r,n,i)}),new Ut(new RegExp("^([*+]\\s)?(\\S+)\\s+([a-z0-9]+)\\s?(.*)$","s"),(t,[e,r,n,i])=>{t.push(t9e(e),!1,r,n,i)})],VSe=new Ut(new RegExp("^(\\S+)$","s"),(t,[e])=>{t.push("*",!1,e,"","")})}}),HSe={};$i(HSe,{branchLocalTask:()=>zgt,branchTask:()=>Ugt,containsDeleteBranchCommand:()=>WSe,deleteBranchTask:()=>Vgt,deleteBranchesTask:()=>Bgt});function WSe(t){let e=["-d","-D","--delete"];return t.some(r=>e.includes(r))}function Ugt(t){let e=WSe(t),r=t.includes("--show-current"),n=["branch",...t];return n.length===1&&n.push("-a"),n.includes("-v")||n.splice(1,0,"-v"),{format:"utf-8",commands:n,parser(i,o){return e?hT(i,o).all[0]:zSe(i,r)}}}function zgt(){return{format:"utf-8",commands:["branch","-v"],parser(t){return zSe(t)}}}function Bgt(t,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...t],parser(r,n){return hT(r,n)},onError({exitCode:r,stdOut:n},i,o,s){if(!qSe(String(i),r))return s(i);o(n)}}}function Vgt(t,e=!1){let r={format:"utf-8",commands:["branch","-v",e?"-D":"-d",t],parser(n,i){return hT(n,i).branches[t]},onError({exitCode:n,stdErr:i,stdOut:o},s,a,u){if(!qSe(String(s),n))return u(s);throw new W6(r.parser(V6(o),V6(i)),String(s))}};return r}var Hgt=Ve({"src/lib/tasks/branch.ts"(){"use strict";nv(),jgt(),qgt(),It()}});function Wgt(t){let e=t.trim().replace(/^["']|["']$/g,"");return e&&(0,GSe.normalize)(e)}var KSe,Ggt=Ve({"src/lib/responses/CheckIgnore.ts"(){"use strict";KSe=t=>t.split(/\n/g).map(Wgt).filter(Boolean)}}),ZSe={};$i(ZSe,{checkIgnoreTask:()=>Kgt});function Kgt(t){return{commands:["check-ignore",...t],format:"utf-8",parser:KSe}}var Zgt=Ve({"src/lib/tasks/check-ignore.ts"(){"use strict";Ggt()}}),JSe={};$i(JSe,{cloneMirrorTask:()=>Xgt,cloneTask:()=>XSe});function Jgt(t){return/^--upload-pack(=|$)/.test(t)}function XSe(t,e,r){let n=["clone",...r];return co(t)&&n.push(t),co(e)&&n.push(e),n.find(Jgt)?ha("git.fetch: potential exploit argument blocked."):Rs(n)}function Xgt(t,e,r){return Nr(r,"--mirror"),XSe(t,e,r)}var Ygt=Ve({"src/lib/tasks/clone.ts"(){"use strict";Ei(),It()}});function Qgt(t,e){return ma({raw:t,remote:null,branches:[],tags:[],updated:[],deleted:[]},YSe,[t,e])}var YSe,e1t=Ve({"src/lib/parsers/parse-fetch.ts"(){"use strict";It(),YSe=[new Ut(/From (.+)$/,(t,[e])=>{t.remote=e}),new Ut(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.branches.push({name:e,tracking:r})}),new Ut(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.tags.push({name:e,tracking:r})}),new Ut(/- \[deleted]\s+\S+\s*-> (.+)$/,(t,[e])=>{t.deleted.push({tracking:e})}),new Ut(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(t,[e,r,n,i])=>{t.updated.push({name:n,tracking:i,to:r,from:e})})]}}),QSe={};$i(QSe,{fetchTask:()=>r1t});function t1t(t){return/^--upload-pack(=|$)/.test(t)}function r1t(t,e,r){let n=["fetch",...r];return t&&e&&n.push(t,e),n.find(t1t)?ha("git.fetch: potential exploit argument blocked."):{commands:n,format:"utf-8",parser:Qgt}}var n1t=Ve({"src/lib/tasks/fetch.ts"(){"use strict";e1t(),Ei()}});function i1t(t){return ma({moves:[]},exe,t)}var exe,o1t=Ve({"src/lib/parsers/parse-move.ts"(){"use strict";It(),exe=[new Ut(/^Renaming (.+) to (.+)$/,(t,[e,r])=>{t.moves.push({from:e,to:r})})]}}),txe={};$i(txe,{moveTask:()=>s1t});function s1t(t,e){return{commands:["mv","-v",...Dl(t),e],format:"utf-8",parser:i1t}}var a1t=Ve({"src/lib/tasks/move.ts"(){"use strict";o1t(),It()}}),rxe={};$i(rxe,{pullTask:()=>c1t});function c1t(t,e,r){let n=["pull",...r];return t&&e&&n.splice(1,0,t,e),{commands:n,format:"utf-8",parser(i,o){return WW(i,o)},onError(i,o,s,a){let u=hgt(V6(i.stdOut),V6(i.stdErr));if(u)return a(new W6(u));a(o)}}}var u1t=Ve({"src/lib/tasks/pull.ts"(){"use strict";nv(),kSe(),It()}});function l1t(t){let e={};return nxe(t,([r])=>e[r]={name:r}),Object.values(e)}function f1t(t){let e={};return nxe(t,([r,n,i])=>{Object.hasOwn(e,r)||(e[r]={name:r,refs:{fetch:"",push:""}}),i&&n&&(e[r].refs[i.replace(/[^a-z]/g,"")]=n)}),Object.values(e)}function nxe(t,e){TW(t,r=>e(r.split(/\s+/)))}var d1t=Ve({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";It()}}),ixe={};$i(ixe,{addRemoteTask:()=>p1t,getRemotesTask:()=>h1t,listRemotesTask:()=>m1t,remoteTask:()=>g1t,removeRemoteTask:()=>y1t});function p1t(t,e,r){return Rs(["remote","add",...r,t,e])}function h1t(t){let e=["remote"];return t&&e.push("-v"),{commands:e,format:"utf-8",parser:t?f1t:l1t}}function m1t(t){let e=[...t];return e[0]!=="ls-remote"&&e.unshift("ls-remote"),Rs(e)}function g1t(t){let e=[...t];return e[0]!=="remote"&&e.unshift("remote"),Rs(e)}function y1t(t){return Rs(["remote","remove",t])}var v1t=Ve({"src/lib/tasks/remote.ts"(){"use strict";d1t(),Ei()}}),oxe={};$i(oxe,{stashListTask:()=>b1t});function b1t(t={},e){let r=hSe(t),n=["stash","list",...r.commands,...e],i=lSe(r.splitter,r.fields,qW(n));return pT(n)||{commands:n,format:"utf-8",parser:i}}var _1t=Ve({"src/lib/tasks/stash-list.ts"(){"use strict";J6(),dSe(),HW(),mSe()}}),sxe={};$i(sxe,{addSubModuleTask:()=>w1t,initSubModuleTask:()=>S1t,subModuleTask:()=>mT,updateSubModuleTask:()=>x1t});function w1t(t,e){return mT(["add",t,e])}function S1t(t){return mT(["init",...t])}function mT(t){let e=[...t];return e[0]!=="submodule"&&e.unshift("submodule"),Rs(e)}function x1t(t){return mT(["update",...t])}var k1t=Ve({"src/lib/tasks/sub-module.ts"(){"use strict";Ei()}});function E1t(t,e){let r=Number.isNaN(t),n=Number.isNaN(e);return r!==n?r?1:-1:r?axe(t,e):0}function axe(t,e){return t===e?0:t>e?1:-1}function $1t(t){return t.trim()}function ZP(t){return typeof t=="string"&&parseInt(t.replace(/^\D+/g,""),10)||0}var r9e,cxe,P1t=Ve({"src/lib/responses/TagList.ts"(){"use strict";r9e=class{constructor(t,e){this.all=t,this.latest=e}},cxe=function(t,e=!1){let r=t.split(`
|
|
@@ -539,7 +539,7 @@ If the module is not located in the current directory, you can provide a custom
|
|
|
539
539
|
kdsl mod update -v 1.0.0 -p ./my-module
|
|
540
540
|
`.trim();function Cbt(t){return async e=>{await Abt(t,process.cwd(),e)}}var Abt=async(t,e,r)=>{var l,f,d;let n=ti.fileSystemProvider(),i=(l=r.path)!=null?l:e;T8.default.isAbsolute(i)||(i=T8.default.join(e,i));let o=await Lm(n,ze.file(i));je.isSome(o)&&o.value.fsPath===i&&(t.error(`error: module ${i} already exists`),process.exit(1));let s=await n.readFile(ze.file(T8.default.join(i,an))),a=JSON.parse(s),u={spec:"kumori/module/v1",kumori:"0.0.1",version:(f=r.version)!=null?f:a.version,module:a.module,cacheLocation:(d=r.cacheLocation)!=null?d:a.cacheLocation,requires:[]},c=T8.default.join(i,an);await(0,uR.mkdir)(i,{recursive:!0}),await(0,uR.writeFile)(c,JSON.stringify(u,null,4)),t.info(`updated ${an}: module ${u.module}`)};var k$e={Register:Obt};function Obt(t,e){let r=t.command("mod").summary(Ibt).description(Dbt).helpCommand(!1).helpOption(!1);return Lxe.Register(r,e),Rxe.Register(r,e),zxe.Register(r,e),w$e.Register(r,e),S$e.Register(r),x$e.Register(r,e),r}var Ibt="module maintenance",Dbt=`
|
|
541
541
|
Provides access to operations on modules.
|
|
542
|
-
`.trim();var E$e={name:"@kumori/kdsl",version:"0.0.
|
|
542
|
+
`.trim();var E$e={name:"@kumori/kdsl",version:"0.0.25",private:!1,files:["bin","out","dist"],type:"module",description:"Kumori DSL command line interface and library",bin:{kdsl:"bin/cli.js"},main:"./out/lib/index.cjs",module:"./dist/lib/index.js",types:"./dist/lib/index.d.ts",exports:{".":{import:"./dist/lib/index.js",require:"./out/lib/index.cjs",types:"./dist/lib/index.d.ts"},"./build":{import:"./dist/lib/build.js",require:"./out/lib/build.cjs",types:"./dist/lib/build.d.ts"},"./deployment":{import:"./dist/lib/deployment.js",require:"./out/lib/deployment.cjs",types:"./dist/lib/deployment.d.ts"},"./check":{import:"./dist/lib/check.js",require:"./out/lib/check.cjs",types:"./dist/lib/check.d.ts"},"./clean":{import:"./dist/lib/clean.js",require:"./out/lib/clean.cjs",types:"./dist/lib/clean.d.ts"},"./mod":{import:"./dist/lib/mod.js",require:"./out/lib/mod.cjs",types:"./dist/lib/mod.d.ts"},"./registry":{import:"./dist/lib/registry.js",require:"./out/lib/registry.cjs",types:"./dist/lib/registry.d.ts"},"./index-cmd":{import:"./dist/lib/index-cmd.js",require:"./out/lib/index-cmd.cjs",types:"./dist/lib/index-cmd.d.ts"}},scripts:{build:"npm run fix && npm run build:types && npm run build:cli && npm run copy-loader","build:types":"tsc -b tsconfig.json","build:cli":"node esbuild.mjs --minify","build:lib":"node esbuild.mjs --minify --target=cjs && node esbuild.mjs --minify --target=esm","copy-loader":"mkdir -p out/lib dist/lib && rsync -av --include='*/' --include='*.kumori' --exclude='*' src/ out/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' src/ dist/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' ../lsp/dist/language/builtin/lib/ out/lib/ && rsync -av --include='*/' --include='*.kumori' --exclude='*' ../lsp/dist/language/builtin/lib/ dist/lib/ && bash -c 'shopt -s globstar && cp src/**/*.kumori out/'",test:"vitest run",clean:"rm -rf dist/ out/ tsconfig.tsbuildinfo",prepublishOnly:"npm run build",lint:"eslint .",prettier:"prettier src/ test/ --write",fix:"npm run lint && npm run prettier"},dependencies:{"@commander-js/extra-typings":"^14.0.0","@inquirer/prompts":"^8.0.2","@kumori/kdsl-lsp":"0.0.1-alpha.15",ajv:"^8.17.1",chalk:"~5.6.2",commander:"~14.0.2",zod:"^4.1.13"},license:"EUPL",keywords:["cli","tool","automation","kumori","dsl"],gitHead:"89bea74c68de5f90f37ccc0e64b340408c90b76d",devDependencies:{"@eslint/js":"^9.39.1",eslint:"^9.39.1",globals:"^16.5.0",jiti:"^2.6.1",prettier:"3.7.3","typescript-eslint":"^8.48.0"}};var Lbt="<unknown>",$$e,Mbt=($$e=E$e.version)!=null?$$e:Lbt,P$e=Mbt;var T$e={Register:jbt};function jbt(t,e){return t.command("add").argument("<selector>","Name selector for matching dependencies").argument("<url>","Repository URL where the registry index file is located").argument("[token]","(optional) Access token for private repositories").summary(Fbt).description(qbt).action(Ubt(e))}var Fbt=`
|
|
543
543
|
add a new registry
|
|
544
544
|
`.trim(),qbt=`
|
|
545
545
|
Add a registry to the resolver configuration. The selector argument is used to match artifacts.
|