@kelceyp/caw-server 0.0.46 → 0.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +15 -2
- package/dist/main.js +6 -6
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -332,7 +332,7 @@ ${q}`,$}return $}function V06($){return KZ8.isObject($)&&KZ8.isString($.stack)}}
|
|
|
332
332
|
`+J+`
|
|
333
333
|
`+W+`^
|
|
334
334
|
`}throw new SyntaxError(z+'Unexpected token: "'+K+'" '+("at "+q+":"+Y+"."))},getCursor:function $(){return this._cursor},getCurrentLine:function $(){return this._currentLine},getCurrentColumn:function $(){return this._currentColumn},_captureLocation:function $(K){var q=/\n/g;this._tokenStartOffset=this._cursor,this._tokenStartLine=this._currentLine,this._tokenStartColumn=this._tokenStartOffset-this._currentLineBeginOffset;var Y=void 0;while((Y=q.exec(K))!==null)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+Y.index+1;this._tokenEndOffset=this._cursor+K.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return{type:K,value:q,startOffset:this._tokenStartOffset,endOffset:this._tokenEndOffset,startLine:this._tokenStartLine,endLine:this._tokenEndLine,startColumn:this._tokenStartColumn,endColumn:this._tokenEndColumn}},isEOF:function $(){return this._cursor===this._string.length},hasMoreTokens:function $(){return this._cursor<=this._string.length},_match:function $(K,q){var Y=K.match(q);if(Y)return this._captureLocation(Y[0]),this._cursor+=Y[0].length,Y[0];return null},onToken:function $(K){return K}};Q4.lexer=h3;Q4.tokenizer=h3;Q4.options={captureLocations:!0};var n2={setOptions:function $(K){return Q4.options=K,this},getOptions:function $(){return Q4.options},parse:function $(K,q){if(!h3)throw new Error("Tokenizer instance wasn't specified.");h3.initString(K);var Y=Q4.options;if(q)Q4.options=Object.assign({},Q4.options,q);n2.onParseBegin(K,h3,Q4.options),D7.length=0,D7.push(0);var J=h3.getNextToken(),z=null;do{if(!J)Q4.options=Y,DX8();var W=D7[D7.length-1],H=vX8[J.type];if(!dy[W].hasOwnProperty(H))Q4.options=Y,_X8(J);var Z=dy[W][H];if(Z[0]==="s"){var P=null;if(Q4.options.captureLocations)P={startOffset:J.startOffset,endOffset:J.endOffset,startLine:J.startLine,endLine:J.endLine,startColumn:J.startColumn,endColumn:J.endColumn};z=this.onShift(J),D7.push({symbol:vX8[z.type],semanticValue:z.value,loc:P},Number(Z.slice(1))),J=h3.getNextToken()}else if(Z[0]==="r"){var O=Z.slice(1),X=OM6[O],w=typeof X[2]==="function",T=w?[]:null,G=w&&Q4.options.captureLocations?[]:null;if(X[1]!==0){var j=X[1];while(j-- >0){D7.pop();var v=D7.pop();if(w){if(T.unshift(v.semanticValue),G)G.unshift(v.loc)}}}var A={symbol:X[0]};if(w){n5=z?z.value:null,fX8=z?z.value.length:null;var R=G!==null?T.concat(G):T;if(X[2].apply(X,kX8(R)),A.semanticValue=Q8,G)A.loc=S8}var k=D7[D7.length-1],f=X[0];D7.push(A,dy[k][f])}else if(Z==="acc"){D7.pop();var D=D7.pop();if(D7.length!==1||D7[0]!==0||h3.hasMoreTokens())Q4.options=Y,_X8(J);if(D.hasOwnProperty("semanticValue"))return Q4.options=Y,n2.onParseEnd(D.semanticValue),D.semanticValue;return n2.onParseEnd(),Q4.options=Y,!0}}while(h3.hasMoreTokens()||D7.length>1)},setTokenizer:function $(K){return h3=K,n2},getTokenizer:function $(){return h3},onParseBegin:function $(K,q,Y){},onParseEnd:function $(K){},onShift:function $(K){return K}},ny=0,Kj={},RX8="";n2.onParseBegin=function($,K){RX8=$,ny=0,Kj={};var q=$.lastIndexOf("/"),Y=$.slice(q);if(Y.includes("x")&&Y.includes("u"))K.pushState("xu");else{if(Y.includes("x"))K.pushState("x");if(Y.includes("u"))K.pushState("u")}};n2.onShift=function($){if($.type==="L_PAREN"||$.type==="NAMED_CAPTURE_GROUP")$.value=new String($.value),$.value.groupNumber=++ny;return $};function iy($){var K=$.match(/\d+/g).map(Number);if(Number.isFinite(K[1])&&K[1]<K[0])throw new SyntaxError("Numbers out of order in "+$+" quantifier");return K}function AX8($,K){if($.kind==="control"||K.kind==="control"||!isNaN($.codePoint)&&!isNaN(K.codePoint)&&$.codePoint>K.codePoint)throw new SyntaxError("Range "+$.value+"-"+K.value+" out of order in character class")}var NZ=GX8();function TM6($,K){var q=$[1]==="P",Y=$.indexOf("="),J=$.slice(3,Y!==-1?Y:-1),z=void 0,W=Y===-1&&NZ.isGeneralCategoryValue(J),H=Y===-1&&NZ.isBinaryPropertyName(J);if(W)z=J,J="General_Category";else if(H)z=J;else{if(!NZ.isValidName(J))throw new SyntaxError("Invalid unicode property name: "+J+".");if(z=$.slice(Y+1,-1),!NZ.isValidValue(J,z))throw new SyntaxError("Invalid "+J+" unicode property value: "+z+".")}return G4({type:"UnicodeProperty",name:J,value:z,negative:q,shorthand:W,binary:H,canonicalName:NZ.getCanonicalName(J)||J,canonicalValue:NZ.getCanonicalValue(z)||z},K)}function h7($,K,q){var Y=void 0,J=void 0;switch(K){case"decimal":{J=Number($.slice(1)),Y=String.fromCodePoint(J);break}case"oct":{J=parseInt($.slice(1),8),Y=String.fromCodePoint(J);break}case"hex":case"unicode":{if($.lastIndexOf("\\u")>0){var z=$.split("\\u").slice(1),W=PM6(z,2),H=W[0],Z=W[1];H=parseInt(H,16),Z=parseInt(Z,16),J=(H-55296)*1024+(Z-56320)+65536,Y=String.fromCodePoint(J)}else{var P=$.slice(2).replace("{","");if(J=parseInt(P,16),J>1114111)throw new SyntaxError("Bad character escape sequence: "+$);Y=String.fromCodePoint(J)}break}case"meta":{switch($){case"\\t":Y="\t",J=Y.codePointAt(0);break;case"\\n":Y=`
|
|
335
|
-
`,J=Y.codePointAt(0);break;case"\\r":Y="\r",J=Y.codePointAt(0);break;case"\\v":Y="\v",J=Y.codePointAt(0);break;case"\\f":Y="\f",J=Y.codePointAt(0);break;case"\\b":Y="\b",J=Y.codePointAt(0);case"\\0":Y="\x00",J=0;case".":Y=".",J=NaN;break;default:J=NaN}break}case"simple":{Y=$,J=Y.codePointAt(0);break}}return G4({type:"Char",value:$,kind:K,symbol:Y,codePoint:J},q)}var jM6="gimsuxy";function GM6($){var K=new Set,q=!0,Y=!1,J=void 0;try{for(var z=$[Symbol.iterator](),W;!(q=(W=z.next()).done);q=!0){var H=W.value;if(K.has(H)||!jM6.includes(H))throw new SyntaxError("Invalid flags: "+$);K.add(H)}}catch(Z){Y=!0,J=Z}finally{try{if(!q&&z.return)z.return()}finally{if(Y)throw J}}return $.split("").sort().join("")}function vM6($,K){var q=Number($.slice(1));if(q>0&&q<=ny)return G4({type:"Backreference",kind:"number",number:q,reference:q},K);return h7($,"decimal",K)}var VM6=/^\\u[0-9a-fA-F]{4}/,AM6=/^\\u\{[0-9a-fA-F]{1,}\}/,MM6=/\\u\{[0-9a-fA-F]{1,}\}/;function MX8($,K){var q=MM6.test($),Y=K==="u"||K==="xu"||K==="u_class";if(q&&!Y)throw new SyntaxError('invalid group Unicode name "'+$+'", use `u` flag.');return $}var _M6=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function CX8($){return $.replace(new RegExp(_M6,"g"),function(K,q,Y,J,z,W,H){if(q)return String.fromCodePoint(parseInt(q,16),parseInt(Y,16));if(J)return String.fromCodePoint(parseInt(J,16));if(z)return String.fromCodePoint(parseInt(z,16));if(W)return String.fromCodePoint(parseInt(W,16));if(H)return String.fromCodePoint(parseInt(H,16));return K})}function kM6($,K){var q=$.slice(3,-1),Y=CX8(q);if(Kj.hasOwnProperty(Y))return G4({type:"Backreference",kind:"name",number:Kj[Y],reference:Y,referenceRaw:q},K);var J=null,z=null,W=null,H=null;if(K)J=K.startOffset,z=K.startLine,W=K.endLine,H=K.startColumn;var Z=/^[\w$<>]/,P=void 0,O=[h7($.slice(1,2),"simple",J?{startLine:z,endLine:W,startColumn:H,startOffset:J,endOffset:J+=2,endColumn:H+=2}:null)];O[0].escaped=!0,$=$.slice(2);while($.length>0){var X=null;if((X=$.match(VM6))||(X=$.match(AM6))){if(J)P={startLine:z,endLine:W,startColumn:H,startOffset:J,endOffset:J+=X[0].length,endColumn:H+=X[0].length};O.push(h7(X[0],"unicode",P)),$=$.slice(X[0].length)}else if(X=$.match(Z)){if(J)P={startLine:z,endLine:W,startColumn:H,startOffset:J,endOffset:++J,endColumn:++H};O.push(h7(X[0],"simple",P)),$=$.slice(1)}}return O}function G4($,K){if(Q4.options.captureLocations)$.loc={source:RX8.slice(K.startOffset,K.endOffset),start:{line:K.startLine,column:K.startColumn,offset:K.startOffset},end:{line:K.endLine,column:K.endColumn,offset:K.endOffset}};return $}function h_($,K){if(!Q4.options.captureLocations)return null;return{startOffset:$.startOffset,endOffset:K.endOffset,startLine:$.startLine,endLine:K.endLine,startColumn:$.startColumn,endColumn:K.endColumn}}function _X8($){if($.type===NX8)DX8();h3.throwUnexpectedToken($.value,$.startLine,$.startColumn)}function DX8(){fM6("Unexpected end of input.")}function fM6($){throw new SyntaxError($)}hX8.exports=n2});var Yj=V((v64,SX8)=>{var qj=EX8(),NM6=qj.parse.bind(qj);qj.parse=function($,K){return NM6(""+$,K)};qj.setOptions({captureLocations:!1});SX8.exports=qj});var S_=V((V64,IX8)=>{var RM6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function CM6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var E_="expressions",LX8="expression",ay=function(){function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,J=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;CM6(this,$),this.node=K,this.parentPath=q,this.parent=q?q.node:null,this.property=Y,this.index=J}return RM6($,[{key:"_enforceProp",value:function K(q){if(!this.node.hasOwnProperty(q))throw new Error("Node of type "+this.node.type+` doesn't have "`+q+'" collection.')}},{key:"setChild",value:function K(q){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,z=void 0;if(Y!=null){if(!J)J=E_;this._enforceProp(J),this.node[J][Y]=q,z=$.getForNode(q,this,J,Y)}else{if(!J)J=LX8;this._enforceProp(J),this.node[J]=q,z=$.getForNode(q,this,J,null)}return z}},{key:"appendChild",value:function K(q){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!Y)Y=E_;this._enforceProp(Y);var J=this.node[Y].length;return this.setChild(q,J,Y)}},{key:"insertChildAt",value:function K(q,Y){var J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:E_;if(this._enforceProp(J),this.node[J].splice(Y,0,q),Y<=$.getTraversingIndex())$.updateTraversingIndex(1);this._rebuildIndex(this.node,J)}},{key:"remove",value:function K(){if(this.isRemoved())return;if($.registry.delete(this.node),this.node=null,!this.parent)return;if(this.index!==null){if(this.parent[this.property].splice(this.index,1),this.index<=$.getTraversingIndex())$.updateTraversingIndex(-1);this._rebuildIndex(this.parent,this.property),this.index=null,this.property=null;return}delete this.parent[this.property],this.property=null}},{key:"_rebuildIndex",value:function K(q,Y){var J=$.getForNode(q);for(var z=0;z<q[Y].length;z++){var W=$.getForNode(q[Y][z],J,Y,z);W.index=z}}},{key:"isRemoved",value:function K(){return this.node===null}},{key:"replace",value:function K(q){if($.registry.delete(this.node),this.node=q,!this.parent)return null;if(this.index!==null)this.parent[this.property][this.index]=q;else this.parent[this.property]=q;return $.getForNode(q,this.parentPath,this.property,this.index)}},{key:"update",value:function K(q){Object.assign(this.node,q)}},{key:"getParent",value:function K(){return this.parentPath}},{key:"getChild",value:function K(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;if(this.node.expressions)return $.getForNode(this.node.expressions[q],this,E_,q);else if(this.node.expression&&q==0)return $.getForNode(this.node.expression,this,LX8);return null}},{key:"hasEqualSource",value:function K(q){return JSON.stringify(this.node,oy)===JSON.stringify(q.node,oy)}},{key:"jsonEncode",value:function K(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Y=q.format,J=q.useLoc;return JSON.stringify(this.node,J?null:oy,Y)}},{key:"getPreviousSibling",value:function K(){if(!this.parent||this.index==null)return null;return $.getForNode(this.parent[this.property][this.index-1],$.getForNode(this.parent),this.property,this.index-1)}},{key:"getNextSibling",value:function K(){if(!this.parent||this.index==null)return null;return $.getForNode(this.parent[this.property][this.index+1],$.getForNode(this.parent),this.property,this.index+1)}}],[{key:"getForNode",value:function K(q){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1;if(!q)return null;if(!$.registry.has(q))$.registry.set(q,new $(q,Y,J,z==-1?null:z));var W=$.registry.get(q);if(Y!==null)W.parentPath=Y,W.parent=W.parentPath.node;if(J!==null)W.property=J;if(z>=0)W.index=z;return W}},{key:"initRegistry",value:function K(){if(!$.registry)$.registry=new Map;$.registry.clear()}},{key:"updateTraversingIndex",value:function K(q){return $.traversingIndexStack[$.traversingIndexStack.length-1]+=q}},{key:"getTraversingIndex",value:function K(){return $.traversingIndexStack[$.traversingIndexStack.length-1]}}]),$}();ay.initRegistry();ay.traversingIndexStack=[];function oy($,K){if($==="loc")return;return K}IX8.exports=ay});var ry=V((A64,xX8)=>{var RZ=S_();function DM6($){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},q=K.pre,Y=K.post,J=K.skipProperty;function z(W,H,Z,P){if(!W||typeof W.type!=="string")return;var O=void 0;if(q)O=q(W,H,Z,P);if(O!==!1){if(H&&H[Z])if(!isNaN(P))W=H[Z][P];else W=H[Z];for(var X in W)if(W.hasOwnProperty(X)){if(J?J(X,W):X[0]==="$")continue;var w=W[X];if(Array.isArray(w)){var T=0;RZ.traversingIndexStack.push(T);while(T<w.length)z(w[T],W,X,T),T=RZ.updateTraversingIndex(1);RZ.traversingIndexStack.pop()}else z(w,W,X)}}if(Y)Y(W,H,Z,P)}z($,null)}xX8.exports={traverse:function $(K,q){var Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{asNodes:!1};if(!Array.isArray(q))q=[q];q=q.filter(function(z){if(typeof z.shouldRun!=="function")return!0;return z.shouldRun(K)}),RZ.initRegistry(),q.forEach(function(z){if(typeof z.init==="function")z.init(K)});function J(z,W,H,Z){var P=RZ.getForNode(W),O=RZ.getForNode(z,P,H,Z);return O}DM6(K,{pre:function z(W,H,Z,P){var O=void 0;if(!Y.asNodes)O=J(W,H,Z,P);var X=!0,w=!1,T=void 0;try{for(var G=q[Symbol.iterator](),j;!(X=(j=G.next()).done);X=!0){var v=j.value;if(typeof v["*"]==="function")if(O){if(!O.isRemoved()){var A=v["*"](O);if(A===!1)return!1}}else v["*"](W,H,Z,P);var R=void 0;if(typeof v[W.type]==="function")R=v[W.type];else if(typeof v[W.type]==="object"&&typeof v[W.type].pre==="function")R=v[W.type].pre;if(R)if(O){if(!O.isRemoved()){var k=R.call(v,O);if(k===!1)return!1}}else R.call(v,W,H,Z,P)}}catch(f){w=!0,T=f}finally{try{if(!X&&G.return)G.return()}finally{if(w)throw T}}},post:function z(W,H,Z,P){if(!W)return;var O=void 0;if(!Y.asNodes)O=J(W,H,Z,P);var X=!0,w=!1,T=void 0;try{for(var G=q[Symbol.iterator](),j;!(X=(j=G.next()).done);X=!0){var v=j.value,A=void 0;if(typeof v[W.type]==="object"&&typeof v[W.type].post==="function")A=v[W.type].post;if(A)if(O){if(!O.isRemoved()){var R=A.call(v,O);if(R===!1)return!1}}else A.call(v,W,H,Z,P)}}catch(k){w=!0,T=k}finally{try{if(!X&&G.return)G.return()}finally{if(w)throw T}}},skipProperty:function z(W){return W==="loc"}})}}});var L_=V((M64,yX8)=>{var hM6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function EM6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var bX8=py(),SM6=Yj(),LM6=ry(),gX8=function(){function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;EM6(this,$),this._ast=K,this._source=null,this._string=null,this._regexp=null,this._extra=q}return hM6($,[{key:"getAST",value:function K(){return this._ast}},{key:"setExtra",value:function K(q){this._extra=q}},{key:"getExtra",value:function K(){return this._extra}},{key:"toRegExp",value:function K(){if(!this._regexp)this._regexp=new RegExp(this.getSource(),this._ast.flags);return this._regexp}},{key:"getSource",value:function K(){if(!this._source)this._source=bX8.generate(this._ast.body);return this._source}},{key:"getFlags",value:function K(){return this._ast.flags}},{key:"toString",value:function K(){if(!this._string)this._string=bX8.generate(this._ast);return this._string}}]),$}();yX8.exports={TransformResult:gX8,transform:function $(K,q){var Y=K;if(K instanceof RegExp)K=""+K;if(typeof K==="string")Y=SM6.parse(K,{captureLocations:!0});return LM6.traverse(Y,q),new gX8(Y)}}});var mX8=V((_64,uX8)=>{var I_=OX8(),IM6=L_();uX8.exports={transform:function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Y=q.length>0?q:Object.keys(I_),J=void 0,z={};return Y.forEach(function(W){if(!I_.hasOwnProperty(W))throw new Error("Unknown compat-transform: "+W+". Available transforms are: "+Object.keys(I_).join(", "));var H=I_[W];if(J=IM6.transform(K,H),K=J.getAST(),typeof H.getExtra==="function")z[W]=H.getExtra()}),J.setExtra(z),J}}});var UX8=V((k64,BX8)=>{BX8.exports=function $(K){if(K===null||typeof K!=="object")return K;var q=void 0;if(Array.isArray(K))q=[];else q={};for(var Y in K)q[Y]=$(K[Y]);return q}});var pX8=V((f64,cX8)=>{cX8.exports={shouldRun:function $(K){return K.flags.includes("u")},Char:function $(K){var q=K.node;if(q.kind!=="unicode"||!q.isSurrogatePair||isNaN(q.codePoint))return;q.value="\\u{"+q.codePoint.toString(16)+"}",delete q.isSurrogatePair}}});var aX8=V((N64,oX8)=>{var FX8="A".codePointAt(0),QX8="Z".codePointAt(0),lX8="a".codePointAt(0),dX8="z".codePointAt(0),iX8="0".codePointAt(0),nX8="9".codePointAt(0);oX8.exports={Char:function $(K){var{node:q,parent:Y}=K;if(isNaN(q.codePoint)||q.kind==="simple")return;if(Y.type==="ClassRange"){if(!xM6(Y))return}if(!bM6(q.codePoint))return;var J=String.fromCodePoint(q.codePoint),z={type:"Char",kind:"simple",value:J,symbol:J,codePoint:q.codePoint};if(gM6(J,Y.type))z.escaped=!0;K.replace(z)}};function xM6($){var{from:K,to:q}=$;return K.codePoint>=iX8&&K.codePoint<=nX8&&q.codePoint>=iX8&&q.codePoint<=nX8||K.codePoint>=FX8&&K.codePoint<=QX8&&q.codePoint>=FX8&&q.codePoint<=QX8||K.codePoint>=lX8&&K.codePoint<=dX8&&q.codePoint>=lX8&&q.codePoint<=dX8}function bM6($){return $>=32&&$<=126}function gM6($,K){if(K==="ClassRange"||K==="CharacterClass")return/[\]\\^-]/.test($);return/[*[()+?^$./\\|{}]/.test($)}});var eX8=V((R64,tX8)=>{var rX8="A".codePointAt(0),sX8="Z".codePointAt(0);tX8.exports={_AZClassRanges:null,_hasUFlag:!1,init:function $(K){this._AZClassRanges=new Set,this._hasUFlag=K.flags.includes("u")},shouldRun:function $(K){return K.flags.includes("i")},Char:function $(K){var{node:q,parent:Y}=K;if(isNaN(q.codePoint))return;if(!this._hasUFlag&&q.codePoint>=4096)return;if(Y.type==="ClassRange"){if(!this._AZClassRanges.has(Y)&&!yM6(Y))return;this._AZClassRanges.add(Y)}var J=q.symbol.toLowerCase();if(J!==q.symbol)q.value=uM6(J,q),q.symbol=J,q.codePoint=J.codePointAt(0)}};function yM6($){var{from:K,to:q}=$;return K.codePoint>=rX8&&K.codePoint<=sX8&&q.codePoint>=rX8&&q.codePoint<=sX8}function uM6($,K){var q=$.codePointAt(0);if(K.kind==="decimal")return"\\"+q;if(K.kind==="oct")return"\\0"+q.toString(8);if(K.kind==="hex")return"\\x"+q.toString(16);if(K.kind==="unicode")if(K.isSurrogatePair){var Y=mM6(q),J=Y.lead,z=Y.trail;return"\\u"+"0".repeat(4-J.length)+J+"\\u"+"0".repeat(4-z.length)+z}else if(K.value.includes("{"))return"\\u{"+q.toString(16)+"}";else{var W=q.toString(16);return"\\u"+"0".repeat(4-W.length)+W}return $}function mM6($){var K=Math.floor(($-65536)/1024)+55296,q=($-65536)%1024+56320;return{lead:K.toString(16),trail:q.toString(16)}}});var Kw8=V((C64,$w8)=>{$w8.exports={CharacterClass:function $(K){var q=K.node,Y={};for(var J=0;J<q.expressions.length;J++){var z=K.getChild(J),W=z.jsonEncode();if(Y.hasOwnProperty(W))z.remove(),J--;Y[W]=!0}}}});var x_=V((D64,Yw8)=>{function BM6($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}function qw8($){if($.type!=="Disjunction")throw new TypeError('Expected "Disjunction" node, got "'+$.type+'"');var K=[];if($.left&&$.left.type==="Disjunction")K.push.apply(K,BM6(qw8($.left)).concat([$.right]));else K.push($.left,$.right);return K}function UM6($){return $.reduce(function(K,q){return{type:"Disjunction",left:K,right:q}})}function cM6($){if($.kind==="*")$.kind="+";else if($.kind==="+")$.kind="Range",$.from=2,delete $.to;else if($.kind==="?")$.kind="Range",$.from=1,$.to=2;else if($.kind==="Range"){if($.from+=1,$.to)$.to+=1}}Yw8.exports={disjunctionToList:qw8,listToDisjunction:UM6,increaseQuantifierByOne:cM6}});var Ww8=V((h64,zw8)=>{var pM6=x_(),FM6=pM6.increaseQuantifierByOne;zw8.exports={Repetition:function $(K){var{node:q,parent:Y}=K;if(Y.type!=="Alternative"||!K.index)return;var J=K.getPreviousSibling();if(!J)return;if(J.node.type==="Repetition"){if(!J.getChild().hasEqualSource(K.getChild()))return;var z=Jw8(J.node.quantifier),W=z.from,H=z.to,Z=Jw8(q.quantifier),P=Z.from,O=Z.to;if(J.node.quantifier.greedy!==q.quantifier.greedy&&!b_(J.node.quantifier)&&!b_(q.quantifier))return;if(q.quantifier.kind="Range",q.quantifier.from=W+P,H&&O)q.quantifier.to=H+O;else delete q.quantifier.to;if(b_(J.node.quantifier)||b_(q.quantifier))q.quantifier.greedy=!0;J.remove()}else{if(!J.hasEqualSource(K.getChild()))return;FM6(q.quantifier),J.remove()}}};function b_($){return $.greedy&&($.kind==="+"||$.kind==="*"||$.kind==="Range"&&!$.to)}function Jw8($){var K=void 0,q=void 0;if($.kind==="*")K=0;else if($.kind==="+")K=1;else if($.kind==="?")K=0,q=1;else if(K=$.from,$.to)q=$.to;return{from:K,to:q}}});var Zw8=V((E64,Hw8)=>{Hw8.exports={Quantifier:function $(K){var q=K.node;if(q.kind!=="Range")return;QM6(K),lM6(K),dM6(K)}};function QM6($){var K=$.node;if(K.from!==0||K.to)return;K.kind="*",delete K.from}function lM6($){var K=$.node;if(K.from!==1||K.to)return;K.kind="+",delete K.from}function dM6($){var K=$.node;if(K.from!==1||K.to!==1)return;$.parentPath.replace($.parentPath.node.expression)}});var Ow8=V((S64,Pw8)=>{Pw8.exports={ClassRange:function $(K){var q=K.node;if(q.from.codePoint===q.to.codePoint)K.replace(q.from);else if(q.from.codePoint===q.to.codePoint-1)K.getParent().insertChildAt(q.to,K.index+1),K.replace(q.from)}}});var jw8=V((L64,Tw8)=>{function Xw8($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}Tw8.exports={_hasIFlag:!1,_hasUFlag:!1,init:function $(K){this._hasIFlag=K.flags.includes("i"),this._hasUFlag=K.flags.includes("u")},CharacterClass:function $(K){iM6(K),nM6(K,this._hasIFlag,this._hasUFlag),oM6(K)}};function iM6($){var K=$.node;K.expressions.forEach(function(q,Y){if(aM6(q))$.getChild(Y).replace({type:"Char",value:"\\d",kind:"meta"})})}function nM6($,K,q){var Y=$.node,J=null,z=null,W=null,H=null,Z=null,P=null;if(Y.expressions.forEach(function(O,X){if(ty(O,"\\d"))J=$.getChild(X);else if(rM6(O))z=$.getChild(X);else if(sM6(O))W=$.getChild(X);else if(tM6(O))H=$.getChild(X);else if(K&&q&&Jj(O,383))Z=$.getChild(X);else if(K&&q&&Jj(O,8490))P=$.getChild(X)}),J&&(z&&W||K&&(z||W))&&H&&(!q||!K||Z&&P)){if(J.replace({type:"Char",value:"\\w",kind:"meta"}),z)z.remove();if(W)W.remove();if(H.remove(),Z)Z.remove();if(P)P.remove()}}var sy=[function($){return ww8($," ")}].concat(Xw8(["\\f","\\n","\\r","\\t","\\v"].map(function($){return function(K){return ty(K,$)}})),Xw8([160,5760,8232,8233,8239,8287,12288,65279].map(function($){return function(K){return Jj(K,$)}})),[function($){return $.type==="ClassRange"&&Jj($.from,8192)&&Jj($.to,8202)}]);function oM6($){var K=$.node;if(K.expressions.length<sy.length||!sy.every(function(Y){return K.expressions.some(function(J){return Y(J)})}))return;var q=K.expressions.find(function(Y){return ty(Y,"\\n")});q.value="\\s",q.symbol=void 0,q.codePoint=NaN,K.expressions.map(function(Y,J){return sy.some(function(z){return z(Y)})?$.getChild(J):void 0}).filter(Boolean).forEach(function(Y){return Y.remove()})}function aM6($){return $.type==="ClassRange"&&$.from.value==="0"&&$.to.value==="9"}function ww8($,K){var q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"simple";return $.type==="Char"&&$.value===K&&$.kind===q}function ty($,K){return ww8($,K,"meta")}function rM6($){return $.type==="ClassRange"&&$.from.value==="a"&&$.to.value==="z"}function sM6($){return $.type==="ClassRange"&&$.from.value==="A"&&$.to.value==="Z"}function tM6($){return $.type==="Char"&&$.value==="_"&&$.kind==="simple"}function Jj($,K){return $.type==="Char"&&$.kind==="unicode"&&$.codePoint===K}});var vw8=V((I64,Gw8)=>{Gw8.exports={CharacterClass:function $(K){var q=K.node;if(q.expressions.length!==1||!q_6(K)||!eM6(q.expressions[0]))return;var Y=q.expressions[0],J=Y.value,z=Y.kind,W=Y.escaped;if(q.negative){if(!$_6(J))return;J=K_6(J)}K.replace({type:"Char",value:J,kind:z,escaped:W||Y_6(J)})}};function eM6($){return $.type==="Char"&&$.value!=="\\b"}function $_6($){return/^\\[dwsDWS]$/.test($)}function K_6($){return/[dws]/.test($)?$.toUpperCase():$.toLowerCase()}function q_6($){var{parent:K,index:q}=$;if(K.type!=="Alternative")return!0;var Y=K.expressions[q-1];if(Y==null)return!0;if(Y.type==="Backreference"&&Y.kind==="number")return!1;if(Y.type==="Char"&&Y.kind==="decimal")return!1;return!0}function Y_6($){return/[*[()+?$./{}|]/.test($)}});var Aw8=V((x64,Vw8)=>{Vw8.exports={_hasXFlag:!1,init:function $(K){this._hasXFlag=K.flags.includes("x")},Char:function $(K){var q=K.node;if(!q.escaped)return;if(J_6(K,this._hasXFlag))delete q.escaped}};function J_6($,K){var q=$.node.value,Y=$.index,J=$.parent;if(J.type!=="CharacterClass"&&J.type!=="ClassRange")return!W_6(q,Y,J,K);return!z_6(q,Y,J)}function z_6($,K,q){if($==="^")return K===0&&!q.negative;if($==="-")return!0;return/[\]\\]/.test($)}function W_6($,K,q,Y){if($==="{")return H_6(K,q);if($==="}")return Z_6(K,q);if(Y&&/[ #]/.test($))return!0;return/[*[()+?^$./\\|]/.test($)}function g_($,K,q){var Y=$,J=(q?Y>=0:Y<K.expressions.length)&&K.expressions[Y];while(J&&J.type==="Char"&&J.kind==="simple"&&!J.escaped&&/\d/.test(J.value))q?Y--:Y++,J=(q?Y>=0:Y<K.expressions.length)&&K.expressions[Y];return Math.abs($-Y)}function CZ($,K){return $&&$.type==="Char"&&$.kind==="simple"&&!$.escaped&&$.value===K}function H_6($,K){if($==null)return!1;var q=g_($+1,K),Y=$+q+1,J=Y<K.expressions.length&&K.expressions[Y];if(q){if(CZ(J,"}"))return!0;if(CZ(J,","))return q=g_(Y+1,K),Y=Y+q+1,J=Y<K.expressions.length&&K.expressions[Y],CZ(J,"}")}return!1}function Z_6($,K){if($==null)return!1;var q=g_($-1,K,!0),Y=$-q-1,J=Y>=0&&K.expressions[Y];if(q&&CZ(J,"{"))return!0;if(CZ(J,","))return q=g_(Y-1,K,!0),Y=Y-q-1,J=Y<K.expressions.length&&K.expressions[Y],q&&CZ(J,"{");return!1}});var fw8=V((b64,kw8)=>{kw8.exports={_hasIUFlags:!1,init:function $(K){this._hasIUFlags=K.flags.includes("i")&&K.flags.includes("u")},CharacterClass:function $(K){var q=K.node,Y=q.expressions,J=[];Y.forEach(function(Z){if(Kq(Z))J.push(Z.value)}),Y.sort(P_6);for(var z=0;z<Y.length;z++){var W=Y[z];if(O_6(W,J,this._hasIUFlags)||X_6(W,Y[z-1])||w_6(W,Y[z+1]))Y.splice(z,1),z--;else{var H=T_6(W,z,Y);Y.splice(z-H+1,H),z-=H}}}};function P_6($,K){var q=y_($),Y=y_(K);if(q===Y){if($.type==="ClassRange"&&K.type!=="ClassRange")return-1;if(K.type==="ClassRange"&&$.type!=="ClassRange")return 1;if($.type==="ClassRange"&&K.type==="ClassRange")return y_($.to)-y_(K.to);if(Kq($)&&Kq(K)||Mw8($)&&Mw8(K))return $.value<K.value?-1:1}return q-Y}function y_($){if($.type==="Char"){if($.value==="-")return 1/0;if($.kind==="control")return 1/0;if($.kind==="meta"&&isNaN($.codePoint))return-1;return $.codePoint}return $.from.codePoint}function Kq($){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return $.type==="Char"&&$.kind==="meta"&&(K?$.value===K:/^\\[dws]$/i.test($.value))}function Mw8($){return $.type==="Char"&&$.kind==="control"}function O_6($,K,q){for(var Y=0;Y<K.length;Y++)if(ey($,K[Y],q))return!0;return!1}function ey($,K,q){if($.type==="ClassRange")return ey($.from,K,q)&&ey($.to,K,q);if(K==="\\S"&&(Kq($,"\\w")||Kq($,"\\d")))return!0;if(K==="\\D"&&(Kq($,"\\W")||Kq($,"\\s")))return!0;if(K==="\\w"&&Kq($,"\\d"))return!0;if(K==="\\W"&&Kq($,"\\s"))return!0;if($.type!=="Char"||isNaN($.codePoint))return!1;if(K==="\\s")return _w8($);if(K==="\\S")return!_w8($);if(K==="\\d")return $u($);if(K==="\\D")return!$u($);if(K==="\\w")return Ku($,q);if(K==="\\W")return!Ku($,q);return!1}function _w8($){return $.codePoint===9||$.codePoint===10||$.codePoint===11||$.codePoint===12||$.codePoint===13||$.codePoint===32||$.codePoint===160||$.codePoint===5760||$.codePoint>=8192&&$.codePoint<=8202||$.codePoint===8232||$.codePoint===8233||$.codePoint===8239||$.codePoint===8287||$.codePoint===12288||$.codePoint===65279}function $u($){return $.codePoint>=48&&$.codePoint<=57}function Ku($,K){return $u($)||$.codePoint>=65&&$.codePoint<=90||$.codePoint>=97&&$.codePoint<=122||$.value==="_"||K&&($.codePoint===383||$.codePoint===8490)}function X_6($,K){if(K&&K.type==="ClassRange"){if(qu($,K))return!0;else if(u_($)&&K.to.codePoint===$.codePoint-1)return K.to=$,!0;else if($.type==="ClassRange"&&$.from.codePoint<=K.to.codePoint+1&&$.to.codePoint>=K.from.codePoint-1){if($.from.codePoint<K.from.codePoint)K.from=$.from;if($.to.codePoint>K.to.codePoint)K.to=$.to;return!0}}return!1}function w_6($,K){if(K&&K.type==="ClassRange"){if(u_($)&&K.from.codePoint===$.codePoint+1)return K.from=$,!0}return!1}function qu($,K){if($.type==="Char"&&isNaN($.codePoint))return!1;if($.type==="ClassRange")return qu($.from,K)&&qu($.to,K);return $.codePoint>=K.from.codePoint&&$.codePoint<=K.to.codePoint}function T_6($,K,q){if(!u_($))return 0;var Y=0;while(K>0){var J=q[K],z=q[K-1];if(u_(z)&&z.codePoint===J.codePoint-1)Y++,K--;else break}if(Y>1)return q[K]={type:"ClassRange",from:q[K],to:$},Y;return 0}function u_($){return $&&$.type==="Char"&&!isNaN($.codePoint)&&(Ku($,!1)||$.kind==="unicode"||$.kind==="hex"||$.kind==="oct"||$.kind==="decimal")}});var Cw8=V((g64,Rw8)=>{var j_6=S_(),Nw8=x_(),G_6=Nw8.disjunctionToList,v_6=Nw8.listToDisjunction;Rw8.exports={Disjunction:function $(K){var q=K.node,Y={},J=G_6(q).filter(function(z){var W=z?j_6.getForNode(z).jsonEncode():"null";if(Y.hasOwnProperty(W))return!1;return Y[W]=z,!0});K.replace(v_6(J))}}});var Ew8=V((y64,hw8)=>{hw8.exports={Disjunction:function $(K){var{node:q,parent:Y}=K;if(!Dw8[Y.type])return;var J=new Map;if(!m_(q,J)||!J.size)return;var z={type:"CharacterClass",expressions:Array.from(J.keys()).sort().map(function(W){return J.get(W)})};Dw8[Y.type](K.getParent(),z)}};var Dw8={RegExp:function $(K,q){var Y=K.node;Y.body=q},Group:function $(K,q){var Y=K.node;if(Y.capturing)Y.expression=q;else K.replace(q)}};function m_($,K){if(!$)return!1;var q=$.type;if(q==="Disjunction"){var{left:Y,right:J}=$;return m_(Y,K)&&m_(J,K)}else if(q==="Char"){if($.kind==="meta"&&$.symbol===".")return!1;var z=$.value;return K.set(z,$),!0}else if(q==="CharacterClass"&&!$.negative)return $.expressions.every(function(W){return m_(W,K)});return!1}});var Lw8=V((u64,Sw8)=>{Sw8.exports={Group:function $(K){var{node:q,parent:Y}=K,J=K.getChild();if(q.capturing||J)return;if(Y.type==="Repetition")K.getParent().replace(q);else if(Y.type!=="RegExp")K.remove()}}});var xw8=V((m64,Iw8)=>{function Yu($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}Iw8.exports={Group:function $(K){var{node:q,parent:Y}=K,J=K.getChild();if(q.capturing||!J)return;if(!V_6(K))return;if(J.node.type==="Disjunction"&&Y.type!=="RegExp")return;if(Y.type==="Repetition"&&J.node.type!=="Char"&&J.node.type!=="CharacterClass")return;if(J.node.type==="Alternative"){var z=K.getParent();if(z.node.type==="Alternative")z.replace({type:"Alternative",expressions:[].concat(Yu(Y.expressions.slice(0,K.index)),Yu(J.node.expressions),Yu(Y.expressions.slice(K.index+1)))})}else K.replace(J.node)}};function V_6($){var{parent:K,index:q}=$;if(K.type!=="Alternative")return!0;var Y=K.expressions[q-1];if(Y==null)return!0;if(Y.type==="Backreference"&&Y.kind==="number")return!1;if(Y.type==="Char"&&Y.kind==="decimal")return!1;return!0}});var yw8=V((B64,gw8)=>{function B_($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}var U_=S_(),A_6=x_(),bw8=A_6.increaseQuantifierByOne;gw8.exports={Alternative:function $(K){var q=K.node,Y=1;while(Y<q.expressions.length){var J=K.getChild(Y);if(Y=Math.max(1,M_6(K,J,Y)),Y>=q.expressions.length)break;if(J=K.getChild(Y),Y=Math.max(1,__6(K,J,Y)),Y>=q.expressions.length)break;J=K.getChild(Y),Y=Math.max(1,k_6(K,J,Y)),Y++}}};function M_6($,K,q){var Y=$.node,J=Math.ceil(q/2),z=0;while(z<J){var W=q-2*z-1,H=void 0,Z=void 0;if(z===0)H=K,Z=$.getChild(W);else H=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(q-z,q)),[K.node])}),Z=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(W,q-z)))});if(H.hasEqualSource(Z)){for(var P=0;P<2*z+1;P++)$.getChild(W).remove();return K.replace({type:"Repetition",expression:z===0&&H.node.type!=="Repetition"?H.node:{type:"Group",capturing:!1,expression:H.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),W}z++}return q}function __6($,K,q){var Y=$.node,J=0;while(J<q){var z=$.getChild(J);if(z.node.type==="Repetition"&&z.node.quantifier.greedy){var W=z.getChild(),H=void 0;if(W.node.type==="Group"&&!W.node.capturing)W=W.getChild();if(J+1===q){if(H=K,H.node.type==="Group"&&!H.node.capturing)H=H.getChild()}else H=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(J+1,q+1)))});if(W.hasEqualSource(H)){for(var Z=J;Z<q;Z++)$.getChild(J+1).remove();return bw8(z.node.quantifier),J}}J++}return q}function k_6($,K,q){var Y=$.node;if(K.node.type==="Repetition"&&K.node.quantifier.greedy){var J=K.getChild(),z=void 0;if(J.node.type==="Group"&&!J.node.capturing)J=J.getChild();var W=void 0;if(J.node.type==="Alternative")W=J.node.expressions.length,z=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(q-W,q)))});else if(W=1,z=$.getChild(q-1),z.node.type==="Group"&&!z.node.capturing)z=z.getChild();if(z.hasEqualSource(J)){for(var H=q-W;H<q;H++)$.getChild(q-W).remove();return bw8(K.node.quantifier),q-W}}return q}});var mw8=V((U64,uw8)=>{uw8.exports=new Map([["charSurrogatePairToSingleUnicode",pX8()],["charCodeToSimpleChar",aX8()],["charCaseInsensitiveLowerCaseTransform",eX8()],["charClassRemoveDuplicates",Kw8()],["quantifiersMerge",Ww8()],["quantifierRangeToSymbol",Zw8()],["charClassClassrangesToChars",Ow8()],["charClassToMeta",jw8()],["charClassToSingleChar",vw8()],["charEscapeUnescape",Aw8()],["charClassClassrangesMerge",fw8()],["disjunctionRemoveDuplicates",Cw8()],["groupSingleCharsToCharClass",Ew8()],["removeEmptyGroup",Lw8()],["ungroup",xw8()],["combineRepeatingPatterns",yw8()]])});var pw8=V((c64,cw8)=>{var Bw8=UX8(),f_6=Yj(),Uw8=L_(),c_=mw8();cw8.exports={optimize:function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Y=q.whitelist,J=Y===void 0?[]:Y,z=q.blacklist,W=z===void 0?[]:z,H=J.length>0?J:Array.from(c_.keys()),Z=H.filter(function(w){return!W.includes(w)}),P=K;if(K instanceof RegExp)K=""+K;if(typeof K==="string")P=f_6.parse(K);var O=new Uw8.TransformResult(P),X=void 0;do X=O.toString(),P=Bw8(O.getAST()),Z.forEach(function(w){if(!c_.has(w))throw new Error("Unknown optimization-transform: "+w+". Available transforms are: "+Array.from(c_.keys()).join(", "));var T=c_.get(w),G=Uw8.transform(P,T);if(G.toString()!==O.toString())if(G.toString().length<=O.toString().length)O=G;else P=Bw8(O.getAST())});while(O.toString()!==X);return O}}});var zj=V((p64,Qw8)=>{var Fw8="ε",N_6=Fw8+"*";Qw8.exports={EPSILON:Fw8,EPSILON_CLOSURE:N_6}});var Ju=V((F64,iw8)=>{var R_6=function(){function $(K,q){var Y=[],J=!0,z=!1,W=void 0;try{for(var H=K[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0)if(Y.push(Z.value),q&&Y.length===q)break}catch(P){z=!0,W=P}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return Y}return function(K,q){if(Array.isArray(K))return K;else if(Symbol.iterator in Object(K))return $(K,q);else throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),C_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function D_6($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}function h_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var dw8=zj(),E_6=dw8.EPSILON,lw8=dw8.EPSILON_CLOSURE,S_6=function(){function $(K,q){h_6(this,$),this.in=K,this.out=q}return C_6($,[{key:"matches",value:function K(q){return this.in.matches(q)}},{key:"getAlphabet",value:function K(){if(!this._alphabet){this._alphabet=new Set;var q=this.getTransitionTable();for(var Y in q){var J=q[Y];for(var z in J)if(z!==lw8)this._alphabet.add(z)}}return this._alphabet}},{key:"getAcceptingStates",value:function K(){if(!this._acceptingStates)this.getTransitionTable();return this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function K(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var q=!0,Y=!1,J=void 0;try{for(var z=this.getAcceptingStates()[Symbol.iterator](),W;!(q=(W=z.next()).done);q=!0){var H=W.value;this._acceptingStateNumbers.add(H.number)}}catch(Z){Y=!0,J=Z}finally{try{if(!q&&z.return)z.return()}finally{if(Y)throw J}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function K(){var q=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var Y=new Set,J=new Set,z=function W(H){if(Y.has(H))return;if(Y.add(H),H.number=Y.size,q._transitionTable[H.number]={},H.accepting)q._acceptingStates.add(H);var Z=H.getTransitions(),P=!0,O=!1,X=void 0;try{for(var w=Z[Symbol.iterator](),T;!(P=(T=w.next()).done);P=!0){var G=T.value,j=R_6(G,2),v=j[0],A=j[1],R=[];J.add(v);var k=!0,f=!1,D=void 0;try{for(var S=A[Symbol.iterator](),h;!(k=(h=S.next()).done);k=!0){var Q=h.value;W(Q),R.push(Q.number)}}catch(I){f=!0,D=I}finally{try{if(!k&&S.return)S.return()}finally{if(f)throw D}}q._transitionTable[H.number][v]=R}}catch(I){O=!0,X=I}finally{try{if(!P&&w.return)w.return()}finally{if(O)throw X}}};z(this.in),Y.forEach(function(W){delete q._transitionTable[W.number][E_6],q._transitionTable[W.number][lw8]=[].concat(D_6(W.getEpsilonClosure())).map(function(H){return H.number})})}return this._transitionTable}}]),$}();iw8.exports=S_6});var ow8=V((Q64,nw8)=>{var L_6=function(){function $(K,q){var Y=[],J=!0,z=!1,W=void 0;try{for(var H=K[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0)if(Y.push(Z.value),q&&Y.length===q)break}catch(P){z=!0,W=P}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return Y}return function(K,q){if(Array.isArray(K))return K;else if(Symbol.iterator in Object(K))return $(K,q);else throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();function I_6($){return Array.isArray($)?$:Array.from($)}function zu($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}var qq=null;function x_6($){var K=$.getTransitionTable(),q=Object.keys(K),Y=$.getAlphabet(),J=$.getAcceptingStateNumbers();qq={};var z=new Set;q.forEach(function(d8){d8=Number(d8);var z8=J.has(d8);if(z8)qq[d8]=J;else z.add(d8),qq[d8]=z});var W=[[z,J].filter(function(d8){return d8.size>0})],H=void 0,Z=void 0;H=W[W.length-1],Z=W[W.length-2];var P=function d8(){var z8={},v8=!0,C8=!1,f8=void 0;try{for(var c8=H[Symbol.iterator](),m8;!(v8=(m8=c8.next()).done);v8=!0){var t8=m8.value,Y6={},z1=I_6(t8),C1=z1[0],R4=z1.slice(1);Y6[C1]=new Set([C1]);var C4=!0,h$=!1,A8=void 0;try{$:for(var M8=R4[Symbol.iterator](),i;!(C4=(i=M8.next()).done);C4=!0){var J8=i.value,s=!0,w8=!1,q8=void 0;try{for(var W8=Object.keys(Y6)[Symbol.iterator](),j8;!(s=(j8=W8.next()).done);s=!0){var x8=j8.value;if(g_6(J8,x8,K,Y)){Y6[x8].add(J8),Y6[J8]=Y6[x8];continue $}}}catch(j6){w8=!0,q8=j6}finally{try{if(!s&&W8.return)W8.return()}finally{if(w8)throw q8}}Y6[J8]=new Set([J8])}}catch(j6){h$=!0,A8=j6}finally{try{if(!C4&&M8.return)M8.return()}finally{if(h$)throw A8}}Object.assign(z8,Y6)}}catch(j6){C8=!0,f8=j6}finally{try{if(!v8&&c8.return)c8.return()}finally{if(C8)throw f8}}qq=z8;var T6=new Set(Object.keys(z8).map(function(j6){return z8[j6]}));W.push([].concat(zu(T6))),H=W[W.length-1],Z=W[W.length-2]};while(!b_6(H,Z))P();var O=new Map,X=1;H.forEach(function(d8){return O.set(d8,X++)});var w={},T=new Set,G=function d8(z8,v8){var C8=!0,f8=!1,c8=void 0;try{for(var m8=z8[Symbol.iterator](),t8;!(C8=(t8=m8.next()).done);C8=!0){var Y6=t8.value;if(J.has(Y6))T.add(v8)}}catch(z1){f8=!0,c8=z1}finally{try{if(!C8&&m8.return)m8.return()}finally{if(f8)throw c8}}},j=!0,v=!1,A=void 0;try{for(var R=O.entries()[Symbol.iterator](),k;!(j=(k=R.next()).done);j=!0){var f=k.value,D=L_6(f,2),S=D[0],h=D[1];w[h]={};var Q=!0,I=!1,N=void 0;try{for(var E=Y[Symbol.iterator](),p;!(Q=(p=E.next()).done);Q=!0){var c=p.value;G(S,h);var r=void 0,P8=!0,O8=!1,R8=void 0;try{for(var I8=S[Symbol.iterator](),_8;!(P8=(_8=I8.next()).done);P8=!0){var g8=_8.value;if(r=K[g8][c],r)break}}catch(d8){O8=!0,R8=d8}finally{try{if(!P8&&I8.return)I8.return()}finally{if(O8)throw R8}}if(r)w[h][c]=O.get(qq[r])}}catch(d8){I=!0,N=d8}finally{try{if(!Q&&E.return)E.return()}finally{if(I)throw N}}}}catch(d8){v=!0,A=d8}finally{try{if(!j&&R.return)R.return()}finally{if(v)throw A}}return $.setTransitionTable(w),$.setAcceptingStateNumbers(T),$}function b_6($,K){if(!K)return!1;if($.length!==K.length)return!1;for(var q=0;q<$.length;q++){var Y=$[q],J=K[q];if(Y.size!==J.size)return!1;if([].concat(zu(Y)).sort().join(",")!==[].concat(zu(J)).sort().join(","))return!1}return!0}function g_6($,K,q,Y){var J=!0,z=!1,W=void 0;try{for(var H=Y[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0){var P=Z.value;if(!y_6($,K,q,P))return!1}}catch(O){z=!0,W=O}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return!0}function y_6($,K,q,Y){if(!qq[$]||!qq[K])return!1;var J=q[$][Y],z=q[K][Y];if(!J&&!z)return!0;return qq[$].has(J)&&qq[K].has(z)}nw8.exports={minimize:x_6}});var tw8=V((l64,sw8)=>{var u_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function aw8($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}function m_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var B_6=ow8(),U_6=zj(),rw8=U_6.EPSILON_CLOSURE,c_6=function(){function $(K){m_6(this,$),this._nfa=K}return u_6($,[{key:"minimize",value:function K(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,B_6.minimize(this)}},{key:"getAlphabet",value:function K(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function K(){if(!this._acceptingStateNumbers)this.getTransitionTable();return this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function K(){if(!this._originalAcceptingStateNumbers)this.getTransitionTable();return this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function K(q){this._transitionTable=q}},{key:"setAcceptingStateNumbers",value:function K(q){this._acceptingStateNumbers=q}},{key:"getTransitionTable",value:function K(){var q=this;if(this._transitionTable)return this._transitionTable;var Y=this._nfa.getTransitionTable(),J=Object.keys(Y);this._acceptingStateNumbers=new Set;var z=Y[J[0]][rw8],W=[z],H=this.getAlphabet(),Z=this._nfa.getAcceptingStateNumbers(),P={},O=function g8(d8){var z8=!0,v8=!1,C8=void 0;try{for(var f8=Z[Symbol.iterator](),c8;!(z8=(c8=f8.next()).done);z8=!0){var m8=c8.value;if(d8.indexOf(m8)!==-1){q._acceptingStateNumbers.add(d8.join(","));break}}}catch(t8){v8=!0,C8=t8}finally{try{if(!z8&&f8.return)f8.return()}finally{if(v8)throw C8}}};while(W.length>0){var X=W.shift(),w=X.join(",");P[w]={};var T=!0,G=!1,j=void 0;try{for(var v=H[Symbol.iterator](),A;!(T=(A=v.next()).done);T=!0){var R=A.value,k=[];O(X);var f=!0,D=!1,S=void 0;try{for(var h=X[Symbol.iterator](),Q;!(f=(Q=h.next()).done);f=!0){var I=Q.value,N=Y[I][R];if(!N)continue;var E=!0,p=!1,c=void 0;try{for(var r=N[Symbol.iterator](),P8;!(E=(P8=r.next()).done);E=!0){var O8=P8.value;if(!Y[O8])continue;k.push.apply(k,aw8(Y[O8][rw8]))}}catch(g8){p=!0,c=g8}finally{try{if(!E&&r.return)r.return()}finally{if(p)throw c}}}}catch(g8){D=!0,S=g8}finally{try{if(!f&&h.return)h.return()}finally{if(D)throw S}}var R8=new Set(k),I8=[].concat(aw8(R8));if(I8.length>0){var _8=I8.join(",");if(P[w][R]=_8,!P.hasOwnProperty(_8))W.unshift(I8)}}}catch(g8){G=!0,j=g8}finally{try{if(!T&&v.return)v.return()}finally{if(G)throw j}}}return this._transitionTable=this._remapStateNumbers(P)}},{key:"_remapStateNumbers",value:function K(q){var Y={};this._originalTransitionTable=q;var J={};Object.keys(q).forEach(function(j,v){Y[j]=v+1});for(var z in q){var W=q[z],H={};for(var Z in W)H[Z]=Y[W[Z]];J[Y[z]]=H}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var P=!0,O=!1,X=void 0;try{for(var w=this._originalAcceptingStateNumbers[Symbol.iterator](),T;!(P=(T=w.next()).done);P=!0){var G=T.value;this._acceptingStateNumbers.add(Y[G])}}catch(j){O=!0,X=j}finally{try{if(!P&&w.return)w.return()}finally{if(O)throw X}}return J}},{key:"getOriginalTransitionTable",value:function K(){if(!this._originalTransitionTable)this.getTransitionTable();return this._originalTransitionTable}},{key:"matches",value:function K(q){var Y=1,J=0,z=this.getTransitionTable();while(q[J])if(Y=z[Y][q[J++]],!Y)return!1;if(!this.getAcceptingStateNumbers().has(Y))return!1;return!0}}]),$}();sw8.exports=c_6});var $T8=V((d64,ew8)=>{var p_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function F_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var Q_6=function(){function $(){var K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},q=K.accepting,Y=q===void 0?!1:q;F_6(this,$),this._transitions=new Map,this.accepting=Y}return p_6($,[{key:"getTransitions",value:function K(){return this._transitions}},{key:"addTransition",value:function K(q,Y){return this.getTransitionsOnSymbol(q).add(Y),this}},{key:"getTransitionsOnSymbol",value:function K(q){var Y=this._transitions.get(q);if(!Y)Y=new Set,this._transitions.set(q,Y);return Y}}]),$}();ew8.exports=Q_6});var qT8=V((i64,KT8)=>{var l_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function d_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}function i_6($,K){if(!$)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return K&&(typeof K==="object"||typeof K==="function")?K:$}function n_6($,K){if(typeof K!=="function"&&K!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof K);if($.prototype=Object.create(K&&K.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}}),K)Object.setPrototypeOf?Object.setPrototypeOf($,K):$.__proto__=K}var o_6=$T8(),a_6=zj(),Wu=a_6.EPSILON,r_6=function($){n_6(K,$);function K(){return d_6(this,K),i_6(this,(K.__proto__||Object.getPrototypeOf(K)).apply(this,arguments))}return l_6(K,[{key:"matches",value:function q(Y){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;if(J.has(this))return!1;if(J.add(this),Y.length===0){if(this.accepting)return!0;var z=!0,W=!1,H=void 0;try{for(var Z=this.getTransitionsOnSymbol(Wu)[Symbol.iterator](),P;!(z=(P=Z.next()).done);z=!0){var O=P.value;if(O.matches("",J))return!0}}catch(N){W=!0,H=N}finally{try{if(!z&&Z.return)Z.return()}finally{if(W)throw H}}return!1}var X=Y[0],w=Y.slice(1),T=this.getTransitionsOnSymbol(X),G=!0,j=!1,v=void 0;try{for(var A=T[Symbol.iterator](),R;!(G=(R=A.next()).done);G=!0){var k=R.value;if(k.matches(w))return!0}}catch(N){j=!0,v=N}finally{try{if(!G&&A.return)A.return()}finally{if(j)throw v}}var f=!0,D=!1,S=void 0;try{for(var h=this.getTransitionsOnSymbol(Wu)[Symbol.iterator](),Q;!(f=(Q=h.next()).done);f=!0){var I=Q.value;if(I.matches(Y,J))return!0}}catch(N){D=!0,S=N}finally{try{if(!f&&h.return)h.return()}finally{if(D)throw S}}return!1}},{key:"getEpsilonClosure",value:function q(){var Y=this;if(!this._epsilonClosure)(function(){var J=Y.getTransitionsOnSymbol(Wu),z=Y._epsilonClosure=new Set;z.add(Y);var W=!0,H=!1,Z=void 0;try{for(var P=J[Symbol.iterator](),O;!(W=(O=P.next()).done);W=!0){var X=O.value;if(!z.has(X)){z.add(X);var w=X.getEpsilonClosure();w.forEach(function(T){return z.add(T)})}}}catch(T){H=!0,Z=T}finally{try{if(!W&&P.return)P.return()}finally{if(H)throw Z}}})();return this._epsilonClosure}}]),K}(o_6);KT8.exports=r_6});var Hu=V((n64,JT8)=>{var p_=Ju(),DZ=qT8(),s_6=zj(),K3=s_6.EPSILON;function YT8($){var K=new DZ,q=new DZ({accepting:!0});return new p_(K.addTransition($,q),q)}function t_6(){return YT8(K3)}function e_6($,K){return $.out.accepting=!1,K.out.accepting=!0,$.out.addTransition(K3,K.in),new p_($.in,K.out)}function $k6($){for(var K=arguments.length,q=Array(K>1?K-1:0),Y=1;Y<K;Y++)q[Y-1]=arguments[Y];var J=!0,z=!1,W=void 0;try{for(var H=q[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0){var P=Z.value;$=e_6($,P)}}catch(O){z=!0,W=O}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return $}function Kk6($,K){var q=new DZ,Y=new DZ;return q.addTransition(K3,$.in),q.addTransition(K3,K.in),Y.accepting=!0,$.out.accepting=!1,K.out.accepting=!1,$.out.addTransition(K3,Y),K.out.addTransition(K3,Y),new p_(q,Y)}function qk6($){for(var K=arguments.length,q=Array(K>1?K-1:0),Y=1;Y<K;Y++)q[Y-1]=arguments[Y];var J=!0,z=!1,W=void 0;try{for(var H=q[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0){var P=Z.value;$=Kk6($,P)}}catch(O){z=!0,W=O}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return $}function Yk6($){var K=new DZ,q=new DZ({accepting:!0});return K.addTransition(K3,$.in),K.addTransition(K3,q),$.out.accepting=!1,$.out.addTransition(K3,q),q.addTransition(K3,$.in),new p_(K,q)}function Jk6($){return $.in.addTransition(K3,$.out),$.out.addTransition(K3,$.in),$}function zk6($){return $.out.addTransition(K3,$.in),$}function Wk6($){return $.in.addTransition(K3,$.out),$}JT8.exports={alt:$k6,char:YT8,e:t_6,or:qk6,rep:Jk6,repExplicit:Yk6,plusRep:zk6,questionRep:Wk6}});var HT8=V((o64,WT8)=>{function Hk6($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}var Zk6=Yj(),hZ=Hu(),Pk6=hZ.alt,Ok6=hZ.char,Xk6=hZ.or,wk6=hZ.rep,Tk6=hZ.plusRep,jk6=hZ.questionRep;function Yq($){if($&&!zT8[$.type])throw new Error($.type+" is not supported in NFA/DFA interpreter.");return $?zT8[$.type]($):""}var zT8={RegExp:function $(K){if(K.flags!=="")throw new Error("NFA/DFA: Flags are not supported yet.");return Yq(K.body)},Alternative:function $(K){var q=(K.expressions||[]).map(Yq);return Pk6.apply(void 0,Hk6(q))},Disjunction:function $(K){return Xk6(Yq(K.left),Yq(K.right))},Repetition:function $(K){switch(K.quantifier.kind){case"*":return wk6(Yq(K.expression));case"+":return Tk6(Yq(K.expression));case"?":return jk6(Yq(K.expression));default:throw new Error("Unknown repeatition: "+K.quantifier.kind+".")}},Char:function $(K){if(K.kind!=="simple")throw new Error("NFA/DFA: Only simple chars are supported yet.");return Ok6(K.value)},Group:function $(K){return Yq(K.expression)}};WT8.exports={build:function $(K){var q=K;if(K instanceof RegExp)K=""+K;if(typeof K==="string")q=Zk6.parse(K,{captureLocations:!0});return Yq(q)}}});var OT8=V((a64,PT8)=>{var Gk6=Ju(),ZT8=tw8(),vk6=HT8(),Vk6=Hu();PT8.exports={NFA:Gk6,DFA:ZT8,builders:Vk6,toNFA:function $(K){return vk6.build(K)},toDFA:function $(K){return new ZT8(this.toNFA(K))},test:function $(K,q){return this.toDFA(K).matches(q)}}});var wT8=V((r64,XT8)=>{var Ak6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function Mk6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var _k6=function(){function $(K,q){var{flags:Y,groups:J,source:z}=q;Mk6(this,$),this._re=K,this._groups=J,this.flags=Y,this.source=z||K.source,this.dotAll=Y.includes("s"),this.global=K.global,this.ignoreCase=K.ignoreCase,this.multiline=K.multiline,this.sticky=K.sticky,this.unicode=K.unicode}return Ak6($,[{key:"test",value:function K(q){return this._re.test(q)}},{key:"compile",value:function K(q){return this._re.compile(q)}},{key:"toString",value:function K(){if(!this._toStringResult)this._toStringResult="/"+this.source+"/"+this.flags;return this._toStringResult}},{key:"exec",value:function K(q){var Y=this._re.exec(q);if(!this._groups||!Y)return Y;Y.groups={};for(var J in this._groups){var z=this._groups[J];Y.groups[J]=Y[z]}return Y}}]),$}();XT8.exports={RegExpTree:_k6}});var vT8=V((s64,GT8)=>{var kk6=mX8(),fk6=py(),Nk6=pw8(),TT8=Yj(),jT8=L_(),Rk6=ry(),Ck6=OT8(),Dk6=wT8(),hk6=Dk6.RegExpTree,Ek6={parser:TT8,fa:Ck6,TransformResult:jT8.TransformResult,parse:function $(K,q){return TT8.parse(""+K,q)},traverse:function $(K,q,Y){return Rk6.traverse(K,q,Y)},transform:function $(K,q){return jT8.transform(K,q)},generate:function $(K){return fk6.generate(K)},toRegExp:function $(K){var q=this.compatTranspile(K);return new RegExp(q.getSource(),q.getFlags())},optimize:function $(K,q){var Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},J=Y.blacklist;return Nk6.optimize(K,{whitelist:q,blacklist:J})},compatTranspile:function $(K,q){return kk6.transform(K,q)},exec:function $(K,q){if(typeof K==="string"){var Y=this.compatTranspile(K),J=Y.getExtra();if(J.namedCapturingGroups)K=new hk6(Y.toRegExp(),{flags:Y.getFlags(),source:Y.getSource(),groups:J.namedCapturingGroups});else K=Y.toRegExp()}return K.exec(q)}};GT8.exports=Ek6});var MT8=V((t64,AT8)=>{var F_=vT8(),Sk6=cy();class VT8 extends Sk6.Analyzer{constructor($){super($)}isVulnerable($){if(this._measureStarHeight($)>1)return!0;if(this._measureRepetitions($)>this.options.heuristic_replimit)return!0;return!1}genAttackString($){return null}_measureStarHeight($){let K=0,q=0,Y=F_.parse($);return F_.traverse(Y,{Repetition:{pre({node:J}){if(K++,q<K)q=K},post({node:J}){K--}}}),q}_measureRepetitions($){let K=0,q=F_.parse($);return F_.traverse(q,{Repetition:{pre({node:Y}){K++}}}),K}}AT8.exports=VT8});var kT8=V((e64,_T8)=>{var Lk6=MT8();_T8.exports=[Lk6]});var RT8=V(($14,NT8)=>{var Ik6=cy(),xk6=kT8();class fT8{constructor($,K){this.regExp=$,this.analyzerOptions=K}}function bk6($,K){try{let q=gk6($,K);if(yk6(q).find((J)=>J))return!1;else return!0}catch(q){return!1}}function gk6($,K){if(!K)K={};let q=K.limit===void 0?25:K.limit,Y=new Ik6.AnalyzerOptions(q),J=null;if($ instanceof RegExp)J=$;else if(typeof $==="string")J=new RegExp($);else J=new RegExp(String($));return new fT8(J,Y)}function yk6($){let K=[],q;for(q of xk6)try{let Y=new q($.analyzerOptions);K.push(Y.isVulnerable($.regExp))}catch(Y){K.push(!1)}return K}NT8.exports=bk6});var Wj=V((X14,IT8)=>{var ik6=Object.prototype.toString;IT8.exports=function $(K){if(K===void 0)return"undefined";if(K===null)return"null";var q=typeof K;if(q==="boolean")return"boolean";if(q==="string")return"string";if(q==="number")return"number";if(q==="symbol")return"symbol";if(q==="function")return sk6(K)?"generatorfunction":"function";if(nk6(K))return"array";if($f6(K))return"buffer";if(ek6(K))return"arguments";if(ak6(K))return"date";if(ok6(K))return"error";if(rk6(K))return"regexp";switch(LT8(K)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(tk6(K))return"generator";switch(q=ik6.call(K),q){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return q.slice(8,-1).toLowerCase().replace(/\s/g,"")};function LT8($){return typeof $.constructor==="function"?$.constructor.name:null}function nk6($){if(Array.isArray)return Array.isArray($);return $ instanceof Array}function ok6($){return $ instanceof Error||typeof $.message==="string"&&$.constructor&&typeof $.constructor.stackTraceLimit==="number"}function ak6($){if($ instanceof Date)return!0;return typeof $.toDateString==="function"&&typeof $.getDate==="function"&&typeof $.setDate==="function"}function rk6($){if($ instanceof RegExp)return!0;return typeof $.flags==="string"&&typeof $.ignoreCase==="boolean"&&typeof $.multiline==="boolean"&&typeof $.global==="boolean"}function sk6($,K){return LT8($)==="GeneratorFunction"}function tk6($){return typeof $.throw==="function"&&typeof $.return==="function"&&typeof $.next==="function"}function ek6($){try{if(typeof $.length==="number"&&typeof $.callee==="function")return!0}catch(K){if(K.message.indexOf("callee")!==-1)return!0}return!1}function $f6($){if($.constructor&&typeof $.constructor.isBuffer==="function")return $.constructor.isBuffer($);return!1}});var bT8=V((w14,xT8)=>{/*!
|
|
335
|
+
`,J=Y.codePointAt(0);break;case"\\r":Y="\r",J=Y.codePointAt(0);break;case"\\v":Y="\v",J=Y.codePointAt(0);break;case"\\f":Y="\f",J=Y.codePointAt(0);break;case"\\b":Y="\b",J=Y.codePointAt(0);case"\\0":Y="\x00",J=0;case".":Y=".",J=NaN;break;default:J=NaN}break}case"simple":{Y=$,J=Y.codePointAt(0);break}}return G4({type:"Char",value:$,kind:K,symbol:Y,codePoint:J},q)}var jM6="gimsuxy";function GM6($){var K=new Set,q=!0,Y=!1,J=void 0;try{for(var z=$[Symbol.iterator](),W;!(q=(W=z.next()).done);q=!0){var H=W.value;if(K.has(H)||!jM6.includes(H))throw new SyntaxError("Invalid flags: "+$);K.add(H)}}catch(Z){Y=!0,J=Z}finally{try{if(!q&&z.return)z.return()}finally{if(Y)throw J}}return $.split("").sort().join("")}function vM6($,K){var q=Number($.slice(1));if(q>0&&q<=ny)return G4({type:"Backreference",kind:"number",number:q,reference:q},K);return h7($,"decimal",K)}var VM6=/^\\u[0-9a-fA-F]{4}/,AM6=/^\\u\{[0-9a-fA-F]{1,}\}/,MM6=/\\u\{[0-9a-fA-F]{1,}\}/;function MX8($,K){var q=MM6.test($),Y=K==="u"||K==="xu"||K==="u_class";if(q&&!Y)throw new SyntaxError('invalid group Unicode name "'+$+'", use `u` flag.');return $}var _M6=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function CX8($){return $.replace(new RegExp(_M6,"g"),function(K,q,Y,J,z,W,H){if(q)return String.fromCodePoint(parseInt(q,16),parseInt(Y,16));if(J)return String.fromCodePoint(parseInt(J,16));if(z)return String.fromCodePoint(parseInt(z,16));if(W)return String.fromCodePoint(parseInt(W,16));if(H)return String.fromCodePoint(parseInt(H,16));return K})}function kM6($,K){var q=$.slice(3,-1),Y=CX8(q);if(Kj.hasOwnProperty(Y))return G4({type:"Backreference",kind:"name",number:Kj[Y],reference:Y,referenceRaw:q},K);var J=null,z=null,W=null,H=null;if(K)J=K.startOffset,z=K.startLine,W=K.endLine,H=K.startColumn;var Z=/^[\w$<>]/,P=void 0,O=[h7($.slice(1,2),"simple",J?{startLine:z,endLine:W,startColumn:H,startOffset:J,endOffset:J+=2,endColumn:H+=2}:null)];O[0].escaped=!0,$=$.slice(2);while($.length>0){var X=null;if((X=$.match(VM6))||(X=$.match(AM6))){if(J)P={startLine:z,endLine:W,startColumn:H,startOffset:J,endOffset:J+=X[0].length,endColumn:H+=X[0].length};O.push(h7(X[0],"unicode",P)),$=$.slice(X[0].length)}else if(X=$.match(Z)){if(J)P={startLine:z,endLine:W,startColumn:H,startOffset:J,endOffset:++J,endColumn:++H};O.push(h7(X[0],"simple",P)),$=$.slice(1)}}return O}function G4($,K){if(Q4.options.captureLocations)$.loc={source:RX8.slice(K.startOffset,K.endOffset),start:{line:K.startLine,column:K.startColumn,offset:K.startOffset},end:{line:K.endLine,column:K.endColumn,offset:K.endOffset}};return $}function h_($,K){if(!Q4.options.captureLocations)return null;return{startOffset:$.startOffset,endOffset:K.endOffset,startLine:$.startLine,endLine:K.endLine,startColumn:$.startColumn,endColumn:K.endColumn}}function _X8($){if($.type===NX8)DX8();h3.throwUnexpectedToken($.value,$.startLine,$.startColumn)}function DX8(){fM6("Unexpected end of input.")}function fM6($){throw new SyntaxError($)}hX8.exports=n2});var Yj=V((v64,SX8)=>{var qj=EX8(),NM6=qj.parse.bind(qj);qj.parse=function($,K){return NM6(""+$,K)};qj.setOptions({captureLocations:!1});SX8.exports=qj});var S_=V((V64,IX8)=>{var RM6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function CM6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var E_="expressions",LX8="expression",ay=function(){function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,J=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;CM6(this,$),this.node=K,this.parentPath=q,this.parent=q?q.node:null,this.property=Y,this.index=J}return RM6($,[{key:"_enforceProp",value:function K(q){if(!this.node.hasOwnProperty(q))throw new Error("Node of type "+this.node.type+` doesn't have "`+q+'" collection.')}},{key:"setChild",value:function K(q){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,z=void 0;if(Y!=null){if(!J)J=E_;this._enforceProp(J),this.node[J][Y]=q,z=$.getForNode(q,this,J,Y)}else{if(!J)J=LX8;this._enforceProp(J),this.node[J]=q,z=$.getForNode(q,this,J,null)}return z}},{key:"appendChild",value:function K(q){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!Y)Y=E_;this._enforceProp(Y);var J=this.node[Y].length;return this.setChild(q,J,Y)}},{key:"insertChildAt",value:function K(q,Y){var J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:E_;if(this._enforceProp(J),this.node[J].splice(Y,0,q),Y<=$.getTraversingIndex())$.updateTraversingIndex(1);this._rebuildIndex(this.node,J)}},{key:"remove",value:function K(){if(this.isRemoved())return;if($.registry.delete(this.node),this.node=null,!this.parent)return;if(this.index!==null){if(this.parent[this.property].splice(this.index,1),this.index<=$.getTraversingIndex())$.updateTraversingIndex(-1);this._rebuildIndex(this.parent,this.property),this.index=null,this.property=null;return}delete this.parent[this.property],this.property=null}},{key:"_rebuildIndex",value:function K(q,Y){var J=$.getForNode(q);for(var z=0;z<q[Y].length;z++){var W=$.getForNode(q[Y][z],J,Y,z);W.index=z}}},{key:"isRemoved",value:function K(){return this.node===null}},{key:"replace",value:function K(q){if($.registry.delete(this.node),this.node=q,!this.parent)return null;if(this.index!==null)this.parent[this.property][this.index]=q;else this.parent[this.property]=q;return $.getForNode(q,this.parentPath,this.property,this.index)}},{key:"update",value:function K(q){Object.assign(this.node,q)}},{key:"getParent",value:function K(){return this.parentPath}},{key:"getChild",value:function K(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;if(this.node.expressions)return $.getForNode(this.node.expressions[q],this,E_,q);else if(this.node.expression&&q==0)return $.getForNode(this.node.expression,this,LX8);return null}},{key:"hasEqualSource",value:function K(q){return JSON.stringify(this.node,oy)===JSON.stringify(q.node,oy)}},{key:"jsonEncode",value:function K(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Y=q.format,J=q.useLoc;return JSON.stringify(this.node,J?null:oy,Y)}},{key:"getPreviousSibling",value:function K(){if(!this.parent||this.index==null)return null;return $.getForNode(this.parent[this.property][this.index-1],$.getForNode(this.parent),this.property,this.index-1)}},{key:"getNextSibling",value:function K(){if(!this.parent||this.index==null)return null;return $.getForNode(this.parent[this.property][this.index+1],$.getForNode(this.parent),this.property,this.index+1)}}],[{key:"getForNode",value:function K(q){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,z=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1;if(!q)return null;if(!$.registry.has(q))$.registry.set(q,new $(q,Y,J,z==-1?null:z));var W=$.registry.get(q);if(Y!==null)W.parentPath=Y,W.parent=W.parentPath.node;if(J!==null)W.property=J;if(z>=0)W.index=z;return W}},{key:"initRegistry",value:function K(){if(!$.registry)$.registry=new Map;$.registry.clear()}},{key:"updateTraversingIndex",value:function K(q){return $.traversingIndexStack[$.traversingIndexStack.length-1]+=q}},{key:"getTraversingIndex",value:function K(){return $.traversingIndexStack[$.traversingIndexStack.length-1]}}]),$}();ay.initRegistry();ay.traversingIndexStack=[];function oy($,K){if($==="loc")return;return K}IX8.exports=ay});var ry=V((A64,xX8)=>{var RZ=S_();function DM6($){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},q=K.pre,Y=K.post,J=K.skipProperty;function z(W,H,Z,P){if(!W||typeof W.type!=="string")return;var O=void 0;if(q)O=q(W,H,Z,P);if(O!==!1){if(H&&H[Z])if(!isNaN(P))W=H[Z][P];else W=H[Z];for(var X in W)if(W.hasOwnProperty(X)){if(J?J(X,W):X[0]==="$")continue;var w=W[X];if(Array.isArray(w)){var T=0;RZ.traversingIndexStack.push(T);while(T<w.length)z(w[T],W,X,T),T=RZ.updateTraversingIndex(1);RZ.traversingIndexStack.pop()}else z(w,W,X)}}if(Y)Y(W,H,Z,P)}z($,null)}xX8.exports={traverse:function $(K,q){var Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{asNodes:!1};if(!Array.isArray(q))q=[q];q=q.filter(function(z){if(typeof z.shouldRun!=="function")return!0;return z.shouldRun(K)}),RZ.initRegistry(),q.forEach(function(z){if(typeof z.init==="function")z.init(K)});function J(z,W,H,Z){var P=RZ.getForNode(W),O=RZ.getForNode(z,P,H,Z);return O}DM6(K,{pre:function z(W,H,Z,P){var O=void 0;if(!Y.asNodes)O=J(W,H,Z,P);var X=!0,w=!1,T=void 0;try{for(var G=q[Symbol.iterator](),j;!(X=(j=G.next()).done);X=!0){var v=j.value;if(typeof v["*"]==="function")if(O){if(!O.isRemoved()){var A=v["*"](O);if(A===!1)return!1}}else v["*"](W,H,Z,P);var R=void 0;if(typeof v[W.type]==="function")R=v[W.type];else if(typeof v[W.type]==="object"&&typeof v[W.type].pre==="function")R=v[W.type].pre;if(R)if(O){if(!O.isRemoved()){var k=R.call(v,O);if(k===!1)return!1}}else R.call(v,W,H,Z,P)}}catch(f){w=!0,T=f}finally{try{if(!X&&G.return)G.return()}finally{if(w)throw T}}},post:function z(W,H,Z,P){if(!W)return;var O=void 0;if(!Y.asNodes)O=J(W,H,Z,P);var X=!0,w=!1,T=void 0;try{for(var G=q[Symbol.iterator](),j;!(X=(j=G.next()).done);X=!0){var v=j.value,A=void 0;if(typeof v[W.type]==="object"&&typeof v[W.type].post==="function")A=v[W.type].post;if(A)if(O){if(!O.isRemoved()){var R=A.call(v,O);if(R===!1)return!1}}else A.call(v,W,H,Z,P)}}catch(k){w=!0,T=k}finally{try{if(!X&&G.return)G.return()}finally{if(w)throw T}}},skipProperty:function z(W){return W==="loc"}})}}});var L_=V((M64,yX8)=>{var hM6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function EM6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var bX8=py(),SM6=Yj(),LM6=ry(),gX8=function(){function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;EM6(this,$),this._ast=K,this._source=null,this._string=null,this._regexp=null,this._extra=q}return hM6($,[{key:"getAST",value:function K(){return this._ast}},{key:"setExtra",value:function K(q){this._extra=q}},{key:"getExtra",value:function K(){return this._extra}},{key:"toRegExp",value:function K(){if(!this._regexp)this._regexp=new RegExp(this.getSource(),this._ast.flags);return this._regexp}},{key:"getSource",value:function K(){if(!this._source)this._source=bX8.generate(this._ast.body);return this._source}},{key:"getFlags",value:function K(){return this._ast.flags}},{key:"toString",value:function K(){if(!this._string)this._string=bX8.generate(this._ast);return this._string}}]),$}();yX8.exports={TransformResult:gX8,transform:function $(K,q){var Y=K;if(K instanceof RegExp)K=""+K;if(typeof K==="string")Y=SM6.parse(K,{captureLocations:!0});return LM6.traverse(Y,q),new gX8(Y)}}});var mX8=V((_64,uX8)=>{var I_=OX8(),IM6=L_();uX8.exports={transform:function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],Y=q.length>0?q:Object.keys(I_),J=void 0,z={};return Y.forEach(function(W){if(!I_.hasOwnProperty(W))throw new Error("Unknown compat-transform: "+W+". Available transforms are: "+Object.keys(I_).join(", "));var H=I_[W];if(J=IM6.transform(K,H),K=J.getAST(),typeof H.getExtra==="function")z[W]=H.getExtra()}),J.setExtra(z),J}}});var UX8=V((k64,BX8)=>{BX8.exports=function $(K){if(K===null||typeof K!=="object")return K;var q=void 0;if(Array.isArray(K))q=[];else q={};for(var Y in K)q[Y]=$(K[Y]);return q}});var pX8=V((f64,cX8)=>{cX8.exports={shouldRun:function $(K){return K.flags.includes("u")},Char:function $(K){var q=K.node;if(q.kind!=="unicode"||!q.isSurrogatePair||isNaN(q.codePoint))return;q.value="\\u{"+q.codePoint.toString(16)+"}",delete q.isSurrogatePair}}});var aX8=V((N64,oX8)=>{var FX8="A".codePointAt(0),QX8="Z".codePointAt(0),lX8="a".codePointAt(0),dX8="z".codePointAt(0),iX8="0".codePointAt(0),nX8="9".codePointAt(0);oX8.exports={Char:function $(K){var{node:q,parent:Y}=K;if(isNaN(q.codePoint)||q.kind==="simple")return;if(Y.type==="ClassRange"){if(!xM6(Y))return}if(!bM6(q.codePoint))return;var J=String.fromCodePoint(q.codePoint),z={type:"Char",kind:"simple",value:J,symbol:J,codePoint:q.codePoint};if(gM6(J,Y.type))z.escaped=!0;K.replace(z)}};function xM6($){var{from:K,to:q}=$;return K.codePoint>=iX8&&K.codePoint<=nX8&&q.codePoint>=iX8&&q.codePoint<=nX8||K.codePoint>=FX8&&K.codePoint<=QX8&&q.codePoint>=FX8&&q.codePoint<=QX8||K.codePoint>=lX8&&K.codePoint<=dX8&&q.codePoint>=lX8&&q.codePoint<=dX8}function bM6($){return $>=32&&$<=126}function gM6($,K){if(K==="ClassRange"||K==="CharacterClass")return/[\]\\^-]/.test($);return/[*[()+?^$./\\|{}]/.test($)}});var eX8=V((R64,tX8)=>{var rX8="A".codePointAt(0),sX8="Z".codePointAt(0);tX8.exports={_AZClassRanges:null,_hasUFlag:!1,init:function $(K){this._AZClassRanges=new Set,this._hasUFlag=K.flags.includes("u")},shouldRun:function $(K){return K.flags.includes("i")},Char:function $(K){var{node:q,parent:Y}=K;if(isNaN(q.codePoint))return;if(!this._hasUFlag&&q.codePoint>=4096)return;if(Y.type==="ClassRange"){if(!this._AZClassRanges.has(Y)&&!yM6(Y))return;this._AZClassRanges.add(Y)}var J=q.symbol.toLowerCase();if(J!==q.symbol)q.value=uM6(J,q),q.symbol=J,q.codePoint=J.codePointAt(0)}};function yM6($){var{from:K,to:q}=$;return K.codePoint>=rX8&&K.codePoint<=sX8&&q.codePoint>=rX8&&q.codePoint<=sX8}function uM6($,K){var q=$.codePointAt(0);if(K.kind==="decimal")return"\\"+q;if(K.kind==="oct")return"\\0"+q.toString(8);if(K.kind==="hex")return"\\x"+q.toString(16);if(K.kind==="unicode")if(K.isSurrogatePair){var Y=mM6(q),J=Y.lead,z=Y.trail;return"\\u"+"0".repeat(4-J.length)+J+"\\u"+"0".repeat(4-z.length)+z}else if(K.value.includes("{"))return"\\u{"+q.toString(16)+"}";else{var W=q.toString(16);return"\\u"+"0".repeat(4-W.length)+W}return $}function mM6($){var K=Math.floor(($-65536)/1024)+55296,q=($-65536)%1024+56320;return{lead:K.toString(16),trail:q.toString(16)}}});var Kw8=V((C64,$w8)=>{$w8.exports={CharacterClass:function $(K){var q=K.node,Y={};for(var J=0;J<q.expressions.length;J++){var z=K.getChild(J),W=z.jsonEncode();if(Y.hasOwnProperty(W))z.remove(),J--;Y[W]=!0}}}});var x_=V((D64,Yw8)=>{function BM6($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}function qw8($){if($.type!=="Disjunction")throw new TypeError('Expected "Disjunction" node, got "'+$.type+'"');var K=[];if($.left&&$.left.type==="Disjunction")K.push.apply(K,BM6(qw8($.left)).concat([$.right]));else K.push($.left,$.right);return K}function UM6($){return $.reduce(function(K,q){return{type:"Disjunction",left:K,right:q}})}function cM6($){if($.kind==="*")$.kind="+";else if($.kind==="+")$.kind="Range",$.from=2,delete $.to;else if($.kind==="?")$.kind="Range",$.from=1,$.to=2;else if($.kind==="Range"){if($.from+=1,$.to)$.to+=1}}Yw8.exports={disjunctionToList:qw8,listToDisjunction:UM6,increaseQuantifierByOne:cM6}});var Ww8=V((h64,zw8)=>{var pM6=x_(),FM6=pM6.increaseQuantifierByOne;zw8.exports={Repetition:function $(K){var{node:q,parent:Y}=K;if(Y.type!=="Alternative"||!K.index)return;var J=K.getPreviousSibling();if(!J)return;if(J.node.type==="Repetition"){if(!J.getChild().hasEqualSource(K.getChild()))return;var z=Jw8(J.node.quantifier),W=z.from,H=z.to,Z=Jw8(q.quantifier),P=Z.from,O=Z.to;if(J.node.quantifier.greedy!==q.quantifier.greedy&&!b_(J.node.quantifier)&&!b_(q.quantifier))return;if(q.quantifier.kind="Range",q.quantifier.from=W+P,H&&O)q.quantifier.to=H+O;else delete q.quantifier.to;if(b_(J.node.quantifier)||b_(q.quantifier))q.quantifier.greedy=!0;J.remove()}else{if(!J.hasEqualSource(K.getChild()))return;FM6(q.quantifier),J.remove()}}};function b_($){return $.greedy&&($.kind==="+"||$.kind==="*"||$.kind==="Range"&&!$.to)}function Jw8($){var K=void 0,q=void 0;if($.kind==="*")K=0;else if($.kind==="+")K=1;else if($.kind==="?")K=0,q=1;else if(K=$.from,$.to)q=$.to;return{from:K,to:q}}});var Zw8=V((E64,Hw8)=>{Hw8.exports={Quantifier:function $(K){var q=K.node;if(q.kind!=="Range")return;QM6(K),lM6(K),dM6(K)}};function QM6($){var K=$.node;if(K.from!==0||K.to)return;K.kind="*",delete K.from}function lM6($){var K=$.node;if(K.from!==1||K.to)return;K.kind="+",delete K.from}function dM6($){var K=$.node;if(K.from!==1||K.to!==1)return;$.parentPath.replace($.parentPath.node.expression)}});var Ow8=V((S64,Pw8)=>{Pw8.exports={ClassRange:function $(K){var q=K.node;if(q.from.codePoint===q.to.codePoint)K.replace(q.from);else if(q.from.codePoint===q.to.codePoint-1)K.getParent().insertChildAt(q.to,K.index+1),K.replace(q.from)}}});var jw8=V((L64,Tw8)=>{function Xw8($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}Tw8.exports={_hasIFlag:!1,_hasUFlag:!1,init:function $(K){this._hasIFlag=K.flags.includes("i"),this._hasUFlag=K.flags.includes("u")},CharacterClass:function $(K){iM6(K),nM6(K,this._hasIFlag,this._hasUFlag),oM6(K)}};function iM6($){var K=$.node;K.expressions.forEach(function(q,Y){if(aM6(q))$.getChild(Y).replace({type:"Char",value:"\\d",kind:"meta"})})}function nM6($,K,q){var Y=$.node,J=null,z=null,W=null,H=null,Z=null,P=null;if(Y.expressions.forEach(function(O,X){if(ty(O,"\\d"))J=$.getChild(X);else if(rM6(O))z=$.getChild(X);else if(sM6(O))W=$.getChild(X);else if(tM6(O))H=$.getChild(X);else if(K&&q&&Jj(O,383))Z=$.getChild(X);else if(K&&q&&Jj(O,8490))P=$.getChild(X)}),J&&(z&&W||K&&(z||W))&&H&&(!q||!K||Z&&P)){if(J.replace({type:"Char",value:"\\w",kind:"meta"}),z)z.remove();if(W)W.remove();if(H.remove(),Z)Z.remove();if(P)P.remove()}}var sy=[function($){return ww8($," ")}].concat(Xw8(["\\f","\\n","\\r","\\t","\\v"].map(function($){return function(K){return ty(K,$)}})),Xw8([160,5760,8232,8233,8239,8287,12288,65279].map(function($){return function(K){return Jj(K,$)}})),[function($){return $.type==="ClassRange"&&Jj($.from,8192)&&Jj($.to,8202)}]);function oM6($){var K=$.node;if(K.expressions.length<sy.length||!sy.every(function(Y){return K.expressions.some(function(J){return Y(J)})}))return;var q=K.expressions.find(function(Y){return ty(Y,"\\n")});q.value="\\s",q.symbol=void 0,q.codePoint=NaN,K.expressions.map(function(Y,J){return sy.some(function(z){return z(Y)})?$.getChild(J):void 0}).filter(Boolean).forEach(function(Y){return Y.remove()})}function aM6($){return $.type==="ClassRange"&&$.from.value==="0"&&$.to.value==="9"}function ww8($,K){var q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"simple";return $.type==="Char"&&$.value===K&&$.kind===q}function ty($,K){return ww8($,K,"meta")}function rM6($){return $.type==="ClassRange"&&$.from.value==="a"&&$.to.value==="z"}function sM6($){return $.type==="ClassRange"&&$.from.value==="A"&&$.to.value==="Z"}function tM6($){return $.type==="Char"&&$.value==="_"&&$.kind==="simple"}function Jj($,K){return $.type==="Char"&&$.kind==="unicode"&&$.codePoint===K}});var vw8=V((I64,Gw8)=>{Gw8.exports={CharacterClass:function $(K){var q=K.node;if(q.expressions.length!==1||!q_6(K)||!eM6(q.expressions[0]))return;var Y=q.expressions[0],J=Y.value,z=Y.kind,W=Y.escaped;if(q.negative){if(!$_6(J))return;J=K_6(J)}K.replace({type:"Char",value:J,kind:z,escaped:W||Y_6(J)})}};function eM6($){return $.type==="Char"&&$.value!=="\\b"}function $_6($){return/^\\[dwsDWS]$/.test($)}function K_6($){return/[dws]/.test($)?$.toUpperCase():$.toLowerCase()}function q_6($){var{parent:K,index:q}=$;if(K.type!=="Alternative")return!0;var Y=K.expressions[q-1];if(Y==null)return!0;if(Y.type==="Backreference"&&Y.kind==="number")return!1;if(Y.type==="Char"&&Y.kind==="decimal")return!1;return!0}function Y_6($){return/[*[()+?$./{}|]/.test($)}});var Aw8=V((x64,Vw8)=>{Vw8.exports={_hasXFlag:!1,init:function $(K){this._hasXFlag=K.flags.includes("x")},Char:function $(K){var q=K.node;if(!q.escaped)return;if(J_6(K,this._hasXFlag))delete q.escaped}};function J_6($,K){var q=$.node.value,Y=$.index,J=$.parent;if(J.type!=="CharacterClass"&&J.type!=="ClassRange")return!W_6(q,Y,J,K);return!z_6(q,Y,J)}function z_6($,K,q){if($==="^")return K===0&&!q.negative;if($==="-")return!0;return/[\]\\]/.test($)}function W_6($,K,q,Y){if($==="{")return H_6(K,q);if($==="}")return Z_6(K,q);if(Y&&/[ #]/.test($))return!0;return/[*[()+?^$./\\|]/.test($)}function g_($,K,q){var Y=$,J=(q?Y>=0:Y<K.expressions.length)&&K.expressions[Y];while(J&&J.type==="Char"&&J.kind==="simple"&&!J.escaped&&/\d/.test(J.value))q?Y--:Y++,J=(q?Y>=0:Y<K.expressions.length)&&K.expressions[Y];return Math.abs($-Y)}function CZ($,K){return $&&$.type==="Char"&&$.kind==="simple"&&!$.escaped&&$.value===K}function H_6($,K){if($==null)return!1;var q=g_($+1,K),Y=$+q+1,J=Y<K.expressions.length&&K.expressions[Y];if(q){if(CZ(J,"}"))return!0;if(CZ(J,","))return q=g_(Y+1,K),Y=Y+q+1,J=Y<K.expressions.length&&K.expressions[Y],CZ(J,"}")}return!1}function Z_6($,K){if($==null)return!1;var q=g_($-1,K,!0),Y=$-q-1,J=Y>=0&&K.expressions[Y];if(q&&CZ(J,"{"))return!0;if(CZ(J,","))return q=g_(Y-1,K,!0),Y=Y-q-1,J=Y<K.expressions.length&&K.expressions[Y],q&&CZ(J,"{");return!1}});var fw8=V((b64,kw8)=>{kw8.exports={_hasIUFlags:!1,init:function $(K){this._hasIUFlags=K.flags.includes("i")&&K.flags.includes("u")},CharacterClass:function $(K){var q=K.node,Y=q.expressions,J=[];Y.forEach(function(Z){if(Kq(Z))J.push(Z.value)}),Y.sort(P_6);for(var z=0;z<Y.length;z++){var W=Y[z];if(O_6(W,J,this._hasIUFlags)||X_6(W,Y[z-1])||w_6(W,Y[z+1]))Y.splice(z,1),z--;else{var H=T_6(W,z,Y);Y.splice(z-H+1,H),z-=H}}}};function P_6($,K){var q=y_($),Y=y_(K);if(q===Y){if($.type==="ClassRange"&&K.type!=="ClassRange")return-1;if(K.type==="ClassRange"&&$.type!=="ClassRange")return 1;if($.type==="ClassRange"&&K.type==="ClassRange")return y_($.to)-y_(K.to);if(Kq($)&&Kq(K)||Mw8($)&&Mw8(K))return $.value<K.value?-1:1}return q-Y}function y_($){if($.type==="Char"){if($.value==="-")return 1/0;if($.kind==="control")return 1/0;if($.kind==="meta"&&isNaN($.codePoint))return-1;return $.codePoint}return $.from.codePoint}function Kq($){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return $.type==="Char"&&$.kind==="meta"&&(K?$.value===K:/^\\[dws]$/i.test($.value))}function Mw8($){return $.type==="Char"&&$.kind==="control"}function O_6($,K,q){for(var Y=0;Y<K.length;Y++)if(ey($,K[Y],q))return!0;return!1}function ey($,K,q){if($.type==="ClassRange")return ey($.from,K,q)&&ey($.to,K,q);if(K==="\\S"&&(Kq($,"\\w")||Kq($,"\\d")))return!0;if(K==="\\D"&&(Kq($,"\\W")||Kq($,"\\s")))return!0;if(K==="\\w"&&Kq($,"\\d"))return!0;if(K==="\\W"&&Kq($,"\\s"))return!0;if($.type!=="Char"||isNaN($.codePoint))return!1;if(K==="\\s")return _w8($);if(K==="\\S")return!_w8($);if(K==="\\d")return $u($);if(K==="\\D")return!$u($);if(K==="\\w")return Ku($,q);if(K==="\\W")return!Ku($,q);return!1}function _w8($){return $.codePoint===9||$.codePoint===10||$.codePoint===11||$.codePoint===12||$.codePoint===13||$.codePoint===32||$.codePoint===160||$.codePoint===5760||$.codePoint>=8192&&$.codePoint<=8202||$.codePoint===8232||$.codePoint===8233||$.codePoint===8239||$.codePoint===8287||$.codePoint===12288||$.codePoint===65279}function $u($){return $.codePoint>=48&&$.codePoint<=57}function Ku($,K){return $u($)||$.codePoint>=65&&$.codePoint<=90||$.codePoint>=97&&$.codePoint<=122||$.value==="_"||K&&($.codePoint===383||$.codePoint===8490)}function X_6($,K){if(K&&K.type==="ClassRange"){if(qu($,K))return!0;else if(u_($)&&K.to.codePoint===$.codePoint-1)return K.to=$,!0;else if($.type==="ClassRange"&&$.from.codePoint<=K.to.codePoint+1&&$.to.codePoint>=K.from.codePoint-1){if($.from.codePoint<K.from.codePoint)K.from=$.from;if($.to.codePoint>K.to.codePoint)K.to=$.to;return!0}}return!1}function w_6($,K){if(K&&K.type==="ClassRange"){if(u_($)&&K.from.codePoint===$.codePoint+1)return K.from=$,!0}return!1}function qu($,K){if($.type==="Char"&&isNaN($.codePoint))return!1;if($.type==="ClassRange")return qu($.from,K)&&qu($.to,K);return $.codePoint>=K.from.codePoint&&$.codePoint<=K.to.codePoint}function T_6($,K,q){if(!u_($))return 0;var Y=0;while(K>0){var J=q[K],z=q[K-1];if(u_(z)&&z.codePoint===J.codePoint-1)Y++,K--;else break}if(Y>1)return q[K]={type:"ClassRange",from:q[K],to:$},Y;return 0}function u_($){return $&&$.type==="Char"&&!isNaN($.codePoint)&&(Ku($,!1)||$.kind==="unicode"||$.kind==="hex"||$.kind==="oct"||$.kind==="decimal")}});var Cw8=V((g64,Rw8)=>{var j_6=S_(),Nw8=x_(),G_6=Nw8.disjunctionToList,v_6=Nw8.listToDisjunction;Rw8.exports={Disjunction:function $(K){var q=K.node,Y={},J=G_6(q).filter(function(z){var W=z?j_6.getForNode(z).jsonEncode():"null";if(Y.hasOwnProperty(W))return!1;return Y[W]=z,!0});K.replace(v_6(J))}}});var Ew8=V((y64,hw8)=>{hw8.exports={Disjunction:function $(K){var{node:q,parent:Y}=K;if(!Dw8[Y.type])return;var J=new Map;if(!m_(q,J)||!J.size)return;var z={type:"CharacterClass",expressions:Array.from(J.keys()).sort().map(function(W){return J.get(W)})};Dw8[Y.type](K.getParent(),z)}};var Dw8={RegExp:function $(K,q){var Y=K.node;Y.body=q},Group:function $(K,q){var Y=K.node;if(Y.capturing)Y.expression=q;else K.replace(q)}};function m_($,K){if(!$)return!1;var q=$.type;if(q==="Disjunction"){var{left:Y,right:J}=$;return m_(Y,K)&&m_(J,K)}else if(q==="Char"){if($.kind==="meta"&&$.symbol===".")return!1;var z=$.value;return K.set(z,$),!0}else if(q==="CharacterClass"&&!$.negative)return $.expressions.every(function(W){return m_(W,K)});return!1}});var Lw8=V((u64,Sw8)=>{Sw8.exports={Group:function $(K){var{node:q,parent:Y}=K,J=K.getChild();if(q.capturing||J)return;if(Y.type==="Repetition")K.getParent().replace(q);else if(Y.type!=="RegExp")K.remove()}}});var xw8=V((m64,Iw8)=>{function Yu($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}Iw8.exports={Group:function $(K){var{node:q,parent:Y}=K,J=K.getChild();if(q.capturing||!J)return;if(!V_6(K))return;if(J.node.type==="Disjunction"&&Y.type!=="RegExp")return;if(Y.type==="Repetition"&&J.node.type!=="Char"&&J.node.type!=="CharacterClass")return;if(J.node.type==="Alternative"){var z=K.getParent();if(z.node.type==="Alternative")z.replace({type:"Alternative",expressions:[].concat(Yu(Y.expressions.slice(0,K.index)),Yu(J.node.expressions),Yu(Y.expressions.slice(K.index+1)))})}else K.replace(J.node)}};function V_6($){var{parent:K,index:q}=$;if(K.type!=="Alternative")return!0;var Y=K.expressions[q-1];if(Y==null)return!0;if(Y.type==="Backreference"&&Y.kind==="number")return!1;if(Y.type==="Char"&&Y.kind==="decimal")return!1;return!0}});var yw8=V((B64,gw8)=>{function B_($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}var U_=S_(),A_6=x_(),bw8=A_6.increaseQuantifierByOne;gw8.exports={Alternative:function $(K){var q=K.node,Y=1;while(Y<q.expressions.length){var J=K.getChild(Y);if(Y=Math.max(1,M_6(K,J,Y)),Y>=q.expressions.length)break;if(J=K.getChild(Y),Y=Math.max(1,__6(K,J,Y)),Y>=q.expressions.length)break;J=K.getChild(Y),Y=Math.max(1,k_6(K,J,Y)),Y++}}};function M_6($,K,q){var Y=$.node,J=Math.ceil(q/2),z=0;while(z<J){var W=q-2*z-1,H=void 0,Z=void 0;if(z===0)H=K,Z=$.getChild(W);else H=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(q-z,q)),[K.node])}),Z=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(W,q-z)))});if(H.hasEqualSource(Z)){for(var P=0;P<2*z+1;P++)$.getChild(W).remove();return K.replace({type:"Repetition",expression:z===0&&H.node.type!=="Repetition"?H.node:{type:"Group",capturing:!1,expression:H.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),W}z++}return q}function __6($,K,q){var Y=$.node,J=0;while(J<q){var z=$.getChild(J);if(z.node.type==="Repetition"&&z.node.quantifier.greedy){var W=z.getChild(),H=void 0;if(W.node.type==="Group"&&!W.node.capturing)W=W.getChild();if(J+1===q){if(H=K,H.node.type==="Group"&&!H.node.capturing)H=H.getChild()}else H=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(J+1,q+1)))});if(W.hasEqualSource(H)){for(var Z=J;Z<q;Z++)$.getChild(J+1).remove();return bw8(z.node.quantifier),J}}J++}return q}function k_6($,K,q){var Y=$.node;if(K.node.type==="Repetition"&&K.node.quantifier.greedy){var J=K.getChild(),z=void 0;if(J.node.type==="Group"&&!J.node.capturing)J=J.getChild();var W=void 0;if(J.node.type==="Alternative")W=J.node.expressions.length,z=U_.getForNode({type:"Alternative",expressions:[].concat(B_(Y.expressions.slice(q-W,q)))});else if(W=1,z=$.getChild(q-1),z.node.type==="Group"&&!z.node.capturing)z=z.getChild();if(z.hasEqualSource(J)){for(var H=q-W;H<q;H++)$.getChild(q-W).remove();return bw8(K.node.quantifier),q-W}}return q}});var mw8=V((U64,uw8)=>{uw8.exports=new Map([["charSurrogatePairToSingleUnicode",pX8()],["charCodeToSimpleChar",aX8()],["charCaseInsensitiveLowerCaseTransform",eX8()],["charClassRemoveDuplicates",Kw8()],["quantifiersMerge",Ww8()],["quantifierRangeToSymbol",Zw8()],["charClassClassrangesToChars",Ow8()],["charClassToMeta",jw8()],["charClassToSingleChar",vw8()],["charEscapeUnescape",Aw8()],["charClassClassrangesMerge",fw8()],["disjunctionRemoveDuplicates",Cw8()],["groupSingleCharsToCharClass",Ew8()],["removeEmptyGroup",Lw8()],["ungroup",xw8()],["combineRepeatingPatterns",yw8()]])});var pw8=V((c64,cw8)=>{var Bw8=UX8(),f_6=Yj(),Uw8=L_(),c_=mw8();cw8.exports={optimize:function $(K){var q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Y=q.whitelist,J=Y===void 0?[]:Y,z=q.blacklist,W=z===void 0?[]:z,H=J.length>0?J:Array.from(c_.keys()),Z=H.filter(function(w){return!W.includes(w)}),P=K;if(K instanceof RegExp)K=""+K;if(typeof K==="string")P=f_6.parse(K);var O=new Uw8.TransformResult(P),X=void 0;do X=O.toString(),P=Bw8(O.getAST()),Z.forEach(function(w){if(!c_.has(w))throw new Error("Unknown optimization-transform: "+w+". Available transforms are: "+Array.from(c_.keys()).join(", "));var T=c_.get(w),G=Uw8.transform(P,T);if(G.toString()!==O.toString())if(G.toString().length<=O.toString().length)O=G;else P=Bw8(O.getAST())});while(O.toString()!==X);return O}}});var zj=V((p64,Qw8)=>{var Fw8="ε",N_6=Fw8+"*";Qw8.exports={EPSILON:Fw8,EPSILON_CLOSURE:N_6}});var Ju=V((F64,iw8)=>{var R_6=function(){function $(K,q){var Y=[],J=!0,z=!1,W=void 0;try{for(var H=K[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0)if(Y.push(Z.value),q&&Y.length===q)break}catch(P){z=!0,W=P}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return Y}return function(K,q){if(Array.isArray(K))return K;else if(Symbol.iterator in Object(K))return $(K,q);else throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),C_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function D_6($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}function h_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var dw8=zj(),E_6=dw8.EPSILON,lw8=dw8.EPSILON_CLOSURE,S_6=function(){function $(K,q){h_6(this,$),this.in=K,this.out=q}return C_6($,[{key:"matches",value:function K(q){return this.in.matches(q)}},{key:"getAlphabet",value:function K(){if(!this._alphabet){this._alphabet=new Set;var q=this.getTransitionTable();for(var Y in q){var J=q[Y];for(var z in J)if(z!==lw8)this._alphabet.add(z)}}return this._alphabet}},{key:"getAcceptingStates",value:function K(){if(!this._acceptingStates)this.getTransitionTable();return this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function K(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var q=!0,Y=!1,J=void 0;try{for(var z=this.getAcceptingStates()[Symbol.iterator](),W;!(q=(W=z.next()).done);q=!0){var H=W.value;this._acceptingStateNumbers.add(H.number)}}catch(Z){Y=!0,J=Z}finally{try{if(!q&&z.return)z.return()}finally{if(Y)throw J}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function K(){var q=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var Y=new Set,J=new Set,z=function W(H){if(Y.has(H))return;if(Y.add(H),H.number=Y.size,q._transitionTable[H.number]={},H.accepting)q._acceptingStates.add(H);var Z=H.getTransitions(),P=!0,O=!1,X=void 0;try{for(var w=Z[Symbol.iterator](),T;!(P=(T=w.next()).done);P=!0){var G=T.value,j=R_6(G,2),v=j[0],A=j[1],R=[];J.add(v);var k=!0,f=!1,D=void 0;try{for(var S=A[Symbol.iterator](),h;!(k=(h=S.next()).done);k=!0){var Q=h.value;W(Q),R.push(Q.number)}}catch(I){f=!0,D=I}finally{try{if(!k&&S.return)S.return()}finally{if(f)throw D}}q._transitionTable[H.number][v]=R}}catch(I){O=!0,X=I}finally{try{if(!P&&w.return)w.return()}finally{if(O)throw X}}};z(this.in),Y.forEach(function(W){delete q._transitionTable[W.number][E_6],q._transitionTable[W.number][lw8]=[].concat(D_6(W.getEpsilonClosure())).map(function(H){return H.number})})}return this._transitionTable}}]),$}();iw8.exports=S_6});var ow8=V((Q64,nw8)=>{var L_6=function(){function $(K,q){var Y=[],J=!0,z=!1,W=void 0;try{for(var H=K[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0)if(Y.push(Z.value),q&&Y.length===q)break}catch(P){z=!0,W=P}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return Y}return function(K,q){if(Array.isArray(K))return K;else if(Symbol.iterator in Object(K))return $(K,q);else throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();function I_6($){return Array.isArray($)?$:Array.from($)}function zu($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}var qq=null;function x_6($){var K=$.getTransitionTable(),q=Object.keys(K),Y=$.getAlphabet(),J=$.getAcceptingStateNumbers();qq={};var z=new Set;q.forEach(function(d8){d8=Number(d8);var z8=J.has(d8);if(z8)qq[d8]=J;else z.add(d8),qq[d8]=z});var W=[[z,J].filter(function(d8){return d8.size>0})],H=void 0,Z=void 0;H=W[W.length-1],Z=W[W.length-2];var P=function d8(){var z8={},v8=!0,C8=!1,f8=void 0;try{for(var c8=H[Symbol.iterator](),m8;!(v8=(m8=c8.next()).done);v8=!0){var t8=m8.value,Y6={},z1=I_6(t8),C1=z1[0],R4=z1.slice(1);Y6[C1]=new Set([C1]);var C4=!0,h$=!1,A8=void 0;try{$:for(var M8=R4[Symbol.iterator](),n;!(C4=(n=M8.next()).done);C4=!0){var J8=n.value,s=!0,w8=!1,q8=void 0;try{for(var W8=Object.keys(Y6)[Symbol.iterator](),j8;!(s=(j8=W8.next()).done);s=!0){var x8=j8.value;if(g_6(J8,x8,K,Y)){Y6[x8].add(J8),Y6[J8]=Y6[x8];continue $}}}catch(j6){w8=!0,q8=j6}finally{try{if(!s&&W8.return)W8.return()}finally{if(w8)throw q8}}Y6[J8]=new Set([J8])}}catch(j6){h$=!0,A8=j6}finally{try{if(!C4&&M8.return)M8.return()}finally{if(h$)throw A8}}Object.assign(z8,Y6)}}catch(j6){C8=!0,f8=j6}finally{try{if(!v8&&c8.return)c8.return()}finally{if(C8)throw f8}}qq=z8;var T6=new Set(Object.keys(z8).map(function(j6){return z8[j6]}));W.push([].concat(zu(T6))),H=W[W.length-1],Z=W[W.length-2]};while(!b_6(H,Z))P();var O=new Map,X=1;H.forEach(function(d8){return O.set(d8,X++)});var w={},T=new Set,G=function d8(z8,v8){var C8=!0,f8=!1,c8=void 0;try{for(var m8=z8[Symbol.iterator](),t8;!(C8=(t8=m8.next()).done);C8=!0){var Y6=t8.value;if(J.has(Y6))T.add(v8)}}catch(z1){f8=!0,c8=z1}finally{try{if(!C8&&m8.return)m8.return()}finally{if(f8)throw c8}}},j=!0,v=!1,A=void 0;try{for(var R=O.entries()[Symbol.iterator](),k;!(j=(k=R.next()).done);j=!0){var f=k.value,D=L_6(f,2),S=D[0],h=D[1];w[h]={};var Q=!0,I=!1,N=void 0;try{for(var E=Y[Symbol.iterator](),p;!(Q=(p=E.next()).done);Q=!0){var c=p.value;G(S,h);var r=void 0,P8=!0,O8=!1,R8=void 0;try{for(var I8=S[Symbol.iterator](),_8;!(P8=(_8=I8.next()).done);P8=!0){var g8=_8.value;if(r=K[g8][c],r)break}}catch(d8){O8=!0,R8=d8}finally{try{if(!P8&&I8.return)I8.return()}finally{if(O8)throw R8}}if(r)w[h][c]=O.get(qq[r])}}catch(d8){I=!0,N=d8}finally{try{if(!Q&&E.return)E.return()}finally{if(I)throw N}}}}catch(d8){v=!0,A=d8}finally{try{if(!j&&R.return)R.return()}finally{if(v)throw A}}return $.setTransitionTable(w),$.setAcceptingStateNumbers(T),$}function b_6($,K){if(!K)return!1;if($.length!==K.length)return!1;for(var q=0;q<$.length;q++){var Y=$[q],J=K[q];if(Y.size!==J.size)return!1;if([].concat(zu(Y)).sort().join(",")!==[].concat(zu(J)).sort().join(","))return!1}return!0}function g_6($,K,q,Y){var J=!0,z=!1,W=void 0;try{for(var H=Y[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0){var P=Z.value;if(!y_6($,K,q,P))return!1}}catch(O){z=!0,W=O}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return!0}function y_6($,K,q,Y){if(!qq[$]||!qq[K])return!1;var J=q[$][Y],z=q[K][Y];if(!J&&!z)return!0;return qq[$].has(J)&&qq[K].has(z)}nw8.exports={minimize:x_6}});var tw8=V((l64,sw8)=>{var u_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function aw8($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}function m_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var B_6=ow8(),U_6=zj(),rw8=U_6.EPSILON_CLOSURE,c_6=function(){function $(K){m_6(this,$),this._nfa=K}return u_6($,[{key:"minimize",value:function K(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,B_6.minimize(this)}},{key:"getAlphabet",value:function K(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function K(){if(!this._acceptingStateNumbers)this.getTransitionTable();return this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function K(){if(!this._originalAcceptingStateNumbers)this.getTransitionTable();return this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function K(q){this._transitionTable=q}},{key:"setAcceptingStateNumbers",value:function K(q){this._acceptingStateNumbers=q}},{key:"getTransitionTable",value:function K(){var q=this;if(this._transitionTable)return this._transitionTable;var Y=this._nfa.getTransitionTable(),J=Object.keys(Y);this._acceptingStateNumbers=new Set;var z=Y[J[0]][rw8],W=[z],H=this.getAlphabet(),Z=this._nfa.getAcceptingStateNumbers(),P={},O=function g8(d8){var z8=!0,v8=!1,C8=void 0;try{for(var f8=Z[Symbol.iterator](),c8;!(z8=(c8=f8.next()).done);z8=!0){var m8=c8.value;if(d8.indexOf(m8)!==-1){q._acceptingStateNumbers.add(d8.join(","));break}}}catch(t8){v8=!0,C8=t8}finally{try{if(!z8&&f8.return)f8.return()}finally{if(v8)throw C8}}};while(W.length>0){var X=W.shift(),w=X.join(",");P[w]={};var T=!0,G=!1,j=void 0;try{for(var v=H[Symbol.iterator](),A;!(T=(A=v.next()).done);T=!0){var R=A.value,k=[];O(X);var f=!0,D=!1,S=void 0;try{for(var h=X[Symbol.iterator](),Q;!(f=(Q=h.next()).done);f=!0){var I=Q.value,N=Y[I][R];if(!N)continue;var E=!0,p=!1,c=void 0;try{for(var r=N[Symbol.iterator](),P8;!(E=(P8=r.next()).done);E=!0){var O8=P8.value;if(!Y[O8])continue;k.push.apply(k,aw8(Y[O8][rw8]))}}catch(g8){p=!0,c=g8}finally{try{if(!E&&r.return)r.return()}finally{if(p)throw c}}}}catch(g8){D=!0,S=g8}finally{try{if(!f&&h.return)h.return()}finally{if(D)throw S}}var R8=new Set(k),I8=[].concat(aw8(R8));if(I8.length>0){var _8=I8.join(",");if(P[w][R]=_8,!P.hasOwnProperty(_8))W.unshift(I8)}}}catch(g8){G=!0,j=g8}finally{try{if(!T&&v.return)v.return()}finally{if(G)throw j}}}return this._transitionTable=this._remapStateNumbers(P)}},{key:"_remapStateNumbers",value:function K(q){var Y={};this._originalTransitionTable=q;var J={};Object.keys(q).forEach(function(j,v){Y[j]=v+1});for(var z in q){var W=q[z],H={};for(var Z in W)H[Z]=Y[W[Z]];J[Y[z]]=H}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var P=!0,O=!1,X=void 0;try{for(var w=this._originalAcceptingStateNumbers[Symbol.iterator](),T;!(P=(T=w.next()).done);P=!0){var G=T.value;this._acceptingStateNumbers.add(Y[G])}}catch(j){O=!0,X=j}finally{try{if(!P&&w.return)w.return()}finally{if(O)throw X}}return J}},{key:"getOriginalTransitionTable",value:function K(){if(!this._originalTransitionTable)this.getTransitionTable();return this._originalTransitionTable}},{key:"matches",value:function K(q){var Y=1,J=0,z=this.getTransitionTable();while(q[J])if(Y=z[Y][q[J++]],!Y)return!1;if(!this.getAcceptingStateNumbers().has(Y))return!1;return!0}}]),$}();sw8.exports=c_6});var $T8=V((d64,ew8)=>{var p_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function F_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var Q_6=function(){function $(){var K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},q=K.accepting,Y=q===void 0?!1:q;F_6(this,$),this._transitions=new Map,this.accepting=Y}return p_6($,[{key:"getTransitions",value:function K(){return this._transitions}},{key:"addTransition",value:function K(q,Y){return this.getTransitionsOnSymbol(q).add(Y),this}},{key:"getTransitionsOnSymbol",value:function K(q){var Y=this._transitions.get(q);if(!Y)Y=new Set,this._transitions.set(q,Y);return Y}}]),$}();ew8.exports=Q_6});var qT8=V((i64,KT8)=>{var l_6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function d_6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}function i_6($,K){if(!$)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return K&&(typeof K==="object"||typeof K==="function")?K:$}function n_6($,K){if(typeof K!=="function"&&K!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof K);if($.prototype=Object.create(K&&K.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}}),K)Object.setPrototypeOf?Object.setPrototypeOf($,K):$.__proto__=K}var o_6=$T8(),a_6=zj(),Wu=a_6.EPSILON,r_6=function($){n_6(K,$);function K(){return d_6(this,K),i_6(this,(K.__proto__||Object.getPrototypeOf(K)).apply(this,arguments))}return l_6(K,[{key:"matches",value:function q(Y){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;if(J.has(this))return!1;if(J.add(this),Y.length===0){if(this.accepting)return!0;var z=!0,W=!1,H=void 0;try{for(var Z=this.getTransitionsOnSymbol(Wu)[Symbol.iterator](),P;!(z=(P=Z.next()).done);z=!0){var O=P.value;if(O.matches("",J))return!0}}catch(N){W=!0,H=N}finally{try{if(!z&&Z.return)Z.return()}finally{if(W)throw H}}return!1}var X=Y[0],w=Y.slice(1),T=this.getTransitionsOnSymbol(X),G=!0,j=!1,v=void 0;try{for(var A=T[Symbol.iterator](),R;!(G=(R=A.next()).done);G=!0){var k=R.value;if(k.matches(w))return!0}}catch(N){j=!0,v=N}finally{try{if(!G&&A.return)A.return()}finally{if(j)throw v}}var f=!0,D=!1,S=void 0;try{for(var h=this.getTransitionsOnSymbol(Wu)[Symbol.iterator](),Q;!(f=(Q=h.next()).done);f=!0){var I=Q.value;if(I.matches(Y,J))return!0}}catch(N){D=!0,S=N}finally{try{if(!f&&h.return)h.return()}finally{if(D)throw S}}return!1}},{key:"getEpsilonClosure",value:function q(){var Y=this;if(!this._epsilonClosure)(function(){var J=Y.getTransitionsOnSymbol(Wu),z=Y._epsilonClosure=new Set;z.add(Y);var W=!0,H=!1,Z=void 0;try{for(var P=J[Symbol.iterator](),O;!(W=(O=P.next()).done);W=!0){var X=O.value;if(!z.has(X)){z.add(X);var w=X.getEpsilonClosure();w.forEach(function(T){return z.add(T)})}}}catch(T){H=!0,Z=T}finally{try{if(!W&&P.return)P.return()}finally{if(H)throw Z}}})();return this._epsilonClosure}}]),K}(o_6);KT8.exports=r_6});var Hu=V((n64,JT8)=>{var p_=Ju(),DZ=qT8(),s_6=zj(),K3=s_6.EPSILON;function YT8($){var K=new DZ,q=new DZ({accepting:!0});return new p_(K.addTransition($,q),q)}function t_6(){return YT8(K3)}function e_6($,K){return $.out.accepting=!1,K.out.accepting=!0,$.out.addTransition(K3,K.in),new p_($.in,K.out)}function $k6($){for(var K=arguments.length,q=Array(K>1?K-1:0),Y=1;Y<K;Y++)q[Y-1]=arguments[Y];var J=!0,z=!1,W=void 0;try{for(var H=q[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0){var P=Z.value;$=e_6($,P)}}catch(O){z=!0,W=O}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return $}function Kk6($,K){var q=new DZ,Y=new DZ;return q.addTransition(K3,$.in),q.addTransition(K3,K.in),Y.accepting=!0,$.out.accepting=!1,K.out.accepting=!1,$.out.addTransition(K3,Y),K.out.addTransition(K3,Y),new p_(q,Y)}function qk6($){for(var K=arguments.length,q=Array(K>1?K-1:0),Y=1;Y<K;Y++)q[Y-1]=arguments[Y];var J=!0,z=!1,W=void 0;try{for(var H=q[Symbol.iterator](),Z;!(J=(Z=H.next()).done);J=!0){var P=Z.value;$=Kk6($,P)}}catch(O){z=!0,W=O}finally{try{if(!J&&H.return)H.return()}finally{if(z)throw W}}return $}function Yk6($){var K=new DZ,q=new DZ({accepting:!0});return K.addTransition(K3,$.in),K.addTransition(K3,q),$.out.accepting=!1,$.out.addTransition(K3,q),q.addTransition(K3,$.in),new p_(K,q)}function Jk6($){return $.in.addTransition(K3,$.out),$.out.addTransition(K3,$.in),$}function zk6($){return $.out.addTransition(K3,$.in),$}function Wk6($){return $.in.addTransition(K3,$.out),$}JT8.exports={alt:$k6,char:YT8,e:t_6,or:qk6,rep:Jk6,repExplicit:Yk6,plusRep:zk6,questionRep:Wk6}});var HT8=V((o64,WT8)=>{function Hk6($){if(Array.isArray($)){for(var K=0,q=Array($.length);K<$.length;K++)q[K]=$[K];return q}else return Array.from($)}var Zk6=Yj(),hZ=Hu(),Pk6=hZ.alt,Ok6=hZ.char,Xk6=hZ.or,wk6=hZ.rep,Tk6=hZ.plusRep,jk6=hZ.questionRep;function Yq($){if($&&!zT8[$.type])throw new Error($.type+" is not supported in NFA/DFA interpreter.");return $?zT8[$.type]($):""}var zT8={RegExp:function $(K){if(K.flags!=="")throw new Error("NFA/DFA: Flags are not supported yet.");return Yq(K.body)},Alternative:function $(K){var q=(K.expressions||[]).map(Yq);return Pk6.apply(void 0,Hk6(q))},Disjunction:function $(K){return Xk6(Yq(K.left),Yq(K.right))},Repetition:function $(K){switch(K.quantifier.kind){case"*":return wk6(Yq(K.expression));case"+":return Tk6(Yq(K.expression));case"?":return jk6(Yq(K.expression));default:throw new Error("Unknown repeatition: "+K.quantifier.kind+".")}},Char:function $(K){if(K.kind!=="simple")throw new Error("NFA/DFA: Only simple chars are supported yet.");return Ok6(K.value)},Group:function $(K){return Yq(K.expression)}};WT8.exports={build:function $(K){var q=K;if(K instanceof RegExp)K=""+K;if(typeof K==="string")q=Zk6.parse(K,{captureLocations:!0});return Yq(q)}}});var OT8=V((a64,PT8)=>{var Gk6=Ju(),ZT8=tw8(),vk6=HT8(),Vk6=Hu();PT8.exports={NFA:Gk6,DFA:ZT8,builders:Vk6,toNFA:function $(K){return vk6.build(K)},toDFA:function $(K){return new ZT8(this.toNFA(K))},test:function $(K,q){return this.toDFA(K).matches(q)}}});var wT8=V((r64,XT8)=>{var Ak6=function(){function $(K,q){for(var Y=0;Y<q.length;Y++){var J=q[Y];if(J.enumerable=J.enumerable||!1,J.configurable=!0,"value"in J)J.writable=!0;Object.defineProperty(K,J.key,J)}}return function(K,q,Y){if(q)$(K.prototype,q);if(Y)$(K,Y);return K}}();function Mk6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var _k6=function(){function $(K,q){var{flags:Y,groups:J,source:z}=q;Mk6(this,$),this._re=K,this._groups=J,this.flags=Y,this.source=z||K.source,this.dotAll=Y.includes("s"),this.global=K.global,this.ignoreCase=K.ignoreCase,this.multiline=K.multiline,this.sticky=K.sticky,this.unicode=K.unicode}return Ak6($,[{key:"test",value:function K(q){return this._re.test(q)}},{key:"compile",value:function K(q){return this._re.compile(q)}},{key:"toString",value:function K(){if(!this._toStringResult)this._toStringResult="/"+this.source+"/"+this.flags;return this._toStringResult}},{key:"exec",value:function K(q){var Y=this._re.exec(q);if(!this._groups||!Y)return Y;Y.groups={};for(var J in this._groups){var z=this._groups[J];Y.groups[J]=Y[z]}return Y}}]),$}();XT8.exports={RegExpTree:_k6}});var vT8=V((s64,GT8)=>{var kk6=mX8(),fk6=py(),Nk6=pw8(),TT8=Yj(),jT8=L_(),Rk6=ry(),Ck6=OT8(),Dk6=wT8(),hk6=Dk6.RegExpTree,Ek6={parser:TT8,fa:Ck6,TransformResult:jT8.TransformResult,parse:function $(K,q){return TT8.parse(""+K,q)},traverse:function $(K,q,Y){return Rk6.traverse(K,q,Y)},transform:function $(K,q){return jT8.transform(K,q)},generate:function $(K){return fk6.generate(K)},toRegExp:function $(K){var q=this.compatTranspile(K);return new RegExp(q.getSource(),q.getFlags())},optimize:function $(K,q){var Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},J=Y.blacklist;return Nk6.optimize(K,{whitelist:q,blacklist:J})},compatTranspile:function $(K,q){return kk6.transform(K,q)},exec:function $(K,q){if(typeof K==="string"){var Y=this.compatTranspile(K),J=Y.getExtra();if(J.namedCapturingGroups)K=new hk6(Y.toRegExp(),{flags:Y.getFlags(),source:Y.getSource(),groups:J.namedCapturingGroups});else K=Y.toRegExp()}return K.exec(q)}};GT8.exports=Ek6});var MT8=V((t64,AT8)=>{var F_=vT8(),Sk6=cy();class VT8 extends Sk6.Analyzer{constructor($){super($)}isVulnerable($){if(this._measureStarHeight($)>1)return!0;if(this._measureRepetitions($)>this.options.heuristic_replimit)return!0;return!1}genAttackString($){return null}_measureStarHeight($){let K=0,q=0,Y=F_.parse($);return F_.traverse(Y,{Repetition:{pre({node:J}){if(K++,q<K)q=K},post({node:J}){K--}}}),q}_measureRepetitions($){let K=0,q=F_.parse($);return F_.traverse(q,{Repetition:{pre({node:Y}){K++}}}),K}}AT8.exports=VT8});var kT8=V((e64,_T8)=>{var Lk6=MT8();_T8.exports=[Lk6]});var RT8=V(($14,NT8)=>{var Ik6=cy(),xk6=kT8();class fT8{constructor($,K){this.regExp=$,this.analyzerOptions=K}}function bk6($,K){try{let q=gk6($,K);if(yk6(q).find((J)=>J))return!1;else return!0}catch(q){return!1}}function gk6($,K){if(!K)K={};let q=K.limit===void 0?25:K.limit,Y=new Ik6.AnalyzerOptions(q),J=null;if($ instanceof RegExp)J=$;else if(typeof $==="string")J=new RegExp($);else J=new RegExp(String($));return new fT8(J,Y)}function yk6($){let K=[],q;for(q of xk6)try{let Y=new q($.analyzerOptions);K.push(Y.isVulnerable($.regExp))}catch(Y){K.push(!1)}return K}NT8.exports=bk6});var Wj=V((X14,IT8)=>{var ik6=Object.prototype.toString;IT8.exports=function $(K){if(K===void 0)return"undefined";if(K===null)return"null";var q=typeof K;if(q==="boolean")return"boolean";if(q==="string")return"string";if(q==="number")return"number";if(q==="symbol")return"symbol";if(q==="function")return sk6(K)?"generatorfunction":"function";if(nk6(K))return"array";if($f6(K))return"buffer";if(ek6(K))return"arguments";if(ak6(K))return"date";if(ok6(K))return"error";if(rk6(K))return"regexp";switch(LT8(K)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(tk6(K))return"generator";switch(q=ik6.call(K),q){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return q.slice(8,-1).toLowerCase().replace(/\s/g,"")};function LT8($){return typeof $.constructor==="function"?$.constructor.name:null}function nk6($){if(Array.isArray)return Array.isArray($);return $ instanceof Array}function ok6($){return $ instanceof Error||typeof $.message==="string"&&$.constructor&&typeof $.constructor.stackTraceLimit==="number"}function ak6($){if($ instanceof Date)return!0;return typeof $.toDateString==="function"&&typeof $.getDate==="function"&&typeof $.setDate==="function"}function rk6($){if($ instanceof RegExp)return!0;return typeof $.flags==="string"&&typeof $.ignoreCase==="boolean"&&typeof $.multiline==="boolean"&&typeof $.global==="boolean"}function sk6($,K){return LT8($)==="GeneratorFunction"}function tk6($){return typeof $.throw==="function"&&typeof $.return==="function"&&typeof $.next==="function"}function ek6($){try{if(typeof $.length==="number"&&typeof $.callee==="function")return!0}catch(K){if(K.message.indexOf("callee")!==-1)return!0}return!1}function $f6($){if($.constructor&&typeof $.constructor.isBuffer==="function")return $.constructor.isBuffer($);return!1}});var bT8=V((w14,xT8)=>{/*!
|
|
336
336
|
* is-extendable <https://github.com/jonschlinkert/is-extendable>
|
|
337
337
|
*
|
|
338
338
|
* Copyright (c) 2015, Jon Schlinkert.
|
|
@@ -408,9 +408,9 @@ Expecting `+r.join(", ")+", got '"+(this.terminals_[f]||f)+"'";else P8="Parse er
|
|
|
408
408
|
globstar while`,$,O,K,X,w),this.matchOne($.slice(O),K.slice(X),q))return this.debug("globstar found match!",O,W,w),!0;else{if(w==="."||w===".."||!Y.dot&&w.charAt(0)==="."){this.debug("dot detected!",$,O,K,X);break}this.debug("globstar swallow a segment, and continue"),O++}}if(q){if(this.debug(`
|
|
409
409
|
>>> no match, partial?`,$,O,K,X),O===W)return!0}return!1}var T;if(typeof Z==="string")T=P===Z,this.debug("string match",Z,P,T);else T=P.match(Z),this.debug("pattern match",Z,P,T);if(!T)return!1}if(J===W&&z===H)return!0;else if(J===W)return q;else if(z===H)return J===W-1&&$[J]==="";throw new Error("wtf?")}braceExpand(){return NV8(this.pattern,this.options)}parse($,K){vk($);let q=this.options;if($==="**")if(!q.noglobstar)return a9;else $="*";if($==="")return"";let Y="",J=!1,z=!1,W=[],H=[],Z,P=!1,O=-1,X=-1,w,T,G,j=$.charAt(0)===".",v=q.dot||j,A=()=>j?"":v?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",R=(S)=>S.charAt(0)==="."?"":q.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",k=()=>{if(Z){switch(Z){case"*":Y+=Rm,J=!0;break;case"?":Y+=hm,J=!0;break;default:Y+="\\"+Z;break}this.debug("clearStateChar %j %j",Z,Y),Z=!1}};for(let S=0,h;S<$.length&&(h=$.charAt(S));S++){if(this.debug("%s %s %s %j",$,S,Y,h),z){if(h==="/")return!1;if(_V8[h])Y+="\\";Y+=h,z=!1;continue}switch(h){case"/":return!1;case"\\":if(P&&$.charAt(S+1)==="-"){Y+=h;continue}k(),z=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",$,S,Y,h),P){if(this.debug(" in class"),h==="!"&&S===X+1)h="^";Y+=h;continue}if(this.debug("call clearStateChar %j",Z),k(),Z=h,q.noext)k();continue;case"(":{if(P){Y+="(";continue}if(!Z){Y+="\\(";continue}let Q={type:Z,start:S-1,reStart:Y.length,open:MV8[Z].open,close:MV8[Z].close};if(this.debug(this.pattern,"\t",Q),W.push(Q),Y+=Q.open,Q.start===0&&Q.type!=="!")j=!0,Y+=R($.slice(S+1));this.debug("plType %j %j",Z,Y),Z=!1;continue}case")":{let Q=W[W.length-1];if(P||!Q){Y+="\\)";continue}if(W.pop(),k(),J=!0,T=Q,Y+=T.close,T.type==="!")H.push(Object.assign(T,{reEnd:Y.length}));continue}case"|":{let Q=W[W.length-1];if(P||!Q){Y+="\\|";continue}if(k(),Y+="|",Q.start===0&&Q.type!=="!")j=!0,Y+=R($.slice(S+1));continue}case"[":if(k(),P){Y+="\\"+h;continue}P=!0,X=S,O=Y.length,Y+=h;continue;case"]":if(S===X+1||!P){Y+="\\"+h;continue}w=$.substring(X+1,S);try{RegExp("["+Kx6(eI6(w))+"]"),Y+=h}catch(Q){Y=Y.substring(0,O)+"(?:$.)"}J=!0,P=!1;continue;default:if(k(),_V8[h]&&!(h==="^"&&P))Y+="\\";Y+=h;break}}if(P)w=$.slice(X+1),G=this.parse(w,Cm),Y=Y.substring(0,O)+"\\["+G[0],J=J||G[1];for(T=W.pop();T;T=W.pop()){let S;S=Y.slice(T.reStart+T.open.length),this.debug("setting tail",Y,T),S=S.replace(/((?:\\{2}){0,64})(\\?)\|/g,(Q,I,N)=>{if(!N)N="\\";return I+I+N+"|"}),this.debug(`tail=%j
|
|
410
410
|
%s`,S,S,T,Y);let h=T.type==="*"?Rm:T.type==="?"?hm:"\\"+T.type;J=!0,Y=Y.slice(0,T.reStart)+h+"\\("+S}if(k(),z)Y+="\\\\";let f=rI6[Y.charAt(0)];for(let S=H.length-1;S>-1;S--){let h=H[S],Q=Y.slice(0,h.reStart),I=Y.slice(h.reStart,h.reEnd-8),N=Y.slice(h.reEnd),E=Y.slice(h.reEnd-8,h.reEnd)+N,p=Q.split(")").length,c=Q.split("(").length-p,r=N;for(let O8=0;O8<c;O8++)r=r.replace(/\)[+*?]?/,"");N=r;let P8=N===""&&K!==Cm?"(?:$|\\/)":"";Y=Q+I+N+P8+E}if(Y!==""&&J)Y="(?=.)"+Y;if(f)Y=A()+Y;if(K===Cm)return[Y,J];if(q.nocase&&!J)J=$.toUpperCase()!==$.toLowerCase();if(!J)return tI6($);let D=q.nocase?"i":"";try{return Object.assign(new RegExp("^"+Y+"$",D),{_glob:$,_src:Y})}catch(S){return new RegExp("$.")}}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let $=this.set;if(!$.length)return this.regexp=!1,this.regexp;let K=this.options,q=K.noglobstar?Rm:K.dot?oI6:aI6,Y=K.nocase?"i":"",J=$.map((z)=>{return z=z.map((W)=>typeof W==="string"?$x6(W):W===a9?a9:W._src).reduce((W,H)=>{if(!(W[W.length-1]===a9&&H===a9))W.push(H);return W},[]),z.forEach((W,H)=>{if(W!==a9||z[H-1]===a9)return;if(H===0)if(z.length>1)z[H+1]="(?:\\/|"+q+"\\/)?"+z[H+1];else z[H]=q;else if(H===z.length-1)z[H-1]+="(?:\\/|"+q+")?";else z[H-1]+="(?:\\/|\\/"+q+"\\/)"+z[H+1],z[H+1]=a9}),z.filter((W)=>W!==a9).join("/")}).join("|");if(J="^(?:"+J+")$",this.negate)J="^(?!"+J+").*$";try{this.regexp=new RegExp(J,Y)}catch(z){this.regexp=!1}return this.regexp}match($,K=this.partial){if(this.debug("match",$,this.pattern),this.comment)return!1;if(this.empty)return $==="";if($==="/"&&K)return!0;let q=this.options;if(Dm.sep!=="/")$=$.split(Dm.sep).join("/");$=$.split(kV8),this.debug(this.pattern,"split",$);let Y=this.set;this.debug(this.pattern,"set",Y);let J;for(let z=$.length-1;z>=0;z--)if(J=$[z],J)break;for(let z=0;z<Y.length;z++){let W=Y[z],H=$;if(q.matchBase&&W.length===1)H=[J];if(this.matchOne(H,W,K)){if(q.flipNegate)return!0;return!this.negate}}if(q.flipNegate)return!1;return this.negate}static defaults($){return S3.defaults($).Minimatch}}S3.Minimatch=Dj});var SV8=V((U44,EV8)=>{EV8.exports=hV8;var Lm=o("fs"),{EventEmitter:qx6}=o("events"),{Minimatch:Sm}=RV8(),{resolve:Yx6}=o("path");function Jx6($,K){return new Promise((q,Y)=>{Lm.readdir($,{withFileTypes:!0},(J,z)=>{if(J)switch(J.code){case"ENOTDIR":if(K)Y(J);else q([]);break;case"ENOTSUP":case"ENOENT":case"ENAMETOOLONG":case"UNKNOWN":q([]);break;case"ELOOP":default:Y(J);break}else q(z)})})}function CV8($,K){return new Promise((q,Y)=>{(K?Lm.stat:Lm.lstat)($,(z,W)=>{if(z)switch(z.code){case"ENOENT":if(K)q(CV8($,!1));else q(null);break;default:q(null);break}else q(W)})})}async function*DV8($,K,q,Y,J,z){let W=await Jx6(K+$,z);for(let H of W){let Z=H.name;if(Z===void 0)Z=H,Y=!0;let P=$+"/"+Z,O=P.slice(1),X=K+"/"+O,w=null;if(Y||q)w=await CV8(X,q);if(!w&&H.name!==void 0)w=H;if(w===null)w={isDirectory:()=>!1};if(w.isDirectory()){if(!J(O))yield{relative:O,absolute:X,stats:w},yield*DV8(P,K,q,Y,J,!1)}else yield{relative:O,absolute:X,stats:w}}}async function*zx6($,K,q,Y){yield*DV8("",$,K,q,Y,!0)}function Wx6($){return{pattern:$.pattern,dot:!!$.dot,noglobstar:!!$.noglobstar,matchBase:!!$.matchBase,nocase:!!$.nocase,ignore:$.ignore,skip:$.skip,follow:!!$.follow,stat:!!$.stat,nodir:!!$.nodir,mark:!!$.mark,silent:!!$.silent,absolute:!!$.absolute}}class Im extends qx6{constructor($,K,q){super();if(typeof K==="function")q=K,K=null;if(this.options=Wx6(K||{}),this.matchers=[],this.options.pattern){let Y=Array.isArray(this.options.pattern)?this.options.pattern:[this.options.pattern];this.matchers=Y.map((J)=>new Sm(J,{dot:this.options.dot,noglobstar:this.options.noglobstar,matchBase:this.options.matchBase,nocase:this.options.nocase}))}if(this.ignoreMatchers=[],this.options.ignore){let Y=Array.isArray(this.options.ignore)?this.options.ignore:[this.options.ignore];this.ignoreMatchers=Y.map((J)=>new Sm(J,{dot:!0}))}if(this.skipMatchers=[],this.options.skip){let Y=Array.isArray(this.options.skip)?this.options.skip:[this.options.skip];this.skipMatchers=Y.map((J)=>new Sm(J,{dot:!0}))}if(this.iterator=zx6(Yx6($||"."),this.options.follow,this.options.stat,this._shouldSkipDirectory.bind(this)),this.paused=!1,this.inactive=!1,this.aborted=!1,q)this._matches=[],this.on("match",(Y)=>this._matches.push(this.options.absolute?Y.absolute:Y.relative)),this.on("error",(Y)=>q(Y)),this.on("end",()=>q(null,this._matches));setTimeout(()=>this._next(),0)}_shouldSkipDirectory($){return this.skipMatchers.some((K)=>K.match($))}_fileMatches($,K){let q=$+(K?"/":"");return(this.matchers.length===0||this.matchers.some((Y)=>Y.match(q)))&&!this.ignoreMatchers.some((Y)=>Y.match(q))&&(!this.options.nodir||!K)}_next(){if(!this.paused&&!this.aborted)this.iterator.next().then(($)=>{if(!$.done){let K=$.value.stats.isDirectory();if(this._fileMatches($.value.relative,K)){let q=$.value.relative,Y=$.value.absolute;if(this.options.mark&&K)q+="/",Y+="/";if(this.options.stat)this.emit("match",{relative:q,absolute:Y,stat:$.value.stats});else this.emit("match",{relative:q,absolute:Y})}this._next(this.iterator)}else this.emit("end")}).catch(($)=>{if(this.abort(),this.emit("error",$),!$.code&&!this.options.silent)console.error($)});else this.inactive=!0}abort(){this.aborted=!0}pause(){this.paused=!0}resume(){if(this.paused=!1,this.inactive)this.inactive=!1,this._next()}}function hV8($,K,q){return new Im($,K,q)}hV8.ReaddirGlob=Im});var IV8=V((Vk,LV8)=>{(function($,K){typeof Vk==="object"&&typeof LV8!=="undefined"?K(Vk):typeof define==="function"&&define.amd?define(["exports"],K):($=typeof globalThis!=="undefined"?globalThis:$||self,K($.async={}))})(Vk,function($){function K(L,...g){return(...U)=>L(...g,...U)}function q(L){return function(...g){var U=g.pop();return L.call(this,g,U)}}var Y=typeof queueMicrotask==="function"&&queueMicrotask,J=typeof setImmediate==="function"&&setImmediate,z=typeof process==="object"&&typeof process.nextTick==="function";function W(L){setTimeout(L,0)}function H(L){return(g,...U)=>L(()=>g(...U))}var Z;if(Y)Z=queueMicrotask;else if(J)Z=setImmediate;else if(z)Z=process.nextTick;else Z=W;var P=H(Z);function O(L){if(T(L))return function(...g){let U=g.pop(),e=L.apply(this,g);return X(e,U)};return q(function(g,U){var e;try{e=L.apply(this,g)}catch(Z8){return U(Z8)}if(e&&typeof e.then==="function")return X(e,U);else U(null,e)})}function X(L,g){return L.then((U)=>{w(g,null,U)},(U)=>{w(g,U&&(U instanceof Error||U.message)?U:new Error(U))})}function w(L,g,U){try{L(g,U)}catch(e){P((Z8)=>{throw Z8},e)}}function T(L){return L[Symbol.toStringTag]==="AsyncFunction"}function G(L){return L[Symbol.toStringTag]==="AsyncGenerator"}function j(L){return typeof L[Symbol.asyncIterator]==="function"}function v(L){if(typeof L!=="function")throw new Error("expected a function");return T(L)?O(L):L}function A(L,g){if(!g)g=L.length;if(!g)throw new Error("arity is undefined");function U(...e){if(typeof e[g-1]==="function")return L.apply(this,e);return new Promise((Z8,X8)=>{e[g-1]=(G8,...V8)=>{if(G8)return X8(G8);Z8(V8.length>1?V8:V8[0])},L.apply(this,e)})}return U}function R(L){return function g(U,...e){return A(function(X8){var G8=this;return L(U,(V8,h8)=>{v(V8).apply(G8,e.concat(h8))},X8)})}}function k(L,g,U,e){g=g||[];var Z8=[],X8=0,G8=v(U);return L(g,(V8,h8,e8)=>{var d6=X8++;G8(V8,(W1,a6)=>{Z8[d6]=a6,e8(W1)})},(V8)=>{e(V8,Z8)})}function f(L){return L&&typeof L.length==="number"&&L.length>=0&&L.length%1===0}let D={};function S(L){function g(...U){if(L===null)return;var e=L;L=null,e.apply(this,U)}return Object.assign(g,L),g}function h(L){return L[Symbol.iterator]&&L[Symbol.iterator]()}function Q(L){var g=-1,U=L.length;return function e(){return++g<U?{value:L[g],key:g}:null}}function I(L){var g=-1;return function U(){var e=L.next();if(e.done)return null;return g++,{value:e.value,key:g}}}function N(L){var g=L?Object.keys(L):[],U=-1,e=g.length;return function Z8(){var X8=g[++U];if(X8==="__proto__")return Z8();return U<e?{value:L[X8],key:X8}:null}}function E(L){if(f(L))return Q(L);var g=h(L);return g?I(g):N(L)}function p(L){return function(...g){if(L===null)throw new Error("Callback was already called.");var U=L;L=null,U.apply(this,g)}}function c(L,g,U,e){let Z8=!1,X8=!1,G8=!1,V8=0,h8=0;function e8(){if(V8>=g||G8||Z8)return;G8=!0,L.next().then(({value:a6,done:m3})=>{if(X8||Z8)return;if(G8=!1,m3){if(Z8=!0,V8<=0)e(null);return}V8++,U(a6,h8,d6),h8++,e8()}).catch(W1)}function d6(a6,m3){if(V8-=1,X8)return;if(a6)return W1(a6);if(a6===!1){Z8=!0,X8=!0;return}if(m3===D||Z8&&V8<=0)return Z8=!0,e(null);e8()}function W1(a6){if(X8)return;G8=!1,Z8=!0,e(a6)}e8()}var r=(L)=>{return(g,U,e)=>{if(e=S(e),L<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!g)return e(null);if(G(g))return c(g,L,U,e);if(j(g))return c(g[Symbol.asyncIterator](),L,U,e);var Z8=E(g),X8=!1,G8=!1,V8=0,h8=!1;function e8(W1,a6){if(G8)return;if(V8-=1,W1)X8=!0,e(W1);else if(W1===!1)X8=!0,G8=!0;else if(a6===D||X8&&V8<=0)return X8=!0,e(null);else if(!h8)d6()}function d6(){h8=!0;while(V8<L&&!X8){var W1=Z8();if(W1===null){if(X8=!0,V8<=0)e(null);return}V8+=1,U(W1.value,W1.key,p(e8))}h8=!1}d6()}};function P8(L,g,U,e){return r(g)(L,v(U),e)}var O8=A(P8,4);function R8(L,g,U){U=S(U);var e=0,Z8=0,{length:X8}=L,G8=!1;if(X8===0)U(null);function V8(h8,e8){if(h8===!1)G8=!0;if(G8===!0)return;if(h8)U(h8);else if(++Z8===X8||e8===D)U(null)}for(;e<X8;e++)g(L[e],e,p(V8))}function I8(L,g,U){return O8(L,1/0,g,U)}function _8(L,g,U){var e=f(L)?R8:I8;return e(L,v(g),U)}var g8=A(_8,3);function d8(L,g,U){return k(g8,L,g,U)}var z8=A(d8,3),v8=R(z8);function C8(L,g,U){return O8(L,1,g,U)}var f8=A(C8,3);function c8(L,g,U){return k(f8,L,g,U)}var m8=A(c8,3),t8=R(m8);let Y6=Symbol("promiseCallback");function z1(){let L,g;function U(e,...Z8){if(e)return g(e);L(Z8.length>1?Z8:Z8[0])}return U[Y6]=new Promise((e,Z8)=>{L=e,g=Z8}),U}function C1(L,g,U){if(typeof g!=="number")U=g,g=null;U=S(U||z1());var e=Object.keys(L).length;if(!e)return U(null);if(!g)g=e;var Z8={},X8=0,G8=!1,V8=!1,h8=Object.create(null),e8=[],d6=[],W1={};Object.keys(L).forEach((r8)=>{var W6=L[r8];if(!Array.isArray(W6)){a6(r8,[W6]),d6.push(r8);return}var r6=W6.slice(0,W6.length-1),K4=r6.length;if(K4===0){a6(r8,W6),d6.push(r8);return}W1[r8]=K4,r6.forEach((j$)=>{if(!L[j$])throw new Error("async.auto task `"+r8+"` has a non-existent dependency `"+j$+"` in "+r6.join(", "));cW(j$,()=>{if(K4--,K4===0)a6(r8,W6)})})}),H1(),m3();function a6(r8,W6){e8.push(()=>fX(r8,W6))}function m3(){if(G8)return;if(e8.length===0&&X8===0)return U(null,Z8);while(e8.length&&X8<g){var r8=e8.shift();r8()}}function cW(r8,W6){var r6=h8[r8];if(!r6)r6=h8[r8]=[];r6.push(W6)}function QJ(r8){var W6=h8[r8]||[];W6.forEach((r6)=>r6()),m3()}function fX(r8,W6){if(V8)return;var r6=p((j$,...B3)=>{if(X8--,j$===!1){G8=!0;return}if(B3.length<2)[B3]=B3;if(j$){var pW={};if(Object.keys(Z8).forEach((lJ)=>{pW[lJ]=Z8[lJ]}),pW[r8]=B3,V8=!0,h8=Object.create(null),G8)return;U(j$,pW)}else Z8[r8]=B3,QJ(r8)});X8++;var K4=v(W6[W6.length-1]);if(W6.length>1)K4(Z8,r6);else K4(r6)}function H1(){var r8,W6=0;while(d6.length)r8=d6.pop(),W6++,z6(r8).forEach((r6)=>{if(--W1[r6]===0)d6.push(r6)});if(W6!==e)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}function z6(r8){var W6=[];return Object.keys(L).forEach((r6)=>{let K4=L[r6];if(Array.isArray(K4)&&K4.indexOf(r8)>=0)W6.push(r6)}),W6}return U[Y6]}var R4=/^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/,C4=/^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/,h$=/,/,A8=/(=.+)?(\s*)$/;function M8(L){let g="",U=0,e=L.indexOf("*/");while(U<L.length)if(L[U]==="/"&&L[U+1]==="/"){let Z8=L.indexOf(`
|
|
411
|
-
`,U);U=Z8===-1?L.length:Z8}else if(e!==-1&&L[U]==="/"&&L[U+1]==="*"){let Z8=L.indexOf("*/",U);if(Z8!==-1)U=Z8+2,e=L.indexOf("*/",U);else g+=L[U],U++}else g+=L[U],U++;return g}function
|
|
411
|
+
`,U);U=Z8===-1?L.length:Z8}else if(e!==-1&&L[U]==="/"&&L[U+1]==="*"){let Z8=L.indexOf("*/",U);if(Z8!==-1)U=Z8+2,e=L.indexOf("*/",U);else g+=L[U],U++}else g+=L[U],U++;return g}function n(L){let g=M8(L.toString()),U=g.match(R4);if(!U)U=g.match(C4);if(!U)throw new Error(`could not parse args in autoInject
|
|
412
412
|
Source:
|
|
413
|
-
`+g);let[,e]=U;return e.replace(/\s/g,"").split(h$).map((Z8)=>Z8.replace(A8,"").trim())}function J8(L,g){var U={};return Object.keys(L).forEach((e)=>{var Z8=L[e],X8,G8=T(Z8),V8=!G8&&Z8.length===1||G8&&Z8.length===0;if(Array.isArray(Z8))X8=[...Z8],Z8=X8.pop(),U[e]=X8.concat(X8.length>0?h8:Z8);else if(V8)U[e]=Z8;else{if(X8=i(Z8),Z8.length===0&&!G8&&X8.length===0)throw new Error("autoInject task functions require explicit parameters.");if(!G8)X8.pop();U[e]=X8.concat(h8)}function h8(e8,d6){var W1=X8.map((a6)=>e8[a6]);W1.push(d6),v(Z8)(...W1)}}),C1(U,g)}class s{constructor(){this.head=this.tail=null,this.length=0}removeLink(L){if(L.prev)L.prev.next=L.next;else this.head=L.next;if(L.next)L.next.prev=L.prev;else this.tail=L.prev;return L.prev=L.next=null,this.length-=1,L}empty(){while(this.head)this.shift();return this}insertAfter(L,g){if(g.prev=L,g.next=L.next,L.next)L.next.prev=g;else this.tail=g;L.next=g,this.length+=1}insertBefore(L,g){if(g.prev=L.prev,g.next=L,L.prev)L.prev.next=g;else this.head=g;L.prev=g,this.length+=1}unshift(L){if(this.head)this.insertBefore(this.head,L);else w8(this,L)}push(L){if(this.tail)this.insertAfter(this.tail,L);else w8(this,L)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){var L=this.head;while(L)yield L.data,L=L.next}remove(L){var g=this.head;while(g){var{next:U}=g;if(L(g))this.removeLink(g);g=U}return this}}function w8(L,g){L.length=1,L.head=L.tail=g}function q8(L,g,U){if(g==null)g=1;else if(g===0)throw new RangeError("Concurrency must not be zero");var e=v(L),Z8=0,X8=[];let G8={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function V8(z6,r8){G8[z6].push(r8)}function h8(z6,r8){let W6=(...r6)=>{e8(z6,W6),r8(...r6)};G8[z6].push(W6)}function e8(z6,r8){if(!z6)return Object.keys(G8).forEach((W6)=>G8[W6]=[]);if(!r8)return G8[z6]=[];G8[z6]=G8[z6].filter((W6)=>W6!==r8)}function d6(z6,...r8){G8[z6].forEach((W6)=>W6(...r8))}var W1=!1;function a6(z6,r8,W6,r6){if(r6!=null&&typeof r6!=="function")throw new Error("task callback must be a function");H1.started=!0;var K4,j$;function B3(lJ,...NX){if(lJ)return W6?j$(lJ):K4();if(NX.length<=1)return K4(NX[0]);K4(NX)}var pW=H1._createTaskItem(z6,W6?B3:r6||B3);if(r8)H1._tasks.unshift(pW);else H1._tasks.push(pW);if(!W1)W1=!0,P(()=>{W1=!1,H1.process()});if(W6||!r6)return new Promise((lJ,NX)=>{K4=lJ,j$=NX})}function m3(z6){return function(r8,...W6){Z8-=1;for(var r6=0,K4=z6.length;r6<K4;r6++){var j$=z6[r6],B3=X8.indexOf(j$);if(B3===0)X8.shift();else if(B3>0)X8.splice(B3,1);if(j$.callback(r8,...W6),r8!=null)d6("error",r8,j$.data)}if(Z8<=H1.concurrency-H1.buffer)d6("unsaturated");if(H1.idle())d6("drain");H1.process()}}function cW(z6){if(z6.length===0&&H1.idle())return P(()=>d6("drain")),!0;return!1}let QJ=(z6)=>(r8)=>{if(!r8)return new Promise((W6,r6)=>{h8(z6,(K4,j$)=>{if(K4)return r6(K4);W6(j$)})});e8(z6),V8(z6,r8)};var fX=!1,H1={_tasks:new s,_createTaskItem(z6,r8){return{data:z6,callback:r8}},*[Symbol.iterator](){yield*H1._tasks[Symbol.iterator]()},concurrency:g,payload:U,buffer:g/4,started:!1,paused:!1,push(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!1,!1,r8))}return a6(z6,!1,!1,r8)},pushAsync(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!1,!0,r8))}return a6(z6,!1,!0,r8)},kill(){e8(),H1._tasks.empty()},unshift(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!0,!1,r8))}return a6(z6,!0,!1,r8)},unshiftAsync(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!0,!0,r8))}return a6(z6,!0,!0,r8)},remove(z6){H1._tasks.remove(z6)},process(){if(fX)return;fX=!0;while(!H1.paused&&Z8<H1.concurrency&&H1._tasks.length){var z6=[],r8=[],W6=H1._tasks.length;if(H1.payload)W6=Math.min(W6,H1.payload);for(var r6=0;r6<W6;r6++){var K4=H1._tasks.shift();z6.push(K4),X8.push(K4),r8.push(K4.data)}if(Z8+=1,H1._tasks.length===0)d6("empty");if(Z8===H1.concurrency)d6("saturated");var j$=p(m3(z6));e(r8,j$)}fX=!1},length(){return H1._tasks.length},running(){return Z8},workersList(){return X8},idle(){return H1._tasks.length+Z8===0},pause(){H1.paused=!0},resume(){if(H1.paused===!1)return;H1.paused=!1,P(H1.process)}};return Object.defineProperties(H1,{saturated:{writable:!1,value:QJ("saturated")},unsaturated:{writable:!1,value:QJ("unsaturated")},empty:{writable:!1,value:QJ("empty")},drain:{writable:!1,value:QJ("drain")},error:{writable:!1,value:QJ("error")}}),H1}function W8(L,g){return q8(L,1,g)}function j8(L,g,U){return q8(L,g,U)}function x8(L,g,U,e){e=S(e);var Z8=v(U);return f8(L,(X8,G8,V8)=>{Z8(g,X8,(h8,e8)=>{g=e8,V8(h8)})},(X8)=>e(X8,g))}var T6=A(x8,4);function j6(...L){var g=L.map(v);return function(...U){var e=this,Z8=U[U.length-1];if(typeof Z8=="function")U.pop();else Z8=z1();return T6(g,U,(X8,G8,V8)=>{G8.apply(e,X8.concat((h8,...e8)=>{V8(h8,e8)}))},(X8,G8)=>Z8(X8,...G8)),Z8[Y6]}}function E$(...L){return j6(...L.reverse())}function y3(L,g,U,e){return k(r(g),L,U,e)}var u3=A(y3,4);function N8(L,g,U,e){var Z8=v(U);return u3(L,g,(X8,G8)=>{Z8(X8,(V8,...h8)=>{if(V8)return G8(V8);return G8(V8,h8)})},(X8,G8)=>{var V8=[];for(var h8=0;h8<G8.length;h8++)if(G8[h8])V8=V8.concat(...G8[h8]);return e(X8,V8)})}var D8=A(N8,4);function H8(L,g,U){return D8(L,1/0,g,U)}var x=A(H8,3);function $8(L,g,U){return D8(L,1,g,U)}var B=A($8,3);function t(...L){return function(...g){var U=g.pop();return U(null,...L)}}function n(L,g){return(U,e,Z8,X8)=>{var G8=!1,V8;let h8=v(Z8);U(e,(e8,d6,W1)=>{h8(e8,(a6,m3)=>{if(a6||a6===!1)return W1(a6);if(L(m3)&&!V8)return G8=!0,V8=g(!0,e8),W1(null,D);W1()})},(e8)=>{if(e8)return X8(e8);X8(null,G8?V8:g(!1))})}}function b(L,g,U){return n((e)=>e,(e,Z8)=>Z8)(g8,L,g,U)}var y=A(b,3);function u(L,g,U,e){return n((Z8)=>Z8,(Z8,X8)=>X8)(r(g),L,U,e)}var F=A(u,4);function K8(L,g,U){return n((e)=>e,(e,Z8)=>Z8)(r(1),L,g,U)}var T8=A(K8,3);function k8(L){return(g,...U)=>v(g)(...U,(e,...Z8)=>{if(typeof console==="object"){if(e){if(console.error)console.error(e)}else if(console[L])Z8.forEach((X8)=>console[L](X8))}})}var u8=k8("dir");function U8(L,g,U){U=p(U);var e=v(L),Z8=v(g),X8;function G8(h8,...e8){if(h8)return U(h8);if(h8===!1)return;X8=e8,Z8(...e8,V8)}function V8(h8,e8){if(h8)return U(h8);if(h8===!1)return;if(!e8)return U(null,...X8);e(G8)}return V8(null,!0)}var l8=A(U8,3);function O6(L,g,U){let e=v(g);return l8(L,(...Z8)=>{let X8=Z8.pop();e(...Z8,(G8,V8)=>X8(G8,!V8))},U)}function b6(L){return(g,U,e)=>L(g,e)}function $4(L,g,U){return g8(L,b6(v(g)),U)}var j7=A($4,3);function jE(L,g,U,e){return r(g)(L,b6(v(U)),e)}var sq=A(jE,4);function UW(L,g,U){return sq(L,1,g,U)}var _X=A(UW,3);function GE(L){if(T(L))return L;return function(...g){var U=g.pop(),e=!0;g.push((...Z8)=>{if(e)P(()=>U(...Z8));else U(...Z8)}),L.apply(this,g),e=!1}}function O66(L,g,U){return n((e)=>!e,(e)=>!e)(g8,L,g,U)}var E0=A(O66,3);function X66(L,g,U,e){return n((Z8)=>!Z8,(Z8)=>!Z8)(r(g),L,U,e)}var S0=A(X66,4);function w66(L,g,U){return n((e)=>!e,(e)=>!e)(f8,L,g,U)}var L0=A(w66,3);function T66(L,g,U,e){var Z8=new Array(g.length);L(g,(X8,G8,V8)=>{U(X8,(h8,e8)=>{Z8[G8]=!!e8,V8(h8)})},(X8)=>{if(X8)return e(X8);var G8=[];for(var V8=0;V8<g.length;V8++)if(Z8[V8])G8.push(g[V8]);e(null,G8)})}function j66(L,g,U,e){var Z8=[];L(g,(X8,G8,V8)=>{U(X8,(h8,e8)=>{if(h8)return V8(h8);if(e8)Z8.push({index:G8,value:X8});V8(h8)})},(X8)=>{if(X8)return e(X8);e(null,Z8.sort((G8,V8)=>G8.index-V8.index).map((G8)=>G8.value))})}function I0(L,g,U,e){var Z8=f(g)?T66:j66;return Z8(L,g,v(U),e)}function G66(L,g,U){return I0(g8,L,g,U)}var x0=A(G66,3);function v66(L,g,U,e){return I0(r(g),L,U,e)}var b0=A(v66,4);function V66(L,g,U){return I0(f8,L,g,U)}var g0=A(V66,3);function A66(L,g){var U=p(g),e=v(GE(L));function Z8(X8){if(X8)return U(X8);if(X8===!1)return;e(Z8)}return Z8()}var wa=A(A66,2);function M66(L,g,U,e){var Z8=v(U);return u3(L,g,(X8,G8)=>{Z8(X8,(V8,h8)=>{if(V8)return G8(V8);return G8(V8,{key:h8,val:X8})})},(X8,G8)=>{var V8={},{hasOwnProperty:h8}=Object.prototype;for(var e8=0;e8<G8.length;e8++)if(G8[e8]){var{key:d6}=G8[e8],{val:W1}=G8[e8];if(h8.call(V8,d6))V8[d6].push(W1);else V8[d6]=[W1]}return e(X8,V8)})}var y0=A(M66,4);function Ta(L,g,U){return y0(L,1/0,g,U)}function ja(L,g,U){return y0(L,1,g,U)}var Ga=k8("log");function _66(L,g,U,e){e=S(e);var Z8={},X8=v(U);return r(g)(L,(G8,V8,h8)=>{X8(G8,V8,(e8,d6)=>{if(e8)return h8(e8);Z8[V8]=d6,h8(e8)})},(G8)=>e(G8,Z8))}var u0=A(_66,4);function va(L,g,U){return u0(L,1/0,g,U)}function Va(L,g,U){return u0(L,1,g,U)}function Aa(L,g=(U)=>U){var U=Object.create(null),e=Object.create(null),Z8=v(L),X8=q((G8,V8)=>{var h8=g(...G8);if(h8 in U)P(()=>V8(null,...U[h8]));else if(h8 in e)e[h8].push(V8);else e[h8]=[V8],Z8(...G8,(e8,...d6)=>{if(!e8)U[h8]=d6;var W1=e[h8];delete e[h8];for(var a6=0,m3=W1.length;a6<m3;a6++)W1[a6](e8,...d6)})});return X8.memo=U,X8.unmemoized=L,X8}var m0;if(z)m0=process.nextTick;else if(J)m0=setImmediate;else m0=W;var Ma=H(m0),vE=A((L,g,U)=>{var e=f(g)?[]:{};L(g,(Z8,X8,G8)=>{v(Z8)((V8,...h8)=>{if(h8.length<2)[h8]=h8;e[X8]=h8,G8(V8)})},(Z8)=>U(Z8,e))},3);function _a(L,g){return vE(g8,L,g)}function ka(L,g,U){return vE(r(g),L,U)}function VE(L,g){var U=v(L);return q8((e,Z8)=>{U(e[0],Z8)},g,1)}class fa{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(L){let g;while(L>0&&AE(this.heap[L],this.heap[g=Na(L)])){let U=this.heap[L];this.heap[L]=this.heap[g],this.heap[g]=U,L=g}}percDown(L){let g;while((g=k66(L))<this.heap.length){if(g+1<this.heap.length&&AE(this.heap[g+1],this.heap[g]))g=g+1;if(AE(this.heap[L],this.heap[g]))break;let U=this.heap[L];this.heap[L]=this.heap[g],this.heap[g]=U,L=g}}push(L){L.pushCount=++this.pushCount,this.heap.push(L),this.percUp(this.heap.length-1)}unshift(L){return this.heap.push(L)}shift(){let[L]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),L}toArray(){return[...this]}*[Symbol.iterator](){for(let L=0;L<this.heap.length;L++)yield this.heap[L].data}remove(L){let g=0;for(let U=0;U<this.heap.length;U++)if(!L(this.heap[U]))this.heap[g]=this.heap[U],g++;this.heap.splice(g);for(let U=Na(this.heap.length-1);U>=0;U--)this.percDown(U);return this}}function k66(L){return(L<<1)+1}function Na(L){return(L+1>>1)-1}function AE(L,g){if(L.priority!==g.priority)return L.priority<g.priority;else return L.pushCount<g.pushCount}function Ra(L,g){var U=VE(L,g),{push:e,pushAsync:Z8}=U;U._tasks=new fa,U._createTaskItem=({data:G8,priority:V8},h8)=>{return{data:G8,priority:V8,callback:h8}};function X8(G8,V8){if(!Array.isArray(G8))return{data:G8,priority:V8};return G8.map((h8)=>{return{data:h8,priority:V8}})}return U.push=function(G8,V8=0,h8){return e(X8(G8,V8),h8)},U.pushAsync=function(G8,V8=0,h8){return Z8(X8(G8,V8),h8)},delete U.unshift,delete U.unshiftAsync,U}function f66(L,g){if(g=S(g),!Array.isArray(L))return g(new TypeError("First argument to race must be an array of functions"));if(!L.length)return g();for(var U=0,e=L.length;U<e;U++)v(L[U])(g)}var Ca=A(f66,2);function B0(L,g,U,e){var Z8=[...L].reverse();return T6(Z8,g,U,e)}function U0(L){var g=v(L);return q(function U(e,Z8){return e.push((X8,...G8)=>{let V8={};if(X8)V8.error=X8;if(G8.length>0){var h8=G8;if(G8.length<=1)[h8]=G8;V8.value=h8}Z8(null,V8)}),g.apply(this,e)})}function Da(L){var g;if(Array.isArray(L))g=L.map(U0);else g={},Object.keys(L).forEach((U)=>{g[U]=U0.call(this,L[U])});return g}function ME(L,g,U,e){let Z8=v(U);return I0(L,g,(X8,G8)=>{Z8(X8,(V8,h8)=>{G8(V8,!h8)})},e)}function N66(L,g,U){return ME(g8,L,g,U)}var ha=A(N66,3);function R66(L,g,U,e){return ME(r(g),L,U,e)}var Ea=A(R66,4);function C66(L,g,U){return ME(f8,L,g,U)}var Sa=A(C66,3);function La(L){return function(){return L}}let _E=5,Ia=0;function c0(L,g,U){var e={times:_E,intervalFunc:La(Ia)};if(arguments.length<3&&typeof L==="function")U=g||z1(),g=L;else D66(e,L),U=U||z1();if(typeof g!=="function")throw new Error("Invalid arguments for async.retry");var Z8=v(g),X8=1;function G8(){Z8((V8,...h8)=>{if(V8===!1)return;if(V8&&X8++<e.times&&(typeof e.errorFilter!="function"||e.errorFilter(V8)))setTimeout(G8,e.intervalFunc(X8-1));else U(V8,...h8)})}return G8(),U[Y6]}function D66(L,g){if(typeof g==="object")L.times=+g.times||_E,L.intervalFunc=typeof g.interval==="function"?g.interval:La(+g.interval||Ia),L.errorFilter=g.errorFilter;else if(typeof g==="number"||typeof g==="string")L.times=+g||_E;else throw new Error("Invalid arguments for async.retry")}function xa(L,g){if(!g)g=L,L=null;let U=L&&L.arity||g.length;if(T(g))U+=1;var e=v(g);return q((Z8,X8)=>{if(Z8.length<U-1||X8==null)Z8.push(X8),X8=z1();function G8(V8){e(...Z8,V8)}if(L)c0(L,G8,X8);else c0(G8,X8);return X8[Y6]})}function ba(L,g){return vE(f8,L,g)}function h66(L,g,U){return n(Boolean,(e)=>e)(g8,L,g,U)}var p0=A(h66,3);function E66(L,g,U,e){return n(Boolean,(Z8)=>Z8)(r(g),L,U,e)}var F0=A(E66,4);function S66(L,g,U){return n(Boolean,(e)=>e)(f8,L,g,U)}var Q0=A(S66,3);function L66(L,g,U){var e=v(g);return z8(L,(X8,G8)=>{e(X8,(V8,h8)=>{if(V8)return G8(V8);G8(V8,{value:X8,criteria:h8})})},(X8,G8)=>{if(X8)return U(X8);U(null,G8.sort(Z8).map((V8)=>V8.value))});function Z8(X8,G8){var V8=X8.criteria,h8=G8.criteria;return V8<h8?-1:V8>h8?1:0}}var ga=A(L66,3);function ya(L,g,U){var e=v(L);return q((Z8,X8)=>{var G8=!1,V8;function h8(){var e8=L.name||"anonymous",d6=new Error('Callback function "'+e8+'" timed out.');if(d6.code="ETIMEDOUT",U)d6.info=U;G8=!0,X8(d6)}Z8.push((...e8)=>{if(!G8)X8(...e8),clearTimeout(V8)}),V8=setTimeout(h8,g),e(...Z8)})}function I66(L){var g=Array(L);while(L--)g[L]=L;return g}function l0(L,g,U,e){var Z8=v(U);return u3(I66(L),g,Z8,e)}function ua(L,g,U){return l0(L,1/0,g,U)}function ma(L,g,U){return l0(L,1,g,U)}function Ba(L,g,U,e){if(arguments.length<=3&&typeof g==="function")e=U,U=g,g=Array.isArray(L)?[]:{};e=S(e||z1());var Z8=v(U);return g8(L,(X8,G8,V8)=>{Z8(g,X8,G8,V8)},(X8)=>e(X8,g)),e[Y6]}function x66(L,g){var U=null,e;return _X(L,(Z8,X8)=>{v(Z8)((G8,...V8)=>{if(G8===!1)return X8(G8);if(V8.length<2)[e]=V8;else e=V8;U=G8,X8(G8?null:{})})},()=>g(U,e))}var Ua=A(x66);function ca(L){return(...g)=>{return(L.unmemoized||L)(...g)}}function b66(L,g,U){U=p(U);var e=v(g),Z8=v(L),X8=[];function G8(h8,...e8){if(h8)return U(h8);if(X8=e8,h8===!1)return;Z8(V8)}function V8(h8,e8){if(h8)return U(h8);if(h8===!1)return;if(!e8)return U(null,...X8);e(G8)}return Z8(V8)}var kX=A(b66,3);function pa(L,g,U){let e=v(L);return kX((Z8)=>e((X8,G8)=>Z8(X8,!G8)),g,U)}function g66(L,g){if(g=S(g),!Array.isArray(L))return g(new Error("First argument to waterfall must be an array of functions"));if(!L.length)return g();var U=0;function e(X8){var G8=v(L[U++]);G8(...X8,p(Z8))}function Z8(X8,...G8){if(X8===!1)return;if(X8||U===L.length)return g(X8,...G8);e(G8)}e([])}var Fa=A(g66),y66={apply:K,applyEach:v8,applyEachSeries:t8,asyncify:O,auto:C1,autoInject:J8,cargo:W8,cargoQueue:j8,compose:E$,concat:x,concatLimit:D8,concatSeries:B,constant:t,detect:y,detectLimit:F,detectSeries:T8,dir:u8,doUntil:O6,doWhilst:l8,each:j7,eachLimit:sq,eachOf:g8,eachOfLimit:O8,eachOfSeries:f8,eachSeries:_X,ensureAsync:GE,every:E0,everyLimit:S0,everySeries:L0,filter:x0,filterLimit:b0,filterSeries:g0,forever:wa,groupBy:Ta,groupByLimit:y0,groupBySeries:ja,log:Ga,map:z8,mapLimit:u3,mapSeries:m8,mapValues:va,mapValuesLimit:u0,mapValuesSeries:Va,memoize:Aa,nextTick:Ma,parallel:_a,parallelLimit:ka,priorityQueue:Ra,queue:VE,race:Ca,reduce:T6,reduceRight:B0,reflect:U0,reflectAll:Da,reject:ha,rejectLimit:Ea,rejectSeries:Sa,retry:c0,retryable:xa,seq:j6,series:ba,setImmediate:P,some:p0,someLimit:F0,someSeries:Q0,sortBy:ga,timeout:ya,times:ua,timesLimit:l0,timesSeries:ma,transform:Ba,tryEach:Ua,unmemoize:ca,until:pa,waterfall:Fa,whilst:kX,all:E0,allLimit:S0,allSeries:L0,any:p0,anyLimit:F0,anySeries:Q0,find:y,findLimit:F,findSeries:T8,flatMap:x,flatMapLimit:D8,flatMapSeries:B,forEach:j7,forEachSeries:_X,forEachLimit:sq,forEachOf:g8,forEachOfSeries:f8,forEachOfLimit:O8,inject:T6,foldl:T6,foldr:B0,select:x0,selectLimit:b0,selectSeries:g0,wrapSync:O,during:kX,doDuring:l8};$.all=E0,$.allLimit=S0,$.allSeries=L0,$.any=p0,$.anyLimit=F0,$.anySeries=Q0,$.apply=K,$.applyEach=v8,$.applyEachSeries=t8,$.asyncify=O,$.auto=C1,$.autoInject=J8,$.cargo=W8,$.cargoQueue=j8,$.compose=E$,$.concat=x,$.concatLimit=D8,$.concatSeries=B,$.constant=t,$.default=y66,$.detect=y,$.detectLimit=F,$.detectSeries=T8,$.dir=u8,$.doDuring=l8,$.doUntil=O6,$.doWhilst=l8,$.during=kX,$.each=j7,$.eachLimit=sq,$.eachOf=g8,$.eachOfLimit=O8,$.eachOfSeries=f8,$.eachSeries=_X,$.ensureAsync=GE,$.every=E0,$.everyLimit=S0,$.everySeries=L0,$.filter=x0,$.filterLimit=b0,$.filterSeries=g0,$.find=y,$.findLimit=F,$.findSeries=T8,$.flatMap=x,$.flatMapLimit=D8,$.flatMapSeries=B,$.foldl=T6,$.foldr=B0,$.forEach=j7,$.forEachLimit=sq,$.forEachOf=g8,$.forEachOfLimit=O8,$.forEachOfSeries=f8,$.forEachSeries=_X,$.forever=wa,$.groupBy=Ta,$.groupByLimit=y0,$.groupBySeries=ja,$.inject=T6,$.log=Ga,$.map=z8,$.mapLimit=u3,$.mapSeries=m8,$.mapValues=va,$.mapValuesLimit=u0,$.mapValuesSeries=Va,$.memoize=Aa,$.nextTick=Ma,$.parallel=_a,$.parallelLimit=ka,$.priorityQueue=Ra,$.queue=VE,$.race=Ca,$.reduce=T6,$.reduceRight=B0,$.reflect=U0,$.reflectAll=Da,$.reject=ha,$.rejectLimit=Ea,$.rejectSeries=Sa,$.retry=c0,$.retryable=xa,$.select=x0,$.selectLimit=b0,$.selectSeries=g0,$.seq=j6,$.series=ba,$.setImmediate=P,$.some=p0,$.someLimit=F0,$.someSeries=Q0,$.sortBy=ga,$.timeout=ya,$.times=ua,$.timesLimit=l0,$.timesSeries=ma,$.transform=Ba,$.tryEach=Ua,$.unmemoize=ca,$.until=pa,$.waterfall=Fa,$.whilst=kX,$.wrapSync=O,Object.defineProperty($,"__esModule",{value:!0})})});var bV8=V((c44,xV8)=>{var sY=o("constants"),Hx6=process.cwd,Ak=null,Zx6=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Ak)Ak=Hx6.call(process);return Ak};try{process.cwd()}catch($){}if(typeof process.chdir==="function"){if(Mk=process.chdir,process.chdir=function($){Ak=null,Mk.call(process,$)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,Mk)}var Mk;xV8.exports=Px6;function Px6($){if(sY.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))K($);if(!$.lutimes)q($);if($.chown=z($.chown),$.fchown=z($.fchown),$.lchown=z($.lchown),$.chmod=Y($.chmod),$.fchmod=Y($.fchmod),$.lchmod=Y($.lchmod),$.chownSync=W($.chownSync),$.fchownSync=W($.fchownSync),$.lchownSync=W($.lchownSync),$.chmodSync=J($.chmodSync),$.fchmodSync=J($.fchmodSync),$.lchmodSync=J($.lchmodSync),$.stat=H($.stat),$.fstat=H($.fstat),$.lstat=H($.lstat),$.statSync=Z($.statSync),$.fstatSync=Z($.fstatSync),$.lstatSync=Z($.lstatSync),$.chmod&&!$.lchmod)$.lchmod=function(O,X,w){if(w)process.nextTick(w)},$.lchmodSync=function(){};if($.chown&&!$.lchown)$.lchown=function(O,X,w,T){if(T)process.nextTick(T)},$.lchownSync=function(){};if(Zx6==="win32")$.rename=typeof $.rename!=="function"?$.rename:function(O){function X(w,T,G){var j=Date.now(),v=0;O(w,T,function A(R){if(R&&(R.code==="EACCES"||R.code==="EPERM"||R.code==="EBUSY")&&Date.now()-j<60000){if(setTimeout(function(){$.stat(T,function(k,f){if(k&&k.code==="ENOENT")O(w,T,A);else G(R)})},v),v<100)v+=10;return}if(G)G(R)})}if(Object.setPrototypeOf)Object.setPrototypeOf(X,O);return X}($.rename);$.read=typeof $.read!=="function"?$.read:function(O){function X(w,T,G,j,v,A){var R;if(A&&typeof A==="function"){var k=0;R=function(f,D,S){if(f&&f.code==="EAGAIN"&&k<10)return k++,O.call($,w,T,G,j,v,R);A.apply(this,arguments)}}return O.call($,w,T,G,j,v,R)}if(Object.setPrototypeOf)Object.setPrototypeOf(X,O);return X}($.read),$.readSync=typeof $.readSync!=="function"?$.readSync:function(O){return function(X,w,T,G,j){var v=0;while(!0)try{return O.call($,X,w,T,G,j)}catch(A){if(A.code==="EAGAIN"&&v<10){v++;continue}throw A}}}($.readSync);function K(O){O.lchmod=function(X,w,T){O.open(X,sY.O_WRONLY|sY.O_SYMLINK,w,function(G,j){if(G){if(T)T(G);return}O.fchmod(j,w,function(v){O.close(j,function(A){if(T)T(v||A)})})})},O.lchmodSync=function(X,w){var T=O.openSync(X,sY.O_WRONLY|sY.O_SYMLINK,w),G=!0,j;try{j=O.fchmodSync(T,w),G=!1}finally{if(G)try{O.closeSync(T)}catch(v){}else O.closeSync(T)}return j}}function q(O){if(sY.hasOwnProperty("O_SYMLINK")&&O.futimes)O.lutimes=function(X,w,T,G){O.open(X,sY.O_SYMLINK,function(j,v){if(j){if(G)G(j);return}O.futimes(v,w,T,function(A){O.close(v,function(R){if(G)G(A||R)})})})},O.lutimesSync=function(X,w,T){var G=O.openSync(X,sY.O_SYMLINK),j,v=!0;try{j=O.futimesSync(G,w,T),v=!1}finally{if(v)try{O.closeSync(G)}catch(A){}else O.closeSync(G)}return j};else if(O.futimes)O.lutimes=function(X,w,T,G){if(G)process.nextTick(G)},O.lutimesSync=function(){}}function Y(O){if(!O)return O;return function(X,w,T){return O.call($,X,w,function(G){if(P(G))G=null;if(T)T.apply(this,arguments)})}}function J(O){if(!O)return O;return function(X,w){try{return O.call($,X,w)}catch(T){if(!P(T))throw T}}}function z(O){if(!O)return O;return function(X,w,T,G){return O.call($,X,w,T,function(j){if(P(j))j=null;if(G)G.apply(this,arguments)})}}function W(O){if(!O)return O;return function(X,w,T){try{return O.call($,X,w,T)}catch(G){if(!P(G))throw G}}}function H(O){if(!O)return O;return function(X,w,T){if(typeof w==="function")T=w,w=null;function G(j,v){if(v){if(v.uid<0)v.uid+=4294967296;if(v.gid<0)v.gid+=4294967296}if(T)T.apply(this,arguments)}return w?O.call($,X,w,G):O.call($,X,G)}}function Z(O){if(!O)return O;return function(X,w){var T=w?O.call($,X,w):O.call($,X);if(T){if(T.uid<0)T.uid+=4294967296;if(T.gid<0)T.gid+=4294967296}return T}}function P(O){if(!O)return!0;if(O.code==="ENOSYS")return!0;var X=!process.getuid||process.getuid()!==0;if(X){if(O.code==="EINVAL"||O.code==="EPERM")return!0}return!1}}});var uV8=V((p44,yV8)=>{var gV8=o("stream").Stream;yV8.exports=Ox6;function Ox6($){return{ReadStream:K,WriteStream:q};function K(Y,J){if(!(this instanceof K))return new K(Y,J);gV8.call(this);var z=this;this.path=Y,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,J=J||{};var W=Object.keys(J);for(var H=0,Z=W.length;H<Z;H++){var P=W[H];this[P]=J[P]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){z._read()});return}$.open(this.path,this.flags,this.mode,function(O,X){if(O){z.emit("error",O),z.readable=!1;return}z.fd=X,z.emit("open",X),z._read()})}function q(Y,J){if(!(this instanceof q))return new q(Y,J);gV8.call(this),this.path=Y,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,J=J||{};var z=Object.keys(J);for(var W=0,H=z.length;W<H;W++){var Z=z[W];this[Z]=J[Z]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=$.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var BV8=V((F44,mV8)=>{mV8.exports=wx6;var Xx6=Object.getPrototypeOf||function($){return $.__proto__};function wx6($){if($===null||typeof $!=="object")return $;if($ instanceof Object)var K={__proto__:Xx6($)};else var K=Object.create(null);return Object.getOwnPropertyNames($).forEach(function(q){Object.defineProperty(K,q,Object.getOwnPropertyDescriptor($,q))}),K}});var um=V((Q44,ym)=>{var v4=o("fs"),Tx6=bV8(),jx6=uV8(),Gx6=BV8(),_k=o("util"),y$,fk;if(typeof Symbol==="function"&&typeof Symbol.for==="function")y$=Symbol.for("graceful-fs.queue"),fk=Symbol.for("graceful-fs.previous");else y$="___graceful-fs.queue",fk="___graceful-fs.previous";function vx6(){}function cV8($,K){Object.defineProperty($,y$,{get:function(){return K}})}var zz=vx6;if(_k.debuglog)zz=_k.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))zz=function(){var $=_k.format.apply(_k,arguments);$="GFS4: "+$.split(/\n/).join(`
|
|
413
|
+
`+g);let[,e]=U;return e.replace(/\s/g,"").split(h$).map((Z8)=>Z8.replace(A8,"").trim())}function J8(L,g){var U={};return Object.keys(L).forEach((e)=>{var Z8=L[e],X8,G8=T(Z8),V8=!G8&&Z8.length===1||G8&&Z8.length===0;if(Array.isArray(Z8))X8=[...Z8],Z8=X8.pop(),U[e]=X8.concat(X8.length>0?h8:Z8);else if(V8)U[e]=Z8;else{if(X8=n(Z8),Z8.length===0&&!G8&&X8.length===0)throw new Error("autoInject task functions require explicit parameters.");if(!G8)X8.pop();U[e]=X8.concat(h8)}function h8(e8,d6){var W1=X8.map((a6)=>e8[a6]);W1.push(d6),v(Z8)(...W1)}}),C1(U,g)}class s{constructor(){this.head=this.tail=null,this.length=0}removeLink(L){if(L.prev)L.prev.next=L.next;else this.head=L.next;if(L.next)L.next.prev=L.prev;else this.tail=L.prev;return L.prev=L.next=null,this.length-=1,L}empty(){while(this.head)this.shift();return this}insertAfter(L,g){if(g.prev=L,g.next=L.next,L.next)L.next.prev=g;else this.tail=g;L.next=g,this.length+=1}insertBefore(L,g){if(g.prev=L.prev,g.next=L,L.prev)L.prev.next=g;else this.head=g;L.prev=g,this.length+=1}unshift(L){if(this.head)this.insertBefore(this.head,L);else w8(this,L)}push(L){if(this.tail)this.insertAfter(this.tail,L);else w8(this,L)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){var L=this.head;while(L)yield L.data,L=L.next}remove(L){var g=this.head;while(g){var{next:U}=g;if(L(g))this.removeLink(g);g=U}return this}}function w8(L,g){L.length=1,L.head=L.tail=g}function q8(L,g,U){if(g==null)g=1;else if(g===0)throw new RangeError("Concurrency must not be zero");var e=v(L),Z8=0,X8=[];let G8={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function V8(z6,r8){G8[z6].push(r8)}function h8(z6,r8){let W6=(...r6)=>{e8(z6,W6),r8(...r6)};G8[z6].push(W6)}function e8(z6,r8){if(!z6)return Object.keys(G8).forEach((W6)=>G8[W6]=[]);if(!r8)return G8[z6]=[];G8[z6]=G8[z6].filter((W6)=>W6!==r8)}function d6(z6,...r8){G8[z6].forEach((W6)=>W6(...r8))}var W1=!1;function a6(z6,r8,W6,r6){if(r6!=null&&typeof r6!=="function")throw new Error("task callback must be a function");H1.started=!0;var K4,j$;function B3(lJ,...NX){if(lJ)return W6?j$(lJ):K4();if(NX.length<=1)return K4(NX[0]);K4(NX)}var pW=H1._createTaskItem(z6,W6?B3:r6||B3);if(r8)H1._tasks.unshift(pW);else H1._tasks.push(pW);if(!W1)W1=!0,P(()=>{W1=!1,H1.process()});if(W6||!r6)return new Promise((lJ,NX)=>{K4=lJ,j$=NX})}function m3(z6){return function(r8,...W6){Z8-=1;for(var r6=0,K4=z6.length;r6<K4;r6++){var j$=z6[r6],B3=X8.indexOf(j$);if(B3===0)X8.shift();else if(B3>0)X8.splice(B3,1);if(j$.callback(r8,...W6),r8!=null)d6("error",r8,j$.data)}if(Z8<=H1.concurrency-H1.buffer)d6("unsaturated");if(H1.idle())d6("drain");H1.process()}}function cW(z6){if(z6.length===0&&H1.idle())return P(()=>d6("drain")),!0;return!1}let QJ=(z6)=>(r8)=>{if(!r8)return new Promise((W6,r6)=>{h8(z6,(K4,j$)=>{if(K4)return r6(K4);W6(j$)})});e8(z6),V8(z6,r8)};var fX=!1,H1={_tasks:new s,_createTaskItem(z6,r8){return{data:z6,callback:r8}},*[Symbol.iterator](){yield*H1._tasks[Symbol.iterator]()},concurrency:g,payload:U,buffer:g/4,started:!1,paused:!1,push(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!1,!1,r8))}return a6(z6,!1,!1,r8)},pushAsync(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!1,!0,r8))}return a6(z6,!1,!0,r8)},kill(){e8(),H1._tasks.empty()},unshift(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!0,!1,r8))}return a6(z6,!0,!1,r8)},unshiftAsync(z6,r8){if(Array.isArray(z6)){if(cW(z6))return;return z6.map((W6)=>a6(W6,!0,!0,r8))}return a6(z6,!0,!0,r8)},remove(z6){H1._tasks.remove(z6)},process(){if(fX)return;fX=!0;while(!H1.paused&&Z8<H1.concurrency&&H1._tasks.length){var z6=[],r8=[],W6=H1._tasks.length;if(H1.payload)W6=Math.min(W6,H1.payload);for(var r6=0;r6<W6;r6++){var K4=H1._tasks.shift();z6.push(K4),X8.push(K4),r8.push(K4.data)}if(Z8+=1,H1._tasks.length===0)d6("empty");if(Z8===H1.concurrency)d6("saturated");var j$=p(m3(z6));e(r8,j$)}fX=!1},length(){return H1._tasks.length},running(){return Z8},workersList(){return X8},idle(){return H1._tasks.length+Z8===0},pause(){H1.paused=!0},resume(){if(H1.paused===!1)return;H1.paused=!1,P(H1.process)}};return Object.defineProperties(H1,{saturated:{writable:!1,value:QJ("saturated")},unsaturated:{writable:!1,value:QJ("unsaturated")},empty:{writable:!1,value:QJ("empty")},drain:{writable:!1,value:QJ("drain")},error:{writable:!1,value:QJ("error")}}),H1}function W8(L,g){return q8(L,1,g)}function j8(L,g,U){return q8(L,g,U)}function x8(L,g,U,e){e=S(e);var Z8=v(U);return f8(L,(X8,G8,V8)=>{Z8(g,X8,(h8,e8)=>{g=e8,V8(h8)})},(X8)=>e(X8,g))}var T6=A(x8,4);function j6(...L){var g=L.map(v);return function(...U){var e=this,Z8=U[U.length-1];if(typeof Z8=="function")U.pop();else Z8=z1();return T6(g,U,(X8,G8,V8)=>{G8.apply(e,X8.concat((h8,...e8)=>{V8(h8,e8)}))},(X8,G8)=>Z8(X8,...G8)),Z8[Y6]}}function E$(...L){return j6(...L.reverse())}function y3(L,g,U,e){return k(r(g),L,U,e)}var u3=A(y3,4);function N8(L,g,U,e){var Z8=v(U);return u3(L,g,(X8,G8)=>{Z8(X8,(V8,...h8)=>{if(V8)return G8(V8);return G8(V8,h8)})},(X8,G8)=>{var V8=[];for(var h8=0;h8<G8.length;h8++)if(G8[h8])V8=V8.concat(...G8[h8]);return e(X8,V8)})}var D8=A(N8,4);function H8(L,g,U){return D8(L,1/0,g,U)}var x=A(H8,3);function $8(L,g,U){return D8(L,1,g,U)}var B=A($8,3);function t(...L){return function(...g){var U=g.pop();return U(null,...L)}}function i(L,g){return(U,e,Z8,X8)=>{var G8=!1,V8;let h8=v(Z8);U(e,(e8,d6,W1)=>{h8(e8,(a6,m3)=>{if(a6||a6===!1)return W1(a6);if(L(m3)&&!V8)return G8=!0,V8=g(!0,e8),W1(null,D);W1()})},(e8)=>{if(e8)return X8(e8);X8(null,G8?V8:g(!1))})}}function b(L,g,U){return i((e)=>e,(e,Z8)=>Z8)(g8,L,g,U)}var y=A(b,3);function u(L,g,U,e){return i((Z8)=>Z8,(Z8,X8)=>X8)(r(g),L,U,e)}var F=A(u,4);function K8(L,g,U){return i((e)=>e,(e,Z8)=>Z8)(r(1),L,g,U)}var T8=A(K8,3);function k8(L){return(g,...U)=>v(g)(...U,(e,...Z8)=>{if(typeof console==="object"){if(e){if(console.error)console.error(e)}else if(console[L])Z8.forEach((X8)=>console[L](X8))}})}var u8=k8("dir");function U8(L,g,U){U=p(U);var e=v(L),Z8=v(g),X8;function G8(h8,...e8){if(h8)return U(h8);if(h8===!1)return;X8=e8,Z8(...e8,V8)}function V8(h8,e8){if(h8)return U(h8);if(h8===!1)return;if(!e8)return U(null,...X8);e(G8)}return V8(null,!0)}var l8=A(U8,3);function O6(L,g,U){let e=v(g);return l8(L,(...Z8)=>{let X8=Z8.pop();e(...Z8,(G8,V8)=>X8(G8,!V8))},U)}function b6(L){return(g,U,e)=>L(g,e)}function $4(L,g,U){return g8(L,b6(v(g)),U)}var j7=A($4,3);function jE(L,g,U,e){return r(g)(L,b6(v(U)),e)}var sq=A(jE,4);function UW(L,g,U){return sq(L,1,g,U)}var _X=A(UW,3);function GE(L){if(T(L))return L;return function(...g){var U=g.pop(),e=!0;g.push((...Z8)=>{if(e)P(()=>U(...Z8));else U(...Z8)}),L.apply(this,g),e=!1}}function O66(L,g,U){return i((e)=>!e,(e)=>!e)(g8,L,g,U)}var E0=A(O66,3);function X66(L,g,U,e){return i((Z8)=>!Z8,(Z8)=>!Z8)(r(g),L,U,e)}var S0=A(X66,4);function w66(L,g,U){return i((e)=>!e,(e)=>!e)(f8,L,g,U)}var L0=A(w66,3);function T66(L,g,U,e){var Z8=new Array(g.length);L(g,(X8,G8,V8)=>{U(X8,(h8,e8)=>{Z8[G8]=!!e8,V8(h8)})},(X8)=>{if(X8)return e(X8);var G8=[];for(var V8=0;V8<g.length;V8++)if(Z8[V8])G8.push(g[V8]);e(null,G8)})}function j66(L,g,U,e){var Z8=[];L(g,(X8,G8,V8)=>{U(X8,(h8,e8)=>{if(h8)return V8(h8);if(e8)Z8.push({index:G8,value:X8});V8(h8)})},(X8)=>{if(X8)return e(X8);e(null,Z8.sort((G8,V8)=>G8.index-V8.index).map((G8)=>G8.value))})}function I0(L,g,U,e){var Z8=f(g)?T66:j66;return Z8(L,g,v(U),e)}function G66(L,g,U){return I0(g8,L,g,U)}var x0=A(G66,3);function v66(L,g,U,e){return I0(r(g),L,U,e)}var b0=A(v66,4);function V66(L,g,U){return I0(f8,L,g,U)}var g0=A(V66,3);function A66(L,g){var U=p(g),e=v(GE(L));function Z8(X8){if(X8)return U(X8);if(X8===!1)return;e(Z8)}return Z8()}var wa=A(A66,2);function M66(L,g,U,e){var Z8=v(U);return u3(L,g,(X8,G8)=>{Z8(X8,(V8,h8)=>{if(V8)return G8(V8);return G8(V8,{key:h8,val:X8})})},(X8,G8)=>{var V8={},{hasOwnProperty:h8}=Object.prototype;for(var e8=0;e8<G8.length;e8++)if(G8[e8]){var{key:d6}=G8[e8],{val:W1}=G8[e8];if(h8.call(V8,d6))V8[d6].push(W1);else V8[d6]=[W1]}return e(X8,V8)})}var y0=A(M66,4);function Ta(L,g,U){return y0(L,1/0,g,U)}function ja(L,g,U){return y0(L,1,g,U)}var Ga=k8("log");function _66(L,g,U,e){e=S(e);var Z8={},X8=v(U);return r(g)(L,(G8,V8,h8)=>{X8(G8,V8,(e8,d6)=>{if(e8)return h8(e8);Z8[V8]=d6,h8(e8)})},(G8)=>e(G8,Z8))}var u0=A(_66,4);function va(L,g,U){return u0(L,1/0,g,U)}function Va(L,g,U){return u0(L,1,g,U)}function Aa(L,g=(U)=>U){var U=Object.create(null),e=Object.create(null),Z8=v(L),X8=q((G8,V8)=>{var h8=g(...G8);if(h8 in U)P(()=>V8(null,...U[h8]));else if(h8 in e)e[h8].push(V8);else e[h8]=[V8],Z8(...G8,(e8,...d6)=>{if(!e8)U[h8]=d6;var W1=e[h8];delete e[h8];for(var a6=0,m3=W1.length;a6<m3;a6++)W1[a6](e8,...d6)})});return X8.memo=U,X8.unmemoized=L,X8}var m0;if(z)m0=process.nextTick;else if(J)m0=setImmediate;else m0=W;var Ma=H(m0),vE=A((L,g,U)=>{var e=f(g)?[]:{};L(g,(Z8,X8,G8)=>{v(Z8)((V8,...h8)=>{if(h8.length<2)[h8]=h8;e[X8]=h8,G8(V8)})},(Z8)=>U(Z8,e))},3);function _a(L,g){return vE(g8,L,g)}function ka(L,g,U){return vE(r(g),L,U)}function VE(L,g){var U=v(L);return q8((e,Z8)=>{U(e[0],Z8)},g,1)}class fa{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(L){let g;while(L>0&&AE(this.heap[L],this.heap[g=Na(L)])){let U=this.heap[L];this.heap[L]=this.heap[g],this.heap[g]=U,L=g}}percDown(L){let g;while((g=k66(L))<this.heap.length){if(g+1<this.heap.length&&AE(this.heap[g+1],this.heap[g]))g=g+1;if(AE(this.heap[L],this.heap[g]))break;let U=this.heap[L];this.heap[L]=this.heap[g],this.heap[g]=U,L=g}}push(L){L.pushCount=++this.pushCount,this.heap.push(L),this.percUp(this.heap.length-1)}unshift(L){return this.heap.push(L)}shift(){let[L]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),L}toArray(){return[...this]}*[Symbol.iterator](){for(let L=0;L<this.heap.length;L++)yield this.heap[L].data}remove(L){let g=0;for(let U=0;U<this.heap.length;U++)if(!L(this.heap[U]))this.heap[g]=this.heap[U],g++;this.heap.splice(g);for(let U=Na(this.heap.length-1);U>=0;U--)this.percDown(U);return this}}function k66(L){return(L<<1)+1}function Na(L){return(L+1>>1)-1}function AE(L,g){if(L.priority!==g.priority)return L.priority<g.priority;else return L.pushCount<g.pushCount}function Ra(L,g){var U=VE(L,g),{push:e,pushAsync:Z8}=U;U._tasks=new fa,U._createTaskItem=({data:G8,priority:V8},h8)=>{return{data:G8,priority:V8,callback:h8}};function X8(G8,V8){if(!Array.isArray(G8))return{data:G8,priority:V8};return G8.map((h8)=>{return{data:h8,priority:V8}})}return U.push=function(G8,V8=0,h8){return e(X8(G8,V8),h8)},U.pushAsync=function(G8,V8=0,h8){return Z8(X8(G8,V8),h8)},delete U.unshift,delete U.unshiftAsync,U}function f66(L,g){if(g=S(g),!Array.isArray(L))return g(new TypeError("First argument to race must be an array of functions"));if(!L.length)return g();for(var U=0,e=L.length;U<e;U++)v(L[U])(g)}var Ca=A(f66,2);function B0(L,g,U,e){var Z8=[...L].reverse();return T6(Z8,g,U,e)}function U0(L){var g=v(L);return q(function U(e,Z8){return e.push((X8,...G8)=>{let V8={};if(X8)V8.error=X8;if(G8.length>0){var h8=G8;if(G8.length<=1)[h8]=G8;V8.value=h8}Z8(null,V8)}),g.apply(this,e)})}function Da(L){var g;if(Array.isArray(L))g=L.map(U0);else g={},Object.keys(L).forEach((U)=>{g[U]=U0.call(this,L[U])});return g}function ME(L,g,U,e){let Z8=v(U);return I0(L,g,(X8,G8)=>{Z8(X8,(V8,h8)=>{G8(V8,!h8)})},e)}function N66(L,g,U){return ME(g8,L,g,U)}var ha=A(N66,3);function R66(L,g,U,e){return ME(r(g),L,U,e)}var Ea=A(R66,4);function C66(L,g,U){return ME(f8,L,g,U)}var Sa=A(C66,3);function La(L){return function(){return L}}let _E=5,Ia=0;function c0(L,g,U){var e={times:_E,intervalFunc:La(Ia)};if(arguments.length<3&&typeof L==="function")U=g||z1(),g=L;else D66(e,L),U=U||z1();if(typeof g!=="function")throw new Error("Invalid arguments for async.retry");var Z8=v(g),X8=1;function G8(){Z8((V8,...h8)=>{if(V8===!1)return;if(V8&&X8++<e.times&&(typeof e.errorFilter!="function"||e.errorFilter(V8)))setTimeout(G8,e.intervalFunc(X8-1));else U(V8,...h8)})}return G8(),U[Y6]}function D66(L,g){if(typeof g==="object")L.times=+g.times||_E,L.intervalFunc=typeof g.interval==="function"?g.interval:La(+g.interval||Ia),L.errorFilter=g.errorFilter;else if(typeof g==="number"||typeof g==="string")L.times=+g||_E;else throw new Error("Invalid arguments for async.retry")}function xa(L,g){if(!g)g=L,L=null;let U=L&&L.arity||g.length;if(T(g))U+=1;var e=v(g);return q((Z8,X8)=>{if(Z8.length<U-1||X8==null)Z8.push(X8),X8=z1();function G8(V8){e(...Z8,V8)}if(L)c0(L,G8,X8);else c0(G8,X8);return X8[Y6]})}function ba(L,g){return vE(f8,L,g)}function h66(L,g,U){return i(Boolean,(e)=>e)(g8,L,g,U)}var p0=A(h66,3);function E66(L,g,U,e){return i(Boolean,(Z8)=>Z8)(r(g),L,U,e)}var F0=A(E66,4);function S66(L,g,U){return i(Boolean,(e)=>e)(f8,L,g,U)}var Q0=A(S66,3);function L66(L,g,U){var e=v(g);return z8(L,(X8,G8)=>{e(X8,(V8,h8)=>{if(V8)return G8(V8);G8(V8,{value:X8,criteria:h8})})},(X8,G8)=>{if(X8)return U(X8);U(null,G8.sort(Z8).map((V8)=>V8.value))});function Z8(X8,G8){var V8=X8.criteria,h8=G8.criteria;return V8<h8?-1:V8>h8?1:0}}var ga=A(L66,3);function ya(L,g,U){var e=v(L);return q((Z8,X8)=>{var G8=!1,V8;function h8(){var e8=L.name||"anonymous",d6=new Error('Callback function "'+e8+'" timed out.');if(d6.code="ETIMEDOUT",U)d6.info=U;G8=!0,X8(d6)}Z8.push((...e8)=>{if(!G8)X8(...e8),clearTimeout(V8)}),V8=setTimeout(h8,g),e(...Z8)})}function I66(L){var g=Array(L);while(L--)g[L]=L;return g}function l0(L,g,U,e){var Z8=v(U);return u3(I66(L),g,Z8,e)}function ua(L,g,U){return l0(L,1/0,g,U)}function ma(L,g,U){return l0(L,1,g,U)}function Ba(L,g,U,e){if(arguments.length<=3&&typeof g==="function")e=U,U=g,g=Array.isArray(L)?[]:{};e=S(e||z1());var Z8=v(U);return g8(L,(X8,G8,V8)=>{Z8(g,X8,G8,V8)},(X8)=>e(X8,g)),e[Y6]}function x66(L,g){var U=null,e;return _X(L,(Z8,X8)=>{v(Z8)((G8,...V8)=>{if(G8===!1)return X8(G8);if(V8.length<2)[e]=V8;else e=V8;U=G8,X8(G8?null:{})})},()=>g(U,e))}var Ua=A(x66);function ca(L){return(...g)=>{return(L.unmemoized||L)(...g)}}function b66(L,g,U){U=p(U);var e=v(g),Z8=v(L),X8=[];function G8(h8,...e8){if(h8)return U(h8);if(X8=e8,h8===!1)return;Z8(V8)}function V8(h8,e8){if(h8)return U(h8);if(h8===!1)return;if(!e8)return U(null,...X8);e(G8)}return Z8(V8)}var kX=A(b66,3);function pa(L,g,U){let e=v(L);return kX((Z8)=>e((X8,G8)=>Z8(X8,!G8)),g,U)}function g66(L,g){if(g=S(g),!Array.isArray(L))return g(new Error("First argument to waterfall must be an array of functions"));if(!L.length)return g();var U=0;function e(X8){var G8=v(L[U++]);G8(...X8,p(Z8))}function Z8(X8,...G8){if(X8===!1)return;if(X8||U===L.length)return g(X8,...G8);e(G8)}e([])}var Fa=A(g66),y66={apply:K,applyEach:v8,applyEachSeries:t8,asyncify:O,auto:C1,autoInject:J8,cargo:W8,cargoQueue:j8,compose:E$,concat:x,concatLimit:D8,concatSeries:B,constant:t,detect:y,detectLimit:F,detectSeries:T8,dir:u8,doUntil:O6,doWhilst:l8,each:j7,eachLimit:sq,eachOf:g8,eachOfLimit:O8,eachOfSeries:f8,eachSeries:_X,ensureAsync:GE,every:E0,everyLimit:S0,everySeries:L0,filter:x0,filterLimit:b0,filterSeries:g0,forever:wa,groupBy:Ta,groupByLimit:y0,groupBySeries:ja,log:Ga,map:z8,mapLimit:u3,mapSeries:m8,mapValues:va,mapValuesLimit:u0,mapValuesSeries:Va,memoize:Aa,nextTick:Ma,parallel:_a,parallelLimit:ka,priorityQueue:Ra,queue:VE,race:Ca,reduce:T6,reduceRight:B0,reflect:U0,reflectAll:Da,reject:ha,rejectLimit:Ea,rejectSeries:Sa,retry:c0,retryable:xa,seq:j6,series:ba,setImmediate:P,some:p0,someLimit:F0,someSeries:Q0,sortBy:ga,timeout:ya,times:ua,timesLimit:l0,timesSeries:ma,transform:Ba,tryEach:Ua,unmemoize:ca,until:pa,waterfall:Fa,whilst:kX,all:E0,allLimit:S0,allSeries:L0,any:p0,anyLimit:F0,anySeries:Q0,find:y,findLimit:F,findSeries:T8,flatMap:x,flatMapLimit:D8,flatMapSeries:B,forEach:j7,forEachSeries:_X,forEachLimit:sq,forEachOf:g8,forEachOfSeries:f8,forEachOfLimit:O8,inject:T6,foldl:T6,foldr:B0,select:x0,selectLimit:b0,selectSeries:g0,wrapSync:O,during:kX,doDuring:l8};$.all=E0,$.allLimit=S0,$.allSeries=L0,$.any=p0,$.anyLimit=F0,$.anySeries=Q0,$.apply=K,$.applyEach=v8,$.applyEachSeries=t8,$.asyncify=O,$.auto=C1,$.autoInject=J8,$.cargo=W8,$.cargoQueue=j8,$.compose=E$,$.concat=x,$.concatLimit=D8,$.concatSeries=B,$.constant=t,$.default=y66,$.detect=y,$.detectLimit=F,$.detectSeries=T8,$.dir=u8,$.doDuring=l8,$.doUntil=O6,$.doWhilst=l8,$.during=kX,$.each=j7,$.eachLimit=sq,$.eachOf=g8,$.eachOfLimit=O8,$.eachOfSeries=f8,$.eachSeries=_X,$.ensureAsync=GE,$.every=E0,$.everyLimit=S0,$.everySeries=L0,$.filter=x0,$.filterLimit=b0,$.filterSeries=g0,$.find=y,$.findLimit=F,$.findSeries=T8,$.flatMap=x,$.flatMapLimit=D8,$.flatMapSeries=B,$.foldl=T6,$.foldr=B0,$.forEach=j7,$.forEachLimit=sq,$.forEachOf=g8,$.forEachOfLimit=O8,$.forEachOfSeries=f8,$.forEachSeries=_X,$.forever=wa,$.groupBy=Ta,$.groupByLimit=y0,$.groupBySeries=ja,$.inject=T6,$.log=Ga,$.map=z8,$.mapLimit=u3,$.mapSeries=m8,$.mapValues=va,$.mapValuesLimit=u0,$.mapValuesSeries=Va,$.memoize=Aa,$.nextTick=Ma,$.parallel=_a,$.parallelLimit=ka,$.priorityQueue=Ra,$.queue=VE,$.race=Ca,$.reduce=T6,$.reduceRight=B0,$.reflect=U0,$.reflectAll=Da,$.reject=ha,$.rejectLimit=Ea,$.rejectSeries=Sa,$.retry=c0,$.retryable=xa,$.select=x0,$.selectLimit=b0,$.selectSeries=g0,$.seq=j6,$.series=ba,$.setImmediate=P,$.some=p0,$.someLimit=F0,$.someSeries=Q0,$.sortBy=ga,$.timeout=ya,$.times=ua,$.timesLimit=l0,$.timesSeries=ma,$.transform=Ba,$.tryEach=Ua,$.unmemoize=ca,$.until=pa,$.waterfall=Fa,$.whilst=kX,$.wrapSync=O,Object.defineProperty($,"__esModule",{value:!0})})});var bV8=V((c44,xV8)=>{var sY=o("constants"),Hx6=process.cwd,Ak=null,Zx6=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Ak)Ak=Hx6.call(process);return Ak};try{process.cwd()}catch($){}if(typeof process.chdir==="function"){if(Mk=process.chdir,process.chdir=function($){Ak=null,Mk.call(process,$)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,Mk)}var Mk;xV8.exports=Px6;function Px6($){if(sY.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))K($);if(!$.lutimes)q($);if($.chown=z($.chown),$.fchown=z($.fchown),$.lchown=z($.lchown),$.chmod=Y($.chmod),$.fchmod=Y($.fchmod),$.lchmod=Y($.lchmod),$.chownSync=W($.chownSync),$.fchownSync=W($.fchownSync),$.lchownSync=W($.lchownSync),$.chmodSync=J($.chmodSync),$.fchmodSync=J($.fchmodSync),$.lchmodSync=J($.lchmodSync),$.stat=H($.stat),$.fstat=H($.fstat),$.lstat=H($.lstat),$.statSync=Z($.statSync),$.fstatSync=Z($.fstatSync),$.lstatSync=Z($.lstatSync),$.chmod&&!$.lchmod)$.lchmod=function(O,X,w){if(w)process.nextTick(w)},$.lchmodSync=function(){};if($.chown&&!$.lchown)$.lchown=function(O,X,w,T){if(T)process.nextTick(T)},$.lchownSync=function(){};if(Zx6==="win32")$.rename=typeof $.rename!=="function"?$.rename:function(O){function X(w,T,G){var j=Date.now(),v=0;O(w,T,function A(R){if(R&&(R.code==="EACCES"||R.code==="EPERM"||R.code==="EBUSY")&&Date.now()-j<60000){if(setTimeout(function(){$.stat(T,function(k,f){if(k&&k.code==="ENOENT")O(w,T,A);else G(R)})},v),v<100)v+=10;return}if(G)G(R)})}if(Object.setPrototypeOf)Object.setPrototypeOf(X,O);return X}($.rename);$.read=typeof $.read!=="function"?$.read:function(O){function X(w,T,G,j,v,A){var R;if(A&&typeof A==="function"){var k=0;R=function(f,D,S){if(f&&f.code==="EAGAIN"&&k<10)return k++,O.call($,w,T,G,j,v,R);A.apply(this,arguments)}}return O.call($,w,T,G,j,v,R)}if(Object.setPrototypeOf)Object.setPrototypeOf(X,O);return X}($.read),$.readSync=typeof $.readSync!=="function"?$.readSync:function(O){return function(X,w,T,G,j){var v=0;while(!0)try{return O.call($,X,w,T,G,j)}catch(A){if(A.code==="EAGAIN"&&v<10){v++;continue}throw A}}}($.readSync);function K(O){O.lchmod=function(X,w,T){O.open(X,sY.O_WRONLY|sY.O_SYMLINK,w,function(G,j){if(G){if(T)T(G);return}O.fchmod(j,w,function(v){O.close(j,function(A){if(T)T(v||A)})})})},O.lchmodSync=function(X,w){var T=O.openSync(X,sY.O_WRONLY|sY.O_SYMLINK,w),G=!0,j;try{j=O.fchmodSync(T,w),G=!1}finally{if(G)try{O.closeSync(T)}catch(v){}else O.closeSync(T)}return j}}function q(O){if(sY.hasOwnProperty("O_SYMLINK")&&O.futimes)O.lutimes=function(X,w,T,G){O.open(X,sY.O_SYMLINK,function(j,v){if(j){if(G)G(j);return}O.futimes(v,w,T,function(A){O.close(v,function(R){if(G)G(A||R)})})})},O.lutimesSync=function(X,w,T){var G=O.openSync(X,sY.O_SYMLINK),j,v=!0;try{j=O.futimesSync(G,w,T),v=!1}finally{if(v)try{O.closeSync(G)}catch(A){}else O.closeSync(G)}return j};else if(O.futimes)O.lutimes=function(X,w,T,G){if(G)process.nextTick(G)},O.lutimesSync=function(){}}function Y(O){if(!O)return O;return function(X,w,T){return O.call($,X,w,function(G){if(P(G))G=null;if(T)T.apply(this,arguments)})}}function J(O){if(!O)return O;return function(X,w){try{return O.call($,X,w)}catch(T){if(!P(T))throw T}}}function z(O){if(!O)return O;return function(X,w,T,G){return O.call($,X,w,T,function(j){if(P(j))j=null;if(G)G.apply(this,arguments)})}}function W(O){if(!O)return O;return function(X,w,T){try{return O.call($,X,w,T)}catch(G){if(!P(G))throw G}}}function H(O){if(!O)return O;return function(X,w,T){if(typeof w==="function")T=w,w=null;function G(j,v){if(v){if(v.uid<0)v.uid+=4294967296;if(v.gid<0)v.gid+=4294967296}if(T)T.apply(this,arguments)}return w?O.call($,X,w,G):O.call($,X,G)}}function Z(O){if(!O)return O;return function(X,w){var T=w?O.call($,X,w):O.call($,X);if(T){if(T.uid<0)T.uid+=4294967296;if(T.gid<0)T.gid+=4294967296}return T}}function P(O){if(!O)return!0;if(O.code==="ENOSYS")return!0;var X=!process.getuid||process.getuid()!==0;if(X){if(O.code==="EINVAL"||O.code==="EPERM")return!0}return!1}}});var uV8=V((p44,yV8)=>{var gV8=o("stream").Stream;yV8.exports=Ox6;function Ox6($){return{ReadStream:K,WriteStream:q};function K(Y,J){if(!(this instanceof K))return new K(Y,J);gV8.call(this);var z=this;this.path=Y,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,J=J||{};var W=Object.keys(J);for(var H=0,Z=W.length;H<Z;H++){var P=W[H];this[P]=J[P]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){z._read()});return}$.open(this.path,this.flags,this.mode,function(O,X){if(O){z.emit("error",O),z.readable=!1;return}z.fd=X,z.emit("open",X),z._read()})}function q(Y,J){if(!(this instanceof q))return new q(Y,J);gV8.call(this),this.path=Y,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,J=J||{};var z=Object.keys(J);for(var W=0,H=z.length;W<H;W++){var Z=z[W];this[Z]=J[Z]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=$.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var BV8=V((F44,mV8)=>{mV8.exports=wx6;var Xx6=Object.getPrototypeOf||function($){return $.__proto__};function wx6($){if($===null||typeof $!=="object")return $;if($ instanceof Object)var K={__proto__:Xx6($)};else var K=Object.create(null);return Object.getOwnPropertyNames($).forEach(function(q){Object.defineProperty(K,q,Object.getOwnPropertyDescriptor($,q))}),K}});var um=V((Q44,ym)=>{var v4=o("fs"),Tx6=bV8(),jx6=uV8(),Gx6=BV8(),_k=o("util"),y$,fk;if(typeof Symbol==="function"&&typeof Symbol.for==="function")y$=Symbol.for("graceful-fs.queue"),fk=Symbol.for("graceful-fs.previous");else y$="___graceful-fs.queue",fk="___graceful-fs.previous";function vx6(){}function cV8($,K){Object.defineProperty($,y$,{get:function(){return K}})}var zz=vx6;if(_k.debuglog)zz=_k.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))zz=function(){var $=_k.format.apply(_k,arguments);$="GFS4: "+$.split(/\n/).join(`
|
|
414
414
|
GFS4: `),console.error($)};if(!v4[y$]){if(xm=global[y$]||[],cV8(v4,xm),v4.close=function($){function K(q,Y){return $.call(v4,q,function(J){if(!J)UV8();if(typeof Y==="function")Y.apply(this,arguments)})}return Object.defineProperty(K,fk,{value:$}),K}(v4.close),v4.closeSync=function($){function K(q){$.apply(v4,arguments),UV8()}return Object.defineProperty(K,fk,{value:$}),K}(v4.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){zz(v4[y$]),o("assert").equal(v4[y$].length,0)})}var xm;if(!global[y$])cV8(global,v4[y$]);ym.exports=bm(Gx6(v4));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!v4.__patched)ym.exports=bm(v4),v4.__patched=!0;function bm($){Tx6($),$.gracefulify=bm,$.createReadStream=D,$.createWriteStream=S;var K=$.readFile;$.readFile=q;function q(I,N,E){if(typeof N==="function")E=N,N=null;return p(I,N,E);function p(c,r,P8,O8){return K(c,r,function(R8){if(R8&&(R8.code==="EMFILE"||R8.code==="ENFILE"))iZ([p,[c,r,P8],R8,O8||Date.now(),Date.now()]);else if(typeof P8==="function")P8.apply(this,arguments)})}}var Y=$.writeFile;$.writeFile=J;function J(I,N,E,p){if(typeof E==="function")p=E,E=null;return c(I,N,E,p);function c(r,P8,O8,R8,I8){return Y(r,P8,O8,function(_8){if(_8&&(_8.code==="EMFILE"||_8.code==="ENFILE"))iZ([c,[r,P8,O8,R8],_8,I8||Date.now(),Date.now()]);else if(typeof R8==="function")R8.apply(this,arguments)})}}var z=$.appendFile;if(z)$.appendFile=W;function W(I,N,E,p){if(typeof E==="function")p=E,E=null;return c(I,N,E,p);function c(r,P8,O8,R8,I8){return z(r,P8,O8,function(_8){if(_8&&(_8.code==="EMFILE"||_8.code==="ENFILE"))iZ([c,[r,P8,O8,R8],_8,I8||Date.now(),Date.now()]);else if(typeof R8==="function")R8.apply(this,arguments)})}}var H=$.copyFile;if(H)$.copyFile=Z;function Z(I,N,E,p){if(typeof E==="function")p=E,E=0;return c(I,N,E,p);function c(r,P8,O8,R8,I8){return H(r,P8,O8,function(_8){if(_8&&(_8.code==="EMFILE"||_8.code==="ENFILE"))iZ([c,[r,P8,O8,R8],_8,I8||Date.now(),Date.now()]);else if(typeof R8==="function")R8.apply(this,arguments)})}}var P=$.readdir;$.readdir=X;var O=/^v[0-5]\./;function X(I,N,E){if(typeof N==="function")E=N,N=null;var p=O.test(process.version)?function r(P8,O8,R8,I8){return P(P8,c(P8,O8,R8,I8))}:function r(P8,O8,R8,I8){return P(P8,O8,c(P8,O8,R8,I8))};return p(I,N,E);function c(r,P8,O8,R8){return function(I8,_8){if(I8&&(I8.code==="EMFILE"||I8.code==="ENFILE"))iZ([p,[r,P8,O8],I8,R8||Date.now(),Date.now()]);else{if(_8&&_8.sort)_8.sort();if(typeof O8==="function")O8.call(this,I8,_8)}}}}if(process.version.substr(0,4)==="v0.8"){var w=jx6($);A=w.ReadStream,k=w.WriteStream}var T=$.ReadStream;if(T)A.prototype=Object.create(T.prototype),A.prototype.open=R;var G=$.WriteStream;if(G)k.prototype=Object.create(G.prototype),k.prototype.open=f;Object.defineProperty($,"ReadStream",{get:function(){return A},set:function(I){A=I},enumerable:!0,configurable:!0}),Object.defineProperty($,"WriteStream",{get:function(){return k},set:function(I){k=I},enumerable:!0,configurable:!0});var j=A;Object.defineProperty($,"FileReadStream",{get:function(){return j},set:function(I){j=I},enumerable:!0,configurable:!0});var v=k;Object.defineProperty($,"FileWriteStream",{get:function(){return v},set:function(I){v=I},enumerable:!0,configurable:!0});function A(I,N){if(this instanceof A)return T.apply(this,arguments),this;else return A.apply(Object.create(A.prototype),arguments)}function R(){var I=this;Q(I.path,I.flags,I.mode,function(N,E){if(N){if(I.autoClose)I.destroy();I.emit("error",N)}else I.fd=E,I.emit("open",E),I.read()})}function k(I,N){if(this instanceof k)return G.apply(this,arguments),this;else return k.apply(Object.create(k.prototype),arguments)}function f(){var I=this;Q(I.path,I.flags,I.mode,function(N,E){if(N)I.destroy(),I.emit("error",N);else I.fd=E,I.emit("open",E)})}function D(I,N){return new $.ReadStream(I,N)}function S(I,N){return new $.WriteStream(I,N)}var h=$.open;$.open=Q;function Q(I,N,E,p){if(typeof E==="function")p=E,E=null;return c(I,N,E,p);function c(r,P8,O8,R8,I8){return h(r,P8,O8,function(_8,g8){if(_8&&(_8.code==="EMFILE"||_8.code==="ENFILE"))iZ([c,[r,P8,O8,R8],_8,I8||Date.now(),Date.now()]);else if(typeof R8==="function")R8.apply(this,arguments)})}}return $}function iZ($){zz("ENQUEUE",$[0].name,$[1]),v4[y$].push($),gm()}var kk;function UV8(){var $=Date.now();for(var K=0;K<v4[y$].length;++K)if(v4[y$][K].length>2)v4[y$][K][3]=$,v4[y$][K][4]=$;gm()}function gm(){if(clearTimeout(kk),kk=void 0,v4[y$].length===0)return;var $=v4[y$].shift(),K=$[0],q=$[1],Y=$[2],J=$[3],z=$[4];if(J===void 0)zz("RETRY",K.name,q),K.apply(null,q);else if(Date.now()-J>=60000){zz("TIMEOUT",K.name,q);var W=q.pop();if(typeof W==="function")W.call(null,Y)}else{var H=Date.now()-z,Z=Math.max(z-J,1),P=Math.min(Z*1.2,100);if(H>=P)zz("RETRY",K.name,q),K.apply(null,q.concat([J]));else v4[y$].push($)}if(kk===void 0)kk=setTimeout(gm,0)}});var Nk=V((l44,pV8)=>{var r5=($)=>$!==null&&typeof $==="object"&&typeof $.pipe==="function";r5.writable=($)=>r5($)&&$.writable!==!1&&typeof $._write==="function"&&typeof $._writableState==="object";r5.readable=($)=>r5($)&&$.readable!==!1&&typeof $._read==="function"&&typeof $._readableState==="object";r5.duplex=($)=>r5.writable($)&&r5.readable($);r5.transform=($)=>r5.duplex($)&&typeof $._transform==="function";pV8.exports=r5});var hj=V((d44,mm)=>{if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0)mm.exports={nextTick:Vx6};else mm.exports=process;function Vx6($,K,q,Y){if(typeof $!=="function")throw new TypeError('"callback" argument must be a function');var J=arguments.length,z,W;switch(J){case 0:case 1:return process.nextTick($);case 2:return process.nextTick(function H(){$.call(null,K)});case 3:return process.nextTick(function H(){$.call(null,K,q)});case 4:return process.nextTick(function H(){$.call(null,K,q,Y)});default:z=new Array(J-1),W=0;while(W<z.length)z[W++]=arguments[W];return process.nextTick(function H(){$.apply(null,z)})}}});var QV8=V((i44,FV8)=>{var Ax6={}.toString;FV8.exports=Array.isArray||function($){return Ax6.call($)=="[object Array]"}});var Ej=V((Bm,dV8)=>{var Rk=o("buffer"),Pq=Rk.Buffer;function lV8($,K){for(var q in $)K[q]=$[q]}if(Pq.from&&Pq.alloc&&Pq.allocUnsafe&&Pq.allocUnsafeSlow)dV8.exports=Rk;else lV8(Rk,Bm),Bm.Buffer=nZ;function nZ($,K,q){return Pq($,K,q)}lV8(Pq,nZ);nZ.from=function($,K,q){if(typeof $==="number")throw new TypeError("Argument must not be a number");return Pq($,K,q)};nZ.alloc=function($,K,q){if(typeof $!=="number")throw new TypeError("Argument must be a number");var Y=Pq($);if(K!==void 0)if(typeof q==="string")Y.fill(K,q);else Y.fill(K);else Y.fill(0);return Y};nZ.allocUnsafe=function($){if(typeof $!=="number")throw new TypeError("Argument must be a number");return Pq($)};nZ.allocUnsafeSlow=function($){if(typeof $!=="number")throw new TypeError("Argument must be a number");return Rk.SlowBuffer($)}});var oZ=V((bx6)=>{function Mx6($){if(Array.isArray)return Array.isArray($);return Ck($)==="[object Array]"}bx6.isArray=Mx6;function _x6($){return typeof $==="boolean"}bx6.isBoolean=_x6;function kx6($){return $===null}bx6.isNull=kx6;function fx6($){return $==null}bx6.isNullOrUndefined=fx6;function Nx6($){return typeof $==="number"}bx6.isNumber=Nx6;function Rx6($){return typeof $==="string"}bx6.isString=Rx6;function Cx6($){return typeof $==="symbol"}bx6.isSymbol=Cx6;function Dx6($){return $===void 0}bx6.isUndefined=Dx6;function hx6($){return Ck($)==="[object RegExp]"}bx6.isRegExp=hx6;function Ex6($){return typeof $==="object"&&$!==null}bx6.isObject=Ex6;function Sx6($){return Ck($)==="[object Date]"}bx6.isDate=Sx6;function Lx6($){return Ck($)==="[object Error]"||$ instanceof Error}bx6.isError=Lx6;function Ix6($){return typeof $==="function"}bx6.isFunction=Ix6;function xx6($){return $===null||typeof $==="boolean"||typeof $==="number"||typeof $==="string"||typeof $==="symbol"||typeof $==="undefined"}bx6.isPrimitive=xx6;bx6.isBuffer=o("buffer").Buffer.isBuffer;function Ck($){return Object.prototype.toString.call($)}});var nV8=V((o44,Um)=>{function ax6($,K){if(!($ instanceof K))throw new TypeError("Cannot call a class as a function")}var iV8=Ej().Buffer,Sj=o("util");function rx6($,K,q){$.copy(K,q)}Um.exports=function(){function $(){ax6(this,$),this.head=null,this.tail=null,this.length=0}return $.prototype.push=function K(q){var Y={data:q,next:null};if(this.length>0)this.tail.next=Y;else this.head=Y;this.tail=Y,++this.length},$.prototype.unshift=function K(q){var Y={data:q,next:this.head};if(this.length===0)this.tail=Y;this.head=Y,++this.length},$.prototype.shift=function K(){if(this.length===0)return;var q=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,q},$.prototype.clear=function K(){this.head=this.tail=null,this.length=0},$.prototype.join=function K(q){if(this.length===0)return"";var Y=this.head,J=""+Y.data;while(Y=Y.next)J+=q+Y.data;return J},$.prototype.concat=function K(q){if(this.length===0)return iV8.alloc(0);var Y=iV8.allocUnsafe(q>>>0),J=this.head,z=0;while(J)rx6(J.data,Y,z),z+=J.data.length,J=J.next;return Y},$}();if(Sj&&Sj.inspect&&Sj.inspect.custom)Um.exports.prototype[Sj.inspect.custom]=function(){var $=Sj.inspect({length:this.length});return this.constructor.name+" "+$}});var cm=V((a44,oV8)=>{var Dk=hj();function sx6($,K){var q=this,Y=this._readableState&&this._readableState.destroyed,J=this._writableState&&this._writableState.destroyed;if(Y||J){if(K)K($);else if($){if(!this._writableState)Dk.nextTick(hk,this,$);else if(!this._writableState.errorEmitted)this._writableState.errorEmitted=!0,Dk.nextTick(hk,this,$)}return this}if(this._readableState)this._readableState.destroyed=!0;if(this._writableState)this._writableState.destroyed=!0;return this._destroy($||null,function(z){if(!K&&z){if(!q._writableState)Dk.nextTick(hk,q,z);else if(!q._writableState.errorEmitted)q._writableState.errorEmitted=!0,Dk.nextTick(hk,q,z)}else if(K)K(z)}),this}function tx6(){if(this._readableState)this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1;if(this._writableState)this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1}function hk($,K){$.emit("error",K)}oV8.exports={destroy:sx6,undestroy:tx6}});var pm=V((r44,aV8)=>{aV8.exports=o("util").deprecate});var Qm=V((s44,YA8)=>{var Wz=hj();YA8.exports=i4;function sV8($){var K=this;this.next=null,this.entry=null,this.finish=function(){vb6(K,$)}}var ex6=["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:Wz.nextTick,aZ;i4.WritableState=Ij;var tV8=Object.create(oZ());tV8.inherits=F7();var $b6={deprecate:pm()},eV8=o("stream"),Sk=Ej().Buffer,Kb6=(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:{}).Uint8Array||function(){};function qb6($){return Sk.from($)}function Yb6($){return Sk.isBuffer($)||$ instanceof Kb6}var $A8=cm();tV8.inherits(i4,eV8);function Jb6(){}function Ij($,K){aZ=aZ||Hz(),$=$||{};var q=K instanceof aZ;if(this.objectMode=!!$.objectMode,q)this.objectMode=this.objectMode||!!$.writableObjectMode;var{highWaterMark:Y,writableHighWaterMark:J}=$,z=this.objectMode?16:16384;if(Y||Y===0)this.highWaterMark=Y;else if(q&&(J||J===0))this.highWaterMark=J;else this.highWaterMark=z;this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var W=$.decodeStrings===!1;this.decodeStrings=!W,this.defaultEncoding=$.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(H){Xb6(K,H)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new sV8(this)}Ij.prototype.getBuffer=function $(){var K=this.bufferedRequest,q=[];while(K)q.push(K),K=K.next;return q};(function(){try{Object.defineProperty(Ij.prototype,"buffer",{get:$b6.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch($){}})();var Ek;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function")Ek=Function.prototype[Symbol.hasInstance],Object.defineProperty(i4,Symbol.hasInstance,{value:function($){if(Ek.call(this,$))return!0;if(this!==i4)return!1;return $&&$._writableState instanceof Ij}});else Ek=function($){return $ instanceof this};function i4($){if(aZ=aZ||Hz(),!Ek.call(i4,this)&&!(this instanceof aZ))return new i4($);if(this._writableState=new Ij($,this),this.writable=!0,$){if(typeof $.write==="function")this._write=$.write;if(typeof $.writev==="function")this._writev=$.writev;if(typeof $.destroy==="function")this._destroy=$.destroy;if(typeof $.final==="function")this._final=$.final}eV8.call(this)}i4.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function zb6($,K){var q=new Error("write after end");$.emit("error",q),Wz.nextTick(K,q)}function Wb6($,K,q,Y){var J=!0,z=!1;if(q===null)z=new TypeError("May not write null values to stream");else if(typeof q!=="string"&&q!==void 0&&!K.objectMode)z=new TypeError("Invalid non-string/buffer chunk");if(z)$.emit("error",z),Wz.nextTick(Y,z),J=!1;return J}i4.prototype.write=function($,K,q){var Y=this._writableState,J=!1,z=!Y.objectMode&&Yb6($);if(z&&!Sk.isBuffer($))$=qb6($);if(typeof K==="function")q=K,K=null;if(z)K="buffer";else if(!K)K=Y.defaultEncoding;if(typeof q!=="function")q=Jb6;if(Y.ended)zb6(this,q);else if(z||Wb6(this,Y,$,q))Y.pendingcb++,J=Zb6(this,Y,z,$,K,q);return J};i4.prototype.cork=function(){var $=this._writableState;$.corked++};i4.prototype.uncork=function(){var $=this._writableState;if($.corked){if($.corked--,!$.writing&&!$.corked&&!$.bufferProcessing&&$.bufferedRequest)KA8(this,$)}};i4.prototype.setDefaultEncoding=function $(K){if(typeof K==="string")K=K.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((K+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+K);return this._writableState.defaultEncoding=K,this};function Hb6($,K,q){if(!$.objectMode&&$.decodeStrings!==!1&&typeof K==="string")K=Sk.from(K,q);return K}Object.defineProperty(i4.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Zb6($,K,q,Y,J,z){if(!q){var W=Hb6(K,Y,J);if(Y!==W)q=!0,J="buffer",Y=W}var H=K.objectMode?1:Y.length;K.length+=H;var Z=K.length<K.highWaterMark;if(!Z)K.needDrain=!0;if(K.writing||K.corked){var P=K.lastBufferedRequest;if(K.lastBufferedRequest={chunk:Y,encoding:J,isBuf:q,callback:z,next:null},P)P.next=K.lastBufferedRequest;else K.bufferedRequest=K.lastBufferedRequest;K.bufferedRequestCount+=1}else Fm($,K,!1,H,Y,J,z);return Z}function Fm($,K,q,Y,J,z,W){if(K.writelen=Y,K.writecb=W,K.writing=!0,K.sync=!0,q)$._writev(J,K.onwrite);else $._write(J,z,K.onwrite);K.sync=!1}function Pb6($,K,q,Y,J){if(--K.pendingcb,q)Wz.nextTick(J,Y),Wz.nextTick(Lj,$,K),$._writableState.errorEmitted=!0,$.emit("error",Y);else J(Y),$._writableState.errorEmitted=!0,$.emit("error",Y),Lj($,K)}function Ob6($){$.writing=!1,$.writecb=null,$.length-=$.writelen,$.writelen=0}function Xb6($,K){var q=$._writableState,Y=q.sync,J=q.writecb;if(Ob6(q),K)Pb6($,q,Y,K,J);else{var z=qA8(q);if(!z&&!q.corked&&!q.bufferProcessing&&q.bufferedRequest)KA8($,q);if(Y)ex6(rV8,$,q,z,J);else rV8($,q,z,J)}}function rV8($,K,q,Y){if(!q)wb6($,K);K.pendingcb--,Y(),Lj($,K)}function wb6($,K){if(K.length===0&&K.needDrain)K.needDrain=!1,$.emit("drain")}function KA8($,K){K.bufferProcessing=!0;var q=K.bufferedRequest;if($._writev&&q&&q.next){var Y=K.bufferedRequestCount,J=new Array(Y),z=K.corkedRequestsFree;z.entry=q;var W=0,H=!0;while(q){if(J[W]=q,!q.isBuf)H=!1;q=q.next,W+=1}if(J.allBuffers=H,Fm($,K,!0,K.length,J,"",z.finish),K.pendingcb++,K.lastBufferedRequest=null,z.next)K.corkedRequestsFree=z.next,z.next=null;else K.corkedRequestsFree=new sV8(K);K.bufferedRequestCount=0}else{while(q){var{chunk:Z,encoding:P,callback:O}=q,X=K.objectMode?1:Z.length;if(Fm($,K,!1,X,Z,P,O),q=q.next,K.bufferedRequestCount--,K.writing)break}if(q===null)K.lastBufferedRequest=null}K.bufferedRequest=q,K.bufferProcessing=!1}i4.prototype._write=function($,K,q){q(new Error("_write() is not implemented"))};i4.prototype._writev=null;i4.prototype.end=function($,K,q){var Y=this._writableState;if(typeof $==="function")q=$,$=null,K=null;else if(typeof K==="function")q=K,K=null;if($!==null&&$!==void 0)this.write($,K);if(Y.corked)Y.corked=1,this.uncork();if(!Y.ending)Gb6(this,Y,q)};function qA8($){return $.ending&&$.length===0&&$.bufferedRequest===null&&!$.finished&&!$.writing}function Tb6($,K){$._final(function(q){if(K.pendingcb--,q)$.emit("error",q);K.prefinished=!0,$.emit("prefinish"),Lj($,K)})}function jb6($,K){if(!K.prefinished&&!K.finalCalled)if(typeof $._final==="function")K.pendingcb++,K.finalCalled=!0,Wz.nextTick(Tb6,$,K);else K.prefinished=!0,$.emit("prefinish")}function Lj($,K){var q=qA8(K);if(q){if(jb6($,K),K.pendingcb===0)K.finished=!0,$.emit("finish")}return q}function Gb6($,K,q){if(K.ending=!0,Lj($,K),q)if(K.finished)Wz.nextTick(q);else $.once("finish",q);K.ended=!0,$.writable=!1}function vb6($,K,q){var Y=$.entry;$.entry=null;while(Y){var J=Y.callback;K.pendingcb--,J(q),Y=Y.next}K.corkedRequestsFree.next=$}Object.defineProperty(i4.prototype,"destroyed",{get:function(){if(this._writableState===void 0)return!1;return this._writableState.destroyed},set:function($){if(!this._writableState)return;this._writableState.destroyed=$}});i4.prototype.destroy=$A8.destroy;i4.prototype._undestroy=$A8.undestroy;i4.prototype._destroy=function($,K){this.end(),K($)}});var Hz=V((t44,HA8)=>{var JA8=hj(),Vb6=Object.keys||function($){var K=[];for(var q in $)K.push(q);return K};HA8.exports=Oq;var zA8=Object.create(oZ());zA8.inherits=F7();var WA8=dm(),lm=Qm();zA8.inherits(Oq,WA8);{Lk=Vb6(lm.prototype);for(xj=0;xj<Lk.length;xj++)if(bj=Lk[xj],!Oq.prototype[bj])Oq.prototype[bj]=lm.prototype[bj]}var Lk,bj,xj;function Oq($){if(!(this instanceof Oq))return new Oq($);if(WA8.call(this,$),lm.call(this,$),$&&$.readable===!1)this.readable=!1;if($&&$.writable===!1)this.writable=!1;if(this.allowHalfOpen=!0,$&&$.allowHalfOpen===!1)this.allowHalfOpen=!1;this.once("end",Ab6)}Object.defineProperty(Oq.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Ab6(){if(this.allowHalfOpen||this._writableState.ended)return;JA8.nextTick(Mb6,this)}function Mb6($){$.end()}Object.defineProperty(Oq.prototype,"destroyed",{get:function(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set:function($){if(this._readableState===void 0||this._writableState===void 0)return;this._readableState.destroyed=$,this._writableState.destroyed=$}});Oq.prototype._destroy=function($,K){this.push(null),this.end(),JA8.nextTick(K,$)}});var om=V((bb6)=>{var nm=Ej().Buffer,ZA8=nm.isEncoding||function($){switch($=""+$,$&&$.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _b6($){if(!$)return"utf8";var K;while(!0)switch($){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return $;default:if(K)return;$=(""+$).toLowerCase(),K=!0}}function kb6($){var K=_b6($);if(typeof K!=="string"&&(nm.isEncoding===ZA8||!ZA8($)))throw new Error("Unknown encoding: "+$);return K||$}bb6.StringDecoder=gj;function gj($){this.encoding=kb6($);var K;switch(this.encoding){case"utf16le":this.text=hb6,this.end=Eb6,K=4;break;case"utf8":this.fillLast=Rb6,K=4;break;case"base64":this.text=Sb6,this.end=Lb6,K=3;break;default:this.write=Ib6,this.end=xb6;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=nm.allocUnsafe(K)}gj.prototype.write=function($){if($.length===0)return"";var K,q;if(this.lastNeed){if(K=this.fillLast($),K===void 0)return"";q=this.lastNeed,this.lastNeed=0}else q=0;if(q<$.length)return K?K+this.text($,q):this.text($,q);return K||""};gj.prototype.end=Db6;gj.prototype.text=Cb6;gj.prototype.fillLast=function($){if(this.lastNeed<=$.length)return $.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);$.copy(this.lastChar,this.lastTotal-this.lastNeed,0,$.length),this.lastNeed-=$.length};function im($){if($<=127)return 0;else if($>>5===6)return 2;else if($>>4===14)return 3;else if($>>3===30)return 4;return $>>6===2?-1:-2}function fb6($,K,q){var Y=K.length-1;if(Y<q)return 0;var J=im(K[Y]);if(J>=0){if(J>0)$.lastNeed=J-1;return J}if(--Y<q||J===-2)return 0;if(J=im(K[Y]),J>=0){if(J>0)$.lastNeed=J-2;return J}if(--Y<q||J===-2)return 0;if(J=im(K[Y]),J>=0){if(J>0)if(J===2)J=0;else $.lastNeed=J-3;return J}return 0}function Nb6($,K,q){if((K[0]&192)!==128)return $.lastNeed=0,"�";if($.lastNeed>1&&K.length>1){if((K[1]&192)!==128)return $.lastNeed=1,"�";if($.lastNeed>2&&K.length>2){if((K[2]&192)!==128)return $.lastNeed=2,"�"}}}function Rb6($){var K=this.lastTotal-this.lastNeed,q=Nb6(this,$,K);if(q!==void 0)return q;if(this.lastNeed<=$.length)return $.copy(this.lastChar,K,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);$.copy(this.lastChar,K,0,$.length),this.lastNeed-=$.length}function Cb6($,K){var q=fb6(this,$,K);if(!this.lastNeed)return $.toString("utf8",K);this.lastTotal=q;var Y=$.length-(q-this.lastNeed);return $.copy(this.lastChar,0,Y),$.toString("utf8",K,Y)}function Db6($){var K=$&&$.length?this.write($):"";if(this.lastNeed)return K+"�";return K}function hb6($,K){if(($.length-K)%2===0){var q=$.toString("utf16le",K);if(q){var Y=q.charCodeAt(q.length-1);if(Y>=55296&&Y<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=$[$.length-2],this.lastChar[1]=$[$.length-1],q.slice(0,-1)}return q}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=$[$.length-1],$.toString("utf16le",K,$.length-1)}function Eb6($){var K=$&&$.length?this.write($):"";if(this.lastNeed){var q=this.lastTotal-this.lastNeed;return K+this.lastChar.toString("utf16le",0,q)}return K}function Sb6($,K){var q=($.length-K)%3;if(q===0)return $.toString("base64",K);if(this.lastNeed=3-q,this.lastTotal=3,q===1)this.lastChar[0]=$[$.length-1];else this.lastChar[0]=$[$.length-2],this.lastChar[1]=$[$.length-1];return $.toString("base64",K,$.length-q)}function Lb6($){var K=$&&$.length?this.write($):"";if(this.lastNeed)return K+this.lastChar.toString("base64",0,3-this.lastNeed);return K}function Ib6($){return $.toString(this.encoding)}function xb6($){return $&&$.length?this.write($):""}});var dm=V((K$4,_A8)=>{var sZ=hj();_A8.exports=i1;var yb6=QV8(),yj;i1.ReadableState=GA8;var $$4=o("events").EventEmitter,wA8=function($,K){return $.listeners(K).length},em=o("stream"),uj=Ej().Buffer,ub6=(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:{}).Uint8Array||function(){};function mb6($){return uj.from($)}function Bb6($){return uj.isBuffer($)||$ instanceof ub6}var TA8=Object.create(oZ());TA8.inherits=F7();var am=o("util"),T1=void 0;if(am&&am.debuglog)T1=am.debuglog("stream");else T1=function(){};var Ub6=nV8(),jA8=cm(),rZ;TA8.inherits(i1,em);var rm=["error","close","destroy","pause","resume"];function cb6($,K,q){if(typeof $.prependListener==="function")return $.prependListener(K,q);if(!$._events||!$._events[K])$.on(K,q);else if(yb6($._events[K]))$._events[K].unshift(q);else $._events[K]=[q,$._events[K]]}function GA8($,K){yj=yj||Hz(),$=$||{};var q=K instanceof yj;if(this.objectMode=!!$.objectMode,q)this.objectMode=this.objectMode||!!$.readableObjectMode;var{highWaterMark:Y,readableHighWaterMark:J}=$,z=this.objectMode?16:16384;if(Y||Y===0)this.highWaterMark=Y;else if(q&&(J||J===0))this.highWaterMark=J;else this.highWaterMark=z;if(this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new Ub6,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=$.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,$.encoding){if(!rZ)rZ=om().StringDecoder;this.decoder=new rZ($.encoding),this.encoding=$.encoding}}function i1($){if(yj=yj||Hz(),!(this instanceof i1))return new i1($);if(this._readableState=new GA8($,this),this.readable=!0,$){if(typeof $.read==="function")this._read=$.read;if(typeof $.destroy==="function")this._destroy=$.destroy}em.call(this)}Object.defineProperty(i1.prototype,"destroyed",{get:function(){if(this._readableState===void 0)return!1;return this._readableState.destroyed},set:function($){if(!this._readableState)return;this._readableState.destroyed=$}});i1.prototype.destroy=jA8.destroy;i1.prototype._undestroy=jA8.undestroy;i1.prototype._destroy=function($,K){this.push(null),K($)};i1.prototype.push=function($,K){var q=this._readableState,Y;if(!q.objectMode){if(typeof $==="string"){if(K=K||q.defaultEncoding,K!==q.encoding)$=uj.from($,K),K="";Y=!0}}else Y=!0;return vA8(this,$,K,!1,Y)};i1.prototype.unshift=function($){return vA8(this,$,null,!0,!1)};function vA8($,K,q,Y,J){var z=$._readableState;if(K===null)z.reading=!1,lb6($,z);else{var W;if(!J)W=pb6(z,K);if(W)$.emit("error",W);else if(z.objectMode||K&&K.length>0){if(typeof K!=="string"&&!z.objectMode&&Object.getPrototypeOf(K)!==uj.prototype)K=mb6(K);if(Y)if(z.endEmitted)$.emit("error",new Error("stream.unshift() after end event"));else sm($,z,K,!0);else if(z.ended)$.emit("error",new Error("stream.push() after EOF"));else if(z.reading=!1,z.decoder&&!q)if(K=z.decoder.write(K),z.objectMode||K.length!==0)sm($,z,K,!1);else VA8($,z);else sm($,z,K,!1)}else if(!Y)z.reading=!1}return Fb6(z)}function sm($,K,q,Y){if(K.flowing&&K.length===0&&!K.sync)$.emit("data",q),$.read(0);else{if(K.length+=K.objectMode?1:q.length,Y)K.buffer.unshift(q);else K.buffer.push(q);if(K.needReadable)Ik($)}VA8($,K)}function pb6($,K){var q;if(!Bb6(K)&&typeof K!=="string"&&K!==void 0&&!$.objectMode)q=new TypeError("Invalid non-string/buffer chunk");return q}function Fb6($){return!$.ended&&($.needReadable||$.length<$.highWaterMark||$.length===0)}i1.prototype.isPaused=function(){return this._readableState.flowing===!1};i1.prototype.setEncoding=function($){if(!rZ)rZ=om().StringDecoder;return this._readableState.decoder=new rZ($),this._readableState.encoding=$,this};var PA8=8388608;function Qb6($){if($>=PA8)$=PA8;else $--,$|=$>>>1,$|=$>>>2,$|=$>>>4,$|=$>>>8,$|=$>>>16,$++;return $}function OA8($,K){if($<=0||K.length===0&&K.ended)return 0;if(K.objectMode)return 1;if($!==$)if(K.flowing&&K.length)return K.buffer.head.data.length;else return K.length;if($>K.highWaterMark)K.highWaterMark=Qb6($);if($<=K.length)return $;if(!K.ended)return K.needReadable=!0,0;return K.length}i1.prototype.read=function($){T1("read",$),$=parseInt($,10);var K=this._readableState,q=$;if($!==0)K.emittedReadable=!1;if($===0&&K.needReadable&&(K.length>=K.highWaterMark||K.ended)){if(T1("read: emitReadable",K.length,K.ended),K.length===0&&K.ended)tm(this);else Ik(this);return null}if($=OA8($,K),$===0&&K.ended){if(K.length===0)tm(this);return null}var Y=K.needReadable;if(T1("need readable",Y),K.length===0||K.length-$<K.highWaterMark)Y=!0,T1("length less than watermark",Y);if(K.ended||K.reading)Y=!1,T1("reading or ended",Y);else if(Y){if(T1("do read"),K.reading=!0,K.sync=!0,K.length===0)K.needReadable=!0;if(this._read(K.highWaterMark),K.sync=!1,!K.reading)$=OA8(q,K)}var J;if($>0)J=AA8($,K);else J=null;if(J===null)K.needReadable=!0,$=0;else K.length-=$;if(K.length===0){if(!K.ended)K.needReadable=!0;if(q!==$&&K.ended)tm(this)}if(J!==null)this.emit("data",J);return J};function lb6($,K){if(K.ended)return;if(K.decoder){var q=K.decoder.end();if(q&&q.length)K.buffer.push(q),K.length+=K.objectMode?1:q.length}K.ended=!0,Ik($)}function Ik($){var K=$._readableState;if(K.needReadable=!1,!K.emittedReadable)if(T1("emitReadable",K.flowing),K.emittedReadable=!0,K.sync)sZ.nextTick(XA8,$);else XA8($)}function XA8($){T1("emit readable"),$.emit("readable"),$B($)}function VA8($,K){if(!K.readingMore)K.readingMore=!0,sZ.nextTick(db6,$,K)}function db6($,K){var q=K.length;while(!K.reading&&!K.flowing&&!K.ended&&K.length<K.highWaterMark)if(T1("maybeReadMore read 0"),$.read(0),q===K.length)break;else q=K.length;K.readingMore=!1}i1.prototype._read=function($){this.emit("error",new Error("_read() is not implemented"))};i1.prototype.pipe=function($,K){var q=this,Y=this._readableState;switch(Y.pipesCount){case 0:Y.pipes=$;break;case 1:Y.pipes=[Y.pipes,$];break;default:Y.pipes.push($);break}Y.pipesCount+=1,T1("pipe count=%d opts=%j",Y.pipesCount,K);var J=(!K||K.end!==!1)&&$!==process.stdout&&$!==process.stderr,z=J?H:v;if(Y.endEmitted)sZ.nextTick(z);else q.once("end",z);$.on("unpipe",W);function W(A,R){if(T1("onunpipe"),A===q){if(R&&R.hasUnpiped===!1)R.hasUnpiped=!0,O()}}function H(){T1("onend"),$.end()}var Z=ib6(q);$.on("drain",Z);var P=!1;function O(){if(T1("cleanup"),$.removeListener("close",G),$.removeListener("finish",j),$.removeListener("drain",Z),$.removeListener("error",T),$.removeListener("unpipe",W),q.removeListener("end",H),q.removeListener("end",v),q.removeListener("data",w),P=!0,Y.awaitDrain&&(!$._writableState||$._writableState.needDrain))Z()}var X=!1;q.on("data",w);function w(A){T1("ondata"),X=!1;var R=$.write(A);if(R===!1&&!X){if((Y.pipesCount===1&&Y.pipes===$||Y.pipesCount>1&&MA8(Y.pipes,$)!==-1)&&!P)T1("false write response, pause",Y.awaitDrain),Y.awaitDrain++,X=!0;q.pause()}}function T(A){if(T1("onerror",A),v(),$.removeListener("error",T),wA8($,"error")===0)$.emit("error",A)}cb6($,"error",T);function G(){$.removeListener("finish",j),v()}$.once("close",G);function j(){T1("onfinish"),$.removeListener("close",G),v()}$.once("finish",j);function v(){T1("unpipe"),q.unpipe($)}if($.emit("pipe",q),!Y.flowing)T1("pipe resume"),q.resume();return $};function ib6($){return function(){var K=$._readableState;if(T1("pipeOnDrain",K.awaitDrain),K.awaitDrain)K.awaitDrain--;if(K.awaitDrain===0&&wA8($,"data"))K.flowing=!0,$B($)}}i1.prototype.unpipe=function($){var K=this._readableState,q={hasUnpiped:!1};if(K.pipesCount===0)return this;if(K.pipesCount===1){if($&&$!==K.pipes)return this;if(!$)$=K.pipes;if(K.pipes=null,K.pipesCount=0,K.flowing=!1,$)$.emit("unpipe",this,q);return this}if(!$){var{pipes:Y,pipesCount:J}=K;K.pipes=null,K.pipesCount=0,K.flowing=!1;for(var z=0;z<J;z++)Y[z].emit("unpipe",this,{hasUnpiped:!1});return this}var W=MA8(K.pipes,$);if(W===-1)return this;if(K.pipes.splice(W,1),K.pipesCount-=1,K.pipesCount===1)K.pipes=K.pipes[0];return $.emit("unpipe",this,q),this};i1.prototype.on=function($,K){var q=em.prototype.on.call(this,$,K);if($==="data"){if(this._readableState.flowing!==!1)this.resume()}else if($==="readable"){var Y=this._readableState;if(!Y.endEmitted&&!Y.readableListening){if(Y.readableListening=Y.needReadable=!0,Y.emittedReadable=!1,!Y.reading)sZ.nextTick(nb6,this);else if(Y.length)Ik(this)}}return q};i1.prototype.addListener=i1.prototype.on;function nb6($){T1("readable nexttick read 0"),$.read(0)}i1.prototype.resume=function(){var $=this._readableState;if(!$.flowing)T1("resume"),$.flowing=!0,ob6(this,$);return this};function ob6($,K){if(!K.resumeScheduled)K.resumeScheduled=!0,sZ.nextTick(ab6,$,K)}function ab6($,K){if(!K.reading)T1("resume read 0"),$.read(0);if(K.resumeScheduled=!1,K.awaitDrain=0,$.emit("resume"),$B($),K.flowing&&!K.reading)$.read(0)}i1.prototype.pause=function(){if(T1("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)T1("pause"),this._readableState.flowing=!1,this.emit("pause");return this};function $B($){var K=$._readableState;T1("flow",K.flowing);while(K.flowing&&$.read()!==null);}i1.prototype.wrap=function($){var K=this,q=this._readableState,Y=!1;$.on("end",function(){if(T1("wrapped end"),q.decoder&&!q.ended){var W=q.decoder.end();if(W&&W.length)K.push(W)}K.push(null)}),$.on("data",function(W){if(T1("wrapped data"),q.decoder)W=q.decoder.write(W);if(q.objectMode&&(W===null||W===void 0))return;else if(!q.objectMode&&(!W||!W.length))return;var H=K.push(W);if(!H)Y=!0,$.pause()});for(var J in $)if(this[J]===void 0&&typeof $[J]==="function")this[J]=function(W){return function(){return $[W].apply($,arguments)}}(J);for(var z=0;z<rm.length;z++)$.on(rm[z],this.emit.bind(this,rm[z]));return this._read=function(W){if(T1("wrapped _read",W),Y)Y=!1,$.resume()},this};Object.defineProperty(i1.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});i1._fromList=AA8;function AA8($,K){if(K.length===0)return null;var q;if(K.objectMode)q=K.buffer.shift();else if(!$||$>=K.length){if(K.decoder)q=K.buffer.join("");else if(K.buffer.length===1)q=K.buffer.head.data;else q=K.buffer.concat(K.length);K.buffer.clear()}else q=rb6($,K.buffer,K.decoder);return q}function rb6($,K,q){var Y;if($<K.head.data.length)Y=K.head.data.slice(0,$),K.head.data=K.head.data.slice($);else if($===K.head.data.length)Y=K.shift();else Y=q?sb6($,K):tb6($,K);return Y}function sb6($,K){var q=K.head,Y=1,J=q.data;$-=J.length;while(q=q.next){var z=q.data,W=$>z.length?z.length:$;if(W===z.length)J+=z;else J+=z.slice(0,$);if($-=W,$===0){if(W===z.length)if(++Y,q.next)K.head=q.next;else K.head=K.tail=null;else K.head=q,q.data=z.slice(W);break}++Y}return K.length-=Y,J}function tb6($,K){var q=uj.allocUnsafe($),Y=K.head,J=1;Y.data.copy(q),$-=Y.data.length;while(Y=Y.next){var z=Y.data,W=$>z.length?z.length:$;if(z.copy(q,q.length-$,0,W),$-=W,$===0){if(W===z.length)if(++J,Y.next)K.head=Y.next;else K.head=K.tail=null;else K.head=Y,Y.data=z.slice(W);break}++J}return K.length-=J,q}function tm($){var K=$._readableState;if(K.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!K.endEmitted)K.ended=!0,sZ.nextTick(eb6,K,$)}function eb6($,K){if(!$.endEmitted&&$.length===0)$.endEmitted=!0,K.readable=!1,K.emit("end")}function MA8($,K){for(var q=0,Y=$.length;q<Y;q++)if($[q]===K)return q;return-1}});var KB=V((q$4,NA8)=>{NA8.exports=Xq;var xk=Hz(),fA8=Object.create(oZ());fA8.inherits=F7();fA8.inherits(Xq,xk);function $g6($,K){var q=this._transformState;q.transforming=!1;var Y=q.writecb;if(!Y)return this.emit("error",new Error("write callback called multiple times"));if(q.writechunk=null,q.writecb=null,K!=null)this.push(K);Y($);var J=this._readableState;if(J.reading=!1,J.needReadable||J.length<J.highWaterMark)this._read(J.highWaterMark)}function Xq($){if(!(this instanceof Xq))return new Xq($);if(xk.call(this,$),this._transformState={afterTransform:$g6.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,$){if(typeof $.transform==="function")this._transform=$.transform;if(typeof $.flush==="function")this._flush=$.flush}this.on("prefinish",Kg6)}function Kg6(){var $=this;if(typeof this._flush==="function")this._flush(function(K,q){kA8($,K,q)});else kA8(this,null,null)}Xq.prototype.push=function($,K){return this._transformState.needTransform=!1,xk.prototype.push.call(this,$,K)};Xq.prototype._transform=function($,K,q){throw new Error("_transform() is not implemented")};Xq.prototype._write=function($,K,q){var Y=this._transformState;if(Y.writecb=q,Y.writechunk=$,Y.writeencoding=K,!Y.transforming){var J=this._readableState;if(Y.needTransform||J.needReadable||J.length<J.highWaterMark)this._read(J.highWaterMark)}};Xq.prototype._read=function($){var K=this._transformState;if(K.writechunk!==null&&K.writecb&&!K.transforming)K.transforming=!0,this._transform(K.writechunk,K.writeencoding,K.afterTransform);else K.needTransform=!0};Xq.prototype._destroy=function($,K){var q=this;xk.prototype._destroy.call(this,$,function(Y){K(Y),q.emit("close")})};function kA8($,K,q){if(K)return $.emit("error",K);if(q!=null)$.push(q);if($._writableState.length)throw new Error("Calling transform done when ws.length != 0");if($._transformState.transforming)throw new Error("Calling transform done when still transforming");return $.push(null)}});var hA8=V((Y$4,DA8)=>{DA8.exports=mj;var RA8=KB(),CA8=Object.create(oZ());CA8.inherits=F7();CA8.inherits(mj,RA8);function mj($){if(!(this instanceof mj))return new mj($);RA8.call(this,$)}mj.prototype._transform=function($,K,q){q(null,$)}});var EA8=V((u$,bk)=>{var s5=o("stream");if(process.env.READABLE_STREAM==="disable"&&s5)bk.exports=s5,u$=bk.exports=s5.Readable,u$.Readable=s5.Readable,u$.Writable=s5.Writable,u$.Duplex=s5.Duplex,u$.Transform=s5.Transform,u$.PassThrough=s5.PassThrough,u$.Stream=s5;else u$=bk.exports=dm(),u$.Stream=s5||u$,u$.Readable=u$,u$.Writable=Qm(),u$.Duplex=Hz(),u$.Transform=KB(),u$.PassThrough=hA8()});var LA8=V((J$4,SA8)=>{SA8.exports=EA8().PassThrough});var gA8=V((z$4,bA8)=>{var IA8=o("util"),uk=LA8();bA8.exports={Readable:gk,Writable:yk};IA8.inherits(gk,uk);IA8.inherits(yk,uk);function xA8($,K,q){$[K]=function(){return delete $[K],q.apply(this,arguments),this[K].apply(this,arguments)}}function gk($,K){if(!(this instanceof gk))return new gk($,K);uk.call(this,K),xA8(this,"_read",function(){var q=$.call(this,K),Y=this.emit.bind(this,"error");q.on("error",Y),q.pipe(this)}),this.emit("readable")}function yk($,K){if(!(this instanceof yk))return new yk($,K);uk.call(this,K),xA8(this,"_write",function(){var q=$.call(this,K),Y=this.emit.bind(this,"error");q.on("error",Y),this.pipe(q)}),this.emit("writable")}});var qB=V((W$4,yA8)=>{/*!
|
|
415
415
|
* normalize-path <https://github.com/jonschlinkert/normalize-path>
|
|
416
416
|
*
|
|
@@ -470,7 +470,7 @@ globstar while`,$,X,K,w,T),this.matchOne($.slice(X),K.slice(w),q))return this.de
|
|
|
470
470
|
CREATE UNIQUE INDEX entities_name_unique
|
|
471
471
|
ON entities(store_id, parent_folder_id, name)
|
|
472
472
|
WHERE deleted_at IS NULL AND name IS NOT NULL
|
|
473
|
-
`.execute($),await $.schema.createIndex("entities_store_id_idx").on("entities").columns(["store_id"]).execute(),await $.schema.createIndex("entities_parent_folder_id_idx").on("entities").columns(["parent_folder_id"]).execute(),await $.schema.createTable("folders").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).execute(),await $.schema.createTable("documents").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("published_version_id","integer",(K)=>K.references("document_versions.id")).execute(),await $.schema.createTable("document_drafts").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("content","text").addColumn("updated_at","text",(K)=>K.notNull()).execute(),await $.schema.createTable("document_versions").addColumn("id","integer",(K)=>K.primaryKey().autoIncrement()).addColumn("entity_id","integer",(K)=>K.notNull().references("entities.id").onDelete("cascade")).addColumn("version_number","integer",(K)=>K.notNull()).addColumn("content","text").addColumn("published_at","text",(K)=>K.notNull()).execute(),await $.schema.createIndex("document_versions_entity_version_unique").on("document_versions").columns(["entity_id","version_number"]).unique().execute(),await $.schema.createIndex("document_versions_entity_id_idx").on("document_versions").columns(["entity_id"]).execute(),await $.schema.createTable("document_edit_state").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("session_id","text",(K)=>K.notNull()).addColumn("started_at","text",(K)=>K.notNull()).addColumn("last_activity_at","text",(K)=>K.notNull()).execute(),await $.schema.createTable("field_definitions").addColumn("id","integer",(K)=>K.primaryKey().autoIncrement()).addColumn("store_id","integer",(K)=>K.notNull().references("stores.id").onDelete("cascade")).addColumn("object_id","text",(K)=>K.notNull()).addColumn("entity_type_id","integer",(K)=>K.notNull().references("entity_types.id")).addColumn("type_code","text",(K)=>K.notNull()).addColumn("seq","integer",(K)=>K.notNull()).addColumn("owner_entity_id","integer",(K)=>K.references("entities.id").onDelete("cascade")).addColumn("name","text",(K)=>K.notNull()).addColumn("label","text").addColumn("description","text").addColumn("primitive_type","text",(K)=>K.notNull()).addColumn("required","integer",(K)=>K.notNull().defaultTo(0)).addColumn("multiplicity","text",(K)=>K.notNull().defaultTo("single")).addColumn("config","text").addColumn("is_system","integer",(K)=>K.notNull().defaultTo(0)).addColumn("ordinal","integer").addColumn("created_at","text",(K)=>K.notNull()).addColumn("updated_at","text",(K)=>K.notNull()).execute(),await $.schema.createIndex("idx_field_def_object_id_unique").on("field_definitions").columns(["store_id","object_id"]).unique().execute(),await $.schema.createIndex("idx_field_def_store_type_seq").on("field_definitions").columns(["store_id","type_code","seq"]).unique().execute(),await $.schema.createIndex("idx_field_def_owner").on("field_definitions").columns(["owner_entity_id"]).execute(),await $.schema.createIndex("idx_field_def_owner_name").on("field_definitions").columns(["owner_entity_id","name"]).execute(),await $.schema.createTable("field_values").addColumn("id","integer",(K)=>K.primaryKey().autoIncrement()).addColumn("entity_id","integer",(K)=>K.notNull().references("entities.id").onDelete("cascade")).addColumn("field_definition_id","integer",(K)=>K.notNull().references("field_definitions.id").onDelete("cascade")).addColumn("value","text").addColumn("ordinal","integer").addColumn("updated_at","text",(K)=>K.notNull()).execute(),await $.schema.createIndex("idx_field_values_entity").on("field_values").columns(["entity_id"]).execute(),await $.schema.createIndex("idx_field_values_entity_def").on("field_values").columns(["entity_id","field_definition_id"]).execute(),await $.schema.createTable("assets").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("hash","text",(K)=>K.notNull()).addColumn("mime_type","text",(K)=>K.notNull()).addColumn("size_bytes","integer",(K)=>K.notNull()).addColumn("original_filename","text").addColumn("width_px","integer").addColumn("height_px","integer").addColumn("display_width","integer").addColumn("display_height","integer").execute(),await $.schema.createIndex("idx_assets_hash").on("assets").column("hash").execute()};var dz6=()=>new Date().toISOString(),E1=dz6;var iz6=async($,K,q,Y)=>{if(!await $.selectFrom("sequences").select("next_value").where("scope_type","=",K).where("scope_id",q===null?"is":"=",q).where("type_code","=",Y).executeTakeFirst())await $.insertInto("sequences").values({scope_type:K,scope_id:q,type_code:Y,next_value:1}).execute();let z=await $.selectFrom("sequences").select("next_value").where("scope_type","=",K).where("scope_id",q===null?"is":"=",q).where("type_code","=",Y).executeTakeFirstOrThrow();return await $.updateTable("sequences").set((W)=>({next_value:W("next_value","+",1)})).where("scope_type","=",K).where("scope_id",q===null?"is":"=",q).where("type_code","=",Y).execute(),z.next_value},f7=Object.freeze({nextSeq:iz6});var nz6=[{code:"f",name:"Folder",subtype:null},{code:"f",name:"Document Root Folder",subtype:"root_d"},{code:"f",name:"Template Root Folder",subtype:"root_t"},{code:"f",name:"Story Root Folder",subtype:"root_s"},{code:"f",name:"State Folder",subtype:"state_folder"},{code:"d",name:"Document",subtype:null},{code:"t",name:"Template",subtype:null},{code:"s",name:"Story",subtype:null},{code:"n",name:"field_definition",subtype:null},{code:"a",name:"asset",subtype:null}],U$8=async($)=>{return(await $.selectFrom("entity_types").select("id").limit(1).execute()).length>0},yI=async($,K,q=null)=>{return(await $.selectFrom("entity_types").select("id").where("code","=",K).where((J)=>q?J("subtype","=",q):J("subtype","is",null)).executeTakeFirstOrThrow()).id},gI=async($,K,q,Y)=>{let J=E1(),W={d:"root_d",t:"root_t",s:"root_s"}[Y],Z={d:"Documents",t:"Templates",s:"Stories"}[Y],P=await yI($,"f",W);if(!await $.selectFrom("sequences").select("next_value").where("scope_type","=","store").where("scope_id","=",K).where("type_code","=","f").executeTakeFirst())await $.insertInto("sequences").values({scope_type:"store",scope_id:K,type_code:"f",next_value:1}).execute();let X=await $.selectFrom("sequences").select("next_value").where("scope_type","=","store").where("scope_id","=",K).where("type_code","=","f").executeTakeFirst();await $.updateTable("sequences").set((v)=>({next_value:v("next_value","+",1)})).where("scope_type","=","store").where("scope_id","=",K).where("type_code","=","f").execute();let w=`${q}f${X.next_value}`,T=await $.insertInto("entities").values({store_id:K,object_id:w,entity_type_id:P,type_code:"f",seq:X.next_value,parent_folder_id:null,parent_object_id:null,name:Z,created_at:J,updated_at:J}).returning("id").executeTakeFirstOrThrow();await $.insertInto("folders").values({entity_id:T.id}).execute();let j={d:"document",t:"template",s:"story"}[Y];return T.id},oz6=async($)=>{for(let K of nz6)await $.insertInto("entity_types").values(K).execute()},az6=async($,K,q)=>{let Y=E1(),J=await yI($,"n",null),z=await f7.nextSeq($,"store",K,"n"),W=`${q}n${z}`;await $.insertInto("field_definitions").values({store_id:K,object_id:W,entity_type_id:J,type_code:"n",seq:z,owner_entity_id:null,name:"state",label:"State",description:"Workflow state",primitive_type:"string",required:0,multiplicity:"single",is_system:1,created_at:Y,updated_at:Y}).execute()},rz6=async($,K,q)=>{let Y=E1(),J=await yI($,"n",null),z=await f7.nextSeq($,"store",K,"n"),W=`${q}n${z}`;await $.insertInto("field_definitions").values({store_id:K,object_id:W,entity_type_id:J,type_code:"n",seq:z,owner_entity_id:null,name:"default",label:"Default Field",description:"Auto-created for ad-hoc fields without explicit definitions",primitive_type:"string",required:0,multiplicity:"single",is_system:1,created_at:Y,updated_at:Y}).execute()},sz6=async($)=>{let K=await $.selectFrom("sequences").select("next_value").where("scope_type","=","global").where("scope_id","is",null).where("type_code","=","s").executeTakeFirstOrThrow();await $.updateTable("sequences").set((z)=>({next_value:z("next_value","+",1)})).where("scope_type","=","global").where("scope_id","is",null).where("type_code","=","s").execute();let q=`S${K.next_value}`,Y=E1(),J=await $.insertInto("stores").values({id:K.next_value,object_id:q,type:"local",code:"B",name:"Shared",created_at:Y,updated_at:Y}).returning("id").executeTakeFirstOrThrow();await gI($,J.id,"B","d"),await gI($,J.id,"B","t"),await gI($,J.id,"B","s"),await rz6($,J.id,"B"),await az6($,J.id,"B")},c$8=async($)=>{await oz6($),await $.insertInto("sequences").values([{scope_type:"global",scope_id:null,type_code:"s",next_value:1},{scope_type:"global",scope_id:null,type_code:"p",next_value:1}]).execute(),await sz6($)};var LA=g6(F$8(),1),tz6=($,K)=>{if($)throw new Error(K)},Q$8=($,K)=>{if(LA.default.null($)||LA.default.undefined($))throw new Error(`${K} is required`)},ez6=($,K)=>{if(Q$8($,K),LA.default.empty($))throw new Error(`${K} cannot be empty`)},$W6=($,K,...q)=>{if($)throw K(...q)},KW6={condition:tz6,nullish:Q$8,empty:ez6,factory:$W6},l=KW6;var pV6=typeof Bun!=="undefined",FV6=async($)=>{if(pV6){let{Database:K}=await import("bun:sqlite"),{BunSqliteDialect:q}=await Promise.resolve().then(() => g6(kO8(),1)),Y=new K($);return Y.exec("PRAGMA journal_mode = WAL"),Y.exec("PRAGMA foreign_keys = ON"),new p5({dialect:new q({database:Y})})}else{let q=new(await import("better-sqlite3")).default($);return q.pragma("journal_mode = WAL"),q.pragma("foreign_keys = ON"),new p5({dialect:new bI({database:q})})}},QV6=($,K)=>{if(!BV6($)){if(!K)throw new Error(`Database file not found: ${$}`);UV6(cV6($),{recursive:!0})}},lV6=async($,K)=>{if(!await m$8($)){if(!K)throw new Error("Database schema not found");await B$8($)}},dV6=async($,K)=>{if(!await U$8($)){if(!K)throw new Error("Database seed data not found");await c$8($)}},iV6=($)=>{let{kyselyFactory:K=FV6}=$??{};return Object.freeze({getDb:async(Y,J)=>{if(l.nullish(Y,"databaseFilepath"),Y!==":memory:")QV6(Y,J);let z=await K(Y);return await lV6(z,J),await dV6(z,J),z}})},fO8={create:iV6};var nV6=($)=>{let{id:K,name:q,createdAt:Y,updatedAt:J}=$,P=Object.freeze({getObjectId:()=>K,getName:()=>q,getCreatedAt:()=>Y,getUpdatedAt:()=>J}),w=Object.freeze({setName:(T)=>{q=T},setUpdatedAt:(T)=>{J=T}});return{entityFns:P,mutationFns:w}},t3=Object.freeze({create:nV6});var oV6=($)=>{let{id:K,name:q,path:Y,createdAt:J,updatedAt:z}=$,{entityFns:W,mutationFns:H}=t3.create({id:K,name:q,createdAt:J,updatedAt:z}),Z=()=>Y,O=Object.freeze({...W,getPath:Z,toJSON:()=>({objectId:W.getObjectId(),name:W.getName(),path:Z(),createdAt:W.getCreatedAt(),updatedAt:W.getUpdatedAt()})}),w=Object.freeze({...H,setPath:(T)=>{Y=T}});return{entity:O,mutationApi:w}},NO8=Object.freeze({create:oV6});var aV6=($,K,q)=>{return Object.freeze({getEntity:()=>$,getMutationApi:()=>K,getPk:()=>q})},k6=Object.freeze({create:aV6});var rV6=($)=>$.object_id,RO8=($)=>{if(!$||$.length<2||$[0]!=="P")return null;let K=parseInt($.slice(1),10);return isNaN(K)?null:K},G_=($)=>{let K=rV6($),q=$.id,{entity:Y,mutationApi:J}=NO8.create({id:K,name:$.name,path:$.path,createdAt:$.created_at,updatedAt:$.updated_at});return{entity:Y,mutationApi:J,id:K,pk:q}},sV6=()=>{let $=new Map;return Object.freeze({createProject:async(W,H,{name:Z,path:P},O)=>{let X=E1(),w=await f7.nextSeq(W,"global",null,"p"),T=`P${w}`,G=await W.insertInto("projects").values({id:w,object_id:T,name:Z,path:P,created_at:X,updated_at:X}).returningAll().executeTakeFirstOrThrow(),{entity:j,mutationApi:v,id:A,pk:R}=G_(G);return O(()=>{$.set(A,k6.create(j,v,R))}),j},readProject:async(W,H,Z)=>{let P=$.get(Z);if(P)return P.getEntity();let O=RO8(Z);if(O===null)return null;let X=await W.selectFrom("projects").selectAll().where("id","=",O).executeTakeFirst();if(!X)return null;let{entity:w,mutationApi:T,id:G,pk:j}=G_(X);return $.set(G,k6.create(w,T,j)),w},readProjectByObjectId:async(W,H,Z)=>{let P=$.get(Z);if(P)return P.getEntity();let O=RO8(Z);if(O===null)return null;let X=await W.selectFrom("projects").selectAll().where("id","=",O).executeTakeFirst();if(!X)return null;let{entity:w,mutationApi:T,id:G,pk:j}=G_(X);return $.set(G,k6.create(w,T,j)),w},readProjectByPath:async(W,H,Z)=>{let P=await W.selectFrom("projects").selectAll().where("path","=",Z).executeTakeFirst();if(!P)return null;let{entity:O,mutationApi:X,id:w,pk:T}=G_(P),G=$.get(w);if(G)return G.getEntity();return $.set(w,k6.create(O,X,T)),O},evictProject:(W)=>{$.delete(W)}})},CO8=Object.freeze({create:sV6});var tV6=()=>{let $=new Map,K=new Map;return Object.freeze({get:(X)=>$.get(X),getByPk:(X)=>{let w=K.get(X);return w?$.get(w):void 0},has:(X)=>$.has(X),set:(X,w)=>{$.set(X,w),K.set(w.getPk(),X)},remove:(X)=>{let w=$.get(X);if(w)K.delete(w.getPk());$.delete(X)},getIdByPk:(X)=>K.get(X),setIdByPk:(X,w)=>K.set(X,w),clear:()=>{$.clear(),K.clear()},entries:()=>$.entries()})},kZ=Object.freeze({create:tV6});var yO8=g6(a4(),1);var eV6=async($,K,q,Y=null)=>{return(await $.selectFrom("entity_types").select("id").where("code","=",q).where((z)=>Y?z("subtype","=",Y):z("subtype","is",null)).executeTakeFirstOrThrow()).id},C3=Object.freeze({readEntityTypeId:eV6});var $A6=($)=>{let{id:K,name:q,parentId:Y,path:J,createdAt:z,updatedAt:W,publishedVersionNumber:H,hasDraft:Z,draftContent:P,publishedContent:O}=$,{entityFns:X,mutationFns:w}=t3.create({id:K,name:q,createdAt:z,updatedAt:W}),T=new Map,G=H??null,j=Z??!1,v=P??null,A=O??null,R=null,O8=Object.freeze({...X,getParentId:()=>Y,getPath:()=>J,getField:(m8)=>{return T.get(m8)},getFields:()=>{let m8={};for(let[t8,Y6]of T.entries())m8[t8]=Y6;return m8},getPublishedVersionNumber:()=>G,hasDraftContent:()=>j,getDraftContent:()=>v,getPublishedContent:()=>A,getEditState:()=>R,hasPublished:()=>G>0,isBeingEdited:()=>R!==null,getVersionCount:()=>G??0,getIsFolder:()=>!1}),c8=Object.freeze({...w,setParentId:(m8)=>{Y=m8},setPath:(m8)=>{J=m8},setField:(m8,t8)=>{T.set(m8,t8)},removeField:(m8)=>{T.delete(m8)},setPublishedVersionNumber:(m8)=>{G=m8},setHasDraft:(m8)=>{j=m8},setDraftContent:(m8)=>{v=m8},setPublishedContent:(m8)=>{A=m8},setEditState:(m8)=>{R=m8}});return{entityFns:O8,mutationFns:c8}},QY=Object.freeze({create:$A6});var DO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),Y=$.subtype||null,J=()=>Y,z=()=>K.getParentId()===null,W=()=>!0,Z=Object.freeze({...K,getSubtype:J,isRoot:z,getIsFolder:W,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),subtype:J(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),isFolder:W(),isRoot:z()})}),P=Object.freeze({...q});return{entity:Z,mutationApi:P}},KA6=($,K,q,Y)=>{return DO8({id:K,parentId:q,name:$.name,path:Y,subtype:$.subtype||null,createdAt:$.created_at,updatedAt:$.updated_at})},i5=Object.freeze({create:DO8,createFromRow:KA6});var hO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),H=Object.freeze({...K,getTypeCode:()=>"s",isStory:()=>!0,getIsFolder:()=>!1,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),type:"s",isStory:!0,isFolder:!1})}),Z=Object.freeze({...q});return{entity:H,mutationApi:Z}},qA6=($,K,q,Y)=>{return hO8({id:K,parentId:q,name:$.name,path:Y,createdAt:$.created_at,updatedAt:$.updated_at})},v_=Object.freeze({create:hO8,createFromRow:qA6});var EO8=($)=>{let{entityFns:K,mutationFns:q}=t3.create({id:$.id,name:$.name||$.originalFilename,createdAt:$.createdAt,updatedAt:$.updatedAt}),Y=$.hash,J=$.mimeType,z=$.sizeBytes,W=$.originalFilename,H=$.widthPx,Z=$.heightPx,P=$.displayWidth,O=$.displayHeight,S=Object.freeze({...K,getTypeCode:()=>"a",isAsset:()=>!0,getHash:()=>Y,getMimeType:()=>J,getSizeBytes:()=>z,getOriginalFilename:()=>W,getWidthPx:()=>H,getHeightPx:()=>Z,getDisplayWidth:()=>P,getDisplayHeight:()=>O,toJSON:()=>({id:K.getObjectId(),type:"a",hash:Y,mimeType:J,sizeBytes:z,originalFilename:W,widthPx:H,heightPx:Z,displayWidth:P,displayHeight:O,createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt()})}),h=Object.freeze({...q});return{entity:S,mutationApi:h}},YA6=($,K)=>{return EO8({id:K,name:$.name||$.original_filename,hash:$.hash,mimeType:$.mime_type,sizeBytes:$.size_bytes,originalFilename:$.original_filename,widthPx:$.width_px,heightPx:$.height_px,displayWidth:$.display_width,displayHeight:$.display_height,createdAt:$.created_at,updatedAt:$.updated_at})},V_=Object.freeze({create:EO8,createFromRow:YA6});var JA6=($)=>{let{id:K,name:q,ownerEntityId:Y,label:J,description:z,primitiveType:W,required:H,multiplicity:Z,isSystem:P,createdAt:O,updatedAt:X}=$,{entityFns:w,mutationFns:T}=t3.create({id:K,name:q,createdAt:O,updatedAt:X}),G=()=>Y,j=()=>J,v=()=>z,A=()=>W,R=()=>H,k=()=>Z,f=()=>P,S=Object.freeze({...w,getOwnerEntityId:G,getLabel:j,getDescription:v,getPrimitiveType:A,getRequired:R,getMultiplicity:k,getIsSystem:f,toJSON:()=>({id:w.getObjectId(),ownerEntityId:G(),name:w.getName(),label:j(),description:v(),primitiveType:A(),required:R(),multiplicity:k(),isSystem:f(),createdAt:w.getCreatedAt(),updatedAt:w.getUpdatedAt()})}),h=Object.freeze({...T});return{entity:S,mutationApi:h}},hy=Object.freeze({create:JA6});var zA6=({definition:$,values:K=[]})=>{let q=$,Y=[...K];if(q.getMultiplicity()==="single"&&Y.length>1)throw new Error(`Field "${q.getName()}" is single-valued but received ${Y.length} values`);let J=(T=0)=>{return Y[T]},z=()=>{return[...Y]},W=()=>{return q},H=()=>{return q.getMultiplicity()==="multi"};return Object.freeze({getValue:J,getValues:z,getDefinition:W,isMultiValued:H,isRequired:()=>{return q.getRequired()},getType:()=>{return q.getPrimitiveType()},getLabel:()=>{return q.getLabel()||q.getName()},getName:()=>{return q.getName()},toJSON:()=>{if(H())return Y;else return Y[0]}})},Ey=Object.freeze({create:zA6});z4();z4();var OA6=($)=>{let K=$.trim();l.factory(!K,m.validation,"Folder name cannot be empty","EMPTY_NAME"),l.factory(K.length>255,m.validation,"Folder name cannot exceed 255 characters","NAME_TOO_LONG");let q=/[/\\:*?"<>|]/;return l.factory(q.test(K),m.validation,'Folder name contains invalid characters: /\\:*?"<>|',"INVALID_CHARS"),K},XA6=($)=>{return $.getParentId()===null},$3=Object.freeze({validateFolderName:OA6,isRootFolder:XA6});z4();var wA6=($)=>{if(!$||$.length<3)return null;let K=$[0],q=$[1],Y=parseInt($.slice(2),10);if(isNaN(Y))return null;return{storeCode:K,typeCode:q,seq:Y}},TA6=($,K,q)=>`${$}${K}${q}`,jA6=($,K)=>{l.factory($!==K,m.validation,`Store code mismatch: expected ${K}, got ${$}`,"STORE_CODE_MISMATCH")},fZ=Object.freeze({parseId:wA6,buildId:TA6,validateStoreCode:jA6});var SO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),Y=()=>"d",z=Object.freeze({...K,getTypeCode:Y,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),publishedVersionNumber:K.getPublishedVersionNumber(),hasDraft:K.hasDraftContent(),draftContent:K.getDraftContent(),publishedContent:K.getPublishedContent(),editState:K.getEditState(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),versionCount:K.getVersionCount(),isFolder:K.getIsFolder(),type:Y(),hasPublished:K.hasPublished(),isBeingEdited:K.isBeingEdited()})}),W=Object.freeze({...q});return{entity:z,mutationApi:W}},GA6=($,K,q,Y,J,z,W=null,H=null)=>{return SO8({id:K,parentId:q,name:$.name,path:Y,publishedVersionNumber:J,hasDraft:z,draftContent:W,publishedContent:H,createdAt:$.created_at,updatedAt:$.updated_at})},LO8=Object.freeze({create:SO8,createFromRow:GA6});var IO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),Y=()=>"t",z=Object.freeze({...K,getTypeCode:Y,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),publishedVersionNumber:K.getPublishedVersionNumber(),hasDraft:K.hasDraftContent(),draftContent:K.getDraftContent(),publishedContent:K.getPublishedContent(),editState:K.getEditState(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),versionCount:K.getVersionCount(),isFolder:K.getIsFolder(),type:Y(),hasPublished:K.hasPublished(),isBeingEdited:K.isBeingEdited()})}),W=Object.freeze({...q});return{entity:z,mutationApi:W}},vA6=($,K,q,Y,J,z,W=null,H=null)=>{return IO8({id:K,parentId:q,name:$.name,path:Y,publishedVersionNumber:J,hasDraft:z,draftContent:W,publishedContent:H,createdAt:$.created_at,updatedAt:$.updated_at})},xO8=Object.freeze({create:IO8,createFromRow:vA6});z4();var bO8=($)=>{let K=fZ.parseId($);if(!K)throw m.notFound(`Invalid entity ID format: ${$}`,"NOT_FOUND");let{storeCode:q,typeCode:Y,seq:J}=K;return{entityId:`${Y}${J}`,storeCode:q,typeCode:Y,seq:J}},VA6=($)=>{let{typeCode:K}=bO8($);return K},AA6={d:LO8.createFromRow,t:xO8.createFromRow},MA6=($)=>{let K=AA6[$];if(!K)throw new Error(`Unknown content type: ${$}`);return K},_A6=($)=>{return{d:"document",t:"template"}[$]||"content"},F1=Object.freeze({resolveEntityId:bO8,getTypeFromId:VA6,getEntityFactory:MA6,getContentTypeLabel:_A6,buildId:fZ.buildId,parseId:fZ.parseId});var{parseId:l1,buildId:rT,validateStoreCode:kA6}=fZ,{validateFolderName:gO8,isRootFolder:A84}=$3,M84=yO8.default("caw:stores:db"),lY=3600000,fA6=({id:$,code:K,name:q,pk:Y,folderCache:J,createdAt:z,updatedAt:W})=>{let H=new Map,{entityFns:Z,mutationFns:P}=t3.create({id:$,name:q,createdAt:z,updatedAt:W}),O=()=>new Set([K]),X=()=>"local",w=()=>K,T=()=>Y,G=()=>({id:$,code:K,name:Z.getName(),createdAt:Z.getCreatedAt(),updatedAt:Z.getUpdatedAt(),type:"local"}),j=(x)=>{kA6(x,K)},v=async(x,$8)=>{if(!$8)return null;if(J){let n=J.get($8);if(n)return n.getPk()}if(!l1($8))l.factory(!0,m.validation,`Invalid parent folder ID: ${$8}`,"INVALID_ID");let t=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("object_id","=",$8).where("deleted_at","is",null).executeTakeFirst();return t?t.id:null},A=async(x,$8)=>{let B=await x.selectFrom("entities").select(["name","parent_folder_id","parent_object_id","object_id"]).where("id","=",$8).where("deleted_at","is",null).executeTakeFirst();l.factory(!B,m.notFound,`Entity not found for PK ${$8}`,"ENTITY_NOT_FOUND");let t=B.object_id,n=J?J.get(t):null;if(n){let F=n.getEntity();if(F.getName()===B.name&&F.getParentId()===B.parent_object_id)return F.getPath()}if(!B.parent_object_id)return B.name;let b=J?J.get(B.parent_object_id):null;if(b){let K8=b.getEntity().getPath();return K8?`${K8}/${B.name}`:B.name}let y=[B.name],u=B.parent_folder_id;while(u!==null){let F=H.get(u),K8=F&&J?J.get(F):null;if(K8){let u8=K8.getEntity().getPath();if(u8){let U8=u8.split("/").filter((l8)=>l8);y.unshift(...U8)}break}let T8=await x.selectFrom("entities").select(["name","parent_folder_id"]).where("id","=",u).where("deleted_at","is",null).executeTakeFirst();l.factory(!T8,m.notFound,`Folder not found for PK ${u}`,"FOLDER_NOT_FOUND"),y.unshift(T8.name),u=T8.parent_folder_id}return y.join("/")},R=async(x,$8)=>{let B=[],t=[$8];while(t.length>0){let n=t.shift(),b=await x.selectFrom("entities").select(["id","type_code"]).where("store_id","=",Y).where("parent_folder_id","=",n).where("deleted_at","is",null).execute();for(let y of b)if(B.push(y.id),y.type_code==="f"||y.type_code==="s")t.push(y.id)}return B},k=async(x,$8,B,t)=>{let n=E1(),b=await C3.readEntityTypeId(x,{},"f",t),y=await f7.nextSeq(x,"store",Y,"f"),u=await v(x,$8),F=rT(K,"f",y),K8=await x.insertInto("entities").values({store_id:Y,object_id:F,entity_type_id:b,type_code:"f",seq:y,parent_folder_id:u,parent_object_id:$8,name:B,created_at:n,updated_at:n}).returningAll().executeTakeFirstOrThrow();return await x.insertInto("folders").values({entity_id:K8.id}).execute(),{row:{...K8,subtype:t},id:F}},f=(x)=>{let $8=null;if(x.owner_entity_id!==null)$8=H.get(x.owner_entity_id)??null;let{entity:B,mutationApi:t}=hy.create({id:x.object_id,name:x.name,ownerEntityId:$8,label:x.label,description:x.description,primitiveType:x.primitive_type,required:x.required===1,multiplicity:x.multiplicity,isSystem:x.is_system===1,createdAt:x.created_at,updatedAt:x.updated_at});return{entity:B,mutationApi:t,pk:x.id}},D=async(x,$8)=>{let B=await x.selectFrom("field_values as fv").innerJoin("field_definitions as fd","fd.id","fv.field_definition_id").select(["fv.id as value_id","fv.value","fd.id as def_id","fd.object_id as def_object_id","fd.name as def_name","fd.label as def_label","fd.description as def_description","fd.primitive_type as def_primitive_type","fd.required as def_required","fd.multiplicity as def_multiplicity","fd.is_system as def_is_system","fd.owner_entity_id as def_owner_entity_id","fd.created_at as def_created_at","fd.updated_at as def_updated_at"]).where("fv.entity_id","=",$8).execute(),t=new Map;for(let b of B){let y=b.def_id;if(!t.has(y))t.set(y,{definition:{id:b.def_object_id,name:b.def_name,label:b.def_label,description:b.def_description,primitiveType:b.def_primitive_type,required:b.def_required===1,multiplicity:b.def_multiplicity,isSystem:b.def_is_system===1,ownerEntityId:b.def_owner_entity_id?H.get(b.def_owner_entity_id):null,createdAt:b.def_created_at,updatedAt:b.def_updated_at},values:[]});t.get(y).values.push(b.value)}let n=[];for(let{definition:b,values:y}of t.values()){let{entity:u}=hy.create(b),F=Ey.create({definition:u,values:y});n.push(F)}return n},S=async(x,$8)=>{let B=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("seq","=",1).where("type_code","=","n").executeTakeFirst();if(!B)return null;if(B.owner_entity_id){let n=await x.selectFrom("entities").select("object_id").where("id","=",B.owner_entity_id).executeTakeFirst();if(n)H.set(B.owner_entity_id,n.object_id)}let t=`${K}n1`;return H.set(B.id,t),f(B)},h=async(x,$8,{storeCode:B,parentId:t,name:n,subtype:b})=>{if(B!==void 0)j(B);if(n!==null&&n!==void 0)gO8(n);let{row:y,id:u}=await k(x,t,n,b||null),F=y.id;H.set(F,u);let K8=await A(x,F),{entity:T8,mutationApi:k8}=i5.createFromRow(y,u,t,K8);return{entity:T8,mutationApi:k8,pk:F}},Q=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;if(t.typeCode!=="f")return null;let n=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.seq","=",t.seq).where("entities.type_code","=","f").where("entities.deleted_at","is",null).executeTakeFirst();if(!n)return null;let{id:b,parent_object_id:y}=n;H.set(b,B);let u=await A(x,b),F=await D(x,b),{entity:K8,mutationApi:T8}=i5.createFromRow(n,B,y,u);for(let k8 of F)T8.setField(k8.getDefinition().getName(),k8);return{entity:K8,mutationApi:T8,pk:b}},I=async(x,$8,{id:B,name:t,parentId:n})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid folder ID: ${B}`,"INVALID_ID");let y=await x.selectFrom("entities").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.seq","=",b.seq).where("entities.type_code","=","f").where("entities.deleted_at","is",null).executeTakeFirst();l.factory(!y,m.notFound,`Folder not found: ${B}`,"FOLDER_NOT_FOUND");let{id:u,subtype:F}=y,K8={name:y.name,parentId:y.parent_object_id,path:null};if(H.set(u,B),K8.path=await A(x,u),t!==void 0)gO8(t);let T8={};if(t!==void 0)T8.name=t;if(n!==void 0){let b6=await v(x,n);T8.parent_folder_id=b6,T8.parent_object_id=n}T8.updated_at=E1();let k8=await x.updateTable("entities").set(T8).where("id","=",u).returningAll().executeTakeFirstOrThrow(),u8=await A(x,u),U8=await D(x,u),{entity:l8,mutationApi:O6}=i5.createFromRow({...k8,subtype:F},B,k8.parent_object_id,u8);for(let b6 of U8)O6.setField(b6.getDefinition().getName(),b6);return{entity:l8,mutationApi:O6,pk:u,oldValues:K8}},N=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid folder ID: ${B}`,"INVALID_ID");let n=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",t.seq).where("type_code","=","f").where("deleted_at","is",null).executeTakeFirst();l.factory(!n,m.notFound,`Folder not found: ${B}`,"FOLDER_NOT_FOUND");let b=n.id;H.set(b,B);let y=await A(x,b),u=await R(x,b),F=E1();await x.updateTable("entities").set({deleted_at:F}).where("id","in",[b,...u]).execute();let K8=[];for(let T8 of u){let k8=await x.selectFrom("entities").select("object_id").where("id","=",T8).executeTakeFirst();if(k8)K8.push(k8.object_id)}return{id:B,deleted:!0,descendantCount:u.length,path:y,descendantIds:K8,deletedPks:[b,...u]}},E=async(x,$8,B,t,n=null)=>{let b=await v(x,B),y=x.selectFrom("entities").select("object_id").where("store_id","=",Y).where("parent_folder_id",b===null?"is":"=",b).where("name","=",t).where("deleted_at","is",null);if(n)y=y.where("object_id","!=",n);return!!await y.executeTakeFirst()},p=async(x,$8,B,t)=>{let n=await v(x,B),b=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.parent_folder_id",n===null?"is":"=",n).where("entities.name","=",t).where("entities.deleted_at","is",null).executeTakeFirst();if(!b)return null;let{id:y,object_id:u}=b;H.set(y,u);let F=await A(x,y),K8=await D(x,y),{entity:T8,mutationApi:k8}=i5.createFromRow(b,u,B,F);for(let u8 of K8)k8.setField(u8.getDefinition().getName(),u8);return{entity:T8,mutationApi:k8,pk:y}},c=async(x,$8,{folderId:B,type:t})=>{let n;if(B){if(n=await v(x,B),n===null)return[]}else if(t){let F=await P8(x,$8,t);if(!F)return[];n=F.pk}else n=null;let b=x.selectFrom("entities").selectAll("entities").where("entities.store_id","=",Y).where("entities.parent_folder_id",n===null?"is":"=",n).where("entities.deleted_at","is",null);if(t)b=b.where("entities.type_code","=","f").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").select("entity_types.subtype");let y=await b.execute(),u=[];for(let F of y){let{id:K8,object_id:T8}=F;H.set(K8,T8);let k8=await A(x,K8),u8=await D(x,K8),{entity:U8,mutationApi:l8}=i5.createFromRow(F,T8,F.parent_object_id,k8);for(let O6 of u8)l8.setField(O6.getDefinition().getName(),O6);u.push({entity:U8,mutationApi:l8,pk:K8})}return u},r=async(x,$8,{path:B,type:t})=>{l.factory(!t,m.validation,"type parameter is required for getFolderByPath","MISSING_TYPE");let n=(B??"").trim(),y={d:"Documents",t:"Templates",s:"Stories"}[t];l.factory(!y,m.validation,`Invalid type: ${t}`,"INVALID_TYPE");let u=n?`${y}/${n}`:y,F=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("type_code","=","f").where("deleted_at","is",null).execute();for(let K8 of F){let T8=await Q(x,$8,{id:K8.object_id});if(T8&&T8.entity.getPath()===u)return T8}return null},P8=async(x,$8,B,t)=>{if(t!==void 0)j(t);let b={d:"root_d",t:"root_t",s:"root_s"}[B];if(!b)throw m.validation(`Invalid type for root folder: ${B}`,"INVALID_TYPE");let y=await C3.readEntityTypeId(x,$8,"f",b),u=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.entity_type_id","=",y).where("entities.deleted_at","is",null).executeTakeFirst();if(!u)return null;let{id:F,object_id:K8}=u;H.set(F,K8);let T8=await A(x,F),k8=await D(x,F),{entity:u8,mutationApi:U8}=i5.createFromRow(u,K8,u.parent_object_id,T8);for(let l8 of k8)U8.setField(l8.getDefinition().getName(),l8);return{entity:u8,mutationApi:U8,pk:F}},O8=async(x,$8,{storeCode:B,ownerEntityId:t,name:n,label:b,description:y,primitiveType:u,required:F,multiplicity:K8,isSystem:T8=!1})=>{if(B!==void 0)j(B);l.factory(u!=="string"&&u!=="object_ref",m.validation,`Invalid primitiveType: ${u}`,"INVALID_PRIMITIVE_TYPE"),l.factory(K8!=="single"&&K8!=="multi",m.validation,`Invalid multiplicity: ${K8}`,"INVALID_MULTIPLICITY");let k8=E1(),u8=await C3.readEntityTypeId(x,$8,"n",null),U8=await f7.nextSeq(x,"store",Y,"n"),l8=rT(K,"n",U8),O6=t?await v(x,t):null,b6=await x.insertInto("field_definitions").values({store_id:Y,object_id:l8,entity_type_id:u8,type_code:"n",seq:U8,owner_entity_id:O6,name:n,label:b,description:y,primitive_type:u,required:F?1:0,multiplicity:K8,is_system:T8?1:0,created_at:k8,updated_at:k8}).returningAll().executeTakeFirstOrThrow(),$4=b6.id;return H.set($4,l8),f(b6)},R8=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let n=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("seq","=",t.seq).where("type_code","=","n").executeTakeFirst();if(!n)return null;if(n.owner_entity_id){let b=await x.selectFrom("entities").select("object_id").where("id","=",n.owner_entity_id).executeTakeFirst();if(b)H.set(n.owner_entity_id,b.object_id)}return H.set(n.id,B),f(n)},I8=async(x,$8,B,t)=>{let n=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("name","=",B).where("owner_entity_id",t===null?"is":"=",t).executeTakeFirst();if(!n)return null;if(n.owner_entity_id){let b=await x.selectFrom("entities").select("object_id").where("id","=",n.owner_entity_id).executeTakeFirst();if(b)H.set(n.owner_entity_id,b.object_id)}return H.set(n.id,n.object_id),f(n)},_8=async(x,$8,{fieldDefinitionId:B,fieldName:t,ownerEntityPk:n})=>{if(B){let y=await R8(x,$8,{id:B});if(y)return y}if(t&&n){let y=await I8(x,$8,t,n);if(y)return y}if(t){let y=await I8(x,$8,t,null);if(y)return y}let b=await S(x);return l.factory(!b,m.notFound,"No field definition found and no default available","NO_FIELD_DEFINITION"),b},g8=async(x,$8,{ownerEntityPk:B,includeSystem:t=!0})=>{let n=x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("owner_entity_id",B===null?"is":"=",B);if(!t)n=n.where("is_system","=",0);let b=await n.execute(),y=[];for(let u of b){if(u.owner_entity_id){let F=await x.selectFrom("entities").select("object_id").where("id","=",u.owner_entity_id).executeTakeFirst();if(F)H.set(u.owner_entity_id,F.object_id)}H.set(u.id,u.object_id),y.push(f(u))}return y},d8=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid definition ID: ${B}`,"INVALID_ID");let n=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("seq","=",t.seq).where("type_code","=","n").executeTakeFirst();l.factory(!n,m.notFound,`Field definition not found: ${B}`,"DEFINITION_NOT_FOUND"),l.factory(n.is_system===1,m.validation,`Cannot delete system field definition: ${B}`,"SYSTEM_DEFINITION");let b=n.id;if(await x.deleteFrom("field_definitions").where("id","=",b).execute(),n.owner_entity_id){let u=await x.selectFrom("entities").select("object_id").where("id","=",n.owner_entity_id).executeTakeFirst();if(u)H.set(n.owner_entity_id,u.object_id)}let{entity:y}=f(n);return y},z8=async(x,$8,{entityId:B,fieldDefinitionId:t,fieldName:n,value:b,values:y})=>{let u=l1(B);l.factory(!u,m.validation,`Invalid entity ID: ${B}`,"INVALID_ID");let F=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("seq","=",u.seq).where("type_code","=",u.typeCode).where("deleted_at","is",null).executeTakeFirst();l.factory(!F,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND");let K8=F.id,{entity:T8,pk:k8}=await _8(x,$8,{fieldDefinitionId:t,fieldName:n,ownerEntityPk:K8}),u8=T8.getMultiplicity(),U8;if(u8==="single")if(y&&Array.isArray(y))l.factory(y.length>1||y.length===0,m.validation,`Field '${T8.getName()}' is single-valued but received ${y.length} values`,"MULTIPLICITY_VIOLATION"),U8=[y[0]];else l.factory(b===void 0,m.validation,"Single-valued field requires value parameter","VALUE_REQUIRED"),U8=[b];else if(y&&Array.isArray(y))U8=y;else if(b!==void 0)U8=[b];else l.factory(!0,m.validation,"Multi-valued field requires either value or values parameter","VALUE_OR_VALUES_REQUIRED");await x.deleteFrom("field_values").where("entity_id","=",K8).where("field_definition_id","=",k8).execute();let l8=E1();for(let j7 of U8)await x.insertInto("field_values").values({entity_id:K8,field_definition_id:k8,value:j7,updated_at:l8}).execute();let O6=U8,b6=Ey.create({definition:T8,values:O6}),$4;if(u.typeCode==="f")$4=await Q(x,$8,{id:B});else if(u.typeCode==="s")$4=await W8(x,$8,{id:B});else $4=await f8(x,$8,{id:B});return l.factory(!$4,m.notFound,`Entity not found after field update: ${B}`,"ENTITY_NOT_FOUND"),{...$4,field:b6,fieldName:T8.getName()}},v8=async(x,$8,{entityId:B,fieldDefinitionId:t,fieldName:n})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid entity ID: ${B}`,"INVALID_ID");let y=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("seq","=",b.seq).where("type_code","=",b.typeCode).where("deleted_at","is",null).executeTakeFirst();l.factory(!y,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND");let u=y.id,{entity:F,pk:K8}=await _8(x,$8,{fieldDefinitionId:t,fieldName:n,ownerEntityPk:u});await x.deleteFrom("field_values").where("entity_id","=",u).where("field_definition_id","=",K8).execute();let T8;if(b.typeCode==="f")T8=await Q(x,$8,{id:B});else if(b.typeCode==="s")T8=await W8(x,$8,{id:B});else T8=await f8(x,$8,{id:B});return l.factory(!T8,m.notFound,`Entity not found after field delete: ${B}`,"ENTITY_NOT_FOUND"),{...T8,fieldName:F.getName()}},C8=async(x,$8,{type:B,storeCode:t,parentId:n,name:b,initialContent:y})=>{let u=F1.getEntityFactory(B);if(t!==void 0)j(t);let F=E1(),K8=await C3.readEntityTypeId(x,$8,B,null),T8=await f7.nextSeq(x,"store",Y,B),k8=rT(K,B,T8),u8=await v(x,n),U8=await x.insertInto("entities").values({store_id:Y,object_id:k8,entity_type_id:K8,type_code:B,seq:T8,parent_folder_id:u8,parent_object_id:n,name:b,created_at:F,updated_at:F}).returningAll().executeTakeFirstOrThrow();await x.insertInto("documents").values({entity_id:U8.id,published_version_id:null}).execute();let l8=y!==null&&y!==void 0;if(l8)await x.insertInto("document_drafts").values({entity_id:U8.id,content:y,updated_at:F}).execute();let O6=U8.id;H.set(O6,k8);let b6=await A(x,O6),{entity:$4,mutationApi:j7}=u(U8,k8,n,b6,null,l8,l8?y:null,null);return{entity:$4,mutationApi:j7,pk:O6}},f8=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let{typeCode:n,seq:b}=t,y=F1.getEntityFactory(n),u=await x.selectFrom("entities as e").innerJoin("documents as d","d.entity_id","e.id").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","e.id").leftJoin("document_edit_state as es","es.entity_id","e.id").select(["e.id as entity_id","e.object_id","e.parent_folder_id","e.parent_object_id","e.name","e.created_at","e.updated_at","e.deleted_at","dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft"),"es.session_id as edit_session_id","es.started_at as edit_started_at","es.last_activity_at as edit_activity"]).where("e.store_id","=",Y).where("e.type_code","=",n).where("e.seq","=",b).where("e.deleted_at","is",null).executeTakeFirst();if(!u)return null;let F=u.entity_id;H.set(F,B);let K8=await A(x,F),T8=await D(x,F),{entity:k8,mutationApi:u8}=y(u,u.object_id,u.parent_object_id,K8,u.published_version_number,u.has_draft===1,u.draft_content??null,u.published_content??null);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);if(u.edit_session_id)u8.setEditState({sessionId:u.edit_session_id,startedAt:u.edit_started_at,lastActivityAt:u.edit_activity});return{entity:k8,mutationApi:u8,pk:F}},c8=async(x,$8,{id:B,name:t,parentId:n})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:y,seq:u}=b,F=F1.getContentTypeLabel(y),K8=F1.getEntityFactory(y),T8=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",u).where("type_code","=",y).where("deleted_at","is",null).executeTakeFirst();l.factory(!T8,m.notFound,`${F} not found: ${B}`,"NOT_FOUND");let k8=T8.id,u8={name:T8.name,parentId:T8.parent_object_id,path:null};H.set(k8,B),u8.path=await A(x,k8);let l8={updated_at:E1()};if(t!==void 0)l8.name=t;if(n!==void 0){let UW=await v(x,n);l8.parent_folder_id=UW,l8.parent_object_id=n}let O6=await x.updateTable("entities").set(l8).where("id","=",k8).returningAll().executeTakeFirstOrThrow(),b6=await x.selectFrom("documents as d").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","d.entity_id").select(["dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft")]).where("d.entity_id","=",k8).executeTakeFirst(),$4=await A(x,k8),j7=await D(x,k8),{entity:jE,mutationApi:sq}=K8(O6,B,O6.parent_object_id,$4,b6.published_version_number,b6.has_draft===1,b6.draft_content??null,b6.published_content??null);for(let UW of j7)sq.setField(UW.getDefinition().getName(),UW);return{entity:jE,mutationApi:sq,pk:k8,oldValues:u8}},m8=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:n,seq:b}=t,y=F1.getContentTypeLabel(n),u=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",b).where("type_code","=",n).where("deleted_at","is",null).executeTakeFirst();l.factory(!u,m.notFound,`${y} not found: ${B}`,"NOT_FOUND");let F=u.id;H.set(F,B);let K8=await A(x,F),T8=E1();return await x.updateTable("entities").set({deleted_at:T8}).where("id","=",F).execute(),{id:B,deleted:!0,path:K8}},t8=async(x,$8,{id:B,content:t,sessionId:n})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid content ID: ${B}`,"INVALID_ID"),l.factory(!n,m.validation,"sessionId is required","MISSING_SESSION_ID");let{typeCode:y,seq:u}=b,F=F1.getContentTypeLabel(y),K8=E1(),T8=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",y).where("seq","=",u).where("deleted_at","is",null).executeTakeFirst();l.factory(!T8,m.notFound,`${F} not found: ${B}`,"NOT_FOUND");let k8=T8.id,u8=await x.selectFrom("document_edit_state").selectAll().where("entity_id","=",k8).executeTakeFirst(),U8=new Date(Date.now()-lY).toISOString();if(u8&&u8.session_id!==n&&u8.last_activity_at>=U8)l.factory(!0,m.conflict,"Document is locked by another session","EDIT_CONFLICT");await x.insertInto("document_drafts").values({entity_id:k8,content:t,updated_at:K8}).onConflict(($4)=>$4.column("entity_id").doUpdateSet({content:t,updated_at:K8})).execute();let O6=!await i(x,$8,{id:B,sessionId:n}),b6=await f8(x,$8,{id:B});return l.factory(!b6,m.notFound,`${F} not found after draft save: ${B}`,"NOT_FOUND"),{...b6,lockLost:O6}},Y6=async(x,$8,{id:B,sessionId:t})=>{let n=l1(B);l.factory(!n,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:b,seq:y}=n,u=F1.getContentTypeLabel(b),F=E1(),K8=await x.selectFrom("entities as e").innerJoin("document_drafts as dd","dd.entity_id","e.id").select(["e.id as entity_id","dd.content"]).where("e.store_id","=",Y).where("e.type_code","=",b).where("e.seq","=",y).where("e.deleted_at","is",null).executeTakeFirst();l.factory(!K8,m.notFound,`No draft found for ${u}: ${B}`,"DRAFT_NOT_FOUND");let T8=K8.entity_id,k8=await x.selectFrom("document_edit_state").selectAll().where("entity_id","=",T8).executeTakeFirst(),u8=new Date(Date.now()-lY).toISOString();if(k8&&k8.session_id!==t&&k8.last_activity_at>=u8)l.factory(!0,m.conflict,"Document is locked by another session","EDIT_CONFLICT");let l8=((await x.selectFrom("document_versions").select(x.fn.max("version_number").as("max_version")).where("entity_id","=",T8).executeTakeFirst())?.max_version||0)+1,O6=await x.insertInto("document_versions").values({entity_id:T8,version_number:l8,content:K8.content,published_at:F}).returningAll().executeTakeFirstOrThrow();await x.updateTable("documents").set({published_version_id:O6.id}).where("entity_id","=",T8).execute(),await x.deleteFrom("document_drafts").where("entity_id","=",T8).execute(),await x.deleteFrom("document_edit_state").where("entity_id","=",T8).execute();let b6=await f8(x,$8,{id:B});return l.factory(!b6,m.notFound,`${u} not found after publish: ${B}`,"NOT_FOUND"),b6},z1=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:n,seq:b}=t,y=F1.getContentTypeLabel(n),u=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",n).where("seq","=",b).where("deleted_at","is",null).executeTakeFirst();l.factory(!u,m.notFound,`${y} not found: ${B}`,"NOT_FOUND"),await x.deleteFrom("document_drafts").where("entity_id","=",u.id).execute();let F=await f8(x,$8,{id:B});return l.factory(!F,m.notFound,`${y} not found after discard: ${B}`,"NOT_FOUND"),F},C1=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let{typeCode:n,seq:b}=t,y=await x.selectFrom("entities as e").innerJoin("document_drafts as dd","dd.entity_id","e.id").select(["e.object_id","dd.content","dd.updated_at"]).where("e.store_id","=",Y).where("e.type_code","=",n).where("e.seq","=",b).where("e.deleted_at","is",null).executeTakeFirst();if(!y)return null;return{entityId:y.object_id,content:y.content,updatedAt:y.updated_at}},R4=async(x,$8,{id:B,versionNumber:t})=>{let n=l1(B);if(!n)return null;let{typeCode:b,seq:y}=n,u=await x.selectFrom("entities as e").innerJoin("document_versions as dv","dv.entity_id","e.id").select(["e.object_id","dv.version_number","dv.content","dv.published_at"]).where("e.store_id","=",Y).where("e.type_code","=",b).where("e.seq","=",y).where("e.deleted_at","is",null).where("dv.version_number","=",t).executeTakeFirst();if(!u)return null;return{entityId:u.object_id,versionNumber:u.version_number,content:u.content,publishedAt:u.published_at}},C4=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return[];let{typeCode:n,seq:b}=t;return(await x.selectFrom("entities as e").innerJoin("document_versions as dv","dv.entity_id","e.id").select(["dv.version_number","dv.published_at"]).where("e.store_id","=",Y).where("e.type_code","=",n).where("e.seq","=",b).where("e.deleted_at","is",null).orderBy("dv.version_number","desc").execute()).map((u)=>({versionNumber:u.version_number,publishedAt:u.published_at}))},h$=async(x,$8,B,t,n)=>{let b=F1.getEntityFactory(n),y=await v(x,B),u=await x.selectFrom("entities as e").innerJoin("documents as d","d.entity_id","e.id").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","e.id").select(["e.id as entity_id","e.object_id","e.parent_folder_id","e.parent_object_id","e.name","e.created_at","e.updated_at","dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft")]).where("e.store_id","=",Y).where("e.type_code","=",n).where("e.parent_folder_id",y===null?"is":"=",y).where("e.name","=",t).where("e.deleted_at","is",null).executeTakeFirst();if(!u)return null;let F=u.entity_id;H.set(F,u.object_id);let K8=await A(x,F),T8=await D(x,F),{entity:k8,mutationApi:u8}=b(u,u.object_id,u.parent_object_id,K8,u.published_version_number,u.has_draft===1,u.draft_content??null,u.published_content??null);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);return{entity:k8,mutationApi:u8,pk:F}},A8=async(x,$8,{parentId:B,type:t})=>{let n=F1.getEntityFactory(t),b=await v(x,B),y=await x.selectFrom("entities as e").innerJoin("documents as d","d.entity_id","e.id").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","e.id").leftJoin("document_edit_state as es","es.entity_id","e.id").select(["e.id as entity_id","e.object_id","e.parent_folder_id","e.parent_object_id","e.name","e.created_at","e.updated_at","dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft"),"es.session_id as edit_session_id","es.started_at as edit_started_at","es.last_activity_at as edit_activity"]).where("e.store_id","=",Y).where("e.type_code","=",t).where("e.parent_folder_id",b===null?"is":"=",b).where("e.deleted_at","is",null).execute(),u=[];for(let F of y){let K8=F.entity_id;H.set(K8,F.object_id);let T8=await A(x,K8),k8=await D(x,K8),{entity:u8,mutationApi:U8}=n(F,F.object_id,F.parent_object_id,T8,F.published_version_number,F.has_draft===1,F.draft_content??null,F.published_content??null);for(let l8 of k8)U8.setField(l8.getDefinition().getName(),l8);if(F.edit_session_id)U8.setEditState({sessionId:F.edit_session_id,startedAt:F.edit_started_at,lastActivityAt:F.edit_activity});u.push({entity:u8,mutationApi:U8,pk:K8})}return u},M8=async(x,$8,{id:B,sessionId:t})=>{let n=l1(B);l.factory(!n,m.validation,`Invalid ID: ${B}`,"INVALID_ID");let b=E1(),y=new Date(Date.now()-lY).toISOString(),u=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",n.typeCode).where("seq","=",n.seq).where("deleted_at","is",null).executeTakeFirst();l.factory(!u,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND");let F=u.id,K8=await x.selectFrom("document_edit_state").selectAll().where("entity_id","=",F).executeTakeFirst();if(K8)if(K8.session_id===t)return await x.updateTable("document_edit_state").set({started_at:b,last_activity_at:b}).where("entity_id","=",F).execute(),{success:!0};else if(K8.last_activity_at<y)return await x.updateTable("document_edit_state").set({session_id:t,started_at:b,last_activity_at:b}).where("entity_id","=",F).execute(),{success:!0};else return{success:!1,meta:{lockedBy:K8.session_id,lockedSince:K8.started_at,timeoutSeconds:lY/1000}};else return await x.insertInto("document_edit_state").values({entity_id:F,session_id:t,started_at:b,last_activity_at:b}).execute(),{success:!0}},i=async(x,$8,{id:B,sessionId:t})=>{let n=l1(B);if(!n)return!1;let b=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",n.typeCode).where("seq","=",n.seq).executeTakeFirst();if(!b)return!1;return((await x.updateTable("document_edit_state").set({last_activity_at:E1()}).where("entity_id","=",b.id).where("session_id","=",t).execute())[0]?.numUpdatedRows||0)>0},J8=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid ID: ${B}`,"INVALID_ID");let n=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",t.typeCode).where("seq","=",t.seq).executeTakeFirst();l.factory(!n,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND"),await x.deleteFrom("document_edit_state").where("entity_id","=",n.id).execute()},s=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let n=await x.selectFrom("entities as e").innerJoin("document_edit_state as es","es.entity_id","e.id").select(["es.session_id","es.started_at","es.last_activity_at"]).where("e.store_id","=",Y).where("e.type_code","=",t.typeCode).where("e.seq","=",t.seq).executeTakeFirst();if(!n)return null;return{sessionId:n.session_id,startedAt:n.started_at,lastActivityAt:n.last_activity_at}},w8=async(x,$8,{storeCode:B})=>{if(B!==void 0)j(B);let t=await C3.readEntityTypeId(x,$8,"f","root_s"),n=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.entity_type_id","=",t).where("entities.deleted_at","is",null).executeTakeFirst();if(!n)return null;let{id:b,object_id:y}=n;H.set(b,y);let u=await A(x,b),F=await D(x,b),{entity:K8,mutationApi:T8}=i5.createFromRow(n,y,n.parent_object_id,u);for(let k8 of F)T8.setField(k8.getDefinition().getName(),k8);return{entity:K8,mutationApi:T8,pk:b}},q8=async(x,$8,{storeCode:B})=>{if(B!==void 0)j(B);let t=await C3.readEntityTypeId(x,$8,"s",null),n=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").selectAll("entities").where("entities.store_id","=",Y).where("entities.entity_type_id","=",t).where("entities.deleted_at","is",null).execute(),b=[];for(let y of n){let{id:u,object_id:F}=y;H.set(u,F);let K8=await A(x,u),T8=await D(x,u),{entity:k8,mutationApi:u8}=v_.createFromRow(y,F,y.parent_object_id,K8);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);b.push({entity:k8,mutationApi:u8,pk:u})}return b},W8=async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let n=l1(B);if(!n)return null;if(n.typeCode!=="s")return null;let b=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").selectAll("entities").where("entities.store_id","=",Y).where("entities.seq","=",n.seq).where("entities.type_code","=","s").where("entities.deleted_at","is",null).executeTakeFirst();if(!b)return null;let y=b.id;H.set(y,B);let u=await A(x,y),F=await D(x,y),{entity:K8,mutationApi:T8}=v_.createFromRow(b,B,b.parent_object_id,u);for(let k8 of F)T8.setField(k8.getDefinition().getName(),k8);return{entity:K8,mutationApi:T8,pk:y}},D8=Object.freeze({...Z,getCodes:O,getType:X,getCode:w,getPk:T,toJSON:G,createFolder:h,readFolder:Q,updateFolder:I,deleteFolder:N,isDuplicateNameInParent:E,findFolderByName:p,listFolderContents:c,getFolderByPath:r,readRootFolderForType:P8,createContent:C8,readContent:f8,updateContent:c8,deleteContent:m8,saveDraft:t8,readDraft:C1,publishContent:Y6,discardDraft:z1,readVersion:R4,getVersions:C4,findContentByName:h$,listContent:A8,createFieldDefinition:O8,readFieldDefinition:R8,readDefaultFieldDefinition:S,findFieldDefinitionByName:I8,resolveFieldDefinition:_8,getFieldDefinitionsForOwner:g8,deleteFieldDefinition:d8,setFieldValue:z8,deleteFieldValue:v8,setEditState:M8,clearEditState:J8,getEditState:s,readStoryRootFolder:w8,listStories:q8,readStory:W8,createStory:async(x,$8,{storeCode:B,parentId:t,name:n})=>{if(B!==void 0)j(B);l.factory(!n,m.validation,"Story name is required","MISSING_NAME");let b=E1(),y=await C3.readEntityTypeId(x,$8,"s",null),u=await f7.nextSeq(x,"store",Y,"s"),F=await v(x,t),K8=rT(K,"s",u),T8=await x.insertInto("entities").values({store_id:Y,object_id:K8,entity_type_id:y,type_code:"s",seq:u,parent_folder_id:F,parent_object_id:t,name:n,created_at:b,updated_at:b}).returningAll().executeTakeFirstOrThrow();await x.insertInto("folders").values({entity_id:T8.id}).execute();let k8=T8.id;H.set(k8,K8);let u8=await A(x,k8),{entity:U8,mutationApi:l8}=v_.createFromRow(T8,K8,t,u8);return{entity:U8,mutationApi:l8,pk:k8}},deleteStory:async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let n=l1(B);l.factory(!n,m.validation,`Invalid story ID: ${B}`,"INVALID_ID"),l.factory(n.typeCode!=="s",m.validation,`Not a story ID: ${B}`,"INVALID_TYPE");let b=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",n.seq).where("type_code","=","s").where("deleted_at","is",null).executeTakeFirst();l.factory(!b,m.notFound,`Story not found: ${B}`,"STORY_NOT_FOUND");let y=b.id;H.set(y,B);let u=await A(x,y),F=await R(x,y),K8=E1();await x.updateTable("entities").set({deleted_at:K8}).where("id","in",[y,...F]).execute();let T8=[];for(let k8 of F){let u8=await x.selectFrom("entities").select("object_id").where("id","=",k8).executeTakeFirst();if(u8)T8.push(u8.object_id)}return{id:B,deleted:!0,descendantCount:F.length,path:u,descendantIds:T8,deletedPks:[y,...F]}},createAsset:async(x,$8,{storeCode:B,hash:t,mimeType:n,sizeBytes:b,originalFilename:y,widthPx:u,heightPx:F,displayWidth:K8,displayHeight:T8})=>{if(B!==void 0)j(B);let k8=E1(),u8=await C3.readEntityTypeId(x,$8,"a",null),U8=await f7.nextSeq(x,"store",Y,"a"),l8=rT(K,"a",U8),O6=await x.insertInto("entities").values({store_id:Y,object_id:l8,entity_type_id:u8,type_code:"a",seq:U8,parent_folder_id:null,parent_object_id:null,name:y,created_at:k8,updated_at:k8}).returningAll().executeTakeFirstOrThrow();await x.insertInto("assets").values({entity_id:O6.id,hash:t,mime_type:n,size_bytes:b,original_filename:y,width_px:u,height_px:F,display_width:K8,display_height:T8}).execute();let b6=O6.id;H.set(b6,l8);let{entity:$4,mutationApi:j7}=V_.createFromRow({...O6,hash:t,mime_type:n,size_bytes:b,original_filename:y,width_px:u,height_px:F,display_width:K8,display_height:T8},l8);return{entity:$4,mutationApi:j7,pk:b6}},readAsset:async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let n=l1(B);if(!n)return null;if(n.typeCode!=="a")return null;let b=await x.selectFrom("entities").innerJoin("assets","assets.entity_id","entities.id").selectAll().where("entities.store_id","=",Y).where("entities.seq","=",n.seq).where("entities.type_code","=","a").where("entities.deleted_at","is",null).executeTakeFirst();if(!b)return null;let y=b.id;H.set(y,B);let{entity:u,mutationApi:F}=V_.createFromRow(b,B);return{entity:u,mutationApi:F,pk:y}},listAssets:async(x,$8,{storeCode:B})=>{if(B!==void 0)j(B);let t=await x.selectFrom("entities").innerJoin("assets","assets.entity_id","entities.id").selectAll().where("entities.store_id","=",Y).where("entities.type_code","=","a").where("entities.deleted_at","is",null).execute(),n=[];for(let b of t){let{id:y,object_id:u}=b;H.set(y,u);let{entity:F,mutationApi:K8}=V_.createFromRow(b,u);n.push({entity:F,mutationApi:K8,pk:y})}return n},deleteAsset:async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let n=l1(B);l.factory(!n,m.validation,`Invalid asset ID: ${B}`,"INVALID_ID"),l.factory(n.typeCode!=="a",m.validation,`Not an asset ID: ${B}`,"INVALID_TYPE");let b=await x.selectFrom("entities").innerJoin("assets","assets.entity_id","entities.id").selectAll().where("entities.store_id","=",Y).where("entities.seq","=",n.seq).where("entities.type_code","=","a").where("entities.deleted_at","is",null).executeTakeFirst();l.factory(!b,m.notFound,`Asset not found: ${B}`,"ASSET_NOT_FOUND");let y=E1();return await x.updateTable("entities").set({deleted_at:y}).where("id","=",b.id).execute(),H.set(b.id,B),{id:B,deleted:!0,hash:b.hash}},listStateFolders:async(x,$8,{storyId:B})=>{let t=await x.selectFrom("entities").select("id").where("object_id","=",B).where("store_id","=",Y).where("deleted_at","is",null).executeTakeFirst();if(!t)return[];let n=await C3.readEntityTypeId(x,$8,"f","state_folder"),b=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.parent_folder_id","=",t.id).where("entities.entity_type_id","=",n).where("entities.deleted_at","is",null).execute(),y=[];for(let u of b){let{id:F,object_id:K8}=u;H.set(F,K8);let T8=await A(x,F),k8=await D(x,F),{entity:u8,mutationApi:U8}=i5.createFromRow(u,K8,u.parent_object_id,T8);for(let l8 of k8)U8.setField(l8.getDefinition().getName(),l8);y.push({entity:u8,mutationApi:U8,pk:F})}return y},findStateFolderByState:async(x,$8,{storyId:B,state:t})=>{let n=await x.selectFrom("entities").select("id").where("object_id","=",B).where("store_id","=",Y).where("deleted_at","is",null).executeTakeFirst();if(!n)return null;let b=await C3.readEntityTypeId(x,$8,"f","state_folder"),y=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").innerJoin("field_values","field_values.entity_id","entities.id").innerJoin("field_definitions","field_definitions.id","field_values.field_definition_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.parent_folder_id","=",n.id).where("entities.entity_type_id","=",b).where("field_definitions.store_id","=",Y).where("field_definitions.name","=","state").where("field_definitions.owner_entity_id","is",null).where("field_values.value","=",t).where("entities.deleted_at","is",null).executeTakeFirst();if(!y)return null;let{id:u,object_id:F}=y;H.set(u,F);let K8=await A(x,u),T8=await D(x,u),{entity:k8,mutationApi:u8}=i5.createFromRow(y,F,y.parent_object_id,K8);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);return{entity:k8,mutationApi:u8,pk:u}}}),H8=Object.freeze({...P});return{store:D8,mutationApi:H8}},uO8=Object.freeze({create:fA6});var NA6=({inner:$,folderCache:K,contentCache:q,fieldDefinitionCache:Y,storyCache:J,assetCache:z})=>{let W=async(i,J8,s,w8)=>{let q8=await $.createFolder(i,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{K.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},H=async(i,J8,{id:s})=>{let w8=K.get(s);if(w8)return w8.getEntity();let q8=await $.readFolder(i,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return K.set(s,k6.create(W8,j8,x8)),W8},Z=async(i,J8,s,w8)=>{let{id:q8}=s,W8=K.get(q8),j8=await $.updateFolder(i,J8,s),x8=s.name!==void 0&&s.name!==j8.oldValues.name||s.parentId!==void 0&&s.parentId!==j8.oldValues.parentId;return w8(()=>{if(W8){let j6=W8.getMutationApi();if(s.name!==void 0)j6.setName(s.name);if(s.parentId!==void 0)j6.setParentId(s.parentId);j6.setUpdatedAt(j8.entity.getUpdatedAt()),j6.setPath(j8.entity.getPath())}else{let{entity:j6,mutationApi:E$,pk:y3}=j8;K.set(q8,k6.create(j6,E$,y3))}if(x8){let E$=j8.oldValues.path+"/";for(let[y3,u3]of K.entries())if(u3.getEntity().getPath().startsWith(E$))K.remove(y3)}}),{entity:W8?W8.getEntity():j8.entity,oldValues:j8.oldValues}},P=async(i,J8,{id:s},w8)=>{let q8=K.get(s),W8=q8?q8.getEntity().getPath():null,j8=await $.deleteFolder(i,J8,{id:s});return w8(()=>{K.remove(s);for(let x8 of j8.descendantIds||[])K.remove(x8)}),{...j8,path:W8}},O=async(i,J8,s)=>{let w8=await $.listFolderContents(i,J8,s);for(let q8 of w8)K.set(q8.entity.getObjectId(),k6.create(q8.entity,q8.mutationApi,q8.pk));return w8.map((q8)=>q8.entity)},X=async(i,J8,s)=>{let w8=await $.getFolderByPath(i,J8,s);if(!w8)return null;let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},w=async(i,J8,s,w8)=>{let q8=await $.findFolderByName(i,J8,s,w8);if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return K.set(W8.getObjectId(),k6.create(W8,j8,x8)),W8},T=async(i,J8,s)=>{let w8=await $.readRootFolderForType(i,J8,s);if(!w8)return null;let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},G=async(i,J8,s,w8,q8)=>{return $.isDuplicateNameInParent(i,J8,s,w8,q8)},j=async(i,J8,s,w8)=>{let q8=await $.createContent(i,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{q.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},v=async(i,J8,{id:s})=>{let w8=q.get(s);if(w8)return w8.getEntity();let q8=await $.readContent(i,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return q.set(s,k6.create(W8,j8,x8)),W8},A=async(i,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.updateContent(i,J8,s);return w8(()=>{if(W8){let x8=W8.getMutationApi();if(s.name!==void 0)x8.setName(s.name);if(s.parentId!==void 0)x8.setParentId(s.parentId);x8.setUpdatedAt(j8.entity.getUpdatedAt()),x8.setPath(j8.entity.getPath())}else{let{entity:x8,mutationApi:T6,pk:j6}=j8;q.set(q8,k6.create(x8,T6,j6))}}),W8?W8.getEntity():j8.entity},R=async(i,J8,{id:s},w8)=>{let q8=q.get(s),W8=q8?q8.getEntity().getPath():null,j8=await $.deleteContent(i,J8,{id:s});return w8(()=>{q.remove(s)}),{...j8,path:W8}},k=async(i,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.saveDraft(i,J8,s);w8(()=>{if(W8){let T6=W8.getMutationApi();T6.setDraftContent(j8.entity.getDraftContent()),T6.setHasDraft(j8.entity.hasDraftContent()),T6.setUpdatedAt(j8.entity.getUpdatedAt())}else{let{entity:T6,mutationApi:j6,pk:E$}=j8;q.set(q8,k6.create(T6,j6,E$))}});let x8=W8?W8.getEntity():j8.entity;if(j8.lockLost!==void 0)return{entity:x8,lockLost:j8.lockLost};return x8},f=async(i,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.publishContent(i,J8,s);if(W8){let x8=W8.getMutationApi();return x8.setPublishedVersionNumber(j8.entity.getPublishedVersionNumber()),x8.setPublishedContent(j8.entity.getPublishedContent()),x8.setDraftContent(null),x8.setHasDraft(!1),x8.setUpdatedAt(j8.entity.getUpdatedAt()),x8.setEditState(null),W8.getEntity()}else return w8(()=>{let{entity:x8,mutationApi:T6,pk:j6}=j8;q.set(q8,k6.create(x8,T6,j6))}),j8.entity},D=async(i,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.discardDraft(i,J8,s);return w8(()=>{if(W8){let x8=W8.getMutationApi();x8.setDraftContent(null),x8.setHasDraft(!1),x8.setUpdatedAt(j8.entity.getUpdatedAt())}else{let{entity:x8,mutationApi:T6,pk:j6}=j8;q.set(q8,k6.create(x8,T6,j6))}}),W8?W8.getEntity():j8.entity},S=async(i,J8,s)=>{return $.readDraft(i,J8,s)},h=async(i,J8,s)=>{return $.readVersion(i,J8,s)},Q=async(i,J8,s)=>{return $.getVersions(i,J8,s)},I=async(i,J8,s,w8,q8)=>{let W8=await $.findContentByName(i,J8,s,w8,q8);if(!W8)return null;let{entity:j8,mutationApi:x8,pk:T6}=W8;return q.set(j8.getObjectId(),k6.create(j8,x8,T6)),j8},N=async(i,J8,s)=>{let w8=await $.listContent(i,J8,s);for(let q8 of w8)q.set(q8.entity.getObjectId(),k6.create(q8.entity,q8.mutationApi,q8.pk));return w8.map((q8)=>q8.entity)},E=async(i,J8,s,w8)=>{let{id:q8}=s,W8=await $.setEditState(i,J8,s);return w8(()=>{q.remove(q8)}),W8},p=async(i,J8,s)=>{return $.getEditState(i,J8,s)},c=async(i,J8,s,w8)=>{let{id:q8}=s;await $.clearEditState(i,J8,s),w8(()=>{q.remove(q8)})},r=async(i,J8,s,w8)=>{let q8=await $.createFieldDefinition(i,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{Y.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},P8=async(i,J8,{id:s})=>{let w8=Y.get(s);if(w8)return w8.getEntity();let q8=await $.readFieldDefinition(i,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return Y.set(s,k6.create(W8,j8,x8)),W8},O8=async(i,J8,s,w8)=>{let q8=await $.findFieldDefinitionByName(i,J8,s,w8);if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return Y.set(W8.getObjectId(),k6.create(W8,j8,x8)),W8},R8=async(i,J8,s)=>{let w8=await $.getFieldDefinitionsForOwner(i,J8,s);for(let q8 of w8)Y.set(q8.entity.getObjectId(),k6.create(q8.entity,q8.mutationApi,q8.pk));return w8.map((q8)=>q8.entity)},I8=async(i,J8)=>{let s=`${$.getCode()}n1`,w8=Y.get(s);if(w8)return w8.getEntity();let q8=await $.readDefaultFieldDefinition(i,J8),{entity:W8,mutationApi:j8,pk:x8}=q8;return Y.set(W8.getObjectId(),k6.create(W8,j8,x8)),W8},_8=async(i,J8,s)=>{let w8=await $.resolveFieldDefinition(i,J8,s),{entity:q8,mutationApi:W8,pk:j8}=w8;return Y.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},g8=async(i,J8,{id:s},w8)=>{let q8=await $.deleteFieldDefinition(i,J8,{id:s});return w8(()=>{Y.remove(s)}),q8},d8=async(i,J8,s,w8)=>{let{entityId:q8}=s,W8=await $.setFieldValue(i,J8,s);return w8(()=>{let j8=K.get(q8)||q.get(q8)||J.get(q8);if(j8){let x8=j8.getMutationApi(),T6=W8.entity.getField(W8.fieldName);x8.setField(W8.fieldName,T6)}}),W8.entity},z8=async(i,J8,s)=>{return $.getFieldValue(i,J8,s)},v8=async(i,J8,s,w8)=>{let{entityId:q8}=s,W8=await $.deleteFieldValue(i,J8,s);w8(()=>{let j8=K.get(q8)||q.get(q8)||J.get(q8);if(j8)j8.getMutationApi().removeField(W8.fieldName)})},C8=async(i,J8,s,w8)=>{let q8=await $.createStory(i,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{let T6=W8.getObjectId();if(!J.get(T6))J.set(T6,k6.create(W8,j8,x8))}),W8},f8=async(i,J8,{id:s})=>{let w8=J.get(s);if(w8)return w8.getEntity();let q8=await $.readStory(i,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return J.set(s,k6.create(W8,j8,x8)),W8},c8=async(i,J8,s)=>{let w8=await $.listStories(i,J8,s);for(let q8 of w8){let{entity:W8,mutationApi:j8,pk:x8}=q8;J.set(W8.getObjectId(),k6.create(W8,j8,x8))}return w8.map((q8)=>q8.entity)},m8=async(i,J8,s,w8)=>{let{id:q8}=s,W8=await $.deleteStory(i,J8,s);return w8(()=>{J.remove(q8);for(let j8 of W8.descendantIds){let x8=j8[0];if(j8.startsWith(x8+"d")||j8.startsWith(x8+"t"))q.remove(j8);else if(j8.startsWith(x8+"f"))K.remove(j8)}}),W8},t8=async(i,J8,s)=>{let w8=await $.readStoryRootFolder(i,J8,s);if(!w8)return null;let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},Y6=async(i,J8,s,w8)=>{let q8=await $.createAsset(i,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{z.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},z1=async(i,J8,{id:s})=>{let w8=z.get(s);if(w8)return w8.getEntity();let q8=await $.readAsset(i,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return z.set(s,k6.create(W8,j8,x8)),W8},C1=async(i,J8,s)=>{let w8=await $.listAssets(i,J8,s),q8=[];for(let W8 of w8){let{entity:j8,mutationApi:x8,pk:T6}=W8;z.set(j8.getObjectId(),k6.create(j8,x8,T6)),q8.push(j8)}return q8},R4=async(i,J8,s,w8)=>{let{id:q8}=s,W8=await $.deleteAsset(i,J8,s);return w8(()=>{z.remove(q8)}),W8},C4=async(i,J8,s)=>{let w8=await $.listStateFolders(i,J8,s);for(let q8 of w8){let{entity:W8,mutationApi:j8,pk:x8}=q8;K.set(W8.getObjectId(),k6.create(W8,j8,x8))}return w8.map((q8)=>q8.entity)},h$=async(i,J8,s)=>{let w8=await $.findStateFolderByState(i,J8,s);if(w8){let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8}return null},A8=(i)=>{K.remove(i)};return Object.freeze({getObjectId:$.getObjectId,getName:$.getName,getCreatedAt:$.getCreatedAt,getUpdatedAt:$.getUpdatedAt,getCodes:$.getCodes,getType:$.getType,getCode:$.getCode,getPk:$.getPk,toJSON:$.toJSON,createFolder:W,readFolder:H,updateFolder:Z,deleteFolder:P,listFolderContents:O,getFolderByPath:X,findFolderByName:w,readRootFolderForType:T,isDuplicateNameInParent:G,createContent:j,readContent:v,updateContent:A,deleteContent:R,saveDraft:k,readDraft:S,publishContent:f,discardDraft:D,readVersion:h,getVersions:Q,findContentByName:I,listContent:N,setEditState:E,getEditState:p,clearEditState:c,createFieldDefinition:r,readFieldDefinition:P8,findFieldDefinitionByName:O8,getFieldDefinitionsForOwner:R8,readDefaultFieldDefinition:I8,resolveFieldDefinition:_8,deleteFieldDefinition:g8,setFieldValue:d8,getFieldValue:z8,deleteFieldValue:v8,createStory:C8,readStory:f8,listStories:c8,deleteStory:m8,readStoryRootFolder:t8,createAsset:Y6,readAsset:z1,listAssets:C1,deleteAsset:R4,listStateFolders:C4,findStateFolderByState:h$,evictFolder:A8})},mO8=Object.freeze({create:NA6});var RA6=($)=>{let K=new Map;return $.forEach((z)=>K.set(z,new Set)),Object.freeze({subscribe:(z,W)=>{return K.get(z)?.add(W),()=>K.get(z)?.delete(W)},subscribeAll:(z)=>{let W=[];for(let[H,Z]of K){let P=`on${H.charAt(0).toUpperCase()}${H.slice(1)}`;if(z[P])Z.add(z[P]),W.push(()=>Z.delete(z[P]))}return()=>W.forEach((H)=>H())},notify:(z,W)=>{K.get(z)?.forEach((H)=>{try{H(W)}catch(Z){console.error(`Error in ${z} handler:`,Z)}})}})},BO8=Object.freeze({create:RA6});var J6=Object.freeze({FOLDER_CREATED:"folderCreated",FOLDER_RENAMED:"folderRenamed",FOLDER_MOVED:"folderMoved",FOLDER_DELETED:"folderDeleted",DOCUMENT_CREATED:"documentCreated",DOCUMENT_RENAMED:"documentRenamed",DOCUMENT_MOVED:"documentMoved",DOCUMENT_DELETED:"documentDeleted",DOCUMENT_PUBLISHED:"documentPublished",DRAFT_SAVED:"draftSaved",DRAFT_DISCARDED:"draftDiscarded",TEMPLATE_CREATED:"templateCreated",TEMPLATE_RENAMED:"templateRenamed",TEMPLATE_MOVED:"templateMoved",TEMPLATE_DELETED:"templateDeleted",TEMPLATE_PUBLISHED:"templatePublished",TEMPLATE_DRAFT_SAVED:"templateDraftSaved",TEMPLATE_DRAFT_DISCARDED:"templateDraftDiscarded",EDIT_STATE_ACQUIRED:"editStateAcquired",EDIT_STATE_REFRESHED:"editStateRefreshed",EDIT_STATE_CLEARED:"editStateCleared",STORY_CREATED:"storyCreated",STORY_DELETED:"storyDeleted",STORY_STATE_CHANGED:"storyStateChanged",ASSET_CREATED:"assetCreated",ASSET_DELETED:"assetDeleted"});var CA6=({inner:$,storeCode:K})=>{let q=BO8.create([J6.FOLDER_CREATED,J6.FOLDER_RENAMED,J6.FOLDER_MOVED,J6.FOLDER_DELETED,J6.DOCUMENT_CREATED,J6.DOCUMENT_RENAMED,J6.DOCUMENT_MOVED,J6.DOCUMENT_DELETED,J6.DOCUMENT_PUBLISHED,J6.DRAFT_SAVED,J6.DRAFT_DISCARDED,J6.TEMPLATE_CREATED,J6.TEMPLATE_RENAMED,J6.TEMPLATE_MOVED,J6.TEMPLATE_DELETED,J6.TEMPLATE_PUBLISHED,J6.TEMPLATE_DRAFT_SAVED,J6.TEMPLATE_DRAFT_DISCARDED,J6.EDIT_STATE_ACQUIRED,J6.EDIT_STATE_REFRESHED,J6.EDIT_STATE_CLEARED,J6.STORY_CREATED,J6.STORY_DELETED,J6.STORY_STATE_CHANGED,J6.ASSET_CREATED,J6.ASSET_DELETED]),Y=async(A8,M8,i)=>{let J8=await $.readFolder(A8,M8,{id:i});if(!J8)return null;let s=await A8.selectFrom("entities").innerJoin("entity_types","entities.entity_type_id","entity_types.id").select(["entity_types.code as entity_type_code","entity_types.subtype as entity_type_subtype"]).where("entities.object_id","=",i).executeTakeFirst();if(s?.entity_type_code==="f"&&s?.entity_type_subtype==="root_d")return"d";if(s?.entity_type_code==="f"&&s?.entity_type_subtype==="root_t")return"t";let w8=await $.readRootFolderForType(A8,M8,"d"),q8=await $.readRootFolderForType(A8,M8,"t"),W8=J8;while(W8&&W8.getParentId()!==null){let j8=await $.readFolder(A8,M8,{id:W8.getParentId()});if(!j8)break;W8=j8}if(W8&&W8.getObjectId()===w8?.getObjectId())return"d";else if(W8&&W8.getObjectId()===q8?.getObjectId())return"t";return null},J=async(A8,M8,i,J8)=>{let{parentId:s,subtype:w8}=i,q8=await $.createFolder(A8,M8,i,J8),W8=null;if(w8==="root_d")W8="d";else if(w8==="root_t")W8="t";else if(w8==="state_folder")W8="d";else{let j8=await $.readRootFolderForType(A8,M8,"d"),x8=await $.readRootFolderForType(A8,M8,"t");if(s===j8?.getObjectId())W8="d";else if(s===x8?.getObjectId())W8="t";else if(s){let T6=await $.readFolder(A8,M8,{id:s});if(T6){let j6=T6;while(j6&&j6.getParentId()!==null){let E$=await $.readFolder(A8,M8,{id:j6.getParentId()});if(!E$)break;j6=E$}if(j6&&j6.getObjectId()===j8?.getObjectId())W8="d";else if(j6&&j6.getObjectId()===x8?.getObjectId())W8="t"}}}return J8(()=>{q.notify(J6.FOLDER_CREATED,{id:q8.getObjectId(),storeCode:K,name:q8.getName(),path:q8.getPath(),parentFolderId:s,contentType:W8})}),q8},z=async(A8,M8,i)=>{return $.readFolder(A8,M8,i)},W=async(A8,M8,i,J8)=>{let{id:s,name:w8,parentId:q8}=i,W8=await $.updateFolder(A8,M8,i,J8),j8=W8.entity,x8=W8.oldValues.name,T6=W8.oldValues.parentId,j6=await Y(A8,M8,s);if(w8!==void 0&&w8!==x8)J8(()=>{q.notify(J6.FOLDER_RENAMED,{id:s,storeCode:K,parentFolderId:j8.getParentId(),contentType:j6,oldName:x8,newName:w8,path:j8.getPath()})});if(q8!==void 0&&q8!==T6)J8(()=>{q.notify(J6.FOLDER_MOVED,{id:s,storeCode:K,contentType:j6,oldParentFolderId:T6,parentFolderId:q8,path:j8.getPath()})});return j8},H=async(A8,M8,i,J8)=>{let{id:s}=i,q8=(await $.readFolder(A8,M8,{id:s}))?.getParentId(),W8=await Y(A8,M8,s),j8=await $.deleteFolder(A8,M8,i,J8);return J8(()=>{q.notify(J6.FOLDER_DELETED,{id:s,storeCode:K,parentFolderId:q8,contentType:W8,path:j8.path,descendantCount:j8.descendantIds?.length||0})}),j8},Z=async(A8,M8,i)=>{return $.listFolderContents(A8,M8,i)},P=async(A8,M8,i)=>{return $.getFolderByPath(A8,M8,i)},O=async(A8,M8,i,J8)=>{return $.findFolderByName(A8,M8,i,J8)},X=async(A8,M8,i)=>{return $.readRootFolderForType(A8,M8,i)},w=async(A8,M8,i,J8,s)=>{return $.isDuplicateNameInParent(A8,M8,i,J8,s)},T=async(A8,M8,i,J8)=>{let{type:s,parentId:w8}=i,q8=await $.createContent(A8,M8,i,J8),W8=s==="t"?J6.TEMPLATE_CREATED:J6.DOCUMENT_CREATED;return J8(()=>{q.notify(W8,{storeCode:K,id:q8.getObjectId(),type:s,parentFolderId:w8,name:q8.getName(),path:q8.getPath()})}),q8},G=async(A8,M8,i)=>{return $.readContent(A8,M8,i)},j=async(A8,M8,i,J8)=>{let{id:s,name:w8,parentId:q8}=i,W8=F1.getTypeFromId(s),j8=await $.readContent(A8,M8,{id:s}),x8=j8?.getName(),T6=j8?.getParentId(),j6=await $.updateContent(A8,M8,i,J8),E$=W8==="t"?J6.TEMPLATE_RENAMED:J6.DOCUMENT_RENAMED,y3=W8==="t"?J6.TEMPLATE_MOVED:J6.DOCUMENT_MOVED;if(w8!==void 0&&w8!==x8)J8(()=>{q.notify(E$,{storeCode:K,id:s,type:W8,parentFolderId:j6.getParentId(),oldName:x8,newName:w8,path:j6.getPath()})});if(q8!==void 0&&q8!==T6)J8(()=>{q.notify(y3,{storeCode:K,id:s,type:W8,oldParentFolderId:T6,parentFolderId:q8,path:j6.getPath()})});return j6},v=async(A8,M8,i,J8)=>{let{id:s}=i,w8=F1.getTypeFromId(s),W8=(await $.readContent(A8,M8,{id:s}))?.getParentId(),j8=await $.deleteContent(A8,M8,i,J8),x8=w8==="t"?J6.TEMPLATE_DELETED:J6.DOCUMENT_DELETED;return J8(()=>{q.notify(x8,{storeCode:K,id:s,type:w8,parentFolderId:W8,path:j8.path})}),j8},A=async(A8,M8,i,J8)=>{let{id:s}=i,w8=F1.getTypeFromId(s),W8=(await $.readContent(A8,M8,{id:s}))?.getParentId(),j8=await $.saveDraft(A8,M8,i,J8),x8=w8==="t"?J6.TEMPLATE_DRAFT_SAVED:J6.DRAFT_SAVED;return J8(()=>{let T6=j8.lockLost!==void 0?j8.entity:j8;q.notify(x8,{storeCode:K,id:s,type:w8,parentFolderId:W8,updatedAt:T6?T6.getUpdatedAt():null,lockLost:j8.lockLost})}),j8},R=async(A8,M8,i)=>{return $.readDraft(A8,M8,i)},k=async(A8,M8,i,J8)=>{let{id:s}=i,w8=F1.getTypeFromId(s),q8=await $.publishContent(A8,M8,i,J8),W8=w8==="t"?J6.TEMPLATE_PUBLISHED:J6.DOCUMENT_PUBLISHED;return J8(()=>{q.notify(W8,{storeCode:K,id:s,type:w8,parentFolderId:q8.getParentId(),versionNumber:q8.getPublishedVersionNumber()})}),{entityId:s,versionNumber:q8.getPublishedVersionNumber(),content:q8.getPublishedContent(),publishedAt:q8.getUpdatedAt()}},f=async(A8,M8,i,J8)=>{let{id:s}=i,w8=F1.getTypeFromId(s),q8=await $.discardDraft(A8,M8,i,J8),W8=w8==="t"?J6.TEMPLATE_DRAFT_DISCARDED:J6.DRAFT_DISCARDED;return J8(()=>{q.notify(W8,{storeCode:K,id:s})}),q8},D=async(A8,M8,i)=>{return $.readVersion(A8,M8,i)},S=async(A8,M8,i)=>{return $.getVersions(A8,M8,i)},h=async(A8,M8,i,J8,s)=>{return $.findContentByName(A8,M8,i,J8,s)},Q=async(A8,M8,i)=>{return $.listContent(A8,M8,i)},I=async(A8,M8,i,J8)=>{let s=await $.setEditState(A8,M8,i,J8);if(s.success){let w8=F1.getTypeFromId(i.id);J8(()=>{q.notify(J6.EDIT_STATE_ACQUIRED,{id:i.id,type:w8,storeCode:K,sessionId:i.sessionId})})}return s},N=async(A8,M8,i)=>{return $.getEditState(A8,M8,i)},E=async(A8,M8,i,J8)=>{await $.clearEditState(A8,M8,i,J8);let s=F1.getTypeFromId(i.id);J8(()=>{q.notify(J6.EDIT_STATE_CLEARED,{id:i.id,type:s,storeCode:K})})},p=async(A8,M8,i,J8)=>{return $.createFieldDefinition(A8,M8,i,J8)},c=async(A8,M8,i)=>{return $.readFieldDefinition(A8,M8,i)},r=async(A8,M8,i,J8)=>{return $.findFieldDefinitionByName(A8,M8,i,J8)},P8=async(A8,M8,i)=>{return $.getFieldDefinitionsForOwner(A8,M8,i)},O8=async(A8,M8)=>{return $.readDefaultFieldDefinition(A8,M8)},R8=async(A8,M8,i)=>{return $.resolveFieldDefinition(A8,M8,i)},I8=async(A8,M8,i,J8)=>{return $.deleteFieldDefinition(A8,M8,i,J8)},_8=async(A8,M8,i,J8)=>{return $.setFieldValue(A8,M8,i,J8)},g8=async(A8,M8,i)=>{return $.getFieldValue(A8,M8,i)},d8=async(A8,M8,i,J8)=>{return $.deleteFieldValue(A8,M8,i,J8)},z8=async(A8,M8,i,J8)=>{let{parentId:s,state:w8="prep"}=i,q8=await $.createStory(A8,M8,i,J8);return J8(()=>{q.notify(J6.STORY_CREATED,{id:q8.getObjectId(),storeCode:K,name:q8.getName(),path:q8.getPath(),parentFolderId:s,state:w8})}),q8},v8=async(A8,M8,i)=>{return $.readStory(A8,M8,i)},C8=async(A8,M8,i)=>{return $.listStories(A8,M8,i)},f8=async(A8,M8,i,J8)=>{let{id:s}=i,q8=(await $.readStory(A8,M8,{id:s}))?.getParentId()??null,W8=await $.deleteStory(A8,M8,i,J8);return J8(()=>{q.notify(J6.STORY_DELETED,{id:s,storeCode:K,path:W8.path,parentFolderId:q8,descendantCount:W8.descendantCount})}),W8},c8=async(A8,M8,i)=>{return $.readStoryRootFolder(A8,M8,i)},m8=async(A8,M8,i)=>{return $.listStateFolders(A8,M8,i)},t8=async(A8,M8,i)=>{return $.findStateFolderByState(A8,M8,i)},Y6=({id:A8,oldState:M8,newState:i})=>{q.notify(J6.STORY_STATE_CHANGED,{id:A8,storeCode:K,oldState:M8,newState:i})},z1=async(A8,M8,i,J8)=>{let s=await $.createAsset(A8,M8,i,J8);return J8(()=>{q.notify(J6.ASSET_CREATED,{id:s.getObjectId(),storeCode:K,hash:s.getHash(),mimeType:s.getMimeType(),originalFilename:s.getOriginalFilename()})}),s},C1=async(A8,M8,i)=>{return $.readAsset(A8,M8,i)},R4=async(A8,M8,i)=>{return $.listAssets(A8,M8,i)},C4=async(A8,M8,i,J8)=>{let{id:s}=i,w8=await $.deleteAsset(A8,M8,i,J8);return J8(()=>{q.notify(J6.ASSET_DELETED,{id:s,storeCode:K,hash:w8.hash})}),w8};return Object.freeze({getObjectId:$.getObjectId,getName:$.getName,getCreatedAt:$.getCreatedAt,getUpdatedAt:$.getUpdatedAt,getCodes:$.getCodes,getType:$.getType,getCode:$.getCode,getPk:$.getPk,toJSON:$.toJSON,createFolder:J,readFolder:z,updateFolder:W,deleteFolder:H,listFolderContents:Z,getFolderByPath:P,findFolderByName:O,readRootFolderForType:X,isDuplicateNameInParent:w,createContent:T,readContent:G,updateContent:j,deleteContent:v,saveDraft:A,readDraft:R,publishContent:k,discardDraft:f,readVersion:D,getVersions:S,findContentByName:h,listContent:Q,setEditState:I,getEditState:N,clearEditState:E,createFieldDefinition:p,readFieldDefinition:c,findFieldDefinitionByName:r,getFieldDefinitionsForOwner:P8,readDefaultFieldDefinition:O8,resolveFieldDefinition:R8,deleteFieldDefinition:I8,setFieldValue:_8,getFieldValue:g8,deleteFieldValue:d8,createStory:z8,readStory:v8,listStories:C8,deleteStory:f8,readStoryRootFolder:c8,emitStoryStateChanged:Y6,listStateFolders:m8,findStateFolderByState:t8,createAsset:z1,readAsset:C1,listAssets:R4,deleteAsset:C4,evictFolder:$.evictFolder,subscribe:q.subscribe,subscribeAll:q.subscribeAll})},UO8=Object.freeze({create:CA6});var DA6=($)=>{let{id:K,code:q,name:Y,pk:J,createdAt:z,updatedAt:W}=$,H=kZ.create(),Z=kZ.create(),P=kZ.create(),O=kZ.create(),X=kZ.create(),{store:w,mutationApi:T}=uO8.create({id:K,code:q,name:Y,pk:J,createdAt:z,updatedAt:W,folderCache:H}),G=mO8.create({inner:w,folderCache:H,contentCache:Z,fieldDefinitionCache:P,storyCache:O,assetCache:X});return{store:UO8.create({inner:G,storeCode:q}),mutationApi:T}},cO8=Object.freeze({create:DA6});z4();var hA6=({id:$,name:K,createdAt:q,updatedAt:Y,children:J=[]})=>{let z=[...J],W=new Map,{entityFns:H,mutationFns:Z}=t3.create({id:$,name:K,createdAt:q,updatedAt:Y}),P=()=>{W.clear();for(let N8 of z){let D8=N8.getCodes();for(let H8 of D8)W.set(H8,N8)}};P();let O=()=>"demux",X=()=>z.map((N8)=>N8.getObjectId()),w=()=>[...z],T=()=>{return new Set(W.keys())},G=()=>({id:$,name:K,createdAt:q,updatedAt:Y,type:"demux",childIds:X()}),j=(N8)=>{z.push(N8),P()},v=(N8)=>{return W.get(N8)??null},A=async(N8,D8,{store:H8,storeCode:x,parentId:$8,name:B,subtype:t},n)=>{let b=H8??x;l.factory(!b,m.validation,"store parameter is required","MISSING_STORE_CODE");let y=v(b);return l.factory(!y,m.notFound,`No child store with code: ${b}`,"STORE_NOT_FOUND"),y.createFolder(N8,D8,{storeCode:b,parentId:$8,name:B,subtype:t},n)},R=async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readFolder(N8,D8,{id:H8})},y3=Object.freeze({...H,getType:O,getCodes:T,getChildIds:X,getChildren:w,toJSON:G,createFolder:A,readFolder:R,updateFolder:async(N8,D8,{id:H8,name:x,parentId:$8},B)=>{let t=H8?.[0],n=v(t);return l.factory(!n,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND"),n.updateFolder(N8,D8,{id:H8,name:x,parentId:$8},B)},deleteFolder:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteFolder(N8,D8,{id:H8},x)},evictFolder:(N8)=>{let D8=N8?.[0],H8=v(D8);if(H8)H8.evictFolder(N8)},getFolder:async(N8,D8,{id:H8})=>{return R(N8,D8,{id:H8})},listFolderContents:async(N8,D8,{folderId:H8,store:x,storeCode:$8,type:B})=>{let t;if(H8!==null&&H8!==void 0)t=H8[0];else{let y=x??$8;l.factory(!y,m.validation,"store required when folderId is null","STORE_CODE_REQUIRED"),t=y}let n=v(t);l.factory(!n,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND");let b={...D8,storeCode:t};return n.listFolderContents(N8,b,{folderId:H8,type:B})},getFolderByPath:async(N8,D8,{path:H8,type:x,store:$8,storeCode:B})=>{let t=$8??B;l.factory(!t,m.validation,"store required for getFolderByPath","STORE_CODE_REQUIRED");let n=v(t);if(!n)return null;let b={...D8,storeCode:t};return n.getFolderByPath(N8,b,{path:H8,type:x})},isDuplicateNameInParent:async(N8,D8,H8,x,$8=null)=>{let B;if(H8)B=H8[0];else{let n=z[0];if(!n)l.factory(!0,m.notFound,"No child stores available","STORE_NOT_FOUND");B=[...n.getCodes()][0]}let t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.isDuplicateNameInParent(N8,D8,H8,x,$8)},findFolderByName:async(N8,D8,H8,x)=>{let $8=H8[0],B=v($8);if(!B)return null;return B.findFolderByName(N8,D8,H8,x)},readRootFolderForType:async(N8,D8,H8,x)=>{let $8=v(x);return l.factory(!$8,m.notFound,`No child store with code: ${x}`,"STORE_NOT_FOUND"),$8.readRootFolderForType(N8,D8,H8,x)},createFieldDefinition:async(N8,D8,{storeCode:H8,ownerEntityId:x,name:$8,label:B,description:t,primitiveType:n,required:b,multiplicity:y,isSystem:u},F)=>{let K8=v(H8);return l.factory(!K8,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),K8.createFieldDefinition(N8,D8,{storeCode:H8,ownerEntityId:x,name:$8,label:B,description:t,primitiveType:n,required:b,multiplicity:y,isSystem:u},F)},readFieldDefinition:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readFieldDefinition(N8,D8,{id:H8})},readDefaultFieldDefinition:async(N8,D8,H8)=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.readDefaultFieldDefinition(N8,D8)},getFieldDefinitionsForOwner:async(N8,D8,{storeCode:H8,ownerEntityPk:x,includeSystem:$8})=>{let B=v(H8);return l.factory(!B,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),B.getFieldDefinitionsForOwner(N8,D8,{ownerEntityPk:x,includeSystem:$8})},deleteFieldDefinition:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteFieldDefinition(N8,D8,{id:H8},x)},setFieldValue:async(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8,value:B,values:t},n)=>{let b=H8?.[0],y=v(b);return l.factory(!y,m.notFound,`No child store with code: ${b}`,"STORE_NOT_FOUND"),y.setFieldValue(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8,value:B,values:t},n)},deleteFieldValue:async(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8},B)=>{let t=H8?.[0],n=v(t);return l.factory(!n,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND"),n.deleteFieldValue(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8},B)},createContent:async(N8,D8,{storeCode:H8,type:x,...$8},B)=>{let t=v(H8);return l.factory(!t,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),t.createContent(N8,D8,{type:x,storeCode:H8,...$8},B)},readContent:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readContent(N8,D8,{id:H8})},updateContent:async(N8,D8,{id:H8,...x},$8)=>{let B=H8?.[0],t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.updateContent(N8,D8,{id:H8,...x},$8)},deleteContent:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteContent(N8,D8,{id:H8},x)},saveDraft:async(N8,D8,{id:H8,content:x,sessionId:$8},B)=>{let t=H8?.[0],n=v(t);return l.factory(!n,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND"),n.saveDraft(N8,D8,{id:H8,content:x,sessionId:$8},B)},readDraft:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readDraft(N8,D8,{id:H8})},publishContent:async(N8,D8,{id:H8,sessionId:x},$8)=>{let B=H8?.[0],t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.publishContent(N8,D8,{id:H8,sessionId:x},$8)},discardDraft:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.discardDraft(N8,D8,{id:H8},x)},findContentByName:async(N8,D8,H8,x,$8)=>{let B=H8?.[0],t=v(B);if(!t)return null;return t.findContentByName(N8,D8,H8,x,$8)},listContent:async(N8,D8,{parentId:H8,storeCode:x,type:$8})=>{let B,t;if(H8)B=H8[0],t=H8;else{l.factory(!x,m.validation,"storeCode required when parentId is null","MISSING_STORE_CODE"),B=x;let b=v(B);l.factory(!b,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND");try{t=(await b.readRootFolderForType(N8,D8,$8||"d",B)).getObjectId()}catch(y){t=null}}let n=v(B);return l.factory(!n,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),n.listContent(N8,D8,{parentId:t,type:$8})},setEditState:async(N8,D8,{id:H8,sessionId:x},$8)=>{let B=H8?.[0],t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.setEditState(N8,D8,{id:H8,sessionId:x},$8)},clearEditState:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.clearEditState(N8,D8,{id:H8},x)},getEditState:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.getEditState(N8,D8,{id:H8})},readVersion:async(N8,D8,{id:H8,versionNumber:x})=>{let $8=H8?.[0],B=v($8);if(!B)return null;return B.readVersion(N8,D8,{id:H8,versionNumber:x})},getVersions:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return[];return $8.getVersions(N8,D8,{id:H8})},createStory:async(N8,D8,{storeCode:H8,...x},$8)=>{let B=v(H8);return l.factory(!B,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),B.createStory(N8,D8,{storeCode:H8,...x},$8)},readStory:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readStory(N8,D8,{id:H8})},listStories:async(N8,D8,{storeCode:H8})=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.listStories(N8,D8,{storeCode:H8})},deleteStory:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteStory(N8,D8,{id:H8},x)},readStoryRootFolder:async(N8,D8,{storeCode:H8})=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.readStoryRootFolder(N8,D8,{storeCode:H8})},emitStoryStateChanged:({id:N8,oldState:D8,newState:H8})=>{let x=N8?.[0],$8=v(x);l.factory(!$8,m.notFound,`No child store with code: ${x}`,"STORE_NOT_FOUND"),$8.emitStoryStateChanged({id:N8,oldState:D8,newState:H8})},listStateFolders:async(N8,D8,{storyId:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return[];return $8.listStateFolders(N8,D8,{storyId:H8})},findStateFolderByState:async(N8,D8,{storyId:H8,state:x})=>{let $8=H8?.[0],B=v($8);if(!B)return null;return B.findStateFolderByState(N8,D8,{storyId:H8,state:x})},createAsset:async(N8,D8,{storeCode:H8,...x},$8)=>{let B=v(H8);return l.factory(!B,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),B.createAsset(N8,D8,{storeCode:H8,...x},$8)},readAsset:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readAsset(N8,D8,{id:H8})},listAssets:async(N8,D8,{storeCode:H8})=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.listAssets(N8,D8,{storeCode:H8})},deleteAsset:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteAsset(N8,D8,{id:H8},x)},subscribe:(N8,D8)=>{let H8=z.map((x)=>x.subscribe(N8,D8));return()=>H8.forEach((x)=>x())},subscribeAll:(N8)=>{let D8=z.map((H8)=>H8.subscribeAll(N8));return()=>D8.forEach((H8)=>H8())}}),u3=Object.freeze({...Z,addChild:j});return{store:y3,mutationApi:u3}},pO8=Object.freeze({create:hA6});z4();var sT=($)=>{if(!$||$.length<2||$[0]!=="S")return null;let K=parseInt($.slice(1),10);return isNaN(K)?null:K},Ly=($)=>$.object_id,Sy=($)=>{let K=Ly($),q=$.id,{store:Y,mutationApi:J}=cO8.create({id:K,code:$.code,name:$.name,createdAt:$.created_at,updatedAt:$.updated_at,pk:q});return{store:Y,mutationApi:J,id:K,pk:q}},FO8=($,K)=>{let q=Ly($),Y=$.id,{store:J,mutationApi:z}=pO8.create({id:q,name:$.name,createdAt:$.created_at,updatedAt:$.updated_at,children:K});return{store:J,mutationApi:z,id:q,pk:Y}},EA6=async($,K,q,Y,J)=>{let z=await C3.readEntityTypeId($,K,"n",null),W=await f7.nextSeq($,"store",q,"n"),H=`${Y}n${W}`,Z=E1();await $.insertInto("field_definitions").values({store_id:q,object_id:H,entity_type_id:z,type_code:"n",seq:W,owner_entity_id:null,name:"default",label:"Default Field",description:"Auto-created for ad-hoc fields without explicit definitions",primitive_type:"string",required:0,multiplicity:"single",config:null,is_system:1,ordinal:null,created_at:Z,updated_at:Z}).execute()},SA6=()=>{let $=new Map,K=new Map,q=async(O,X,{code:w,name:T},G)=>{let j=E1(),v=await f7.nextSeq(O,"global",null,"s"),A=`S${v}`,R=await O.insertInto("stores").values({id:v,object_id:A,type:"local",code:w,name:T,created_at:j,updated_at:j}).returningAll().executeTakeFirstOrThrow(),{store:k,mutationApi:f,id:D,pk:S}=Sy(R);return await EA6(O,X,S,w,G),G(()=>{$.set(D,k6.create(k,f,S)),K.set(S,D)}),k},Y=async(O,X,{name:w},T)=>{let G=E1(),j=await f7.nextSeq(O,"global",null,"s"),v=`S${j}`,A=await O.insertInto("stores").values({id:j,object_id:v,type:"demux",code:null,name:w,created_at:G,updated_at:G}).returningAll().executeTakeFirstOrThrow(),{store:R,mutationApi:k,id:f,pk:D}=FO8(A,[]);return T(()=>{$.set(f,k6.create(R,k,D)),K.set(D,f)}),R},J=async(O,X,w)=>{let T=$.get(w);if(T)return T.getEntity();let G=sT(w);if(G===null)return null;let j=await O.selectFrom("stores").selectAll().where("id","=",G).executeTakeFirst();if(!j)return null;let v,A,R,k;if(j.type==="local"){let f=Sy(j);v=f.store,A=f.mutationApi,R=f.id,k=f.pk}else{let f=await O.selectFrom("store_children").innerJoin("stores","stores.id","store_children.child_store_id").select(["stores.object_id"]).where("store_children.parent_store_id","=",j.id).execute(),D=[];for(let h of f){let Q=await J(O,X,h.object_id);if(Q)D.push(Q)}let S=FO8(j,D);v=S.store,A=S.mutationApi,R=S.id,k=S.pk}return $.set(R,k6.create(v,A,k)),K.set(k,R),v};return Object.freeze({createLocalStore:q,createDemuxStore:Y,readStore:J,readSharedStore:async(O,X)=>{let w=await O.selectFrom("stores").selectAll().where("code","=","B").executeTakeFirstOrThrow(),T=Ly(w),G=$.get(T);if(G)return G.getEntity();let{store:j,mutationApi:v,pk:A}=Sy(w);return $.set(T,k6.create(j,v,A)),K.set(A,T),j},readRootStoreForProject:async(O,X,w)=>{let T=w&&w.length>=2&&w[0]==="P"?parseInt(w.slice(1),10):null;l.factory(T===null||isNaN(T),m.validation,`Invalid project ID: ${w}`,"INVALID_PROJECT_ID");let G=await O.selectFrom("project_stores").innerJoin("stores","stores.id","project_stores.store_id").select(["stores.object_id"]).where("project_stores.project_id","=",T).where("project_stores.is_root","=",1).executeTakeFirst();return l.factory(!G,m.notFound,`Root store not found for project: ${w}`,"ROOT_STORE_NOT_FOUND"),await J(O,X,G.object_id)},addChildToDemux:async(O,X,{demuxId:w,childId:T},G)=>{let j=$.get(w),v=$.get(T),A,R;if(j)A=j.getPk();else{let k=sT(w);l.factory(k===null,m.validation,`Invalid demux store ID: ${w}`,"INVALID_ID");let f=await O.selectFrom("stores").select("id").where("id","=",k).executeTakeFirst();l.factory(!f,m.notFound,`Demux store not found: ${w}`,"STORE_NOT_FOUND"),A=f.id}if(v)R=v.getPk();else{let k=sT(T);l.factory(k===null,m.validation,`Invalid child store ID: ${T}`,"INVALID_ID");let f=await O.selectFrom("stores").select("id").where("id","=",k).executeTakeFirst();l.factory(!f,m.notFound,`Child store not found: ${T}`,"STORE_NOT_FOUND"),R=f.id}await O.insertInto("store_children").values({parent_store_id:A,child_store_id:R}).execute(),G(()=>{let k=$.get(w),f=$.get(T);if(k&&f)k.getMutationApi().addChild(f.getEntity())})},addStoresToProject:async(O,X,{projectId:w,rootStoreId:T,storeIds:G})=>{let j=w&&w.length>=2&&w[0]==="P"?parseInt(w.slice(1),10):null;l.factory(j===null||isNaN(j),m.validation,`Invalid project ID: ${w}`,"INVALID_PROJECT_ID");let v=await O.selectFrom("projects").select("id").where("id","=",j).executeTakeFirst();l.factory(!v,m.notFound,`Project not found: ${w}`,"PROJECT_NOT_FOUND");let A=v.id,R=$.get(T),k;if(R)k=R.getPk();else{let f=sT(T);l.factory(f===null,m.validation,`Invalid root store ID: ${T}`,"INVALID_ID");let D=await O.selectFrom("stores").select("id").where("id","=",f).executeTakeFirst();l.factory(!D,m.notFound,`Root store not found: ${T}`,"STORE_NOT_FOUND"),k=D.id}for(let f of G){let D=$.get(f),S;if(D)S=D.getPk();else{let h=sT(f);l.factory(h===null,m.validation,`Invalid store ID: ${f}`,"INVALID_ID");let Q=await O.selectFrom("stores").select("id").where("id","=",h).executeTakeFirst();l.factory(!Q,m.notFound,`Store not found: ${f}`,"STORE_NOT_FOUND"),S=Q.id}await O.insertInto("project_stores").values({project_id:A,store_id:S,is_root:S===k?1:0}).execute()}},evictStore:(O)=>{let X=$.get(O);if(X)K.delete(X.getPk());$.delete(O)}})},QO8=Object.freeze({create:SA6});z4();z4();var LA6=($)=>{let K=$.split("/").filter((J)=>J.trim()),q=K[K.length-1];return{parentPath:K.slice(0,-1).join("/")||null,name:q,segments:K}},IA6=($)=>{return $[0]},W4=Object.freeze({parsePath:LA6,extractStoreCode:IA6});z4();var xA6=["Documents/",/^Stories\/[^/]+\/[^/]+\//],bA6=["Templates/"],gA6=["Documents/","Templates/",/^Stories\/[^/]+\/[^/]+\//],yA6=($)=>{l.factory(!$||$.length===0,m.validation,"Path cannot be empty","EMPTY_PATH"),l.factory($.startsWith("/"),m.validation,"No leading slash allowed","INVALID_PATH"),l.factory($.endsWith("/"),m.validation,"No trailing slash allowed","INVALID_PATH"),l.factory($.includes("//"),m.validation,"No consecutive slashes allowed","INVALID_PATH")},uA6=($)=>{l.factory(!$||$.trim().length===0,m.validation,"Name cannot be empty","INVALID_NAME"),l.factory($.includes("/"),m.validation,"Name cannot contain /","INVALID_NAME"),l.factory($!==$.trim(),m.validation,"Name cannot have leading/trailing whitespace","INVALID_NAME")},mA6=async($,K,q,Y,J)=>{let z=q;while(z){let W=z.getSubtype();if(W==="root_d"&&Y.includes("d"))return;if(W==="root_t"&&Y.includes("t"))return;if(W==="state_folder"&&Y.includes("state_folder"))return;let H=z.getParentId();if(!H)break;z=await J.readFolder($,K,{id:H})}throw m.validation(`Cannot create entity in this location. Allowed roots: ${Y.join(", ")}`,"INVALID_ROOT")},BA6=($,K)=>{for(let q of K){if(typeof q==="string"&&$.startsWith(q))return{valid:!0,prefix:q};if(q instanceof RegExp&&q.test($))return{valid:!0,prefix:$.match(q)[0]}}return{valid:!1}},$$=Object.freeze({DOCUMENT_PREFIXES:xA6,TEMPLATE_PREFIXES:bA6,FOLDER_PREFIXES:gA6,validatePathFormat:yA6,validateName:uA6,validateRootInAllowedTree:mA6,detectFullPathPrefix:BA6});var UA6=({store:$})=>{let K=async(w,T,G,j,v,A,R)=>{let k=G.split("/").filter((Q)=>Q.trim());l.factory(k.length===0,m.validation,"Path cannot be empty or contain only slashes","EMPTY_PATH");let f=k.slice(0,-1).join("/");if(f){let Q=await $.getFolderByPath(w,T,{path:f,type:j,storeCode:v});if(Q){let I=$3.validateFolderName(k[k.length-1]);return{parentObjectId:Q.getObjectId(),name:I}}}let D=A??j,S=await $.readRootFolderForType(w,T,D,v);for(let Q=0;Q<k.length-1;Q++){let I=$3.validateFolderName(k[Q]),N=await $.findFolderByName(w,T,S.getObjectId(),I);if(N)S=N;else S=await $.createFolder(w,T,{storeCode:v,parentId:S.getObjectId(),name:I},R)}let h=$3.validateFolderName(k[k.length-1]);return{parentObjectId:S.getObjectId(),name:h}},q=async(w,T,G,j)=>{let{path:v,store:A}=G,R=["d","t","state_folder"],k=$$.FOLDER_PREFIXES;$$.validatePathFormat(v);let f=$$.detectFullPathPrefix(v,k);l.factory(!f.valid,m.validation,`Path must start with one of: ${k.map((c)=>typeof c==="string"?c:c.toString()).join(", ")}`,"INVALID_PATH_PREFIX");let D=v.slice(f.prefix.length);l.factory(!D||D.length===0,m.validation,"Path cannot end at tree prefix - provide a path after the prefix","EMPTY_PATH");let S,h;if(f.prefix==="Documents/")S="d",h="d";else if(f.prefix==="Templates/")S="t",h="t";else if(f.prefix.startsWith("Stories/"))S="s",h="d";let{parentPath:Q,name:I}=W4.parsePath(D),N;if(Q){let c=await K(w,T,Q,h,A,S,j),r=await $.findFolderByName(w,T,c.parentObjectId,c.name);if(r)N=r.getObjectId();else N=(await $.createFolder(w,T,{storeCode:A,parentId:c.parentObjectId,name:c.name},j)).getObjectId()}else N=(await $.readRootFolderForType(w,T,S,A)).getObjectId();if(S==="s"){let c=await $.readFolder(w,T,{id:N});l.factory(!c,m.notFound,"Parent folder not found","FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(w,T,c,R,$)}let E=$3.validateFolderName(I),p=await $.isDuplicateNameInParent(w,T,N,E);return l.factory(p,m.conflict,`Folder "${E}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:A,parentId:N,name:E},j)},Y=async(w,T,G,j)=>{let{root:v,path:A}=G,R=["d","t","state_folder"],k=W4.extractStoreCode(v);$$.validatePathFormat(A);let f=await $.readFolder(w,T,{id:v});l.factory(!f,m.notFound,`Root folder not found: ${v}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(w,T,f,R,$);let{parentPath:D,name:S}=W4.parsePath(A),h;if(D){let N=D.split("/").filter((p)=>p.trim()),E=f;for(let p of N){let c=$3.validateFolderName(p),r=await $.findFolderByName(w,T,E.getObjectId(),c);if(r)E=r;else E=await $.createFolder(w,T,{storeCode:k,parentId:E.getObjectId(),name:c},j)}h=E.getObjectId()}else h=v;let Q=$3.validateFolderName(S),I=await $.isDuplicateNameInParent(w,T,h,Q);return l.factory(I,m.conflict,`Folder "${Q}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:k,parentId:h,name:Q},j)},J=async(w,T,G,j)=>{let{parentId:v,name:A}=G,R=["d","t","state_folder"],k=W4.extractStoreCode(v);$$.validateName(A);let f=await $.readFolder(w,T,{id:v});l.factory(!f,m.notFound,`Parent folder not found: ${v}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(w,T,f,R,$);let D=$3.validateFolderName(A),S=await $.isDuplicateNameInParent(w,T,v,D);return l.factory(S,m.conflict,`Folder "${D}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:k,parentId:v,name:D},j)},z=async(w,T,G,j)=>{let{mode:v,path:A,root:R,parentId:k,name:f,store:D,type:S}=G;if(v==="fullPath")return l.factory(!D,m.validation,"store is required for fullPath mode","MISSING_STORE_CODE"),await q(w,T,{path:A,store:D},j);if(v==="rootRelative")return l.factory(!R,m.validation,"root is required for rootRelative mode","MISSING_ROOT"),await Y(w,T,{root:R,path:A},j);if(v==="parentName")return l.factory(!k,m.validation,"parentId is required for parentName mode","MISSING_PARENT_ID"),l.factory(!f,m.validation,"name is required for parentName mode","MISSING_NAME"),await J(w,T,{parentId:k,name:f},j);if(S!==void 0){l.factory(!A||A==="/",m.validation,"Path cannot be empty","EMPTY_PATH"),l.factory(S!=="d"&&S!=="t",m.validation,'Type must be "d" or "t"',"INVALID_TYPE"),l.factory(!D,m.validation,"store is required","MISSING_STORE_CODE");let{parentObjectId:h,name:Q}=await K(w,T,A,S,D,void 0,j),I=await $.isDuplicateNameInParent(w,T,h,Q);return l.factory(I,m.conflict,`Folder "${Q}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:D,parentId:h,name:Q},j)}throw m.validation("Invalid creation parameters. Use one of: fullPath (path+store), rootRelative (root+path), or parentName (parentId+name)","INVALID_PARAMS")},W=async(w,T,{id:G})=>{return await $.readFolder(w,T,{id:G})};return Object.freeze({resolvePath:K,createFolder:z,readFolder:W,renameFolder:async(w,T,{id:G,name:j},v)=>{let A=await W(w,T,{id:G});l.factory(!A,m.notFound,`Folder not found: ${G}`,"FOLDER_NOT_FOUND"),l.factory($3.isRootFolder(A),m.validation,"Cannot rename root folder","CANNOT_RENAME_ROOT");let R=$3.validateFolderName(j),k=await $.isDuplicateNameInParent(w,T,A.getParentId(),R,G);return l.factory(k,m.conflict,`Folder "${R}" already exists in parent`,"DUPLICATE_NAME"),await $.updateFolder(w,T,{id:G,name:R},v)},moveFolder:async(w,T,{id:G,parentId:j},v)=>{let A=await W(w,T,{id:G});l.factory(!A,m.notFound,`Folder not found: ${G}`,"FOLDER_NOT_FOUND"),l.factory($3.isRootFolder(A),m.validation,"Cannot move root folder","CANNOT_MOVE_ROOT");let R=await W(w,T,{id:j});l.factory(!R,m.notFound,`Parent folder not found: ${j}`,"PARENT_NOT_FOUND"),l.factory(!G||G.length<1,m.validation,"Invalid folder ID format","INVALID_ID_FORMAT"),l.factory(!j||j.length<1,m.validation,"Invalid parent ID format","INVALID_PARENT_ID_FORMAT");let k=G[0],f=j[0];l.factory(k!==f,m.validation,"Cannot move folders between stores","CROSS_STORE_MOVE"),l.factory(G===j,m.validation,"Cannot move folder into itself","SELF_MOVE");let D=j;while(D!==null){l.factory(D===G,m.validation,"Cannot move folder into its own descendant","CYCLE_DETECTED");let h=await $.readFolder(w,T,{id:D});if(!h)break;D=h.getParentId()}let S=await $.isDuplicateNameInParent(w,T,j,A.getName(),G);return l.factory(S,m.conflict,`Folder "${A.getName()}" already exists in target parent`,"DUPLICATE_NAME"),await $.updateFolder(w,T,{id:G,parentId:j},v)},deleteFolder:async(w,T,{id:G},j)=>{let v=await W(w,T,{id:G});return l.factory(!v,m.notFound,`Folder not found: ${G}`,"FOLDER_NOT_FOUND"),l.factory($3.isRootFolder(v),m.validation,"Cannot delete root folder","CANNOT_DELETE_ROOT"),await $.deleteFolder(w,T,{id:G},j)},getFolderByPath:async(w,T,{path:G,type:j,storeCode:v})=>{return await $.getFolderByPath(w,T,{path:G,type:j,storeCode:v})},listFolderContents:async(w,T,{folderId:G,type:j,storeCode:v})=>{return await $.listFolderContents(w,T,{folderId:G,type:j,storeCode:v})}})},lO8=Object.freeze({create:UA6});z4();var cA6=({store:$})=>{let K=async(H,Z,{store:P,ownerEntityId:O,name:X,label:w,description:T,primitiveType:G,required:j,multiplicity:v,isSystem:A=!1},R)=>{l.factory(!P,m.validation,"store is required","MISSING_STORE_CODE"),l.factory(G!=="string"&&G!=="object_ref",m.validation,`Invalid primitiveType: ${G}. Must be 'string' or 'object_ref'`,"INVALID_PRIMITIVE_TYPE"),l.factory(v!=="single"&&v!=="multi",m.validation,`Invalid multiplicity: ${v}. Must be 'single' or 'multi'`,"INVALID_MULTIPLICITY");let k=/^[a-zA-Z0-9_]+$/;return l.factory(!X||!k.test(X),m.validation,`Invalid name: ${X}. Must contain only alphanumeric characters and underscores`,"INVALID_NAME"),await $.createFieldDefinition(H,Z,{storeCode:P,ownerEntityId:O,name:X,label:w,description:T,primitiveType:G,required:j,multiplicity:v,isSystem:A},R)},q=async(H,Z,{id:P})=>{return l.factory(!P||P.length<3,m.validation,"Invalid field definition ID","INVALID_ID"),await $.readFieldDefinition(H,Z,{id:P})};return Object.freeze({createFieldDefinition:K,readFieldDefinition:q,getFieldDefinitionsForOwner:async(H,Z,{store:P,ownerEntityId:O,includeSystem:X=!0})=>{l.factory(!P,m.validation,"store is required","MISSING_STORE_CODE");let w=null;if(O)w=null;return await $.getFieldDefinitionsForOwner(H,Z,{storeCode:P,ownerEntityPk:w,includeSystem:X})},deleteFieldDefinition:async(H,Z,{id:P},O)=>{let X=await q(H,Z,{id:P});return l.factory(!X,m.notFound,`Field definition not found: ${P}`,"DEFINITION_NOT_FOUND"),l.factory(X.getIsSystem(),m.validation,`Cannot delete system field definition: ${P}`,"SYSTEM_DEFINITION"),await $.deleteFieldDefinition(H,Z,{id:P},O)},setFieldValue:async(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X,value:w,values:T},G)=>{return l.factory(!P,m.validation,"entityId is required","MISSING_ENTITY_ID"),l.factory(!O&&!X,m.validation,"Either fieldDefinitionId or fieldName must be provided","MISSING_FIELD_IDENTIFIER"),l.factory(w!==void 0&&T!==void 0,m.validation,"Cannot provide both value and values","AMBIGUOUS_VALUE"),l.factory(w===void 0&&T===void 0,m.validation,"Either value or values must be provided","MISSING_VALUE"),await $.setFieldValue(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X,value:w,values:T},G)},deleteFieldValue:async(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X},w)=>{return l.factory(!P,m.validation,"entityId is required","MISSING_ENTITY_ID"),l.factory(!O&&!X,m.validation,"Either fieldDefinitionId or fieldName must be provided","MISSING_FIELD_IDENTIFIER"),await $.deleteFieldValue(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X},w)}})},dO8=Object.freeze({create:cA6});z4();function n9(){}n9.prototype={diff:function $(K,q){var Y,J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},z=J.callback;if(typeof J==="function")z=J,J={};var W=this;function H(f){if(f=W.postProcess(f,J),z)return setTimeout(function(){z(f)},0),!0;else return f}K=this.castInput(K,J),q=this.castInput(q,J),K=this.removeEmpty(this.tokenize(K,J)),q=this.removeEmpty(this.tokenize(q,J));var Z=q.length,P=K.length,O=1,X=Z+P;if(J.maxEditLength!=null)X=Math.min(X,J.maxEditLength);var w=(Y=J.timeout)!==null&&Y!==void 0?Y:1/0,T=Date.now()+w,G=[{oldPos:-1,lastComponent:void 0}],j=this.extractCommon(G[0],q,K,0,J);if(G[0].oldPos+1>=P&&j+1>=Z)return H(iO8(W,G[0].lastComponent,q,K,W.useLongestToken));var v=-1/0,A=1/0;function R(){for(var f=Math.max(v,-O);f<=Math.min(A,O);f+=2){var D=void 0,S=G[f-1],h=G[f+1];if(S)G[f-1]=void 0;var Q=!1;if(h){var I=h.oldPos-f;Q=h&&0<=I&&I<Z}var N=S&&S.oldPos+1<P;if(!Q&&!N){G[f]=void 0;continue}if(!N||Q&&S.oldPos<h.oldPos)D=W.addToPath(h,!0,!1,0,J);else D=W.addToPath(S,!1,!0,1,J);if(j=W.extractCommon(D,q,K,f,J),D.oldPos+1>=P&&j+1>=Z)return H(iO8(W,D.lastComponent,q,K,W.useLongestToken));else{if(G[f]=D,D.oldPos+1>=P)A=Math.min(A,f-1);if(j+1>=Z)v=Math.max(v,f+1)}}O++}if(z)(function f(){setTimeout(function(){if(O>X||Date.now()>T)return z();if(!R())f()},0)})();else while(O<=X&&Date.now()<=T){var k=R();if(k)return k}},addToPath:function $(K,q,Y,J,z){var W=K.lastComponent;if(W&&!z.oneChangePerToken&&W.added===q&&W.removed===Y)return{oldPos:K.oldPos+J,lastComponent:{count:W.count+1,added:q,removed:Y,previousComponent:W.previousComponent}};else return{oldPos:K.oldPos+J,lastComponent:{count:1,added:q,removed:Y,previousComponent:W}}},extractCommon:function $(K,q,Y,J,z){var W=q.length,H=Y.length,Z=K.oldPos,P=Z-J,O=0;while(P+1<W&&Z+1<H&&this.equals(Y[Z+1],q[P+1],z))if(P++,Z++,O++,z.oneChangePerToken)K.lastComponent={count:1,previousComponent:K.lastComponent,added:!1,removed:!1};if(O&&!z.oneChangePerToken)K.lastComponent={count:O,previousComponent:K.lastComponent,added:!1,removed:!1};return K.oldPos=Z,P},equals:function $(K,q,Y){if(Y.comparator)return Y.comparator(K,q);else return K===q||Y.ignoreCase&&K.toLowerCase()===q.toLowerCase()},removeEmpty:function $(K){var q=[];for(var Y=0;Y<K.length;Y++)if(K[Y])q.push(K[Y]);return q},castInput:function $(K){return K},tokenize:function $(K){return Array.from(K)},join:function $(K){return K.join("")},postProcess:function $(K){return K}};function iO8($,K,q,Y,J){var z=[],W;while(K)z.push(K),W=K.previousComponent,delete K.previousComponent,K=W;z.reverse();var H=0,Z=z.length,P=0,O=0;for(;H<Z;H++){var X=z[H];if(!X.removed){if(!X.added&&J){var w=q.slice(P,P+X.count);w=w.map(function(T,G){var j=Y[O+G];return j.length>T.length?j:T}),X.value=$.join(w)}else X.value=$.join(q.slice(P,P+X.count));if(P+=X.count,!X.added)O+=X.count}else X.value=$.join(Y.slice(O,O+X.count)),O+=X.count}return z}var W64=new n9;function nO8($,K){var q;for(q=0;q<$.length&&q<K.length;q++)if($[q]!=K[q])return $.slice(0,q);return $.slice(0,q)}function oO8($,K){var q;if(!$||!K||$[$.length-1]!=K[K.length-1])return"";for(q=0;q<$.length&&q<K.length;q++)if($[$.length-(q+1)]!=K[K.length-(q+1)])return $.slice(-q);return $.slice(-q)}function xy($,K,q){if($.slice(0,K.length)!=K)throw Error("string ".concat(JSON.stringify($)," doesn't start with prefix ").concat(JSON.stringify(K),"; this is a bug"));return q+$.slice(K.length)}function by($,K,q){if(!K)return $+q;if($.slice(-K.length)!=K)throw Error("string ".concat(JSON.stringify($)," doesn't end with suffix ").concat(JSON.stringify(K),"; this is a bug"));return $.slice(0,-K.length)+q}function tT($,K){return xy($,K,"")}function A_($,K){return by($,K,"")}function aO8($,K){return K.slice(0,pA6($,K))}function pA6($,K){var q=0;if($.length>K.length)q=$.length-K.length;var Y=K.length;if($.length<K.length)Y=$.length;var J=Array(Y),z=0;J[0]=0;for(var W=1;W<Y;W++){if(K[W]==K[z])J[W]=J[z];else J[W]=z;while(z>0&&K[W]!=K[z])z=J[z];if(K[W]==K[z])z++}z=0;for(var H=q;H<$.length;H++){while(z>0&&$[H]!=K[z])z=J[z];if($[H]==K[z])z++}return z}var M_="a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",FA6=new RegExp("[".concat(M_,"]+|\\s+|[^").concat(M_,"]"),"ug"),k_=new n9;k_.equals=function($,K,q){if(q.ignoreCase)$=$.toLowerCase(),K=K.toLowerCase();return $.trim()===K.trim()};k_.tokenize=function($){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},q;if(K.intlSegmenter){if(K.intlSegmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');q=Array.from(K.intlSegmenter.segment($),function(z){return z.segment})}else q=$.match(FA6)||[];var Y=[],J=null;return q.forEach(function(z){if(/\s/.test(z))if(J==null)Y.push(z);else Y.push(Y.pop()+z);else if(/\s/.test(J))if(Y[Y.length-1]==J)Y.push(Y.pop()+z);else Y.push(J+z);else Y.push(z);J=z}),Y};k_.join=function($){return $.map(function(K,q){if(q==0)return K;else return K.replace(/^\s+/,"")}).join("")};k_.postProcess=function($,K){if(!$||K.oneChangePerToken)return $;var q=null,Y=null,J=null;if($.forEach(function(z){if(z.added)Y=z;else if(z.removed)J=z;else{if(Y||J)rO8(q,J,Y,z);q=z,Y=null,J=null}}),Y||J)rO8(q,J,Y,null);return $};function rO8($,K,q,Y){if(K&&q){var J=K.value.match(/^\s*/)[0],z=K.value.match(/\s*$/)[0],W=q.value.match(/^\s*/)[0],H=q.value.match(/\s*$/)[0];if($){var Z=nO8(J,W);$.value=by($.value,W,Z),K.value=tT(K.value,Z),q.value=tT(q.value,Z)}if(Y){var P=oO8(z,H);Y.value=xy(Y.value,H,P),K.value=A_(K.value,P),q.value=A_(q.value,P)}}else if(q){if($)q.value=q.value.replace(/^\s*/,"");if(Y)Y.value=Y.value.replace(/^\s*/,"")}else if($&&Y){var O=Y.value.match(/^\s*/)[0],X=K.value.match(/^\s*/)[0],w=K.value.match(/\s*$/)[0],T=nO8(O,X);K.value=tT(K.value,T);var G=oO8(tT(O,T),w);K.value=A_(K.value,G),Y.value=xy(Y.value,O,G),$.value=by($.value,O,O.slice(0,O.length-G.length))}else if(Y){var j=Y.value.match(/^\s*/)[0],v=K.value.match(/\s*$/)[0],A=aO8(v,j);K.value=A_(K.value,A)}else if($){var R=$.value.match(/\s*$/)[0],k=K.value.match(/^\s*/)[0],f=aO8(R,k);K.value=tT(K.value,f)}}var QA6=new n9;QA6.tokenize=function($){var K=new RegExp("(\\r?\\n)|[".concat(M_,"]+|[^\\S\\n\\r]+|[^").concat(M_,"]"),"ug");return $.match(K)||[]};var f_=new n9;f_.tokenize=function($,K){if(K.stripTrailingCr)$=$.replace(/\r\n/g,`
|
|
473
|
+
`.execute($),await $.schema.createIndex("entities_store_id_idx").on("entities").columns(["store_id"]).execute(),await $.schema.createIndex("entities_parent_folder_id_idx").on("entities").columns(["parent_folder_id"]).execute(),await $.schema.createTable("folders").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).execute(),await $.schema.createTable("documents").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("published_version_id","integer",(K)=>K.references("document_versions.id")).execute(),await $.schema.createTable("document_drafts").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("content","text").addColumn("updated_at","text",(K)=>K.notNull()).execute(),await $.schema.createTable("document_versions").addColumn("id","integer",(K)=>K.primaryKey().autoIncrement()).addColumn("entity_id","integer",(K)=>K.notNull().references("entities.id").onDelete("cascade")).addColumn("version_number","integer",(K)=>K.notNull()).addColumn("content","text").addColumn("published_at","text",(K)=>K.notNull()).execute(),await $.schema.createIndex("document_versions_entity_version_unique").on("document_versions").columns(["entity_id","version_number"]).unique().execute(),await $.schema.createIndex("document_versions_entity_id_idx").on("document_versions").columns(["entity_id"]).execute(),await $.schema.createTable("document_edit_state").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("session_id","text",(K)=>K.notNull()).addColumn("started_at","text",(K)=>K.notNull()).addColumn("last_activity_at","text",(K)=>K.notNull()).execute(),await $.schema.createTable("field_definitions").addColumn("id","integer",(K)=>K.primaryKey().autoIncrement()).addColumn("store_id","integer",(K)=>K.notNull().references("stores.id").onDelete("cascade")).addColumn("object_id","text",(K)=>K.notNull()).addColumn("entity_type_id","integer",(K)=>K.notNull().references("entity_types.id")).addColumn("type_code","text",(K)=>K.notNull()).addColumn("seq","integer",(K)=>K.notNull()).addColumn("owner_entity_id","integer",(K)=>K.references("entities.id").onDelete("cascade")).addColumn("name","text",(K)=>K.notNull()).addColumn("label","text").addColumn("description","text").addColumn("primitive_type","text",(K)=>K.notNull()).addColumn("required","integer",(K)=>K.notNull().defaultTo(0)).addColumn("multiplicity","text",(K)=>K.notNull().defaultTo("single")).addColumn("config","text").addColumn("is_system","integer",(K)=>K.notNull().defaultTo(0)).addColumn("ordinal","integer").addColumn("created_at","text",(K)=>K.notNull()).addColumn("updated_at","text",(K)=>K.notNull()).execute(),await $.schema.createIndex("idx_field_def_object_id_unique").on("field_definitions").columns(["store_id","object_id"]).unique().execute(),await $.schema.createIndex("idx_field_def_store_type_seq").on("field_definitions").columns(["store_id","type_code","seq"]).unique().execute(),await $.schema.createIndex("idx_field_def_owner").on("field_definitions").columns(["owner_entity_id"]).execute(),await $.schema.createIndex("idx_field_def_owner_name").on("field_definitions").columns(["owner_entity_id","name"]).execute(),await $.schema.createTable("field_values").addColumn("id","integer",(K)=>K.primaryKey().autoIncrement()).addColumn("entity_id","integer",(K)=>K.notNull().references("entities.id").onDelete("cascade")).addColumn("field_definition_id","integer",(K)=>K.notNull().references("field_definitions.id").onDelete("cascade")).addColumn("value","text").addColumn("ordinal","integer").addColumn("updated_at","text",(K)=>K.notNull()).execute(),await $.schema.createIndex("idx_field_values_entity").on("field_values").columns(["entity_id"]).execute(),await $.schema.createIndex("idx_field_values_entity_def").on("field_values").columns(["entity_id","field_definition_id"]).execute(),await $.schema.createTable("assets").addColumn("entity_id","integer",(K)=>K.primaryKey().references("entities.id").onDelete("cascade")).addColumn("hash","text",(K)=>K.notNull()).addColumn("mime_type","text",(K)=>K.notNull()).addColumn("size_bytes","integer",(K)=>K.notNull()).addColumn("original_filename","text").addColumn("width_px","integer").addColumn("height_px","integer").addColumn("display_width","integer").addColumn("display_height","integer").execute(),await $.schema.createIndex("idx_assets_hash").on("assets").column("hash").execute()};var dz6=()=>new Date().toISOString(),E1=dz6;var iz6=async($,K,q,Y)=>{if(!await $.selectFrom("sequences").select("next_value").where("scope_type","=",K).where("scope_id",q===null?"is":"=",q).where("type_code","=",Y).executeTakeFirst())await $.insertInto("sequences").values({scope_type:K,scope_id:q,type_code:Y,next_value:1}).execute();let z=await $.selectFrom("sequences").select("next_value").where("scope_type","=",K).where("scope_id",q===null?"is":"=",q).where("type_code","=",Y).executeTakeFirstOrThrow();return await $.updateTable("sequences").set((W)=>({next_value:W("next_value","+",1)})).where("scope_type","=",K).where("scope_id",q===null?"is":"=",q).where("type_code","=",Y).execute(),z.next_value},f7=Object.freeze({nextSeq:iz6});var nz6=[{code:"f",name:"Folder",subtype:null},{code:"f",name:"Document Root Folder",subtype:"root_d"},{code:"f",name:"Template Root Folder",subtype:"root_t"},{code:"f",name:"Story Root Folder",subtype:"root_s"},{code:"f",name:"State Folder",subtype:"state_folder"},{code:"d",name:"Document",subtype:null},{code:"t",name:"Template",subtype:null},{code:"s",name:"Story",subtype:null},{code:"n",name:"field_definition",subtype:null},{code:"a",name:"asset",subtype:null}],U$8=async($)=>{return(await $.selectFrom("entity_types").select("id").limit(1).execute()).length>0},yI=async($,K,q=null)=>{return(await $.selectFrom("entity_types").select("id").where("code","=",K).where((J)=>q?J("subtype","=",q):J("subtype","is",null)).executeTakeFirstOrThrow()).id},gI=async($,K,q,Y)=>{let J=E1(),W={d:"root_d",t:"root_t",s:"root_s"}[Y],Z={d:"Documents",t:"Templates",s:"Stories"}[Y],P=await yI($,"f",W);if(!await $.selectFrom("sequences").select("next_value").where("scope_type","=","store").where("scope_id","=",K).where("type_code","=","f").executeTakeFirst())await $.insertInto("sequences").values({scope_type:"store",scope_id:K,type_code:"f",next_value:1}).execute();let X=await $.selectFrom("sequences").select("next_value").where("scope_type","=","store").where("scope_id","=",K).where("type_code","=","f").executeTakeFirst();await $.updateTable("sequences").set((v)=>({next_value:v("next_value","+",1)})).where("scope_type","=","store").where("scope_id","=",K).where("type_code","=","f").execute();let w=`${q}f${X.next_value}`,T=await $.insertInto("entities").values({store_id:K,object_id:w,entity_type_id:P,type_code:"f",seq:X.next_value,parent_folder_id:null,parent_object_id:null,name:Z,created_at:J,updated_at:J}).returning("id").executeTakeFirstOrThrow();await $.insertInto("folders").values({entity_id:T.id}).execute();let j={d:"document",t:"template",s:"story"}[Y];return T.id},oz6=async($)=>{for(let K of nz6)await $.insertInto("entity_types").values(K).execute()},az6=async($,K,q)=>{let Y=E1(),J=await yI($,"n",null),z=await f7.nextSeq($,"store",K,"n"),W=`${q}n${z}`;await $.insertInto("field_definitions").values({store_id:K,object_id:W,entity_type_id:J,type_code:"n",seq:z,owner_entity_id:null,name:"state",label:"State",description:"Workflow state",primitive_type:"string",required:0,multiplicity:"single",is_system:1,created_at:Y,updated_at:Y}).execute()},rz6=async($,K,q)=>{let Y=E1(),J=await yI($,"n",null),z=await f7.nextSeq($,"store",K,"n"),W=`${q}n${z}`;await $.insertInto("field_definitions").values({store_id:K,object_id:W,entity_type_id:J,type_code:"n",seq:z,owner_entity_id:null,name:"default",label:"Default Field",description:"Auto-created for ad-hoc fields without explicit definitions",primitive_type:"string",required:0,multiplicity:"single",is_system:1,created_at:Y,updated_at:Y}).execute()},sz6=async($)=>{let K=await $.selectFrom("sequences").select("next_value").where("scope_type","=","global").where("scope_id","is",null).where("type_code","=","s").executeTakeFirstOrThrow();await $.updateTable("sequences").set((z)=>({next_value:z("next_value","+",1)})).where("scope_type","=","global").where("scope_id","is",null).where("type_code","=","s").execute();let q=`S${K.next_value}`,Y=E1(),J=await $.insertInto("stores").values({id:K.next_value,object_id:q,type:"local",code:"B",name:"Shared",created_at:Y,updated_at:Y}).returning("id").executeTakeFirstOrThrow();await gI($,J.id,"B","d"),await gI($,J.id,"B","t"),await gI($,J.id,"B","s"),await rz6($,J.id,"B"),await az6($,J.id,"B")},c$8=async($)=>{await oz6($),await $.insertInto("sequences").values([{scope_type:"global",scope_id:null,type_code:"s",next_value:1},{scope_type:"global",scope_id:null,type_code:"p",next_value:1}]).execute(),await sz6($)};var LA=g6(F$8(),1),tz6=($,K)=>{if($)throw new Error(K)},Q$8=($,K)=>{if(LA.default.null($)||LA.default.undefined($))throw new Error(`${K} is required`)},ez6=($,K)=>{if(Q$8($,K),LA.default.empty($))throw new Error(`${K} cannot be empty`)},$W6=($,K,...q)=>{if($)throw K(...q)},KW6={condition:tz6,nullish:Q$8,empty:ez6,factory:$W6},l=KW6;var pV6=typeof Bun!=="undefined",FV6=async($)=>{if(pV6){let{Database:K}=await import("bun:sqlite"),{BunSqliteDialect:q}=await Promise.resolve().then(() => g6(kO8(),1)),Y=new K($);return Y.exec("PRAGMA journal_mode = WAL"),Y.exec("PRAGMA foreign_keys = ON"),new p5({dialect:new q({database:Y})})}else{let q=new(await import("better-sqlite3")).default($);return q.pragma("journal_mode = WAL"),q.pragma("foreign_keys = ON"),new p5({dialect:new bI({database:q})})}},QV6=($,K)=>{if(!BV6($)){if(!K)throw new Error(`Database file not found: ${$}`);UV6(cV6($),{recursive:!0})}},lV6=async($,K)=>{if(!await m$8($)){if(!K)throw new Error("Database schema not found");await B$8($)}},dV6=async($,K)=>{if(!await U$8($)){if(!K)throw new Error("Database seed data not found");await c$8($)}},iV6=($)=>{let{kyselyFactory:K=FV6}=$??{};return Object.freeze({getDb:async(Y,J)=>{if(l.nullish(Y,"databaseFilepath"),Y!==":memory:")QV6(Y,J);let z=await K(Y);return await lV6(z,J),await dV6(z,J),z}})},fO8={create:iV6};var nV6=($)=>{let{id:K,name:q,createdAt:Y,updatedAt:J}=$,P=Object.freeze({getObjectId:()=>K,getName:()=>q,getCreatedAt:()=>Y,getUpdatedAt:()=>J}),w=Object.freeze({setName:(T)=>{q=T},setUpdatedAt:(T)=>{J=T}});return{entityFns:P,mutationFns:w}},t3=Object.freeze({create:nV6});var oV6=($)=>{let{id:K,name:q,path:Y,createdAt:J,updatedAt:z}=$,{entityFns:W,mutationFns:H}=t3.create({id:K,name:q,createdAt:J,updatedAt:z}),Z=()=>Y,O=Object.freeze({...W,getPath:Z,toJSON:()=>({objectId:W.getObjectId(),name:W.getName(),path:Z(),createdAt:W.getCreatedAt(),updatedAt:W.getUpdatedAt()})}),w=Object.freeze({...H,setPath:(T)=>{Y=T}});return{entity:O,mutationApi:w}},NO8=Object.freeze({create:oV6});var aV6=($,K,q)=>{return Object.freeze({getEntity:()=>$,getMutationApi:()=>K,getPk:()=>q})},k6=Object.freeze({create:aV6});var rV6=($)=>$.object_id,RO8=($)=>{if(!$||$.length<2||$[0]!=="P")return null;let K=parseInt($.slice(1),10);return isNaN(K)?null:K},G_=($)=>{let K=rV6($),q=$.id,{entity:Y,mutationApi:J}=NO8.create({id:K,name:$.name,path:$.path,createdAt:$.created_at,updatedAt:$.updated_at});return{entity:Y,mutationApi:J,id:K,pk:q}},sV6=()=>{let $=new Map;return Object.freeze({createProject:async(W,H,{name:Z,path:P},O)=>{let X=E1(),w=await f7.nextSeq(W,"global",null,"p"),T=`P${w}`,G=await W.insertInto("projects").values({id:w,object_id:T,name:Z,path:P,created_at:X,updated_at:X}).returningAll().executeTakeFirstOrThrow(),{entity:j,mutationApi:v,id:A,pk:R}=G_(G);return O(()=>{$.set(A,k6.create(j,v,R))}),j},readProject:async(W,H,Z)=>{let P=$.get(Z);if(P)return P.getEntity();let O=RO8(Z);if(O===null)return null;let X=await W.selectFrom("projects").selectAll().where("id","=",O).executeTakeFirst();if(!X)return null;let{entity:w,mutationApi:T,id:G,pk:j}=G_(X);return $.set(G,k6.create(w,T,j)),w},readProjectByObjectId:async(W,H,Z)=>{let P=$.get(Z);if(P)return P.getEntity();let O=RO8(Z);if(O===null)return null;let X=await W.selectFrom("projects").selectAll().where("id","=",O).executeTakeFirst();if(!X)return null;let{entity:w,mutationApi:T,id:G,pk:j}=G_(X);return $.set(G,k6.create(w,T,j)),w},readProjectByPath:async(W,H,Z)=>{let P=await W.selectFrom("projects").selectAll().where("path","=",Z).executeTakeFirst();if(!P)return null;let{entity:O,mutationApi:X,id:w,pk:T}=G_(P),G=$.get(w);if(G)return G.getEntity();return $.set(w,k6.create(O,X,T)),O},evictProject:(W)=>{$.delete(W)}})},CO8=Object.freeze({create:sV6});var tV6=()=>{let $=new Map,K=new Map;return Object.freeze({get:(X)=>$.get(X),getByPk:(X)=>{let w=K.get(X);return w?$.get(w):void 0},has:(X)=>$.has(X),set:(X,w)=>{$.set(X,w),K.set(w.getPk(),X)},remove:(X)=>{let w=$.get(X);if(w)K.delete(w.getPk());$.delete(X)},getIdByPk:(X)=>K.get(X),setIdByPk:(X,w)=>K.set(X,w),clear:()=>{$.clear(),K.clear()},entries:()=>$.entries()})},kZ=Object.freeze({create:tV6});var yO8=g6(a4(),1);var eV6=async($,K,q,Y=null)=>{return(await $.selectFrom("entity_types").select("id").where("code","=",q).where((z)=>Y?z("subtype","=",Y):z("subtype","is",null)).executeTakeFirstOrThrow()).id},C3=Object.freeze({readEntityTypeId:eV6});var $A6=($)=>{let{id:K,name:q,parentId:Y,path:J,createdAt:z,updatedAt:W,publishedVersionNumber:H,hasDraft:Z,draftContent:P,publishedContent:O}=$,{entityFns:X,mutationFns:w}=t3.create({id:K,name:q,createdAt:z,updatedAt:W}),T=new Map,G=H??null,j=Z??!1,v=P??null,A=O??null,R=null,O8=Object.freeze({...X,getParentId:()=>Y,getPath:()=>J,getField:(m8)=>{return T.get(m8)},getFields:()=>{let m8={};for(let[t8,Y6]of T.entries())m8[t8]=Y6;return m8},getPublishedVersionNumber:()=>G,hasDraftContent:()=>j,getDraftContent:()=>v,getPublishedContent:()=>A,getEditState:()=>R,hasPublished:()=>G>0,isBeingEdited:()=>R!==null,getVersionCount:()=>G??0,getIsFolder:()=>!1}),c8=Object.freeze({...w,setParentId:(m8)=>{Y=m8},setPath:(m8)=>{J=m8},setField:(m8,t8)=>{T.set(m8,t8)},removeField:(m8)=>{T.delete(m8)},setPublishedVersionNumber:(m8)=>{G=m8},setHasDraft:(m8)=>{j=m8},setDraftContent:(m8)=>{v=m8},setPublishedContent:(m8)=>{A=m8},setEditState:(m8)=>{R=m8}});return{entityFns:O8,mutationFns:c8}},QY=Object.freeze({create:$A6});var DO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),Y=$.subtype||null,J=()=>Y,z=()=>K.getParentId()===null,W=()=>!0,Z=Object.freeze({...K,getSubtype:J,isRoot:z,getIsFolder:W,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),subtype:J(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),isFolder:W(),isRoot:z()})}),P=Object.freeze({...q});return{entity:Z,mutationApi:P}},KA6=($,K,q,Y)=>{return DO8({id:K,parentId:q,name:$.name,path:Y,subtype:$.subtype||null,createdAt:$.created_at,updatedAt:$.updated_at})},i5=Object.freeze({create:DO8,createFromRow:KA6});var hO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),H=Object.freeze({...K,getTypeCode:()=>"s",isStory:()=>!0,getIsFolder:()=>!1,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),type:"s",isStory:!0,isFolder:!1})}),Z=Object.freeze({...q});return{entity:H,mutationApi:Z}},qA6=($,K,q,Y)=>{return hO8({id:K,parentId:q,name:$.name,path:Y,createdAt:$.created_at,updatedAt:$.updated_at})},v_=Object.freeze({create:hO8,createFromRow:qA6});var EO8=($)=>{let{entityFns:K,mutationFns:q}=t3.create({id:$.id,name:$.name||$.originalFilename,createdAt:$.createdAt,updatedAt:$.updatedAt}),Y=$.hash,J=$.mimeType,z=$.sizeBytes,W=$.originalFilename,H=$.widthPx,Z=$.heightPx,P=$.displayWidth,O=$.displayHeight,S=Object.freeze({...K,getTypeCode:()=>"a",isAsset:()=>!0,getHash:()=>Y,getMimeType:()=>J,getSizeBytes:()=>z,getOriginalFilename:()=>W,getWidthPx:()=>H,getHeightPx:()=>Z,getDisplayWidth:()=>P,getDisplayHeight:()=>O,toJSON:()=>({id:K.getObjectId(),type:"a",hash:Y,mimeType:J,sizeBytes:z,originalFilename:W,widthPx:H,heightPx:Z,displayWidth:P,displayHeight:O,createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt()})}),h=Object.freeze({...q});return{entity:S,mutationApi:h}},YA6=($,K)=>{return EO8({id:K,name:$.name||$.original_filename,hash:$.hash,mimeType:$.mime_type,sizeBytes:$.size_bytes,originalFilename:$.original_filename,widthPx:$.width_px,heightPx:$.height_px,displayWidth:$.display_width,displayHeight:$.display_height,createdAt:$.created_at,updatedAt:$.updated_at})},V_=Object.freeze({create:EO8,createFromRow:YA6});var JA6=($)=>{let{id:K,name:q,ownerEntityId:Y,label:J,description:z,primitiveType:W,required:H,multiplicity:Z,isSystem:P,createdAt:O,updatedAt:X}=$,{entityFns:w,mutationFns:T}=t3.create({id:K,name:q,createdAt:O,updatedAt:X}),G=()=>Y,j=()=>J,v=()=>z,A=()=>W,R=()=>H,k=()=>Z,f=()=>P,S=Object.freeze({...w,getOwnerEntityId:G,getLabel:j,getDescription:v,getPrimitiveType:A,getRequired:R,getMultiplicity:k,getIsSystem:f,toJSON:()=>({id:w.getObjectId(),ownerEntityId:G(),name:w.getName(),label:j(),description:v(),primitiveType:A(),required:R(),multiplicity:k(),isSystem:f(),createdAt:w.getCreatedAt(),updatedAt:w.getUpdatedAt()})}),h=Object.freeze({...T});return{entity:S,mutationApi:h}},hy=Object.freeze({create:JA6});var zA6=({definition:$,values:K=[]})=>{let q=$,Y=[...K];if(q.getMultiplicity()==="single"&&Y.length>1)throw new Error(`Field "${q.getName()}" is single-valued but received ${Y.length} values`);let J=(T=0)=>{return Y[T]},z=()=>{return[...Y]},W=()=>{return q},H=()=>{return q.getMultiplicity()==="multi"};return Object.freeze({getValue:J,getValues:z,getDefinition:W,isMultiValued:H,isRequired:()=>{return q.getRequired()},getType:()=>{return q.getPrimitiveType()},getLabel:()=>{return q.getLabel()||q.getName()},getName:()=>{return q.getName()},toJSON:()=>{if(H())return Y;else return Y[0]}})},Ey=Object.freeze({create:zA6});z4();z4();var OA6=($)=>{let K=$.trim();l.factory(!K,m.validation,"Folder name cannot be empty","EMPTY_NAME"),l.factory(K.length>255,m.validation,"Folder name cannot exceed 255 characters","NAME_TOO_LONG");let q=/[/\\:*?"<>|]/;return l.factory(q.test(K),m.validation,'Folder name contains invalid characters: /\\:*?"<>|',"INVALID_CHARS"),K},XA6=($)=>{return $.getParentId()===null},$3=Object.freeze({validateFolderName:OA6,isRootFolder:XA6});z4();var wA6=($)=>{if(!$||$.length<3)return null;let K=$[0],q=$[1],Y=parseInt($.slice(2),10);if(isNaN(Y))return null;return{storeCode:K,typeCode:q,seq:Y}},TA6=($,K,q)=>`${$}${K}${q}`,jA6=($,K)=>{l.factory($!==K,m.validation,`Store code mismatch: expected ${K}, got ${$}`,"STORE_CODE_MISMATCH")},fZ=Object.freeze({parseId:wA6,buildId:TA6,validateStoreCode:jA6});var SO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),Y=()=>"d",z=Object.freeze({...K,getTypeCode:Y,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),publishedVersionNumber:K.getPublishedVersionNumber(),hasDraft:K.hasDraftContent(),draftContent:K.getDraftContent(),publishedContent:K.getPublishedContent(),editState:K.getEditState(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),versionCount:K.getVersionCount(),isFolder:K.getIsFolder(),type:Y(),hasPublished:K.hasPublished(),isBeingEdited:K.isBeingEdited()})}),W=Object.freeze({...q});return{entity:z,mutationApi:W}},GA6=($,K,q,Y,J,z,W=null,H=null)=>{return SO8({id:K,parentId:q,name:$.name,path:Y,publishedVersionNumber:J,hasDraft:z,draftContent:W,publishedContent:H,createdAt:$.created_at,updatedAt:$.updated_at})},LO8=Object.freeze({create:SO8,createFromRow:GA6});var IO8=($)=>{let{entityFns:K,mutationFns:q}=QY.create($),Y=()=>"t",z=Object.freeze({...K,getTypeCode:Y,toJSON:()=>({id:K.getObjectId(),parentId:K.getParentId(),name:K.getName(),path:K.getPath(),publishedVersionNumber:K.getPublishedVersionNumber(),hasDraft:K.hasDraftContent(),draftContent:K.getDraftContent(),publishedContent:K.getPublishedContent(),editState:K.getEditState(),createdAt:K.getCreatedAt(),updatedAt:K.getUpdatedAt(),versionCount:K.getVersionCount(),isFolder:K.getIsFolder(),type:Y(),hasPublished:K.hasPublished(),isBeingEdited:K.isBeingEdited()})}),W=Object.freeze({...q});return{entity:z,mutationApi:W}},vA6=($,K,q,Y,J,z,W=null,H=null)=>{return IO8({id:K,parentId:q,name:$.name,path:Y,publishedVersionNumber:J,hasDraft:z,draftContent:W,publishedContent:H,createdAt:$.created_at,updatedAt:$.updated_at})},xO8=Object.freeze({create:IO8,createFromRow:vA6});z4();var bO8=($)=>{let K=fZ.parseId($);if(!K)throw m.notFound(`Invalid entity ID format: ${$}`,"NOT_FOUND");let{storeCode:q,typeCode:Y,seq:J}=K;return{entityId:`${Y}${J}`,storeCode:q,typeCode:Y,seq:J}},VA6=($)=>{let{typeCode:K}=bO8($);return K},AA6={d:LO8.createFromRow,t:xO8.createFromRow},MA6=($)=>{let K=AA6[$];if(!K)throw new Error(`Unknown content type: ${$}`);return K},_A6=($)=>{return{d:"document",t:"template"}[$]||"content"},F1=Object.freeze({resolveEntityId:bO8,getTypeFromId:VA6,getEntityFactory:MA6,getContentTypeLabel:_A6,buildId:fZ.buildId,parseId:fZ.parseId});var{parseId:l1,buildId:rT,validateStoreCode:kA6}=fZ,{validateFolderName:gO8,isRootFolder:A84}=$3,M84=yO8.default("caw:stores:db"),lY=3600000,fA6=({id:$,code:K,name:q,pk:Y,folderCache:J,createdAt:z,updatedAt:W})=>{let H=new Map,{entityFns:Z,mutationFns:P}=t3.create({id:$,name:q,createdAt:z,updatedAt:W}),O=()=>new Set([K]),X=()=>"local",w=()=>K,T=()=>Y,G=()=>({id:$,code:K,name:Z.getName(),createdAt:Z.getCreatedAt(),updatedAt:Z.getUpdatedAt(),type:"local"}),j=(x)=>{kA6(x,K)},v=async(x,$8)=>{if(!$8)return null;if(J){let i=J.get($8);if(i)return i.getPk()}if(!l1($8))l.factory(!0,m.validation,`Invalid parent folder ID: ${$8}`,"INVALID_ID");let t=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("object_id","=",$8).where("deleted_at","is",null).executeTakeFirst();return t?t.id:null},A=async(x,$8)=>{let B=await x.selectFrom("entities").select(["name","parent_folder_id","parent_object_id","object_id"]).where("id","=",$8).where("deleted_at","is",null).executeTakeFirst();l.factory(!B,m.notFound,`Entity not found for PK ${$8}`,"ENTITY_NOT_FOUND");let t=B.object_id,i=J?J.get(t):null;if(i){let F=i.getEntity();if(F.getName()===B.name&&F.getParentId()===B.parent_object_id)return F.getPath()}if(!B.parent_object_id)return B.name;let b=J?J.get(B.parent_object_id):null;if(b){let K8=b.getEntity().getPath();return K8?`${K8}/${B.name}`:B.name}let y=[B.name],u=B.parent_folder_id;while(u!==null){let F=H.get(u),K8=F&&J?J.get(F):null;if(K8){let u8=K8.getEntity().getPath();if(u8){let U8=u8.split("/").filter((l8)=>l8);y.unshift(...U8)}break}let T8=await x.selectFrom("entities").select(["name","parent_folder_id"]).where("id","=",u).where("deleted_at","is",null).executeTakeFirst();l.factory(!T8,m.notFound,`Folder not found for PK ${u}`,"FOLDER_NOT_FOUND"),y.unshift(T8.name),u=T8.parent_folder_id}return y.join("/")},R=async(x,$8)=>{let B=[],t=[$8];while(t.length>0){let i=t.shift(),b=await x.selectFrom("entities").select(["id","type_code"]).where("store_id","=",Y).where("parent_folder_id","=",i).where("deleted_at","is",null).execute();for(let y of b)if(B.push(y.id),y.type_code==="f"||y.type_code==="s")t.push(y.id)}return B},k=async(x,$8,B,t)=>{let i=E1(),b=await C3.readEntityTypeId(x,{},"f",t),y=await f7.nextSeq(x,"store",Y,"f"),u=await v(x,$8),F=rT(K,"f",y),K8=await x.insertInto("entities").values({store_id:Y,object_id:F,entity_type_id:b,type_code:"f",seq:y,parent_folder_id:u,parent_object_id:$8,name:B,created_at:i,updated_at:i}).returningAll().executeTakeFirstOrThrow();return await x.insertInto("folders").values({entity_id:K8.id}).execute(),{row:{...K8,subtype:t},id:F}},f=(x)=>{let $8=null;if(x.owner_entity_id!==null)$8=H.get(x.owner_entity_id)??null;let{entity:B,mutationApi:t}=hy.create({id:x.object_id,name:x.name,ownerEntityId:$8,label:x.label,description:x.description,primitiveType:x.primitive_type,required:x.required===1,multiplicity:x.multiplicity,isSystem:x.is_system===1,createdAt:x.created_at,updatedAt:x.updated_at});return{entity:B,mutationApi:t,pk:x.id}},D=async(x,$8)=>{let B=await x.selectFrom("field_values as fv").innerJoin("field_definitions as fd","fd.id","fv.field_definition_id").select(["fv.id as value_id","fv.value","fd.id as def_id","fd.object_id as def_object_id","fd.name as def_name","fd.label as def_label","fd.description as def_description","fd.primitive_type as def_primitive_type","fd.required as def_required","fd.multiplicity as def_multiplicity","fd.is_system as def_is_system","fd.owner_entity_id as def_owner_entity_id","fd.created_at as def_created_at","fd.updated_at as def_updated_at"]).where("fv.entity_id","=",$8).execute(),t=new Map;for(let b of B){let y=b.def_id;if(!t.has(y))t.set(y,{definition:{id:b.def_object_id,name:b.def_name,label:b.def_label,description:b.def_description,primitiveType:b.def_primitive_type,required:b.def_required===1,multiplicity:b.def_multiplicity,isSystem:b.def_is_system===1,ownerEntityId:b.def_owner_entity_id?H.get(b.def_owner_entity_id):null,createdAt:b.def_created_at,updatedAt:b.def_updated_at},values:[]});t.get(y).values.push(b.value)}let i=[];for(let{definition:b,values:y}of t.values()){let{entity:u}=hy.create(b),F=Ey.create({definition:u,values:y});i.push(F)}return i},S=async(x,$8)=>{let B=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("seq","=",1).where("type_code","=","n").executeTakeFirst();if(!B)return null;if(B.owner_entity_id){let i=await x.selectFrom("entities").select("object_id").where("id","=",B.owner_entity_id).executeTakeFirst();if(i)H.set(B.owner_entity_id,i.object_id)}let t=`${K}n1`;return H.set(B.id,t),f(B)},h=async(x,$8,{storeCode:B,parentId:t,name:i,subtype:b})=>{if(B!==void 0)j(B);if(i!==null&&i!==void 0)gO8(i);let{row:y,id:u}=await k(x,t,i,b||null),F=y.id;H.set(F,u);let K8=await A(x,F),{entity:T8,mutationApi:k8}=i5.createFromRow(y,u,t,K8);return{entity:T8,mutationApi:k8,pk:F}},Q=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;if(t.typeCode!=="f")return null;let i=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.seq","=",t.seq).where("entities.type_code","=","f").where("entities.deleted_at","is",null).executeTakeFirst();if(!i)return null;let{id:b,parent_object_id:y}=i;H.set(b,B);let u=await A(x,b),F=await D(x,b),{entity:K8,mutationApi:T8}=i5.createFromRow(i,B,y,u);for(let k8 of F)T8.setField(k8.getDefinition().getName(),k8);return{entity:K8,mutationApi:T8,pk:b}},I=async(x,$8,{id:B,name:t,parentId:i})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid folder ID: ${B}`,"INVALID_ID");let y=await x.selectFrom("entities").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.seq","=",b.seq).where("entities.type_code","=","f").where("entities.deleted_at","is",null).executeTakeFirst();l.factory(!y,m.notFound,`Folder not found: ${B}`,"FOLDER_NOT_FOUND");let{id:u,subtype:F}=y,K8={name:y.name,parentId:y.parent_object_id,path:null};if(H.set(u,B),K8.path=await A(x,u),t!==void 0)gO8(t);let T8={};if(t!==void 0)T8.name=t;if(i!==void 0){let b6=await v(x,i);T8.parent_folder_id=b6,T8.parent_object_id=i}T8.updated_at=E1();let k8=await x.updateTable("entities").set(T8).where("id","=",u).returningAll().executeTakeFirstOrThrow(),u8=await A(x,u),U8=await D(x,u),{entity:l8,mutationApi:O6}=i5.createFromRow({...k8,subtype:F},B,k8.parent_object_id,u8);for(let b6 of U8)O6.setField(b6.getDefinition().getName(),b6);return{entity:l8,mutationApi:O6,pk:u,oldValues:K8}},N=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid folder ID: ${B}`,"INVALID_ID");let i=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",t.seq).where("type_code","=","f").where("deleted_at","is",null).executeTakeFirst();l.factory(!i,m.notFound,`Folder not found: ${B}`,"FOLDER_NOT_FOUND");let b=i.id;H.set(b,B);let y=await A(x,b),u=await R(x,b),F=E1();await x.updateTable("entities").set({deleted_at:F}).where("id","in",[b,...u]).execute();let K8=[];for(let T8 of u){let k8=await x.selectFrom("entities").select("object_id").where("id","=",T8).executeTakeFirst();if(k8)K8.push(k8.object_id)}return{id:B,deleted:!0,descendantCount:u.length,path:y,descendantIds:K8,deletedPks:[b,...u]}},E=async(x,$8,B,t,i=null)=>{let b=await v(x,B),y=x.selectFrom("entities").select("object_id").where("store_id","=",Y).where("parent_folder_id",b===null?"is":"=",b).where("name","=",t).where("deleted_at","is",null);if(i)y=y.where("object_id","!=",i);return!!await y.executeTakeFirst()},p=async(x,$8,B,t)=>{let i=await v(x,B),b=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.parent_folder_id",i===null?"is":"=",i).where("entities.name","=",t).where("entities.deleted_at","is",null).executeTakeFirst();if(!b)return null;let{id:y,object_id:u}=b;H.set(y,u);let F=await A(x,y),K8=await D(x,y),{entity:T8,mutationApi:k8}=i5.createFromRow(b,u,B,F);for(let u8 of K8)k8.setField(u8.getDefinition().getName(),u8);return{entity:T8,mutationApi:k8,pk:y}},c=async(x,$8,{folderId:B,type:t})=>{let i;if(B){if(i=await v(x,B),i===null)return[]}else if(t){let F=await P8(x,$8,t);if(!F)return[];i=F.pk}else i=null;let b=x.selectFrom("entities").selectAll("entities").where("entities.store_id","=",Y).where("entities.parent_folder_id",i===null?"is":"=",i).where("entities.deleted_at","is",null);if(t)b=b.where("entities.type_code","=","f").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").select("entity_types.subtype");let y=await b.execute(),u=[];for(let F of y){let{id:K8,object_id:T8}=F;H.set(K8,T8);let k8=await A(x,K8),u8=await D(x,K8),{entity:U8,mutationApi:l8}=i5.createFromRow(F,T8,F.parent_object_id,k8);for(let O6 of u8)l8.setField(O6.getDefinition().getName(),O6);u.push({entity:U8,mutationApi:l8,pk:K8})}return u},r=async(x,$8,{path:B,type:t})=>{l.factory(!t,m.validation,"type parameter is required for getFolderByPath","MISSING_TYPE");let i=(B??"").trim(),y={d:"Documents",t:"Templates",s:"Stories"}[t];l.factory(!y,m.validation,`Invalid type: ${t}`,"INVALID_TYPE");let u;if(i.startsWith(`${y}/`))u=i;else if(i===y)u=y;else u=i?`${y}/${i}`:y;let F=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("type_code","=","f").where("deleted_at","is",null).execute();for(let K8 of F){let T8=await Q(x,$8,{id:K8.object_id});if(T8&&T8.entity.getPath()===u)return T8}return null},P8=async(x,$8,B,t)=>{if(t!==void 0)j(t);let b={d:"root_d",t:"root_t",s:"root_s"}[B];if(!b)throw m.validation(`Invalid type for root folder: ${B}`,"INVALID_TYPE");let y=await C3.readEntityTypeId(x,$8,"f",b),u=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.entity_type_id","=",y).where("entities.deleted_at","is",null).executeTakeFirst();if(!u)return null;let{id:F,object_id:K8}=u;H.set(F,K8);let T8=await A(x,F),k8=await D(x,F),{entity:u8,mutationApi:U8}=i5.createFromRow(u,K8,u.parent_object_id,T8);for(let l8 of k8)U8.setField(l8.getDefinition().getName(),l8);return{entity:u8,mutationApi:U8,pk:F}},O8=async(x,$8,{storeCode:B,ownerEntityId:t,name:i,label:b,description:y,primitiveType:u,required:F,multiplicity:K8,isSystem:T8=!1})=>{if(B!==void 0)j(B);l.factory(u!=="string"&&u!=="object_ref",m.validation,`Invalid primitiveType: ${u}`,"INVALID_PRIMITIVE_TYPE"),l.factory(K8!=="single"&&K8!=="multi",m.validation,`Invalid multiplicity: ${K8}`,"INVALID_MULTIPLICITY");let k8=E1(),u8=await C3.readEntityTypeId(x,$8,"n",null),U8=await f7.nextSeq(x,"store",Y,"n"),l8=rT(K,"n",U8),O6=t?await v(x,t):null,b6=await x.insertInto("field_definitions").values({store_id:Y,object_id:l8,entity_type_id:u8,type_code:"n",seq:U8,owner_entity_id:O6,name:i,label:b,description:y,primitive_type:u,required:F?1:0,multiplicity:K8,is_system:T8?1:0,created_at:k8,updated_at:k8}).returningAll().executeTakeFirstOrThrow(),$4=b6.id;return H.set($4,l8),f(b6)},R8=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let i=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("seq","=",t.seq).where("type_code","=","n").executeTakeFirst();if(!i)return null;if(i.owner_entity_id){let b=await x.selectFrom("entities").select("object_id").where("id","=",i.owner_entity_id).executeTakeFirst();if(b)H.set(i.owner_entity_id,b.object_id)}return H.set(i.id,B),f(i)},I8=async(x,$8,B,t)=>{let i=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("name","=",B).where("owner_entity_id",t===null?"is":"=",t).executeTakeFirst();if(!i)return null;if(i.owner_entity_id){let b=await x.selectFrom("entities").select("object_id").where("id","=",i.owner_entity_id).executeTakeFirst();if(b)H.set(i.owner_entity_id,b.object_id)}return H.set(i.id,i.object_id),f(i)},_8=async(x,$8,{fieldDefinitionId:B,fieldName:t,ownerEntityPk:i})=>{if(B){let y=await R8(x,$8,{id:B});if(y)return y}if(t&&i){let y=await I8(x,$8,t,i);if(y)return y}if(t){let y=await I8(x,$8,t,null);if(y)return y}let b=await S(x);return l.factory(!b,m.notFound,"No field definition found and no default available","NO_FIELD_DEFINITION"),b},g8=async(x,$8,{ownerEntityPk:B,includeSystem:t=!0})=>{let i=x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("owner_entity_id",B===null?"is":"=",B);if(!t)i=i.where("is_system","=",0);let b=await i.execute(),y=[];for(let u of b){if(u.owner_entity_id){let F=await x.selectFrom("entities").select("object_id").where("id","=",u.owner_entity_id).executeTakeFirst();if(F)H.set(u.owner_entity_id,F.object_id)}H.set(u.id,u.object_id),y.push(f(u))}return y},d8=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid definition ID: ${B}`,"INVALID_ID");let i=await x.selectFrom("field_definitions").selectAll().where("store_id","=",Y).where("seq","=",t.seq).where("type_code","=","n").executeTakeFirst();l.factory(!i,m.notFound,`Field definition not found: ${B}`,"DEFINITION_NOT_FOUND"),l.factory(i.is_system===1,m.validation,`Cannot delete system field definition: ${B}`,"SYSTEM_DEFINITION");let b=i.id;if(await x.deleteFrom("field_definitions").where("id","=",b).execute(),i.owner_entity_id){let u=await x.selectFrom("entities").select("object_id").where("id","=",i.owner_entity_id).executeTakeFirst();if(u)H.set(i.owner_entity_id,u.object_id)}let{entity:y}=f(i);return y},z8=async(x,$8,{entityId:B,fieldDefinitionId:t,fieldName:i,value:b,values:y})=>{let u=l1(B);l.factory(!u,m.validation,`Invalid entity ID: ${B}`,"INVALID_ID");let F=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("seq","=",u.seq).where("type_code","=",u.typeCode).where("deleted_at","is",null).executeTakeFirst();l.factory(!F,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND");let K8=F.id,{entity:T8,pk:k8}=await _8(x,$8,{fieldDefinitionId:t,fieldName:i,ownerEntityPk:K8}),u8=T8.getMultiplicity(),U8;if(u8==="single")if(y&&Array.isArray(y))l.factory(y.length>1||y.length===0,m.validation,`Field '${T8.getName()}' is single-valued but received ${y.length} values`,"MULTIPLICITY_VIOLATION"),U8=[y[0]];else l.factory(b===void 0,m.validation,"Single-valued field requires value parameter","VALUE_REQUIRED"),U8=[b];else if(y&&Array.isArray(y))U8=y;else if(b!==void 0)U8=[b];else l.factory(!0,m.validation,"Multi-valued field requires either value or values parameter","VALUE_OR_VALUES_REQUIRED");await x.deleteFrom("field_values").where("entity_id","=",K8).where("field_definition_id","=",k8).execute();let l8=E1();for(let j7 of U8)await x.insertInto("field_values").values({entity_id:K8,field_definition_id:k8,value:j7,updated_at:l8}).execute();let O6=U8,b6=Ey.create({definition:T8,values:O6}),$4;if(u.typeCode==="f")$4=await Q(x,$8,{id:B});else if(u.typeCode==="s")$4=await W8(x,$8,{id:B});else $4=await f8(x,$8,{id:B});return l.factory(!$4,m.notFound,`Entity not found after field update: ${B}`,"ENTITY_NOT_FOUND"),{...$4,field:b6,fieldName:T8.getName()}},v8=async(x,$8,{entityId:B,fieldDefinitionId:t,fieldName:i})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid entity ID: ${B}`,"INVALID_ID");let y=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("seq","=",b.seq).where("type_code","=",b.typeCode).where("deleted_at","is",null).executeTakeFirst();l.factory(!y,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND");let u=y.id,{entity:F,pk:K8}=await _8(x,$8,{fieldDefinitionId:t,fieldName:i,ownerEntityPk:u});await x.deleteFrom("field_values").where("entity_id","=",u).where("field_definition_id","=",K8).execute();let T8;if(b.typeCode==="f")T8=await Q(x,$8,{id:B});else if(b.typeCode==="s")T8=await W8(x,$8,{id:B});else T8=await f8(x,$8,{id:B});return l.factory(!T8,m.notFound,`Entity not found after field delete: ${B}`,"ENTITY_NOT_FOUND"),{...T8,fieldName:F.getName()}},C8=async(x,$8,{type:B,storeCode:t,parentId:i,name:b,initialContent:y})=>{let u=F1.getEntityFactory(B);if(t!==void 0)j(t);let F=E1(),K8=await C3.readEntityTypeId(x,$8,B,null),T8=await f7.nextSeq(x,"store",Y,B),k8=rT(K,B,T8),u8=await v(x,i),U8=await x.insertInto("entities").values({store_id:Y,object_id:k8,entity_type_id:K8,type_code:B,seq:T8,parent_folder_id:u8,parent_object_id:i,name:b,created_at:F,updated_at:F}).returningAll().executeTakeFirstOrThrow();await x.insertInto("documents").values({entity_id:U8.id,published_version_id:null}).execute();let l8=y!==null&&y!==void 0;if(l8)await x.insertInto("document_drafts").values({entity_id:U8.id,content:y,updated_at:F}).execute();let O6=U8.id;H.set(O6,k8);let b6=await A(x,O6),{entity:$4,mutationApi:j7}=u(U8,k8,i,b6,null,l8,l8?y:null,null);return{entity:$4,mutationApi:j7,pk:O6}},f8=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let{typeCode:i,seq:b}=t,y=F1.getEntityFactory(i),u=await x.selectFrom("entities as e").innerJoin("documents as d","d.entity_id","e.id").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","e.id").leftJoin("document_edit_state as es","es.entity_id","e.id").select(["e.id as entity_id","e.object_id","e.parent_folder_id","e.parent_object_id","e.name","e.created_at","e.updated_at","e.deleted_at","dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft"),"es.session_id as edit_session_id","es.started_at as edit_started_at","es.last_activity_at as edit_activity"]).where("e.store_id","=",Y).where("e.type_code","=",i).where("e.seq","=",b).where("e.deleted_at","is",null).executeTakeFirst();if(!u)return null;let F=u.entity_id;H.set(F,B);let K8=await A(x,F),T8=await D(x,F),{entity:k8,mutationApi:u8}=y(u,u.object_id,u.parent_object_id,K8,u.published_version_number,u.has_draft===1,u.draft_content??null,u.published_content??null);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);if(u.edit_session_id)u8.setEditState({sessionId:u.edit_session_id,startedAt:u.edit_started_at,lastActivityAt:u.edit_activity});return{entity:k8,mutationApi:u8,pk:F}},c8=async(x,$8,{id:B,name:t,parentId:i})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:y,seq:u}=b,F=F1.getContentTypeLabel(y),K8=F1.getEntityFactory(y),T8=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",u).where("type_code","=",y).where("deleted_at","is",null).executeTakeFirst();l.factory(!T8,m.notFound,`${F} not found: ${B}`,"NOT_FOUND");let k8=T8.id,u8={name:T8.name,parentId:T8.parent_object_id,path:null};H.set(k8,B),u8.path=await A(x,k8);let l8={updated_at:E1()};if(t!==void 0)l8.name=t;if(i!==void 0){let UW=await v(x,i);l8.parent_folder_id=UW,l8.parent_object_id=i}let O6=await x.updateTable("entities").set(l8).where("id","=",k8).returningAll().executeTakeFirstOrThrow(),b6=await x.selectFrom("documents as d").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","d.entity_id").select(["dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft")]).where("d.entity_id","=",k8).executeTakeFirst(),$4=await A(x,k8),j7=await D(x,k8),{entity:jE,mutationApi:sq}=K8(O6,B,O6.parent_object_id,$4,b6.published_version_number,b6.has_draft===1,b6.draft_content??null,b6.published_content??null);for(let UW of j7)sq.setField(UW.getDefinition().getName(),UW);return{entity:jE,mutationApi:sq,pk:k8,oldValues:u8}},m8=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:i,seq:b}=t,y=F1.getContentTypeLabel(i),u=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",b).where("type_code","=",i).where("deleted_at","is",null).executeTakeFirst();l.factory(!u,m.notFound,`${y} not found: ${B}`,"NOT_FOUND");let F=u.id;H.set(F,B);let K8=await A(x,F),T8=E1();return await x.updateTable("entities").set({deleted_at:T8}).where("id","=",F).execute(),{id:B,deleted:!0,path:K8}},t8=async(x,$8,{id:B,content:t,sessionId:i})=>{let b=l1(B);l.factory(!b,m.validation,`Invalid content ID: ${B}`,"INVALID_ID"),l.factory(!i,m.validation,"sessionId is required","MISSING_SESSION_ID");let{typeCode:y,seq:u}=b,F=F1.getContentTypeLabel(y),K8=E1(),T8=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",y).where("seq","=",u).where("deleted_at","is",null).executeTakeFirst();l.factory(!T8,m.notFound,`${F} not found: ${B}`,"NOT_FOUND");let k8=T8.id,u8=await x.selectFrom("document_edit_state").selectAll().where("entity_id","=",k8).executeTakeFirst(),U8=new Date(Date.now()-lY).toISOString();if(u8&&u8.session_id!==i&&u8.last_activity_at>=U8)l.factory(!0,m.conflict,"Document is locked by another session","EDIT_CONFLICT");await x.insertInto("document_drafts").values({entity_id:k8,content:t,updated_at:K8}).onConflict(($4)=>$4.column("entity_id").doUpdateSet({content:t,updated_at:K8})).execute();let O6=!await n(x,$8,{id:B,sessionId:i}),b6=await f8(x,$8,{id:B});return l.factory(!b6,m.notFound,`${F} not found after draft save: ${B}`,"NOT_FOUND"),{...b6,lockLost:O6}},Y6=async(x,$8,{id:B,sessionId:t})=>{let i=l1(B);l.factory(!i,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:b,seq:y}=i,u=F1.getContentTypeLabel(b),F=E1(),K8=await x.selectFrom("entities as e").innerJoin("document_drafts as dd","dd.entity_id","e.id").select(["e.id as entity_id","dd.content"]).where("e.store_id","=",Y).where("e.type_code","=",b).where("e.seq","=",y).where("e.deleted_at","is",null).executeTakeFirst();l.factory(!K8,m.notFound,`No draft found for ${u}: ${B}`,"DRAFT_NOT_FOUND");let T8=K8.entity_id,k8=await x.selectFrom("document_edit_state").selectAll().where("entity_id","=",T8).executeTakeFirst(),u8=new Date(Date.now()-lY).toISOString();if(k8&&k8.session_id!==t&&k8.last_activity_at>=u8)l.factory(!0,m.conflict,"Document is locked by another session","EDIT_CONFLICT");let l8=((await x.selectFrom("document_versions").select(x.fn.max("version_number").as("max_version")).where("entity_id","=",T8).executeTakeFirst())?.max_version||0)+1,O6=await x.insertInto("document_versions").values({entity_id:T8,version_number:l8,content:K8.content,published_at:F}).returningAll().executeTakeFirstOrThrow();await x.updateTable("documents").set({published_version_id:O6.id}).where("entity_id","=",T8).execute(),await x.deleteFrom("document_drafts").where("entity_id","=",T8).execute(),await x.deleteFrom("document_edit_state").where("entity_id","=",T8).execute();let b6=await f8(x,$8,{id:B});return l.factory(!b6,m.notFound,`${u} not found after publish: ${B}`,"NOT_FOUND"),b6},z1=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid content ID: ${B}`,"INVALID_ID");let{typeCode:i,seq:b}=t,y=F1.getContentTypeLabel(i),u=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",i).where("seq","=",b).where("deleted_at","is",null).executeTakeFirst();l.factory(!u,m.notFound,`${y} not found: ${B}`,"NOT_FOUND"),await x.deleteFrom("document_drafts").where("entity_id","=",u.id).execute();let F=await f8(x,$8,{id:B});return l.factory(!F,m.notFound,`${y} not found after discard: ${B}`,"NOT_FOUND"),F},C1=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let{typeCode:i,seq:b}=t,y=await x.selectFrom("entities as e").innerJoin("document_drafts as dd","dd.entity_id","e.id").select(["e.object_id","dd.content","dd.updated_at"]).where("e.store_id","=",Y).where("e.type_code","=",i).where("e.seq","=",b).where("e.deleted_at","is",null).executeTakeFirst();if(!y)return null;return{entityId:y.object_id,content:y.content,updatedAt:y.updated_at}},R4=async(x,$8,{id:B,versionNumber:t})=>{let i=l1(B);if(!i)return null;let{typeCode:b,seq:y}=i,u=await x.selectFrom("entities as e").innerJoin("document_versions as dv","dv.entity_id","e.id").select(["e.object_id","dv.version_number","dv.content","dv.published_at"]).where("e.store_id","=",Y).where("e.type_code","=",b).where("e.seq","=",y).where("e.deleted_at","is",null).where("dv.version_number","=",t).executeTakeFirst();if(!u)return null;return{entityId:u.object_id,versionNumber:u.version_number,content:u.content,publishedAt:u.published_at}},C4=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return[];let{typeCode:i,seq:b}=t;return(await x.selectFrom("entities as e").innerJoin("document_versions as dv","dv.entity_id","e.id").select(["dv.version_number","dv.published_at"]).where("e.store_id","=",Y).where("e.type_code","=",i).where("e.seq","=",b).where("e.deleted_at","is",null).orderBy("dv.version_number","desc").execute()).map((u)=>({versionNumber:u.version_number,publishedAt:u.published_at}))},h$=async(x,$8,B,t,i)=>{let b=F1.getEntityFactory(i),y=await v(x,B),u=await x.selectFrom("entities as e").innerJoin("documents as d","d.entity_id","e.id").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","e.id").select(["e.id as entity_id","e.object_id","e.parent_folder_id","e.parent_object_id","e.name","e.created_at","e.updated_at","dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft")]).where("e.store_id","=",Y).where("e.type_code","=",i).where("e.parent_folder_id",y===null?"is":"=",y).where("e.name","=",t).where("e.deleted_at","is",null).executeTakeFirst();if(!u)return null;let F=u.entity_id;H.set(F,u.object_id);let K8=await A(x,F),T8=await D(x,F),{entity:k8,mutationApi:u8}=b(u,u.object_id,u.parent_object_id,K8,u.published_version_number,u.has_draft===1,u.draft_content??null,u.published_content??null);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);return{entity:k8,mutationApi:u8,pk:F}},A8=async(x,$8,{parentId:B,type:t})=>{let i=F1.getEntityFactory(t),b=await v(x,B),y=await x.selectFrom("entities as e").innerJoin("documents as d","d.entity_id","e.id").leftJoin("document_versions as dv","dv.id","d.published_version_id").leftJoin("document_drafts as dd","dd.entity_id","e.id").leftJoin("document_edit_state as es","es.entity_id","e.id").select(["e.id as entity_id","e.object_id","e.parent_folder_id","e.parent_object_id","e.name","e.created_at","e.updated_at","dv.version_number as published_version_number","dv.content as published_content","dd.content as draft_content",k3.raw("CASE WHEN dd.entity_id IS NOT NULL THEN 1 ELSE 0 END").as("has_draft"),"es.session_id as edit_session_id","es.started_at as edit_started_at","es.last_activity_at as edit_activity"]).where("e.store_id","=",Y).where("e.type_code","=",t).where("e.parent_folder_id",b===null?"is":"=",b).where("e.deleted_at","is",null).execute(),u=[];for(let F of y){let K8=F.entity_id;H.set(K8,F.object_id);let T8=await A(x,K8),k8=await D(x,K8),{entity:u8,mutationApi:U8}=i(F,F.object_id,F.parent_object_id,T8,F.published_version_number,F.has_draft===1,F.draft_content??null,F.published_content??null);for(let l8 of k8)U8.setField(l8.getDefinition().getName(),l8);if(F.edit_session_id)U8.setEditState({sessionId:F.edit_session_id,startedAt:F.edit_started_at,lastActivityAt:F.edit_activity});u.push({entity:u8,mutationApi:U8,pk:K8})}return u},M8=async(x,$8,{id:B,sessionId:t})=>{let i=l1(B);l.factory(!i,m.validation,`Invalid ID: ${B}`,"INVALID_ID");let b=E1(),y=new Date(Date.now()-lY).toISOString(),u=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",i.typeCode).where("seq","=",i.seq).where("deleted_at","is",null).executeTakeFirst();l.factory(!u,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND");let F=u.id,K8=await x.selectFrom("document_edit_state").selectAll().where("entity_id","=",F).executeTakeFirst();if(K8)if(K8.session_id===t)return await x.updateTable("document_edit_state").set({started_at:b,last_activity_at:b}).where("entity_id","=",F).execute(),{success:!0};else if(K8.last_activity_at<y)return await x.updateTable("document_edit_state").set({session_id:t,started_at:b,last_activity_at:b}).where("entity_id","=",F).execute(),{success:!0};else return{success:!1,meta:{lockedBy:K8.session_id,lockedSince:K8.started_at,timeoutSeconds:lY/1000}};else return await x.insertInto("document_edit_state").values({entity_id:F,session_id:t,started_at:b,last_activity_at:b}).execute(),{success:!0}},n=async(x,$8,{id:B,sessionId:t})=>{let i=l1(B);if(!i)return!1;let b=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",i.typeCode).where("seq","=",i.seq).executeTakeFirst();if(!b)return!1;return((await x.updateTable("document_edit_state").set({last_activity_at:E1()}).where("entity_id","=",b.id).where("session_id","=",t).execute())[0]?.numUpdatedRows||0)>0},J8=async(x,$8,{id:B})=>{let t=l1(B);l.factory(!t,m.validation,`Invalid ID: ${B}`,"INVALID_ID");let i=await x.selectFrom("entities").select("id").where("store_id","=",Y).where("type_code","=",t.typeCode).where("seq","=",t.seq).executeTakeFirst();l.factory(!i,m.notFound,`Entity not found: ${B}`,"ENTITY_NOT_FOUND"),await x.deleteFrom("document_edit_state").where("entity_id","=",i.id).execute()},s=async(x,$8,{id:B})=>{let t=l1(B);if(!t)return null;let i=await x.selectFrom("entities as e").innerJoin("document_edit_state as es","es.entity_id","e.id").select(["es.session_id","es.started_at","es.last_activity_at"]).where("e.store_id","=",Y).where("e.type_code","=",t.typeCode).where("e.seq","=",t.seq).executeTakeFirst();if(!i)return null;return{sessionId:i.session_id,startedAt:i.started_at,lastActivityAt:i.last_activity_at}},w8=async(x,$8,{storeCode:B})=>{if(B!==void 0)j(B);let t=await C3.readEntityTypeId(x,$8,"f","root_s"),i=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.entity_type_id","=",t).where("entities.deleted_at","is",null).executeTakeFirst();if(!i)return null;let{id:b,object_id:y}=i;H.set(b,y);let u=await A(x,b),F=await D(x,b),{entity:K8,mutationApi:T8}=i5.createFromRow(i,y,i.parent_object_id,u);for(let k8 of F)T8.setField(k8.getDefinition().getName(),k8);return{entity:K8,mutationApi:T8,pk:b}},q8=async(x,$8,{storeCode:B})=>{if(B!==void 0)j(B);let t=await C3.readEntityTypeId(x,$8,"s",null),i=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").selectAll("entities").where("entities.store_id","=",Y).where("entities.entity_type_id","=",t).where("entities.deleted_at","is",null).execute(),b=[];for(let y of i){let{id:u,object_id:F}=y;H.set(u,F);let K8=await A(x,u),T8=await D(x,u),{entity:k8,mutationApi:u8}=v_.createFromRow(y,F,y.parent_object_id,K8);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);b.push({entity:k8,mutationApi:u8,pk:u})}return b},W8=async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let i=l1(B);if(!i)return null;if(i.typeCode!=="s")return null;let b=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").selectAll("entities").where("entities.store_id","=",Y).where("entities.seq","=",i.seq).where("entities.type_code","=","s").where("entities.deleted_at","is",null).executeTakeFirst();if(!b)return null;let y=b.id;H.set(y,B);let u=await A(x,y),F=await D(x,y),{entity:K8,mutationApi:T8}=v_.createFromRow(b,B,b.parent_object_id,u);for(let k8 of F)T8.setField(k8.getDefinition().getName(),k8);return{entity:K8,mutationApi:T8,pk:y}},D8=Object.freeze({...Z,getCodes:O,getType:X,getCode:w,getPk:T,toJSON:G,createFolder:h,readFolder:Q,updateFolder:I,deleteFolder:N,isDuplicateNameInParent:E,findFolderByName:p,listFolderContents:c,getFolderByPath:r,readRootFolderForType:P8,createContent:C8,readContent:f8,updateContent:c8,deleteContent:m8,saveDraft:t8,readDraft:C1,publishContent:Y6,discardDraft:z1,readVersion:R4,getVersions:C4,findContentByName:h$,listContent:A8,createFieldDefinition:O8,readFieldDefinition:R8,readDefaultFieldDefinition:S,findFieldDefinitionByName:I8,resolveFieldDefinition:_8,getFieldDefinitionsForOwner:g8,deleteFieldDefinition:d8,setFieldValue:z8,deleteFieldValue:v8,setEditState:M8,clearEditState:J8,getEditState:s,readStoryRootFolder:w8,listStories:q8,readStory:W8,createStory:async(x,$8,{storeCode:B,parentId:t,name:i})=>{if(B!==void 0)j(B);l.factory(!i,m.validation,"Story name is required","MISSING_NAME");let b=E1(),y=await C3.readEntityTypeId(x,$8,"s",null),u=await f7.nextSeq(x,"store",Y,"s"),F=await v(x,t),K8=rT(K,"s",u),T8=await x.insertInto("entities").values({store_id:Y,object_id:K8,entity_type_id:y,type_code:"s",seq:u,parent_folder_id:F,parent_object_id:t,name:i,created_at:b,updated_at:b}).returningAll().executeTakeFirstOrThrow();await x.insertInto("folders").values({entity_id:T8.id}).execute();let k8=T8.id;H.set(k8,K8);let u8=await A(x,k8),{entity:U8,mutationApi:l8}=v_.createFromRow(T8,K8,t,u8);return{entity:U8,mutationApi:l8,pk:k8}},deleteStory:async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let i=l1(B);l.factory(!i,m.validation,`Invalid story ID: ${B}`,"INVALID_ID"),l.factory(i.typeCode!=="s",m.validation,`Not a story ID: ${B}`,"INVALID_TYPE");let b=await x.selectFrom("entities").selectAll().where("store_id","=",Y).where("seq","=",i.seq).where("type_code","=","s").where("deleted_at","is",null).executeTakeFirst();l.factory(!b,m.notFound,`Story not found: ${B}`,"STORY_NOT_FOUND");let y=b.id;H.set(y,B);let u=await A(x,y),F=await R(x,y),K8=E1();await x.updateTable("entities").set({deleted_at:K8}).where("id","in",[y,...F]).execute();let T8=[];for(let k8 of F){let u8=await x.selectFrom("entities").select("object_id").where("id","=",k8).executeTakeFirst();if(u8)T8.push(u8.object_id)}return{id:B,deleted:!0,descendantCount:F.length,path:u,descendantIds:T8,deletedPks:[y,...F]}},createAsset:async(x,$8,{storeCode:B,hash:t,mimeType:i,sizeBytes:b,originalFilename:y,widthPx:u,heightPx:F,displayWidth:K8,displayHeight:T8})=>{if(B!==void 0)j(B);let k8=E1(),u8=await C3.readEntityTypeId(x,$8,"a",null),U8=await f7.nextSeq(x,"store",Y,"a"),l8=rT(K,"a",U8),O6=await x.insertInto("entities").values({store_id:Y,object_id:l8,entity_type_id:u8,type_code:"a",seq:U8,parent_folder_id:null,parent_object_id:null,name:y,created_at:k8,updated_at:k8}).returningAll().executeTakeFirstOrThrow();await x.insertInto("assets").values({entity_id:O6.id,hash:t,mime_type:i,size_bytes:b,original_filename:y,width_px:u,height_px:F,display_width:K8,display_height:T8}).execute();let b6=O6.id;H.set(b6,l8);let{entity:$4,mutationApi:j7}=V_.createFromRow({...O6,hash:t,mime_type:i,size_bytes:b,original_filename:y,width_px:u,height_px:F,display_width:K8,display_height:T8},l8);return{entity:$4,mutationApi:j7,pk:b6}},readAsset:async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let i=l1(B);if(!i)return null;if(i.typeCode!=="a")return null;let b=await x.selectFrom("entities").innerJoin("assets","assets.entity_id","entities.id").selectAll().where("entities.store_id","=",Y).where("entities.seq","=",i.seq).where("entities.type_code","=","a").where("entities.deleted_at","is",null).executeTakeFirst();if(!b)return null;let y=b.id;H.set(y,B);let{entity:u,mutationApi:F}=V_.createFromRow(b,B);return{entity:u,mutationApi:F,pk:y}},listAssets:async(x,$8,{storeCode:B})=>{if(B!==void 0)j(B);let t=await x.selectFrom("entities").innerJoin("assets","assets.entity_id","entities.id").selectAll().where("entities.store_id","=",Y).where("entities.type_code","=","a").where("entities.deleted_at","is",null).execute(),i=[];for(let b of t){let{id:y,object_id:u}=b;H.set(y,u);let{entity:F,mutationApi:K8}=V_.createFromRow(b,u);i.push({entity:F,mutationApi:K8,pk:y})}return i},deleteAsset:async(x,$8,{id:B,storeCode:t})=>{if(t!==void 0)j(t);let i=l1(B);l.factory(!i,m.validation,`Invalid asset ID: ${B}`,"INVALID_ID"),l.factory(i.typeCode!=="a",m.validation,`Not an asset ID: ${B}`,"INVALID_TYPE");let b=await x.selectFrom("entities").innerJoin("assets","assets.entity_id","entities.id").selectAll().where("entities.store_id","=",Y).where("entities.seq","=",i.seq).where("entities.type_code","=","a").where("entities.deleted_at","is",null).executeTakeFirst();l.factory(!b,m.notFound,`Asset not found: ${B}`,"ASSET_NOT_FOUND");let y=E1();return await x.updateTable("entities").set({deleted_at:y}).where("id","=",b.id).execute(),H.set(b.id,B),{id:B,deleted:!0,hash:b.hash}},listStateFolders:async(x,$8,{storyId:B})=>{let t=await x.selectFrom("entities").select("id").where("object_id","=",B).where("store_id","=",Y).where("deleted_at","is",null).executeTakeFirst();if(!t)return[];let i=await C3.readEntityTypeId(x,$8,"f","state_folder"),b=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.parent_folder_id","=",t.id).where("entities.entity_type_id","=",i).where("entities.deleted_at","is",null).execute(),y=[];for(let u of b){let{id:F,object_id:K8}=u;H.set(F,K8);let T8=await A(x,F),k8=await D(x,F),{entity:u8,mutationApi:U8}=i5.createFromRow(u,K8,u.parent_object_id,T8);for(let l8 of k8)U8.setField(l8.getDefinition().getName(),l8);y.push({entity:u8,mutationApi:U8,pk:F})}return y},findStateFolderByState:async(x,$8,{storyId:B,state:t})=>{let i=await x.selectFrom("entities").select("id").where("object_id","=",B).where("store_id","=",Y).where("deleted_at","is",null).executeTakeFirst();if(!i)return null;let b=await C3.readEntityTypeId(x,$8,"f","state_folder"),y=await x.selectFrom("entities").innerJoin("folders","folders.entity_id","entities.id").innerJoin("entity_types","entity_types.id","entities.entity_type_id").innerJoin("field_values","field_values.entity_id","entities.id").innerJoin("field_definitions","field_definitions.id","field_values.field_definition_id").selectAll("entities").select("entity_types.subtype").where("entities.store_id","=",Y).where("entities.parent_folder_id","=",i.id).where("entities.entity_type_id","=",b).where("field_definitions.store_id","=",Y).where("field_definitions.name","=","state").where("field_definitions.owner_entity_id","is",null).where("field_values.value","=",t).where("entities.deleted_at","is",null).executeTakeFirst();if(!y)return null;let{id:u,object_id:F}=y;H.set(u,F);let K8=await A(x,u),T8=await D(x,u),{entity:k8,mutationApi:u8}=i5.createFromRow(y,F,y.parent_object_id,K8);for(let U8 of T8)u8.setField(U8.getDefinition().getName(),U8);return{entity:k8,mutationApi:u8,pk:u}}}),H8=Object.freeze({...P});return{store:D8,mutationApi:H8}},uO8=Object.freeze({create:fA6});var NA6=({inner:$,folderCache:K,contentCache:q,fieldDefinitionCache:Y,storyCache:J,assetCache:z})=>{let W=async(n,J8,s,w8)=>{let q8=await $.createFolder(n,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{K.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},H=async(n,J8,{id:s})=>{let w8=K.get(s);if(w8)return w8.getEntity();let q8=await $.readFolder(n,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return K.set(s,k6.create(W8,j8,x8)),W8},Z=async(n,J8,s,w8)=>{let{id:q8}=s,W8=K.get(q8),j8=await $.updateFolder(n,J8,s),x8=s.name!==void 0&&s.name!==j8.oldValues.name||s.parentId!==void 0&&s.parentId!==j8.oldValues.parentId;return w8(()=>{if(W8){let j6=W8.getMutationApi();if(s.name!==void 0)j6.setName(s.name);if(s.parentId!==void 0)j6.setParentId(s.parentId);j6.setUpdatedAt(j8.entity.getUpdatedAt()),j6.setPath(j8.entity.getPath())}else{let{entity:j6,mutationApi:E$,pk:y3}=j8;K.set(q8,k6.create(j6,E$,y3))}if(x8){let E$=j8.oldValues.path+"/";for(let[y3,u3]of K.entries())if(u3.getEntity().getPath().startsWith(E$))K.remove(y3)}}),{entity:W8?W8.getEntity():j8.entity,oldValues:j8.oldValues}},P=async(n,J8,{id:s},w8)=>{let q8=K.get(s),W8=q8?q8.getEntity().getPath():null,j8=await $.deleteFolder(n,J8,{id:s});return w8(()=>{K.remove(s);for(let x8 of j8.descendantIds||[])K.remove(x8)}),{...j8,path:W8}},O=async(n,J8,s)=>{let w8=await $.listFolderContents(n,J8,s);for(let q8 of w8)K.set(q8.entity.getObjectId(),k6.create(q8.entity,q8.mutationApi,q8.pk));return w8.map((q8)=>q8.entity)},X=async(n,J8,s)=>{let w8=await $.getFolderByPath(n,J8,s);if(!w8)return null;let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},w=async(n,J8,s,w8)=>{let q8=await $.findFolderByName(n,J8,s,w8);if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return K.set(W8.getObjectId(),k6.create(W8,j8,x8)),W8},T=async(n,J8,s)=>{let w8=await $.readRootFolderForType(n,J8,s);if(!w8)return null;let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},G=async(n,J8,s,w8,q8)=>{return $.isDuplicateNameInParent(n,J8,s,w8,q8)},j=async(n,J8,s,w8)=>{let q8=await $.createContent(n,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{q.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},v=async(n,J8,{id:s})=>{let w8=q.get(s);if(w8)return w8.getEntity();let q8=await $.readContent(n,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return q.set(s,k6.create(W8,j8,x8)),W8},A=async(n,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.updateContent(n,J8,s);return w8(()=>{if(W8){let x8=W8.getMutationApi();if(s.name!==void 0)x8.setName(s.name);if(s.parentId!==void 0)x8.setParentId(s.parentId);x8.setUpdatedAt(j8.entity.getUpdatedAt()),x8.setPath(j8.entity.getPath())}else{let{entity:x8,mutationApi:T6,pk:j6}=j8;q.set(q8,k6.create(x8,T6,j6))}}),W8?W8.getEntity():j8.entity},R=async(n,J8,{id:s},w8)=>{let q8=q.get(s),W8=q8?q8.getEntity().getPath():null,j8=await $.deleteContent(n,J8,{id:s});return w8(()=>{q.remove(s)}),{...j8,path:W8}},k=async(n,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.saveDraft(n,J8,s);w8(()=>{if(W8){let T6=W8.getMutationApi();T6.setDraftContent(j8.entity.getDraftContent()),T6.setHasDraft(j8.entity.hasDraftContent()),T6.setUpdatedAt(j8.entity.getUpdatedAt())}else{let{entity:T6,mutationApi:j6,pk:E$}=j8;q.set(q8,k6.create(T6,j6,E$))}});let x8=W8?W8.getEntity():j8.entity;if(j8.lockLost!==void 0)return{entity:x8,lockLost:j8.lockLost};return x8},f=async(n,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.publishContent(n,J8,s);if(W8){let x8=W8.getMutationApi();return x8.setPublishedVersionNumber(j8.entity.getPublishedVersionNumber()),x8.setPublishedContent(j8.entity.getPublishedContent()),x8.setDraftContent(null),x8.setHasDraft(!1),x8.setUpdatedAt(j8.entity.getUpdatedAt()),x8.setEditState(null),W8.getEntity()}else return w8(()=>{let{entity:x8,mutationApi:T6,pk:j6}=j8;q.set(q8,k6.create(x8,T6,j6))}),j8.entity},D=async(n,J8,s,w8)=>{let{id:q8}=s,W8=q.get(q8),j8=await $.discardDraft(n,J8,s);return w8(()=>{if(W8){let x8=W8.getMutationApi();x8.setDraftContent(null),x8.setHasDraft(!1),x8.setUpdatedAt(j8.entity.getUpdatedAt())}else{let{entity:x8,mutationApi:T6,pk:j6}=j8;q.set(q8,k6.create(x8,T6,j6))}}),W8?W8.getEntity():j8.entity},S=async(n,J8,s)=>{return $.readDraft(n,J8,s)},h=async(n,J8,s)=>{return $.readVersion(n,J8,s)},Q=async(n,J8,s)=>{return $.getVersions(n,J8,s)},I=async(n,J8,s,w8,q8)=>{let W8=await $.findContentByName(n,J8,s,w8,q8);if(!W8)return null;let{entity:j8,mutationApi:x8,pk:T6}=W8;return q.set(j8.getObjectId(),k6.create(j8,x8,T6)),j8},N=async(n,J8,s)=>{let w8=await $.listContent(n,J8,s);for(let q8 of w8)q.set(q8.entity.getObjectId(),k6.create(q8.entity,q8.mutationApi,q8.pk));return w8.map((q8)=>q8.entity)},E=async(n,J8,s,w8)=>{let{id:q8}=s,W8=await $.setEditState(n,J8,s);return w8(()=>{q.remove(q8)}),W8},p=async(n,J8,s)=>{return $.getEditState(n,J8,s)},c=async(n,J8,s,w8)=>{let{id:q8}=s;await $.clearEditState(n,J8,s),w8(()=>{q.remove(q8)})},r=async(n,J8,s,w8)=>{let q8=await $.createFieldDefinition(n,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{Y.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},P8=async(n,J8,{id:s})=>{let w8=Y.get(s);if(w8)return w8.getEntity();let q8=await $.readFieldDefinition(n,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return Y.set(s,k6.create(W8,j8,x8)),W8},O8=async(n,J8,s,w8)=>{let q8=await $.findFieldDefinitionByName(n,J8,s,w8);if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return Y.set(W8.getObjectId(),k6.create(W8,j8,x8)),W8},R8=async(n,J8,s)=>{let w8=await $.getFieldDefinitionsForOwner(n,J8,s);for(let q8 of w8)Y.set(q8.entity.getObjectId(),k6.create(q8.entity,q8.mutationApi,q8.pk));return w8.map((q8)=>q8.entity)},I8=async(n,J8)=>{let s=`${$.getCode()}n1`,w8=Y.get(s);if(w8)return w8.getEntity();let q8=await $.readDefaultFieldDefinition(n,J8),{entity:W8,mutationApi:j8,pk:x8}=q8;return Y.set(W8.getObjectId(),k6.create(W8,j8,x8)),W8},_8=async(n,J8,s)=>{let w8=await $.resolveFieldDefinition(n,J8,s),{entity:q8,mutationApi:W8,pk:j8}=w8;return Y.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},g8=async(n,J8,{id:s},w8)=>{let q8=await $.deleteFieldDefinition(n,J8,{id:s});return w8(()=>{Y.remove(s)}),q8},d8=async(n,J8,s,w8)=>{let{entityId:q8}=s,W8=await $.setFieldValue(n,J8,s);return w8(()=>{let j8=K.get(q8)||q.get(q8)||J.get(q8);if(j8){let x8=j8.getMutationApi(),T6=W8.entity.getField(W8.fieldName);x8.setField(W8.fieldName,T6)}}),W8.entity},z8=async(n,J8,s)=>{return $.getFieldValue(n,J8,s)},v8=async(n,J8,s,w8)=>{let{entityId:q8}=s,W8=await $.deleteFieldValue(n,J8,s);w8(()=>{let j8=K.get(q8)||q.get(q8)||J.get(q8);if(j8)j8.getMutationApi().removeField(W8.fieldName)})},C8=async(n,J8,s,w8)=>{let q8=await $.createStory(n,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{let T6=W8.getObjectId();if(!J.get(T6))J.set(T6,k6.create(W8,j8,x8))}),W8},f8=async(n,J8,{id:s})=>{let w8=J.get(s);if(w8)return w8.getEntity();let q8=await $.readStory(n,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return J.set(s,k6.create(W8,j8,x8)),W8},c8=async(n,J8,s)=>{let w8=await $.listStories(n,J8,s);for(let q8 of w8){let{entity:W8,mutationApi:j8,pk:x8}=q8;J.set(W8.getObjectId(),k6.create(W8,j8,x8))}return w8.map((q8)=>q8.entity)},m8=async(n,J8,s,w8)=>{let{id:q8}=s,W8=await $.deleteStory(n,J8,s);return w8(()=>{J.remove(q8);for(let j8 of W8.descendantIds){let x8=j8[0];if(j8.startsWith(x8+"d")||j8.startsWith(x8+"t"))q.remove(j8);else if(j8.startsWith(x8+"f"))K.remove(j8)}}),W8},t8=async(n,J8,s)=>{let w8=await $.readStoryRootFolder(n,J8,s);if(!w8)return null;let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8},Y6=async(n,J8,s,w8)=>{let q8=await $.createAsset(n,J8,s),{entity:W8,mutationApi:j8,pk:x8}=q8;return w8(()=>{z.set(W8.getObjectId(),k6.create(W8,j8,x8))}),W8},z1=async(n,J8,{id:s})=>{let w8=z.get(s);if(w8)return w8.getEntity();let q8=await $.readAsset(n,J8,{id:s});if(!q8)return null;let{entity:W8,mutationApi:j8,pk:x8}=q8;return z.set(s,k6.create(W8,j8,x8)),W8},C1=async(n,J8,s)=>{let w8=await $.listAssets(n,J8,s),q8=[];for(let W8 of w8){let{entity:j8,mutationApi:x8,pk:T6}=W8;z.set(j8.getObjectId(),k6.create(j8,x8,T6)),q8.push(j8)}return q8},R4=async(n,J8,s,w8)=>{let{id:q8}=s,W8=await $.deleteAsset(n,J8,s);return w8(()=>{z.remove(q8)}),W8},C4=async(n,J8,s)=>{let w8=await $.listStateFolders(n,J8,s);for(let q8 of w8){let{entity:W8,mutationApi:j8,pk:x8}=q8;K.set(W8.getObjectId(),k6.create(W8,j8,x8))}return w8.map((q8)=>q8.entity)},h$=async(n,J8,s)=>{let w8=await $.findStateFolderByState(n,J8,s);if(w8){let{entity:q8,mutationApi:W8,pk:j8}=w8;return K.set(q8.getObjectId(),k6.create(q8,W8,j8)),q8}return null},A8=(n)=>{K.remove(n)};return Object.freeze({getObjectId:$.getObjectId,getName:$.getName,getCreatedAt:$.getCreatedAt,getUpdatedAt:$.getUpdatedAt,getCodes:$.getCodes,getType:$.getType,getCode:$.getCode,getPk:$.getPk,toJSON:$.toJSON,createFolder:W,readFolder:H,updateFolder:Z,deleteFolder:P,listFolderContents:O,getFolderByPath:X,findFolderByName:w,readRootFolderForType:T,isDuplicateNameInParent:G,createContent:j,readContent:v,updateContent:A,deleteContent:R,saveDraft:k,readDraft:S,publishContent:f,discardDraft:D,readVersion:h,getVersions:Q,findContentByName:I,listContent:N,setEditState:E,getEditState:p,clearEditState:c,createFieldDefinition:r,readFieldDefinition:P8,findFieldDefinitionByName:O8,getFieldDefinitionsForOwner:R8,readDefaultFieldDefinition:I8,resolveFieldDefinition:_8,deleteFieldDefinition:g8,setFieldValue:d8,getFieldValue:z8,deleteFieldValue:v8,createStory:C8,readStory:f8,listStories:c8,deleteStory:m8,readStoryRootFolder:t8,createAsset:Y6,readAsset:z1,listAssets:C1,deleteAsset:R4,listStateFolders:C4,findStateFolderByState:h$,evictFolder:A8})},mO8=Object.freeze({create:NA6});var RA6=($)=>{let K=new Map;return $.forEach((z)=>K.set(z,new Set)),Object.freeze({subscribe:(z,W)=>{return K.get(z)?.add(W),()=>K.get(z)?.delete(W)},subscribeAll:(z)=>{let W=[];for(let[H,Z]of K){let P=`on${H.charAt(0).toUpperCase()}${H.slice(1)}`;if(z[P])Z.add(z[P]),W.push(()=>Z.delete(z[P]))}return()=>W.forEach((H)=>H())},notify:(z,W)=>{K.get(z)?.forEach((H)=>{try{H(W)}catch(Z){console.error(`Error in ${z} handler:`,Z)}})}})},BO8=Object.freeze({create:RA6});var J6=Object.freeze({FOLDER_CREATED:"folderCreated",FOLDER_RENAMED:"folderRenamed",FOLDER_MOVED:"folderMoved",FOLDER_DELETED:"folderDeleted",DOCUMENT_CREATED:"documentCreated",DOCUMENT_RENAMED:"documentRenamed",DOCUMENT_MOVED:"documentMoved",DOCUMENT_DELETED:"documentDeleted",DOCUMENT_PUBLISHED:"documentPublished",DRAFT_SAVED:"draftSaved",DRAFT_DISCARDED:"draftDiscarded",TEMPLATE_CREATED:"templateCreated",TEMPLATE_RENAMED:"templateRenamed",TEMPLATE_MOVED:"templateMoved",TEMPLATE_DELETED:"templateDeleted",TEMPLATE_PUBLISHED:"templatePublished",TEMPLATE_DRAFT_SAVED:"templateDraftSaved",TEMPLATE_DRAFT_DISCARDED:"templateDraftDiscarded",EDIT_STATE_ACQUIRED:"editStateAcquired",EDIT_STATE_REFRESHED:"editStateRefreshed",EDIT_STATE_CLEARED:"editStateCleared",STORY_CREATED:"storyCreated",STORY_DELETED:"storyDeleted",STORY_STATE_CHANGED:"storyStateChanged",ASSET_CREATED:"assetCreated",ASSET_DELETED:"assetDeleted"});var CA6=({inner:$,storeCode:K})=>{let q=BO8.create([J6.FOLDER_CREATED,J6.FOLDER_RENAMED,J6.FOLDER_MOVED,J6.FOLDER_DELETED,J6.DOCUMENT_CREATED,J6.DOCUMENT_RENAMED,J6.DOCUMENT_MOVED,J6.DOCUMENT_DELETED,J6.DOCUMENT_PUBLISHED,J6.DRAFT_SAVED,J6.DRAFT_DISCARDED,J6.TEMPLATE_CREATED,J6.TEMPLATE_RENAMED,J6.TEMPLATE_MOVED,J6.TEMPLATE_DELETED,J6.TEMPLATE_PUBLISHED,J6.TEMPLATE_DRAFT_SAVED,J6.TEMPLATE_DRAFT_DISCARDED,J6.EDIT_STATE_ACQUIRED,J6.EDIT_STATE_REFRESHED,J6.EDIT_STATE_CLEARED,J6.STORY_CREATED,J6.STORY_DELETED,J6.STORY_STATE_CHANGED,J6.ASSET_CREATED,J6.ASSET_DELETED]),Y=async(A8,M8,n)=>{let J8=await $.readFolder(A8,M8,{id:n});if(!J8)return null;let s=await A8.selectFrom("entities").innerJoin("entity_types","entities.entity_type_id","entity_types.id").select(["entity_types.code as entity_type_code","entity_types.subtype as entity_type_subtype"]).where("entities.object_id","=",n).executeTakeFirst();if(s?.entity_type_code==="f"&&s?.entity_type_subtype==="root_d")return"d";if(s?.entity_type_code==="f"&&s?.entity_type_subtype==="root_t")return"t";let w8=await $.readRootFolderForType(A8,M8,"d"),q8=await $.readRootFolderForType(A8,M8,"t"),W8=J8;while(W8&&W8.getParentId()!==null){let j8=await $.readFolder(A8,M8,{id:W8.getParentId()});if(!j8)break;W8=j8}if(W8&&W8.getObjectId()===w8?.getObjectId())return"d";else if(W8&&W8.getObjectId()===q8?.getObjectId())return"t";return null},J=async(A8,M8,n,J8)=>{let{parentId:s,subtype:w8}=n,q8=await $.createFolder(A8,M8,n,J8),W8=null;if(w8==="root_d")W8="d";else if(w8==="root_t")W8="t";else if(w8==="state_folder")W8="d";else{let j8=await $.readRootFolderForType(A8,M8,"d"),x8=await $.readRootFolderForType(A8,M8,"t");if(s===j8?.getObjectId())W8="d";else if(s===x8?.getObjectId())W8="t";else if(s){let T6=await $.readFolder(A8,M8,{id:s});if(T6){let j6=T6;while(j6&&j6.getParentId()!==null){let E$=await $.readFolder(A8,M8,{id:j6.getParentId()});if(!E$)break;j6=E$}if(j6&&j6.getObjectId()===j8?.getObjectId())W8="d";else if(j6&&j6.getObjectId()===x8?.getObjectId())W8="t"}}}return J8(()=>{q.notify(J6.FOLDER_CREATED,{id:q8.getObjectId(),storeCode:K,name:q8.getName(),path:q8.getPath(),parentFolderId:s,contentType:W8})}),q8},z=async(A8,M8,n)=>{return $.readFolder(A8,M8,n)},W=async(A8,M8,n,J8)=>{let{id:s,name:w8,parentId:q8}=n,W8=await $.updateFolder(A8,M8,n,J8),j8=W8.entity,x8=W8.oldValues.name,T6=W8.oldValues.parentId,j6=await Y(A8,M8,s);if(w8!==void 0&&w8!==x8)J8(()=>{q.notify(J6.FOLDER_RENAMED,{id:s,storeCode:K,parentFolderId:j8.getParentId(),contentType:j6,oldName:x8,newName:w8,path:j8.getPath()})});if(q8!==void 0&&q8!==T6)J8(()=>{q.notify(J6.FOLDER_MOVED,{id:s,storeCode:K,contentType:j6,oldParentFolderId:T6,parentFolderId:q8,path:j8.getPath()})});return j8},H=async(A8,M8,n,J8)=>{let{id:s}=n,q8=(await $.readFolder(A8,M8,{id:s}))?.getParentId(),W8=await Y(A8,M8,s),j8=await $.deleteFolder(A8,M8,n,J8);return J8(()=>{q.notify(J6.FOLDER_DELETED,{id:s,storeCode:K,parentFolderId:q8,contentType:W8,path:j8.path,descendantCount:j8.descendantIds?.length||0})}),j8},Z=async(A8,M8,n)=>{return $.listFolderContents(A8,M8,n)},P=async(A8,M8,n)=>{return $.getFolderByPath(A8,M8,n)},O=async(A8,M8,n,J8)=>{return $.findFolderByName(A8,M8,n,J8)},X=async(A8,M8,n)=>{return $.readRootFolderForType(A8,M8,n)},w=async(A8,M8,n,J8,s)=>{return $.isDuplicateNameInParent(A8,M8,n,J8,s)},T=async(A8,M8,n,J8)=>{let{type:s,parentId:w8}=n,q8=await $.createContent(A8,M8,n,J8),W8=s==="t"?J6.TEMPLATE_CREATED:J6.DOCUMENT_CREATED;return J8(()=>{q.notify(W8,{storeCode:K,id:q8.getObjectId(),type:s,parentFolderId:w8,name:q8.getName(),path:q8.getPath()})}),q8},G=async(A8,M8,n)=>{return $.readContent(A8,M8,n)},j=async(A8,M8,n,J8)=>{let{id:s,name:w8,parentId:q8}=n,W8=F1.getTypeFromId(s),j8=await $.readContent(A8,M8,{id:s}),x8=j8?.getName(),T6=j8?.getParentId(),j6=await $.updateContent(A8,M8,n,J8),E$=W8==="t"?J6.TEMPLATE_RENAMED:J6.DOCUMENT_RENAMED,y3=W8==="t"?J6.TEMPLATE_MOVED:J6.DOCUMENT_MOVED;if(w8!==void 0&&w8!==x8)J8(()=>{q.notify(E$,{storeCode:K,id:s,type:W8,parentFolderId:j6.getParentId(),oldName:x8,newName:w8,path:j6.getPath()})});if(q8!==void 0&&q8!==T6)J8(()=>{q.notify(y3,{storeCode:K,id:s,type:W8,oldParentFolderId:T6,parentFolderId:q8,path:j6.getPath()})});return j6},v=async(A8,M8,n,J8)=>{let{id:s}=n,w8=F1.getTypeFromId(s),W8=(await $.readContent(A8,M8,{id:s}))?.getParentId(),j8=await $.deleteContent(A8,M8,n,J8),x8=w8==="t"?J6.TEMPLATE_DELETED:J6.DOCUMENT_DELETED;return J8(()=>{q.notify(x8,{storeCode:K,id:s,type:w8,parentFolderId:W8,path:j8.path})}),j8},A=async(A8,M8,n,J8)=>{let{id:s}=n,w8=F1.getTypeFromId(s),W8=(await $.readContent(A8,M8,{id:s}))?.getParentId(),j8=await $.saveDraft(A8,M8,n,J8),x8=w8==="t"?J6.TEMPLATE_DRAFT_SAVED:J6.DRAFT_SAVED;return J8(()=>{let T6=j8.lockLost!==void 0?j8.entity:j8;q.notify(x8,{storeCode:K,id:s,type:w8,parentFolderId:W8,updatedAt:T6?T6.getUpdatedAt():null,lockLost:j8.lockLost})}),j8},R=async(A8,M8,n)=>{return $.readDraft(A8,M8,n)},k=async(A8,M8,n,J8)=>{let{id:s}=n,w8=F1.getTypeFromId(s),q8=await $.publishContent(A8,M8,n,J8),W8=w8==="t"?J6.TEMPLATE_PUBLISHED:J6.DOCUMENT_PUBLISHED;return J8(()=>{q.notify(W8,{storeCode:K,id:s,type:w8,parentFolderId:q8.getParentId(),versionNumber:q8.getPublishedVersionNumber()})}),{entityId:s,versionNumber:q8.getPublishedVersionNumber(),content:q8.getPublishedContent(),publishedAt:q8.getUpdatedAt()}},f=async(A8,M8,n,J8)=>{let{id:s}=n,w8=F1.getTypeFromId(s),q8=await $.discardDraft(A8,M8,n,J8),W8=w8==="t"?J6.TEMPLATE_DRAFT_DISCARDED:J6.DRAFT_DISCARDED;return J8(()=>{q.notify(W8,{storeCode:K,id:s})}),q8},D=async(A8,M8,n)=>{return $.readVersion(A8,M8,n)},S=async(A8,M8,n)=>{return $.getVersions(A8,M8,n)},h=async(A8,M8,n,J8,s)=>{return $.findContentByName(A8,M8,n,J8,s)},Q=async(A8,M8,n)=>{return $.listContent(A8,M8,n)},I=async(A8,M8,n,J8)=>{let s=await $.setEditState(A8,M8,n,J8);if(s.success){let w8=F1.getTypeFromId(n.id);J8(()=>{q.notify(J6.EDIT_STATE_ACQUIRED,{id:n.id,type:w8,storeCode:K,sessionId:n.sessionId})})}return s},N=async(A8,M8,n)=>{return $.getEditState(A8,M8,n)},E=async(A8,M8,n,J8)=>{await $.clearEditState(A8,M8,n,J8);let s=F1.getTypeFromId(n.id);J8(()=>{q.notify(J6.EDIT_STATE_CLEARED,{id:n.id,type:s,storeCode:K})})},p=async(A8,M8,n,J8)=>{return $.createFieldDefinition(A8,M8,n,J8)},c=async(A8,M8,n)=>{return $.readFieldDefinition(A8,M8,n)},r=async(A8,M8,n,J8)=>{return $.findFieldDefinitionByName(A8,M8,n,J8)},P8=async(A8,M8,n)=>{return $.getFieldDefinitionsForOwner(A8,M8,n)},O8=async(A8,M8)=>{return $.readDefaultFieldDefinition(A8,M8)},R8=async(A8,M8,n)=>{return $.resolveFieldDefinition(A8,M8,n)},I8=async(A8,M8,n,J8)=>{return $.deleteFieldDefinition(A8,M8,n,J8)},_8=async(A8,M8,n,J8)=>{return $.setFieldValue(A8,M8,n,J8)},g8=async(A8,M8,n)=>{return $.getFieldValue(A8,M8,n)},d8=async(A8,M8,n,J8)=>{return $.deleteFieldValue(A8,M8,n,J8)},z8=async(A8,M8,n,J8)=>{let{parentId:s,state:w8="prep"}=n,q8=await $.createStory(A8,M8,n,J8);return J8(()=>{q.notify(J6.STORY_CREATED,{id:q8.getObjectId(),storeCode:K,name:q8.getName(),path:q8.getPath(),parentFolderId:s,state:w8})}),q8},v8=async(A8,M8,n)=>{return $.readStory(A8,M8,n)},C8=async(A8,M8,n)=>{return $.listStories(A8,M8,n)},f8=async(A8,M8,n,J8)=>{let{id:s}=n,q8=(await $.readStory(A8,M8,{id:s}))?.getParentId()??null,W8=await $.deleteStory(A8,M8,n,J8);return J8(()=>{q.notify(J6.STORY_DELETED,{id:s,storeCode:K,path:W8.path,parentFolderId:q8,descendantCount:W8.descendantCount})}),W8},c8=async(A8,M8,n)=>{return $.readStoryRootFolder(A8,M8,n)},m8=async(A8,M8,n)=>{return $.listStateFolders(A8,M8,n)},t8=async(A8,M8,n)=>{return $.findStateFolderByState(A8,M8,n)},Y6=({id:A8,oldState:M8,newState:n})=>{q.notify(J6.STORY_STATE_CHANGED,{id:A8,storeCode:K,oldState:M8,newState:n})},z1=async(A8,M8,n,J8)=>{let s=await $.createAsset(A8,M8,n,J8);return J8(()=>{q.notify(J6.ASSET_CREATED,{id:s.getObjectId(),storeCode:K,hash:s.getHash(),mimeType:s.getMimeType(),originalFilename:s.getOriginalFilename()})}),s},C1=async(A8,M8,n)=>{return $.readAsset(A8,M8,n)},R4=async(A8,M8,n)=>{return $.listAssets(A8,M8,n)},C4=async(A8,M8,n,J8)=>{let{id:s}=n,w8=await $.deleteAsset(A8,M8,n,J8);return J8(()=>{q.notify(J6.ASSET_DELETED,{id:s,storeCode:K,hash:w8.hash})}),w8};return Object.freeze({getObjectId:$.getObjectId,getName:$.getName,getCreatedAt:$.getCreatedAt,getUpdatedAt:$.getUpdatedAt,getCodes:$.getCodes,getType:$.getType,getCode:$.getCode,getPk:$.getPk,toJSON:$.toJSON,createFolder:J,readFolder:z,updateFolder:W,deleteFolder:H,listFolderContents:Z,getFolderByPath:P,findFolderByName:O,readRootFolderForType:X,isDuplicateNameInParent:w,createContent:T,readContent:G,updateContent:j,deleteContent:v,saveDraft:A,readDraft:R,publishContent:k,discardDraft:f,readVersion:D,getVersions:S,findContentByName:h,listContent:Q,setEditState:I,getEditState:N,clearEditState:E,createFieldDefinition:p,readFieldDefinition:c,findFieldDefinitionByName:r,getFieldDefinitionsForOwner:P8,readDefaultFieldDefinition:O8,resolveFieldDefinition:R8,deleteFieldDefinition:I8,setFieldValue:_8,getFieldValue:g8,deleteFieldValue:d8,createStory:z8,readStory:v8,listStories:C8,deleteStory:f8,readStoryRootFolder:c8,emitStoryStateChanged:Y6,listStateFolders:m8,findStateFolderByState:t8,createAsset:z1,readAsset:C1,listAssets:R4,deleteAsset:C4,evictFolder:$.evictFolder,subscribe:q.subscribe,subscribeAll:q.subscribeAll})},UO8=Object.freeze({create:CA6});var DA6=($)=>{let{id:K,code:q,name:Y,pk:J,createdAt:z,updatedAt:W}=$,H=kZ.create(),Z=kZ.create(),P=kZ.create(),O=kZ.create(),X=kZ.create(),{store:w,mutationApi:T}=uO8.create({id:K,code:q,name:Y,pk:J,createdAt:z,updatedAt:W,folderCache:H}),G=mO8.create({inner:w,folderCache:H,contentCache:Z,fieldDefinitionCache:P,storyCache:O,assetCache:X});return{store:UO8.create({inner:G,storeCode:q}),mutationApi:T}},cO8=Object.freeze({create:DA6});z4();var hA6=({id:$,name:K,createdAt:q,updatedAt:Y,children:J=[]})=>{let z=[...J],W=new Map,{entityFns:H,mutationFns:Z}=t3.create({id:$,name:K,createdAt:q,updatedAt:Y}),P=()=>{W.clear();for(let N8 of z){let D8=N8.getCodes();for(let H8 of D8)W.set(H8,N8)}};P();let O=()=>"demux",X=()=>z.map((N8)=>N8.getObjectId()),w=()=>[...z],T=()=>{return new Set(W.keys())},G=()=>({id:$,name:K,createdAt:q,updatedAt:Y,type:"demux",childIds:X()}),j=(N8)=>{z.push(N8),P()},v=(N8)=>{return W.get(N8)??null},A=async(N8,D8,{store:H8,storeCode:x,parentId:$8,name:B,subtype:t},i)=>{let b=H8??x;l.factory(!b,m.validation,"store parameter is required","MISSING_STORE_CODE");let y=v(b);return l.factory(!y,m.notFound,`No child store with code: ${b}`,"STORE_NOT_FOUND"),y.createFolder(N8,D8,{storeCode:b,parentId:$8,name:B,subtype:t},i)},R=async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readFolder(N8,D8,{id:H8})},y3=Object.freeze({...H,getType:O,getCodes:T,getChildIds:X,getChildren:w,toJSON:G,createFolder:A,readFolder:R,updateFolder:async(N8,D8,{id:H8,name:x,parentId:$8},B)=>{let t=H8?.[0],i=v(t);return l.factory(!i,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND"),i.updateFolder(N8,D8,{id:H8,name:x,parentId:$8},B)},deleteFolder:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteFolder(N8,D8,{id:H8},x)},evictFolder:(N8)=>{let D8=N8?.[0],H8=v(D8);if(H8)H8.evictFolder(N8)},getFolder:async(N8,D8,{id:H8})=>{return R(N8,D8,{id:H8})},listFolderContents:async(N8,D8,{folderId:H8,store:x,storeCode:$8,type:B})=>{let t;if(H8!==null&&H8!==void 0)t=H8[0];else{let y=x??$8;l.factory(!y,m.validation,"store required when folderId is null","STORE_CODE_REQUIRED"),t=y}let i=v(t);l.factory(!i,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND");let b={...D8,storeCode:t};return i.listFolderContents(N8,b,{folderId:H8,type:B})},getFolderByPath:async(N8,D8,{path:H8,type:x,store:$8,storeCode:B})=>{let t=$8??B;l.factory(!t,m.validation,"store required for getFolderByPath","STORE_CODE_REQUIRED");let i=v(t);if(!i)return null;let b={...D8,storeCode:t};return i.getFolderByPath(N8,b,{path:H8,type:x})},isDuplicateNameInParent:async(N8,D8,H8,x,$8=null)=>{let B;if(H8)B=H8[0];else{let i=z[0];if(!i)l.factory(!0,m.notFound,"No child stores available","STORE_NOT_FOUND");B=[...i.getCodes()][0]}let t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.isDuplicateNameInParent(N8,D8,H8,x,$8)},findFolderByName:async(N8,D8,H8,x)=>{let $8=H8[0],B=v($8);if(!B)return null;return B.findFolderByName(N8,D8,H8,x)},readRootFolderForType:async(N8,D8,H8,x)=>{let $8=v(x);return l.factory(!$8,m.notFound,`No child store with code: ${x}`,"STORE_NOT_FOUND"),$8.readRootFolderForType(N8,D8,H8,x)},createFieldDefinition:async(N8,D8,{storeCode:H8,ownerEntityId:x,name:$8,label:B,description:t,primitiveType:i,required:b,multiplicity:y,isSystem:u},F)=>{let K8=v(H8);return l.factory(!K8,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),K8.createFieldDefinition(N8,D8,{storeCode:H8,ownerEntityId:x,name:$8,label:B,description:t,primitiveType:i,required:b,multiplicity:y,isSystem:u},F)},readFieldDefinition:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readFieldDefinition(N8,D8,{id:H8})},readDefaultFieldDefinition:async(N8,D8,H8)=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.readDefaultFieldDefinition(N8,D8)},getFieldDefinitionsForOwner:async(N8,D8,{storeCode:H8,ownerEntityPk:x,includeSystem:$8})=>{let B=v(H8);return l.factory(!B,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),B.getFieldDefinitionsForOwner(N8,D8,{ownerEntityPk:x,includeSystem:$8})},deleteFieldDefinition:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteFieldDefinition(N8,D8,{id:H8},x)},setFieldValue:async(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8,value:B,values:t},i)=>{let b=H8?.[0],y=v(b);return l.factory(!y,m.notFound,`No child store with code: ${b}`,"STORE_NOT_FOUND"),y.setFieldValue(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8,value:B,values:t},i)},deleteFieldValue:async(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8},B)=>{let t=H8?.[0],i=v(t);return l.factory(!i,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND"),i.deleteFieldValue(N8,D8,{entityId:H8,fieldDefinitionId:x,fieldName:$8},B)},createContent:async(N8,D8,{storeCode:H8,type:x,...$8},B)=>{let t=v(H8);return l.factory(!t,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),t.createContent(N8,D8,{type:x,storeCode:H8,...$8},B)},readContent:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readContent(N8,D8,{id:H8})},updateContent:async(N8,D8,{id:H8,...x},$8)=>{let B=H8?.[0],t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.updateContent(N8,D8,{id:H8,...x},$8)},deleteContent:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteContent(N8,D8,{id:H8},x)},saveDraft:async(N8,D8,{id:H8,content:x,sessionId:$8},B)=>{let t=H8?.[0],i=v(t);return l.factory(!i,m.notFound,`No child store with code: ${t}`,"STORE_NOT_FOUND"),i.saveDraft(N8,D8,{id:H8,content:x,sessionId:$8},B)},readDraft:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readDraft(N8,D8,{id:H8})},publishContent:async(N8,D8,{id:H8,sessionId:x},$8)=>{let B=H8?.[0],t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.publishContent(N8,D8,{id:H8,sessionId:x},$8)},discardDraft:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.discardDraft(N8,D8,{id:H8},x)},findContentByName:async(N8,D8,H8,x,$8)=>{let B=H8?.[0],t=v(B);if(!t)return null;return t.findContentByName(N8,D8,H8,x,$8)},listContent:async(N8,D8,{parentId:H8,storeCode:x,type:$8})=>{let B,t;if(H8)B=H8[0],t=H8;else{l.factory(!x,m.validation,"storeCode required when parentId is null","MISSING_STORE_CODE"),B=x;let b=v(B);l.factory(!b,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND");try{t=(await b.readRootFolderForType(N8,D8,$8||"d",B)).getObjectId()}catch(y){t=null}}let i=v(B);return l.factory(!i,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),i.listContent(N8,D8,{parentId:t,type:$8})},setEditState:async(N8,D8,{id:H8,sessionId:x},$8)=>{let B=H8?.[0],t=v(B);return l.factory(!t,m.notFound,`No child store with code: ${B}`,"STORE_NOT_FOUND"),t.setEditState(N8,D8,{id:H8,sessionId:x},$8)},clearEditState:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.clearEditState(N8,D8,{id:H8},x)},getEditState:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.getEditState(N8,D8,{id:H8})},readVersion:async(N8,D8,{id:H8,versionNumber:x})=>{let $8=H8?.[0],B=v($8);if(!B)return null;return B.readVersion(N8,D8,{id:H8,versionNumber:x})},getVersions:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return[];return $8.getVersions(N8,D8,{id:H8})},createStory:async(N8,D8,{storeCode:H8,...x},$8)=>{let B=v(H8);return l.factory(!B,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),B.createStory(N8,D8,{storeCode:H8,...x},$8)},readStory:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readStory(N8,D8,{id:H8})},listStories:async(N8,D8,{storeCode:H8})=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.listStories(N8,D8,{storeCode:H8})},deleteStory:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteStory(N8,D8,{id:H8},x)},readStoryRootFolder:async(N8,D8,{storeCode:H8})=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.readStoryRootFolder(N8,D8,{storeCode:H8})},emitStoryStateChanged:({id:N8,oldState:D8,newState:H8})=>{let x=N8?.[0],$8=v(x);l.factory(!$8,m.notFound,`No child store with code: ${x}`,"STORE_NOT_FOUND"),$8.emitStoryStateChanged({id:N8,oldState:D8,newState:H8})},listStateFolders:async(N8,D8,{storyId:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return[];return $8.listStateFolders(N8,D8,{storyId:H8})},findStateFolderByState:async(N8,D8,{storyId:H8,state:x})=>{let $8=H8?.[0],B=v($8);if(!B)return null;return B.findStateFolderByState(N8,D8,{storyId:H8,state:x})},createAsset:async(N8,D8,{storeCode:H8,...x},$8)=>{let B=v(H8);return l.factory(!B,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),B.createAsset(N8,D8,{storeCode:H8,...x},$8)},readAsset:async(N8,D8,{id:H8})=>{let x=H8?.[0],$8=v(x);if(!$8)return null;return $8.readAsset(N8,D8,{id:H8})},listAssets:async(N8,D8,{storeCode:H8})=>{let x=v(H8);return l.factory(!x,m.notFound,`No child store with code: ${H8}`,"STORE_NOT_FOUND"),x.listAssets(N8,D8,{storeCode:H8})},deleteAsset:async(N8,D8,{id:H8},x)=>{let $8=H8?.[0],B=v($8);return l.factory(!B,m.notFound,`No child store with code: ${$8}`,"STORE_NOT_FOUND"),B.deleteAsset(N8,D8,{id:H8},x)},subscribe:(N8,D8)=>{let H8=z.map((x)=>x.subscribe(N8,D8));return()=>H8.forEach((x)=>x())},subscribeAll:(N8)=>{let D8=z.map((H8)=>H8.subscribeAll(N8));return()=>D8.forEach((H8)=>H8())}}),u3=Object.freeze({...Z,addChild:j});return{store:y3,mutationApi:u3}},pO8=Object.freeze({create:hA6});z4();var sT=($)=>{if(!$||$.length<2||$[0]!=="S")return null;let K=parseInt($.slice(1),10);return isNaN(K)?null:K},Ly=($)=>$.object_id,Sy=($)=>{let K=Ly($),q=$.id,{store:Y,mutationApi:J}=cO8.create({id:K,code:$.code,name:$.name,createdAt:$.created_at,updatedAt:$.updated_at,pk:q});return{store:Y,mutationApi:J,id:K,pk:q}},FO8=($,K)=>{let q=Ly($),Y=$.id,{store:J,mutationApi:z}=pO8.create({id:q,name:$.name,createdAt:$.created_at,updatedAt:$.updated_at,children:K});return{store:J,mutationApi:z,id:q,pk:Y}},EA6=async($,K,q,Y,J)=>{let z=await C3.readEntityTypeId($,K,"n",null),W=await f7.nextSeq($,"store",q,"n"),H=`${Y}n${W}`,Z=E1();await $.insertInto("field_definitions").values({store_id:q,object_id:H,entity_type_id:z,type_code:"n",seq:W,owner_entity_id:null,name:"default",label:"Default Field",description:"Auto-created for ad-hoc fields without explicit definitions",primitive_type:"string",required:0,multiplicity:"single",config:null,is_system:1,ordinal:null,created_at:Z,updated_at:Z}).execute()},SA6=()=>{let $=new Map,K=new Map,q=async(O,X,{code:w,name:T},G)=>{let j=E1(),v=await f7.nextSeq(O,"global",null,"s"),A=`S${v}`,R=await O.insertInto("stores").values({id:v,object_id:A,type:"local",code:w,name:T,created_at:j,updated_at:j}).returningAll().executeTakeFirstOrThrow(),{store:k,mutationApi:f,id:D,pk:S}=Sy(R);return await EA6(O,X,S,w,G),G(()=>{$.set(D,k6.create(k,f,S)),K.set(S,D)}),k},Y=async(O,X,{name:w},T)=>{let G=E1(),j=await f7.nextSeq(O,"global",null,"s"),v=`S${j}`,A=await O.insertInto("stores").values({id:j,object_id:v,type:"demux",code:null,name:w,created_at:G,updated_at:G}).returningAll().executeTakeFirstOrThrow(),{store:R,mutationApi:k,id:f,pk:D}=FO8(A,[]);return T(()=>{$.set(f,k6.create(R,k,D)),K.set(D,f)}),R},J=async(O,X,w)=>{let T=$.get(w);if(T)return T.getEntity();let G=sT(w);if(G===null)return null;let j=await O.selectFrom("stores").selectAll().where("id","=",G).executeTakeFirst();if(!j)return null;let v,A,R,k;if(j.type==="local"){let f=Sy(j);v=f.store,A=f.mutationApi,R=f.id,k=f.pk}else{let f=await O.selectFrom("store_children").innerJoin("stores","stores.id","store_children.child_store_id").select(["stores.object_id"]).where("store_children.parent_store_id","=",j.id).execute(),D=[];for(let h of f){let Q=await J(O,X,h.object_id);if(Q)D.push(Q)}let S=FO8(j,D);v=S.store,A=S.mutationApi,R=S.id,k=S.pk}return $.set(R,k6.create(v,A,k)),K.set(k,R),v};return Object.freeze({createLocalStore:q,createDemuxStore:Y,readStore:J,readSharedStore:async(O,X)=>{let w=await O.selectFrom("stores").selectAll().where("code","=","B").executeTakeFirstOrThrow(),T=Ly(w),G=$.get(T);if(G)return G.getEntity();let{store:j,mutationApi:v,pk:A}=Sy(w);return $.set(T,k6.create(j,v,A)),K.set(A,T),j},readRootStoreForProject:async(O,X,w)=>{let T=w&&w.length>=2&&w[0]==="P"?parseInt(w.slice(1),10):null;l.factory(T===null||isNaN(T),m.validation,`Invalid project ID: ${w}`,"INVALID_PROJECT_ID");let G=await O.selectFrom("project_stores").innerJoin("stores","stores.id","project_stores.store_id").select(["stores.object_id"]).where("project_stores.project_id","=",T).where("project_stores.is_root","=",1).executeTakeFirst();return l.factory(!G,m.notFound,`Root store not found for project: ${w}`,"ROOT_STORE_NOT_FOUND"),await J(O,X,G.object_id)},addChildToDemux:async(O,X,{demuxId:w,childId:T},G)=>{let j=$.get(w),v=$.get(T),A,R;if(j)A=j.getPk();else{let k=sT(w);l.factory(k===null,m.validation,`Invalid demux store ID: ${w}`,"INVALID_ID");let f=await O.selectFrom("stores").select("id").where("id","=",k).executeTakeFirst();l.factory(!f,m.notFound,`Demux store not found: ${w}`,"STORE_NOT_FOUND"),A=f.id}if(v)R=v.getPk();else{let k=sT(T);l.factory(k===null,m.validation,`Invalid child store ID: ${T}`,"INVALID_ID");let f=await O.selectFrom("stores").select("id").where("id","=",k).executeTakeFirst();l.factory(!f,m.notFound,`Child store not found: ${T}`,"STORE_NOT_FOUND"),R=f.id}await O.insertInto("store_children").values({parent_store_id:A,child_store_id:R}).execute(),G(()=>{let k=$.get(w),f=$.get(T);if(k&&f)k.getMutationApi().addChild(f.getEntity())})},addStoresToProject:async(O,X,{projectId:w,rootStoreId:T,storeIds:G})=>{let j=w&&w.length>=2&&w[0]==="P"?parseInt(w.slice(1),10):null;l.factory(j===null||isNaN(j),m.validation,`Invalid project ID: ${w}`,"INVALID_PROJECT_ID");let v=await O.selectFrom("projects").select("id").where("id","=",j).executeTakeFirst();l.factory(!v,m.notFound,`Project not found: ${w}`,"PROJECT_NOT_FOUND");let A=v.id,R=$.get(T),k;if(R)k=R.getPk();else{let f=sT(T);l.factory(f===null,m.validation,`Invalid root store ID: ${T}`,"INVALID_ID");let D=await O.selectFrom("stores").select("id").where("id","=",f).executeTakeFirst();l.factory(!D,m.notFound,`Root store not found: ${T}`,"STORE_NOT_FOUND"),k=D.id}for(let f of G){let D=$.get(f),S;if(D)S=D.getPk();else{let h=sT(f);l.factory(h===null,m.validation,`Invalid store ID: ${f}`,"INVALID_ID");let Q=await O.selectFrom("stores").select("id").where("id","=",h).executeTakeFirst();l.factory(!Q,m.notFound,`Store not found: ${f}`,"STORE_NOT_FOUND"),S=Q.id}await O.insertInto("project_stores").values({project_id:A,store_id:S,is_root:S===k?1:0}).execute()}},evictStore:(O)=>{let X=$.get(O);if(X)K.delete(X.getPk());$.delete(O)}})},QO8=Object.freeze({create:SA6});z4();z4();var LA6=($)=>{let K=$.split("/").filter((J)=>J.trim()),q=K[K.length-1];return{parentPath:K.slice(0,-1).join("/")||null,name:q,segments:K}},IA6=($)=>{return $[0]},W4=Object.freeze({parsePath:LA6,extractStoreCode:IA6});z4();var xA6=["Documents/",/^Stories\/[^/]+\/[^/]+\//],bA6=["Templates/"],gA6=["Documents/","Templates/",/^Stories\/[^/]+\/[^/]+\//],yA6=($)=>{l.factory(!$||$.length===0,m.validation,"Path cannot be empty","EMPTY_PATH"),l.factory($.startsWith("/"),m.validation,"No leading slash allowed","INVALID_PATH"),l.factory($.endsWith("/"),m.validation,"No trailing slash allowed","INVALID_PATH"),l.factory($.includes("//"),m.validation,"No consecutive slashes allowed","INVALID_PATH")},uA6=($)=>{l.factory(!$||$.trim().length===0,m.validation,"Name cannot be empty","INVALID_NAME"),l.factory($.includes("/"),m.validation,"Name cannot contain /","INVALID_NAME"),l.factory($!==$.trim(),m.validation,"Name cannot have leading/trailing whitespace","INVALID_NAME")},mA6=async($,K,q,Y,J)=>{let z=q;while(z){let W=z.getSubtype();if(W==="root_d"&&Y.includes("d"))return;if(W==="root_t"&&Y.includes("t"))return;if(W==="state_folder"&&Y.includes("state_folder"))return;let H=z.getParentId();if(!H)break;z=await J.readFolder($,K,{id:H})}throw m.validation(`Cannot create entity in this location. Allowed roots: ${Y.join(", ")}`,"INVALID_ROOT")},BA6=($,K)=>{for(let q of K){if(typeof q==="string"&&$.startsWith(q))return{valid:!0,prefix:q};if(q instanceof RegExp&&q.test($))return{valid:!0,prefix:$.match(q)[0]}}return{valid:!1}},$$=Object.freeze({DOCUMENT_PREFIXES:xA6,TEMPLATE_PREFIXES:bA6,FOLDER_PREFIXES:gA6,validatePathFormat:yA6,validateName:uA6,validateRootInAllowedTree:mA6,detectFullPathPrefix:BA6});var UA6=({store:$})=>{let K=async(w,T,G,j,v,A,R)=>{let k=G.split("/").filter((Q)=>Q.trim());l.factory(k.length===0,m.validation,"Path cannot be empty or contain only slashes","EMPTY_PATH");let f=k.slice(0,-1).join("/");if(f){let Q=await $.getFolderByPath(w,T,{path:f,type:j,storeCode:v});if(Q){let I=$3.validateFolderName(k[k.length-1]);return{parentObjectId:Q.getObjectId(),name:I}}}let D=A??j,S=await $.readRootFolderForType(w,T,D,v);for(let Q=0;Q<k.length-1;Q++){let I=$3.validateFolderName(k[Q]),N=await $.findFolderByName(w,T,S.getObjectId(),I);if(N)S=N;else S=await $.createFolder(w,T,{storeCode:v,parentId:S.getObjectId(),name:I},R)}let h=$3.validateFolderName(k[k.length-1]);return{parentObjectId:S.getObjectId(),name:h}},q=async(w,T,G,j)=>{let{path:v,store:A}=G,R=["d","t","state_folder"],k=$$.FOLDER_PREFIXES;$$.validatePathFormat(v);let f=$$.detectFullPathPrefix(v,k);l.factory(!f.valid,m.validation,`Path must start with one of: ${k.map((c)=>typeof c==="string"?c:c.toString()).join(", ")}`,"INVALID_PATH_PREFIX");let D=v.slice(f.prefix.length);l.factory(!D||D.length===0,m.validation,"Path cannot end at tree prefix - provide a path after the prefix","EMPTY_PATH");let S,h;if(f.prefix==="Documents/")S="d",h="d";else if(f.prefix==="Templates/")S="t",h="t";else if(f.prefix.startsWith("Stories/"))S="s",h="d";let{parentPath:Q,name:I}=W4.parsePath(D),N;if(Q){let c=await K(w,T,Q,h,A,S,j),r=await $.findFolderByName(w,T,c.parentObjectId,c.name);if(r)N=r.getObjectId();else N=(await $.createFolder(w,T,{storeCode:A,parentId:c.parentObjectId,name:c.name},j)).getObjectId()}else N=(await $.readRootFolderForType(w,T,S,A)).getObjectId();if(S==="s"){let c=await $.readFolder(w,T,{id:N});l.factory(!c,m.notFound,"Parent folder not found","FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(w,T,c,R,$)}let E=$3.validateFolderName(I),p=await $.isDuplicateNameInParent(w,T,N,E);return l.factory(p,m.conflict,`Folder "${E}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:A,parentId:N,name:E},j)},Y=async(w,T,G,j)=>{let{root:v,path:A}=G,R=["d","t","state_folder"],k=W4.extractStoreCode(v);$$.validatePathFormat(A);let f=await $.readFolder(w,T,{id:v});l.factory(!f,m.notFound,`Root folder not found: ${v}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(w,T,f,R,$);let{parentPath:D,name:S}=W4.parsePath(A),h;if(D){let N=D.split("/").filter((p)=>p.trim()),E=f;for(let p of N){let c=$3.validateFolderName(p),r=await $.findFolderByName(w,T,E.getObjectId(),c);if(r)E=r;else E=await $.createFolder(w,T,{storeCode:k,parentId:E.getObjectId(),name:c},j)}h=E.getObjectId()}else h=v;let Q=$3.validateFolderName(S),I=await $.isDuplicateNameInParent(w,T,h,Q);return l.factory(I,m.conflict,`Folder "${Q}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:k,parentId:h,name:Q},j)},J=async(w,T,G,j)=>{let{parentId:v,name:A}=G,R=["d","t","state_folder"],k=W4.extractStoreCode(v);$$.validateName(A);let f=await $.readFolder(w,T,{id:v});l.factory(!f,m.notFound,`Parent folder not found: ${v}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(w,T,f,R,$);let D=$3.validateFolderName(A),S=await $.isDuplicateNameInParent(w,T,v,D);return l.factory(S,m.conflict,`Folder "${D}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:k,parentId:v,name:D},j)},z=async(w,T,G,j)=>{let{mode:v,path:A,root:R,parentId:k,name:f,store:D,type:S}=G;if(v==="fullPath")return l.factory(!D,m.validation,"store is required for fullPath mode","MISSING_STORE_CODE"),await q(w,T,{path:A,store:D},j);if(v==="rootRelative")return l.factory(!R,m.validation,"root is required for rootRelative mode","MISSING_ROOT"),await Y(w,T,{root:R,path:A},j);if(v==="parentName")return l.factory(!k,m.validation,"parentId is required for parentName mode","MISSING_PARENT_ID"),l.factory(!f,m.validation,"name is required for parentName mode","MISSING_NAME"),await J(w,T,{parentId:k,name:f},j);if(S!==void 0){l.factory(!A||A==="/",m.validation,"Path cannot be empty","EMPTY_PATH"),l.factory(S!=="d"&&S!=="t",m.validation,'Type must be "d" or "t"',"INVALID_TYPE"),l.factory(!D,m.validation,"store is required","MISSING_STORE_CODE");let{parentObjectId:h,name:Q}=await K(w,T,A,S,D,void 0,j),I=await $.isDuplicateNameInParent(w,T,h,Q);return l.factory(I,m.conflict,`Folder "${Q}" already exists in parent`,"DUPLICATE_NAME"),await $.createFolder(w,T,{storeCode:D,parentId:h,name:Q},j)}throw m.validation("Invalid creation parameters. Use one of: fullPath (path+store), rootRelative (root+path), or parentName (parentId+name)","INVALID_PARAMS")},W=async(w,T,{id:G})=>{return await $.readFolder(w,T,{id:G})};return Object.freeze({resolvePath:K,createFolder:z,readFolder:W,renameFolder:async(w,T,{id:G,name:j},v)=>{let A=await W(w,T,{id:G});l.factory(!A,m.notFound,`Folder not found: ${G}`,"FOLDER_NOT_FOUND"),l.factory($3.isRootFolder(A),m.validation,"Cannot rename root folder","CANNOT_RENAME_ROOT");let R=$3.validateFolderName(j),k=await $.isDuplicateNameInParent(w,T,A.getParentId(),R,G);return l.factory(k,m.conflict,`Folder "${R}" already exists in parent`,"DUPLICATE_NAME"),await $.updateFolder(w,T,{id:G,name:R},v)},moveFolder:async(w,T,{id:G,parentId:j},v)=>{let A=await W(w,T,{id:G});l.factory(!A,m.notFound,`Folder not found: ${G}`,"FOLDER_NOT_FOUND"),l.factory($3.isRootFolder(A),m.validation,"Cannot move root folder","CANNOT_MOVE_ROOT");let R=await W(w,T,{id:j});l.factory(!R,m.notFound,`Parent folder not found: ${j}`,"PARENT_NOT_FOUND"),l.factory(!G||G.length<1,m.validation,"Invalid folder ID format","INVALID_ID_FORMAT"),l.factory(!j||j.length<1,m.validation,"Invalid parent ID format","INVALID_PARENT_ID_FORMAT");let k=G[0],f=j[0];l.factory(k!==f,m.validation,"Cannot move folders between stores","CROSS_STORE_MOVE"),l.factory(G===j,m.validation,"Cannot move folder into itself","SELF_MOVE");let D=j;while(D!==null){l.factory(D===G,m.validation,"Cannot move folder into its own descendant","CYCLE_DETECTED");let h=await $.readFolder(w,T,{id:D});if(!h)break;D=h.getParentId()}let S=await $.isDuplicateNameInParent(w,T,j,A.getName(),G);return l.factory(S,m.conflict,`Folder "${A.getName()}" already exists in target parent`,"DUPLICATE_NAME"),await $.updateFolder(w,T,{id:G,parentId:j},v)},deleteFolder:async(w,T,{id:G},j)=>{let v=await W(w,T,{id:G});return l.factory(!v,m.notFound,`Folder not found: ${G}`,"FOLDER_NOT_FOUND"),l.factory($3.isRootFolder(v),m.validation,"Cannot delete root folder","CANNOT_DELETE_ROOT"),await $.deleteFolder(w,T,{id:G},j)},getFolderByPath:async(w,T,{path:G,type:j,storeCode:v})=>{return await $.getFolderByPath(w,T,{path:G,type:j,storeCode:v})},listFolderContents:async(w,T,{folderId:G,type:j,storeCode:v})=>{return await $.listFolderContents(w,T,{folderId:G,type:j,storeCode:v})}})},lO8=Object.freeze({create:UA6});z4();var cA6=({store:$})=>{let K=async(H,Z,{store:P,ownerEntityId:O,name:X,label:w,description:T,primitiveType:G,required:j,multiplicity:v,isSystem:A=!1},R)=>{l.factory(!P,m.validation,"store is required","MISSING_STORE_CODE"),l.factory(G!=="string"&&G!=="object_ref",m.validation,`Invalid primitiveType: ${G}. Must be 'string' or 'object_ref'`,"INVALID_PRIMITIVE_TYPE"),l.factory(v!=="single"&&v!=="multi",m.validation,`Invalid multiplicity: ${v}. Must be 'single' or 'multi'`,"INVALID_MULTIPLICITY");let k=/^[a-zA-Z0-9_]+$/;return l.factory(!X||!k.test(X),m.validation,`Invalid name: ${X}. Must contain only alphanumeric characters and underscores`,"INVALID_NAME"),await $.createFieldDefinition(H,Z,{storeCode:P,ownerEntityId:O,name:X,label:w,description:T,primitiveType:G,required:j,multiplicity:v,isSystem:A},R)},q=async(H,Z,{id:P})=>{return l.factory(!P||P.length<3,m.validation,"Invalid field definition ID","INVALID_ID"),await $.readFieldDefinition(H,Z,{id:P})};return Object.freeze({createFieldDefinition:K,readFieldDefinition:q,getFieldDefinitionsForOwner:async(H,Z,{store:P,ownerEntityId:O,includeSystem:X=!0})=>{l.factory(!P,m.validation,"store is required","MISSING_STORE_CODE");let w=null;if(O)w=null;return await $.getFieldDefinitionsForOwner(H,Z,{storeCode:P,ownerEntityPk:w,includeSystem:X})},deleteFieldDefinition:async(H,Z,{id:P},O)=>{let X=await q(H,Z,{id:P});return l.factory(!X,m.notFound,`Field definition not found: ${P}`,"DEFINITION_NOT_FOUND"),l.factory(X.getIsSystem(),m.validation,`Cannot delete system field definition: ${P}`,"SYSTEM_DEFINITION"),await $.deleteFieldDefinition(H,Z,{id:P},O)},setFieldValue:async(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X,value:w,values:T},G)=>{return l.factory(!P,m.validation,"entityId is required","MISSING_ENTITY_ID"),l.factory(!O&&!X,m.validation,"Either fieldDefinitionId or fieldName must be provided","MISSING_FIELD_IDENTIFIER"),l.factory(w!==void 0&&T!==void 0,m.validation,"Cannot provide both value and values","AMBIGUOUS_VALUE"),l.factory(w===void 0&&T===void 0,m.validation,"Either value or values must be provided","MISSING_VALUE"),await $.setFieldValue(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X,value:w,values:T},G)},deleteFieldValue:async(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X},w)=>{return l.factory(!P,m.validation,"entityId is required","MISSING_ENTITY_ID"),l.factory(!O&&!X,m.validation,"Either fieldDefinitionId or fieldName must be provided","MISSING_FIELD_IDENTIFIER"),await $.deleteFieldValue(H,Z,{entityId:P,fieldDefinitionId:O,fieldName:X},w)}})},dO8=Object.freeze({create:cA6});z4();function n9(){}n9.prototype={diff:function $(K,q){var Y,J=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},z=J.callback;if(typeof J==="function")z=J,J={};var W=this;function H(f){if(f=W.postProcess(f,J),z)return setTimeout(function(){z(f)},0),!0;else return f}K=this.castInput(K,J),q=this.castInput(q,J),K=this.removeEmpty(this.tokenize(K,J)),q=this.removeEmpty(this.tokenize(q,J));var Z=q.length,P=K.length,O=1,X=Z+P;if(J.maxEditLength!=null)X=Math.min(X,J.maxEditLength);var w=(Y=J.timeout)!==null&&Y!==void 0?Y:1/0,T=Date.now()+w,G=[{oldPos:-1,lastComponent:void 0}],j=this.extractCommon(G[0],q,K,0,J);if(G[0].oldPos+1>=P&&j+1>=Z)return H(iO8(W,G[0].lastComponent,q,K,W.useLongestToken));var v=-1/0,A=1/0;function R(){for(var f=Math.max(v,-O);f<=Math.min(A,O);f+=2){var D=void 0,S=G[f-1],h=G[f+1];if(S)G[f-1]=void 0;var Q=!1;if(h){var I=h.oldPos-f;Q=h&&0<=I&&I<Z}var N=S&&S.oldPos+1<P;if(!Q&&!N){G[f]=void 0;continue}if(!N||Q&&S.oldPos<h.oldPos)D=W.addToPath(h,!0,!1,0,J);else D=W.addToPath(S,!1,!0,1,J);if(j=W.extractCommon(D,q,K,f,J),D.oldPos+1>=P&&j+1>=Z)return H(iO8(W,D.lastComponent,q,K,W.useLongestToken));else{if(G[f]=D,D.oldPos+1>=P)A=Math.min(A,f-1);if(j+1>=Z)v=Math.max(v,f+1)}}O++}if(z)(function f(){setTimeout(function(){if(O>X||Date.now()>T)return z();if(!R())f()},0)})();else while(O<=X&&Date.now()<=T){var k=R();if(k)return k}},addToPath:function $(K,q,Y,J,z){var W=K.lastComponent;if(W&&!z.oneChangePerToken&&W.added===q&&W.removed===Y)return{oldPos:K.oldPos+J,lastComponent:{count:W.count+1,added:q,removed:Y,previousComponent:W.previousComponent}};else return{oldPos:K.oldPos+J,lastComponent:{count:1,added:q,removed:Y,previousComponent:W}}},extractCommon:function $(K,q,Y,J,z){var W=q.length,H=Y.length,Z=K.oldPos,P=Z-J,O=0;while(P+1<W&&Z+1<H&&this.equals(Y[Z+1],q[P+1],z))if(P++,Z++,O++,z.oneChangePerToken)K.lastComponent={count:1,previousComponent:K.lastComponent,added:!1,removed:!1};if(O&&!z.oneChangePerToken)K.lastComponent={count:O,previousComponent:K.lastComponent,added:!1,removed:!1};return K.oldPos=Z,P},equals:function $(K,q,Y){if(Y.comparator)return Y.comparator(K,q);else return K===q||Y.ignoreCase&&K.toLowerCase()===q.toLowerCase()},removeEmpty:function $(K){var q=[];for(var Y=0;Y<K.length;Y++)if(K[Y])q.push(K[Y]);return q},castInput:function $(K){return K},tokenize:function $(K){return Array.from(K)},join:function $(K){return K.join("")},postProcess:function $(K){return K}};function iO8($,K,q,Y,J){var z=[],W;while(K)z.push(K),W=K.previousComponent,delete K.previousComponent,K=W;z.reverse();var H=0,Z=z.length,P=0,O=0;for(;H<Z;H++){var X=z[H];if(!X.removed){if(!X.added&&J){var w=q.slice(P,P+X.count);w=w.map(function(T,G){var j=Y[O+G];return j.length>T.length?j:T}),X.value=$.join(w)}else X.value=$.join(q.slice(P,P+X.count));if(P+=X.count,!X.added)O+=X.count}else X.value=$.join(Y.slice(O,O+X.count)),O+=X.count}return z}var W64=new n9;function nO8($,K){var q;for(q=0;q<$.length&&q<K.length;q++)if($[q]!=K[q])return $.slice(0,q);return $.slice(0,q)}function oO8($,K){var q;if(!$||!K||$[$.length-1]!=K[K.length-1])return"";for(q=0;q<$.length&&q<K.length;q++)if($[$.length-(q+1)]!=K[K.length-(q+1)])return $.slice(-q);return $.slice(-q)}function xy($,K,q){if($.slice(0,K.length)!=K)throw Error("string ".concat(JSON.stringify($)," doesn't start with prefix ").concat(JSON.stringify(K),"; this is a bug"));return q+$.slice(K.length)}function by($,K,q){if(!K)return $+q;if($.slice(-K.length)!=K)throw Error("string ".concat(JSON.stringify($)," doesn't end with suffix ").concat(JSON.stringify(K),"; this is a bug"));return $.slice(0,-K.length)+q}function tT($,K){return xy($,K,"")}function A_($,K){return by($,K,"")}function aO8($,K){return K.slice(0,pA6($,K))}function pA6($,K){var q=0;if($.length>K.length)q=$.length-K.length;var Y=K.length;if($.length<K.length)Y=$.length;var J=Array(Y),z=0;J[0]=0;for(var W=1;W<Y;W++){if(K[W]==K[z])J[W]=J[z];else J[W]=z;while(z>0&&K[W]!=K[z])z=J[z];if(K[W]==K[z])z++}z=0;for(var H=q;H<$.length;H++){while(z>0&&$[H]!=K[z])z=J[z];if($[H]==K[z])z++}return z}var M_="a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",FA6=new RegExp("[".concat(M_,"]+|\\s+|[^").concat(M_,"]"),"ug"),k_=new n9;k_.equals=function($,K,q){if(q.ignoreCase)$=$.toLowerCase(),K=K.toLowerCase();return $.trim()===K.trim()};k_.tokenize=function($){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},q;if(K.intlSegmenter){if(K.intlSegmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');q=Array.from(K.intlSegmenter.segment($),function(z){return z.segment})}else q=$.match(FA6)||[];var Y=[],J=null;return q.forEach(function(z){if(/\s/.test(z))if(J==null)Y.push(z);else Y.push(Y.pop()+z);else if(/\s/.test(J))if(Y[Y.length-1]==J)Y.push(Y.pop()+z);else Y.push(J+z);else Y.push(z);J=z}),Y};k_.join=function($){return $.map(function(K,q){if(q==0)return K;else return K.replace(/^\s+/,"")}).join("")};k_.postProcess=function($,K){if(!$||K.oneChangePerToken)return $;var q=null,Y=null,J=null;if($.forEach(function(z){if(z.added)Y=z;else if(z.removed)J=z;else{if(Y||J)rO8(q,J,Y,z);q=z,Y=null,J=null}}),Y||J)rO8(q,J,Y,null);return $};function rO8($,K,q,Y){if(K&&q){var J=K.value.match(/^\s*/)[0],z=K.value.match(/\s*$/)[0],W=q.value.match(/^\s*/)[0],H=q.value.match(/\s*$/)[0];if($){var Z=nO8(J,W);$.value=by($.value,W,Z),K.value=tT(K.value,Z),q.value=tT(q.value,Z)}if(Y){var P=oO8(z,H);Y.value=xy(Y.value,H,P),K.value=A_(K.value,P),q.value=A_(q.value,P)}}else if(q){if($)q.value=q.value.replace(/^\s*/,"");if(Y)Y.value=Y.value.replace(/^\s*/,"")}else if($&&Y){var O=Y.value.match(/^\s*/)[0],X=K.value.match(/^\s*/)[0],w=K.value.match(/\s*$/)[0],T=nO8(O,X);K.value=tT(K.value,T);var G=oO8(tT(O,T),w);K.value=A_(K.value,G),Y.value=xy(Y.value,O,G),$.value=by($.value,O,O.slice(0,O.length-G.length))}else if(Y){var j=Y.value.match(/^\s*/)[0],v=K.value.match(/\s*$/)[0],A=aO8(v,j);K.value=A_(K.value,A)}else if($){var R=$.value.match(/\s*$/)[0],k=K.value.match(/^\s*/)[0],f=aO8(R,k);K.value=tT(K.value,f)}}var QA6=new n9;QA6.tokenize=function($){var K=new RegExp("(\\r?\\n)|[".concat(M_,"]+|[^\\S\\n\\r]+|[^").concat(M_,"]"),"ug");return $.match(K)||[]};var f_=new n9;f_.tokenize=function($,K){if(K.stripTrailingCr)$=$.replace(/\r\n/g,`
|
|
474
474
|
`);var q=[],Y=$.split(/(\n|\r\n)/);if(!Y[Y.length-1])Y.pop();for(var J=0;J<Y.length;J++){var z=Y[J];if(J%2&&!K.newlineIsToken)q[q.length-1]+=z;else q.push(z)}return q};f_.equals=function($,K,q){if(q.ignoreWhitespace){if(!q.newlineIsToken||!$.includes(`
|
|
475
475
|
`))$=$.trim();if(!q.newlineIsToken||!K.includes(`
|
|
476
476
|
`))K=K.trim()}else if(q.ignoreNewlineAtEof&&!q.newlineIsToken){if($.endsWith(`
|
|
@@ -488,7 +488,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
488
488
|
`),X=[...J.slice(0,W),...P,...J.slice(H+1)].join(`
|
|
489
489
|
`);if(Y==="")return{newContent:X,details:{linesDeleted:Z,message:`Deleted lines ${K}-${q}`}};return{newContent:X,details:{linesReplaced:Z,message:`Replaced lines ${K}-${q}`}}},Qk6=($,{line:K,column:q,content:Y})=>{let J=$===""?[""]:$.split(`
|
|
490
490
|
`),z=J.length;if(K<1||K>z)throw m.validation(`Line ${K} is out of range (document has ${z} lines)`,"LINE_OUT_OF_RANGE");let W=K-1,H=J[W];if(q<1||q>H.length+1)throw m.validation(`Column ${q} is out of range (line has ${H.length} characters)`,"COLUMN_OUT_OF_RANGE");let Z=q-1,P=H.substring(0,Z)+Y+H.substring(Z);return J[W]=P,{newContent:J.join(`
|
|
491
|
-
`),details:{message:`Inserted at line ${K}, column ${q}`}}},lk6=($,{content:K})=>{return{newContent:$+K,details:{message:"Appended content"}}},Q_=($,K)=>{switch(K.type){case"replace_first":return mk6($,K);case"replace_all":return Bk6($,K);case"replace_regex":return Uk6($,K);case"replace_regex_all":return ck6($,K);case"replace_between_markers":return pk6($,K);case"replace_lines":return Fk6($,K);case"insert_at":return Qk6($,K);case"replace_all_content":return{newContent:K.content,details:{message:"Replaced all content"}};case"append":return lk6($,K);default:throw new Error(`Unknown operation type: ${K.type}`)}},ET8=($,K,q=!1)=>{let Y=Q_($,K),J={originalLength:$.length,newLength:Y.newContent.length,changeCount:Y.details.count||Y.details.linesReplaced||Y.details.linesDeleted||1},z={matches:J.changeCount,stats:J};if(!q)z.diff=Zu($,Y.newContent);return z};var dk6=({store:$,folderService:K,documentHooks:q})=>{let Y=(N)=>{return N==="t"?"Template":"Document"},J=async(N,E,p,c,r,P8,O8)=>{let R8=P8??c;if(p){let I8=await K.resolvePath(N,E,p,c,r,R8,O8),_8=await $.findFolderByName(N,E,I8.parentObjectId,I8.name);if(_8)return _8.getObjectId();else return(await $.createFolder(N,E,{storeCode:r,parentId:I8.parentObjectId,name:I8.name},O8)).getObjectId()}else return(await $.readRootFolderForType(N,E,c,r)).getObjectId()},z=async(N,E,p,c)=>{let{path:r,store:P8,content:O8,allowedRoots:R8,validPrefixes:I8,entityType:_8}=p;$$.validatePathFormat(r);let g8=$$.detectFullPathPrefix(r,I8);l.factory(!g8.valid,m.validation,`Path must start with one of: ${I8.map((t8)=>typeof t8==="string"?t8:t8.toString()).join(", ")}`,"INVALID_PATH_PREFIX");let d8=r.slice(g8.prefix.length);l.factory(!d8||d8.length===0,m.validation,"Path cannot end at tree prefix - provide a path after the prefix","EMPTY_PATH");let z8;if(g8.prefix==="Documents/")z8="d";else if(g8.prefix==="Templates/")z8="t";else if(g8.prefix.startsWith("Stories/"))z8="s";let{parentPath:v8,name:C8}=W4.parsePath(d8),f8=await J(N,E,v8,_8,P8,z8,c);if(z8==="s"){let t8=await $.readFolder(N,E,{id:f8});l.factory(!t8,m.notFound,"Parent folder not found","FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(N,E,t8,R8,$)}let c8=Y(_8),m8=await $.findContentByName(N,E,f8,C8,_8);return l.factory(m8,m.conflict,`${c8} "${C8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:P8,type:_8,parentId:f8,name:C8,initialContent:O8},c)},W=async(N,E,p,c)=>{let{root:r,path:P8,content:O8,allowedRoots:R8,entityType:I8}=p,_8=W4.extractStoreCode(r);$$.validatePathFormat(P8);let g8=await $.readFolder(N,E,{id:r});l.factory(!g8,m.notFound,`Root folder not found: ${r}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(N,E,g8,R8,$);let{parentPath:d8,name:z8}=W4.parsePath(P8),v8;if(d8){let c8=d8.split("/").filter((t8)=>t8.trim()),m8=g8;for(let t8 of c8){let Y6=await $.findFolderByName(N,E,m8.getObjectId(),t8);if(Y6)m8=Y6;else m8=await $.createFolder(N,E,{storeCode:_8,parentId:m8.getObjectId(),name:t8},c)}v8=m8.getObjectId()}else v8=r;let C8=Y(I8),f8=await $.findContentByName(N,E,v8,z8,I8);return l.factory(f8,m.conflict,`${C8} "${z8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:_8,type:I8,parentId:v8,name:z8,initialContent:O8},c)},H=async(N,E,p,c)=>{let{parentId:r,name:P8,content:O8,allowedRoots:R8,entityType:I8}=p,_8=W4.extractStoreCode(r);$$.validateName(P8);let g8=await $.readFolder(N,E,{id:r});l.factory(!g8,m.notFound,`Parent folder not found: ${r}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(N,E,g8,R8,$);let d8=Y(I8),z8=await $.findContentByName(N,E,r,P8,I8);return l.factory(z8,m.conflict,`${d8} "${P8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:_8,type:I8,parentId:r,name:P8,initialContent:O8},c)},Z=async(N,E,p,c)=>{let{mode:r,path:P8,root:O8,parentId:R8,name:I8,store:_8,content:g8,type:d8,tree:z8}=p,v8=["d","state_folder"],C8=$$.DOCUMENT_PREFIXES;if(r==="fullPath")return l.factory(!_8,m.validation,"store is required for fullPath mode","MISSING_STORE_CODE"),await z(N,E,{path:P8,store:_8,content:g8,allowedRoots:v8,validPrefixes:C8,entityType:"d"},c);if(r==="rootRelative")return l.factory(!O8,m.validation,"root is required for rootRelative mode","MISSING_ROOT"),await W(N,E,{root:O8,path:P8,content:g8,allowedRoots:v8,entityType:"d"},c);if(r==="parentName")return l.factory(!R8,m.validation,"parentId is required for parentName mode","MISSING_PARENT_ID"),l.factory(!I8,m.validation,"name is required for parentName mode","MISSING_NAME"),await H(N,E,{parentId:R8,name:I8,content:g8,allowedRoots:v8,entityType:"d"},c);if(d8!==void 0){l.factory(d8!=="d"&&d8!=="t",m.validation,'type must be "d" or "t"',"INVALID_TYPE"),l.factory(!P8||P8==="/",m.validation,"Path cannot be empty","EMPTY_PATH"),l.factory(!_8,m.validation,"store is required","MISSING_STORE_CODE");let{parentPath:f8,name:c8}=W4.parsePath(P8),m8=R8??await J(N,E,f8,d8,_8,z8,c),t8=Y(d8),Y6=await $.findContentByName(N,E,m8,c8,d8);return l.factory(Y6,m.conflict,`${t8} "${c8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:_8,type:d8,parentId:m8,name:c8,initialContent:g8},c)}throw m.validation("Invalid creation parameters. Use one of: fullPath (path+store), rootRelative (root+path), or parentName (parentId+name)","INVALID_PARAMS")},P=async(N,E,p,c)=>{let{mode:r,path:P8,root:O8,parentId:R8,name:I8,store:_8,content:g8}=p,d8=["t"],z8=$$.TEMPLATE_PREFIXES;if(r==="fullPath")return l.factory(!_8,m.validation,"store is required for fullPath mode","MISSING_STORE_CODE"),await z(N,E,{path:P8,store:_8,content:g8,allowedRoots:d8,validPrefixes:z8,entityType:"t"},c);if(r==="rootRelative")return l.factory(!O8,m.validation,"root is required for rootRelative mode","MISSING_ROOT"),await W(N,E,{root:O8,path:P8,content:g8,allowedRoots:d8,entityType:"t"},c);if(r==="parentName")return l.factory(!R8,m.validation,"parentId is required for parentName mode","MISSING_PARENT_ID"),l.factory(!I8,m.validation,"name is required for parentName mode","MISSING_NAME"),await H(N,E,{parentId:R8,name:I8,content:g8,allowedRoots:d8,entityType:"t"},c);throw m.validation("Invalid creation parameters. Use one of: fullPath (path+store), rootRelative (root+path), or parentName (parentId+name)","INVALID_PARAMS")},O=async(N,E,{id:p})=>{let{typeCode:c}=F1.resolveEntityId(p),r=Y(c),P8=await $.readContent(N,E,{id:p});l.factory(!P8,m.notFound,`${r} not found: ${p}`,"NOT_FOUND");let O8=[],R8=P8.getParentId();while(R8){O8.unshift(R8);let I8=await $.readFolder(N,E,{id:R8});if(!I8)break;R8=I8.getParentId()}return{entity:P8,ancestorFolderIds:O8}},X=async(N,E,{path:p,type:c,storeCode:r})=>{l.factory(c!=="d"&&c!=="t",m.validation,'type must be "d" or "t"',"INVALID_TYPE");let{parentPath:P8,name:O8}=W4.parsePath(p),R8=[],I8;if(P8){let g8=P8.split("/").filter((z8)=>z8),d8="";for(let z8 of g8){d8=d8?`${d8}/${z8}`:z8;let v8=await $.getFolderByPath(N,E,{path:d8,type:c,storeCode:r});if(!v8)return null;R8.push(v8.getObjectId())}I8=R8[R8.length-1]}else I8=(await $.readRootFolderForType(N,E,c,r)).getObjectId();let _8=await $.findContentByName(N,E,I8,O8,c);if(!_8)return null;return{entity:_8,ancestorFolderIds:R8}},w=async(N,E,{id:p,path:c,parentId:r,type:P8},O8)=>{l.factory(P8!=="d"&&P8!=="t",m.validation,'type must be "d" or "t"',"INVALID_TYPE");let R8=c!==void 0&&c!==null,I8=r!==void 0&&r!==null;if(l.factory(R8===I8,m.validation,"Either path OR parentId must be provided, not both or neither","INVALID_PARAMS"),R8)l.factory(c==="/",m.validation,"Path cannot be empty","EMPTY_PATH");let{entity:_8}=await O(N,E,{id:p}),g8=W4.extractStoreCode(p),d8=Y(P8),z8,v8;if(I8){let c8=await $.readFolder(N,E,{id:r});l.factory(!c8,m.notFound,`Parent folder not found: ${r}`,"PARENT_NOT_FOUND"),z8=_8.getName(),v8=r}else{let{parentPath:c8,name:m8}=W4.parsePath(c);z8=m8,v8=await J(N,E,c8,P8,g8,void 0,O8)}let C8=z8!==_8.getName(),f8=v8!==_8.getParentId();if(!C8&&!f8)return _8;if(C8||f8){let c8=await $.findContentByName(N,E,v8,z8,P8);l.factory(c8&&c8.getObjectId()!==p,m.conflict,`${d8} "${z8}" already exists in target folder`,"DUPLICATE_NAME")}return await $.updateContent(N,E,{id:p,name:C8?z8:void 0,parentId:f8?v8:void 0},O8)},T=async(N,E,{id:p},c)=>{let{entity:r}=await O(N,E,{id:p});return await $.deleteContent(N,E,{id:p},c)},G=async(N,E,{id:p,content:c,sessionId:r},P8)=>{let{entity:O8}=await O(N,E,{id:p});return await $.saveDraft(N,E,{id:p,content:c,sessionId:r},P8)};return Object.freeze({createDocument:Z,createTemplate:P,readDocument:O,readDocumentByPath:X,updateDocumentPath:w,deleteDocument:T,saveDraft:G,readDraft:async(N,E,{id:p})=>{let{typeCode:c}=F1.resolveEntityId(p),{entity:r}=await O(N,E,{id:p}),P8=Y(c),O8=await $.readDraft(N,E,{id:p});return l.factory(!O8,m.notFound,`No draft found for ${P8}: ${p}`,"DRAFT_NOT_FOUND"),O8},publishDocument:async(N,E,{id:p,sessionId:c},r)=>{let{entity:P8}=await O(N,E,{id:p}),{typeCode:O8}=F1.resolveEntityId(p),R8=await $.publishContent(N,E,{id:p,sessionId:c},r),I8=q.getHook("prePublish",O8);if(I8){let{entity:_8}=await O(N,E,{id:p});await I8(N,E,_8)}return R8},discardDraft:async(N,E,{id:p},c)=>{let{entity:r}=await O(N,E,{id:p});return await $.discardDraft(N,E,{id:p},c)},readVersion:async(N,E,{id:p,versionNumber:c})=>{let{typeCode:r}=F1.resolveEntityId(p),{entity:P8}=await O(N,E,{id:p}),O8=Y(r),R8=await $.readVersion(N,E,{id:p,versionNumber:c});return l.factory(!R8,m.notFound,`Version ${c} not found for ${O8}: ${p}`,"VERSION_NOT_FOUND"),R8},getVersions:async(N,E,{id:p})=>{let{entity:c}=await O(N,E,{id:p});return await $.getVersions(N,E,{id:p})},setEditState:async(N,E,{id:p,sessionId:c},r)=>{let{entity:P8}=await O(N,E,{id:p});return await $.setEditState(N,E,{id:p,sessionId:c},r)},clearEditState:async(N,E,{id:p},c)=>{let{entity:r}=await O(N,E,{id:p});return await $.clearEditState(N,E,{id:p},c)},getEditState:async(N,E,{id:p})=>{let{entity:c}=await O(N,E,{id:p});return await $.getEditState(N,E,{id:p})},listDocuments:async(N,E,{parentId:p,storeCode:c,type:r="d"})=>{return await $.listContent(N,E,{parentId:p,storeCode:c,type:r})},editDocument:async(N,E,{id:p,operation:c,preview:r=!1,ignoreContent:P8=!1,sessionId:O8},R8)=>{let{entity:I8}=await O(N,E,{id:p}),_8=I8.getDraftContent()??I8.getPublishedContent()??"";if(r)return{preview:!0,...ET8(_8,c,P8)};let g8=Q_(_8,c);return await G(N,E,{id:p,content:g8.newContent,sessionId:O8},R8),{applied:!0,details:g8.details}},batchEditDocument:async(N,E,{id:p,operations:c,preview:r=!1,ignoreContent:P8=!1,sessionId:O8},R8)=>{let I8=["replace_first","replace_all","replace_regex","replace_regex_all","replace_between_markers","replace_all_content","append"];for(let C8 of c)if(!I8.includes(C8.type))throw m.validation(`Operation type "${C8.type}" is not batchable. Only line-agnostic operations are allowed in batch mode.`,"NON_BATCHABLE_OPERATION");let{entity:_8}=await O(N,E,{id:p}),g8=_8.getDraftContent()??_8.getPublishedContent()??"",d8=g8,z8=[];for(let C8 of c){let f8=Q_(d8,C8);d8=f8.newContent,z8.push(f8.details)}let v8={originalLength:g8.length,newLength:d8.length,operationsApplied:c.length};if(r){let C8={preview:!0,stats:v8,operationResults:z8};if(!P8)C8.diff=Zu(g8,d8);return C8}return await G(N,E,{id:p,content:d8,sessionId:O8},R8),{applied:c.length,results:z8}}})},ST8=Object.freeze({create:dk6});var e08=g6(nG8(),1),$V8=g6(Am(),1),KV8=($)=>{if(!$)return{parameters:{},target:null,targetPath:null,body:""};let K=e08.default($),q=K.data?.parameters||{},Y=K.data?.target||null,J=K.data?.targetPath||null,z=K.content;return{parameters:q,target:Y,targetPath:J,body:z}},II6=($)=>{if(!$)return new Set;let K=new Set,q=new Set(["if","unless","each","with","lookup","log"]);try{let Y=$V8.default.parse($),J=(z,W=null,H=null)=>{if(!z)return;if(z.type==="PathExpression"){if(z.data)return;let Z=z.parts.join(".");if(!Z||Z.startsWith("@"))return;if(W?.type==="BlockStatement"&&H==="path"||W?.type==="MustacheStatement"&&H==="path"&&W.params?.length>0){if(q.has(Z))return;return}K.add(Z)}if(z.program)J(z.program,z,"program");if(z.inverse)J(z.inverse,z,"inverse");if(z.body)z.body.forEach((Z)=>J(Z,z,"body"));if(z.params)z.params.forEach((Z)=>J(Z,z,"params"));if(z.hash?.pairs)z.hash.pairs.forEach((Z)=>J(Z.value,z,"hash"));if(z.path)J(z.path,z,"path")};J(Y)}catch(Y){throw new Error(`Invalid Handlebars template: ${Y.message}`)}return K},xI6=($)=>{if(!$)return{parameters:{},target:null,targetPath:null};let{parameters:K,target:q,targetPath:Y}=KV8($);return{parameters:K,target:q,targetPath:Y}},Y3=Object.freeze({parseFrontMatter:KV8,extractVariables:II6,getParameters:xI6});z4();var bI6=async($,K,q,Y)=>{try{let J=typeof q.getPublishedContent==="function"?q.getPublishedContent():q.publishedContent,{parameters:z}=Y3.parseFrontMatter(J||"");if(!z||Object.keys(z).length===0)return;let W=typeof q.getObjectId==="function"?q.getObjectId():q.id,H=W[0];for(let[Z,P]of Object.entries(z)){let O=P.type||"string",X=P.required||!1,w=P.description||null,T=P.label||Z,G="single";if(O!=="string"&&O!=="object_ref"){console.warn(`Invalid parameter type "${O}" for parameter "${Z}" in template ${W}. Defaulting to "string".`);continue}try{await Y.createFieldDefinition($,K,{store:H,ownerEntityId:W,name:Z,label:T,description:w,primitiveType:O,required:X,multiplicity:"single",isSystem:!1},()=>{})}catch(j){if(j.code==="DUPLICATE_FIELD_DEFINITION"||j.message?.includes("unique"))console.warn(`Field definition "${Z}" already exists for template ${W}. Skipping.`);else console.error(`Failed to create field definition for parameter "${Z}" in template ${W}:`,j)}}}catch(J){let z=typeof q.getObjectId==="function"?q.getObjectId():q.id;console.error(`Template publish hook failed for ${z}:`,J)}},gI6=({fieldService:$})=>{let K={prePublish:{d:null,t:(Y,J,z)=>bI6(Y,J,z,$)},postPublish:{},preDelete:{},postCreate:{}};return Object.freeze({getHook:(Y,J)=>{return K[Y]?.[J]||null}})},qV8=Object.freeze({create:gI6});z4();var Mm=g6(Am(),1),yI6=($={})=>{return Object.freeze({renderTemplate:(Y,J={})=>{if(!Y)throw m.validation("Template content cannot be empty","EMPTY_TEMPLATE");let{body:z}=Y3.parseFrontMatter(Y),W;try{W=Mm.default.compile(z,{noEscape:!0})(J)}catch(H){throw m.validation(`Failed to render template: ${H.message}`,"RENDER_ERROR")}return W},extractTemplateParameters:(Y)=>{if(!Y)return{parameters:{},detectedVariables:[],target:null,targetPath:null};let{parameters:J,target:z,targetPath:W,body:H}=Y3.parseFrontMatter(Y),Z=Y3.extractVariables(H),P=Array.from(Z);return{parameters:J,detectedVariables:P,target:z,targetPath:W}}})},YV8=Object.freeze({create:yI6});import Rj from"node:fs";import JV8 from"node:os";import jk from"node:path";var uI6=({projectStore:$,storeStore:K})=>{return Object.freeze({createProject:async(z,W,{name:H,path:Z},P)=>{if(await $.readProjectByPath(z,W,Z)){let j=new Error("Project with this path already exists");throw j.code="DUPLICATE_PATH",j}let X=await $.createProject(z,W,{name:H,path:Z},P),w=await K.createLocalStore(z,W,{code:"A",name:"Project"},P);await w.createFolder(z,W,{parentId:null,name:"Documents",subtype:"root_d"},P),await w.createFolder(z,W,{parentId:null,name:"Templates",subtype:"root_t"},P),await w.createFolder(z,W,{parentId:null,name:"Stories",subtype:"root_s"},P),await w.createFieldDefinition(z,W,{storeCode:"A",ownerEntityId:null,name:"state",label:"State",description:"Workflow state",primitiveType:"string",required:!1,multiplicity:"single",isSystem:!0},P);let T=await K.readSharedStore(z,W),G=await K.createDemuxStore(z,W,{name:H},P);return await K.addChildToDemux(z,W,{demuxId:G.getObjectId(),childId:w.getObjectId()},P),await K.addChildToDemux(z,W,{demuxId:G.getObjectId(),childId:T.getObjectId()},P),await K.addStoresToProject(z,W,{projectId:X.getObjectId(),rootStoreId:G.getObjectId(),storeIds:[G.getObjectId(),w.getObjectId(),T.getObjectId()]}),X},validateProjectPath:(z)=>{if(!z||typeof z!=="string"){let w=new Error("Path is required and must be a non-empty string");throw w.code="VALIDATION_ERROR",w}let W;if(z==="~")W=JV8.homedir();else if(z.startsWith("~/"))W=jk.join(JV8.homedir(),z.slice(2));else W=z;let H=Rj.existsSync(W),Z=!1,P=!1,O=!1;if(H)try{if(Z=Rj.statSync(W).isDirectory(),Z){let T=jk.join(W,".git");try{P=Rj.statSync(T).isDirectory()}catch{P=!1}let G=jk.join(W,".claude");try{O=Rj.statSync(G).isDirectory()}catch{O=!1}}}catch(w){Z=!1}let X=jk.basename(W);return{path:W,exists:H,isDirectory:Z,hasGit:P,hasClaude:O,suggestedName:X}},listProjects:async(z)=>{let W=await z.selectFrom("projects").selectAll().where("name","!=","__system__").orderBy("created_at","desc").execute();return await Promise.all(W.map(async(Z)=>{let O=(await z.selectFrom("project_stores").innerJoin("stores","stores.id","project_stores.store_id").select(["stores.object_id","stores.code","stores.name","stores.type"]).where("project_stores.project_id","=",Z.id).where("stores.type","=","local").execute()).map((X)=>({id:X.code==="B"?"store:B":`store:${X.code}:${Z.object_id}`,code:X.code,name:X.name}));return{objectId:Z.object_id,name:Z.name,path:Z.path,createdAt:Z.created_at,updatedAt:Z.updated_at,children:O}}))}})},Gk=Object.freeze({create:uI6});var mI6=()=>{let $=[];return{enqueuePostCommitHook:(K)=>{$.push(K)},flush:()=>{for(let K of $)try{K()}catch(q){console.error("Post-commit hook failed:",q)}}}},BI6=({db:$,folderService:K,fieldService:q,documentService:Y,templateService:J,projectService:z,clipboardService:W,storyService:H,assetService:Z})=>{let P=async(z8)=>{let v8=mI6(),C8;return await $.transaction().execute(async(f8)=>{C8=await z8(f8,v8.enqueuePostCommitHook)}),v8.flush(),C8};return Object.freeze({createFolder:async(z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6})=>{return P(async(z1,C1)=>{return await K.createFolder(z1,z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6},C1)})},renameFolder:async(z8,{id:v8,name:C8})=>{return P(async(f8,c8)=>{return await K.renameFolder(f8,z8,{id:v8,name:C8},c8)})},moveFolder:async(z8,{id:v8,parentId:C8})=>{return P(async(f8,c8)=>{return await K.moveFolder(f8,z8,{id:v8,parentId:C8},c8)})},deleteFolder:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await K.deleteFolder(C8,z8,{id:v8},f8)})},createProject:async(z8,{name:v8,path:C8})=>{return P(async(f8,c8)=>{return await z.createProject(f8,z8,{name:v8,path:C8},c8)})},createFieldDefinition:async(z8,{store:v8,ownerEntityId:C8,name:f8,label:c8,description:m8,primitiveType:t8,required:Y6,multiplicity:z1,isSystem:C1})=>{return P(async(R4,C4)=>{return await q.createFieldDefinition(R4,z8,{store:v8,ownerEntityId:C8,name:f8,label:c8,description:m8,primitiveType:t8,required:Y6,multiplicity:z1,isSystem:C1},C4)})},setFieldValue:async(z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8,value:c8,values:m8})=>{return P(async(t8,Y6)=>{return await q.setFieldValue(t8,z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8,value:c8,values:m8},Y6)})},deleteFieldValue:async(z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8})=>{return P(async(c8,m8)=>{return await q.deleteFieldValue(c8,z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8},m8)})},deleteFieldDefinition:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await q.deleteFieldDefinition(C8,z8,{id:v8},f8)})},createDocument:async(z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6,content:z1,tree:C1})=>{return P(async(R4,C4)=>{return await Y.createDocument(R4,z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6,content:z1,tree:C1},C4)})},createTemplate:async(z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,content:Y6})=>{return P(async(z1,C1)=>{return await Y.createTemplate(z1,z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,content:Y6},C1)})},updateDocumentPath:async(z8,{id:v8,path:C8,parentId:f8,type:c8})=>{return P(async(m8,t8)=>{return await Y.updateDocumentPath(m8,z8,{id:v8,path:C8,parentId:f8,type:c8},t8)})},deleteDocument:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Y.deleteDocument(C8,z8,{id:v8},f8)})},saveDraft:async(z8,{id:v8,content:C8,sessionId:f8})=>{return P(async(c8,m8)=>{return await Y.saveDraft(c8,z8,{id:v8,content:C8,sessionId:f8},m8)})},publishDocument:async(z8,{id:v8,sessionId:C8})=>{return P(async(f8,c8)=>{return await Y.publishDocument(f8,z8,{id:v8,sessionId:C8},c8)})},discardDraft:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Y.discardDraft(C8,z8,{id:v8},f8)})},setEditState:async(z8,{id:v8,sessionId:C8})=>{return P(async(f8,c8)=>{return await Y.setEditState(f8,z8,{id:v8,sessionId:C8},c8)})},clearEditState:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Y.clearEditState(C8,z8,{id:v8},f8)})},editDocument:async(z8,{id:v8,operation:C8,preview:f8,ignoreContent:c8,sessionId:m8})=>{return P(async(t8,Y6)=>{return await Y.editDocument(t8,z8,{id:v8,operation:C8,preview:f8,ignoreContent:c8,sessionId:m8},Y6)})},batchEditDocument:async(z8,{id:v8,operations:C8,preview:f8,ignoreContent:c8,sessionId:m8})=>{return P(async(t8,Y6)=>{return await Y.batchEditDocument(t8,z8,{id:v8,operations:C8,preview:f8,ignoreContent:c8,sessionId:m8},Y6)})},renderTemplate:async(z8,{id:v8,params:C8,target:f8,targetOptions:c8,sessionId:m8})=>{let{entity:t8}=await Y.readDocument($,z8,{id:v8});if(!t8.getPublishedContent())throw(await Promise.resolve().then(() => (z4(),aT))).default.validation("Template has no published content","NO_PUBLISHED_CONTENT");let{target:Y6,targetPath:z1}=J.extractTemplateParameters(t8.getPublishedContent()),C1=f8||Y6||"stdout",R4=c8||{},C4=R4.path||z1,h$=J.renderTemplate(t8.getPublishedContent(),C8||{});switch(C1){case"stdout":return{content:h$,target:"stdout"};case"clipboard":return await W.copyToClipboard(h$),{target:"clipboard",message:"Copied to clipboard"};case"document":return P(async(i,J8)=>{if(!C4)throw(await Promise.resolve().then(() => (z4(),aT))).default.validation("targetOptions.path is required for document target","MISSING_TARGET_PATH");let s=await Y.createDocument(i,z8,{store:"A",path:C4,type:"d",content:h$},J8);if(R4.publish)await Y.publishDocument(i,z8,{id:s.getObjectId(),sessionId:m8},J8);return{content:h$,target:"document",documentId:s.getObjectId(),documentPath:C4,published:!!R4.publish}});case"file":throw(await Promise.resolve().then(() => (z4(),aT))).default.validation("file target not yet implemented","NOT_IMPLEMENTED");default:throw(await Promise.resolve().then(() => (z4(),aT))).default.validation(`Unknown target: ${C1}`,"INVALID_TARGET")}},createStory:async(z8,{name:v8,storeCode:C8,state:f8})=>{return P(async(c8,m8)=>{return await H.createStory(c8,z8,{store:C8,name:v8,state:f8},m8)})},updateStoryState:async(z8,{id:v8,state:C8})=>{return P(async(f8,c8)=>{return await H.updateStoryState(f8,z8,{id:v8,state:C8},c8)})},deleteStory:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await H.deleteStory(C8,z8,{id:v8},f8)})},createStateFolder:async(z8,{storyId:v8,state:C8})=>{return P(async(f8,c8)=>{return await H.createStateFolder(f8,z8,{storyId:v8,state:C8},c8)})},ensureStateFolder:async(z8,{mode:v8,storyId:C8,storyPath:f8,store:c8,state:m8})=>{return P(async(t8,Y6)=>{return await H.ensureStateFolder(t8,z8,{mode:v8,storyId:C8,storyPath:f8,store:c8,state:m8},Y6)})},createAsset:async(z8,{store:v8,buffer:C8,mimeType:f8,originalFilename:c8,widthPx:m8,heightPx:t8,displayWidth:Y6,displayHeight:z1})=>{return P(async(C1,R4)=>{return await Z.createAsset(C1,z8,{store:v8,buffer:C8,mimeType:f8,originalFilename:c8,widthPx:m8,heightPx:t8,displayWidth:Y6,displayHeight:z1},R4)})},deleteAsset:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Z.deleteAsset(C8,z8,{id:v8},f8)})}})},_m=Object.freeze({create:BI6});var Tm8=g6(Om8(),1),jm8=g6(a4(),1);z4();import O$ from"fs/promises";import n4 from"path";import{createWriteStream as qY1}from"fs";import YY1 from"crypto";var T9=jm8.default("caw:export"),Xm8=".caw-exports",wm8=".tmp",JY1=1,zY1=({store:$,folderService:K,documentService:q,templateService:Y,assetService:J,assetsDir:z})=>{let W=()=>{let v=new Date,A=v.getFullYear(),R=String(v.getMonth()+1).padStart(2,"0"),k=String(v.getDate()).padStart(2,"0"),f=String(v.getHours()).padStart(2,"0"),D=String(v.getMinutes()).padStart(2,"0"),S=String(v.getSeconds()).padStart(2,"0");return`${A}-${R}-${k}-${f}${D}${S}`},H=async(v)=>{let A=n4.join(v,Xm8),R=n4.join(A,wm8);try{return await O$.mkdir(A,{recursive:!0}),await O$.mkdir(R,{recursive:!0}),A}catch(k){if(k.code==="EACCES")throw m.validation("Permission denied creating export directory","EXPORT_ERROR");if(k.code==="ENOSPC")throw m.validation("Insufficient disk space","EXPORT_ERROR");throw T9("Error creating export directory: [%s] %s",k.code||"UNKNOWN",k.message),m.validation(`Failed to create export directory: ${k.message} (${k.code||"UNKNOWN"})`,"EXPORT_ERROR")}},Z=async(v,A,R,k)=>{let f=[],D=async(S,h)=>{let Q=await K.listFolderContents(v,A,{folderId:S,type:R,storeCode:k});for(let I of Q)if(I.getParentId()!==null)f.push({entity:I,depth:h,contentType:R}),await D(I.getObjectId(),h+1)};return await D(null,0),f},P=async(v,A,R)=>{let k=[],f=[],D=async(S)=>{let h=await q.listDocuments(v,A,{parentId:S,storeCode:R});for(let I of h){let N=I.getPublishedVersionNumber();if(N!==null){let E=await q.readVersion(v,A,{id:I.getObjectId(),versionNumber:N});k.push({entity:I,version:E})}else f.push(I)}let Q=await K.listFolderContents(v,A,{folderId:S,type:"d",storeCode:R});for(let I of Q)await D(I.getObjectId())};return await D(null),{published:k,draftOnly:f}},O=async(v,A,R)=>{let k=[],f=[],D=async(S)=>{let h=await q.listDocuments(v,A,{parentId:S,storeCode:R,type:"t"});for(let I of h){let N=I.getPublishedVersionNumber();if(N!==null){let E=await q.readVersion(v,A,{id:I.getObjectId(),versionNumber:N});k.push({entity:I,version:E})}else f.push(I)}let Q=await K.listFolderContents(v,A,{folderId:S,type:"t",storeCode:R});for(let I of Q)await D(I.getObjectId())};return await D(null),{published:k,draftOnly:f}},X=async(v,A,R)=>{let k=await J.listAssets(v,A,{store:R}),f=[];for(let D of k){let S=D.hash,h=S.substring(0,2),Q=n4.join(z,h,S);try{let I=await O$.readFile(Q);f.push({entity:D,buffer:I})}catch(I){if(I.code==="ENOENT"){T9("Warning: Skipping asset %s - blob file missing",D.id);continue}throw I}}return T9("Collected %d assets for export",f.length),f},w=async(v)=>{try{await O$.rm(v,{recursive:!0,force:!0})}catch(A){T9("Warning: Failed to cleanup temp directory: %s",A.message)}};return Object.freeze({listExports:async(v,A,{projectPath:R})=>{let k=n4.join(R,Xm8);try{let f=await O$.readdir(k),D=[];for(let S of f)if(S.endsWith(".zip")){let h=n4.join(k,S),Q=await O$.stat(h);D.push({filename:S,timestamp:Q.mtime.toISOString(),size:Q.size})}return T9("Found %d export files",D.length),D}catch(f){if(f.code==="ENOENT")return[];throw f}},exportPreview:async(v,A,{storeCode:R})=>{let k=await Z(v,A,"d",R),f=await Z(v,A,"t",R),{published:D,draftOnly:S}=await P(v,A,R),{published:h,draftOnly:Q}=await O(v,A,R),N={assets:(J?await J.listAssets(v,A,{store:R}):[]).map((r)=>({id:r.id,originalFilename:r.originalFilename,mimeType:r.mimeType,sizeBytes:r.sizeBytes})),folders:[...k,...f].map((r)=>({id:r.entity.getObjectId(),path:r.entity.getPath(),name:r.entity.getName()})),documents:D.map((r)=>({id:r.entity.getObjectId(),path:r.entity.getPath(),name:r.entity.getName()})),templates:h.map((r)=>({id:r.entity.getObjectId(),path:r.entity.getPath(),name:r.entity.getName()}))},E={documents:S.map((r)=>({id:r.getObjectId(),path:r.getPath(),name:r.getName()})),templates:Q.map((r)=>({id:r.getObjectId(),path:r.getPath(),name:r.getName()}))},p=N.assets.length+N.folders.length+N.documents.length+N.templates.length,c=E.documents.length+E.templates.length;return T9("Preview: %d published (%d assets), %d draft-only",p,N.assets.length,c),{toExport:N,draftOnly:E}},exportDocuments:async(v,A,{storeCode:R,projectPath:k})=>{T9("Starting export for store %s",R);let f=await H(k),D=YY1.randomUUID(),S=n4.join(f,wm8,D);await O$.mkdir(S,{recursive:!0});try{let h=await Z(v,A,"d",R),Q=await Z(v,A,"t",R),I=[...h,...Q],{published:N,draftOnly:E}=await P(v,A,R),{published:p,draftOnly:c}=await O(v,A,R),r=J?await X(v,A,R):[];T9("Found %d folders, %d documents, %d templates, %d assets",I.length,N.length,p.length,r.length);let P8=[...r.map((z8)=>({id:z8.entity.id,type:"asset",hash:z8.entity.hash,mimeType:z8.entity.mimeType,sizeBytes:z8.entity.sizeBytes,originalFilename:z8.entity.originalFilename,widthPx:z8.entity.widthPx,heightPx:z8.entity.heightPx,displayWidth:z8.entity.displayWidth,displayHeight:z8.entity.displayHeight})),...I.map((z8)=>({id:z8.entity.getObjectId(),type:"folder",path:z8.entity.getPath(),contentType:z8.contentType})),...N.map((z8)=>({id:z8.entity.getObjectId(),type:"document",path:z8.entity.getPath()})),...p.map((z8)=>({id:z8.entity.getObjectId(),type:"template",path:z8.entity.getPath()}))],O8={version:JY1,exportedAt:new Date().toISOString(),entities:P8};await O$.writeFile(n4.join(S,"manifest.json"),JSON.stringify(O8,null,2),"utf-8");for(let z8 of I){if(z8.entity.getParentId()===null)continue;let v8=n4.join(S,z8.entity.getPath());await O$.mkdir(v8,{recursive:!0})}await O$.mkdir(n4.join(S,"Documents"),{recursive:!0}),await O$.mkdir(n4.join(S,"Templates"),{recursive:!0});for(let z8 of N){let v8=n4.join(S,z8.entity.getPath()),C8=z8.version.content;await O$.mkdir(n4.dirname(v8),{recursive:!0}),await O$.writeFile(v8,C8,"utf-8")}for(let z8 of p){let v8=n4.join(S,z8.entity.getPath()),C8=z8.version.content;await O$.mkdir(n4.dirname(v8),{recursive:!0}),await O$.writeFile(v8,C8,"utf-8")}if(r.length>0){let z8=n4.join(S,"assets");await O$.mkdir(z8,{recursive:!0});for(let v8 of r){let C8=v8.entity.id,f8=n4.join(z8,`${C8}.bin`);await O$.writeFile(f8,v8.buffer);let c8=n4.join(z8,`${C8}.json`);await O$.writeFile(c8,JSON.stringify({id:C8,hash:v8.entity.hash,mimeType:v8.entity.mimeType,sizeBytes:v8.entity.sizeBytes,originalFilename:v8.entity.originalFilename,widthPx:v8.entity.widthPx,heightPx:v8.entity.heightPx,displayWidth:v8.entity.displayWidth,displayHeight:v8.entity.displayHeight},null,2),"utf-8")}}for(let z8 of P8){if(z8.type==="folder")continue;let v8;if(z8.type==="asset")v8=n4.join(S,"assets",`${z8.id}.bin`);else if(z8.type==="document"||z8.type==="template")v8=n4.join(S,z8.path);else{T9("Unknown entity type in validation: %s",z8.type);continue}try{await O$.access(v8)}catch(C8){throw m.validation(`Manifest entry missing file: ${z8.id||z8.path}`,"EXPORT_VALIDATION_FAILED")}}let R8=`caw-export-${W()}.zip`,I8=n4.join(f,R8),_8=qY1(I8),g8=Tm8.default("zip",{zlib:{level:9}});g8.on("error",async(z8)=>{throw await w(S),T9("Zip creation error: %s",z8.message),m.validation(`Export failed: ${z8.message}`,"EXPORT_ERROR")}),g8.pipe(_8),g8.directory(S,!1),await g8.finalize(),await new Promise((z8,v8)=>{_8.on("close",z8),_8.on("error",v8),setTimeout(()=>{v8(new Error("Zip creation timeout"))},60000)}),T9("Created zip: %s (%d bytes)",R8,g8.pointer()),await w(S);let d8=P8.length;return T9("Export complete: %s (%d entities)",R8,d8),{success:!0,filename:R8,path:I8,counts:{assets:r.length,folders:I.length,documents:N.length,templates:p.length},draftOnlySkipped:{documents:E.length,templates:c.length}}}catch(h){throw await w(S),h}}})},Gm8=Object.freeze({create:zY1});var rm8=g6(om8(),1),sm8=g6(a4(),1);z4();import kK from"fs/promises";import H5 from"path";import xY1 from"crypto";var j1=sm8.default("caw:import"),Wl=($)=>{if(!$||typeof $!=="string")throw new Error(`Invalid export path: ${$}`);let K={Documents:"d",Templates:"t",Stories:"s"},q=$.indexOf("/");if(q===-1){let z=K[$];if(z)return{path:"",type:z};throw new Error(`Invalid export path: ${$}`)}let Y=$.slice(0,q),J=K[Y];if(!J)throw new Error(`Unknown root folder: ${Y}`);return{path:$.slice(q+1),type:J}},Hl=".caw-exports",am8=".tmp",bY1=1,gY1=/\b([A-Z][adtfns]\d+)\b/g,yY1=({store:$,folderService:K,documentService:q,templateService:Y,assetService:J,assetsDir:z})=>{let W=(w,T)=>{if(!w)return w;return w.replace(gY1,(G,j)=>{return T[j]??G})},H=async(w)=>{try{await kK.rm(w,{recursive:!0,force:!0})}catch(T){j1("Warning: Failed to cleanup temp directory: %s",T.message)}},Z=async(w,T,{storeCode:G})=>{let j=await K.listFolderContents(w,T,{folderId:null,type:"d",storeCode:G}),v=await K.listFolderContents(w,T,{folderId:null,type:"t",storeCode:G}),A=await q.listDocuments(w,T,{parentId:null,storeCode:G,type:"d"}),R=await q.listDocuments(w,T,{parentId:null,storeCode:G,type:"t"}),k=j.length===0&&v.length===0&&A.length===0&&R.length===0;return j1("Store %s empty check: %s",G,k),k},P=async(w,T,{tempPath:G,storeCode:j,idMapping:v,enqueuePostCommitHook:A})=>{let R=H5.join(G,"assets"),k;try{k=await kK.readdir(R)}catch(S){if(S.code==="ENOENT")return j1("No assets directory in export"),0;throw S}let f=k.filter((S)=>S.endsWith(".json"));if(j1("Found %d assets to import",f.length),!J||!z){if(f.length>0)throw m.validation("Export contains assets but asset service is not configured","ASSET_SERVICE_MISSING");return 0}let D=0;for(let S of f){let h=H5.join(R,S),Q=await kK.readFile(h,"utf-8"),I=JSON.parse(Q),N=S.replace(".json",".bin"),E=H5.join(R,N),p=await kK.readFile(E),c=await J.createAsset(w,T,{store:j,buffer:p,mimeType:I.mimeType,originalFilename:I.originalFilename,widthPx:I.widthPx,heightPx:I.heightPx,displayWidth:I.displayWidth,displayHeight:I.displayHeight},A);v[I.id]=c.id,D++}return j1("Imported %d assets",D),D},O=async(w,T,{manifest:G,tempPath:j,storeCode:v})=>{return j1("Starting transaction..."),await w.transaction().execute(async(A)=>{let R={},k=(c)=>{},f=await P(A,T,{tempPath:j,storeCode:v,idMapping:R,enqueuePostCommitHook:k});j1("Phase 0 complete - imported %d assets",f);let D=G.entities.filter((c)=>c.type==="folder");j1("Phase 1: Creating %d folders",D.length);let S=0;for(let c of D){let{path:r,type:P8}=Wl(c.path);if(!r)continue;let O8=await K.createFolder(A,T,{store:v,path:r,type:P8},k);R[c.id]=O8.getObjectId(),S++}j1("Phase 1 complete - created %d folders (skipped root folders)",S);let h=G.entities.filter((c)=>c.type==="document"),Q=[];j1("Phase 2: Reading %d documents",h.length);for(let c of h){let r=H5.join(j,c.path),P8=await kK.readFile(r,"utf-8");Q.push({oldId:c.id,path:c.path,content:P8})}j1("Phase 2 complete - read %d documents",Q.length),j1("Phase 3: Creating %d document entities",Q.length);let I=[];for(let c of Q){let{path:r,type:P8}=Wl(c.path),O8=await q.createDocument(A,T,{store:v,path:r,type:P8},k);R[c.oldId]=O8.getObjectId(),I.push({document:O8,originalContent:c.content})}j1("Phase 3 complete - created %d document entities",I.length);let N=G.entities.filter((c)=>c.type==="template"),E=[];j1("Phase 4: Reading %d templates",N.length);for(let c of N){let r=H5.join(j,c.path),P8=await kK.readFile(r,"utf-8");E.push({oldId:c.id,path:c.path,content:P8})}j1("Phase 4 complete - read %d templates",E.length),j1("Phase 5: Creating %d template entities",E.length);let p=[];for(let c of E){let{path:r,type:P8}=Wl(c.path),O8=await q.createDocument(A,T,{store:v,path:r,type:P8},k);R[c.oldId]=O8.getObjectId(),p.push({template:O8,originalContent:c.content})}j1("Phase 5 complete - created %d template entities",p.length),j1("Phase 6: Remapping and saving content for %d documents",I.length);for(let{document:c,originalContent:r}of I){let P8=W(r,R);await q.saveDraft(A,T,{id:c.getObjectId(),content:P8,sessionId:"import-service"},k),await q.publishDocument(A,T,{id:c.getObjectId()},k)}j1("Phase 6 complete - saved and published %d documents",I.length),j1("Phase 7: Remapping and saving content for %d templates",p.length);for(let{template:c,originalContent:r}of p){let P8=W(r,R);await q.saveDraft(A,T,{id:c.getObjectId(),content:P8,sessionId:"import-service"},k),await q.publishDocument(A,T,{id:c.getObjectId()},k)}return j1("Phase 7 complete - saved and published %d templates",p.length),j1("Transaction committed successfully"),{success:!0,counts:{assets:f,folders:S,documents:I.length,templates:p.length},remapped:R}})};return Object.freeze({isStoreEmpty:Z,importDocuments:async(w,T,{filename:G,storeCode:j,projectPath:v})=>{j1("Starting import from %s to store %s",G,j);let A=H5.join(v,Hl,G);try{await kK.access(A),j1("Zip file found: %s",A)}catch(S){throw m.notFound(`Export file not found: ${G}`,"EXPORT_NOT_FOUND")}j1("Validating zip and manifest...");let R=await Z(w,T,{storeCode:j});if(!R)throw m.conflict("Store not empty - import requires empty store","STORE_NOT_EMPTY");j1("Store empty check: %s",R);let k=xY1.randomUUID(),f=H5.join(v,Hl,am8,k),D=H5.join(v,Hl,am8);await kK.mkdir(D,{recursive:!0});try{new rm8.default(A).extractAllTo(f,!0),j1("Extracted zip to: %s",f)}catch(S){throw m.validation("Corrupted or invalid zip file","IMPORT_VALIDATION_FAILED")}try{let S=H5.join(f,"manifest.json"),h;try{let N=await kK.readFile(S,"utf-8");h=JSON.parse(N)}catch(N){throw m.validation(`Failed to read manifest: ${N.message}`,"MANIFEST_READ_FAILED")}if(h.version!==bY1)throw m.validation(`Unsupported manifest version: ${h.version}`,"UNSUPPORTED_VERSION");if(!h.entities||!Array.isArray(h.entities))throw m.validation("Invalid manifest structure","MANIFEST_READ_FAILED");j1("Manifest valid: version=%d, entities=%d",h.version,h.entities.length);for(let N of h.entities){if(N.type==="folder")continue;let E;if(N.type==="asset")E=H5.join(f,"assets",`${N.id}.bin`);else if(N.type==="document"||N.type==="template")E=H5.join(f,N.path);else{j1("Unknown entity type in import validation: %s",N.type);continue}try{await kK.access(E)}catch(p){throw m.validation(`Missing file for manifest entry: ${N.path||N.id}`,"IMPORT_VALIDATION_FAILED")}}j1("All content files validated");let Q=await O(w,T,{manifest:h,tempPath:f,storeCode:j}),I=Q.counts.folders+Q.counts.documents+Q.counts.templates;return j1("Import complete: %d entities imported",I),Q}finally{await H(f)}}})},tm8=Object.freeze({create:yY1});var uY1=($)=>{let{name:K,interval:q,execute:Y}=$,J=null,z=!1,W=null,H=null,Z=0,P=null,A=Object.freeze({getName:()=>K,getInterval:()=>q,getIsRunning:()=>z,getLastRun:()=>W,getLastError:()=>H,getRunCount:()=>Z,getNextRun:()=>P}),R=async()=>{try{await Y(),W=new Date().toISOString(),H=null,Z++}catch(h){console.error(`[CronJob] ${K} failed:`,h),H={message:h.message,timestamp:new Date().toISOString()}}if(z)P=new Date(Date.now()+q).toISOString()},k=()=>{if(J!==null)return;J=setInterval(R,q),z=!0,P=new Date(Date.now()+q).toISOString()},f=()=>{if(J===null)return;clearInterval(J),J=null,z=!1,P=null},S=Object.freeze({start:k,stop:f,restart:()=>{f(),k()}});return{jobFns:A,controlFns:S}},UR=Object.freeze({create:uY1});var em8=g6(a4(),1),mY1=em8.default("caw:cron:cleanup-edit-states"),$B8=async($)=>{let K=new Date(Date.now()-lY).toISOString();try{let q=await $.deleteFrom("document_edit_state").where("last_activity_at","<",K).execute(),Y=Number(q[0]?.numDeletedRows??0);if(Y>0)mY1("Cleaned up %d expired edit locks (older than %d minutes)",Y,lY/60000);return{expired:Y}}catch(q){throw console.error("[Cleanup] Failed to cleanup expired edit locks:",q),q}};var BY1=({db:$})=>{let{jobFns:K,controlFns:q}=UR.create({name:"cleanup-stale-edit-states",interval:900000,execute:async()=>{await $B8($)}});return{job:Object.freeze(K),control:q}},KB8=Object.freeze({create:BY1});var UY1=({db:$})=>{let K=new Map,q=(P,O)=>{let{job:X,control:w}=P.create(O);K.set(X.getName(),{job:X,control:w})},Y=(P)=>{let O=K.get(P);if(!O)throw new Error(`Job not found: ${P}`);let X=O.job.getIsRunning();return O.control.start(),{name:P,status:X?"already-running":"started",isRunning:O.job.getIsRunning()}},J=(P)=>{let O=K.get(P);if(!O)throw new Error(`Job not found: ${P}`);let X=O.job.getIsRunning();return O.control.stop(),{name:P,status:X?"stopped":"already-stopped",isRunning:O.job.getIsRunning()}},z=(P)=>{let O=K.get(P);if(!O)throw new Error(`Job not found: ${P}`);return O.control.restart(),{name:P,status:"restarted",isRunning:O.job.getIsRunning()}},W=()=>{let P=[];for(let[O,{job:X}]of K.entries())P.push({name:X.getName(),interval:X.getInterval(),isRunning:X.getIsRunning(),lastRun:X.getLastRun(),lastError:X.getLastError(),runCount:X.getRunCount(),nextRun:X.getNextRun()});return P},H=()=>{for(let[P,{control:O}]of K.entries())O.start()},Z=()=>{for(let[P,{control:O}]of K.entries())O.stop()};return q(KB8,{db:$}),Object.freeze({register:q,start:Y,stop:J,restart:z,list:W,startAll:H,stopAll:Z})},qB8=Object.freeze({create:UY1});import mQ8 from"node:process";import zB8 from"node:process";import lY1 from"node:os";import dY1 from"node:fs";import FY1 from"node:fs";import YB8 from"node:fs";var Zl;function cY1(){try{return YB8.statSync("/.dockerenv"),!0}catch{return!1}}function pY1(){try{return YB8.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Pl(){if(Zl===void 0)Zl=cY1()||pY1();return Zl}var Ol,QY1=()=>{try{return FY1.statSync("/run/.containerenv"),!0}catch{return!1}};function cR(){if(Ol===void 0)Ol=QY1()||Pl();return Ol}var JB8=()=>{if(zB8.platform!=="linux")return!1;if(lY1.release().toLowerCase().includes("microsoft")){if(cR())return!1;return!0}try{return dY1.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!cR():!1}catch{return!1}},WB8=zB8.env.__IS_WSL_TEST__?JB8:JB8();import Xl from"node:process";function wl(){if(Xl.platform!=="linux")return!1;if(Xl.env.WAYLAND_DISPLAY)return!0;if(Xl.env.XDG_SESSION_TYPE==="wayland")return!0;return!1}function U4($){if(typeof $!=="object"||$===null)return!1;let K=Object.getPrototypeOf($);return(K===null||K===Object.prototype||Object.getPrototypeOf(K)===null)&&!(Symbol.toStringTag in $)&&!(Symbol.iterator in $)}import{fileURLToPath as iY1}from"node:url";var GO=($,K)=>{let q=jl(nY1($));if(typeof q!=="string")throw new TypeError(`${K} must be a string or a file URL: ${q}.`);return q},nY1=($)=>Tl($)?$.toString():$,Tl=($)=>typeof $!=="string"&&$&&Object.getPrototypeOf($)===String.prototype,jl=($)=>$ instanceof URL?iY1($):$;var pR=($,K=[],q={})=>{let Y=GO($,"First argument"),[J,z]=U4(K)?[[],K]:[K,q];if(!Array.isArray(J))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${J}`);if(J.some((Z)=>typeof Z==="object"&&Z!==null))throw new TypeError(`Second argument must be an array of strings: ${J}`);let W=J.map(String),H=W.find((Z)=>Z.includes("\x00"));if(H!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${H}`);if(!U4(z))throw new TypeError(`Last argument must be an options object: ${z}`);return[Y,W,z]};import{ChildProcess as $J1}from"node:child_process";import{StringDecoder as oY1}from"node:string_decoder";var{toString:HB8}=Object.prototype,ZB8=($)=>HB8.call($)==="[object ArrayBuffer]",w$=($)=>HB8.call($)==="[object Uint8Array]",Iq=($)=>new Uint8Array($.buffer,$.byteOffset,$.byteLength),aY1=new TextEncoder,PB8=($)=>aY1.encode($),rY1=new TextDecoder,FR=($)=>rY1.decode($),OB8=($,K)=>{return sY1($,K).join("")},sY1=($,K)=>{if(K==="utf8"&&$.every((z)=>typeof z==="string"))return $;let q=new oY1(K),Y=$.map((z)=>typeof z==="string"?PB8(z):z).map((z)=>q.write(z)),J=q.end();return J===""?Y:[...Y,J]},zv=($)=>{if($.length===1&&w$($[0]))return $[0];return Gl(tY1($))},tY1=($)=>$.map((K)=>typeof K==="string"?PB8(K):K),Gl=($)=>{let K=new Uint8Array(eY1($)),q=0;for(let Y of $)K.set(Y,q),q+=Y.length;return K},eY1=($)=>{let K=0;for(let q of $)K+=q.length;return K};var jB8=($)=>Array.isArray($)&&Array.isArray($.raw),GB8=($,K)=>{let q=[];for(let[z,W]of $.entries())q=KJ1({templates:$,expressions:K,tokens:q,index:z,template:W});if(q.length===0)throw new TypeError("Template script must not be empty");let[Y,...J]=q;return[Y,J,{}]},KJ1=({templates:$,expressions:K,tokens:q,index:Y,template:J})=>{if(J===void 0)throw new TypeError(`Invalid backslash sequence: ${$.raw[Y]}`);let{nextTokens:z,leadingWhitespaces:W,trailingWhitespaces:H}=qJ1(J,$.raw[Y]),Z=wB8(q,z,W);if(Y===K.length)return Z;let P=K[Y],O=Array.isArray(P)?P.map((X)=>TB8(X)):[TB8(P)];return wB8(Z,O,H)},qJ1=($,K)=>{if(K.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let q=[],Y=0,J=XB8.has(K[0]);for(let W=0,H=0;W<$.length;W+=1,H+=1){let Z=K[H];if(XB8.has(Z)){if(Y!==W)q.push($.slice(Y,W));Y=W+1}else if(Z==="\\"){let P=K[H+1];if(P===`
|
|
491
|
+
`),details:{message:`Inserted at line ${K}, column ${q}`}}},lk6=($,{content:K})=>{return{newContent:$+K,details:{message:"Appended content"}}},Q_=($,K)=>{switch(K.type){case"replace_first":return mk6($,K);case"replace_all":return Bk6($,K);case"replace_regex":return Uk6($,K);case"replace_regex_all":return ck6($,K);case"replace_between_markers":return pk6($,K);case"replace_lines":return Fk6($,K);case"insert_at":return Qk6($,K);case"replace_all_content":return{newContent:K.content,details:{message:"Replaced all content"}};case"append":return lk6($,K);default:throw new Error(`Unknown operation type: ${K.type}`)}},ET8=($,K,q=!1)=>{let Y=Q_($,K),J={originalLength:$.length,newLength:Y.newContent.length,changeCount:Y.details.count||Y.details.linesReplaced||Y.details.linesDeleted||1},z={matches:J.changeCount,stats:J};if(!q)z.diff=Zu($,Y.newContent);return z};var dk6=({store:$,folderService:K,documentHooks:q})=>{let Y=(N)=>{return N==="t"?"Template":"Document"},J=async(N,E,p,c,r,P8,O8)=>{let R8=P8??c;if(p){let I8=await K.resolvePath(N,E,p,c,r,R8,O8),_8=await $.findFolderByName(N,E,I8.parentObjectId,I8.name);if(_8)return _8.getObjectId();else return(await $.createFolder(N,E,{storeCode:r,parentId:I8.parentObjectId,name:I8.name},O8)).getObjectId()}else return(await $.readRootFolderForType(N,E,c,r)).getObjectId()},z=async(N,E,p,c)=>{let{path:r,store:P8,content:O8,allowedRoots:R8,validPrefixes:I8,entityType:_8}=p;$$.validatePathFormat(r);let g8=$$.detectFullPathPrefix(r,I8);l.factory(!g8.valid,m.validation,`Path must start with one of: ${I8.map((t8)=>typeof t8==="string"?t8:t8.toString()).join(", ")}`,"INVALID_PATH_PREFIX");let d8=r.slice(g8.prefix.length);l.factory(!d8||d8.length===0,m.validation,"Path cannot end at tree prefix - provide a path after the prefix","EMPTY_PATH");let z8;if(g8.prefix==="Documents/")z8="d";else if(g8.prefix==="Templates/")z8="t";else if(g8.prefix.startsWith("Stories/"))z8="s";let{parentPath:v8,name:C8}=W4.parsePath(d8),f8=await J(N,E,v8,_8,P8,z8,c);if(z8==="s"){let t8=await $.readFolder(N,E,{id:f8});l.factory(!t8,m.notFound,"Parent folder not found","FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(N,E,t8,R8,$)}let c8=Y(_8),m8=await $.findContentByName(N,E,f8,C8,_8);return l.factory(m8,m.conflict,`${c8} "${C8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:P8,type:_8,parentId:f8,name:C8,initialContent:O8},c)},W=async(N,E,p,c)=>{let{root:r,path:P8,content:O8,allowedRoots:R8,entityType:I8}=p,_8=W4.extractStoreCode(r);$$.validatePathFormat(P8);let g8=await $.readFolder(N,E,{id:r});l.factory(!g8,m.notFound,`Root folder not found: ${r}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(N,E,g8,R8,$);let{parentPath:d8,name:z8}=W4.parsePath(P8),v8;if(d8){let c8=d8.split("/").filter((t8)=>t8.trim()),m8=g8;for(let t8 of c8){let Y6=await $.findFolderByName(N,E,m8.getObjectId(),t8);if(Y6)m8=Y6;else m8=await $.createFolder(N,E,{storeCode:_8,parentId:m8.getObjectId(),name:t8},c)}v8=m8.getObjectId()}else v8=r;let C8=Y(I8),f8=await $.findContentByName(N,E,v8,z8,I8);return l.factory(f8,m.conflict,`${C8} "${z8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:_8,type:I8,parentId:v8,name:z8,initialContent:O8},c)},H=async(N,E,p,c)=>{let{parentId:r,name:P8,content:O8,allowedRoots:R8,entityType:I8}=p,_8=W4.extractStoreCode(r);$$.validateName(P8);let g8=await $.readFolder(N,E,{id:r});l.factory(!g8,m.notFound,`Parent folder not found: ${r}`,"FOLDER_NOT_FOUND"),await $$.validateRootInAllowedTree(N,E,g8,R8,$);let d8=Y(I8),z8=await $.findContentByName(N,E,r,P8,I8);return l.factory(z8,m.conflict,`${d8} "${P8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:_8,type:I8,parentId:r,name:P8,initialContent:O8},c)},Z=async(N,E,p,c)=>{let{mode:r,path:P8,root:O8,parentId:R8,name:I8,store:_8,content:g8,type:d8,tree:z8}=p,v8=["d","state_folder"],C8=$$.DOCUMENT_PREFIXES;if(r==="fullPath")return l.factory(!_8,m.validation,"store is required for fullPath mode","MISSING_STORE_CODE"),await z(N,E,{path:P8,store:_8,content:g8,allowedRoots:v8,validPrefixes:C8,entityType:"d"},c);if(r==="rootRelative")return l.factory(!O8,m.validation,"root is required for rootRelative mode","MISSING_ROOT"),await W(N,E,{root:O8,path:P8,content:g8,allowedRoots:v8,entityType:"d"},c);if(r==="parentName")return l.factory(!R8,m.validation,"parentId is required for parentName mode","MISSING_PARENT_ID"),l.factory(!I8,m.validation,"name is required for parentName mode","MISSING_NAME"),await H(N,E,{parentId:R8,name:I8,content:g8,allowedRoots:v8,entityType:"d"},c);if(d8!==void 0){l.factory(d8!=="d"&&d8!=="t",m.validation,'type must be "d" or "t"',"INVALID_TYPE"),l.factory(!P8||P8==="/",m.validation,"Path cannot be empty","EMPTY_PATH"),l.factory(!_8,m.validation,"store is required","MISSING_STORE_CODE");let{parentPath:f8,name:c8}=W4.parsePath(P8),m8=R8??await J(N,E,f8,d8,_8,z8,c),t8=Y(d8),Y6=await $.findContentByName(N,E,m8,c8,d8);return l.factory(Y6,m.conflict,`${t8} "${c8}" already exists in folder`,"DUPLICATE_NAME"),await $.createContent(N,E,{storeCode:_8,type:d8,parentId:m8,name:c8,initialContent:g8},c)}throw m.validation("Invalid creation parameters. Use one of: fullPath (path+store), rootRelative (root+path), or parentName (parentId+name)","INVALID_PARAMS")},P=async(N,E,p,c)=>{let{mode:r,path:P8,root:O8,parentId:R8,name:I8,store:_8,content:g8}=p,d8=["t"],z8=$$.TEMPLATE_PREFIXES;if(r==="fullPath")return l.factory(!_8,m.validation,"store is required for fullPath mode","MISSING_STORE_CODE"),await z(N,E,{path:P8,store:_8,content:g8,allowedRoots:d8,validPrefixes:z8,entityType:"t"},c);if(r==="rootRelative")return l.factory(!O8,m.validation,"root is required for rootRelative mode","MISSING_ROOT"),await W(N,E,{root:O8,path:P8,content:g8,allowedRoots:d8,entityType:"t"},c);if(r==="parentName")return l.factory(!R8,m.validation,"parentId is required for parentName mode","MISSING_PARENT_ID"),l.factory(!I8,m.validation,"name is required for parentName mode","MISSING_NAME"),await H(N,E,{parentId:R8,name:I8,content:g8,allowedRoots:d8,entityType:"t"},c);throw m.validation("Invalid creation parameters. Use one of: fullPath (path+store), rootRelative (root+path), or parentName (parentId+name)","INVALID_PARAMS")},O=async(N,E,{id:p})=>{let{typeCode:c}=F1.resolveEntityId(p),r=Y(c),P8=await $.readContent(N,E,{id:p});l.factory(!P8,m.notFound,`${r} not found: ${p}`,"NOT_FOUND");let O8=[],R8=P8.getParentId();while(R8){O8.unshift(R8);let I8=await $.readFolder(N,E,{id:R8});if(!I8)break;R8=I8.getParentId()}return{entity:P8,ancestorFolderIds:O8}},X=async(N,E,{path:p,type:c,storeCode:r})=>{l.factory(c!=="d"&&c!=="t",m.validation,'type must be "d" or "t"',"INVALID_TYPE");let{parentPath:P8,name:O8}=W4.parsePath(p),R8=[],I8;if(P8){let g8=P8.split("/").filter((z8)=>z8),d8="";for(let z8 of g8){d8=d8?`${d8}/${z8}`:z8;let v8=await $.getFolderByPath(N,E,{path:d8,type:c,storeCode:r});if(!v8)return null;R8.push(v8.getObjectId())}I8=R8[R8.length-1]}else I8=(await $.readRootFolderForType(N,E,c,r)).getObjectId();let _8=await $.findContentByName(N,E,I8,O8,c);if(!_8)return null;return{entity:_8,ancestorFolderIds:R8}},w=async(N,E,{id:p,path:c,parentId:r,type:P8},O8)=>{l.factory(P8!=="d"&&P8!=="t",m.validation,'type must be "d" or "t"',"INVALID_TYPE");let R8=c!==void 0&&c!==null,I8=r!==void 0&&r!==null;if(l.factory(R8===I8,m.validation,"Either path OR parentId must be provided, not both or neither","INVALID_PARAMS"),R8)l.factory(c==="/",m.validation,"Path cannot be empty","EMPTY_PATH");let{entity:_8}=await O(N,E,{id:p}),g8=W4.extractStoreCode(p),d8=Y(P8),z8,v8;if(I8){let c8=await $.readFolder(N,E,{id:r});l.factory(!c8,m.notFound,`Parent folder not found: ${r}`,"PARENT_NOT_FOUND"),z8=_8.getName(),v8=r}else{let{parentPath:c8,name:m8}=W4.parsePath(c);z8=m8,v8=await J(N,E,c8,P8,g8,void 0,O8)}let C8=z8!==_8.getName(),f8=v8!==_8.getParentId();if(!C8&&!f8)return _8;if(C8||f8){let c8=await $.findContentByName(N,E,v8,z8,P8);l.factory(c8&&c8.getObjectId()!==p,m.conflict,`${d8} "${z8}" already exists in target folder`,"DUPLICATE_NAME")}return await $.updateContent(N,E,{id:p,name:C8?z8:void 0,parentId:f8?v8:void 0},O8)},T=async(N,E,{id:p},c)=>{let{entity:r}=await O(N,E,{id:p});return await $.deleteContent(N,E,{id:p},c)},G=async(N,E,{id:p,content:c,sessionId:r},P8)=>{let{entity:O8}=await O(N,E,{id:p});return await $.saveDraft(N,E,{id:p,content:c,sessionId:r},P8)};return Object.freeze({createDocument:Z,createTemplate:P,readDocument:O,readDocumentByPath:X,updateDocumentPath:w,deleteDocument:T,saveDraft:G,readDraft:async(N,E,{id:p})=>{let{typeCode:c}=F1.resolveEntityId(p),{entity:r}=await O(N,E,{id:p}),P8=Y(c),O8=await $.readDraft(N,E,{id:p});return l.factory(!O8,m.notFound,`No draft found for ${P8}: ${p}`,"DRAFT_NOT_FOUND"),O8},publishDocument:async(N,E,{id:p,sessionId:c},r)=>{let{entity:P8}=await O(N,E,{id:p}),{typeCode:O8}=F1.resolveEntityId(p),R8=await $.publishContent(N,E,{id:p,sessionId:c},r),I8=q.getHook("prePublish",O8);if(I8){let{entity:_8}=await O(N,E,{id:p});await I8(N,E,_8)}return R8},discardDraft:async(N,E,{id:p},c)=>{let{entity:r}=await O(N,E,{id:p});return await $.discardDraft(N,E,{id:p},c)},readVersion:async(N,E,{id:p,versionNumber:c})=>{let{typeCode:r}=F1.resolveEntityId(p),{entity:P8}=await O(N,E,{id:p}),O8=Y(r),R8=await $.readVersion(N,E,{id:p,versionNumber:c});return l.factory(!R8,m.notFound,`Version ${c} not found for ${O8}: ${p}`,"VERSION_NOT_FOUND"),R8},getVersions:async(N,E,{id:p})=>{let{entity:c}=await O(N,E,{id:p});return await $.getVersions(N,E,{id:p})},setEditState:async(N,E,{id:p,sessionId:c},r)=>{let{entity:P8}=await O(N,E,{id:p});return await $.setEditState(N,E,{id:p,sessionId:c},r)},clearEditState:async(N,E,{id:p},c)=>{let{entity:r}=await O(N,E,{id:p});return await $.clearEditState(N,E,{id:p},c)},getEditState:async(N,E,{id:p})=>{let{entity:c}=await O(N,E,{id:p});return await $.getEditState(N,E,{id:p})},listDocuments:async(N,E,{parentId:p,storeCode:c,type:r="d"})=>{return await $.listContent(N,E,{parentId:p,storeCode:c,type:r})},editDocument:async(N,E,{id:p,operation:c,preview:r=!1,ignoreContent:P8=!1,sessionId:O8},R8)=>{let{entity:I8}=await O(N,E,{id:p}),_8=I8.getDraftContent()??I8.getPublishedContent()??"";if(r)return{preview:!0,...ET8(_8,c,P8)};let g8=Q_(_8,c);return await G(N,E,{id:p,content:g8.newContent,sessionId:O8},R8),{applied:!0,details:g8.details}},batchEditDocument:async(N,E,{id:p,operations:c,preview:r=!1,ignoreContent:P8=!1,sessionId:O8},R8)=>{let I8=["replace_first","replace_all","replace_regex","replace_regex_all","replace_between_markers","replace_all_content","append"];for(let C8 of c)if(!I8.includes(C8.type))throw m.validation(`Operation type "${C8.type}" is not batchable. Only line-agnostic operations are allowed in batch mode.`,"NON_BATCHABLE_OPERATION");let{entity:_8}=await O(N,E,{id:p}),g8=_8.getDraftContent()??_8.getPublishedContent()??"",d8=g8,z8=[];for(let C8 of c){let f8=Q_(d8,C8);d8=f8.newContent,z8.push(f8.details)}let v8={originalLength:g8.length,newLength:d8.length,operationsApplied:c.length};if(r){let C8={preview:!0,stats:v8,operationResults:z8};if(!P8)C8.diff=Zu(g8,d8);return C8}return await G(N,E,{id:p,content:d8,sessionId:O8},R8),{applied:c.length,results:z8}}})},ST8=Object.freeze({create:dk6});var e08=g6(nG8(),1),$V8=g6(Am(),1),KV8=($)=>{if(!$)return{parameters:{},target:null,targetPath:null,body:""};let K=e08.default($),q=K.data?.parameters||{},Y=K.data?.target||null,J=K.data?.targetPath||null,z=K.content;return{parameters:q,target:Y,targetPath:J,body:z}},II6=($)=>{if(!$)return new Set;let K=new Set,q=new Set(["if","unless","each","with","lookup","log"]);try{let Y=$V8.default.parse($),J=(z,W=null,H=null)=>{if(!z)return;if(z.type==="PathExpression"){if(z.data)return;let Z=z.parts.join(".");if(!Z||Z.startsWith("@"))return;if(W?.type==="BlockStatement"&&H==="path"||W?.type==="MustacheStatement"&&H==="path"&&W.params?.length>0){if(q.has(Z))return;return}K.add(Z)}if(z.program)J(z.program,z,"program");if(z.inverse)J(z.inverse,z,"inverse");if(z.body)z.body.forEach((Z)=>J(Z,z,"body"));if(z.params)z.params.forEach((Z)=>J(Z,z,"params"));if(z.hash?.pairs)z.hash.pairs.forEach((Z)=>J(Z.value,z,"hash"));if(z.path)J(z.path,z,"path")};J(Y)}catch(Y){throw new Error(`Invalid Handlebars template: ${Y.message}`)}return K},xI6=($)=>{if(!$)return{parameters:{},target:null,targetPath:null};let{parameters:K,target:q,targetPath:Y}=KV8($);return{parameters:K,target:q,targetPath:Y}},Y3=Object.freeze({parseFrontMatter:KV8,extractVariables:II6,getParameters:xI6});z4();var bI6=async($,K,q,Y)=>{try{let J=typeof q.getPublishedContent==="function"?q.getPublishedContent():q.publishedContent,{parameters:z}=Y3.parseFrontMatter(J||"");if(!z||Object.keys(z).length===0)return;let W=typeof q.getObjectId==="function"?q.getObjectId():q.id,H=W[0];for(let[Z,P]of Object.entries(z)){let O=P.type||"string",X=P.required||!1,w=P.description||null,T=P.label||Z,G="single";if(O!=="string"&&O!=="object_ref"){console.warn(`Invalid parameter type "${O}" for parameter "${Z}" in template ${W}. Defaulting to "string".`);continue}try{await Y.createFieldDefinition($,K,{store:H,ownerEntityId:W,name:Z,label:T,description:w,primitiveType:O,required:X,multiplicity:"single",isSystem:!1},()=>{})}catch(j){if(j.code==="DUPLICATE_FIELD_DEFINITION"||j.message?.includes("unique"))console.warn(`Field definition "${Z}" already exists for template ${W}. Skipping.`);else console.error(`Failed to create field definition for parameter "${Z}" in template ${W}:`,j)}}}catch(J){let z=typeof q.getObjectId==="function"?q.getObjectId():q.id;console.error(`Template publish hook failed for ${z}:`,J)}},gI6=({fieldService:$})=>{let K={prePublish:{d:null,t:(Y,J,z)=>bI6(Y,J,z,$)},postPublish:{},preDelete:{},postCreate:{}};return Object.freeze({getHook:(Y,J)=>{return K[Y]?.[J]||null}})},qV8=Object.freeze({create:gI6});z4();var Mm=g6(Am(),1),yI6=($={})=>{return Object.freeze({renderTemplate:(Y,J={})=>{if(!Y)throw m.validation("Template content cannot be empty","EMPTY_TEMPLATE");let{body:z}=Y3.parseFrontMatter(Y),W;try{W=Mm.default.compile(z,{noEscape:!0})(J)}catch(H){throw m.validation(`Failed to render template: ${H.message}`,"RENDER_ERROR")}return W},extractTemplateParameters:(Y)=>{if(!Y)return{parameters:{},detectedVariables:[],target:null,targetPath:null};let{parameters:J,target:z,targetPath:W,body:H}=Y3.parseFrontMatter(Y),Z=Y3.extractVariables(H),P=Array.from(Z);return{parameters:J,detectedVariables:P,target:z,targetPath:W}}})},YV8=Object.freeze({create:yI6});import Rj from"node:fs";import JV8 from"node:os";import jk from"node:path";var uI6=({projectStore:$,storeStore:K})=>{return Object.freeze({createProject:async(z,W,{name:H,path:Z},P)=>{if(await $.readProjectByPath(z,W,Z)){let j=new Error("Project with this path already exists");throw j.code="DUPLICATE_PATH",j}let X=await $.createProject(z,W,{name:H,path:Z},P),w=await K.createLocalStore(z,W,{code:"A",name:"Project"},P);await w.createFolder(z,W,{parentId:null,name:"Documents",subtype:"root_d"},P),await w.createFolder(z,W,{parentId:null,name:"Templates",subtype:"root_t"},P),await w.createFolder(z,W,{parentId:null,name:"Stories",subtype:"root_s"},P),await w.createFieldDefinition(z,W,{storeCode:"A",ownerEntityId:null,name:"state",label:"State",description:"Workflow state",primitiveType:"string",required:!1,multiplicity:"single",isSystem:!0},P);let T=await K.readSharedStore(z,W),G=await K.createDemuxStore(z,W,{name:H},P);return await K.addChildToDemux(z,W,{demuxId:G.getObjectId(),childId:w.getObjectId()},P),await K.addChildToDemux(z,W,{demuxId:G.getObjectId(),childId:T.getObjectId()},P),await K.addStoresToProject(z,W,{projectId:X.getObjectId(),rootStoreId:G.getObjectId(),storeIds:[G.getObjectId(),w.getObjectId(),T.getObjectId()]}),X},validateProjectPath:(z)=>{if(!z||typeof z!=="string"){let w=new Error("Path is required and must be a non-empty string");throw w.code="VALIDATION_ERROR",w}let W;if(z==="~")W=JV8.homedir();else if(z.startsWith("~/"))W=jk.join(JV8.homedir(),z.slice(2));else W=z;let H=Rj.existsSync(W),Z=!1,P=!1,O=!1;if(H)try{if(Z=Rj.statSync(W).isDirectory(),Z){let T=jk.join(W,".git");try{P=Rj.statSync(T).isDirectory()}catch{P=!1}let G=jk.join(W,".claude");try{O=Rj.statSync(G).isDirectory()}catch{O=!1}}}catch(w){Z=!1}let X=jk.basename(W);return{path:W,exists:H,isDirectory:Z,hasGit:P,hasClaude:O,suggestedName:X}},listProjects:async(z)=>{let W=await z.selectFrom("projects").selectAll().where("name","!=","__system__").orderBy("created_at","desc").execute();return await Promise.all(W.map(async(Z)=>{let O=(await z.selectFrom("project_stores").innerJoin("stores","stores.id","project_stores.store_id").select(["stores.object_id","stores.code","stores.name","stores.type"]).where("project_stores.project_id","=",Z.id).where("stores.type","=","local").execute()).map((X)=>({id:X.code==="B"?"store:B":`store:${X.code}:${Z.object_id}`,code:X.code,name:X.name}));return{objectId:Z.object_id,name:Z.name,path:Z.path,createdAt:Z.created_at,updatedAt:Z.updated_at,children:O}}))}})},Gk=Object.freeze({create:uI6});var mI6=()=>{let $=[];return{enqueuePostCommitHook:(K)=>{$.push(K)},flush:()=>{for(let K of $)try{K()}catch(q){console.error("Post-commit hook failed:",q)}}}},BI6=({db:$,folderService:K,fieldService:q,documentService:Y,templateService:J,projectService:z,clipboardService:W,storyService:H,assetService:Z})=>{let P=async(z8)=>{let v8=mI6(),C8;return await $.transaction().execute(async(f8)=>{C8=await z8(f8,v8.enqueuePostCommitHook)}),v8.flush(),C8};return Object.freeze({createFolder:async(z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6})=>{return P(async(z1,C1)=>{return await K.createFolder(z1,z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6},C1)})},renameFolder:async(z8,{id:v8,name:C8})=>{return P(async(f8,c8)=>{return await K.renameFolder(f8,z8,{id:v8,name:C8},c8)})},moveFolder:async(z8,{id:v8,parentId:C8})=>{return P(async(f8,c8)=>{return await K.moveFolder(f8,z8,{id:v8,parentId:C8},c8)})},deleteFolder:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await K.deleteFolder(C8,z8,{id:v8},f8)})},createProject:async(z8,{name:v8,path:C8})=>{return P(async(f8,c8)=>{return await z.createProject(f8,z8,{name:v8,path:C8},c8)})},createFieldDefinition:async(z8,{store:v8,ownerEntityId:C8,name:f8,label:c8,description:m8,primitiveType:t8,required:Y6,multiplicity:z1,isSystem:C1})=>{return P(async(R4,C4)=>{return await q.createFieldDefinition(R4,z8,{store:v8,ownerEntityId:C8,name:f8,label:c8,description:m8,primitiveType:t8,required:Y6,multiplicity:z1,isSystem:C1},C4)})},setFieldValue:async(z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8,value:c8,values:m8})=>{return P(async(t8,Y6)=>{return await q.setFieldValue(t8,z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8,value:c8,values:m8},Y6)})},deleteFieldValue:async(z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8})=>{return P(async(c8,m8)=>{return await q.deleteFieldValue(c8,z8,{entityId:v8,fieldDefinitionId:C8,fieldName:f8},m8)})},deleteFieldDefinition:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await q.deleteFieldDefinition(C8,z8,{id:v8},f8)})},createDocument:async(z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6,content:z1,tree:C1})=>{return P(async(R4,C4)=>{return await Y.createDocument(R4,z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,type:Y6,content:z1,tree:C1},C4)})},createTemplate:async(z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,content:Y6})=>{return P(async(z1,C1)=>{return await Y.createTemplate(z1,z8,{mode:v8,store:C8,path:f8,root:c8,parentId:m8,name:t8,content:Y6},C1)})},updateDocumentPath:async(z8,{id:v8,path:C8,parentId:f8,type:c8})=>{return P(async(m8,t8)=>{return await Y.updateDocumentPath(m8,z8,{id:v8,path:C8,parentId:f8,type:c8},t8)})},deleteDocument:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Y.deleteDocument(C8,z8,{id:v8},f8)})},saveDraft:async(z8,{id:v8,content:C8,sessionId:f8})=>{return P(async(c8,m8)=>{return await Y.saveDraft(c8,z8,{id:v8,content:C8,sessionId:f8},m8)})},publishDocument:async(z8,{id:v8,sessionId:C8})=>{return P(async(f8,c8)=>{return await Y.publishDocument(f8,z8,{id:v8,sessionId:C8},c8)})},discardDraft:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Y.discardDraft(C8,z8,{id:v8},f8)})},setEditState:async(z8,{id:v8,sessionId:C8})=>{return P(async(f8,c8)=>{return await Y.setEditState(f8,z8,{id:v8,sessionId:C8},c8)})},clearEditState:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Y.clearEditState(C8,z8,{id:v8},f8)})},editDocument:async(z8,{id:v8,operation:C8,preview:f8,ignoreContent:c8,sessionId:m8})=>{return P(async(t8,Y6)=>{return await Y.editDocument(t8,z8,{id:v8,operation:C8,preview:f8,ignoreContent:c8,sessionId:m8},Y6)})},batchEditDocument:async(z8,{id:v8,operations:C8,preview:f8,ignoreContent:c8,sessionId:m8})=>{return P(async(t8,Y6)=>{return await Y.batchEditDocument(t8,z8,{id:v8,operations:C8,preview:f8,ignoreContent:c8,sessionId:m8},Y6)})},renderTemplate:async(z8,{id:v8,params:C8,target:f8,targetOptions:c8,sessionId:m8})=>{let{entity:t8}=await Y.readDocument($,z8,{id:v8});if(!t8.getPublishedContent())throw(await Promise.resolve().then(() => (z4(),aT))).default.validation("Template has no published content","NO_PUBLISHED_CONTENT");let{target:Y6,targetPath:z1}=J.extractTemplateParameters(t8.getPublishedContent()),C1=f8||Y6||"stdout",R4=c8||{},C4=R4.path||z1,h$=J.renderTemplate(t8.getPublishedContent(),C8||{});switch(C1){case"stdout":return{content:h$,target:"stdout"};case"clipboard":return await W.copyToClipboard(h$),{target:"clipboard",message:"Copied to clipboard"};case"document":return P(async(n,J8)=>{if(!C4)throw(await Promise.resolve().then(() => (z4(),aT))).default.validation("targetOptions.path is required for document target","MISSING_TARGET_PATH");let s=await Y.createDocument(n,z8,{store:"A",path:C4,type:"d",content:h$},J8);if(R4.publish)await Y.publishDocument(n,z8,{id:s.getObjectId(),sessionId:m8},J8);return{content:h$,target:"document",documentId:s.getObjectId(),documentPath:C4,published:!!R4.publish}});case"file":throw(await Promise.resolve().then(() => (z4(),aT))).default.validation("file target not yet implemented","NOT_IMPLEMENTED");default:throw(await Promise.resolve().then(() => (z4(),aT))).default.validation(`Unknown target: ${C1}`,"INVALID_TARGET")}},createStory:async(z8,{name:v8,storeCode:C8,state:f8})=>{return P(async(c8,m8)=>{return await H.createStory(c8,z8,{store:C8,name:v8,state:f8},m8)})},updateStoryState:async(z8,{id:v8,state:C8})=>{return P(async(f8,c8)=>{return await H.updateStoryState(f8,z8,{id:v8,state:C8},c8)})},deleteStory:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await H.deleteStory(C8,z8,{id:v8},f8)})},createStateFolder:async(z8,{storyId:v8,state:C8})=>{return P(async(f8,c8)=>{return await H.createStateFolder(f8,z8,{storyId:v8,state:C8},c8)})},ensureStateFolder:async(z8,{mode:v8,storyId:C8,storyPath:f8,store:c8,state:m8})=>{return P(async(t8,Y6)=>{return await H.ensureStateFolder(t8,z8,{mode:v8,storyId:C8,storyPath:f8,store:c8,state:m8},Y6)})},createAsset:async(z8,{store:v8,buffer:C8,mimeType:f8,originalFilename:c8,widthPx:m8,heightPx:t8,displayWidth:Y6,displayHeight:z1})=>{return P(async(C1,R4)=>{return await Z.createAsset(C1,z8,{store:v8,buffer:C8,mimeType:f8,originalFilename:c8,widthPx:m8,heightPx:t8,displayWidth:Y6,displayHeight:z1},R4)})},deleteAsset:async(z8,{id:v8})=>{return P(async(C8,f8)=>{return await Z.deleteAsset(C8,z8,{id:v8},f8)})}})},_m=Object.freeze({create:BI6});var Tm8=g6(Om8(),1),jm8=g6(a4(),1);z4();import O$ from"fs/promises";import n4 from"path";import{createWriteStream as qY1}from"fs";import YY1 from"crypto";var T9=jm8.default("caw:export"),Xm8=".caw-exports",wm8=".tmp",JY1=1,zY1=({store:$,folderService:K,documentService:q,templateService:Y,assetService:J,assetsDir:z})=>{let W=()=>{let v=new Date,A=v.getFullYear(),R=String(v.getMonth()+1).padStart(2,"0"),k=String(v.getDate()).padStart(2,"0"),f=String(v.getHours()).padStart(2,"0"),D=String(v.getMinutes()).padStart(2,"0"),S=String(v.getSeconds()).padStart(2,"0");return`${A}-${R}-${k}-${f}${D}${S}`},H=async(v)=>{let A=n4.join(v,Xm8),R=n4.join(A,wm8);try{return await O$.mkdir(A,{recursive:!0}),await O$.mkdir(R,{recursive:!0}),A}catch(k){if(k.code==="EACCES")throw m.validation("Permission denied creating export directory","EXPORT_ERROR");if(k.code==="ENOSPC")throw m.validation("Insufficient disk space","EXPORT_ERROR");throw T9("Error creating export directory: [%s] %s",k.code||"UNKNOWN",k.message),m.validation(`Failed to create export directory: ${k.message} (${k.code||"UNKNOWN"})`,"EXPORT_ERROR")}},Z=async(v,A,R,k)=>{let f=[],D=async(S,h)=>{let Q=await K.listFolderContents(v,A,{folderId:S,type:R,storeCode:k});for(let I of Q)if(I.getParentId()!==null)f.push({entity:I,depth:h,contentType:R}),await D(I.getObjectId(),h+1)};return await D(null,0),f},P=async(v,A,R)=>{let k=[],f=[],D=async(S)=>{let h=await q.listDocuments(v,A,{parentId:S,storeCode:R});for(let I of h){let N=I.getPublishedVersionNumber();if(N!==null){let E=await q.readVersion(v,A,{id:I.getObjectId(),versionNumber:N});k.push({entity:I,version:E})}else f.push(I)}let Q=await K.listFolderContents(v,A,{folderId:S,type:"d",storeCode:R});for(let I of Q)await D(I.getObjectId())};return await D(null),{published:k,draftOnly:f}},O=async(v,A,R)=>{let k=[],f=[],D=async(S)=>{let h=await q.listDocuments(v,A,{parentId:S,storeCode:R,type:"t"});for(let I of h){let N=I.getPublishedVersionNumber();if(N!==null){let E=await q.readVersion(v,A,{id:I.getObjectId(),versionNumber:N});k.push({entity:I,version:E})}else f.push(I)}let Q=await K.listFolderContents(v,A,{folderId:S,type:"t",storeCode:R});for(let I of Q)await D(I.getObjectId())};return await D(null),{published:k,draftOnly:f}},X=async(v,A,R)=>{let k=await J.listAssets(v,A,{store:R}),f=[];for(let D of k){let S=D.hash,h=S.substring(0,2),Q=n4.join(z,h,S);try{let I=await O$.readFile(Q);f.push({entity:D,buffer:I})}catch(I){if(I.code==="ENOENT"){T9("Warning: Skipping asset %s - blob file missing",D.id);continue}throw I}}return T9("Collected %d assets for export",f.length),f},w=async(v)=>{try{await O$.rm(v,{recursive:!0,force:!0})}catch(A){T9("Warning: Failed to cleanup temp directory: %s",A.message)}};return Object.freeze({listExports:async(v,A,{projectPath:R})=>{let k=n4.join(R,Xm8);try{let f=await O$.readdir(k),D=[];for(let S of f)if(S.endsWith(".zip")){let h=n4.join(k,S),Q=await O$.stat(h);D.push({filename:S,timestamp:Q.mtime.toISOString(),size:Q.size})}return T9("Found %d export files",D.length),D}catch(f){if(f.code==="ENOENT")return[];throw f}},exportPreview:async(v,A,{storeCode:R})=>{let k=await Z(v,A,"d",R),f=await Z(v,A,"t",R),{published:D,draftOnly:S}=await P(v,A,R),{published:h,draftOnly:Q}=await O(v,A,R),N={assets:(J?await J.listAssets(v,A,{store:R}):[]).map((r)=>({id:r.id,originalFilename:r.originalFilename,mimeType:r.mimeType,sizeBytes:r.sizeBytes})),folders:[...k,...f].map((r)=>({id:r.entity.getObjectId(),path:r.entity.getPath(),name:r.entity.getName()})),documents:D.map((r)=>({id:r.entity.getObjectId(),path:r.entity.getPath(),name:r.entity.getName()})),templates:h.map((r)=>({id:r.entity.getObjectId(),path:r.entity.getPath(),name:r.entity.getName()}))},E={documents:S.map((r)=>({id:r.getObjectId(),path:r.getPath(),name:r.getName()})),templates:Q.map((r)=>({id:r.getObjectId(),path:r.getPath(),name:r.getName()}))},p=N.assets.length+N.folders.length+N.documents.length+N.templates.length,c=E.documents.length+E.templates.length;return T9("Preview: %d published (%d assets), %d draft-only",p,N.assets.length,c),{toExport:N,draftOnly:E}},exportDocuments:async(v,A,{storeCode:R,projectPath:k})=>{T9("Starting export for store %s",R);let f=await H(k),D=YY1.randomUUID(),S=n4.join(f,wm8,D);await O$.mkdir(S,{recursive:!0});try{let h=await Z(v,A,"d",R),Q=await Z(v,A,"t",R),I=[...h,...Q],{published:N,draftOnly:E}=await P(v,A,R),{published:p,draftOnly:c}=await O(v,A,R),r=J?await X(v,A,R):[];T9("Found %d folders, %d documents, %d templates, %d assets",I.length,N.length,p.length,r.length);let P8=[...r.map((z8)=>({id:z8.entity.id,type:"asset",hash:z8.entity.hash,mimeType:z8.entity.mimeType,sizeBytes:z8.entity.sizeBytes,originalFilename:z8.entity.originalFilename,widthPx:z8.entity.widthPx,heightPx:z8.entity.heightPx,displayWidth:z8.entity.displayWidth,displayHeight:z8.entity.displayHeight})),...I.map((z8)=>({id:z8.entity.getObjectId(),type:"folder",path:z8.entity.getPath(),contentType:z8.contentType})),...N.map((z8)=>({id:z8.entity.getObjectId(),type:"document",path:z8.entity.getPath()})),...p.map((z8)=>({id:z8.entity.getObjectId(),type:"template",path:z8.entity.getPath()}))],O8={version:JY1,exportedAt:new Date().toISOString(),entities:P8};await O$.writeFile(n4.join(S,"manifest.json"),JSON.stringify(O8,null,2),"utf-8");for(let z8 of I){if(z8.entity.getParentId()===null)continue;let v8=n4.join(S,z8.entity.getPath());await O$.mkdir(v8,{recursive:!0})}await O$.mkdir(n4.join(S,"Documents"),{recursive:!0}),await O$.mkdir(n4.join(S,"Templates"),{recursive:!0});for(let z8 of N){let v8=n4.join(S,z8.entity.getPath()),C8=z8.version.content;await O$.mkdir(n4.dirname(v8),{recursive:!0}),await O$.writeFile(v8,C8,"utf-8")}for(let z8 of p){let v8=n4.join(S,z8.entity.getPath()),C8=z8.version.content;await O$.mkdir(n4.dirname(v8),{recursive:!0}),await O$.writeFile(v8,C8,"utf-8")}if(r.length>0){let z8=n4.join(S,"assets");await O$.mkdir(z8,{recursive:!0});for(let v8 of r){let C8=v8.entity.id,f8=n4.join(z8,`${C8}.bin`);await O$.writeFile(f8,v8.buffer);let c8=n4.join(z8,`${C8}.json`);await O$.writeFile(c8,JSON.stringify({id:C8,hash:v8.entity.hash,mimeType:v8.entity.mimeType,sizeBytes:v8.entity.sizeBytes,originalFilename:v8.entity.originalFilename,widthPx:v8.entity.widthPx,heightPx:v8.entity.heightPx,displayWidth:v8.entity.displayWidth,displayHeight:v8.entity.displayHeight},null,2),"utf-8")}}for(let z8 of P8){if(z8.type==="folder")continue;let v8;if(z8.type==="asset")v8=n4.join(S,"assets",`${z8.id}.bin`);else if(z8.type==="document"||z8.type==="template")v8=n4.join(S,z8.path);else{T9("Unknown entity type in validation: %s",z8.type);continue}try{await O$.access(v8)}catch(C8){throw m.validation(`Manifest entry missing file: ${z8.id||z8.path}`,"EXPORT_VALIDATION_FAILED")}}let R8=`caw-export-${W()}.zip`,I8=n4.join(f,R8),_8=qY1(I8),g8=Tm8.default("zip",{zlib:{level:9}});g8.on("error",async(z8)=>{throw await w(S),T9("Zip creation error: %s",z8.message),m.validation(`Export failed: ${z8.message}`,"EXPORT_ERROR")}),g8.pipe(_8),g8.directory(S,!1),await g8.finalize(),await new Promise((z8,v8)=>{_8.on("close",z8),_8.on("error",v8),setTimeout(()=>{v8(new Error("Zip creation timeout"))},60000)}),T9("Created zip: %s (%d bytes)",R8,g8.pointer()),await w(S);let d8=P8.length;return T9("Export complete: %s (%d entities)",R8,d8),{success:!0,filename:R8,path:I8,counts:{assets:r.length,folders:I.length,documents:N.length,templates:p.length},draftOnlySkipped:{documents:E.length,templates:c.length}}}catch(h){throw await w(S),h}}})},Gm8=Object.freeze({create:zY1});var rm8=g6(om8(),1),sm8=g6(a4(),1);z4();import kK from"fs/promises";import H5 from"path";import xY1 from"crypto";var j1=sm8.default("caw:import"),Wl=($)=>{if(!$||typeof $!=="string")throw new Error(`Invalid export path: ${$}`);let K={Documents:"d",Templates:"t",Stories:"s"},q=$.indexOf("/");if(q===-1){let z=K[$];if(z)return{path:"",type:z};throw new Error(`Invalid export path: ${$}`)}let Y=$.slice(0,q),J=K[Y];if(!J)throw new Error(`Unknown root folder: ${Y}`);return{path:$.slice(q+1),type:J}},Hl=".caw-exports",am8=".tmp",bY1=1,gY1=/\b([A-Z][adtfns]\d+)\b/g,yY1=({store:$,folderService:K,documentService:q,templateService:Y,assetService:J,assetsDir:z})=>{let W=(w,T)=>{if(!w)return w;return w.replace(gY1,(G,j)=>{return T[j]??G})},H=async(w)=>{try{await kK.rm(w,{recursive:!0,force:!0})}catch(T){j1("Warning: Failed to cleanup temp directory: %s",T.message)}},Z=async(w,T,{storeCode:G})=>{let j=await K.listFolderContents(w,T,{folderId:null,type:"d",storeCode:G}),v=await K.listFolderContents(w,T,{folderId:null,type:"t",storeCode:G}),A=await q.listDocuments(w,T,{parentId:null,storeCode:G,type:"d"}),R=await q.listDocuments(w,T,{parentId:null,storeCode:G,type:"t"}),k=j.length===0&&v.length===0&&A.length===0&&R.length===0;return j1("Store %s empty check: %s",G,k),k},P=async(w,T,{tempPath:G,storeCode:j,idMapping:v,enqueuePostCommitHook:A})=>{let R=H5.join(G,"assets"),k;try{k=await kK.readdir(R)}catch(S){if(S.code==="ENOENT")return j1("No assets directory in export"),0;throw S}let f=k.filter((S)=>S.endsWith(".json"));if(j1("Found %d assets to import",f.length),!J||!z){if(f.length>0)throw m.validation("Export contains assets but asset service is not configured","ASSET_SERVICE_MISSING");return 0}let D=0;for(let S of f){let h=H5.join(R,S),Q=await kK.readFile(h,"utf-8"),I=JSON.parse(Q),N=S.replace(".json",".bin"),E=H5.join(R,N),p=await kK.readFile(E),c=await J.createAsset(w,T,{store:j,buffer:p,mimeType:I.mimeType,originalFilename:I.originalFilename,widthPx:I.widthPx,heightPx:I.heightPx,displayWidth:I.displayWidth,displayHeight:I.displayHeight},A);v[I.id]=c.id,D++}return j1("Imported %d assets",D),D},O=async(w,T,{manifest:G,tempPath:j,storeCode:v})=>{return j1("Starting transaction..."),await w.transaction().execute(async(A)=>{let R={},k=(c)=>{},f=await P(A,T,{tempPath:j,storeCode:v,idMapping:R,enqueuePostCommitHook:k});j1("Phase 0 complete - imported %d assets",f);let D=G.entities.filter((c)=>c.type==="folder");j1("Phase 1: Creating %d folders",D.length);let S=0;for(let c of D){let{path:r,type:P8}=Wl(c.path);if(!r)continue;let O8=await K.createFolder(A,T,{store:v,path:r,type:P8},k);R[c.id]=O8.getObjectId(),S++}j1("Phase 1 complete - created %d folders (skipped root folders)",S);let h=G.entities.filter((c)=>c.type==="document"),Q=[];j1("Phase 2: Reading %d documents",h.length);for(let c of h){let r=H5.join(j,c.path),P8=await kK.readFile(r,"utf-8");Q.push({oldId:c.id,path:c.path,content:P8})}j1("Phase 2 complete - read %d documents",Q.length),j1("Phase 3: Creating %d document entities",Q.length);let I=[];for(let c of Q){let{path:r,type:P8}=Wl(c.path),O8=await q.createDocument(A,T,{store:v,path:r,type:P8},k);R[c.oldId]=O8.getObjectId(),I.push({document:O8,originalContent:c.content})}j1("Phase 3 complete - created %d document entities",I.length);let N=G.entities.filter((c)=>c.type==="template"),E=[];j1("Phase 4: Reading %d templates",N.length);for(let c of N){let r=H5.join(j,c.path),P8=await kK.readFile(r,"utf-8");E.push({oldId:c.id,path:c.path,content:P8})}j1("Phase 4 complete - read %d templates",E.length),j1("Phase 5: Creating %d template entities",E.length);let p=[];for(let c of E){let{path:r,type:P8}=Wl(c.path),O8=await q.createDocument(A,T,{store:v,path:r,type:P8},k);R[c.oldId]=O8.getObjectId(),p.push({template:O8,originalContent:c.content})}j1("Phase 5 complete - created %d template entities",p.length),j1("Phase 6: Remapping and saving content for %d documents",I.length);for(let{document:c,originalContent:r}of I){let P8=W(r,R);await q.saveDraft(A,T,{id:c.getObjectId(),content:P8,sessionId:"import-service"},k),await q.publishDocument(A,T,{id:c.getObjectId()},k)}j1("Phase 6 complete - saved and published %d documents",I.length),j1("Phase 7: Remapping and saving content for %d templates",p.length);for(let{template:c,originalContent:r}of p){let P8=W(r,R);await q.saveDraft(A,T,{id:c.getObjectId(),content:P8,sessionId:"import-service"},k),await q.publishDocument(A,T,{id:c.getObjectId()},k)}return j1("Phase 7 complete - saved and published %d templates",p.length),j1("Transaction committed successfully"),{success:!0,counts:{assets:f,folders:S,documents:I.length,templates:p.length},remapped:R}})};return Object.freeze({isStoreEmpty:Z,importDocuments:async(w,T,{filename:G,storeCode:j,projectPath:v})=>{j1("Starting import from %s to store %s",G,j);let A=H5.join(v,Hl,G);try{await kK.access(A),j1("Zip file found: %s",A)}catch(S){throw m.notFound(`Export file not found: ${G}`,"EXPORT_NOT_FOUND")}j1("Validating zip and manifest...");let R=await Z(w,T,{storeCode:j});if(!R)throw m.conflict("Store not empty - import requires empty store","STORE_NOT_EMPTY");j1("Store empty check: %s",R);let k=xY1.randomUUID(),f=H5.join(v,Hl,am8,k),D=H5.join(v,Hl,am8);await kK.mkdir(D,{recursive:!0});try{new rm8.default(A).extractAllTo(f,!0),j1("Extracted zip to: %s",f)}catch(S){throw m.validation("Corrupted or invalid zip file","IMPORT_VALIDATION_FAILED")}try{let S=H5.join(f,"manifest.json"),h;try{let N=await kK.readFile(S,"utf-8");h=JSON.parse(N)}catch(N){throw m.validation(`Failed to read manifest: ${N.message}`,"MANIFEST_READ_FAILED")}if(h.version!==bY1)throw m.validation(`Unsupported manifest version: ${h.version}`,"UNSUPPORTED_VERSION");if(!h.entities||!Array.isArray(h.entities))throw m.validation("Invalid manifest structure","MANIFEST_READ_FAILED");j1("Manifest valid: version=%d, entities=%d",h.version,h.entities.length);for(let N of h.entities){if(N.type==="folder")continue;let E;if(N.type==="asset")E=H5.join(f,"assets",`${N.id}.bin`);else if(N.type==="document"||N.type==="template")E=H5.join(f,N.path);else{j1("Unknown entity type in import validation: %s",N.type);continue}try{await kK.access(E)}catch(p){throw m.validation(`Missing file for manifest entry: ${N.path||N.id}`,"IMPORT_VALIDATION_FAILED")}}j1("All content files validated");let Q=await O(w,T,{manifest:h,tempPath:f,storeCode:j}),I=Q.counts.folders+Q.counts.documents+Q.counts.templates;return j1("Import complete: %d entities imported",I),Q}finally{await H(f)}}})},tm8=Object.freeze({create:yY1});var uY1=($)=>{let{name:K,interval:q,execute:Y}=$,J=null,z=!1,W=null,H=null,Z=0,P=null,A=Object.freeze({getName:()=>K,getInterval:()=>q,getIsRunning:()=>z,getLastRun:()=>W,getLastError:()=>H,getRunCount:()=>Z,getNextRun:()=>P}),R=async()=>{try{await Y(),W=new Date().toISOString(),H=null,Z++}catch(h){console.error(`[CronJob] ${K} failed:`,h),H={message:h.message,timestamp:new Date().toISOString()}}if(z)P=new Date(Date.now()+q).toISOString()},k=()=>{if(J!==null)return;J=setInterval(R,q),z=!0,P=new Date(Date.now()+q).toISOString()},f=()=>{if(J===null)return;clearInterval(J),J=null,z=!1,P=null},S=Object.freeze({start:k,stop:f,restart:()=>{f(),k()}});return{jobFns:A,controlFns:S}},UR=Object.freeze({create:uY1});var em8=g6(a4(),1),mY1=em8.default("caw:cron:cleanup-edit-states"),$B8=async($)=>{let K=new Date(Date.now()-lY).toISOString();try{let q=await $.deleteFrom("document_edit_state").where("last_activity_at","<",K).execute(),Y=Number(q[0]?.numDeletedRows??0);if(Y>0)mY1("Cleaned up %d expired edit locks (older than %d minutes)",Y,lY/60000);return{expired:Y}}catch(q){throw console.error("[Cleanup] Failed to cleanup expired edit locks:",q),q}};var BY1=({db:$})=>{let{jobFns:K,controlFns:q}=UR.create({name:"cleanup-stale-edit-states",interval:900000,execute:async()=>{await $B8($)}});return{job:Object.freeze(K),control:q}},KB8=Object.freeze({create:BY1});var UY1=({db:$})=>{let K=new Map,q=(P,O)=>{let{job:X,control:w}=P.create(O);K.set(X.getName(),{job:X,control:w})},Y=(P)=>{let O=K.get(P);if(!O)throw new Error(`Job not found: ${P}`);let X=O.job.getIsRunning();return O.control.start(),{name:P,status:X?"already-running":"started",isRunning:O.job.getIsRunning()}},J=(P)=>{let O=K.get(P);if(!O)throw new Error(`Job not found: ${P}`);let X=O.job.getIsRunning();return O.control.stop(),{name:P,status:X?"stopped":"already-stopped",isRunning:O.job.getIsRunning()}},z=(P)=>{let O=K.get(P);if(!O)throw new Error(`Job not found: ${P}`);return O.control.restart(),{name:P,status:"restarted",isRunning:O.job.getIsRunning()}},W=()=>{let P=[];for(let[O,{job:X}]of K.entries())P.push({name:X.getName(),interval:X.getInterval(),isRunning:X.getIsRunning(),lastRun:X.getLastRun(),lastError:X.getLastError(),runCount:X.getRunCount(),nextRun:X.getNextRun()});return P},H=()=>{for(let[P,{control:O}]of K.entries())O.start()},Z=()=>{for(let[P,{control:O}]of K.entries())O.stop()};return q(KB8,{db:$}),Object.freeze({register:q,start:Y,stop:J,restart:z,list:W,startAll:H,stopAll:Z})},qB8=Object.freeze({create:UY1});import mQ8 from"node:process";import zB8 from"node:process";import lY1 from"node:os";import dY1 from"node:fs";import FY1 from"node:fs";import YB8 from"node:fs";var Zl;function cY1(){try{return YB8.statSync("/.dockerenv"),!0}catch{return!1}}function pY1(){try{return YB8.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Pl(){if(Zl===void 0)Zl=cY1()||pY1();return Zl}var Ol,QY1=()=>{try{return FY1.statSync("/run/.containerenv"),!0}catch{return!1}};function cR(){if(Ol===void 0)Ol=QY1()||Pl();return Ol}var JB8=()=>{if(zB8.platform!=="linux")return!1;if(lY1.release().toLowerCase().includes("microsoft")){if(cR())return!1;return!0}try{return dY1.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!cR():!1}catch{return!1}},WB8=zB8.env.__IS_WSL_TEST__?JB8:JB8();import Xl from"node:process";function wl(){if(Xl.platform!=="linux")return!1;if(Xl.env.WAYLAND_DISPLAY)return!0;if(Xl.env.XDG_SESSION_TYPE==="wayland")return!0;return!1}function U4($){if(typeof $!=="object"||$===null)return!1;let K=Object.getPrototypeOf($);return(K===null||K===Object.prototype||Object.getPrototypeOf(K)===null)&&!(Symbol.toStringTag in $)&&!(Symbol.iterator in $)}import{fileURLToPath as iY1}from"node:url";var GO=($,K)=>{let q=jl(nY1($));if(typeof q!=="string")throw new TypeError(`${K} must be a string or a file URL: ${q}.`);return q},nY1=($)=>Tl($)?$.toString():$,Tl=($)=>typeof $!=="string"&&$&&Object.getPrototypeOf($)===String.prototype,jl=($)=>$ instanceof URL?iY1($):$;var pR=($,K=[],q={})=>{let Y=GO($,"First argument"),[J,z]=U4(K)?[[],K]:[K,q];if(!Array.isArray(J))throw new TypeError(`Second argument must be either an array of arguments or an options object: ${J}`);if(J.some((Z)=>typeof Z==="object"&&Z!==null))throw new TypeError(`Second argument must be an array of strings: ${J}`);let W=J.map(String),H=W.find((Z)=>Z.includes("\x00"));if(H!==void 0)throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${H}`);if(!U4(z))throw new TypeError(`Last argument must be an options object: ${z}`);return[Y,W,z]};import{ChildProcess as $J1}from"node:child_process";import{StringDecoder as oY1}from"node:string_decoder";var{toString:HB8}=Object.prototype,ZB8=($)=>HB8.call($)==="[object ArrayBuffer]",w$=($)=>HB8.call($)==="[object Uint8Array]",Iq=($)=>new Uint8Array($.buffer,$.byteOffset,$.byteLength),aY1=new TextEncoder,PB8=($)=>aY1.encode($),rY1=new TextDecoder,FR=($)=>rY1.decode($),OB8=($,K)=>{return sY1($,K).join("")},sY1=($,K)=>{if(K==="utf8"&&$.every((z)=>typeof z==="string"))return $;let q=new oY1(K),Y=$.map((z)=>typeof z==="string"?PB8(z):z).map((z)=>q.write(z)),J=q.end();return J===""?Y:[...Y,J]},zv=($)=>{if($.length===1&&w$($[0]))return $[0];return Gl(tY1($))},tY1=($)=>$.map((K)=>typeof K==="string"?PB8(K):K),Gl=($)=>{let K=new Uint8Array(eY1($)),q=0;for(let Y of $)K.set(Y,q),q+=Y.length;return K},eY1=($)=>{let K=0;for(let q of $)K+=q.length;return K};var jB8=($)=>Array.isArray($)&&Array.isArray($.raw),GB8=($,K)=>{let q=[];for(let[z,W]of $.entries())q=KJ1({templates:$,expressions:K,tokens:q,index:z,template:W});if(q.length===0)throw new TypeError("Template script must not be empty");let[Y,...J]=q;return[Y,J,{}]},KJ1=({templates:$,expressions:K,tokens:q,index:Y,template:J})=>{if(J===void 0)throw new TypeError(`Invalid backslash sequence: ${$.raw[Y]}`);let{nextTokens:z,leadingWhitespaces:W,trailingWhitespaces:H}=qJ1(J,$.raw[Y]),Z=wB8(q,z,W);if(Y===K.length)return Z;let P=K[Y],O=Array.isArray(P)?P.map((X)=>TB8(X)):[TB8(P)];return wB8(Z,O,H)},qJ1=($,K)=>{if(K.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let q=[],Y=0,J=XB8.has(K[0]);for(let W=0,H=0;W<$.length;W+=1,H+=1){let Z=K[H];if(XB8.has(Z)){if(Y!==W)q.push($.slice(Y,W));Y=W+1}else if(Z==="\\"){let P=K[H+1];if(P===`
|
|
492
492
|
`)W-=1,H+=1;else if(P==="u"&&K[H+2]==="{")H=K.indexOf("}",H+3);else H+=YJ1[P]??1}}let z=Y===$.length;if(!z)q.push($.slice(Y));return{nextTokens:q,leadingWhitespaces:J,trailingWhitespaces:z}},XB8=new Set([" ","\t","\r",`
|
|
493
493
|
`]),YJ1={x:3,u:5},wB8=($,K,q)=>q||$.length===0||K.length===0?[...$,...K]:[...$.slice(0,-1),`${$.at(-1)}${K[0]}`,...K.slice(1)],TB8=($)=>{let K=typeof $;if(K==="string")return $;if(K==="number")return String($);if(U4($)&&(("stdout"in $)||("isMaxBuffer"in $)))return JJ1($);if($ instanceof $J1||Object.prototype.toString.call($)==="[object Promise]")throw new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");throw new TypeError(`Unexpected "${K}" in template expression`)},JJ1=({stdout:$})=>{if(typeof $==="string")return $;if(w$($))return FR($);if($===void 0)throw new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`);throw new TypeError(`Unexpected "${typeof $}" stdout in template expression`)};import{spawnSync as wZ1}from"node:child_process";import{debuglog as zJ1}from"node:util";import vl from"node:process";var Z5=($)=>QR.includes($),QR=[vl.stdin,vl.stdout,vl.stderr],j9=["stdin","stdout","stderr"],lR=($)=>j9[$]??`stdio[${$}]`;var VB8=($)=>{let K={...$};for(let q of Ml)K[q]=Vl($,q);return K},Vl=($,K)=>{let q=Array.from({length:WJ1($)+1}),Y=HJ1($[K],q,K);return wJ1(Y,K)},WJ1=({stdio:$})=>Array.isArray($)?Math.max($.length,j9.length):j9.length,HJ1=($,K,q)=>U4($)?ZJ1($,K,q):K.fill($),ZJ1=($,K,q)=>{for(let Y of Object.keys($).sort(PJ1))for(let J of OJ1(Y,q,K))K[J]=$[Y];return K},PJ1=($,K)=>vB8($)<vB8(K)?1:-1,vB8=($)=>{if($==="stdout"||$==="stderr")return 0;return $==="all"?2:1},OJ1=($,K,q)=>{if($==="ipc")return[q.length-1];let Y=Al($);if(Y===void 0||Y===0)throw new TypeError(`"${K}.${$}" is invalid.
|
|
494
494
|
It must be "${K}.stdout", "${K}.stderr", "${K}.all", "${K}.ipc", or "${K}.fd3", "${K}.fd4" (and so on).`);if(Y>=q.length)throw new TypeError(`"${K}.${$}" is invalid: that file descriptor does not exist.
|
|
@@ -550,7 +550,7 @@ try {
|
|
|
550
550
|
Write-Error "Failed to get clipboard: $($_.Exception.Message)"
|
|
551
551
|
exit 1
|
|
552
552
|
}
|
|
553
|
-
`.trim(),gQ8=async($,K)=>{try{return await $()}catch{return K()}},yQ8=($,K)=>{try{return $()}catch{return K()}},yO1={copy:async($)=>gQ8(async()=>P7(KD,qD(xQ8),$),async()=>P7($D,["--copy"],$)),async paste($){let{stdout:K}=await gQ8(async()=>P7(KD,qD(bQ8),$),async()=>P7($D,["--paste"],$));return K},copySync:($)=>yQ8(()=>O7(KD,qD(xQ8),$),()=>O7($D,["--copy"],$)),pasteSync:($)=>yQ8(()=>O7(KD,qD(bQ8),$),()=>O7($D,["--paste"],$)).stdout},pd=yO1;var YD=(()=>{switch(mQ8.platform){case"darwin":return SQ8;case"win32":return pd;case"android":{if(mQ8.env.TERMUX_VERSION===void 0)throw new Error("You need to install Termux for this module to work on Android: https://termux.com");return vQ8}default:{if(WB8)return pd;if(wl())return EQ8;return jW}}})(),uO1={async write($){if(typeof $!=="string")throw new TypeError(`Expected a string, got ${typeof $}`);await YD.copy({input:$})},async read(){return YD.paste({stripFinalNewline:!1})},writeSync($){if(typeof $!=="string")throw new TypeError(`Expected a string, got ${typeof $}`);YD.copySync({input:$})},readSync(){return YD.pasteSync({stripFinalNewline:!1})}},BQ8=uO1;var mO1=()=>{return Object.freeze({copyToClipboard:async(K)=>{try{await BQ8.write(K)}catch(q){throw new Error(`Failed to copy to clipboard: ${q.message}`)}}})},UQ8=Object.freeze({create:mO1});z4();var BO1=Object.freeze({PREP:"prep",SPEC:"spec",DESIGN:"design",PLAN:"plan",BUILD:"build",RETRO:"retro",IMPROVE:"improve",DONE:"done"}),LO=Object.freeze(["prep","spec","design","plan","build","retro","improve","done"]),cQ8=Object.freeze({plan:"build",retro:"improve"}),UO1=Object.freeze(new Set(LO)),kv=($)=>UO1.has($),pQ8=BO1.PREP;var cO1=({store:$,fieldService:K})=>{let q=(T,G,j)=>({...T.toJSON(),state:G,storeCode:j}),Y=(T,G,j)=>({id:T.getObjectId(),name:T.getName(),state:G,storeCode:j,path:T.getPath(),createdAt:T.getCreatedAt(),updatedAt:T.getUpdatedAt()}),J=async(T,G,{storyId:j,storeCode:v})=>{let A=await $.listStateFolders(T,G,{storyId:j}),R=[];for(let k of A){let D=k.getFields().state;l.factory(!D,m.validation,`State-folder ${k.getObjectId()} missing required state field`,"MISSING_STATE_FIELD");let S=D.getValue();R.push(Y(k,S,v))}return R.sort((k,f)=>{let D=LO.indexOf(k.state),S=LO.indexOf(f.state),h=D>=0?D:999,Q=S>=0?S:999;return h-Q})},z=async(T,G,{store:j,name:v,state:A=pQ8},R)=>{l.factory(!j,m.validation,"Store is required","MISSING_STORE_CODE"),l.factory(!v||!v.trim(),m.validation,"Story name is required","MISSING_NAME"),l.factory(!kv(A),m.validation,`Invalid state: ${A}`,"INVALID_STATE");let k=await $.readStoryRootFolder(T,G,{storeCode:j});l.factory(!k,m.notFound,"Story root folder not found","STORY_ROOT_NOT_FOUND");let f=await $.isDuplicateNameInParent(T,G,k.getObjectId(),v.trim());l.factory(f,m.conflict,`Story "${v.trim()}" already exists`,"DUPLICATE_NAME");let D=await $.createStory(T,G,{storeCode:j,parentId:k.getObjectId(),name:v.trim(),state:A},R);await K.setFieldValue(T,G,{entityId:D.getObjectId(),fieldName:"state",value:A},R);let S=await O(T,G,{storyId:D.getObjectId(),state:A},R),h=q(D,A,j);if(h.stateFolders=[S.stateFolder],S.autoCreated)h.stateFolders.push(S.autoCreated);return h},W=async(T,G,{store:j})=>{l.factory(!j,m.validation,"Store is required","MISSING_STORE_CODE");let v=await $.listStories(T,G,{storeCode:j}),A=[];for(let R of v){let f=R.getFields().state;l.factory(!f,m.validation,`Story ${R.getObjectId()} missing required state field`,"MISSING_STATE_FIELD"),A.push(q(R,f.getValue(),j))}return A},H=async(T,G,{id:j})=>{l.factory(!j,m.validation,"ID is required","MISSING_ID");let v=W4.extractStoreCode(j),A=await $.readStory(T,G,{id:j});l.factory(!A,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let k=A.getFields().state;l.factory(!k,m.validation,`Story ${j} missing required state field`,"MISSING_STATE_FIELD");let f=await J(T,G,{storyId:j,storeCode:v});return{...q(A,k.getValue(),v),stateFolders:f}},Z=async(T,G,{id:j,state:v},A)=>{l.factory(!j,m.validation,"ID is required","MISSING_ID"),l.factory(!v,m.validation,"State is required","MISSING_STATE"),l.factory(!kv(v),m.validation,`Invalid state: ${v}`,"INVALID_STATE");let R=W4.extractStoreCode(j),k=await $.readStory(T,G,{id:j});l.factory(!k,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let D=k.getFields().state;l.factory(!D,m.validation,`Story ${j} missing required state field`,"MISSING_STATE_FIELD");let S=D.getValue();return await K.setFieldValue(T,G,{entityId:j,fieldName:"state",value:v},A),A(()=>{$.emitStoryStateChanged({id:j,oldState:S,newState:v})}),q(k,v,R)},P=async(T,G,{id:j},v)=>{l.factory(!j,m.validation,"ID is required","MISSING_ID");let A=W4.extractStoreCode(j),R=await $.readStory(T,G,{id:j});return l.factory(!R,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND"),{...await $.deleteStory(T,G,{id:j},v),storeCode:A}},O=async(T,G,{storyId:j,state:v},A)=>{l.factory(!j,m.validation,"Story ID is required","MISSING_STORY_ID"),l.factory(!v,m.validation,"State is required","MISSING_STATE"),l.factory(!kv(v),m.validation,`Invalid state: ${v}`,"INVALID_STATE");let R=W4.extractStoreCode(j),k=await $.readStory(T,G,{id:j});l.factory(!k,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let f=await $.findStateFolderByState(T,G,{storyId:j,state:v}),D,S=!1;if(f)D=f;else{let I=v.charAt(0).toUpperCase()+v.slice(1);D=await $.createFolder(T,G,{storeCode:R,parentId:j,name:I,subtype:"state_folder"},A),S=!0,await K.setFieldValue(T,G,{entityId:D.getObjectId(),fieldName:"state",value:v},A)}let h=null,Q=cQ8[v];if(Q){if(!await $.findStateFolderByState(T,G,{storyId:j,state:Q})){let N=Q.charAt(0).toUpperCase()+Q.slice(1),E=await $.createFolder(T,G,{storeCode:R,parentId:j,name:N,subtype:"state_folder"},A);await K.setFieldValue(T,G,{entityId:E.getObjectId(),fieldName:"state",value:Q},A),h=Y(E,Q,R)}}return{stateFolder:Y(D,v,R),created:S,autoCreated:h}};return Object.freeze({createStory:z,listStories:W,getStory:H,updateStoryState:Z,deleteStory:P,createStateFolder:O,ensureStateFolder:async(T,G,j,v)=>{let{mode:A,storyId:R,storyPath:k,store:f,state:D}=j;l.factory(!A,m.validation,"Mode is required","MISSING_MODE"),l.factory(!["storyId","storyPath"].includes(A),m.validation,`Invalid mode: ${A}`,"INVALID_MODE"),l.factory(!D,m.validation,"State is required","MISSING_STATE"),l.factory(!kv(D),m.validation,`Invalid state: ${D}`,"INVALID_STATE");let S,h;if(A==="storyId")l.factory(!R,m.validation,"storyId is required for storyId mode","MISSING_STORY_ID"),h=W4.extractStoreCode(R),S=await $.readStory(T,G,{id:R});else l.factory(!k,m.validation,"storyPath is required for storyPath mode","MISSING_STORY_PATH"),l.factory(!f,m.validation,"store is required for storyPath mode","MISSING_STORE_CODE"),h=f,S=(await $.listStories(T,G,{storeCode:h})).find((I)=>I.getName()===k);return l.factory(!S,m.notFound,"Story not found","STORY_NOT_FOUND"),await O(T,G,{storyId:S.getObjectId(),state:D},v)},listStateFolders:async(T,G,{storyId:j})=>{l.factory(!j,m.validation,"Story ID is required","MISSING_STORY_ID");let v=W4.extractStoreCode(j),A=await $.readStory(T,G,{id:j});l.factory(!A,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let R=await $.listStateFolders(T,G,{storyId:j}),k=[];for(let f of R){let S=f.getFields().state;l.factory(!S,m.validation,`State-folder ${f.getObjectId()} missing required state field`,"MISSING_STATE_FIELD");let h=S.getValue();k.push(Y(f,h,v))}return k.sort((f,D)=>{let S=LO.indexOf(f.state),h=LO.indexOf(D.state),Q=S>=0?S:999,I=h>=0?h:999;return Q-I})}})},FQ8=Object.freeze({create:cO1});z4();import{createHash as pO1}from"crypto";import{promises as IO}from"fs";import QQ8 from"path";var FO1=10485760,lQ8=Object.freeze(["image/png","image/jpeg","image/gif","image/webp"]),QO1=({assetsDir:$})=>{let K=(Z)=>{return pO1("sha256").update(Z).digest("hex")},q=(Z)=>{let P=Z.substring(0,2);return QQ8.join($,P,Z)};return Object.freeze({computeHash:K,getAssetPath:q,exists:async(Z)=>{try{return await IO.access(q(Z)),!0}catch{return!1}},write:async(Z,P)=>{let O=q(Z),X=QQ8.dirname(O),w=O+".tmp";await IO.mkdir(X,{recursive:!0}),await IO.writeFile(w,P),await IO.rename(w,O)},read:async(Z)=>{let P=q(Z);return IO.readFile(P)},remove:async(Z)=>{let P=q(Z);try{await IO.unlink(P)}catch(O){if(O.code!=="ENOENT")throw O}},isAllowedMimeType:(Z)=>{return lQ8.includes(Z)},MAX_SIZE_BYTES:FO1,ALLOWED_MIME_TYPES:lQ8,assetsDir:$})},dQ8=Object.freeze({create:QO1});var lO1=({store:$,assetsDir:K})=>{let q=dQ8.create({assetsDir:K});return Object.freeze({createAsset:async(Z,P,{store:O,buffer:X,mimeType:w,originalFilename:T,widthPx:G,heightPx:j,displayWidth:v,displayHeight:A},R)=>{l.factory(!O,m.validation,"Store is required","MISSING_STORE_CODE"),l.factory(!X,m.validation,"Binary data is required","MISSING_DATA"),l.factory(!w,m.validation,"MIME type is required","MISSING_MIME_TYPE"),l.factory(!q.isAllowedMimeType(w),m.validation,`Unsupported MIME type: ${w}. Allowed: ${q.ALLOWED_MIME_TYPES.join(", ")}`,"UNSUPPORTED_MIME_TYPE");let k=X.length;l.factory(k>q.MAX_SIZE_BYTES,m.validation,`File too large: ${k} bytes. Maximum: ${q.MAX_SIZE_BYTES} bytes (10MB)`,"FILE_TOO_LARGE");let f=q.computeHash(X);if(!await q.exists(f))await q.write(f,X);return{...(await $.createAsset(Z,P,{storeCode:O,hash:f,mimeType:w,sizeBytes:k,originalFilename:T,widthPx:G,heightPx:j,displayWidth:v,displayHeight:A},R)).toJSON(),storeCode:O}},readAsset:async(Z,P,{id:O})=>{l.factory(!O,m.validation,"ID is required","MISSING_ID");let X=await $.readAsset(Z,P,{id:O});l.factory(!X,m.notFound,`Asset not found: ${O}`,"ASSET_NOT_FOUND");let w=W4.extractStoreCode(O);return{...X.toJSON(),storeCode:w}},readAssetBinary:async(Z,P,{id:O})=>{l.factory(!O,m.validation,"ID is required","MISSING_ID");let X=await $.readAsset(Z,P,{id:O});l.factory(!X,m.notFound,`Asset not found: ${O}`,"ASSET_NOT_FOUND");let w=X.getHash(),T;try{T=await q.read(w)}catch(G){if(G.code==="ENOENT")throw m.notFound(`Blob file not found for asset: ${O}`,"BLOB_NOT_FOUND");throw G}return{buffer:T,mimeType:X.getMimeType(),sizeBytes:X.getSizeBytes(),hash:w,originalFilename:X.getOriginalFilename()}},listAssets:async(Z,P,{store:O})=>{return l.factory(!O,m.validation,"Store is required","MISSING_STORE_CODE"),(await $.listAssets(Z,P,{storeCode:O})).map((w)=>({...w.toJSON(),storeCode:O}))},deleteAsset:async(Z,P,{id:O},X)=>{l.factory(!O,m.validation,"ID is required","MISSING_ID");let w=await $.readAsset(Z,P,{id:O});l.factory(!w,m.notFound,`Asset not found: ${O}`,"ASSET_NOT_FOUND");let T=W4.extractStoreCode(O);return{...await $.deleteAsset(Z,P,{id:O},X),storeCode:T}}})},iQ8=Object.freeze({create:lO1});var uq=nQ8.default("caw:core"),dO1=async({databaseFilepath:$,assetsDir:K,lazilyCreateDb:q,kyselyFactory:Y},J)=>{let W=await fO8.create({kyselyFactory:Y}).getDb($,q),H=CO8.create(),Z=QO8.create(),P=qB8.create({db:W}),O=UQ8.create(),X=new Map,w=async(b)=>{if(!b||!/^P\d+$/.test(b))l.factory(!0,m.notFound,`Project not found: ${b}`,"PROJECT_NOT_FOUND");let y=parseInt(b.slice(1),10);l.factory(y<1||y>Number.MAX_SAFE_INTEGER,m.notFound,`Project not found: ${b}`,"PROJECT_NOT_FOUND");let u=await H.readProjectByObjectId(W,null,b);return l.factory(!u,m.notFound,`Project not found: ${b}`,"PROJECT_NOT_FOUND"),{projCtx:u.getObjectId(),projectPath:u.getPath(),authCtx:null}},T=async(b)=>{let y=X.get(b);if(y)return y;let u=await Z.readRootStoreForProject(W,{},b),F=lO8.create({store:u}),K8=dO8.create({store:u}),T8=qV8.create({fieldService:K8}),k8=ST8.create({store:u,folderService:F,documentHooks:T8}),u8=YV8.create(),U8=FQ8.create({store:u,fieldService:K8}),l8=iQ8.create({store:u,assetsDir:K}),O6=_m.create({db:W,folderService:F,fieldService:K8,documentService:k8,templateService:u8,projectService:null,clipboardService:O,storyService:U8,assetService:l8}),b6=Gm8.create({store:u,folderService:F,documentService:k8,templateService:u8,assetService:l8,assetsDir:K}),$4=tm8.create({store:u,folderService:F,documentService:k8,templateService:u8,assetService:l8,assetsDir:K}),j7={folderService:F,fieldService:K8,documentService:k8,templateService:u8,transactionService:O6,exportService:b6,importService:$4,rootStore:u,storyService:U8,assetService:l8};return X.set(b,j7),j7},G=async()=>{return await Gk.create({projectStore:H,storeStore:Z}).listProjects(W)},j=async(b)=>{if(!b||!/^P\d+$/.test(b))return null;let y=parseInt(b.slice(1),10);if(y<1||y>Number.MAX_SAFE_INTEGER)return null;return await H.readProjectByObjectId(W,null,b)},v=async(b,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8})=>{let U8=await w(b),{transactionService:l8}=await T(U8.projCtx);return await l8.createFolder(U8,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8})},A=async(b,{id:y,name:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.renameFolder(F,{id:y,name:u})},R=async(b,{id:y,parentId:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.moveFolder(F,{id:y,parentId:u})},k=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteFolder(u,{id:y})},f=async(b,{id:y})=>{let u=await w(b),{folderService:F}=await T(u.projCtx);return await F.readFolder(W,u,{id:y})},D=async(b,{store:y,path:u,type:F})=>{let K8=await w(b),{folderService:T8}=await T(K8.projCtx);return await T8.getFolderByPath(W,K8,{path:u,type:F,storeCode:y})},S=async(b,{folderId:y,store:u,type:F})=>{let K8=await w(b);uq("listFolderContents: Listing contents for project %s: folderId=%s, store=%s, type=%s",K8.projCtx,y||"root",u,F);let{folderService:T8,documentService:k8,rootStore:u8}=await T(K8.projCtx),U8=F;if(y&&!F)U8=await h(W,u8,K8,y,u),uq("listFolderContents: Inferred type %s from folder %s",U8,y);let l8=await T8.listFolderContents(W,K8,{folderId:y,storeCode:u,type:U8}),O6=y;if((y===null||y===void 0)&&(U8==="d"||U8==="t"))O6=(await u8.readRootFolderForType(W,K8,U8,u)).getObjectId(),uq("listFolderContents: Resolved root folder for type %s: %s",U8,O6);uq("listFolderContents: Querying content with parentId=%s, store=%s, type=%s",O6,u,U8);let b6=await k8.listDocuments(W,K8,{parentId:O6,storeCode:u,type:U8});return uq("listFolderContents: Found %d folders, %d documents",l8?.length||0,b6?.length||0),{folders:l8,documents:b6}},h=async(b,y,u,F,K8)=>{let T8=await y.readFolder(b,u,{id:F});if(!T8)return null;let k8=await b.selectFrom("entities").innerJoin("entity_types","entities.entity_type_id","entity_types.id").select(["entity_types.code as entity_type_code","entity_types.subtype as entity_type_subtype"]).where("entities.object_id","=",F).executeTakeFirst();if(k8?.entity_type_code==="f"&&k8?.entity_type_subtype==="root_d")return"d";if(k8?.entity_type_code==="f"&&k8?.entity_type_subtype==="root_t")return"t";if(k8?.entity_type_code==="f"&&(k8?.entity_type_subtype==="root_s"||k8?.entity_type_subtype==="state_folder"))return"d";let u8=await y.readRootFolderForType(b,u,"d",K8),U8=await y.readRootFolderForType(b,u,"t",K8),l8=T8;while(l8&&l8.getParentId()!==null){let O6=await y.readFolder(b,u,{id:l8.getParentId()});if(!O6)break;l8=O6}if(l8&&l8.getObjectId()===u8?.getObjectId())return"d";else if(l8&&l8.getObjectId()===U8?.getObjectId())return"t";return null},Q=async(b)=>{let y=await w(b),{rootStore:u}=await T(y.projCtx);return u},I=async({name:b,path:y})=>{let u=Gk.create({projectStore:H,storeStore:Z}),F=_m.create({db:W,folderService:null,projectService:u}),K8={};return await F.createProject(K8,{name:b,path:y})},N=(b)=>{return Gk.create({projectStore:H,storeStore:Z}).validateProjectPath(b)},E=(b)=>{X.delete(b)},p=async(b,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8,content:U8,tree:l8})=>{let O6=await w(b);uq("createDocument: Creating document in project %s: mode=%s, path=%s, store=%s, type=%s",O6.projCtx,y,F,u,u8);let{transactionService:b6}=await T(O6.projCtx),$4=await b6.createDocument(O6,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8,content:U8,tree:l8});return uq("createDocument: Document created: id=%s, path=%s",$4.getObjectId(),$4.getPath()),$4},c=async(b,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,content:u8})=>{let U8=await w(b);uq("createTemplate: Creating template in project %s: mode=%s, path=%s, store=%s",U8.projCtx,y,F,u);let{transactionService:l8}=await T(U8.projCtx),O6=await l8.createTemplate(U8,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,content:u8});return uq("createTemplate: Template created: id=%s, path=%s",O6.getObjectId(),O6.getPath()),O6},r=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.readDocument(W,u,{id:y})},P8=async(b,{path:y,store:u,type:F})=>{let K8=await w(b),{documentService:T8}=await T(K8.projCtx);return await T8.readDocumentByPath(W,K8,{path:y,type:F,storeCode:u})},O8=async(b,{id:y,path:u,parentId:F,type:K8})=>{let T8=await w(b),{transactionService:k8}=await T(T8.projCtx);return await k8.updateDocumentPath(T8,{id:y,path:u,parentId:F,type:K8})},R8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteDocument(u,{id:y})},I8=async(b,{id:y,content:u,sessionId:F})=>{let K8=await w(b),{transactionService:T8}=await T(K8.projCtx);return await T8.saveDraft(K8,{id:y,content:u,sessionId:F})},_8=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.readDraft(W,u,{id:y})},g8=async(b,{id:y,sessionId:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.publishDocument(F,{id:y,sessionId:u})},d8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.discardDraft(u,{id:y})},z8=async(b,{id:y,sessionId:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.setEditState(F,{id:y,sessionId:u})},v8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.clearEditState(u,{id:y})},C8=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.getEditState(W,u,{id:y})},f8=async(b,{id:y,versionNumber:u})=>{let F=await w(b),{documentService:K8}=await T(F.projCtx);return await K8.readVersion(W,F,{id:y,versionNumber:u})},c8=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.getVersions(W,u,{id:y})},m8=async(b,{id:y,operation:u,preview:F,ignoreContent:K8,sessionId:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.editDocument(k8,{id:y,operation:u,preview:F,ignoreContent:K8,sessionId:T8})},t8=async(b,{id:y,operations:u,preview:F,ignoreContent:K8,sessionId:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.batchEditDocument(k8,{id:y,operations:u,preview:F,ignoreContent:K8,sessionId:T8})},Y6=async(b,{folderId:y,store:u,type:F="d"})=>{let K8=await w(b),{documentService:T8}=await T(K8.projCtx);return await T8.listDocuments(W,K8,{parentId:y,storeCode:u,type:F})},z1=async(b,{id:y,params:u,target:F,targetOptions:K8,sessionId:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.renderTemplate(k8,{id:y,params:u,target:F,targetOptions:K8,sessionId:T8})},C1=async(b,{id:y})=>{let u=await w(b),{documentService:F,templateService:K8}=await T(u.projCtx),{entity:T8}=await F.readDocument(W,u,{id:y});if(!T8.getPublishedContent())return{parameters:{},detectedVariables:[],target:null,targetPath:null};return K8.extractTemplateParameters(T8.getPublishedContent())},R4=async(b,{store:y,ownerEntityId:u,name:F,label:K8,description:T8,primitiveType:k8,required:u8,multiplicity:U8,isSystem:l8})=>{let O6=await w(b),{transactionService:b6}=await T(O6.projCtx);return await b6.createFieldDefinition(O6,{store:y,ownerEntityId:u,name:F,label:K8,description:T8,primitiveType:k8,required:u8,multiplicity:U8,isSystem:l8})},C4=async(b,{id:y})=>{let u=await w(b),{fieldService:F}=await T(u.projCtx);return await F.readFieldDefinition(W,u,{id:y})},h$=async(b,{store:y,ownerEntityId:u,includeSystem:F})=>{let K8=await w(b),{fieldService:T8}=await T(K8.projCtx);return await T8.getFieldDefinitionsForOwner(W,K8,{store:y,ownerEntityId:u,includeSystem:F})},A8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteFieldDefinition(u,{id:y})},M8=async(b,{entityId:y,fieldDefinitionId:u,fieldName:F,value:K8,values:T8})=>{let k8=await w(b),{transactionService:u8,rootStore:U8}=await T(k8.projCtx),l8=await u8.setFieldValue(k8,{entityId:y,fieldDefinitionId:u,fieldName:F,value:K8,values:T8});return U8.evictFolder(y),l8},i=async(b,{entityId:y})=>{let u=await w(b),{folderService:F}=await T(u.projCtx),K8=await F.readFolder(W,u,{id:y});if(!K8)return{};return K8.getFields()},J8=async(b,{entityId:y,fieldDefinitionId:u,fieldName:F})=>{let K8=await w(b),{transactionService:T8,rootStore:k8}=await T(K8.projCtx),u8=await T8.deleteFieldValue(K8,{entityId:y,fieldDefinitionId:u,fieldName:F});return k8.evictFolder(y),u8},s=async(b)=>{let y=await w(b),{exportService:u}=await T(y.projCtx);return await u.listExports(W,y,{projectPath:y.projectPath})},w8=async(b,{store:y="A"}={})=>{let u=await w(b),{exportService:F}=await T(u.projCtx);return await F.exportPreview(W,u,{storeCode:y})},q8=async(b,{store:y="A",confirm:u=!1}={})=>{let F=await w(b),{exportService:K8}=await T(F.projCtx);if(!u)return await K8.exportPreview(W,F,{storeCode:y});return await K8.exportDocuments(W,F,{storeCode:y,projectPath:F.projectPath})},W8=async(b,{filename:y,store:u="A"})=>{let F=await w(b);l.factory(!y,m.validation,"filename is required","FILENAME_REQUIRED");let{importService:K8}=await T(F.projCtx);return await K8.importDocuments(W,F,{filename:y,storeCode:u,projectPath:F.projectPath})},j8=async(b,{name:y,store:u,state:F})=>{let K8=await w(b),{transactionService:T8}=await T(K8.projCtx);return await T8.createStory(K8,{name:y,storeCode:u,state:F})},x8=async(b,{store:y})=>{let u=await w(b),{storyService:F}=await T(u.projCtx);return await F.listStories(W,u,{store:y})},T6=async(b,{id:y})=>{let u=await w(b),{storyService:F}=await T(u.projCtx);return await F.getStory(W,u,{id:y})},j6=async(b,{id:y,state:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.updateStoryState(F,{id:y,state:u})},E$=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteStory(u,{id:y})},y3=async(b,{storyId:y,state:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.createStateFolder(F,{storyId:y,state:u})},u3=async(b,{storyId:y})=>{let u=await w(b),{storyService:F}=await T(u.projCtx);return await F.listStateFolders(W,u,{storyId:y})},N8=async(b,{mode:y,storyId:u,storyPath:F,store:K8,state:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.ensureStateFolder(k8,{mode:y,storyId:u,storyPath:F,store:K8,state:T8})},D8=async(b,{store:y,buffer:u,mimeType:F,originalFilename:K8,widthPx:T8,heightPx:k8,displayWidth:u8,displayHeight:U8})=>{let l8=await w(b),{transactionService:O6}=await T(l8.projCtx);return await O6.createAsset(l8,{store:y,buffer:u,mimeType:F,originalFilename:K8,widthPx:T8,heightPx:k8,displayWidth:u8,displayHeight:U8})},H8=async(b,{id:y})=>{let u=await w(b),{assetService:F}=await T(u.projCtx);return await F.readAsset(W,u,{id:y})},x=async(b,{id:y})=>{let u=await w(b),{assetService:F}=await T(u.projCtx);return await F.readAssetBinary(W,u,{id:y})},$8=async(b,{store:y})=>{let u=await w(b),{assetService:F}=await T(u.projCtx);return await F.listAssets(W,u,{store:y})},B=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteAsset(u,{id:y})};if(J)J({db:W,projectStore:H,storeStore:Z});return Object.freeze({getProjects:G,getProjectByObjectId:j,createProject:I,validateProjectPath:N,createFolder:v,renameFolder:A,moveFolder:R,deleteFolder:k,getFolder:f,getFolderByPath:D,listFolderContents:S,getRootStore:Q,evictProject:E,getDb:()=>W,createDocument:p,createTemplate:c,readDocument:r,readDocumentByPath:P8,updateDocumentPath:O8,deleteDocument:R8,saveDraft:I8,readDraft:_8,publishDocument:g8,discardDraft:d8,setEditState:z8,clearEditState:v8,getEditState:C8,readVersion:f8,getVersions:c8,editDocument:m8,batchEditDocument:t8,listDocuments:Y6,renderTemplate:z1,getTemplateParameters:C1,createFieldDefinition:R4,readFieldDefinition:C4,getFieldDefinitions:h$,deleteFieldDefinition:A8,setField:M8,getFields:i,deleteField:J8,listExports:s,exportPreview:w8,exportDocuments:q8,importDocuments:W8,createStory:j8,listStories:x8,getStory:T6,updateStoryState:j6,deleteStory:E$,createStateFolder:y3,ensureStateFolder:N8,listStateFolders:u3,createAsset:D8,readAsset:H8,readAssetBinary:x,listAssets:$8,deleteAsset:B,listCrons:()=>P.list(),startCron:(b)=>P.start(b),stopCron:(b)=>P.stop(b),restartCron:(b)=>P.restart(b),startAllCrons:()=>P.startAll(),stopAllCrons:()=>P.stopAll(),registerCronJob:(b,y)=>{P.register(b,y)}})},oQ8=Object.freeze({create:dO1});var aQ8=g6(IL(),1);import{join as iO1}from"path";var nO1=($,{staticPath:K})=>{return $.use(aQ8.default.static(K)),$.get("*",(q,Y,J)=>{if(q.path.startsWith("/api")||q.path==="/health")return J();Y.sendFile(iO1(K,"index.html"))}),Object.freeze({})},rQ8=Object.freeze({create:nO1});var sQ8=g6(a4(),1),JD=sQ8.default("caw:api:projects"),oO1=($,{core:K})=>{return $.get("/api/projects",async(q,Y)=>{try{JD("GET /api/projects - Fetching projects list");let J=await K.getProjects();JD("GET /api/projects - Returning %d projects",J.length),J.forEach((z)=>{JD(" - %s (%s) with %d children",z.name,z.objectId,z.children?.length||0)}),Y.json(J)}catch(J){JD("GET /api/projects - Error: %s",J.message),Y.status(500).json({error:J.message})}}),$.post("/api/projects/validate",async(q,Y)=>{try{let{path:J}=q.body,z=K.validateProjectPath(J);Y.json(z)}catch(J){if(J.code==="VALIDATION_ERROR")return Y.status(400).json({error:J.message,code:"VALIDATION_ERROR"});Y.status(500).json({error:J.message})}}),$.post("/api/projects",async(q,Y)=>{try{let{name:J,path:z}=q.body;if(!J||typeof J!=="string"||J.trim()==="")return Y.status(400).json({error:"Name is required",code:"VALIDATION_ERROR"});if(!z||typeof z!=="string"||z.trim()==="")return Y.status(400).json({error:"Path is required",code:"VALIDATION_ERROR"});if(J.length>255)return Y.status(400).json({error:"Name exceeds maximum length (255)",code:"VALIDATION_ERROR"});let W=await K.createProject({name:J.trim(),path:z.trim()});Y.status(201).json(W.toJSON())}catch(J){if(J.code==="DUPLICATE_PATH")return Y.status(409).json({error:J.message,code:"DUPLICATE_PATH"});console.error("Failed to create project:",J),Y.status(500).json({error:J.message})}}),Object.freeze({})},tQ8=Object.freeze({create:oO1});var $l8=g6(a4(),1);var aO1=($,K)=>{if($.isDomainError){let q=$.code==="UNAUTHORIZED"||$.code==="INVALID_TOKEN"?401:$.code==="NOT_FOUND"||$.code==="PROJECT_NOT_FOUND"||$.code==="EXPORT_NOT_FOUND"||$.code==="STORY_NOT_FOUND"||$.code==="ASSET_NOT_FOUND"||$.code==="BLOB_NOT_FOUND"||$.code==="STORE_NOT_FOUND"?404:$.code==="CONFLICT"||$.code==="STORE_NOT_EMPTY"||$.code==="EDIT_CONFLICT"||$.code==="DUPLICATE_NAME"?409:$.code==="EXPORT_ERROR"||$.code==="STORY_ROOT_NOT_FOUND"?500:400;return K.status(q).json({error:$.message,code:$.code})}console.error("Unhandled error:",$),K.status(500).json({error:$.message})},K6=aO1;var mq=$l8.default("caw:api:folders"),eQ8=($)=>({folders:$.folders.map((K)=>K.toJSON()),documents:$.documents.map((K)=>K.toJSON())}),rO1=($,{core:K})=>{return $.get("/api/p/:projectId/folders/contents",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,type:W}=q.query;mq("GET /api/p/%s/folders/contents - Listing root contents: store=%s, type=%s",J,z,W);let H=await K.listFolderContents(J,{folderId:null,store:z,type:W}),Z=eQ8(H);mq("GET /api/p/%s/folders/contents - Found %d folders, %d documents",J,Z.folders.length,Z.documents.length),Y.json(Z)}catch(J){mq("GET /api/p/%s/folders/contents - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/folders/by-path",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,type:H}=q.query,Z=await K.getFolderByPath(J,{path:z,store:W,type:H});if(!Z)return Y.status(404).json({error:"Not found"});Y.json(Z.toJSON())}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/folders/:id/contents",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{type:W}=q.query;mq("GET /api/p/%s/folders/%s/contents - Listing folder contents: type=%s",J,z,W);let H=await K.listFolderContents(J,{folderId:z,type:W}),Z=eQ8(H);mq("GET /api/p/%s/folders/%s/contents - Found %d folders, %d documents",J,z,Z.folders.length,Z.documents.length),Y.json(Z)}catch(J){mq("GET /api/p/%s/folders/%s/contents - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/folders/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getFolder(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(W.toJSON())}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/folders",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,root:H,parentId:Z,name:P}=q.body,O=z&&W&&!H&&!Z,X=H&&z&&!W&&!Z;if([O,X,Z&&P&&!z&&!H].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one creation mode required: (path+store), (root+path), or (parentId+name)",code:"INVALID_PARAMS"});let G;if(O)G="fullPath";else if(X)G="rootRelative";else G="parentName";mq("POST /api/p/%s/folders - Creating folder: mode=%s, path=%s, store=%s, root=%s, parentId=%s, name=%s",J,G,z,W,H,Z,P);let j=await K.createFolder(J,{mode:G,path:z,store:W,root:H,parentId:Z,name:P});mq("POST /api/p/%s/folders - Folder created: id=%s, path=%s",J,j.getObjectId(),j.getPath()),Y.status(201).json(j.toJSON())}catch(J){mq("POST /api/p/%s/folders - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.delete("/api/p/:projectId/folders/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.deleteFolder(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.patch("/api/p/:projectId/folders/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{name:W,parentId:H}=q.body;if(W&&H)return Y.status(400).json({error:"Provide only name or parentId, not both",code:"INVALID_REQUEST"});if(!W&&!H)return Y.status(400).json({error:"Provide name or parentId",code:"INVALID_REQUEST"});let Z;if(W)Z=await K.renameFolder(J,{id:z,name:W});else Z=await K.moveFolder(J,{id:z,parentId:H});Y.json(Z.toJSON())}catch(J){K6(J,Y)}}),Object.freeze({})},Kl8=Object.freeze({create:rO1});var sO1=($,{core:K})=>{return $.post("/api/p/:projectId/field-definitions",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,ownerEntityId:W,name:H,label:Z,description:P,primitiveType:O,required:X,multiplicity:w}=q.body,T=await K.createFieldDefinition(J,{store:z,ownerEntityId:W??null,name:H,label:Z??null,description:P??null,primitiveType:O,required:X??!1,multiplicity:w??"single"});Y.status(201).json(T.toJSON())}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/field-definitions/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.readFieldDefinition(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(W.toJSON())}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/field-definitions",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,ownerEntityId:W,includeSystem:H}=q.query,Z=await K.getFieldDefinitions(J,{store:z,ownerEntityId:W??null,includeSystem:H==="true"});Y.json(Z.map((P)=>P.toJSON()))}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/field-definitions/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.deleteFieldDefinition(J,{id:z});Y.json(W.toJSON())}catch(J){K6(J,Y)}}),$.put("/api/p/:projectId/entities/:id/fields/:fieldName",async(q,Y)=>{try{let{projectId:J,id:z,fieldName:W}=q.params,{fieldDefinitionId:H,value:Z,values:P}=q.body,O={entityId:z,fieldDefinitionId:H!==void 0?H:null,fieldName:W};if(Z!==void 0)O.value=Z;if(P!==void 0)O.values=P;await K.setField(J,O);let X=await K.getFolder(J,{id:z});Y.json({id:X.getObjectId(),parentId:X.getParentId(),name:X.getName(),path:X.getPath(),createdAt:X.getCreatedAt(),updatedAt:X.getUpdatedAt()})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/entities/:id/fields",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getFields(J,{entityId:z}),H={};for(let[Z,P]of Object.entries(W))H[Z]=P.toJSON();Y.json(H)}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/entities/:id/fields/:fieldName",async(q,Y)=>{try{let{projectId:J,id:z,fieldName:W}=q.params,{fieldDefinitionId:H}=q.query,Z={entityId:z,fieldName:W};if(H!==void 0)Z.fieldDefinitionId=H;await K.deleteField(J,Z),Y.status(204).send()}catch(J){K6(J,Y)}}),Object.freeze({})},ql8=Object.freeze({create:sO1});var Yl8=g6(a4(),1);var xO=Yl8.default("caw:api:documents"),tO1=($,{core:K})=>{return $.post("/api/p/:projectId/documents",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,root:H,parentId:Z,name:P,content:O}=q.body,X=z&&W&&!H&&!Z,w=H&&z&&!W&&!Z;if([X,w,Z&&P&&!z&&!H].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one creation mode required: (path+store), (root+path), or (parentId+name)",code:"INVALID_PARAMS"});let j;if(X)j="fullPath";else if(w)j="rootRelative";else j="parentName";xO("POST /api/p/%s/documents - Creating document: mode=%s, path=%s, store=%s, root=%s, parentId=%s, name=%s, hasContent=%s",J,j,z,W,H,Z,P,!!O);let A=(await K.createDocument(J,{mode:j,path:z,store:W,root:H,parentId:Z,name:P,content:O})).toJSON();xO("POST /api/p/%s/documents - Document created: id=%s, path=%s",J,A.id,A.path),Y.status(201).json(A)}catch(J){xO("POST /api/p/%s/documents - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.post("/api/p/:projectId/templates",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,root:H,parentId:Z,name:P,content:O}=q.body,X=z&&W&&!H&&!Z,w=H&&z&&!W&&!Z;if([X,w,Z&&P&&!z&&!H].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one creation mode required: (path+store), (root+path), or (parentId+name)",code:"INVALID_PARAMS"});let j;if(X)j="fullPath";else if(w)j="rootRelative";else j="parentName";xO("POST /api/p/%s/templates - Creating template: mode=%s, path=%s, store=%s, root=%s, parentId=%s, name=%s, hasContent=%s",J,j,z,W,H,Z,P,!!O);let A=(await K.createTemplate(J,{mode:j,path:z,store:W,root:H,parentId:Z,name:P,content:O})).toJSON();xO("POST /api/p/%s/templates - Template created: id=%s, path=%s",J,A.id,A.path),Y.status(201).json(A)}catch(J){xO("POST /api/p/%s/templates - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/documents/by-path",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,type:H="d"}=q.query,Z=await K.readDocumentByPath(J,{path:z,store:W,type:H});if(!Z)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});let{entity:P,ancestorFolderIds:O}=Z;Y.json({...P.toJSON(),ancestorFolderIds:O})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents",async(q,Y)=>{try{let{projectId:J}=q.params,{folderId:z,store:W,type:H="d"}=q.query,Z=await K.listDocuments(J,{folderId:z??null,store:W,type:H});Y.json(Z.map((P)=>P.toJSON()))}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/parameters",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{entity:W}=await K.readDocument(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});let H=W.getPublishedContent();if(!H)return Y.json({id:z,parameters:{},target:null,targetPath:null,detectedVariables:[]});try{let{parameters:Z,target:P,targetPath:O}=Y3.getParameters(H),{body:X}=Y3.parseFrontMatter(H),w=Array.from(Y3.extractVariables(X));Y.json({id:z,parameters:Z,target:P,targetPath:O,detectedVariables:w})}catch(Z){return Y.json({id:z,parameters:{},target:null,targetPath:null,detectedVariables:[],parseError:Z.message})}}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/documents/:id/render",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{params:W,target:H,targetOptions:Z}=q.body,P=await K.renderTemplate(J,{id:z,params:W,target:H,targetOptions:Z,sessionId:q.sessionId});Y.json(P)}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{entity:W,ancestorFolderIds:H}=await K.readDocument(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json({...W.toJSON(),ancestorFolderIds:H})}catch(J){K6(J,Y)}}),$.patch("/api/p/:projectId/documents/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{path:W,parentId:H}=q.body,Z=F1.getTypeFromId(z),P=await K.updateDocumentPath(J,{id:z,path:W,parentId:H,type:Z});Y.json(P.toJSON())}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/documents/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.deleteDocument(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.put("/api/p/:projectId/documents/:id/draft",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{content:W}=q.body,H=q.sessionId;if(W===void 0)return Y.status(400).json({error:"content is required",code:"MISSING_CONTENT"});let Z=await K.saveDraft(J,{id:z,content:W,sessionId:H});Y.json({id:z,updated:!0,lockLost:Z.lockLost??!1})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/draft",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.readDraft(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/documents/:id/publish",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.publishDocument(J,{id:z,sessionId:q.sessionId});Y.json(W)}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/documents/:id/draft",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;await K.discardDraft(J,{id:z}),Y.json({id:z,discarded:!0})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/versions",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getVersions(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/versions/:versionNumber",async(q,Y)=>{try{let{projectId:J,id:z,versionNumber:W}=q.params,H=await K.readVersion(J,{id:z,versionNumber:parseInt(W,10)});if(!H)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(H)}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/edit-state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getEditState(J,{id:z});if(!W)return Y.json({locked:!1});Y.json({locked:!0,locked_at:W.startedAt})}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/documents/:id/edit-state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=q.sessionId;if(!W)return Y.status(400).json({error:"X-Session-Id header required",code:"MISSING_SESSION_ID"});let H=await K.setEditState(J,{id:z,sessionId:W});if(!H.success)return Y.status(409).json(H);Y.json(H)}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/documents/:id/edit-state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;await K.clearEditState(J,{id:z}),Y.json({success:!0})}catch(J){K6(J,Y)}}),Object.freeze({})},Jl8=Object.freeze({create:tO1});var zl8=g6(a4(),1);var g3=zl8.default("caw:api:export"),eO1=($,{core:K})=>{return $.get("/api/p/:projectId/exports",async(q,Y)=>{try{let{projectId:J}=q.params;g3("GET /api/p/%s/exports - Listing export files",J);let z=await K.listExports(J);g3("GET /api/p/%s/exports - Found %d export files",J,z.length),Y.json({ok:!0,exports:z})}catch(J){g3("GET /api/p/:projectId/exports - Error: %s",J.message),K6(J,Y)}}),$.get("/api/p/:projectId/export/preview",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z}=q.query;g3("GET /api/p/%s/export/preview - Previewing export: store=%s",J,z);let W=await K.exportPreview(J,{store:z});g3("GET /api/p/%s/export/preview - Preview complete: %d to export, %d draft-only",J,(W.toExport?.folders?.length||0)+(W.toExport?.documents?.length||0)+(W.toExport?.templates?.length||0),(W.draftOnly?.documents?.length||0)+(W.draftOnly?.templates?.length||0)),Y.json(W)}catch(J){g3("GET /api/p/:projectId/export/preview - Error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/export",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,confirm:W}=q.body;g3("POST /api/p/%s/export - Export request: store=%s, confirm=%s",J,z,W);let H=await K.exportDocuments(J,{store:z,confirm:W});if(W)g3("POST /api/p/%s/export - Export complete: %s",J,H.filename);else g3("POST /api/p/%s/export - Preview returned (confirm=false)",J);Y.json(H)}catch(J){g3("POST /api/p/:projectId/export - Error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/import",async(q,Y)=>{try{let{projectId:J}=q.params,{filename:z,store:W}=q.body;g3("POST /api/p/%s/import - Import request: filename=%s, store=%s",J,z,W);let H=await K.importDocuments(J,{filename:z,store:W});g3("POST /api/p/%s/import - Import complete: %d folders, %d documents, %d templates",J,H.counts?.folders||0,H.counts?.documents||0,H.counts?.templates||0),Y.json({ok:!0,...H})}catch(J){g3("POST /api/p/:projectId/import - Error: %s",J.message),K6(J,Y)}}),Object.freeze({})},Wl8=Object.freeze({create:eO1});var Hl8=g6(a4(),1);var X7=Hl8.default("caw:api:stories"),$X1=($,{core:K})=>{return $.post("/api/p/:projectId/stories",async(q,Y)=>{try{let{projectId:J}=q.params,{name:z,store:W="A",state:H="prep"}=q.body;X7("POST /api/p/%s/stories - Creating story: name=%s, store=%s, state=%s",J,z,W,H);let Z=await K.createStory(J,{name:z,store:W,state:H});Y.status(201).json(Z)}catch(J){X7("POST /api/p/%s/stories - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/stories",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z="A"}=q.query;X7("GET /api/p/%s/stories - Listing stories: store=%s",J,z);let W=await K.listStories(J,{store:z});Y.json(W)}catch(J){X7("GET /api/p/%s/stories - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/stories/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;X7("GET /api/p/%s/stories/%s - Getting story",J,z);let W=await K.getStory(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(W)}catch(J){X7("GET /api/p/%s/stories/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.patch("/api/p/:projectId/stories/:id/state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{state:W}=q.body;if(!W)return Y.status(400).json({error:"State is required",code:"MISSING_STATE"});X7("PATCH /api/p/%s/stories/%s/state - Updating state to: %s",J,z,W);let H=await K.updateStoryState(J,{id:z,state:W});Y.json(H)}catch(J){X7("PATCH /api/p/%s/stories/%s/state - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.delete("/api/p/:projectId/stories/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;X7("DELETE /api/p/%s/stories/%s - Deleting story",J,z);let W=await K.deleteStory(J,{id:z});Y.json(W)}catch(J){X7("DELETE /api/p/%s/stories/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/stories/:id/states",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;X7("GET /api/p/%s/stories/%s/states",J,z);let W=await K.listStateFolders(J,{storyId:z});Y.json(W)}catch(J){X7("GET states error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/stories/:id/states",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{state:W}=q.body;X7("POST /api/p/%s/stories/%s/states state=%s",J,z,W);let H=await K.createStateFolder(J,{storyId:z,state:W}),Z=H.created?201:200;Y.status(Z).json(H)}catch(J){X7("POST states error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/stories/state-folders",async(q,Y)=>{try{let{projectId:J}=q.params,{storyId:z,storyPath:W,store:H,state:Z}=q.body;if(!Z)return Y.status(400).json({error:"state is required",code:"MISSING_STATE"});let P=z&&!W;if([P,W&&H&&!z].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one mode required: (storyId) or (storyPath+store)",code:"INVALID_PARAMS"});let w;if(P)w="storyId";else w="storyPath";X7("POST /api/p/%s/stories/state-folders - mode=%s, storyId=%s, storyPath=%s, store=%s, state=%s",J,w,z,W,H,Z);let T=await K.ensureStateFolder(J,{mode:w,storyId:z,storyPath:W,store:H,state:Z}),G=T.created?201:200;Y.status(G).json(T)}catch(J){X7("POST /api/p/%s/stories/state-folders - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),Object.freeze({})},Zl8=Object.freeze({create:$X1});var xi8=g6(a4(),1),RD=g6(Li8(),1);var EK=xi8.default("caw:api:assets"),Ii8=["image/png","image/jpeg","image/gif","image/webp"],Fj1=RD.default({storage:RD.default.memoryStorage(),limits:{fileSize:10485760},fileFilter:($,K,q)=>{if(Ii8.includes(K.mimetype))q(null,!0);else q(new Error(`Unsupported MIME type: ${K.mimetype}. Allowed: ${Ii8.join(", ")}`))}}),Qj1=($,{core:K})=>{return $.post("/api/p/:projectId/assets",Fj1.single("file"),async(q,Y)=>{try{let{projectId:J}=q.params,{store:z="A"}=q.query,W=q.file;if(!W)return Y.status(400).json({error:"No file uploaded",code:"MISSING_FILE"});let H=q.body.widthPx?parseInt(q.body.widthPx,10):void 0,Z=q.body.heightPx?parseInt(q.body.heightPx,10):void 0,P=q.body.displayWidth?parseInt(q.body.displayWidth,10):void 0,O=q.body.displayHeight?parseInt(q.body.displayHeight,10):void 0;EK("POST /api/p/%s/assets - Uploading: %s (%s, %d bytes)",J,W.originalname,W.mimetype,W.size);let X=await K.createAsset(J,{store:z,buffer:W.buffer,mimeType:W.mimetype,originalFilename:W.originalname,widthPx:H,heightPx:Z,displayWidth:P,displayHeight:O});Y.status(201).json(X)}catch(J){EK("POST /api/p/%s/assets - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/assets/:id/binary",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;EK("GET /api/p/%s/assets/%s/binary - Retrieving binary",J,z);let W=await K.readAssetBinary(J,{id:z});Y.set("Content-Type",W.mimeType),Y.set("Content-Length",W.sizeBytes),Y.set("Cache-Control","public, max-age=31536000, immutable"),Y.set("Content-Disposition",`inline; filename="${W.originalFilename}"`),Y.send(W.buffer)}catch(J){EK("GET /api/p/%s/assets/%s/binary - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/assets/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;EK("GET /api/p/%s/assets/%s - Retrieving metadata",J,z);let W=await K.readAsset(J,{id:z});Y.json(W)}catch(J){EK("GET /api/p/%s/assets/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/assets",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z="A"}=q.query;EK("GET /api/p/%s/assets - Listing assets for store %s",J,z);let W=await K.listAssets(J,{store:z});Y.json(W)}catch(J){EK("GET /api/p/%s/assets - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.delete("/api/p/:projectId/assets/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;EK("DELETE /api/p/%s/assets/%s - Deleting asset",J,z);let W=await K.deleteAsset(J,{id:z});Y.json(W)}catch(J){EK("DELETE /api/p/%s/assets/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.use("/api/p/:projectId/assets",(q,Y,J,z)=>{if(q instanceof RD.default.MulterError){if(q.code==="LIMIT_FILE_SIZE")return J.status(400).json({error:"File too large. Maximum size is 10MB.",code:"FILE_TOO_LARGE"});return J.status(400).json({error:q.message,code:"UPLOAD_ERROR"})}if(q.message&&q.message.includes("Unsupported MIME type"))return J.status(400).json({error:q.message,code:"UNSUPPORTED_MIME_TYPE"});z(q)}),Object.freeze({})},bi8=Object.freeze({create:Qj1});var gi8=g6(a4(),1);var CD=gi8.default("caw:api:events"),lj1=($,{core:K})=>{return $.get("/api/p/:projectId/events",async(q,Y)=>{try{let{projectId:J}=q.params;CD("GET /api/p/%s/events - Client connecting",J);let z=await K.getRootStore(J);CD("GET /api/p/%s/events - Got root store, setting up SSE subscription",J),Y.setHeader("Content-Type","text/event-stream"),Y.setHeader("Cache-Control","no-cache"),Y.setHeader("Connection","keep-alive"),Y.flushHeaders(),Y.write(`: connected
|
|
553
|
+
`.trim(),gQ8=async($,K)=>{try{return await $()}catch{return K()}},yQ8=($,K)=>{try{return $()}catch{return K()}},yO1={copy:async($)=>gQ8(async()=>P7(KD,qD(xQ8),$),async()=>P7($D,["--copy"],$)),async paste($){let{stdout:K}=await gQ8(async()=>P7(KD,qD(bQ8),$),async()=>P7($D,["--paste"],$));return K},copySync:($)=>yQ8(()=>O7(KD,qD(xQ8),$),()=>O7($D,["--copy"],$)),pasteSync:($)=>yQ8(()=>O7(KD,qD(bQ8),$),()=>O7($D,["--paste"],$)).stdout},pd=yO1;var YD=(()=>{switch(mQ8.platform){case"darwin":return SQ8;case"win32":return pd;case"android":{if(mQ8.env.TERMUX_VERSION===void 0)throw new Error("You need to install Termux for this module to work on Android: https://termux.com");return vQ8}default:{if(WB8)return pd;if(wl())return EQ8;return jW}}})(),uO1={async write($){if(typeof $!=="string")throw new TypeError(`Expected a string, got ${typeof $}`);await YD.copy({input:$})},async read(){return YD.paste({stripFinalNewline:!1})},writeSync($){if(typeof $!=="string")throw new TypeError(`Expected a string, got ${typeof $}`);YD.copySync({input:$})},readSync(){return YD.pasteSync({stripFinalNewline:!1})}},BQ8=uO1;var mO1=()=>{return Object.freeze({copyToClipboard:async(K)=>{try{await BQ8.write(K)}catch(q){throw new Error(`Failed to copy to clipboard: ${q.message}`)}}})},UQ8=Object.freeze({create:mO1});z4();var BO1=Object.freeze({PREP:"prep",SPEC:"spec",DESIGN:"design",PLAN:"plan",BUILD:"build",RETRO:"retro",IMPROVE:"improve",DONE:"done"}),LO=Object.freeze(["prep","spec","design","plan","build","retro","improve","done"]),cQ8=Object.freeze({plan:"build",retro:"improve"}),UO1=Object.freeze(new Set(LO)),kv=($)=>UO1.has($),pQ8=BO1.PREP;var cO1=({store:$,fieldService:K})=>{let q=(T,G,j)=>({...T.toJSON(),state:G,storeCode:j}),Y=(T,G,j)=>({id:T.getObjectId(),name:T.getName(),state:G,storeCode:j,path:T.getPath(),createdAt:T.getCreatedAt(),updatedAt:T.getUpdatedAt()}),J=async(T,G,{storyId:j,storeCode:v})=>{let A=await $.listStateFolders(T,G,{storyId:j}),R=[];for(let k of A){let D=k.getFields().state;l.factory(!D,m.validation,`State-folder ${k.getObjectId()} missing required state field`,"MISSING_STATE_FIELD");let S=D.getValue();R.push(Y(k,S,v))}return R.sort((k,f)=>{let D=LO.indexOf(k.state),S=LO.indexOf(f.state),h=D>=0?D:999,Q=S>=0?S:999;return h-Q})},z=async(T,G,{store:j,name:v,state:A=pQ8},R)=>{l.factory(!j,m.validation,"Store is required","MISSING_STORE_CODE"),l.factory(!v||!v.trim(),m.validation,"Story name is required","MISSING_NAME"),l.factory(!kv(A),m.validation,`Invalid state: ${A}`,"INVALID_STATE");let k=await $.readStoryRootFolder(T,G,{storeCode:j});l.factory(!k,m.notFound,"Story root folder not found","STORY_ROOT_NOT_FOUND");let f=await $.isDuplicateNameInParent(T,G,k.getObjectId(),v.trim());l.factory(f,m.conflict,`Story "${v.trim()}" already exists`,"DUPLICATE_NAME");let D=await $.createStory(T,G,{storeCode:j,parentId:k.getObjectId(),name:v.trim(),state:A},R);await K.setFieldValue(T,G,{entityId:D.getObjectId(),fieldName:"state",value:A},R);let S=await O(T,G,{storyId:D.getObjectId(),state:A},R),h=q(D,A,j);if(h.stateFolders=[S.stateFolder],S.autoCreated)h.stateFolders.push(S.autoCreated);return h},W=async(T,G,{store:j})=>{l.factory(!j,m.validation,"Store is required","MISSING_STORE_CODE");let v=await $.listStories(T,G,{storeCode:j}),A=[];for(let R of v){let f=R.getFields().state;l.factory(!f,m.validation,`Story ${R.getObjectId()} missing required state field`,"MISSING_STATE_FIELD"),A.push(q(R,f.getValue(),j))}return A},H=async(T,G,{id:j})=>{l.factory(!j,m.validation,"ID is required","MISSING_ID");let v=W4.extractStoreCode(j),A=await $.readStory(T,G,{id:j});l.factory(!A,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let k=A.getFields().state;l.factory(!k,m.validation,`Story ${j} missing required state field`,"MISSING_STATE_FIELD");let f=await J(T,G,{storyId:j,storeCode:v});return{...q(A,k.getValue(),v),stateFolders:f}},Z=async(T,G,{id:j,state:v},A)=>{l.factory(!j,m.validation,"ID is required","MISSING_ID"),l.factory(!v,m.validation,"State is required","MISSING_STATE"),l.factory(!kv(v),m.validation,`Invalid state: ${v}`,"INVALID_STATE");let R=W4.extractStoreCode(j),k=await $.readStory(T,G,{id:j});l.factory(!k,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let D=k.getFields().state;l.factory(!D,m.validation,`Story ${j} missing required state field`,"MISSING_STATE_FIELD");let S=D.getValue();return await K.setFieldValue(T,G,{entityId:j,fieldName:"state",value:v},A),A(()=>{$.emitStoryStateChanged({id:j,oldState:S,newState:v})}),q(k,v,R)},P=async(T,G,{id:j},v)=>{l.factory(!j,m.validation,"ID is required","MISSING_ID");let A=W4.extractStoreCode(j),R=await $.readStory(T,G,{id:j});return l.factory(!R,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND"),{...await $.deleteStory(T,G,{id:j},v),storeCode:A}},O=async(T,G,{storyId:j,state:v},A)=>{l.factory(!j,m.validation,"Story ID is required","MISSING_STORY_ID"),l.factory(!v,m.validation,"State is required","MISSING_STATE"),l.factory(!kv(v),m.validation,`Invalid state: ${v}`,"INVALID_STATE");let R=W4.extractStoreCode(j),k=await $.readStory(T,G,{id:j});l.factory(!k,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let f=await $.findStateFolderByState(T,G,{storyId:j,state:v}),D,S=!1;if(f)D=f;else{let I=v.charAt(0).toUpperCase()+v.slice(1);D=await $.createFolder(T,G,{storeCode:R,parentId:j,name:I,subtype:"state_folder"},A),S=!0,await K.setFieldValue(T,G,{entityId:D.getObjectId(),fieldName:"state",value:v},A)}let h=null,Q=cQ8[v];if(Q){if(!await $.findStateFolderByState(T,G,{storyId:j,state:Q})){let N=Q.charAt(0).toUpperCase()+Q.slice(1),E=await $.createFolder(T,G,{storeCode:R,parentId:j,name:N,subtype:"state_folder"},A);await K.setFieldValue(T,G,{entityId:E.getObjectId(),fieldName:"state",value:Q},A),h=Y(E,Q,R)}}return{stateFolder:Y(D,v,R),created:S,autoCreated:h}};return Object.freeze({createStory:z,listStories:W,getStory:H,updateStoryState:Z,deleteStory:P,createStateFolder:O,ensureStateFolder:async(T,G,j,v)=>{let{mode:A,storyId:R,storyPath:k,store:f,state:D}=j;l.factory(!A,m.validation,"Mode is required","MISSING_MODE"),l.factory(!["storyId","storyPath"].includes(A),m.validation,`Invalid mode: ${A}`,"INVALID_MODE"),l.factory(!D,m.validation,"State is required","MISSING_STATE"),l.factory(!kv(D),m.validation,`Invalid state: ${D}`,"INVALID_STATE");let S,h;if(A==="storyId")l.factory(!R,m.validation,"storyId is required for storyId mode","MISSING_STORY_ID"),h=W4.extractStoreCode(R),S=await $.readStory(T,G,{id:R});else l.factory(!k,m.validation,"storyPath is required for storyPath mode","MISSING_STORY_PATH"),l.factory(!f,m.validation,"store is required for storyPath mode","MISSING_STORE_CODE"),h=f,S=(await $.listStories(T,G,{storeCode:h})).find((I)=>I.getName()===k);return l.factory(!S,m.notFound,"Story not found","STORY_NOT_FOUND"),await O(T,G,{storyId:S.getObjectId(),state:D},v)},listStateFolders:async(T,G,{storyId:j})=>{l.factory(!j,m.validation,"Story ID is required","MISSING_STORY_ID");let v=W4.extractStoreCode(j),A=await $.readStory(T,G,{id:j});l.factory(!A,m.notFound,`Story not found: ${j}`,"STORY_NOT_FOUND");let R=await $.listStateFolders(T,G,{storyId:j}),k=[];for(let f of R){let S=f.getFields().state;l.factory(!S,m.validation,`State-folder ${f.getObjectId()} missing required state field`,"MISSING_STATE_FIELD");let h=S.getValue();k.push(Y(f,h,v))}return k.sort((f,D)=>{let S=LO.indexOf(f.state),h=LO.indexOf(D.state),Q=S>=0?S:999,I=h>=0?h:999;return Q-I})}})},FQ8=Object.freeze({create:cO1});z4();import{createHash as pO1}from"crypto";import{promises as IO}from"fs";import QQ8 from"path";var FO1=10485760,lQ8=Object.freeze(["image/png","image/jpeg","image/gif","image/webp"]),QO1=({assetsDir:$})=>{let K=(Z)=>{return pO1("sha256").update(Z).digest("hex")},q=(Z)=>{let P=Z.substring(0,2);return QQ8.join($,P,Z)};return Object.freeze({computeHash:K,getAssetPath:q,exists:async(Z)=>{try{return await IO.access(q(Z)),!0}catch{return!1}},write:async(Z,P)=>{let O=q(Z),X=QQ8.dirname(O),w=O+".tmp";await IO.mkdir(X,{recursive:!0}),await IO.writeFile(w,P),await IO.rename(w,O)},read:async(Z)=>{let P=q(Z);return IO.readFile(P)},remove:async(Z)=>{let P=q(Z);try{await IO.unlink(P)}catch(O){if(O.code!=="ENOENT")throw O}},isAllowedMimeType:(Z)=>{return lQ8.includes(Z)},MAX_SIZE_BYTES:FO1,ALLOWED_MIME_TYPES:lQ8,assetsDir:$})},dQ8=Object.freeze({create:QO1});var lO1=({store:$,assetsDir:K})=>{let q=dQ8.create({assetsDir:K});return Object.freeze({createAsset:async(Z,P,{store:O,buffer:X,mimeType:w,originalFilename:T,widthPx:G,heightPx:j,displayWidth:v,displayHeight:A},R)=>{l.factory(!O,m.validation,"Store is required","MISSING_STORE_CODE"),l.factory(!X,m.validation,"Binary data is required","MISSING_DATA"),l.factory(!w,m.validation,"MIME type is required","MISSING_MIME_TYPE"),l.factory(!q.isAllowedMimeType(w),m.validation,`Unsupported MIME type: ${w}. Allowed: ${q.ALLOWED_MIME_TYPES.join(", ")}`,"UNSUPPORTED_MIME_TYPE");let k=X.length;l.factory(k>q.MAX_SIZE_BYTES,m.validation,`File too large: ${k} bytes. Maximum: ${q.MAX_SIZE_BYTES} bytes (10MB)`,"FILE_TOO_LARGE");let f=q.computeHash(X);if(!await q.exists(f))await q.write(f,X);return{...(await $.createAsset(Z,P,{storeCode:O,hash:f,mimeType:w,sizeBytes:k,originalFilename:T,widthPx:G,heightPx:j,displayWidth:v,displayHeight:A},R)).toJSON(),storeCode:O}},readAsset:async(Z,P,{id:O})=>{l.factory(!O,m.validation,"ID is required","MISSING_ID");let X=await $.readAsset(Z,P,{id:O});l.factory(!X,m.notFound,`Asset not found: ${O}`,"ASSET_NOT_FOUND");let w=W4.extractStoreCode(O);return{...X.toJSON(),storeCode:w}},readAssetBinary:async(Z,P,{id:O})=>{l.factory(!O,m.validation,"ID is required","MISSING_ID");let X=await $.readAsset(Z,P,{id:O});l.factory(!X,m.notFound,`Asset not found: ${O}`,"ASSET_NOT_FOUND");let w=X.getHash(),T;try{T=await q.read(w)}catch(G){if(G.code==="ENOENT")throw m.notFound(`Blob file not found for asset: ${O}`,"BLOB_NOT_FOUND");throw G}return{buffer:T,mimeType:X.getMimeType(),sizeBytes:X.getSizeBytes(),hash:w,originalFilename:X.getOriginalFilename()}},listAssets:async(Z,P,{store:O})=>{return l.factory(!O,m.validation,"Store is required","MISSING_STORE_CODE"),(await $.listAssets(Z,P,{storeCode:O})).map((w)=>({...w.toJSON(),storeCode:O}))},deleteAsset:async(Z,P,{id:O},X)=>{l.factory(!O,m.validation,"ID is required","MISSING_ID");let w=await $.readAsset(Z,P,{id:O});l.factory(!w,m.notFound,`Asset not found: ${O}`,"ASSET_NOT_FOUND");let T=W4.extractStoreCode(O);return{...await $.deleteAsset(Z,P,{id:O},X),storeCode:T}}})},iQ8=Object.freeze({create:lO1});var uq=nQ8.default("caw:core"),dO1=async({databaseFilepath:$,assetsDir:K,lazilyCreateDb:q,kyselyFactory:Y},J)=>{let W=await fO8.create({kyselyFactory:Y}).getDb($,q),H=CO8.create(),Z=QO8.create(),P=qB8.create({db:W}),O=UQ8.create(),X=new Map,w=async(b)=>{if(!b||!/^P\d+$/.test(b))l.factory(!0,m.notFound,`Project not found: ${b}`,"PROJECT_NOT_FOUND");let y=parseInt(b.slice(1),10);l.factory(y<1||y>Number.MAX_SAFE_INTEGER,m.notFound,`Project not found: ${b}`,"PROJECT_NOT_FOUND");let u=await H.readProjectByObjectId(W,null,b);return l.factory(!u,m.notFound,`Project not found: ${b}`,"PROJECT_NOT_FOUND"),{projCtx:u.getObjectId(),projectPath:u.getPath(),authCtx:null}},T=async(b)=>{let y=X.get(b);if(y)return y;let u=await Z.readRootStoreForProject(W,{},b),F=lO8.create({store:u}),K8=dO8.create({store:u}),T8=qV8.create({fieldService:K8}),k8=ST8.create({store:u,folderService:F,documentHooks:T8}),u8=YV8.create(),U8=FQ8.create({store:u,fieldService:K8}),l8=iQ8.create({store:u,assetsDir:K}),O6=_m.create({db:W,folderService:F,fieldService:K8,documentService:k8,templateService:u8,projectService:null,clipboardService:O,storyService:U8,assetService:l8}),b6=Gm8.create({store:u,folderService:F,documentService:k8,templateService:u8,assetService:l8,assetsDir:K}),$4=tm8.create({store:u,folderService:F,documentService:k8,templateService:u8,assetService:l8,assetsDir:K}),j7={folderService:F,fieldService:K8,documentService:k8,templateService:u8,transactionService:O6,exportService:b6,importService:$4,rootStore:u,storyService:U8,assetService:l8};return X.set(b,j7),j7},G=async()=>{return await Gk.create({projectStore:H,storeStore:Z}).listProjects(W)},j=async(b)=>{if(!b||!/^P\d+$/.test(b))return null;let y=parseInt(b.slice(1),10);if(y<1||y>Number.MAX_SAFE_INTEGER)return null;return await H.readProjectByObjectId(W,null,b)},v=async(b,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8})=>{let U8=await w(b),{transactionService:l8}=await T(U8.projCtx);return await l8.createFolder(U8,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8})},A=async(b,{id:y,name:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.renameFolder(F,{id:y,name:u})},R=async(b,{id:y,parentId:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.moveFolder(F,{id:y,parentId:u})},k=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteFolder(u,{id:y})},f=async(b,{id:y})=>{let u=await w(b),{folderService:F}=await T(u.projCtx);return await F.readFolder(W,u,{id:y})},D=async(b,{store:y,path:u,type:F})=>{let K8=await w(b),{folderService:T8}=await T(K8.projCtx);return await T8.getFolderByPath(W,K8,{path:u,type:F,storeCode:y})},S=async(b,{folderId:y,store:u,type:F})=>{let K8=await w(b);uq("listFolderContents: Listing contents for project %s: folderId=%s, store=%s, type=%s",K8.projCtx,y||"root",u,F);let{folderService:T8,documentService:k8,rootStore:u8}=await T(K8.projCtx),U8=F;if(y&&!F)U8=await h(W,u8,K8,y,u),uq("listFolderContents: Inferred type %s from folder %s",U8,y);let l8=await T8.listFolderContents(W,K8,{folderId:y,storeCode:u,type:U8}),O6=y;if((y===null||y===void 0)&&(U8==="d"||U8==="t"))O6=(await u8.readRootFolderForType(W,K8,U8,u)).getObjectId(),uq("listFolderContents: Resolved root folder for type %s: %s",U8,O6);uq("listFolderContents: Querying content with parentId=%s, store=%s, type=%s",O6,u,U8);let b6=await k8.listDocuments(W,K8,{parentId:O6,storeCode:u,type:U8});return uq("listFolderContents: Found %d folders, %d documents",l8?.length||0,b6?.length||0),{folders:l8,documents:b6}},h=async(b,y,u,F,K8)=>{let T8=await y.readFolder(b,u,{id:F});if(!T8)return null;let k8=await b.selectFrom("entities").innerJoin("entity_types","entities.entity_type_id","entity_types.id").select(["entity_types.code as entity_type_code","entity_types.subtype as entity_type_subtype"]).where("entities.object_id","=",F).executeTakeFirst();if(k8?.entity_type_code==="f"&&k8?.entity_type_subtype==="root_d")return"d";if(k8?.entity_type_code==="f"&&k8?.entity_type_subtype==="root_t")return"t";if(k8?.entity_type_code==="f"&&(k8?.entity_type_subtype==="root_s"||k8?.entity_type_subtype==="state_folder"))return"d";let u8=await y.readRootFolderForType(b,u,"d",K8),U8=await y.readRootFolderForType(b,u,"t",K8),l8=T8;while(l8&&l8.getParentId()!==null){let O6=await y.readFolder(b,u,{id:l8.getParentId()});if(!O6)break;l8=O6}if(l8&&l8.getObjectId()===u8?.getObjectId())return"d";else if(l8&&l8.getObjectId()===U8?.getObjectId())return"t";return null},Q=async(b)=>{let y=await w(b),{rootStore:u}=await T(y.projCtx);return u},I=async({name:b,path:y})=>{let u=Gk.create({projectStore:H,storeStore:Z}),F=_m.create({db:W,folderService:null,projectService:u}),K8={};return await F.createProject(K8,{name:b,path:y})},N=(b)=>{return Gk.create({projectStore:H,storeStore:Z}).validateProjectPath(b)},E=(b)=>{X.delete(b)},p=async(b,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8,content:U8,tree:l8})=>{let O6=await w(b);uq("createDocument: Creating document in project %s: mode=%s, path=%s, store=%s, type=%s",O6.projCtx,y,F,u,u8);let{transactionService:b6}=await T(O6.projCtx),$4=await b6.createDocument(O6,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,type:u8,content:U8,tree:l8});return uq("createDocument: Document created: id=%s, path=%s",$4.getObjectId(),$4.getPath()),$4},c=async(b,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,content:u8})=>{let U8=await w(b);uq("createTemplate: Creating template in project %s: mode=%s, path=%s, store=%s",U8.projCtx,y,F,u);let{transactionService:l8}=await T(U8.projCtx),O6=await l8.createTemplate(U8,{mode:y,store:u,path:F,root:K8,parentId:T8,name:k8,content:u8});return uq("createTemplate: Template created: id=%s, path=%s",O6.getObjectId(),O6.getPath()),O6},r=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.readDocument(W,u,{id:y})},P8=async(b,{path:y,store:u,type:F})=>{let K8=await w(b),{documentService:T8}=await T(K8.projCtx);return await T8.readDocumentByPath(W,K8,{path:y,type:F,storeCode:u})},O8=async(b,{id:y,path:u,parentId:F,type:K8})=>{let T8=await w(b),{transactionService:k8}=await T(T8.projCtx);return await k8.updateDocumentPath(T8,{id:y,path:u,parentId:F,type:K8})},R8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteDocument(u,{id:y})},I8=async(b,{id:y,content:u,sessionId:F})=>{let K8=await w(b),{transactionService:T8}=await T(K8.projCtx);return await T8.saveDraft(K8,{id:y,content:u,sessionId:F})},_8=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.readDraft(W,u,{id:y})},g8=async(b,{id:y,sessionId:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.publishDocument(F,{id:y,sessionId:u})},d8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.discardDraft(u,{id:y})},z8=async(b,{id:y,sessionId:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.setEditState(F,{id:y,sessionId:u})},v8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.clearEditState(u,{id:y})},C8=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.getEditState(W,u,{id:y})},f8=async(b,{id:y,versionNumber:u})=>{let F=await w(b),{documentService:K8}=await T(F.projCtx);return await K8.readVersion(W,F,{id:y,versionNumber:u})},c8=async(b,{id:y})=>{let u=await w(b),{documentService:F}=await T(u.projCtx);return await F.getVersions(W,u,{id:y})},m8=async(b,{id:y,operation:u,preview:F,ignoreContent:K8,sessionId:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.editDocument(k8,{id:y,operation:u,preview:F,ignoreContent:K8,sessionId:T8})},t8=async(b,{id:y,operations:u,preview:F,ignoreContent:K8,sessionId:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.batchEditDocument(k8,{id:y,operations:u,preview:F,ignoreContent:K8,sessionId:T8})},Y6=async(b,{folderId:y,store:u,type:F="d"})=>{let K8=await w(b),{documentService:T8}=await T(K8.projCtx);return await T8.listDocuments(W,K8,{parentId:y,storeCode:u,type:F})},z1=async(b,{id:y,params:u,target:F,targetOptions:K8,sessionId:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.renderTemplate(k8,{id:y,params:u,target:F,targetOptions:K8,sessionId:T8})},C1=async(b,{id:y})=>{let u=await w(b),{documentService:F,templateService:K8}=await T(u.projCtx),{entity:T8}=await F.readDocument(W,u,{id:y});if(!T8.getPublishedContent())return{parameters:{},detectedVariables:[],target:null,targetPath:null};return K8.extractTemplateParameters(T8.getPublishedContent())},R4=async(b,{store:y,ownerEntityId:u,name:F,label:K8,description:T8,primitiveType:k8,required:u8,multiplicity:U8,isSystem:l8})=>{let O6=await w(b),{transactionService:b6}=await T(O6.projCtx);return await b6.createFieldDefinition(O6,{store:y,ownerEntityId:u,name:F,label:K8,description:T8,primitiveType:k8,required:u8,multiplicity:U8,isSystem:l8})},C4=async(b,{id:y})=>{let u=await w(b),{fieldService:F}=await T(u.projCtx);return await F.readFieldDefinition(W,u,{id:y})},h$=async(b,{store:y,ownerEntityId:u,includeSystem:F})=>{let K8=await w(b),{fieldService:T8}=await T(K8.projCtx);return await T8.getFieldDefinitionsForOwner(W,K8,{store:y,ownerEntityId:u,includeSystem:F})},A8=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteFieldDefinition(u,{id:y})},M8=async(b,{entityId:y,fieldDefinitionId:u,fieldName:F,value:K8,values:T8})=>{let k8=await w(b),{transactionService:u8,rootStore:U8}=await T(k8.projCtx),l8=await u8.setFieldValue(k8,{entityId:y,fieldDefinitionId:u,fieldName:F,value:K8,values:T8});return U8.evictFolder(y),l8},n=async(b,{entityId:y})=>{let u=await w(b),{folderService:F}=await T(u.projCtx),K8=await F.readFolder(W,u,{id:y});if(!K8)return{};return K8.getFields()},J8=async(b,{entityId:y,fieldDefinitionId:u,fieldName:F})=>{let K8=await w(b),{transactionService:T8,rootStore:k8}=await T(K8.projCtx),u8=await T8.deleteFieldValue(K8,{entityId:y,fieldDefinitionId:u,fieldName:F});return k8.evictFolder(y),u8},s=async(b)=>{let y=await w(b),{exportService:u}=await T(y.projCtx);return await u.listExports(W,y,{projectPath:y.projectPath})},w8=async(b,{store:y="A"}={})=>{let u=await w(b),{exportService:F}=await T(u.projCtx);return await F.exportPreview(W,u,{storeCode:y})},q8=async(b,{store:y="A",confirm:u=!1}={})=>{let F=await w(b),{exportService:K8}=await T(F.projCtx);if(!u)return await K8.exportPreview(W,F,{storeCode:y});return await K8.exportDocuments(W,F,{storeCode:y,projectPath:F.projectPath})},W8=async(b,{filename:y,store:u="A"})=>{let F=await w(b);l.factory(!y,m.validation,"filename is required","FILENAME_REQUIRED");let{importService:K8}=await T(F.projCtx);return await K8.importDocuments(W,F,{filename:y,storeCode:u,projectPath:F.projectPath})},j8=async(b,{name:y,store:u,state:F})=>{let K8=await w(b),{transactionService:T8}=await T(K8.projCtx);return await T8.createStory(K8,{name:y,storeCode:u,state:F})},x8=async(b,{store:y})=>{let u=await w(b),{storyService:F}=await T(u.projCtx);return await F.listStories(W,u,{store:y})},T6=async(b,{id:y})=>{let u=await w(b),{storyService:F}=await T(u.projCtx);return await F.getStory(W,u,{id:y})},j6=async(b,{id:y,state:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.updateStoryState(F,{id:y,state:u})},E$=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteStory(u,{id:y})},y3=async(b,{storyId:y,state:u})=>{let F=await w(b),{transactionService:K8}=await T(F.projCtx);return await K8.createStateFolder(F,{storyId:y,state:u})},u3=async(b,{storyId:y})=>{let u=await w(b),{storyService:F}=await T(u.projCtx);return await F.listStateFolders(W,u,{storyId:y})},N8=async(b,{mode:y,storyId:u,storyPath:F,store:K8,state:T8})=>{let k8=await w(b),{transactionService:u8}=await T(k8.projCtx);return await u8.ensureStateFolder(k8,{mode:y,storyId:u,storyPath:F,store:K8,state:T8})},D8=async(b,{store:y,buffer:u,mimeType:F,originalFilename:K8,widthPx:T8,heightPx:k8,displayWidth:u8,displayHeight:U8})=>{let l8=await w(b),{transactionService:O6}=await T(l8.projCtx);return await O6.createAsset(l8,{store:y,buffer:u,mimeType:F,originalFilename:K8,widthPx:T8,heightPx:k8,displayWidth:u8,displayHeight:U8})},H8=async(b,{id:y})=>{let u=await w(b),{assetService:F}=await T(u.projCtx);return await F.readAsset(W,u,{id:y})},x=async(b,{id:y})=>{let u=await w(b),{assetService:F}=await T(u.projCtx);return await F.readAssetBinary(W,u,{id:y})},$8=async(b,{store:y})=>{let u=await w(b),{assetService:F}=await T(u.projCtx);return await F.listAssets(W,u,{store:y})},B=async(b,{id:y})=>{let u=await w(b),{transactionService:F}=await T(u.projCtx);return await F.deleteAsset(u,{id:y})};if(J)J({db:W,projectStore:H,storeStore:Z});return Object.freeze({getProjects:G,getProjectByObjectId:j,createProject:I,validateProjectPath:N,createFolder:v,renameFolder:A,moveFolder:R,deleteFolder:k,getFolder:f,getFolderByPath:D,listFolderContents:S,getRootStore:Q,evictProject:E,getDb:()=>W,createDocument:p,createTemplate:c,readDocument:r,readDocumentByPath:P8,updateDocumentPath:O8,deleteDocument:R8,saveDraft:I8,readDraft:_8,publishDocument:g8,discardDraft:d8,setEditState:z8,clearEditState:v8,getEditState:C8,readVersion:f8,getVersions:c8,editDocument:m8,batchEditDocument:t8,listDocuments:Y6,renderTemplate:z1,getTemplateParameters:C1,createFieldDefinition:R4,readFieldDefinition:C4,getFieldDefinitions:h$,deleteFieldDefinition:A8,setField:M8,getFields:n,deleteField:J8,listExports:s,exportPreview:w8,exportDocuments:q8,importDocuments:W8,createStory:j8,listStories:x8,getStory:T6,updateStoryState:j6,deleteStory:E$,createStateFolder:y3,ensureStateFolder:N8,listStateFolders:u3,createAsset:D8,readAsset:H8,readAssetBinary:x,listAssets:$8,deleteAsset:B,listCrons:()=>P.list(),startCron:(b)=>P.start(b),stopCron:(b)=>P.stop(b),restartCron:(b)=>P.restart(b),startAllCrons:()=>P.startAll(),stopAllCrons:()=>P.stopAll(),registerCronJob:(b,y)=>{P.register(b,y)}})},oQ8=Object.freeze({create:dO1});var aQ8=g6(IL(),1);import{join as iO1}from"path";var nO1=($,{staticPath:K})=>{return $.use(aQ8.default.static(K)),$.get("*",(q,Y,J)=>{if(q.path.startsWith("/api")||q.path==="/health")return J();Y.sendFile(iO1(K,"index.html"))}),Object.freeze({})},rQ8=Object.freeze({create:nO1});var sQ8=g6(a4(),1),JD=sQ8.default("caw:api:projects"),oO1=($,{core:K})=>{return $.get("/api/projects",async(q,Y)=>{try{JD("GET /api/projects - Fetching projects list");let J=await K.getProjects();JD("GET /api/projects - Returning %d projects",J.length),J.forEach((z)=>{JD(" - %s (%s) with %d children",z.name,z.objectId,z.children?.length||0)}),Y.json(J)}catch(J){JD("GET /api/projects - Error: %s",J.message),Y.status(500).json({error:J.message})}}),$.post("/api/projects/validate",async(q,Y)=>{try{let{path:J}=q.body,z=K.validateProjectPath(J);Y.json(z)}catch(J){if(J.code==="VALIDATION_ERROR")return Y.status(400).json({error:J.message,code:"VALIDATION_ERROR"});Y.status(500).json({error:J.message})}}),$.post("/api/projects",async(q,Y)=>{try{let{name:J,path:z}=q.body;if(!J||typeof J!=="string"||J.trim()==="")return Y.status(400).json({error:"Name is required",code:"VALIDATION_ERROR"});if(!z||typeof z!=="string"||z.trim()==="")return Y.status(400).json({error:"Path is required",code:"VALIDATION_ERROR"});if(J.length>255)return Y.status(400).json({error:"Name exceeds maximum length (255)",code:"VALIDATION_ERROR"});let W=await K.createProject({name:J.trim(),path:z.trim()});Y.status(201).json(W.toJSON())}catch(J){if(J.code==="DUPLICATE_PATH")return Y.status(409).json({error:J.message,code:"DUPLICATE_PATH"});console.error("Failed to create project:",J),Y.status(500).json({error:J.message})}}),Object.freeze({})},tQ8=Object.freeze({create:oO1});var $l8=g6(a4(),1);var aO1=($,K)=>{if($.isDomainError){let q=$.code==="UNAUTHORIZED"||$.code==="INVALID_TOKEN"?401:$.code==="NOT_FOUND"||$.code==="PROJECT_NOT_FOUND"||$.code==="EXPORT_NOT_FOUND"||$.code==="STORY_NOT_FOUND"||$.code==="ASSET_NOT_FOUND"||$.code==="BLOB_NOT_FOUND"||$.code==="STORE_NOT_FOUND"?404:$.code==="CONFLICT"||$.code==="STORE_NOT_EMPTY"||$.code==="EDIT_CONFLICT"||$.code==="DUPLICATE_NAME"?409:$.code==="EXPORT_ERROR"||$.code==="STORY_ROOT_NOT_FOUND"?500:400;return K.status(q).json({error:$.message,code:$.code})}console.error("Unhandled error:",$),K.status(500).json({error:$.message})},K6=aO1;var mq=$l8.default("caw:api:folders"),eQ8=($)=>({folders:$.folders.map((K)=>K.toJSON()),documents:$.documents.map((K)=>K.toJSON())}),rO1=($,{core:K})=>{return $.get("/api/p/:projectId/folders/contents",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,type:W}=q.query;mq("GET /api/p/%s/folders/contents - Listing root contents: store=%s, type=%s",J,z,W);let H=await K.listFolderContents(J,{folderId:null,store:z,type:W}),Z=eQ8(H);mq("GET /api/p/%s/folders/contents - Found %d folders, %d documents",J,Z.folders.length,Z.documents.length),Y.json(Z)}catch(J){mq("GET /api/p/%s/folders/contents - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/folders/by-path",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,type:H}=q.query,Z=await K.getFolderByPath(J,{path:z,store:W,type:H});if(!Z)return Y.status(404).json({error:"Not found"});Y.json(Z.toJSON())}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/folders/:id/contents",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{type:W}=q.query;mq("GET /api/p/%s/folders/%s/contents - Listing folder contents: type=%s",J,z,W);let H=await K.listFolderContents(J,{folderId:z,type:W}),Z=eQ8(H);mq("GET /api/p/%s/folders/%s/contents - Found %d folders, %d documents",J,z,Z.folders.length,Z.documents.length),Y.json(Z)}catch(J){mq("GET /api/p/%s/folders/%s/contents - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/folders/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getFolder(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(W.toJSON())}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/folders",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,root:H,parentId:Z,name:P}=q.body,O=z&&W&&!H&&!Z,X=H&&z&&!W&&!Z;if([O,X,Z&&P&&!z&&!H].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one creation mode required: (path+store), (root+path), or (parentId+name)",code:"INVALID_PARAMS"});let G;if(O)G="fullPath";else if(X)G="rootRelative";else G="parentName";mq("POST /api/p/%s/folders - Creating folder: mode=%s, path=%s, store=%s, root=%s, parentId=%s, name=%s",J,G,z,W,H,Z,P);let j=await K.createFolder(J,{mode:G,path:z,store:W,root:H,parentId:Z,name:P});mq("POST /api/p/%s/folders - Folder created: id=%s, path=%s",J,j.getObjectId(),j.getPath()),Y.status(201).json(j.toJSON())}catch(J){mq("POST /api/p/%s/folders - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.delete("/api/p/:projectId/folders/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.deleteFolder(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.patch("/api/p/:projectId/folders/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{name:W,parentId:H}=q.body;if(W&&H)return Y.status(400).json({error:"Provide only name or parentId, not both",code:"INVALID_REQUEST"});if(!W&&!H)return Y.status(400).json({error:"Provide name or parentId",code:"INVALID_REQUEST"});let Z;if(W)Z=await K.renameFolder(J,{id:z,name:W});else Z=await K.moveFolder(J,{id:z,parentId:H});Y.json(Z.toJSON())}catch(J){K6(J,Y)}}),Object.freeze({})},Kl8=Object.freeze({create:rO1});var sO1=($,{core:K})=>{return $.post("/api/p/:projectId/field-definitions",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,ownerEntityId:W,name:H,label:Z,description:P,primitiveType:O,required:X,multiplicity:w}=q.body,T=await K.createFieldDefinition(J,{store:z,ownerEntityId:W??null,name:H,label:Z??null,description:P??null,primitiveType:O,required:X??!1,multiplicity:w??"single"});Y.status(201).json(T.toJSON())}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/field-definitions/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.readFieldDefinition(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(W.toJSON())}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/field-definitions",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,ownerEntityId:W,includeSystem:H}=q.query,Z=await K.getFieldDefinitions(J,{store:z,ownerEntityId:W??null,includeSystem:H==="true"});Y.json(Z.map((P)=>P.toJSON()))}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/field-definitions/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.deleteFieldDefinition(J,{id:z});Y.json(W.toJSON())}catch(J){K6(J,Y)}}),$.put("/api/p/:projectId/entities/:id/fields/:fieldName",async(q,Y)=>{try{let{projectId:J,id:z,fieldName:W}=q.params,{fieldDefinitionId:H,value:Z,values:P}=q.body,O={entityId:z,fieldDefinitionId:H!==void 0?H:null,fieldName:W};if(Z!==void 0)O.value=Z;if(P!==void 0)O.values=P;await K.setField(J,O);let X=await K.getFolder(J,{id:z});Y.json({id:X.getObjectId(),parentId:X.getParentId(),name:X.getName(),path:X.getPath(),createdAt:X.getCreatedAt(),updatedAt:X.getUpdatedAt()})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/entities/:id/fields",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getFields(J,{entityId:z}),H={};for(let[Z,P]of Object.entries(W))H[Z]=P.toJSON();Y.json(H)}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/entities/:id/fields/:fieldName",async(q,Y)=>{try{let{projectId:J,id:z,fieldName:W}=q.params,{fieldDefinitionId:H}=q.query,Z={entityId:z,fieldName:W};if(H!==void 0)Z.fieldDefinitionId=H;await K.deleteField(J,Z),Y.status(204).send()}catch(J){K6(J,Y)}}),Object.freeze({})},ql8=Object.freeze({create:sO1});var Yl8=g6(a4(),1);var xO=Yl8.default("caw:api:documents"),tO1=($,{core:K})=>{return $.post("/api/p/:projectId/documents",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,root:H,parentId:Z,name:P,content:O}=q.body,X=z&&W&&!H&&!Z,w=H&&z&&!W&&!Z;if([X,w,Z&&P&&!z&&!H].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one creation mode required: (path+store), (root+path), or (parentId+name)",code:"INVALID_PARAMS"});let j;if(X)j="fullPath";else if(w)j="rootRelative";else j="parentName";xO("POST /api/p/%s/documents - Creating document: mode=%s, path=%s, store=%s, root=%s, parentId=%s, name=%s, hasContent=%s",J,j,z,W,H,Z,P,!!O);let A=(await K.createDocument(J,{mode:j,path:z,store:W,root:H,parentId:Z,name:P,content:O})).toJSON();xO("POST /api/p/%s/documents - Document created: id=%s, path=%s",J,A.id,A.path),Y.status(201).json(A)}catch(J){xO("POST /api/p/%s/documents - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.post("/api/p/:projectId/templates",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,root:H,parentId:Z,name:P,content:O}=q.body,X=z&&W&&!H&&!Z,w=H&&z&&!W&&!Z;if([X,w,Z&&P&&!z&&!H].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one creation mode required: (path+store), (root+path), or (parentId+name)",code:"INVALID_PARAMS"});let j;if(X)j="fullPath";else if(w)j="rootRelative";else j="parentName";xO("POST /api/p/%s/templates - Creating template: mode=%s, path=%s, store=%s, root=%s, parentId=%s, name=%s, hasContent=%s",J,j,z,W,H,Z,P,!!O);let A=(await K.createTemplate(J,{mode:j,path:z,store:W,root:H,parentId:Z,name:P,content:O})).toJSON();xO("POST /api/p/%s/templates - Template created: id=%s, path=%s",J,A.id,A.path),Y.status(201).json(A)}catch(J){xO("POST /api/p/%s/templates - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/documents/by-path",async(q,Y)=>{try{let{projectId:J}=q.params,{path:z,store:W,type:H="d"}=q.query,Z=await K.readDocumentByPath(J,{path:z,store:W,type:H});if(!Z)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});let{entity:P,ancestorFolderIds:O}=Z;Y.json({...P.toJSON(),ancestorFolderIds:O})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents",async(q,Y)=>{try{let{projectId:J}=q.params,{folderId:z,store:W,type:H="d"}=q.query,Z=await K.listDocuments(J,{folderId:z??null,store:W,type:H});Y.json(Z.map((P)=>P.toJSON()))}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/parameters",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{entity:W}=await K.readDocument(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});let H=W.getPublishedContent();if(!H)return Y.json({id:z,parameters:{},target:null,targetPath:null,detectedVariables:[]});try{let{parameters:Z,target:P,targetPath:O}=Y3.getParameters(H),{body:X}=Y3.parseFrontMatter(H),w=Array.from(Y3.extractVariables(X));Y.json({id:z,parameters:Z,target:P,targetPath:O,detectedVariables:w})}catch(Z){return Y.json({id:z,parameters:{},target:null,targetPath:null,detectedVariables:[],parseError:Z.message})}}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/documents/:id/render",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{params:W,target:H,targetOptions:Z}=q.body,P=await K.renderTemplate(J,{id:z,params:W,target:H,targetOptions:Z,sessionId:q.sessionId});Y.json(P)}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{entity:W,ancestorFolderIds:H}=await K.readDocument(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json({...W.toJSON(),ancestorFolderIds:H})}catch(J){K6(J,Y)}}),$.patch("/api/p/:projectId/documents/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{path:W,parentId:H}=q.body,Z=F1.getTypeFromId(z),P=await K.updateDocumentPath(J,{id:z,path:W,parentId:H,type:Z});Y.json(P.toJSON())}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/documents/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.deleteDocument(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.put("/api/p/:projectId/documents/:id/draft",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{content:W}=q.body,H=q.sessionId;if(W===void 0)return Y.status(400).json({error:"content is required",code:"MISSING_CONTENT"});let Z=await K.saveDraft(J,{id:z,content:W,sessionId:H});Y.json({id:z,updated:!0,lockLost:Z.lockLost??!1})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/draft",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.readDraft(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/documents/:id/publish",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.publishDocument(J,{id:z,sessionId:q.sessionId});Y.json(W)}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/documents/:id/draft",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;await K.discardDraft(J,{id:z}),Y.json({id:z,discarded:!0})}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/versions",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getVersions(J,{id:z});Y.json(W)}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/versions/:versionNumber",async(q,Y)=>{try{let{projectId:J,id:z,versionNumber:W}=q.params,H=await K.readVersion(J,{id:z,versionNumber:parseInt(W,10)});if(!H)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(H)}catch(J){K6(J,Y)}}),$.get("/api/p/:projectId/documents/:id/edit-state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=await K.getEditState(J,{id:z});if(!W)return Y.json({locked:!1});Y.json({locked:!0,locked_at:W.startedAt})}catch(J){K6(J,Y)}}),$.post("/api/p/:projectId/documents/:id/edit-state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,W=q.sessionId;if(!W)return Y.status(400).json({error:"X-Session-Id header required",code:"MISSING_SESSION_ID"});let H=await K.setEditState(J,{id:z,sessionId:W});if(!H.success)return Y.status(409).json(H);Y.json(H)}catch(J){K6(J,Y)}}),$.delete("/api/p/:projectId/documents/:id/edit-state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;await K.clearEditState(J,{id:z}),Y.json({success:!0})}catch(J){K6(J,Y)}}),Object.freeze({})},Jl8=Object.freeze({create:tO1});var zl8=g6(a4(),1);var g3=zl8.default("caw:api:export"),eO1=($,{core:K})=>{return $.get("/api/p/:projectId/exports",async(q,Y)=>{try{let{projectId:J}=q.params;g3("GET /api/p/%s/exports - Listing export files",J);let z=await K.listExports(J);g3("GET /api/p/%s/exports - Found %d export files",J,z.length),Y.json({ok:!0,exports:z})}catch(J){g3("GET /api/p/:projectId/exports - Error: %s",J.message),K6(J,Y)}}),$.get("/api/p/:projectId/export/preview",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z}=q.query;g3("GET /api/p/%s/export/preview - Previewing export: store=%s",J,z);let W=await K.exportPreview(J,{store:z});g3("GET /api/p/%s/export/preview - Preview complete: %d to export, %d draft-only",J,(W.toExport?.folders?.length||0)+(W.toExport?.documents?.length||0)+(W.toExport?.templates?.length||0),(W.draftOnly?.documents?.length||0)+(W.draftOnly?.templates?.length||0)),Y.json(W)}catch(J){g3("GET /api/p/:projectId/export/preview - Error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/export",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z,confirm:W}=q.body;g3("POST /api/p/%s/export - Export request: store=%s, confirm=%s",J,z,W);let H=await K.exportDocuments(J,{store:z,confirm:W});if(W)g3("POST /api/p/%s/export - Export complete: %s",J,H.filename);else g3("POST /api/p/%s/export - Preview returned (confirm=false)",J);Y.json(H)}catch(J){g3("POST /api/p/:projectId/export - Error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/import",async(q,Y)=>{try{let{projectId:J}=q.params,{filename:z,store:W}=q.body;g3("POST /api/p/%s/import - Import request: filename=%s, store=%s",J,z,W);let H=await K.importDocuments(J,{filename:z,store:W});g3("POST /api/p/%s/import - Import complete: %d folders, %d documents, %d templates",J,H.counts?.folders||0,H.counts?.documents||0,H.counts?.templates||0),Y.json({ok:!0,...H})}catch(J){g3("POST /api/p/:projectId/import - Error: %s",J.message),K6(J,Y)}}),Object.freeze({})},Wl8=Object.freeze({create:eO1});var Hl8=g6(a4(),1);var X7=Hl8.default("caw:api:stories"),$X1=($,{core:K})=>{return $.post("/api/p/:projectId/stories",async(q,Y)=>{try{let{projectId:J}=q.params,{name:z,store:W="A",state:H="prep"}=q.body;X7("POST /api/p/%s/stories - Creating story: name=%s, store=%s, state=%s",J,z,W,H);let Z=await K.createStory(J,{name:z,store:W,state:H});Y.status(201).json(Z)}catch(J){X7("POST /api/p/%s/stories - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/stories",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z="A"}=q.query;X7("GET /api/p/%s/stories - Listing stories: store=%s",J,z);let W=await K.listStories(J,{store:z});Y.json(W)}catch(J){X7("GET /api/p/%s/stories - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/stories/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;X7("GET /api/p/%s/stories/%s - Getting story",J,z);let W=await K.getStory(J,{id:z});if(!W)return Y.status(404).json({error:"Not found",code:"NOT_FOUND"});Y.json(W)}catch(J){X7("GET /api/p/%s/stories/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.patch("/api/p/:projectId/stories/:id/state",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{state:W}=q.body;if(!W)return Y.status(400).json({error:"State is required",code:"MISSING_STATE"});X7("PATCH /api/p/%s/stories/%s/state - Updating state to: %s",J,z,W);let H=await K.updateStoryState(J,{id:z,state:W});Y.json(H)}catch(J){X7("PATCH /api/p/%s/stories/%s/state - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.delete("/api/p/:projectId/stories/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;X7("DELETE /api/p/%s/stories/%s - Deleting story",J,z);let W=await K.deleteStory(J,{id:z});Y.json(W)}catch(J){X7("DELETE /api/p/%s/stories/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/stories/:id/states",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;X7("GET /api/p/%s/stories/%s/states",J,z);let W=await K.listStateFolders(J,{storyId:z});Y.json(W)}catch(J){X7("GET states error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/stories/:id/states",async(q,Y)=>{try{let{projectId:J,id:z}=q.params,{state:W}=q.body;X7("POST /api/p/%s/stories/%s/states state=%s",J,z,W);let H=await K.createStateFolder(J,{storyId:z,state:W}),Z=H.created?201:200;Y.status(Z).json(H)}catch(J){X7("POST states error: %s",J.message),K6(J,Y)}}),$.post("/api/p/:projectId/stories/state-folders",async(q,Y)=>{try{let{projectId:J}=q.params,{storyId:z,storyPath:W,store:H,state:Z}=q.body;if(!Z)return Y.status(400).json({error:"state is required",code:"MISSING_STATE"});let P=z&&!W;if([P,W&&H&&!z].filter(Boolean).length!==1)return Y.status(400).json({error:"Exactly one mode required: (storyId) or (storyPath+store)",code:"INVALID_PARAMS"});let w;if(P)w="storyId";else w="storyPath";X7("POST /api/p/%s/stories/state-folders - mode=%s, storyId=%s, storyPath=%s, store=%s, state=%s",J,w,z,W,H,Z);let T=await K.ensureStateFolder(J,{mode:w,storyId:z,storyPath:W,store:H,state:Z}),G=T.created?201:200;Y.status(G).json(T)}catch(J){X7("POST /api/p/%s/stories/state-folders - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),Object.freeze({})},Zl8=Object.freeze({create:$X1});var xi8=g6(a4(),1),RD=g6(Li8(),1);var EK=xi8.default("caw:api:assets"),Ii8=["image/png","image/jpeg","image/gif","image/webp"],Fj1=RD.default({storage:RD.default.memoryStorage(),limits:{fileSize:10485760},fileFilter:($,K,q)=>{if(Ii8.includes(K.mimetype))q(null,!0);else q(new Error(`Unsupported MIME type: ${K.mimetype}. Allowed: ${Ii8.join(", ")}`))}}),Qj1=($,{core:K})=>{return $.post("/api/p/:projectId/assets",Fj1.single("file"),async(q,Y)=>{try{let{projectId:J}=q.params,{store:z="A"}=q.query,W=q.file;if(!W)return Y.status(400).json({error:"No file uploaded",code:"MISSING_FILE"});let H=q.body.widthPx?parseInt(q.body.widthPx,10):void 0,Z=q.body.heightPx?parseInt(q.body.heightPx,10):void 0,P=q.body.displayWidth?parseInt(q.body.displayWidth,10):void 0,O=q.body.displayHeight?parseInt(q.body.displayHeight,10):void 0;EK("POST /api/p/%s/assets - Uploading: %s (%s, %d bytes)",J,W.originalname,W.mimetype,W.size);let X=await K.createAsset(J,{store:z,buffer:W.buffer,mimeType:W.mimetype,originalFilename:W.originalname,widthPx:H,heightPx:Z,displayWidth:P,displayHeight:O});Y.status(201).json(X)}catch(J){EK("POST /api/p/%s/assets - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/assets/:id/binary",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;EK("GET /api/p/%s/assets/%s/binary - Retrieving binary",J,z);let W=await K.readAssetBinary(J,{id:z});Y.set("Content-Type",W.mimeType),Y.set("Content-Length",W.sizeBytes),Y.set("Cache-Control","public, max-age=31536000, immutable"),Y.set("Content-Disposition",`inline; filename="${W.originalFilename}"`),Y.send(W.buffer)}catch(J){EK("GET /api/p/%s/assets/%s/binary - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/assets/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;EK("GET /api/p/%s/assets/%s - Retrieving metadata",J,z);let W=await K.readAsset(J,{id:z});Y.json(W)}catch(J){EK("GET /api/p/%s/assets/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.get("/api/p/:projectId/assets",async(q,Y)=>{try{let{projectId:J}=q.params,{store:z="A"}=q.query;EK("GET /api/p/%s/assets - Listing assets for store %s",J,z);let W=await K.listAssets(J,{store:z});Y.json(W)}catch(J){EK("GET /api/p/%s/assets - Error: %s",q.params.projectId,J.message),K6(J,Y)}}),$.delete("/api/p/:projectId/assets/:id",async(q,Y)=>{try{let{projectId:J,id:z}=q.params;EK("DELETE /api/p/%s/assets/%s - Deleting asset",J,z);let W=await K.deleteAsset(J,{id:z});Y.json(W)}catch(J){EK("DELETE /api/p/%s/assets/%s - Error: %s",q.params.projectId,q.params.id,J.message),K6(J,Y)}}),$.use("/api/p/:projectId/assets",(q,Y,J,z)=>{if(q instanceof RD.default.MulterError){if(q.code==="LIMIT_FILE_SIZE")return J.status(400).json({error:"File too large. Maximum size is 10MB.",code:"FILE_TOO_LARGE"});return J.status(400).json({error:q.message,code:"UPLOAD_ERROR"})}if(q.message&&q.message.includes("Unsupported MIME type"))return J.status(400).json({error:q.message,code:"UNSUPPORTED_MIME_TYPE"});z(q)}),Object.freeze({})},bi8=Object.freeze({create:Qj1});var gi8=g6(a4(),1);var CD=gi8.default("caw:api:events"),lj1=($,{core:K})=>{return $.get("/api/p/:projectId/events",async(q,Y)=>{try{let{projectId:J}=q.params;CD("GET /api/p/%s/events - Client connecting",J);let z=await K.getRootStore(J);CD("GET /api/p/%s/events - Got root store, setting up SSE subscription",J),Y.setHeader("Content-Type","text/event-stream"),Y.setHeader("Cache-Control","no-cache"),Y.setHeader("Connection","keep-alive"),Y.flushHeaders(),Y.write(`: connected
|
|
554
554
|
|
|
555
555
|
`);let W=(P,O)=>{CD("SSE sending event: %s with data: %o",P,O),Y.write(`event: ${P}
|
|
556
556
|
`),Y.write(`data: ${JSON.stringify(O)}
|