@elyx-code/project-logic-tree 0.0.6055 → 0.0.6056

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/index.js CHANGED
@@ -41394,7 +41394,7 @@ function Sd(r, e, t, i) {
41394
41394
  Pa.setParent(ot), Pa.initChildren(), Pa.addSelfToProject(), s.push(Pa);
41395
41395
  }) : Bt.length === 1 && ot.setEntity(Bt[0]);
41396
41396
  }), {
41397
- hasCreated: !1,
41397
+ hasCreated: !0,
41398
41398
  changeSet: {
41399
41399
  updated: v(a),
41400
41400
  added: v(s),
@@ -365,7 +365,7 @@ All global 'function-declaration' entity ids are:
365
365
  The project currently has no global 'function-declaration' entities that can be called as 'function-call' entities.`;a.push(new E({id:`${i.id}--${f.InvalidReference}`,code:f.InvalidReference,severity:T.Error,message:`Entity of type "${n.FunctionCall}" with id "${i.id}", has an invalid reference at the 'declaration' property. The 'declaration' property must be a valid reference to an 'function-declaration' entity.
366
366
  References can either be an ID string or an object with exacly four properties: 'id', 'entityId', 'entityType', 'type'.${l}`,issue:null}))}return{errors:a,modifiedData:i}}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${f.InvalidParentUpdate}`,code:f.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on a callable entity, is its scope. It scope is auto-calculated implicitly by the its caller.
367
367
  If an entity is called by another, they must be in the same scope, which means they have the same parent.
368
- You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var a;const e=[this],t=[],i=[];return this.parent===this.project&&this.project.addFunctionCall(this),(a=this.process)==null||a.writesValues.forEach(s=>{s.setValueWriter(this.process),e.push(s)}),this.successCalls.forEach(s=>{s.addSuccessCaller(this),e.push(s)}),this.errorCalls.forEach(s=>{s.addErrorCaller(this),e.push(s)}),this.calledBySuccess.forEach(s=>{s.addSuccessCall(this),e.push(s)}),this.calledByError.forEach(s=>{s.addErrorCall(this),e.push(s)}),this.calledByEntry.forEach(s=>{s.addCall(this),e.push(s)}),{updated:g(e),added:g(t),removed:g(i),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===n.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=w(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[n.BreakStatement,n.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==n.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[n.BreakStatement,n.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==n.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initOutputs(),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this}initOutputs(){const e=[];this.outputs=this.initialData.outputs.map(s=>{const o=R(s,this.project);return e.push(o.index),o.setParent(this),o.initChildren(),o});const i=wu(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));i.sort((s,o)=>s.index-o.index);const a=i.map((s,o)=>{const l=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:N.UUID.uuid(),type:n.OutputMap,version:1,declaration:s,index:l,parent:this,writesValues:[]},y=R(p,this.project);return y.setParent(this),y.initChildren(),y});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:g(i),removed:g(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:g(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+N.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===n.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=H2(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new Ce(this.toJSON(),this.project)}};c(Ce,"MUTABLE_BASE_PROPERTIES",[]),c(Ce,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Ce,"BASE_PROPERTIES",[...Ce.MUTABLE_BASE_PROPERTIES,...Ce.INMUTABLE_BASE_PROPERTIES]),c(Ce,"MUTABLE_META_PROPERTIES",["x","y"]),c(Ce,"INMUTABLE_META_PROPERTIES",[...Ce.INMUTABLE_BASE_PROPERTIES]),c(Ce,"META_PROPERTIES",[...Ce.MUTABLE_META_PROPERTIES,...Ce.INMUTABLE_META_PROPERTIES]),c(Ce,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(Ce,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(Ce,"UPSTREAM_PROPERTIES",[...Ce.MUTABLE_UPSTREAM_PROPERTIES,...Ce.INMUTABLE_UPSTREAM_PROPERTIES]),c(Ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),c(Ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Ce,"DOWNSTREAM_PROPERTIES",[...Ce.MUTABLE_DOWNSTREAM_PROPERTIES,...Ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Ce,"PROPERTIES",[...Ce.META_PROPERTIES,...Ce.UPSTREAM_PROPERTIES,...Ce.DOWNSTREAM_PROPERTIES]);let xr=Ce;function KA(r){var e,t,i;switch(r.id){case _["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=r.project.entities.filter(h=>!!h.implements.find(m=>m.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(h=>!!h.properties.find(m=>{var b;return m.implements&&m.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((b=m.getDefaultValue())==null?void 0:b.value)===!0}))){const m=a[0].properties.find(v=>v.implements&&v.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),b=(e=m==null?void 0:m.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(m!=null&&m.dataType){const v=(t=m==null?void 0:m.dataType)==null?void 0:t.id.split("-id")[0],D=R({id:v+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:m==null?void 0:m.dataType.toReference()},r.project);return D.setParent(m==null?void 0:m.dataType),D.initChildren(),D.addSelfToProject(),{newEntities:[D]}}return{newEntities:[]}}const o=r.project.get(_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),l=Go(o,"Main database");if(l.errors.length>0)return{newEntities:[]};const p=l.implemented.properties.find(h=>h.implements&&h.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),y=(i=p==null?void 0:p.dataType)==null?void 0:i.defaultValue;if(y)y.value=!0;else if(p!=null&&p.dataType){const h=p==null?void 0:p.dataType.id.split("-id")[0],m=R({id:h+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},r.project);m.setParent(p==null?void 0:p.dataType),m.initChildren(),m.addSelfToProject()}return{newEntities:[l.implemented]}}}return{newEntities:[]}}function XA(r){return r.implements.filter(t=>t.type===n.BuiltInBaseEntity).map(t=>{var i;switch(t.id){case _["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=r.project.entities.filter(p=>p.implements.find(y=>y.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(y=>{var h;return y.implements&&y.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((h=y.getDefaultValue())==null?void 0:h.value)===!0}));if(!s)return{newEntities:[]};const o=r.properties.find(p=>p.implements&&p.implements.id===_["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id),l=(i=o==null?void 0:o.dataType)==null?void 0:i.defaultValue;if(o&&(o!=null&&o.dataType)&&!l){const p=o==null?void 0:o.dataType.id.split("-id")[0],y=R({id:p+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},r.project);return y.setParent(o==null?void 0:o.dataType),y.initChildren(),y.addSelfToProject(),{newEntities:[y]}}return{newEntities:[]}}}}),{newEntities:[]}}function Go(r,e,t){const i=t||He(e,n.CustomEntity,r.project),a=i.split("-id"),s=a[a.length-1||0]||i,o={id:i,version:1,name:e,type:n.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[r],x:0,y:0,parent:r.project},l=So(o,r.project);if(l.length>0)return{errors:l,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=KA(r),y=R(o,r.project);y.setParent(r.project),y.initChildren();const h=r.properties.map(v=>{const D=s+"-"+He(C(v,r.project),n.Property,r.project),O=v.clone(y,D);return O.abstract=!1,O.implements=v,O.setParent(y),y.addProperty(O),O}),m=r.abstractMethods.map(v=>{const D=s+He(v.name,n.FunctionDeclaration,r.project),O=v.implementAsFunctionDeclaration(D),S={id:D+"-parent-ref-id",type:n.GenericReference,entityId:i,entityType:n.CustomEntity},x={...O,implements:v,parent:S},k=R(x,r.project);return y.addMethod(k),k.setParent(y),k.initChildren(),k.implements=v,k});o.properties=h,o.methods=m;const b=XA(y);return{implemented:y,errors:[],entitiesChanges:{new:[y,...p.newEntities,...b.newEntities],updated:[y],deleted:[]}}}function QA(r,e){return e.entities.find(a=>{const s=a.properties,o=s.map(h=>h.name),l=r.every(h=>o.includes(h)),p=o.filter(h=>!r.includes(h)),y=s.every(h=>!p.includes(h.name)||!h.required);return l&&y})||null}function eP(r,e,t,i){const a=[],s=[],o=[];let l=[];switch(typeof r){case"string":l=[e.getBuiltIn(I.String)];break;case"number":l=[e.getBuiltIn(I.Number)];break;case"boolean":l=[e.getBuiltIn(I.Boolean)];break;case"object":if(r===null){l=[e.getBuiltIn(I.Null)];break}else if(Array.isArray(r))if(r.length>0){const y=r.slice(0,5).filter(h=>h!==void 0).map(h=>{switch(typeof h){case"string":return e.getBuiltIn(I.String);case"number":return e.getBuiltIn(I.Number);case"boolean":return e.getBuiltIn(I.Boolean);case"object":return null}return null});if(y.includes(null)){l=[null];break}else{l=y;break}}else{const p=Pu(r[0],e,t,i);l=[p.changeSet.self],a.push(...p.changeSet.updated),s.push(...p.changeSet.added),o.push(...p.changeSet.removed);break}else{const p=Pu(r,e,t,i);l=[p.changeSet.self],a.push(...p.changeSet.updated),s.push(...p.changeSet.added),o.push(...p.changeSet.removed);break}}return{entities:l,changeSet:{updated:g(a),added:g(s),removed:g(o),self:null}}}function Pu(r,e,t,i){const a=[],s=[],o=[],l=Object.keys(r),p=QA(l,e);if(p)return{hasCreated:!1,changeSet:{updated:[],added:[],removed:[],self:p}};const y=i?t.name+" of "+i.name:t.name,m={id:t.id||He(y,n.CustomEntity,e),version:1,name:y,type:n.CustomEntity,description:t.description||null,static:t.static||!1,abstract:t.abstract||!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[],x:0,y:0,parent:e.toReference()},b=R(m,e);return b.setParent(e),b.initChildren(),b.addSelfToProject(),s.push(b),l.forEach((v,D)=>{const O=He(t.name+" "+v,n.Property,e),S={id:O,version:1,name:v,type:n.Property,description:null,static:!1,abstract:!1,dataType:null,implements:null,index:D,hidden:!1,private:!1,required:!1,parent:b.toReference()},x=R(S,e);x.setParent(b),x.initChildren(),x.addSelfToProject(),s.push(x);const k=r[v],te=O+"--data-type-id",Ve={id:te,version:1,type:n.DataType,entity:null,isList:!1,isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parent:x.toReference()},Rt=R(Ve,e);Rt.setParent(x),Rt.initChildren(),Rt.addSelfToProject(),s.push(Rt);const St=eP(k,e,{...t,name:v},i||b),jt=St.entities;a.push(...St.changeSet.updated),s.push(...St.changeSet.added),o.push(...St.changeSet.removed),jt.length>1?jt.forEach(Jr=>{const $7={id:te+"--or-child-id",version:1,type:n.DataType,entity:Jr,isList:!1,isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parentRelationType:lt.OrDataTypeGroup,parent:Rt.toReference()},Wo=R($7,e);Wo.setParent(Rt),Wo.initChildren(),Wo.addSelfToProject(),s.push(Wo)}):jt.length===1&&Rt.setEntity(jt[0])}),{hasCreated:!1,changeSet:{updated:g(a),added:g(s),removed:g(o),self:b}}}function $o(r,e){const t=jr(r);if(t.length===0)return{list:[],last:null};let i=null;return{list:t.flatMap(s=>{if(s===e)return i=s,[s];const o=$o(s,e);return o.last&&(i=o.last),[s,...o.list]}),last:i}}function tP(r,e,t=new Set){const i=Xn(r),a=Xn(e),s=i.filter(p=>!a.includes(p)),o=i.filter(p=>a.includes(p)),l=s.reduce((p,y)=>t.has(y.id)?p:(t.add(y.id),g([...p,...tP(y,e,t)])),[]);return g([...o,...l])}function Fa(r,e){const t=$o(r,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function z2(r,e){return!!$o(r,e).last}function Z2(r){if(Ge.includes(r.type))return r;if([...wn,n.VariableDeclaration].includes(r.type)){const e=r.parent;return Ge.includes(e.type)?e:null}return null}function Ou(r,e){if(!r||!e)throw new Error("Both entities must be defined to find a common ancestor");if(r===e)return r;const t=r.parent;if(t){if(t===e)return e;if(t.type===n.Project)return null}else return null;const i=e.parent;if(i){if(i===r)return r;if(i.type===n.Project)return null}else return null;return Ou(t,i)}function Xe(r){if(zo.includes(r.type)){if(r.type===n.FunctionDeclaration){const e=r.parent;if(e.type===n.CustomEntity)return e;if(e.type===n.Loop)return e}return r}else{const e=r.parent;return e?Xe(e):null}}function K2(r){return r.type===n.VariableDeclaration?[r]:Ue.includes(r.type)?[...r.inputs,...r.outputs||[]]:r.type===n.ReturnStatement?r.outputs:Wr.includes(r.type)||r.type===n.FunctionDeclaration?r.inputs:[]}function X2(r){const e=Xn(r),t=[],i=[];xu.includes(r.type)&&t.push(...Su(r));const a=e.filter(s=>{const o=t.includes(s);return o?!1:wn.includes(s.type)&&!o?(i.push(s),!1):!0});return t.sort((s,o)=>Fa(o,s)?-1:0),i.sort((s,o)=>Fa(o,s)?-1:0),[...t,...i,...a]}function nP(r){return[...r].sort((e,t)=>Fa(t,e)?-1:0)}function Q2(r){const e=nP(r),t=[];return e.forEach(i=>{const a=t[t.length-1];if(a){const s=a[a.length-1];Fa(i,s)?t.push([i]):a.push(i)}else t.push([i])}),t}function Et(r){const e=r.map(t=>Xe(t));return g(e)}function Su(r){return Ue.includes(r.type)?[...Et(r.successCalls),...Et(r.errorCalls)]:Ge.includes(r.type)?Et(r.calls):[]}function e7(r,e){return Su(r).includes(e)}function Cu(r){return r.writesValues||[]}function t7(r,e){return Cu(r).includes(e)}function rP(r){var e;return ke.includes((e=r==null?void 0:r.readsValue)==null?void 0:e.type)?r.readsValue:null}function n7(r){return r.writesValues}function iP(r=[]){return r.map(rP).filter(e=>!!e)}function Fo(r=[]){return r.map(e=>e.writesValues).flat().filter(e=>ke.includes(e.type))}function aP(r=[]){return r.map(e=>e.readsValue).filter(e=>!!e&&ke.includes(e.type))}function sP(r){return ke.includes(r.type)?r:null}function oP(r){return r.writesValues.map(sP).filter(e=>!!e)}function lP(r=[]){return r.reduce((e,t)=>t.type===n.OutputMap?[...e,...oP(t)]:e,[])}function we(r){return Ue.includes(r.type)?[...cn(Et(r.successCalls)),...cn(Et(r.errorCalls))]:Ge.includes(r.type)?cn(Et(r.calls)):[]}function r7(r){return Ue.includes(r.type)?[...cn(Et(r.successCalls)),...cn(Et(r.errorCalls))]:Ge.includes(r.type)?cn(Et(r.calls)):[]}function cP(r,e=new Set){return r.writesValues.filter(i=>ke.includes(i.type)&&!e.has(i.id)).reduce((i,a)=>e.has(a.id)?i:[...i,...ie(a,e)],[])}function dP(r,e=new Set){var i;return(((i=r.readsValue)==null?void 0:i.writesValues)||[]).filter(a=>ke.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...ie(s,e)],[])}function ie(r,e=new Set){if(e.has(r.id))return[];if(r.type===n.ReturnStatement)return aP(r.outputs).reduce((i,a)=>[...i,...ie(a,e)],[]);if(r.type===n.FunctionCall||r.type===n.Operation||r.type===n.Condition)return[...we(r).reduce((s,o)=>{const l=Xe(o);return[...s,...ie(l||o,e)]},[]),...iP(r.inputs),...lP(r.outputs)].reduce((s,o)=>[...s,...ie(o,e)],[]);if(Wr.includes(r.type)){const t=Fo(r.inputs),a=we(r).reduce((s,o)=>{const l=Xe(o);return[...s,...ie(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...ie(o,e)],[])}if(r.type===n.FunctionDeclaration){const t=[...Fo(r.inputs)],a=we(r).reduce((s,o)=>{const l=Xe(o);return[...s,...ie(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...ie(o)],[])}if(ke.includes(r.type)){e.add(r.id);const i=we(r).reduce((a,s)=>{const o=Xe(s);return[...a,...ie(o||s,e)]},[]);return[r,...i,...dP(r,e),...cP(r,e)]}return[]}function Ot(r,e=new Set){return e.has(r.id)?[]:(e.add(r.id),[...Xn(r).reduce((a,s)=>[...a,s,...Ot(s,e)],[])])}function cn(r){return r.reduce((e,t)=>t.type===n.ReturnStatement||t.type===n.ContinueStatement||t.type===n.BreakStatement?[...e,t]:[...e,t,...we(t)],[])}function uP(r){const e=r.entities||[],t=[...e,...r.functions||[],...r.events||[],...r.projects||[]],i=e.reduce((p,y)=>[...p,...y.properties],[]),a=e.reduce((p,y)=>[...p,...y.methods],[]),s=a.reduce((p,y)=>[...p,...Fo(y.inputs),...cn(Et(y.calls)),...y.returnStatements],[]),o=r.functions.reduce((p,y)=>[...p,...cn(Et(y.calls)),...y.returnStatements],[]),l=r.events.reduce((p,y)=>[...p,...cn(Et(y.calls)),...y.returnStatements],[]);return[...t,...i,...a,...s,...o,...l]}function pP(r,e){return e.filter(i=>{if(!i)return!1;switch(i.type){case n.FunctionCall:return i.inputs.find(a=>a.id===r.id)!==void 0||i.outputs.find(a=>a.id===r.id)!==void 0;case n.Condition:return i.successCalls.find(a=>a.id===r.id)!==void 0||i.errorCalls.find(a=>a.id===r.id)!==void 0||i.inputs.find(a=>a.id===r.id)!==void 0;case n.Operation:return i.outputs.find(a=>a.id===r.id)!==void 0;case n.VariableDeclaration:return Ue.includes(r.type)?yP(r).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===i.id})!==void 0:!1;case n.CustomEntity:return i.properties.find(a=>a.id===r.id)!==void 0||i.methods.find(a=>a.id===r.id)!==void 0;case n.FunctionDeclaration:return i.inputs.find(a=>a.id===r.id)!==void 0||(i.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===r.id)!==void 0;default:return!1}})}function i7(r){const e=uP(r.project);return pP(r,e)}function jr(r){const e=[];if(wn.includes(r.type)){r.calledBy.forEach(a=>{const s=Xe(a);s&&e.push(s)});const i=[...r.inputs||[],...r.outputs||[]].map(a=>_u(a)).filter(a=>a!==null);e.push(...g(i))}if(ke.includes(r.type)){const t=_u(r);t&&e.push(t)}return g(e)}function Bu(r){return r.type===n.FunctionCall||r.type===n.InternalCall||[n.Operation,n.Condition,n.Loop].includes(r.type)?r.declaration.inputs:r.type===n.FunctionDeclaration||Wr.includes(r.type)?r.inputs:r.type===n.Search?r.inputsDeclarations:[]}function a7(r,e){return e.type===n.Condition?e.inputs.find(t=>t.declaration.id===r.id):e.type===n.FunctionCall||e.type===n.Operation?e.inputs.find(t=>t.declaration.id===r.id):null}function yP(r){return Ue.includes(r.type)?r.inputs:[]}function wu(r){var e;return r.type===n.FunctionCall?((e=r.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[n.Operation,n.Condition,n.Loop].includes(r.type)?r.declaration.outputs:r.type===n.Search?r.outputsDeclarations:$e.includes(r.type)?r.outputs:[]}function s7(r,e){return e.type===n.Condition?null:e.type===n.FunctionCall||e.type===n.Operation?e.outputs.find(t=>t.declaration.id===r.id):null}function o7(r){return r.type===n.Condition?[]:Ue.includes(r.type)?r.outputs:[]}function _u(r){const e=r.readsValue;return e?Xe(e):null}function fP(r){const e=r.internalCalls||[];return g(Et(g(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function Ci(r){const e=Cu(r),t=[];return e.forEach(i=>{if(ke.includes(i.type))t.push(i);else if(Bn.includes(i.type)){const a=i.parent;t.push(a)}}),t}function g(r){const e=new Set;return r.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function Xn(r,e=!1){const t=[];if(r.type===n.Project&&t.push(...(r==null?void 0:r.entities)||[],...(r==null?void 0:r.functions)||[],...(r==null?void 0:r.variableDeclarations)||[],...(r==null?void 0:r.variableInstances)||[],...(r==null?void 0:r.searches)||[],...(r==null?void 0:r.loops)||[],...(r==null?void 0:r.operations)||[],...(r==null?void 0:r.conditions)||[],...(r==null?void 0:r.functionCalls)||[],...(r==null?void 0:r.events)||[],...(r==null?void 0:r.projects)||[]),ct.includes(r.type)&&t.push(...(r==null?void 0:r.detachedChildren)||[]),r.type===n.CustomEntity){const i=[...r.suggestedMethods,...r.methods].flatMap(a=>a.collapsed&&e?[]:Xn(a));t.push(...i)}if(r.type===n.Condition){const i=r.successCalls.map(s=>Xe(s)),a=r.errorCalls.map(s=>Xe(s));t.push(...i,...a)}if(Wr.includes(r.type)){if(r.collapsed&&e)return[];const i=r.inputs.map(s=>Ci(s)).flat(),a=r.calls.map(s=>Xe(s));t.push(...g(i),...a)}if(Ue.includes(r.type)&&r.type!==n.Condition){const i=r==null?void 0:r.outputs.map(o=>Ci(o)).flat(),a=r.successCalls.map(o=>Xe(o)),s=r.errorCalls.map(o=>Xe(o));t.push(...g(i),...a,...s)}if(ke.includes(r.type)){const i=Ci(r),a=fP(r);t.push(...i,...a)}if(r.type===n.Loop){const i=r.outputs.map(o=>Ci(o)).flat();if(r.body){const o=Xn(r.body,e);t.push(...o)}const a=r.errorCalls.map(o=>Xe(o)),s=r.successCalls.map(o=>Xe(o));t.push(...g(i),...s,...a)}if(r.type===n.FunctionDeclaration){if(r.collapsed&&e)return[];const i=r.inputs.map(s=>Ci(s)).flat(),a=r.calls.map(s=>Xe(s));t.push(...g(i),...a)}return g(t)}function hP(r,e=!1){const t=Xn(r,e),i=[...t,...t.reduce((a,s)=>[...a,...hP(s,e)],[])];return g(i)}function mP(r){const e=jr(r),t=[...e,...e.reduce((i,a)=>[...i,...mP(a)],[])];return g(t)}function Uo(r){return r.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...Uo(t),...xo(t)]:[...e,t.name],[])}function xo(r){return r.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...xo(t),...Uo(t)]:[...e,t.name],[])}function Nu(r){return r.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...Nu(t),...Mu(t)]:[...e,t],[])}function Mu(r){return r.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...Mu(t),...Nu(t)]:[...e,t],[])}function TP(r){return[...xo(r),...Uo(r)].filter((t,i,a)=>a.indexOf(t)===i)}function EP(r){return r.implements.length===0&&r.extends.length===0?null:r.implements.find(i=>i.type===n.BuiltInBaseEntity&&i.name===L.PERSISTED_ENTITY)?r:[...r.implements,...r.extends].reduce((i,a)=>{if(a.type===n.CustomEntity){const s=EP(a);if(s)return s}return i},null)}function l7(r){const e=r.extends.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function c7(r){const e=r.implements.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function bP(r){const e=r.extends.find(t=>t.type===n.CustomEntity);return e&&e.type===n.CustomEntity?e:null}function Qn(r){const e=[...r.implements,...r.extends].reduce((t,i)=>i.type===n.BuiltInBaseEntity?[...t,i]:i.type===n.CustomEntity?[...t,...Qn(i)]:t,[]);return g(e)}function Vu(r){return r.type===n.PrimitiveEntity?!0:r.type===n.BuiltInBaseEntity?r.interactive:!Qn(r).find(i=>!i.interactive)}function d7(r){return r.parent===r.project&&r.project.variableDeclarations.includes(r)}function Lu(r){return r.parent!==r.project?!1:n.VariableDeclaration===r.type?r.project.variableDeclarations.includes(r):n.VariableInstance===r.type?r.project.variableInstances.includes(r):n.FunctionCall===r.type?r.project.functionCalls.includes(r):n.Condition===r.type?r.project.conditions.includes(r):n.Operation===r.type?r.project.operations.includes(r):n.Loop===r.type?r.project.loops.includes(r):n.Search===r.type?r.project.searches.includes(r):!1}function RP(r){if([...Ge,n.CustomEntity,n.InstalledProject,n.Project].includes(r.type)||Lu(r))return!1;const e=jr(r);return e.length===0?!0:e.some(t=>RP(t))}function Gu(r){return[...Ge,n.CustomEntity,n.InstalledProject,n.Project].includes(r.type)||Lu(r)?!1:jr(r).length===0}function gP(r,e=0){if(Gu(r)){const t=jr(r);return t.length===0?r:t.map(a=>gP(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function vP(r){const e=[];if(Gu(r))e.push(r);else return[];return jr(r).forEach(i=>{e.push(...vP(i))}),e}function IP(r){return r.type===n.FunctionDeclaration&&r.parent!==r.project&&!![n.CustomEntity,n.Loop,n.InstalledProject].includes(r.parent.type)}function u7(r,e){const t=new Map;return r.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function jo(r){switch(r){case n.CustomEntity:return kr;case n.FunctionDeclaration:return Br;case n.VariableDeclaration:return Mr;case n.VariableInstance:return Vr;case n.FunctionCall:return xr;case n.Operation:return wr;case n.Condition:return Nr;case n.ReturnStatement:return Fr;case n.Loop:return _r;case n.Search:return Lr;case n.InputMap:return On;case n.OutputMap:return Sn;case n.ArgumentDeclaration:return $r;case n.ReturnDeclaration:return Nt;case n.Property:return Cr;case n.InstalledProject:return Gr;case n.Project:return N;case n.BuiltInBaseEntity:return Ft;default:return null}}function bt(r,e){if(ct.includes(r.type))return r;if(Yr.includes(r.type))return null;const t=r.parent;if(!t)return null;if(t.type===n.GenericReference){const i=w(t);if(!i)return null;const a=e.get(i);return a?bt(a,e):null}else return t===e?e:bt(t,e)}function $u(r,e){if(Yr.includes(r.type)||e.getBuiltIn(r.id))return null;const t=Mt(r.parent,e);return t?t===e?ct.includes(r.type)?r:null:t.type===n.CustomEntity?r:$u(t,e):null}function ko(r,e,t){if(r===e||e===t||r===t)return!1;const i=bt(e.parent,t);return i===r?!0:ko(i,e,t)}var qo=(r=>(r.SameBothLocal="same-both-local",r.AInB="a-in-b",r.BInA="b-in-a",r.ParallelInCommonParent="parallel-in-common-parent",r.ParallelInProject="parallel-in-project",r.AIsGlobalBIsNot="a-is-global-b-is-not",r.BIsGlobalAIsNot="b-is-global-a-is-not",r.SameBothGlobal="same-both-global",r))(qo||{});function Ua(r,e,t){const i=bt(r,t),a=bt(e,t);if(!i)throw new Error("Could not find scope owner for the entity: "+r.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(i===a&&i.type!==n.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:i};if(i===a&&i.type===n.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:i};if(i.type===n.Project&&a.type!==n.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:i};if(i.type!==n.Project&&a.type===n.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(ko(i,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:i};if(ko(a,i,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const l=Ou(i,a);return l===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:l}:l?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:bt(l,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function DP(r,e,t){const i=Ua(r,e,t);if(!i.compatible||i.type!=="same-both-local")return null;if(r===e)return r;let a=bt(r.parent,t);if(a){if(a===e)return e;if(a.type===n.Project)return r}else return r;for(;a;){if(a){if(a===e)return e;if(a.type===n.Project)return r}else return r;a=bt(a.parent,t)}let s=bt(e.parent,t);if(s){if(s===r)return r;if(s.type===n.Project)return e}else return e;for(;s;){if(s){if(s===r)return r;if(s.type===n.Project)return e}else return e;s=bt(s.parent,t)}return null}function AP(r){return r.length===0?null:r.length===1?r[0]:r.reduce((t,i)=>{const a=DP(t,i,i.project);return!a||a===i?t:i},r[0])}function Mt(r,e){let t;return typeof r=="string"?t=r:r.type===n.GenericReference?t=w(r):t=r.id,t===e.id?e:e.get(t)}function er(r){if(!r)return null;if(Yr.includes(r.type))return r;if(r.type===n.Project)return null;if(r.project.getBuiltIn(r.id))return r;const e=r.parent;return!e||e.type===n.Project?null:er(e)}function xa(r,e){var t;if(r.readsValue){const i=Mt(r.readsValue,e.project);e.setValueWriter(i),i.addValueReader(e)}else r.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function ja(r){const e=[];function t(s,o){return e.some(l=>l.blockedByCaller===s&&l.blockedByCalling===o)}function i(s,o){t(s,o)||e.push({blockedByCaller:s,blockedByCalling:o})}const a=$u(r,r.project);return r.calledBySuccess.forEach(s=>{[...s.successCalls||[]].forEach(p=>{$e.includes(p.type)&&p!==r&&(we(r).find(m=>m===p)||i(s,p))});let l;if(Ue.includes(s.type)&&(l=s),l){const p=ja(l);p.reachable||we(r).find(m=>m===s)||p.blocks.forEach(m=>{i(s,m.blockedByCalling)})}}),r.calledByError.forEach(s=>{[...s.errorCalls||[]].forEach(p=>{$e.includes(p.type)&&p!==r&&(we(r).find(m=>m===p)||i(s,p))});let l;if(Ue.includes(s.type)&&(l=s),l){const p=ja(l);p.reachable||we(r).find(m=>m===s)||p.blocks.forEach(m=>{i(s,m.blockedByCalling)})}}),r.calledByEntry.forEach(s=>{if([...s.calls||[]].forEach(p=>{$e.includes(p.type)&&p!==r&&(we(r).find(m=>m===p)||i(s,p))}),s===a)return;let l;if(s.type===n.FunctionDeclaration){const p=Xe(s);if(p.type===n.CustomEntity)return;p.type===n.Loop&&(l=p)}if(l){const p=ja(l);p.reachable||p.blocks.forEach(y=>{i(s,y.blockedByCalling)})}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function p7(r){return zo.includes(r.type)?r.type===n.FunctionDeclaration?!IP(r):!0:!1}function y7(r){if(n.ActionDescriptor===r.type){if(r.project.operationDeclarations.find(s=>s.id===r.id))return n.Operation;if(r.project.globalEventActionDescriptors.find(s=>s.id===r.id))return n.GlobalEvent;if(r.project.loopDeclarations.find(s=>s.id===r.id))return n.Loop;if(r.project.conditionDeclarations.find(s=>s.id===r.id))return n.Condition}return r.type}function f7(r,e){const t=[];if(r.parent)if(r.id===r.parent)t.push(new E({id:`${r.id}--${r.parent}--${f.SelfReference}`,code:f.SelfReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const i=e.get(r.parent);i?[n.Project,n.DataType].includes(i.type)||t.push(new E({id:`${r.id}--${r.parent}--${f.InvalidParentReference}`,code:f.InvalidParentReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new E({id:`${r.id}--${r.parent}--${f.ReferencedEntityNotFound}`,code:f.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", is referencing an entity with id "${r.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return r.implements&&Array.isArray(r.implements)?r.implements.forEach(i=>{if(r.id===i){t.push(new E({id:`${r.id}--${i}--${f.SelfReference}`,code:f.SelfReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has a reference to itself at one of the 'implements' references. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));return}const a=e.get(i);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${r.id}--${i}--${f.InvalidImplementsReference}`,code:f.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.InvalidImplementsReference}`,code:f.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'implements' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.ReferencedEntityNotFound}`,code:f.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${r.id}--${P.InvalidObjectStructure}`,code:P.InvalidObjectStructure,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'implements' property that isn't an array.`,issue:null})),r.extends&&Array.isArray(r.extends)&&r.extends.forEach(i=>{const a=e.get(i);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${r.id}--${i}--${f.InvalidExtendsReference}`,code:f.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'extends' reference that isn't pointing to a non-abstract entity. Did you want to use the property 'implements', which holds a list of references to absract entities, instead?`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.InvalidExtendsReference}`,code:f.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'extends' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.ReferencedEntityNotFound}`,code:f.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const Be=class Be{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"static");c(this,"abstract");c(this,"type",n.CustomEntity);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"implements",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestedProperties",[]);c(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let i=t;if(e.parent){const p=w(e.parent);i=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:n.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:i},l=R(o,t);return l.setParent(i),l.initChildren(),l}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=f7(i,t),o=So(i,t);a.push(...s,...o,...Ne(i));const l=i.parent?t.get(i.parent):null;if(l&&l.type===n.DataType){const p=l;p.entity&&a.push(new E({id:`${e.id}--${f.NewEntityWouldOverriteExisting}`,code:f.NewEntityWouldOverriteExisting,severity:T.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
368
+ You shouldn't have to manually update a 'parent' property. The equivalent result is to change its callers, the value writters of its inputs, or the value readers of its outputs.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){var a;const e=[this],t=[],i=[];return this.parent===this.project&&this.project.addFunctionCall(this),(a=this.process)==null||a.writesValues.forEach(s=>{s.setValueWriter(this.process),e.push(s)}),this.successCalls.forEach(s=>{s.addSuccessCaller(this),e.push(s)}),this.errorCalls.forEach(s=>{s.addErrorCaller(this),e.push(s)}),this.calledBySuccess.forEach(s=>{s.addSuccessCall(this),e.push(s)}),this.calledByError.forEach(s=>{s.addErrorCall(this),e.push(s)}),this.calledByEntry.forEach(s=>{s.addCall(this),e.push(s)}),{updated:g(e),added:g(t),removed:g(i),self:this}}get calledBy(){return[...this.calledByEntry,...this.calledBySuccess,...this.calledByError]}removeInput(e){const t=this.inputs.findIndex(i=>i.id===e.id);return t>-1&&this.inputs.splice(t,1),this}addInput(e){return this.inputs.includes(e)?this:(this.inputs.push(e),this)}addOutput(e){return this.outputs.includes(e)?this:(this.outputs.push(e),this)}removeOutput(e){const t=this.outputs.findIndex(i=>i.id===e.id);return t>-1&&this.outputs.splice(t,1),this}addValueReader(e){var t;return(t=this.process)==null||t.addValueReader(e),this}removeValueReader(e){var t;return(t=this.process)==null||t.removeValueReader(e),this}addSuccessCaller(e){return this.calledBySuccess.find(t=>t.id===e.id)||this.calledBySuccess.push(e),this}addErrorCaller(e){return this.calledByError.find(t=>t.id===e.id)||this.calledByError.push(e),this}addEntryCaller(e){return this.calledByEntry.find(t=>t.id===e.id)||this.calledByEntry.push(e),this}addErrorCall(e){return this.errorCalls.push(e),this}addSuccessCall(e){return this.successCalls.push(e),this}removeCall(e){const t=this.successCalls.findIndex(a=>a.id===e.id);t>-1&&this.successCalls.splice(t,1);const i=this.errorCalls.findIndex(a=>a.id===e.id);return i>-1&&this.errorCalls.splice(i,1),this}removeCaller(e){return this.calledBySuccess=this.calledBySuccess.filter(t=>t.id!==e.id),this.calledByError=this.calledByError.filter(t=>t.id!==e.id),this.calledByEntry=this.calledByEntry.filter(t=>t.id!==e.id),this}setParent(e){return this.parent=e,this}initChildren(){if(this.initialized)return this;if(this.initialized=!0,this.initialData.declaration.type===n.FunctionDeclaration){const e=R(this.initialData.declaration,this.project);this.declaration=e}else{const e=w(this.initialData.declaration),t=this.project.get(e);this.declaration=t}return this.successCalls=this.initialData.successCalls.map(e=>{const t=R(e,this.project);return t.addSuccessCaller(this),[n.BreakStatement,n.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==n.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.errorCalls=this.initialData.errorCalls.map(e=>{const t=R(e,this.project);return t.addErrorCaller(this),[n.BreakStatement,n.ContinueStatement].includes(t.type)?(t.setParent(this.parent.parent),t.initChildren()):t.type!==n.InternalCall&&(t.setParent(this.parent),t.initChildren()),t}),this.inputs=this.initialData.inputs.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.initOutputs(),this.initialData.process&&(this.process=R(this.initialData.process,this.project),this.process.setParent(this),this.process.initChildren()),this.initialData.error&&(this.error=R(this.initialData.error,this.project),this.error.setParent(this),this.error.initChildren()),this}initOutputs(){const e=[];this.outputs=this.initialData.outputs.map(s=>{const o=R(s,this.project);return e.push(o.index),o.setParent(this),o.initChildren(),o});const i=wu(this).filter(s=>!this.outputs.find(o=>o.declaration.id===s.id));i.sort((s,o)=>s.index-o.index);const a=i.map((s,o)=>{const l=e.includes(s.index)?this.outputs.length-1+o:s.index,p={id:N.UUID.uuid(),type:n.OutputMap,version:1,declaration:s,index:l,parent:this,writesValues:[]},y=R(p,this.project);return y.setParent(this),y.initChildren(),y});return this.outputs.push(...a),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){var s;const i=[],a=[];if(t.has(this.id))return{affected:[],removed:[]};if(t.add(this.id),a.push(this),this.unsubscribe(),this.process){const{affected:o,removed:l}=(s=this.process)==null?void 0:s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}if(this.inputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...l),a.push(...p)}),this.outputs.forEach(o=>{const{affected:l,removed:p}=o.remove({ignoreUpstream:!0,seenEntities:t});i.push(...l),a.push(...p)}),this.error){const{affected:o,removed:l}=this.error.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}return this.successCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),this.errorCalls.forEach(o=>{i.push(o),o.removeCaller(this)}),e||this.calledBy.forEach(o=>{i.push(o),o.removeCall(this)}),{affected:g(i),removed:g(a)}}restore({seenEntities:e}={seenEntities:new Set}){const t=[];if(e.has(this.id))return{affected:[],self:this};if(e.add(this.id),this.subscribe(),this.process){const{affected:i}=this.process.restore({seenEntities:e});t.push(...i)}return this.inputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.outputs.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.successCalls.forEach(i=>{t.push(i),i.addSuccessCaller(this)}),this.errorCalls.forEach(i=>{t.push(i),i.addErrorCaller(this)}),this.calledBySuccess.forEach(i=>{t.push(i),i.addSuccessCall(this)}),this.calledByError.forEach(i=>{t.push(i),i.addErrorCall(this)}),this.calledByEntry.forEach(i=>{t.push(i),i.addCall(this)}),{affected:g(t),self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.successCalls.flatMap(i=>i.toFlat(e)),...this.errorCalls.flatMap(i=>i.toFlat(e)),...this.inputs.flatMap(i=>i.toFlat(e)),...this.outputs.flatMap(i=>i.toFlat(e)),...this.process?this.process.toFlat(e):[],...this.error?this.error.toFlat(e):[]])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.successCalls.flatMap(i=>i.toFlatIds(e)),...this.errorCalls.flatMap(i=>i.toFlatIds(e)),...this.inputs.flatMap(i=>i.toFlatIds(e)),...this.outputs.flatMap(i=>i.toFlatIds(e))])}toJSON(){var e,t;return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,successCalls:this.successCalls.map(i=>i.toJSON()),errorCalls:this.errorCalls.map(i=>i.toJSON()),calledBySuccess:this.calledBySuccess.map(i=>i.toReference()),calledByError:this.calledByError.map(i=>i.toReference()),calledByEntry:this.calledByEntry.map(i=>i.toReference()),process:(e=this.process)==null?void 0:e.toJSON(),declaration:this.declaration.toJSON(),inputs:this.inputs.map(i=>i.toJSON()),outputs:this.outputs.map(i=>i.toJSON()),parent:this.parent.toReference(),error:(t=this.error)==null?void 0:t.toJSON()}}toReference(){return{id:this.id+"--"+N.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,x:this.x,y:this.y,process:this.process?this.process.toReference():null,inputs:this.inputs.map(e=>e.toReference()),outputs:this.outputs.map(e=>e.toReference()),declaration:this.declaration.toReference(),successCalls:this.successCalls.map(e=>e.toReference()),errorCalls:this.errorCalls.map(e=>e.toReference()),calledBySuccess:this.calledBySuccess.map(e=>e.toReference()),calledByError:this.calledByError.map(e=>e.toReference()),calledByEntry:this.calledByEntry.map(e=>e.toReference()),error:this.error?this.error.toReference():null,parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.successCalls.flatMap(i=>i.toFlatJSON(e)),...this.errorCalls.flatMap(i=>i.toFlatJSON(e)),...this.inputs.flatMap(i=>i.toFlatJSON(e)),...this.outputs.flatMap(i=>i.toFlatJSON(e)),...this.process?this.process.toFlatJSON(e):[],...this.error?this.error.toFlatJSON(e):[]])}toGenerationTarget(){const e=this.parent.type===n.Project?void 0:this.parent.id;return{id:this.id,version:this.version,type:this.type,calledByEntry:this.calledByEntry.map(t=>t.id),calledBySuccess:this.calledBySuccess.map(t=>t.id),calledByError:this.calledByError.map(t=>t.id),declaration:this.declaration.id,parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.successCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.errorCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.inputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.outputs.flatMap(i=>i.toFlatGenerationTarget(e)),...this.process?this.process.toFlatGenerationTarget(e):[],...this.error?this.error.toFlatGenerationTarget(e):[]])}clearErrors(){var e,t;return this.errors=[],this.inputs.forEach(i=>i.clearErrors()),this.outputs.forEach(i=>i.clearErrors()),this.successCalls.forEach(i=>i.clearErrors()),this.errorCalls.forEach(i=>i.clearErrors()),(e=this.process)==null||e.clearErrors(),(t=this.error)==null||t.clearErrors(),this}validate(){const e=H2(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.inputs.flatMap(t=>t.getErrors()),...this.outputs.flatMap(t=>t.getErrors()),...this.error?this.error.getErrors():[],...this.process?this.process.getErrors():[]]}getShallowErrors(){return this.errors}clone(e){return new Ce(this.toJSON(),this.project)}};c(Ce,"MUTABLE_BASE_PROPERTIES",[]),c(Ce,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Ce,"BASE_PROPERTIES",[...Ce.MUTABLE_BASE_PROPERTIES,...Ce.INMUTABLE_BASE_PROPERTIES]),c(Ce,"MUTABLE_META_PROPERTIES",["x","y"]),c(Ce,"INMUTABLE_META_PROPERTIES",[...Ce.INMUTABLE_BASE_PROPERTIES]),c(Ce,"META_PROPERTIES",[...Ce.MUTABLE_META_PROPERTIES,...Ce.INMUTABLE_META_PROPERTIES]),c(Ce,"MUTABLE_UPSTREAM_PROPERTIES",["calledBySuccess","calledByError","calledByEntry"]),c(Ce,"INMUTABLE_UPSTREAM_PROPERTIES",["declaration","parent"]),c(Ce,"UPSTREAM_PROPERTIES",[...Ce.MUTABLE_UPSTREAM_PROPERTIES,...Ce.INMUTABLE_UPSTREAM_PROPERTIES]),c(Ce,"MUTABLE_DOWNSTREAM_PROPERTIES",["successCalls","errorCalls","writesValues","inputs","outputs","error"]),c(Ce,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Ce,"DOWNSTREAM_PROPERTIES",[...Ce.MUTABLE_DOWNSTREAM_PROPERTIES,...Ce.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Ce,"PROPERTIES",[...Ce.META_PROPERTIES,...Ce.UPSTREAM_PROPERTIES,...Ce.DOWNSTREAM_PROPERTIES]);let xr=Ce;function KA(r){var e,t,i;switch(r.id){case _["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const a=r.project.entities.filter(h=>!!h.implements.find(m=>m.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id));if(a.find(h=>!!h.properties.find(m=>{var b;return m.implements&&m.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((b=m.getDefaultValue())==null?void 0:b.value)===!0}))){const m=a[0].properties.find(v=>v.implements&&v.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),b=(e=m==null?void 0:m.dataType)==null?void 0:e.defaultValue;if(b)b.value=!0;else if(m!=null&&m.dataType){const v=(t=m==null?void 0:m.dataType)==null?void 0:t.id.split("-id")[0],D=R({id:v+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:m==null?void 0:m.dataType.toReference()},r.project);return D.setParent(m==null?void 0:m.dataType),D.initChildren(),D.addSelfToProject(),{newEntities:[D]}}return{newEntities:[]}}const o=r.project.get(_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id),l=Go(o,"Main database");if(l.errors.length>0)return{newEntities:[]};const p=l.implemented.properties.find(h=>h.implements&&h.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id),y=(i=p==null?void 0:p.dataType)==null?void 0:i.defaultValue;if(y)y.value=!0;else if(p!=null&&p.dataType){const h=p==null?void 0:p.dataType.id.split("-id")[0],m=R({id:h+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,autogeneration:null,value:!0,valueAsType:null,parent:p==null?void 0:p.dataType.toReference()},r.project);m.setParent(p==null?void 0:p.dataType),m.initChildren(),m.addSelfToProject()}return{newEntities:[l.implemented]}}}return{newEntities:[]}}function XA(r){return r.implements.filter(t=>t.type===n.BuiltInBaseEntity).map(t=>{var i;switch(t.id){case _["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.id:{const s=r.project.entities.filter(p=>p.implements.find(y=>y.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.id)).find(p=>!!p.properties.find(y=>{var h;return y.implements&&y.implements.id===_["built-in-base-entity"].BUILT_IN_RELATIONAL_DATABASE_ENTITY.properties.default.id&&((h=y.getDefaultValue())==null?void 0:h.value)===!0}));if(!s)return{newEntities:[]};const o=r.properties.find(p=>p.implements&&p.implements.id===_["built-in-base-entity"].BUILT_IN_PERSISTED_ENTITY_ENTITY.properties.database.id),l=(i=o==null?void 0:o.dataType)==null?void 0:i.defaultValue;if(o&&(o!=null&&o.dataType)&&!l){const p=o==null?void 0:o.dataType.id.split("-id")[0],y=R({id:p+"-default-value-id",version:1,type:n.PrimitiveValue,name:I.EntityTemplate,autogeneration:null,value:null,valueAsType:s,parent:o==null?void 0:o.dataType.toReference()},r.project);return y.setParent(o==null?void 0:o.dataType),y.initChildren(),y.addSelfToProject(),{newEntities:[y]}}return{newEntities:[]}}}}),{newEntities:[]}}function Go(r,e,t){const i=t||He(e,n.CustomEntity,r.project),a=i.split("-id"),s=a[a.length-1||0]||i,o={id:i,version:1,name:e,type:n.CustomEntity,description:null,static:!1,abstract:!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[r],x:0,y:0,parent:r.project},l=So(o,r.project);if(l.length>0)return{errors:l,implemented:null,entitiesChanges:{new:[],updated:[],deleted:[]}};const p=KA(r),y=R(o,r.project);y.setParent(r.project),y.initChildren();const h=r.properties.map(v=>{const D=s+"-"+He(C(v,r.project),n.Property,r.project),O=v.clone(y,D);return O.abstract=!1,O.implements=v,O.setParent(y),y.addProperty(O),O}),m=r.abstractMethods.map(v=>{const D=s+He(v.name,n.FunctionDeclaration,r.project),O=v.implementAsFunctionDeclaration(D),S={id:D+"-parent-ref-id",type:n.GenericReference,entityId:i,entityType:n.CustomEntity},x={...O,implements:v,parent:S},k=R(x,r.project);return y.addMethod(k),k.setParent(y),k.initChildren(),k.implements=v,k});o.properties=h,o.methods=m;const b=XA(y);return{implemented:y,errors:[],entitiesChanges:{new:[y,...p.newEntities,...b.newEntities],updated:[y],deleted:[]}}}function QA(r,e){return e.entities.find(a=>{const s=a.properties,o=s.map(h=>h.name),l=r.every(h=>o.includes(h)),p=o.filter(h=>!r.includes(h)),y=s.every(h=>!p.includes(h.name)||!h.required);return l&&y})||null}function eP(r,e,t,i){const a=[],s=[],o=[];let l=[];switch(typeof r){case"string":l=[e.getBuiltIn(I.String)];break;case"number":l=[e.getBuiltIn(I.Number)];break;case"boolean":l=[e.getBuiltIn(I.Boolean)];break;case"object":if(r===null){l=[e.getBuiltIn(I.Null)];break}else if(Array.isArray(r))if(r.length>0){const y=r.slice(0,5).filter(h=>h!==void 0).map(h=>{switch(typeof h){case"string":return e.getBuiltIn(I.String);case"number":return e.getBuiltIn(I.Number);case"boolean":return e.getBuiltIn(I.Boolean);case"object":return null}return null});if(y.includes(null)){l=[null];break}else{l=y;break}}else{const p=Pu(r[0],e,t,i);l=[p.changeSet.self],a.push(...p.changeSet.updated),s.push(...p.changeSet.added),o.push(...p.changeSet.removed);break}else{const p=Pu(r,e,t,i);l=[p.changeSet.self],a.push(...p.changeSet.updated),s.push(...p.changeSet.added),o.push(...p.changeSet.removed);break}}return{entities:l,changeSet:{updated:g(a),added:g(s),removed:g(o),self:null}}}function Pu(r,e,t,i){const a=[],s=[],o=[],l=Object.keys(r),p=QA(l,e);if(p)return{hasCreated:!1,changeSet:{updated:[],added:[],removed:[],self:p}};const y=i?t.name+" of "+i.name:t.name,m={id:t.id||He(y,n.CustomEntity,e),version:1,name:y,type:n.CustomEntity,description:t.description||null,static:t.static||!1,abstract:t.abstract||!1,properties:[],methods:[],abstractMethods:[],extends:[],implements:[],x:0,y:0,parent:e.toReference()},b=R(m,e);return b.setParent(e),b.initChildren(),b.addSelfToProject(),s.push(b),l.forEach((v,D)=>{const O=He(t.name+" "+v,n.Property,e),S={id:O,version:1,name:v,type:n.Property,description:null,static:!1,abstract:!1,dataType:null,implements:null,index:D,hidden:!1,private:!1,required:!1,parent:b.toReference()},x=R(S,e);x.setParent(b),x.initChildren(),x.addSelfToProject(),s.push(x);const k=r[v],te=O+"--data-type-id",Ve={id:te,version:1,type:n.DataType,entity:null,isList:!1,isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parent:x.toReference()},Rt=R(Ve,e);Rt.setParent(x),Rt.initChildren(),Rt.addSelfToProject(),s.push(Rt);const St=eP(k,e,{...t,name:v},i||b),jt=St.entities;a.push(...St.changeSet.updated),s.push(...St.changeSet.added),o.push(...St.changeSet.removed),jt.length>1?jt.forEach(Jr=>{const $7={id:te+"--or-child-id",version:1,type:n.DataType,entity:Jr,isList:!1,isNullable:!1,defaultValue:null,asType:null,andChildrenGroup:null,orChildrenGroup:null,like:!0,inferred:!1,constant:!1,parentRelationType:lt.OrDataTypeGroup,parent:Rt.toReference()},Wo=R($7,e);Wo.setParent(Rt),Wo.initChildren(),Wo.addSelfToProject(),s.push(Wo)}):jt.length===1&&Rt.setEntity(jt[0])}),{hasCreated:!0,changeSet:{updated:g(a),added:g(s),removed:g(o),self:b}}}function $o(r,e){const t=jr(r);if(t.length===0)return{list:[],last:null};let i=null;return{list:t.flatMap(s=>{if(s===e)return i=s,[s];const o=$o(s,e);return o.last&&(i=o.last),[s,...o.list]}),last:i}}function tP(r,e,t=new Set){const i=Xn(r),a=Xn(e),s=i.filter(p=>!a.includes(p)),o=i.filter(p=>a.includes(p)),l=s.reduce((p,y)=>t.has(y.id)?p:(t.add(y.id),g([...p,...tP(y,e,t)])),[]);return g([...o,...l])}function Fa(r,e){const t=$o(r,e);return t.last===e&&t.list.length>0&&t.list[0]!==e}function z2(r,e){return!!$o(r,e).last}function Z2(r){if(Ge.includes(r.type))return r;if([...wn,n.VariableDeclaration].includes(r.type)){const e=r.parent;return Ge.includes(e.type)?e:null}return null}function Ou(r,e){if(!r||!e)throw new Error("Both entities must be defined to find a common ancestor");if(r===e)return r;const t=r.parent;if(t){if(t===e)return e;if(t.type===n.Project)return null}else return null;const i=e.parent;if(i){if(i===r)return r;if(i.type===n.Project)return null}else return null;return Ou(t,i)}function Xe(r){if(zo.includes(r.type)){if(r.type===n.FunctionDeclaration){const e=r.parent;if(e.type===n.CustomEntity)return e;if(e.type===n.Loop)return e}return r}else{const e=r.parent;return e?Xe(e):null}}function K2(r){return r.type===n.VariableDeclaration?[r]:Ue.includes(r.type)?[...r.inputs,...r.outputs||[]]:r.type===n.ReturnStatement?r.outputs:Wr.includes(r.type)||r.type===n.FunctionDeclaration?r.inputs:[]}function X2(r){const e=Xn(r),t=[],i=[];xu.includes(r.type)&&t.push(...Su(r));const a=e.filter(s=>{const o=t.includes(s);return o?!1:wn.includes(s.type)&&!o?(i.push(s),!1):!0});return t.sort((s,o)=>Fa(o,s)?-1:0),i.sort((s,o)=>Fa(o,s)?-1:0),[...t,...i,...a]}function nP(r){return[...r].sort((e,t)=>Fa(t,e)?-1:0)}function Q2(r){const e=nP(r),t=[];return e.forEach(i=>{const a=t[t.length-1];if(a){const s=a[a.length-1];Fa(i,s)?t.push([i]):a.push(i)}else t.push([i])}),t}function Et(r){const e=r.map(t=>Xe(t));return g(e)}function Su(r){return Ue.includes(r.type)?[...Et(r.successCalls),...Et(r.errorCalls)]:Ge.includes(r.type)?Et(r.calls):[]}function e7(r,e){return Su(r).includes(e)}function Cu(r){return r.writesValues||[]}function t7(r,e){return Cu(r).includes(e)}function rP(r){var e;return ke.includes((e=r==null?void 0:r.readsValue)==null?void 0:e.type)?r.readsValue:null}function n7(r){return r.writesValues}function iP(r=[]){return r.map(rP).filter(e=>!!e)}function Fo(r=[]){return r.map(e=>e.writesValues).flat().filter(e=>ke.includes(e.type))}function aP(r=[]){return r.map(e=>e.readsValue).filter(e=>!!e&&ke.includes(e.type))}function sP(r){return ke.includes(r.type)?r:null}function oP(r){return r.writesValues.map(sP).filter(e=>!!e)}function lP(r=[]){return r.reduce((e,t)=>t.type===n.OutputMap?[...e,...oP(t)]:e,[])}function we(r){return Ue.includes(r.type)?[...cn(Et(r.successCalls)),...cn(Et(r.errorCalls))]:Ge.includes(r.type)?cn(Et(r.calls)):[]}function r7(r){return Ue.includes(r.type)?[...cn(Et(r.successCalls)),...cn(Et(r.errorCalls))]:Ge.includes(r.type)?cn(Et(r.calls)):[]}function cP(r,e=new Set){return r.writesValues.filter(i=>ke.includes(i.type)&&!e.has(i.id)).reduce((i,a)=>e.has(a.id)?i:[...i,...ie(a,e)],[])}function dP(r,e=new Set){var i;return(((i=r.readsValue)==null?void 0:i.writesValues)||[]).filter(a=>ke.includes(a.type)&&!e.has(a.id)).reduce((a,s)=>e.has(s.id)?a:[...a,...ie(s,e)],[])}function ie(r,e=new Set){if(e.has(r.id))return[];if(r.type===n.ReturnStatement)return aP(r.outputs).reduce((i,a)=>[...i,...ie(a,e)],[]);if(r.type===n.FunctionCall||r.type===n.Operation||r.type===n.Condition)return[...we(r).reduce((s,o)=>{const l=Xe(o);return[...s,...ie(l||o,e)]},[]),...iP(r.inputs),...lP(r.outputs)].reduce((s,o)=>[...s,...ie(o,e)],[]);if(Wr.includes(r.type)){const t=Fo(r.inputs),a=we(r).reduce((s,o)=>{const l=Xe(o);return[...s,...ie(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...ie(o,e)],[])}if(r.type===n.FunctionDeclaration){const t=[...Fo(r.inputs)],a=we(r).reduce((s,o)=>{const l=Xe(o);return[...s,...ie(l||o,e)]},[]);return t.push(...a),t.reduce((s,o)=>[...s,...ie(o)],[])}if(ke.includes(r.type)){e.add(r.id);const i=we(r).reduce((a,s)=>{const o=Xe(s);return[...a,...ie(o||s,e)]},[]);return[r,...i,...dP(r,e),...cP(r,e)]}return[]}function Ot(r,e=new Set){return e.has(r.id)?[]:(e.add(r.id),[...Xn(r).reduce((a,s)=>[...a,s,...Ot(s,e)],[])])}function cn(r){return r.reduce((e,t)=>t.type===n.ReturnStatement||t.type===n.ContinueStatement||t.type===n.BreakStatement?[...e,t]:[...e,t,...we(t)],[])}function uP(r){const e=r.entities||[],t=[...e,...r.functions||[],...r.events||[],...r.projects||[]],i=e.reduce((p,y)=>[...p,...y.properties],[]),a=e.reduce((p,y)=>[...p,...y.methods],[]),s=a.reduce((p,y)=>[...p,...Fo(y.inputs),...cn(Et(y.calls)),...y.returnStatements],[]),o=r.functions.reduce((p,y)=>[...p,...cn(Et(y.calls)),...y.returnStatements],[]),l=r.events.reduce((p,y)=>[...p,...cn(Et(y.calls)),...y.returnStatements],[]);return[...t,...i,...a,...s,...o,...l]}function pP(r,e){return e.filter(i=>{if(!i)return!1;switch(i.type){case n.FunctionCall:return i.inputs.find(a=>a.id===r.id)!==void 0||i.outputs.find(a=>a.id===r.id)!==void 0;case n.Condition:return i.successCalls.find(a=>a.id===r.id)!==void 0||i.errorCalls.find(a=>a.id===r.id)!==void 0||i.inputs.find(a=>a.id===r.id)!==void 0;case n.Operation:return i.outputs.find(a=>a.id===r.id)!==void 0;case n.VariableDeclaration:return Ue.includes(r.type)?yP(r).find(s=>{var o;return((o=s.readsValue)==null?void 0:o.id)===i.id})!==void 0:!1;case n.CustomEntity:return i.properties.find(a=>a.id===r.id)!==void 0||i.methods.find(a=>a.id===r.id)!==void 0;case n.FunctionDeclaration:return i.inputs.find(a=>a.id===r.id)!==void 0||(i.returnStatements.map(a=>a.outputs).flat()||[]).find(a=>a.id===r.id)!==void 0;default:return!1}})}function i7(r){const e=uP(r.project);return pP(r,e)}function jr(r){const e=[];if(wn.includes(r.type)){r.calledBy.forEach(a=>{const s=Xe(a);s&&e.push(s)});const i=[...r.inputs||[],...r.outputs||[]].map(a=>_u(a)).filter(a=>a!==null);e.push(...g(i))}if(ke.includes(r.type)){const t=_u(r);t&&e.push(t)}return g(e)}function Bu(r){return r.type===n.FunctionCall||r.type===n.InternalCall||[n.Operation,n.Condition,n.Loop].includes(r.type)?r.declaration.inputs:r.type===n.FunctionDeclaration||Wr.includes(r.type)?r.inputs:r.type===n.Search?r.inputsDeclarations:[]}function a7(r,e){return e.type===n.Condition?e.inputs.find(t=>t.declaration.id===r.id):e.type===n.FunctionCall||e.type===n.Operation?e.inputs.find(t=>t.declaration.id===r.id):null}function yP(r){return Ue.includes(r.type)?r.inputs:[]}function wu(r){var e;return r.type===n.FunctionCall?((e=r.declaration.returnStatements[0])==null?void 0:e.outputs)||[]:[n.Operation,n.Condition,n.Loop].includes(r.type)?r.declaration.outputs:r.type===n.Search?r.outputsDeclarations:$e.includes(r.type)?r.outputs:[]}function s7(r,e){return e.type===n.Condition?null:e.type===n.FunctionCall||e.type===n.Operation?e.outputs.find(t=>t.declaration.id===r.id):null}function o7(r){return r.type===n.Condition?[]:Ue.includes(r.type)?r.outputs:[]}function _u(r){const e=r.readsValue;return e?Xe(e):null}function fP(r){const e=r.internalCalls||[];return g(Et(g(e.flatMap(t=>[...t.successCalls,...t.errorCalls]))))}function Ci(r){const e=Cu(r),t=[];return e.forEach(i=>{if(ke.includes(i.type))t.push(i);else if(Bn.includes(i.type)){const a=i.parent;t.push(a)}}),t}function g(r){const e=new Set;return r.filter(t=>!t||e.has(t.id)?!1:(e.add(t.id),!0))}function Xn(r,e=!1){const t=[];if(r.type===n.Project&&t.push(...(r==null?void 0:r.entities)||[],...(r==null?void 0:r.functions)||[],...(r==null?void 0:r.variableDeclarations)||[],...(r==null?void 0:r.variableInstances)||[],...(r==null?void 0:r.searches)||[],...(r==null?void 0:r.loops)||[],...(r==null?void 0:r.operations)||[],...(r==null?void 0:r.conditions)||[],...(r==null?void 0:r.functionCalls)||[],...(r==null?void 0:r.events)||[],...(r==null?void 0:r.projects)||[]),ct.includes(r.type)&&t.push(...(r==null?void 0:r.detachedChildren)||[]),r.type===n.CustomEntity){const i=[...r.suggestedMethods,...r.methods].flatMap(a=>a.collapsed&&e?[]:Xn(a));t.push(...i)}if(r.type===n.Condition){const i=r.successCalls.map(s=>Xe(s)),a=r.errorCalls.map(s=>Xe(s));t.push(...i,...a)}if(Wr.includes(r.type)){if(r.collapsed&&e)return[];const i=r.inputs.map(s=>Ci(s)).flat(),a=r.calls.map(s=>Xe(s));t.push(...g(i),...a)}if(Ue.includes(r.type)&&r.type!==n.Condition){const i=r==null?void 0:r.outputs.map(o=>Ci(o)).flat(),a=r.successCalls.map(o=>Xe(o)),s=r.errorCalls.map(o=>Xe(o));t.push(...g(i),...a,...s)}if(ke.includes(r.type)){const i=Ci(r),a=fP(r);t.push(...i,...a)}if(r.type===n.Loop){const i=r.outputs.map(o=>Ci(o)).flat();if(r.body){const o=Xn(r.body,e);t.push(...o)}const a=r.errorCalls.map(o=>Xe(o)),s=r.successCalls.map(o=>Xe(o));t.push(...g(i),...s,...a)}if(r.type===n.FunctionDeclaration){if(r.collapsed&&e)return[];const i=r.inputs.map(s=>Ci(s)).flat(),a=r.calls.map(s=>Xe(s));t.push(...g(i),...a)}return g(t)}function hP(r,e=!1){const t=Xn(r,e),i=[...t,...t.reduce((a,s)=>[...a,...hP(s,e)],[])];return g(i)}function mP(r){const e=jr(r),t=[...e,...e.reduce((i,a)=>[...i,...mP(a)],[])];return g(t)}function Uo(r){return r.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...Uo(t),...xo(t)]:[...e,t.name],[])}function xo(r){return r.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,n.CustomEntity,...xo(t),...Uo(t)]:[...e,t.name],[])}function Nu(r){return r.extends.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...Nu(t),...Mu(t)]:[...e,t],[])}function Mu(r){return r.implements.reduce((e,t)=>t.type===n.CustomEntity?[...e,t,...Mu(t),...Nu(t)]:[...e,t],[])}function TP(r){return[...xo(r),...Uo(r)].filter((t,i,a)=>a.indexOf(t)===i)}function EP(r){return r.implements.length===0&&r.extends.length===0?null:r.implements.find(i=>i.type===n.BuiltInBaseEntity&&i.name===L.PERSISTED_ENTITY)?r:[...r.implements,...r.extends].reduce((i,a)=>{if(a.type===n.CustomEntity){const s=EP(a);if(s)return s}return i},null)}function l7(r){const e=r.extends.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function c7(r){const e=r.implements.find(t=>t.type===n.BuiltInBaseEntity);return e&&e.type===n.BuiltInBaseEntity?e:null}function bP(r){const e=r.extends.find(t=>t.type===n.CustomEntity);return e&&e.type===n.CustomEntity?e:null}function Qn(r){const e=[...r.implements,...r.extends].reduce((t,i)=>i.type===n.BuiltInBaseEntity?[...t,i]:i.type===n.CustomEntity?[...t,...Qn(i)]:t,[]);return g(e)}function Vu(r){return r.type===n.PrimitiveEntity?!0:r.type===n.BuiltInBaseEntity?r.interactive:!Qn(r).find(i=>!i.interactive)}function d7(r){return r.parent===r.project&&r.project.variableDeclarations.includes(r)}function Lu(r){return r.parent!==r.project?!1:n.VariableDeclaration===r.type?r.project.variableDeclarations.includes(r):n.VariableInstance===r.type?r.project.variableInstances.includes(r):n.FunctionCall===r.type?r.project.functionCalls.includes(r):n.Condition===r.type?r.project.conditions.includes(r):n.Operation===r.type?r.project.operations.includes(r):n.Loop===r.type?r.project.loops.includes(r):n.Search===r.type?r.project.searches.includes(r):!1}function RP(r){if([...Ge,n.CustomEntity,n.InstalledProject,n.Project].includes(r.type)||Lu(r))return!1;const e=jr(r);return e.length===0?!0:e.some(t=>RP(t))}function Gu(r){return[...Ge,n.CustomEntity,n.InstalledProject,n.Project].includes(r.type)||Lu(r)?!1:jr(r).length===0}function gP(r,e=0){if(Gu(r)){const t=jr(r);return t.length===0?r:t.map(a=>gP(a,e+1)).reduce((a,s)=>a?s&&s.x<a.x?s:a:s,null)}return null}function vP(r){const e=[];if(Gu(r))e.push(r);else return[];return jr(r).forEach(i=>{e.push(...vP(i))}),e}function IP(r){return r.type===n.FunctionDeclaration&&r.parent!==r.project&&!![n.CustomEntity,n.Loop,n.InstalledProject].includes(r.parent.type)}function u7(r,e){const t=new Map;return r.forEach(i=>{t.set(i.id,i)}),e.forEach(i=>{t.set(i.id,i)}),Array.from(t.values())}function jo(r){switch(r){case n.CustomEntity:return kr;case n.FunctionDeclaration:return Br;case n.VariableDeclaration:return Mr;case n.VariableInstance:return Vr;case n.FunctionCall:return xr;case n.Operation:return wr;case n.Condition:return Nr;case n.ReturnStatement:return Fr;case n.Loop:return _r;case n.Search:return Lr;case n.InputMap:return On;case n.OutputMap:return Sn;case n.ArgumentDeclaration:return $r;case n.ReturnDeclaration:return Nt;case n.Property:return Cr;case n.InstalledProject:return Gr;case n.Project:return N;case n.BuiltInBaseEntity:return Ft;default:return null}}function bt(r,e){if(ct.includes(r.type))return r;if(Yr.includes(r.type))return null;const t=r.parent;if(!t)return null;if(t.type===n.GenericReference){const i=w(t);if(!i)return null;const a=e.get(i);return a?bt(a,e):null}else return t===e?e:bt(t,e)}function $u(r,e){if(Yr.includes(r.type)||e.getBuiltIn(r.id))return null;const t=Mt(r.parent,e);return t?t===e?ct.includes(r.type)?r:null:t.type===n.CustomEntity?r:$u(t,e):null}function ko(r,e,t){if(r===e||e===t||r===t)return!1;const i=bt(e.parent,t);return i===r?!0:ko(i,e,t)}var qo=(r=>(r.SameBothLocal="same-both-local",r.AInB="a-in-b",r.BInA="b-in-a",r.ParallelInCommonParent="parallel-in-common-parent",r.ParallelInProject="parallel-in-project",r.AIsGlobalBIsNot="a-is-global-b-is-not",r.BIsGlobalAIsNot="b-is-global-a-is-not",r.SameBothGlobal="same-both-global",r))(qo||{});function Ua(r,e,t){const i=bt(r,t),a=bt(e,t);if(!i)throw new Error("Could not find scope owner for the entity: "+r.id);if(!a)throw new Error("Could not find scope owner for the entity: "+e.id);if(i===a&&i.type!==n.Project)return{compatible:!0,type:"same-both-local",commonAncestorScope:i};if(i===a&&i.type===n.Project)return{compatible:!0,type:"same-both-global",commonAncestorScope:i};if(i.type===n.Project&&a.type!==n.Project)return{compatible:!1,type:"a-is-global-b-is-not",commonAncestorScope:i};if(i.type!==n.Project&&a.type===n.Project)return{compatible:!1,type:"b-is-global-a-is-not",commonAncestorScope:a};if(ko(i,a,t))return{compatible:!0,type:"b-in-a",commonAncestorScope:i};if(ko(a,i,t))return{compatible:!0,type:"a-in-b",commonAncestorScope:a};const l=Ou(i,a);return l===t?{compatible:!1,type:"parallel-in-project",commonAncestorScope:l}:l?{compatible:!1,type:"parallel-in-common-parent",commonAncestorScope:bt(l,t)}:{compatible:!1,type:"parallel-in-project",commonAncestorScope:t}}function DP(r,e,t){const i=Ua(r,e,t);if(!i.compatible||i.type!=="same-both-local")return null;if(r===e)return r;let a=bt(r.parent,t);if(a){if(a===e)return e;if(a.type===n.Project)return r}else return r;for(;a;){if(a){if(a===e)return e;if(a.type===n.Project)return r}else return r;a=bt(a.parent,t)}let s=bt(e.parent,t);if(s){if(s===r)return r;if(s.type===n.Project)return e}else return e;for(;s;){if(s){if(s===r)return r;if(s.type===n.Project)return e}else return e;s=bt(s.parent,t)}return null}function AP(r){return r.length===0?null:r.length===1?r[0]:r.reduce((t,i)=>{const a=DP(t,i,i.project);return!a||a===i?t:i},r[0])}function Mt(r,e){let t;return typeof r=="string"?t=r:r.type===n.GenericReference?t=w(r):t=r.id,t===e.id?e:e.get(t)}function er(r){if(!r)return null;if(Yr.includes(r.type))return r;if(r.type===n.Project)return null;if(r.project.getBuiltIn(r.id))return r;const e=r.parent;return!e||e.type===n.Project?null:er(e)}function xa(r,e){var t;if(r.readsValue){const i=Mt(r.readsValue,e.project);e.setValueWriter(i),i.addValueReader(e)}else r.readsValue===null&&((t=e.readsValue)==null||t.removeValueReader(e),e.readsValue=null);return e}function ja(r){const e=[];function t(s,o){return e.some(l=>l.blockedByCaller===s&&l.blockedByCalling===o)}function i(s,o){t(s,o)||e.push({blockedByCaller:s,blockedByCalling:o})}const a=$u(r,r.project);return r.calledBySuccess.forEach(s=>{[...s.successCalls||[]].forEach(p=>{$e.includes(p.type)&&p!==r&&(we(r).find(m=>m===p)||i(s,p))});let l;if(Ue.includes(s.type)&&(l=s),l){const p=ja(l);p.reachable||we(r).find(m=>m===s)||p.blocks.forEach(m=>{i(s,m.blockedByCalling)})}}),r.calledByError.forEach(s=>{[...s.errorCalls||[]].forEach(p=>{$e.includes(p.type)&&p!==r&&(we(r).find(m=>m===p)||i(s,p))});let l;if(Ue.includes(s.type)&&(l=s),l){const p=ja(l);p.reachable||we(r).find(m=>m===s)||p.blocks.forEach(m=>{i(s,m.blockedByCalling)})}}),r.calledByEntry.forEach(s=>{if([...s.calls||[]].forEach(p=>{$e.includes(p.type)&&p!==r&&(we(r).find(m=>m===p)||i(s,p))}),s===a)return;let l;if(s.type===n.FunctionDeclaration){const p=Xe(s);if(p.type===n.CustomEntity)return;p.type===n.Loop&&(l=p)}if(l){const p=ja(l);p.reachable||p.blocks.forEach(y=>{i(s,y.blockedByCalling)})}}),{reachable:e.length===0,entryPoint:a,blocks:e}}function p7(r){return zo.includes(r.type)?r.type===n.FunctionDeclaration?!IP(r):!0:!1}function y7(r){if(n.ActionDescriptor===r.type){if(r.project.operationDeclarations.find(s=>s.id===r.id))return n.Operation;if(r.project.globalEventActionDescriptors.find(s=>s.id===r.id))return n.GlobalEvent;if(r.project.loopDeclarations.find(s=>s.id===r.id))return n.Loop;if(r.project.conditionDeclarations.find(s=>s.id===r.id))return n.Condition}return r.type}function f7(r,e){const t=[];if(r.parent)if(r.id===r.parent)t.push(new E({id:`${r.id}--${r.parent}--${f.SelfReference}`,code:f.SelfReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has a reference to itself at 'parent'. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));else{const i=e.get(r.parent);i?[n.Project,n.DataType].includes(i.type)||t.push(new E({id:`${r.id}--${r.parent}--${f.InvalidParentReference}`,code:f.InvalidParentReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has a parent reference that isn't pointing to an entity of type 'project' or 'data-type'.`,issue:null})):t.push(new E({id:`${r.id}--${r.parent}--${f.ReferencedEntityNotFound}`,code:f.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", is referencing an entity with id "${r.parent}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}return r.implements&&Array.isArray(r.implements)?r.implements.forEach(i=>{if(r.id===i){t.push(new E({id:`${r.id}--${i}--${f.SelfReference}`,code:f.SelfReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has a reference to itself at one of the 'implements' references. This is not allowed. Change the reference string or the 'entityId' property of the reference object.`,issue:null}));return}const a=e.get(i);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract||t.push(new E({id:`${r.id}--${i}--${f.InvalidImplementsReference}`,code:f.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'implements' reference that isn't pointing to an abstract entity.`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.InvalidImplementsReference}`,code:f.InvalidImplementsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'implements' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.ReferencedEntityNotFound}`,code:f.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}):t.push(new E({id:`${r.id}--${P.InvalidObjectStructure}`,code:P.InvalidObjectStructure,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'implements' property that isn't an array.`,issue:null})),r.extends&&Array.isArray(r.extends)&&r.extends.forEach(i=>{const a=e.get(i);a?[n.CustomEntity,n.BuiltInBaseEntity].includes(a.type)?a.abstract&&t.push(new E({id:`${r.id}--${i}--${f.InvalidExtendsReference}`,code:f.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'extends' reference that isn't pointing to a non-abstract entity. Did you want to use the property 'implements', which holds a list of references to absract entities, instead?`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.InvalidExtendsReference}`,code:f.InvalidExtendsReference,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", has an 'extends' reference that isn't pointing to an entity of type 'custom-entity' or 'built-in-base-entity'.`,issue:null})):t.push(new E({id:`${r.id}--${i}--${f.ReferencedEntityNotFound}`,code:f.ReferencedEntityNotFound,severity:T.Error,message:`Entity of type "${r.type}" with id "${r.id}", is referencing an entity with id "${i}" that isn't yet found in the project. Perhaps it should be created first. Or perhaps the ID is incorrect.`,issue:null}))}),t}const Be=class Be{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"x");c(this,"y");c(this,"static");c(this,"abstract");c(this,"type",n.CustomEntity);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"implements",[]);c(this,"project");c(this,"errors",[]);c(this,"parent");c(this,"initialized",!1);c(this,"suggestedProperties",[]);c(this,"suggestedMethods",[]);this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=e.x,this.y=e.y,this.static=e.static,this.abstract=e.abstract}static fromGenerationTarget(e,t){let i=t;if(e.parent){const p=w(e.parent);i=t.get(p)}const a=[];e.implements&&e.implements.forEach(p=>{a.push(t.get(p)||t.getBuiltIn(p))});const s=[];e.extends&&e.extends.forEach(p=>{s.push(t.get(p)||t.getBuiltIn(p))});const o={id:e.id,version:1,name:e.name,type:n.CustomEntity,description:e.description,static:e.static,abstract:e.abstract,properties:[],methods:[],abstractMethods:[],extends:s,implements:a,x:0,y:0,parent:i},l=R(o,t);return l.setParent(i),l.initChildren(),l}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[],s=f7(i,t),o=So(i,t);a.push(...s,...o,...Ne(i));const l=i.parent?t.get(i.parent):null;if(l&&l.type===n.DataType){const p=l;p.entity&&a.push(new E({id:`${e.id}--${f.NewEntityWouldOverriteExisting}`,code:f.NewEntityWouldOverriteExisting,severity:T.Error,message:`The entity of type '${e.type}' with id '${e.id}' can't be added to the 'parent' entity with id '${p.id}' because it already has an 'entity' child. Data type entities can only have one 'entity' as children.
369
369
  You can inspect the existing 'entity' field with the 'describe_entity' action. Like so:
370
370
  ${ln({describe_entity:p.entity.id})}
371
371
  Alternatively you can update the parent data-type entity with 'update' action to remove the existing value of the field.`,issue:null}))}return{errors:a,modifiedData:i}}get extendedProperties(){return g([...this.extends.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[]),...this.implements.reduce((e,t)=>[...[...t.properties,...t.extendedProperties].filter(a=>!a.abstract),...e],[])])}validateGeneratedUpdate(e){const t=[];return e.parent&&t.push(new E({id:`${this.id}--${f.InvalidParentUpdate}`,code:f.InvalidParentUpdate,severity:T.Error,message:`Entity of type '${this.type}' with id '${this.id}' cannot have the 'parent' property updated. The 'parent' on an '${this.type}', must be the root project as it is a globally declared entity.`,issue:null})),{errors:t,modifiedData:e}}addSelfToProject(){const e=[this],t=[],i=[];if(this.parent.type===n.DataType){const a=this.parent;a.entity=this,e.push(a)}else this.project.addCustomEntity(this);return{updated:g(e),added:g(t),removed:g(i),self:this}}setParent(e){return this.parent=e,this}removeProperty(e){return this.properties=this.properties.filter(t=>t.id!==e.id),this}addMethod(e){return this.methods.includes(e)||(this.methods.push(e),this.suggestedMethods=this.suggestedMethods.filter(t=>t.name!==e.name)),this}removeMethod(e){return this.methods=this.methods.filter(t=>t.id!==e.id),this}addProperty(e){return this.properties.includes(e)||(this.properties.push(e),this.suggestedProperties=this.suggestedProperties.filter(t=>t.name!==e.name)),this}addSuggestedProperty(e){return this.suggestedProperties.includes(e)||this.suggestedProperties.push(e),this}addSuggestedMethod(e){return this.suggestedMethods.includes(e)||this.suggestedMethods.push(e),this}removeSuggestedProperty(e){return this.suggestedProperties=this.suggestedProperties.filter(t=>t.id!==e.id),this}removeSuggestedMethod(e){return this.suggestedMethods=this.suggestedMethods.filter(t=>t.id!==e.id),this}addAbstractMethod(e){return this.abstractMethods.includes(e)||this.abstractMethods.push(e),this}removeAbstractMethod(e){return this.abstractMethods=this.abstractMethods.filter(t=>t.id!==e.id),this}initChildren(){return this.initialized?this:(this.initialized=!0,this.properties=this.initialData.properties.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.methods=this.initialData.methods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.abstractMethods=this.initialData.abstractMethods.map(e=>{const t=R(e,this.project);return t.setParent(this),t.initChildren(),t}),this.extends=this.initialData.extends.map(e=>R(e,this.project)),this.implements=this.initialData.implements.map(e=>R(e,this.project)),this.addSuggestions(),this)}addSuggestions(){return this.implements.forEach(e=>{q3(this,e).forEach(a=>{const s=a.toJSON();s.id=`_suggestion--parent--${this.id}--${a.id}`;const o=R(s,this.project);o.suggestion=!0,o.setParent(this),o.initChildren(),this.addSuggestedProperty(o)}),J3(this,e).forEach(a=>{const s=`_suggestion--parent--${this.id}--${a.id}`,o=a.implementAsFunctionDeclaration(s),l=R(o,this.project);if(l.suggestion=!0,l.setParent(this),l.initChildren(),l.inputs.forEach(p=>{p.suggestion=!0}),l.returnStatements.length){const p=l.returnStatements[0];p.suggestion=!0,p.outputs.forEach(y=>{y.suggestion=!0})}this.addSuggestedMethod(l)})}),this}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.x=e.x||this.x,this.y=e.y||this.y,this.static=e.static||this.static,this.abstract=e.abstract||this.abstract,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){const i=[],a=[];return t.has(this.id)?{affected:[],removed:[]}:(t.add(this.id),a.push(this),this.unsubscribe(),this.properties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}),this.methods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}),this.abstractMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}),this.suggestedProperties.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}),this.suggestedMethods.forEach(s=>{const{affected:o,removed:l}=s.remove({ignoreUpstream:!0,seenEntities:t});i.push(...o),a.push(...l)}),{affected:g(i),removed:g(a)})}restore({seenEntities:e}={seenEntities:new Set}){const t=[];return e.has(this.id)?{affected:[],self:this}:(e.add(this.id),this.subscribe(),this.properties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.methods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.abstractMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedProperties.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),this.suggestedMethods.forEach(i=>{const{affected:a}=i.restore({seenEntities:e});t.push(...a)}),{affected:g(t),self:this})}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.extends.flatMap(i=>i.toFlat(e)),...this.implements.flatMap(i=>i.toFlat(e)),...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.extends.flatMap(i=>i.toFlatIds(e)),...this.implements.flatMap(i=>i.toFlatIds(e)),...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),implements:this.implements.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON()),parent:this.parent.toReference()}}toReference(){return{id:this.id+"--"+N.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,name:this.name,description:this.description,type:this.type,x:this.x,y:this.y,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),implements:this.implements.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference()),parent:this.parent.toReference()}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e)),...this.implements.flatMap(i=>i.toFlatJSON(e)),...this.extends.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){const e=this.parent.type===n.Project?void 0:this.parent.id;return{id:this.id,name:this.name,description:this.description,type:this.type,static:this.static,abstract:this.abstract,extends:this.extends.map(t=>t.id),implements:this.implements.map(t=>t.id),parent:e}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===n.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e)),...this.implements.filter(i=>i.type===n.CustomEntity).flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){return this.errors=k3(this),{success:!0,error:null,data:null}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(e=null,t=null,i=!0){var b,v,D;const a=this.toJSON(),s=t||He(C(this,this.project),n.CustomEntity,this.project);a.properties=[],a.methods=[],a.abstractMethods=[];const o=s.split("-id"),l=o[o.length-1||0]||s;a.id=s;const p=xt(a,this.project);e&&p.setParent(e),i&&p.subscribe(),p.initChildren();const y=(b=this.properties)==null?void 0:b.map((O,S)=>O.clone(this,l+"-property-"+S+"-id",i));p.properties=y;const h=(v=this.methods)==null?void 0:v.map((O,S)=>O.clone(this,l+"-method-"+S+"-id",i));p.methods=h;const m=(D=this.abstractMethods)==null?void 0:D.map((O,S)=>O.clone(this,l+"-abstract-method-"+S+"-id",i));return p.abstractMethods=m,p}getFunctionDeclaration(e){return this.methods.find(t=>t.id===e)}implement(e,t){return Go(this,e,t)}getAllInteractiveMethods(){const e=this.implements.filter(i=>i.type===n.CustomEntity||i.type===n.BuiltInBaseEntity&&i.interactive);return g([...this.methods,...this.extends.flatMap(i=>i.getAllInteractiveMethods()),...e.flatMap(i=>i.getAllInteractiveMethods())])}inferFromInputs(e){if(this.parent.type!==n.DataType||!this.parent.inferred)return this;const t=[];e.forEach(s=>{t.find(l=>C(l,this.project)===C(s,this.project))||t.push(s)});const i=this.properties.filter(s=>!s.getDataType());t.forEach(s=>{const o=i.find(m=>C(m,this.project)===C(s,this.project));if(!o)return;const p=Sr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),y=on(p),h=y==null?void 0:y.clone(o,o.id+"--data-type",!0);h&&o.setDataType(h),s.setDeclaration(o)});const a=[];return t.forEach(s=>{if(!s.declaration){a.push(s);return}}),a.length===0?this:(a.forEach(s=>{const o=this.properties.find(v=>C(v,this.project)===C(s,this.project));if(o){if(s.setDeclaration(o),!o.getDataType()){const D=Sr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),O=on(D),S=O==null?void 0:O.clone(o,o.id+"--data-type",!0);S&&o.setDataType(S)}return}const l={id:s.id+"--inferred-property",type:n.Property,version:1,name:C(s,this.project),description:s.description,static:!0,abstract:!1,private:!1,hidden:!1,required:!1,index:s.index,implements:null,dataType:null,parent:this.toReference()},p=R(l,this.project);p.setParent(this),p.initChildren();const h=Sr(s.parent).getMasterInputWithValueWritterFromAllInstances(s),m=on(h),b=m==null?void 0:m.clone(p,l.id+"--data-type",!0);return b&&p.setDataType(b),this.addProperty(p),s.setDeclaration(p),p}),this)}};c(Be,"MUTABLE_BASE_PROPERTIES",["name","description","static","abstract"]),c(Be,"INMUTABLE_BASE_PROPERTIES",["id","version","type"]),c(Be,"BASE_PROPERTIES",[...Be.MUTABLE_BASE_PROPERTIES,...Be.INMUTABLE_BASE_PROPERTIES]),c(Be,"MUTABLE_META_PROPERTIES",[...Be.MUTABLE_BASE_PROPERTIES,"x","y"]),c(Be,"INMUTABLE_META_PROPERTIES",[...Be.INMUTABLE_BASE_PROPERTIES]),c(Be,"META_PROPERTIES",[...Be.MUTABLE_META_PROPERTIES,...Be.INMUTABLE_META_PROPERTIES]),c(Be,"MUTABLE_UPSTREAM_PROPERTIES",["extends","implements"]),c(Be,"INMUTABLE_UPSTREAM_PROPERTIES",["parent"]),c(Be,"UPSTREAM_PROPERTIES",[...Be.MUTABLE_UPSTREAM_PROPERTIES,...Be.INMUTABLE_UPSTREAM_PROPERTIES]),c(Be,"MUTABLE_DOWNSTREAM_PROPERTIES",["properties","methods","abstractMethods"]),c(Be,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(Be,"DOWNSTREAM_PROPERTIES",[...Be.MUTABLE_DOWNSTREAM_PROPERTIES,...Be.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(Be,"PROPERTIES",[...Be.META_PROPERTIES,...Be.UPSTREAM_PROPERTIES,...Be.DOWNSTREAM_PROPERTIES]);let kr=Be;function h7(r){const e=R9(),t=r.toJSON();e.safeParse(t).success;const a=[];return ae(r.errors,a)}class Ft{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"type",n.BuiltInBaseEntity);c(this,"abstract",!1);c(this,"static");c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"interactive",!1);c(this,"errors",[]);c(this,"project");this.initialData=this.initialData||e,this.project=this.project||t,this.id=this.id||e.id,this.version=this.version||e.version,this.name=this.name||e.name,this.static=this.static||e.static,this.interactive=this.interactive||e.interactive,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}get extendedProperties(){return g(this.extends.reduce((e,t)=>{const i=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);return[...e,...i]},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove(e={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e)),...this.extends.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e)),...this.extends.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+N.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,interactive:this.interactive,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,interactive:this.interactive,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=h7(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Ft(this.toJSON(),this.project)}implement(e,t){return Go(this,e,t)}getAllInteractiveMethods(){const e=[];return this.interactive&&(e.push(...this.methods),this.extends.filter(i=>i.type===n.BuiltInBaseEntity&&i.interactive||i.type===n.PrimitiveEntity).forEach(i=>{i instanceof Ft&&e.push(...i.getAllInteractiveMethods())})),g(e)}}function m7(r){const e=u9(),t=r.toJSON();e.safeParse(t).success;const a=[];return ae(r.errors,a)}class Ut{constructor(e,t){c(this,"initialData");c(this,"id");c(this,"version");c(this,"name");c(this,"description",null);c(this,"type",n.PrimitiveEntity);c(this,"static");c(this,"abstract");c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=e,this.project=t,this.id=e.id,this.version=e.version,this.name=e.name,this.static=e.static,this.abstract=e.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a})}get extendedProperties(){return g(this.extends.reduce((e,t)=>{const i=[...t.properties,...t.extendedProperties].filter(a=>!a.abstract);return[...e,...i]},[]))}subscribe(){return this.project.subscribeInstance(this),this}unsubscribe(){return this.project.unsubscribeInstance(this),this}async load(){return this}remove({ignoreUpstream:e,seenEntities:t}={ignoreUpstream:!1,seenEntities:new Set}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this,...this.properties.flatMap(i=>i.toFlat(e)),...this.methods.flatMap(i=>i.toFlat(e)),...this.abstractMethods.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.id,...this.properties.flatMap(i=>i.toFlatIds(e)),...this.methods.flatMap(i=>i.toFlatIds(e)),...this.abstractMethods.flatMap(i=>i.toFlatIds(e))])}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,properties:this.properties.map(e=>e.toJSON()),methods:this.methods.map(e=>e.toJSON()),abstractMethods:this.abstractMethods.map(e=>e.toJSON()),extends:this.extends.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+N.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,abstract:this.abstract,static:this.static,properties:this.properties.map(e=>e.toReference()),methods:this.methods.map(e=>e.toReference()),abstractMethods:this.abstractMethods.map(e=>e.toReference()),extends:this.extends.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toShallowJSON(),...this.properties.flatMap(i=>i.toFlatJSON(e)),...this.methods.flatMap(i=>i.toFlatJSON(e)),...this.abstractMethods.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description,static:this.static,abstract:this.abstract,extends:this.extends.map(e=>e.id)}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[this.toGenerationTarget(),...this.properties.flatMap(i=>i.toFlatGenerationTarget(e)),...this.methods.flatMap(i=>i.toFlatGenerationTarget(e)),...this.abstractMethods.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.properties.forEach(e=>e.clearErrors()),this.methods.forEach(e=>e.clearErrors()),this.abstractMethods.forEach(e=>e.clearErrors()),this}validate(){const e=m7(this);return this.errors=e,{success:!0,error:null,data:this.toJSON()}}getErrors(){return[...this.errors,...this.properties.flatMap(t=>t.getErrors()),...this.methods.flatMap(t=>t.getErrors()),...this.abstractMethods.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new Ut(this.toJSON(),this.project)}getAllInteractiveMethods(){const e=[];return e.push(...this.methods),this.extends.filter(i=>i.type===n.BuiltInBaseEntity&&i.interactive||i.type===n.PrimitiveEntity).forEach(i=>{i instanceof Ft&&e.push(...i.getAllInteractiveMethods())}),g(e)}}function xt(r,e){if(!r)throw new Error("Entity is null");const t=e.get(r.id);switch(r.type){case n.PrimitiveValue:return t||new Oi(r,e);case n.CustomEntity:return t||new kr(r,e);case n.PrimitiveEntity:return t||new Ut(r,e);case n.FunctionDeclaration:return t||new Br(r,e);case n.GlobalEvent:return t||new Ai(r,e);case n.DataType:return t||new Di(r,e);case n.Property:return t||new Cr(r,e);case n.FunctionCall:return t||new xr(r,e);case n.Condition:return t||new Nr(r,e);case n.Operation:return t||new wr(r,e);case n.VariableDeclaration:return t||new Mr(r,e);case n.VariableInstance:return t||new Vr(r,e);case n.OutputMap:return t||new Sn(r,e);case n.ReturnDeclaration:return t||new Nt(r,e);case n.ArgumentDeclaration:return t||new $r(r,e);case n.InputMap:return t||new On(r,e);case n.Project:return t||new N(r);case n.InstalledProject:return t||new Gr(r,e);case n.ActionDescriptor:return t||new ne(r,e);case n.ReturnStatement:return t||new Fr(r,e);case n.Loop:return t||new _r(r,e);case n.Search:return t||new Lr(r,e);case n.ValueDescriptor:return t||new Ur(r,e);case n.BuiltInBaseEntity:return t||new Ft(r,e);case n.InternalCall:return t||new Pi(r,e);case n.ContinueStatement:return t||new Tt(r,e);case n.BreakStatement:return t||new Si(r,e);default:throw new Error("Invalid entity type: "+r.type)}}function R(r,e){if(!r)throw new Error("Entity is null");const t=xt(r,e);return t.subscribe(),t}function T7(r,e){if(!r)throw new Error("Entity is null");switch(r.type){case n.PrimitiveValue:return Oi.fromGenerationTarget(r,e);case n.CustomEntity:return kr.fromGenerationTarget(r,e);case n.FunctionDeclaration:return Br.fromGenerationTarget(r,e);case n.GlobalEvent:return Ai.fromGenerationTarget(r,e);case n.DataType:return Di.fromGenerationTarget(r,e);case n.Property:return Cr.fromGenerationTarget(r,e);case n.FunctionCall:return xr.fromGenerationTarget(r,e);case n.Condition:return Nr.fromGenerationTarget(r,e);case n.Operation:return wr.fromGenerationTarget(r,e);case n.VariableDeclaration:return Mr.fromGenerationTarget(r,e);case n.VariableInstance:return Vr.fromGenerationTarget(r,e);case n.OutputMap:return Sn.fromGenerationTarget(r,e);case n.ReturnDeclaration:return Nt.fromGenerationTarget(r,e);case n.ArgumentDeclaration:return $r.fromGenerationTarget(r,e);case n.InputMap:return On.fromGenerationTarget(r,e);case n.InstalledProject:return Gr.fromGenerationTarget(r,e);case n.ReturnStatement:return Fr.fromGenerationTarget(r,e);case n.Loop:return _r.fromGenerationTarget(r,e);case n.Search:return Lr.fromGenerationTarget(r,e);case n.ActionDescriptor:return ne.fromGenerationTarget(r,e);case n.ValueDescriptor:return Ur.fromGenerationTarget(r,e);case n.InternalCall:return Pi.fromGenerationTarget(r,e);case n.ContinueStatement:return Tt.fromGenerationTarget(r,e);case n.BreakStatement:return Si.fromGenerationTarget(r,e);default:throw new Error("Invalid entity type: "+r.type)}}const ee=class ee{constructor(e){c(this,"initialData");c(this,"id");c(this,"version");c(this,"type",n.Project);c(this,"name",null);c(this,"description",null);c(this,"x");c(this,"y");c(this,"entities",[]);c(this,"projects",[]);c(this,"functions",[]);c(this,"events",[]);c(this,"variableDeclarations",[]);c(this,"variableInstances",[]);c(this,"conditions",[]);c(this,"operations",[]);c(this,"functionCalls",[]);c(this,"loops",[]);c(this,"searches",[]);c(this,"primitives",[]);c(this,"builtInBaseEntities",[]);c(this,"operationDeclarations",[]);c(this,"globalEventActionDescriptors",[]);c(this,"loopDeclarations",[]);c(this,"loopDeclarationsBodies",[]);c(this,"conditionDeclarations",[]);c(this,"valueDescriptors",[]);c(this,"dataTypes",[]);c(this,"project");c(this,"instances",{});c(this,"builtInInstances",{});c(this,"errors",[]);c(this,"references",[]);this.initialData=e,this.id=e.id,this.version=e.version,this.name=e.name,this.description=e.description,this.x=0,this.y=0;try{(!ee.UUID||ee.UUID.isBackup)&&(ee.UUID=Ls==null?void 0:Ls()),ee.UUID||(ee.UUID={isBackup:!0,uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:t=>t})}catch(t){console.error("Error initializing UUID module",t),ee.UUID={isBackup:!0,uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:i=>i}}}static injectUUIDModule(e){ee.UUID=e}static validateGenerationTarget(e,t){let i=JSON.parse(JSON.stringify(e));const a=[];return a.push(...Ne(i)),{errors:a,modifiedData:i}}async inject(...e){return await Promise.all(e.map(t=>new Promise(async i=>{await t.init(this),i(null)}))),this}validateGeneratedUpdate(e){return{errors:[],modifiedData:e}}addSelfToProject(){const e=[this],t=[],i=[];return{updated:g(e),added:g(t),removed:g(i),self:this}}get instancesList(){return Object.values(this.instances)}isOperationDeclaration(e){return this.operationDeclarations.includes(e)}isGlobalEventActionDescriptor(e){return this.globalEventActionDescriptors.includes(e)}isLoopDeclaration(e){return this.loopDeclarations.includes(e)}isConditionDeclaration(e){return this.conditionDeclarations.includes(e)}initChildren(){return this.entities=this.initialData.entities.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.projects=this.initialData.projects.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functions=this.initialData.functions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.events=this.initialData.events.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableDeclarations=this.initialData.variableDeclarations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.variableInstances=this.initialData.variableInstances.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.conditions=this.initialData.conditions.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.operations=this.initialData.operations.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.functionCalls=this.initialData.functionCalls.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.loops=this.initialData.loops.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.searches=this.initialData.searches.map(e=>{const t=R(e,this);return t.setParent(this),t.initChildren(),t}),this.attachOrphanReferences(),this.validate(),this}subscribeInstance(e){return(!this.instances[e.id]||this.instances[e.id]!==e)&&(this.instances[e.id]=e),this}subscribeBuiltInInstance(e){return(!this.builtInInstances[e.id]||this.builtInInstances[e.id]!==e)&&(this.builtInInstances[e.id]=e),this}subscribe(){return this}unsubscribe(){return this}unsubscribeInstance(e){return delete this.instances[e.id],this}findSubscribedInstance(e){return this.instances[e.id]||null}findSubscribedBuiltInInstance(e){return this.builtInInstances[e.id]||null}get(e){return this.instances[e]||this.builtInInstances[e]||null}getManaged(e){return this.instances[e]||null}getBuiltIn(e){return this.builtInInstances[e]||null}findSubscribedInstanceFromReference(e){return this.instances[e.entityId]||null}findSubscribedBuiltInInstanceFromReference(e){return this.builtInInstances[e.entityId]||null}sync(e){return this.version=e.version||this.version,this.name=e.name||this.name,this.description=e.description||this.description,this.x=e.x||this.x,this.y=e.y||this.y,this}async load(){return this}async create(){return this}async update(e){return this}async delete(){return this}remove({ignoreUpstream:e}={ignoreUpstream:!1}){return{affected:[],removed:[]}}restore({seenEntities:e}={seenEntities:new Set}){return{affected:[],self:this}}getAllBuiltInIds(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlatIds(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlatIds(e)),...this.operationDeclarations.flatMap(t=>t.toFlatIds(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlatIds(e)),...this.loopDeclarations.flatMap(t=>t.toFlatIds(e)),...this.conditionDeclarations.flatMap(t=>t.toFlatIds(e)),...this.valueDescriptors.flatMap(t=>t.toFlatIds(e)),...this.dataTypes.flatMap(t=>t.toFlatIds(e))]}getAllBuiltIn(){const e=new Set;return[...this.primitives.flatMap(t=>t.toFlat(e)),...this.builtInBaseEntities.flatMap(t=>t.toFlat(e)),...this.operationDeclarations.flatMap(t=>t.toFlat(e)),...this.globalEventActionDescriptors.flatMap(t=>t.toFlat(e)),...this.loopDeclarations.flatMap(t=>t.toFlat(e)),...this.conditionDeclarations.flatMap(t=>t.toFlat(e)),...this.valueDescriptors.flatMap(t=>t.toFlat(e)),...this.dataTypes.flatMap(t=>t.toFlat(e))]}toFlat(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlat(e)),...this.functions.flatMap(i=>i.toFlat(e)),...this.events.flatMap(i=>i.toFlat(e)),...this.projects.flatMap(i=>i.toFlat(e)),...this.variableDeclarations.flatMap(i=>i.toFlat(e)),...this.variableInstances.flatMap(i=>i.toFlat(e)),...this.conditions.flatMap(i=>i.toFlat(e)),...this.operations.flatMap(i=>i.toFlat(e)),...this.functionCalls.flatMap(i=>i.toFlat(e)),...this.loops.flatMap(i=>i.toFlat(e)),...this.searches.flatMap(i=>i.toFlat(e))])}toFlatIds(e=new Set){return e.has(this.id)?[]:(e.add(this.id),Array.from(e))}toJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toJSON()),functions:this.functions.map(e=>e.toJSON()),events:this.events.map(e=>e.toJSON()),projects:this.projects.map(e=>e.toJSON()),variableDeclarations:this.variableDeclarations.map(e=>e.toJSON()),variableInstances:this.variableInstances.map(e=>e.toJSON()),conditions:this.conditions.map(e=>e.toJSON()),operations:this.operations.map(e=>e.toJSON()),functionCalls:this.functionCalls.map(e=>e.toJSON()),loops:this.loops.map(e=>e.toJSON()),searches:this.searches.map(e=>e.toJSON())}}toReference(){return{id:this.id+"--"+ee.UUID.uuid()+"--ref",type:n.GenericReference,entityId:this.id,entityType:this.type}}toShallowJSON(){return{id:this.id,version:this.version,type:this.type,name:this.name,description:this.description,entities:this.entities.map(e=>e.toReference()),functions:this.functions.map(e=>e.toReference()),events:this.events.map(e=>e.toReference()),projects:this.projects.map(e=>e.toReference()),variableDeclarations:this.variableDeclarations.map(e=>e.toReference()),variableInstances:this.variableInstances.map(e=>e.toReference()),conditions:this.conditions.map(e=>e.toReference()),operations:this.operations.map(e=>e.toReference()),functionCalls:this.functionCalls.map(e=>e.toReference()),loops:this.loops.map(e=>e.toReference()),searches:this.searches.map(e=>e.toReference())}}toFlatJSON(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatJSON(e)),...this.functions.flatMap(i=>i.toFlatJSON(e)),...this.events.flatMap(i=>i.toFlatJSON(e)),...this.projects.flatMap(i=>i.toFlatJSON(e)),...this.variableDeclarations.flatMap(i=>i.toFlatJSON(e)),...this.variableInstances.flatMap(i=>i.toFlatJSON(e)),...this.conditions.flatMap(i=>i.toFlatJSON(e)),...this.operations.flatMap(i=>i.toFlatJSON(e)),...this.functionCalls.flatMap(i=>i.toFlatJSON(e)),...this.loops.flatMap(i=>i.toFlatJSON(e)),...this.searches.flatMap(i=>i.toFlatJSON(e))])}toGenerationTarget(){return{id:this.id,type:this.type,name:this.name,description:this.description}}toFlatGenerationTarget(e=new Set){return e.has(this.id)?[]:(e.add(this.id),[...this.entities.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.events.flatMap(i=>i.toFlatGenerationTarget(e)),...this.projects.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableDeclarations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.variableInstances.flatMap(i=>i.toFlatGenerationTarget(e)),...this.conditions.flatMap(i=>i.toFlatGenerationTarget(e)),...this.operations.flatMap(i=>i.toFlatGenerationTarget(e)),...this.functionCalls.flatMap(i=>i.toFlatGenerationTarget(e)),...this.loops.flatMap(i=>i.toFlatGenerationTarget(e)),...this.searches.flatMap(i=>i.toFlatGenerationTarget(e))])}clearErrors(){return this.errors=[],this.entities.forEach(e=>e.clearErrors()),this.projects.forEach(e=>e.clearErrors()),this.functions.forEach(e=>e.clearErrors()),this.events.forEach(e=>e.clearErrors()),this.variableDeclarations.forEach(e=>e.clearErrors()),this.variableInstances.forEach(e=>e.clearErrors()),this.conditions.forEach(e=>e.clearErrors()),this.operations.forEach(e=>e.clearErrors()),this.functionCalls.forEach(e=>e.clearErrors()),this.loops.forEach(e=>e.clearErrors()),this.searches.forEach(e=>e.clearErrors()),this}validate(){const e=G3(),t=this.toJSON();return e.safeParse(t),this.validateChildren(),{success:!0,error:null,data:t}}validateChildren(){this.entities.forEach(e=>e.validate()),this.projects.forEach(e=>e.validate()),this.functions.forEach(e=>e.validate()),this.events.forEach(e=>e.validate()),this.variableDeclarations.forEach(e=>e.validate()),this.variableInstances.forEach(e=>e.validate()),this.conditions.forEach(e=>e.validate()),this.operations.forEach(e=>e.validate()),this.functionCalls.forEach(e=>e.validate()),this.loops.forEach(e=>e.validate()),this.searches.forEach(e=>e.validate())}getErrors(){return[...this.errors,...this.entities.flatMap(t=>t.getErrors()),...this.projects.flatMap(t=>t.getErrors()),...this.functions.flatMap(t=>t.getErrors()),...this.events.flatMap(t=>t.getErrors()),...this.variableDeclarations.flatMap(t=>t.getErrors()),...this.variableInstances.flatMap(t=>t.getErrors()),...this.conditions.flatMap(t=>t.getErrors()),...this.operations.flatMap(t=>t.getErrors()),...this.functionCalls.flatMap(t=>t.getErrors()),...this.loops.flatMap(t=>t.getErrors()),...this.searches.flatMap(t=>t.getErrors())]}getShallowErrors(){return this.errors}clone(){return new ee(this.toJSON())}getCustomEntity(e){return this.entities.find(t=>t.id===e)||null}addCustomEntityFromTransfer(e){const t=R(e,this);return this.addCustomEntity(t),t}addCustomEntity(e){return this.entities.includes(e)||this.entities.push(e),e}addFunctionDeclarationFromTransfer(e){const t=R(e,this);return this.addFunctionDeclaration(t),t}addFunctionDeclaration(e){return this.functions.includes(e)||this.functions.push(e),e}addFunctionCallFromTransfer(e){const t=R(e,this);return this.addFunctionCall(t),t}addFunctionCall(e){return this.functionCalls.includes(e)||this.functionCalls.push(e),e}addVariableDeclarationFromTransfer(e){const t=R(e,this);return this.addVariableDeclaration(t),t}addVariableDeclaration(e){return this.variableDeclarations.includes(e)||this.variableDeclarations.push(e),e}addVariableInstanceFromTransfer(e){const t=R(e,this);return this.addVariableInstance(t),t}addVariableInstance(e){return this.variableInstances.includes(e)||this.variableInstances.push(e),e}addInstalledProjectFromTransfer(e){const t=R(e,this);return this.addInstalledProject(t),this}addInstalledProject(e){return this.projects.includes(e)||this.projects.push(e),this}addGlobalEventFromTransfer(e){const t=R(e,this);return this.addGlobalEvent(t),this}addGlobalEvent(e){return this.events.includes(e)||this.events.push(e),this}addConditionFromTransfer(e){const t=R(e,this);return this.addCondition(t),this}addCondition(e){return this.conditions.includes(e)||this.conditions.push(e),this}addOperationFromTransfer(e){const t=R(e,this);return this.addOperation(t),this}addOperation(e){return this.operations.includes(e)||this.operations.push(e),this}addLoopFromTransfer(e){const t=R(e,this);return this.addLoop(t),this}addLoop(e){return this.loops.includes(e)||this.loops.push(e),this}addSearchFromTransfer(e){const t=R(e,this);return this.addSearch(t),this}addSearch(e){return this.searches.includes(e)||this.searches.push(e),this}removeCustomEntity(e){const t=this.entities.findIndex(i=>i.id===e.id);if(t>-1){const i=this.entities[t];return this.entities.splice(t,1),i}return null}removeFunctionDeclaration(e){const t=this.functions.findIndex(i=>i.id===e.id);if(t>-1){const i=this.functions[t];return this.functions.splice(t,1),i}return null}removeExternalProject(e){const t=this.projects.findIndex(i=>i.id===e.id);if(t>-1){const i=this.projects[t];return this.projects.splice(t,1),i}return null}removeGlobalEvent(e){const t=this.events.findIndex(i=>i.id===e.id);if(t>-1){const i=this.events[t];return this.events.splice(t,1),i}return null}removeTopLevelVariableDeclaration(e){if(e.type!==n.VariableDeclaration)return null;const t=this.variableDeclarations.findIndex(i=>i.id===e.id);if(t>-1){const i=this.variableDeclarations[t];return this.variableDeclarations.splice(t,1),i}return null}getEntryPoints(){return[...this.functions,...this.events,...this.entities.flatMap(t=>t.methods)]}getFunctionDeclaration(e){return this.functions.find(t=>t.id===e)||null}getConditions(){return[...this.conditions,...this.getEntryPoints().reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.functionCalls.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.operations.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.loops.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Condition)]},[]),...this.searches.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Condition)]},[])]}getOperations(){return[...this.operations,...this.getEntryPoints().reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.functionCalls.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.conditions.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.loops.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Operation)]},[]),...this.searches.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.Operation)]},[])]}getFunctionCalls(){return[...this.functionCalls,...this.getEntryPoints().reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.conditions.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.operations.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.loops.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[]),...this.searches.reduce((t,i)=>{const a=we(i);return[...t,...a.filter(s=>s.type===n.FunctionCall)]},[])]}getVariables(){return[...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const a=ie(i);return[...t,...a]},[]),...this.functionCalls.reduce((t,i)=>{const a=ie(i);return[...t,...a]},[]),...this.conditions.reduce((t,i)=>{const a=ie(i);return[...t,...a]},[]),...this.operations.reduce((t,i)=>{const a=ie(i);return[...t,...a]},[]),...this.loops.reduce((t,i)=>{const a=ie(i);return[...t,...a]},[]),...this.searches.reduce((t,i)=>{const a=ie(i);return[...t,...a]},[])]}getVariableInstances(){return[...this.variableInstances,...this.getEntryPoints().reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableInstance);return[...t,...s]},[])]}getVariableDeclarations(){return g([...this.variableDeclarations,...this.getEntryPoints().reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.functionCalls.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.conditions.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.operations.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.loops.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[]),...this.searches.reduce((t,i)=>{const s=ie(i).filter(o=>o.type===n.VariableDeclaration);return[...t,...s]},[])])}attachOrphanReferences(){const e=this.getVariableInstances(),t=this.getVariableDeclarations();return e.forEach(i=>{if(!i.declaration){const a=i.initialData,s=a.declaration.entityId||a.declaration.id,o=t.find(l=>l.id===s);o&&i.setDeclaration(o)}}),this}getBuiltInPersistedEntity(){return this.builtInBaseEntities.find(e=>e.name===L.PERSISTED_ENTITY)||null}};c(ee,"UUID",{isBackup:!0,uuid:()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),fromUUID:e=>e}),c(ee,"MUTABLE_BASE_PROPERTIES",["name","description"]),c(ee,"INMUTABLE_BASE_PROPERTIES",["id","type","version"]),c(ee,"BASE_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,...ee.INMUTABLE_BASE_PROPERTIES]),c(ee,"MUTABLE_META_PROPERTIES",[...ee.MUTABLE_BASE_PROPERTIES,"x","y"]),c(ee,"INMUTABLE_META_PROPERTIES",[...ee.INMUTABLE_BASE_PROPERTIES]),c(ee,"META_PROPERTIES",[...ee.MUTABLE_META_PROPERTIES,...ee.INMUTABLE_META_PROPERTIES]),c(ee,"MUTABLE_UPSTREAM_PROPERTIES",[]),c(ee,"INMUTABLE_UPSTREAM_PROPERTIES",["primitives","builtInBaseEntities","operationDeclarations","globalEventActionDescriptors","loopDeclarations","builtInInstances"]),c(ee,"UPSTREAM_PROPERTIES",[...ee.MUTABLE_UPSTREAM_PROPERTIES,...ee.INMUTABLE_UPSTREAM_PROPERTIES]),c(ee,"MUTABLE_DOWNSTREAM_PROPERTIES",["entities","projects","functions","events","variableDeclarations","variableInstances","conditions","operations","functionCalls","loops","searches"]),c(ee,"INMUTABLE_DOWNSTREAM_PROPERTIES",[]),c(ee,"DOWNSTREAM_PROPERTIES",[...ee.MUTABLE_DOWNSTREAM_PROPERTIES,...ee.INMUTABLE_DOWNSTREAM_PROPERTIES]),c(ee,"PROPERTIES",[...ee.META_PROPERTIES,...ee.UPSTREAM_PROPERTIES,...ee.DOWNSTREAM_PROPERTIES]);let N=ee;class PP extends ne{constructor(t){super(qt,t);c(this,"id",_e.Parallel);c(this,"name",_e.Parallel);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",qt);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=qt.inputs.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=qt.outputs.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=qt.error?R(qt.error,this.project):null}}class OP extends ne{constructor(t){super(dt,t);c(this,"id",dt.id);c(this,"name",dt.name);c(this,"description",dt.description);c(this,"version",dt.version);c(this,"autoexecutable",!1);c(this,"initialData",dt);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=dt.inputs.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=dt.outputs.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=dt.error?R(dt.error,this.project):null}}class SP extends ne{constructor(t){super(mn,t);c(this,"id",_e.Sequential);c(this,"name",_e.Sequential);c(this,"description","Execute a list of actions one after the other");c(this,"version",1);c(this,"autoexecutable",!0);c(this,"initialData",mn);c(this,"type",n.ActionDescriptor);c(this,"inputs",[]);c(this,"outputs",[]);c(this,"error",null);c(this,"project");this.project=t,this.inputs=mn.inputs.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.outputs=mn.outputs.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.error=mn.error?R(mn.error,this.project):null}}class E7 extends ne{constructor(e){super(Ni,e)}}class b7 extends ne{constructor(e){super(nr,e)}}class R7 extends ne{constructor(e){super(rr,e)}getEntityToMatchInputMap(e){return e.inputs.find(t=>{var i;return((i=t.declaration)==null?void 0:i.id)===_.operation[oe.Validate].inputs.entityToMatch.id})||null}getDataToValidateInputMap(e){return e.inputs.find(t=>{var i;return((i=t.declaration)==null?void 0:i.id)===_.operation[oe.Validate].inputs.dataToValidate.id})||null}getOutputDataOutputMap(e){return e.outputs.find(t=>{var i;return((i=t.declaration)==null?void 0:i.id)===_.operation[oe.Validate].outputs.outputEntity.id})||null}getEntityToMatch(e){let t=null;if(e.readsValue){const a=e.readsValue.getDataType();a&&a.entity&&a.entity.type===n.CustomEntity&&(t=a.entity)}const i=e.getDefaultValue();return!t&&i&&i.valueAsType&&!Array.isArray(i.valueAsType)&&i.valueAsType.type===n.CustomEntity&&(t=i.valueAsType),t}syncOperationInstance(e){const t=this.getEntityToMatchInputMap(e);t&&this.syncEntityToMatchInputMapDataType(t);const i=this.getDataToValidateInputMap(e);i&&this.syncDataToValidateInputMapDataType(i);const a=this.getOutputDataOutputMap(e);return a&&this.syncOutputDataOutputMapDataType(a),e}syncEntityToMatchInputMapDataType(e){var i,a,s;if(((i=e.declaration)==null?void 0:i.id)!==_.operation[oe.Validate].inputs.entityToMatch.id)return null;if(!e.dataType){const o={id:e.id+"--infered-data-type",version:1,type:n.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!0,entity:null,constant:!1,like:!0,inferred:!0,defaultValue:null,parent:e.toReference()},l=R(o,e.project);l.setParent(e),l.initChildren(),e.setDataType(l)}(a=e.dataType)==null||a.sync({inferred:!0,like:!1,asType:!0});const t=this.getEntityToMatch(e);return(s=e.dataType)==null||s.setEntity(t),e.dataType}syncDataToValidateInputMapDataType(e){var s,o,l;if(((s=e.declaration)==null?void 0:s.id)!==_.operation[oe.Validate].inputs.dataToValidate.id)return null;const t=this.getEntityToMatchInputMap(e.parent);if(!t||!this.getEntityToMatch(t))return null;if(!e.dataType){const p={id:e.id+"--infered-data-type",version:1,type:n.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,like:!0,inferred:!0,defaultValue:null,parent:e.toReference()},y=R(p,e.project);y.setParent(e),y.initChildren(),e.setDataType(y)}(o=e.dataType)==null||o.sync({inferred:!0,like:!0,asType:!1});const a=this.getEntityToMatch(t);return(l=e.dataType)==null||l.setEntity(a),e.dataType}syncOutputDataOutputMapDataType(e){var s,o,l;if(((s=e.declaration)==null?void 0:s.id)!==_.operation[oe.Validate].outputs.outputEntity.id)return null;const t=this.getEntityToMatchInputMap(e.parent);if(!t||!this.getEntityToMatch(t))return null;if(!e.dataType){const p={id:e.id+"--infered-data-type",version:1,type:n.DataType,isList:!1,isNullable:!1,andChildrenGroup:null,orChildrenGroup:null,asType:!1,entity:null,constant:!1,like:!0,inferred:!0,defaultValue:null,parent:e.toReference()},y=R(p,e.project);y.setParent(e),y.initChildren(),e.setDataType(y)}(o=e.dataType)==null||o.sync({inferred:!0,like:!0,asType:!1});const a=this.getEntityToMatch(t);return(l=e.dataType)==null||l.setEntity(a),e.dataType}inferInputMapDataType(e){var t,i;return((t=e.declaration)==null?void 0:t.id)===_.operation[oe.Validate].inputs.entityToMatch.id?this.syncEntityToMatchInputMapDataType(e):((i=e.declaration)==null?void 0:i.id)===_.operation[oe.Validate].inputs.dataToValidate.id?this.syncDataToValidateInputMapDataType(e):null}inferOutputMapDataType(e){var t;return((t=e.declaration)==null?void 0:t.id)===_.operation[oe.Validate].outputs.outputEntity.id?this.syncOutputDataOutputMapDataType(e):null}}class g7 extends ne{constructor(e){super(al,e)}}class v7 extends ne{constructor(e){super(ol,e)}}class I7 extends ne{constructor(e){super(ll,e)}}class D7 extends ne{constructor(e){super(Ha,e)}}class A7 extends ne{constructor(e){super(Ja,e)}}class P7 extends ne{constructor(e){super(wi,e)}}function O7(r){const e=[new SP(r),new PP(r),new OP(r),new E7(r),new b7(r),new R7(r),new D7(r),new g7(r),new I7(r),new v7(r),new A7(r),new P7(r),new ne(il,r),new ne(rl,r)];return e.forEach(t=>{t.initChildren(),r.subscribeBuiltInInstance(t)}),r.operationDeclarations=e,e}class CP extends Ft{constructor(t){super(xe,t);c(this,"initialData");c(this,"id",L.PERSISTED_ENTITY);c(this,"version",1);c(this,"name",L.PERSISTED_ENTITY);c(this,"description",xe.description);c(this,"type",n.BuiltInBaseEntity);c(this,"abstract",xe.abstract);c(this,"static",xe.static);c(this,"properties",[]);c(this,"methods",[]);c(this,"abstractMethods",[]);c(this,"extends",[]);c(this,"errors",[]);c(this,"project");this.initialData=xe,this.project=t,this.id=xe.id,this.version=xe.version,this.name=xe.name,this.static=xe.static,this.abstract=xe.abstract,this.properties=this.initialData.properties.map(i=>{const a=R(i,this.project);return a.setParent(this),a.initChildren(),a}),this.methods=this.initialData.methods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.abstractMethods=this.initialData.abstractMethods.map(i=>{const a=R(i,this.project);return a.parent=this,a}),this.extends=this.initialData.extends.map(i=>R(i,this.project))}}function S7(r){const e=[new CP(r),new Ft(ss,r),new Ft(Mn,r),new Ft(jl,r),new Ft(as,r)];return e.forEach(t=>{r.subscribeBuiltInInstance(t)}),r.builtInBaseEntities=e,e}function C7(r){const e=[new Ut(F,r),new Ut(_n,r),new Ut(Q,r),new Ut(ze,r),new Ut(Nn,r),new Ut(pn,r),new Ut(qa,r),new Ut(Ko,r)];return e.forEach(t=>{r.subscribeBuiltInInstance(t)}),r.primitives=e,e}function B7(r){const e=[new ne(us,r)];return e.forEach(t=>{t.initChildren(),r.subscribeBuiltInInstance(t)}),r.globalEventActionDescriptors=e,e}function w7(r){const e=[new ne(rs,r),new ne(ir,r),new ne(ns,r),new ne(Vi,r),new ne(Li,r),new ne(El,r)];e.forEach(i=>{i.initChildren(),r.subscribeBuiltInInstance(i)}),r.loopDeclarations=e;const t=[new ne(Ol,r),new ne(ts,r),new ne(Il,r),new ne(pT,r),new ne(wT,r),new ne(Rl,r)];return t.forEach(i=>{i.initChildren(),r.subscribeBuiltInInstance(i)}),r.loopDeclarationsBodies=t,e}function _7(r){const e=[new Ur(Wl,r)];return e.forEach(t=>{t.initChildren(),r.subscribeBuiltInInstance(t)}),r.valueDescriptors=e,e}function N7(r){const e=[new ne(cr,r),new ne(Zr,r)];return e.forEach(t=>{t.initChildren()}),r.conditionDeclarations=e,e}const qr={},Jo={};async function M7(r,e={}){const t={...xI};return t.id=r.id,e.empty?{data:{id:r.id,type:n.Project,version:1,name:null,description:null,projects:[],entities:[],operations:[],functions:[],variableDeclarations:[],variableInstances:[],functionCalls:[],conditions:[],loops:[],searches:[],events:[]}}:{data:t}}function BP(r){const e=new N(r);return C7(e),S7(e),O7(e),B7(e),w7(e),_7(e),N7(e),e.getAllBuiltIn().forEach(i=>{e.builtInInstances[i.id]||(e.builtInInstances[i.id]=i,delete e.instances[i.id])}),e.initChildren(),e}async function V7(r,e={}){if(r.id&&qr[r.id])return qr[r.id];if(r.id&&Jo[r.id])return await Jo[r.id],qr[r.id];const t=M7(r,e);r.id&&(Jo[r.id]=t);const i=await t;if(i.data){const a=BP(i.data);return qr[r.id]=a,r.id&&delete Jo[r.id],a}return null}function L7(r){return qr[r.id]&&delete qr[r.id],null}const G7="test_primitive_entities_export";d.AI_VALUE_CONNECTION_GENERATION_ACTION_EXPLANATION=Iu,d.ActionDescriptorState=ne,d.ActionInputMapState=D2,d.ActionOutputMapState=O2,d.AppendToListOperationInputIds=tf,d.AppendToListOperationOutputIds=nf,d.ArgumentDeclarationState=$r,d.BREAK_AND_CONTINUE_STATEMENTS_RETURN_DECLARATIONS_EXPLANATION=bu,d.BUILT_IN_BASE_ENTITY_IDS=_,d.BUILT_IN_ENTITY_TYPES=Yr,d.BaseCanvasDraggableState=l2,d.BaseEntityNames=L,d.BaseState=o2,d.BaseValueDescriptorIds=Zo,d.BreakStatementState=Si,d.BuiltInBaseEntityState=Ft,d.CACHED_PROJECTS_BY_ID=qr,d.CALLABLE_ENTITIES_EXPLANATION=F2,d.CALLABLE_TYPES=wn,d.CALLER_ENTITIES_EXPLANATION=xA,d.CALLER_TYPES=un,d.CALLS_UPDATE_EXPLANATION=Zn,d.COMPARISON_CONDITIONS=_b,d.CONDITIONS=aO,d.CUSTOM_ENTITY_OPERATIONS=Ih,d.CallableEntityClass=d2,d.CallerEntityClass=hu,d.ChildEntityState=c2,d.ComparisonOperatorTypes=Le,d.ConditionState=Nr,d.ContinueStatementState=Tt,d.CreateNewInputIds=Kf,d.CreateNewOutputIds=Xf,d.CustomEntityState=kr,d.DRAGGABLE_CALLABLE_TYPES=Ho,d.DRAGGABLE_CALLER_TYPES=xu,d.DRAGGABLE_ELEMENT_TYPES=zo,d.DRAGGABLE_EXECUTABLE_TYPES=_P,d.DRAGGABLE_PASS_THROUGH_CALLABLE_TYPES=Yo,d.DataTypeCompatibilityTypes=$t,d.DataTypeParentChildRelation=lt,d.DataTypeState=Di,d.ENTITIES_WITH_VALLUES_EXPLANATION=_o,d.ENTITY_TYPES=NP,d.ENTITY_WITH_LOGIC_SCOPE_TYPES=ct,d.ENTITY_WITH_NAMES_TYPES=ju,d.ENTITY_WITH_VALUE_TYPES=Uu,d.ENTRY_POINT_ENTITIES_EXPLANATION=Ga,d.ENTRY_POINT_TYPES=Ge,d.EVENT_TYPES=Wr,d.EXECUTABLE_TYPES=wP,d.EXECUTION_OPERATIONS=Zf,d.EntityError=Tr,d.EntityErrorSeverity=T,d.EntityGenerationError=E,d.EntityGenerationErrorCode=f,d.EntityInstanceErrorCode=M,d.EntityOperations=oe,d.EntityType=n,d.EntityWithLogicScopeClass=f2,d.EntityWithValueClass=y2,d.EntryPointEntityClass=u2,d.ExecutionOperations=_e,d.FunctionCallState=xr,d.FunctionDeclarationState=Br,d.GLOBAL_EVENT_DECLARATIONS=sO,d.GetLastInListOperationInputIds=ky,d.GetLastInListOperationOutputIds=qy,d.GlobalEventNames=dn,d.GlobalEventState=Ai,d.HTTPOperations=Qe,d.HTTP_OPERATIONS=rm,d.InputMapState=On,d.InstalledProjectState=Gr,d.InternalCallState=Pi,d.JoinListOperationInputIds=cy,d.JoinListOperationOutputIds=dy,d.LIST_OPERATIONS=mf,d.ListOperations=Y,d.LoopState=_r,d.LoopTypes=j,d.NON_INTERACTIVE_BASE_ENTITIES_EXPLANATION=Kn,d.NUMBER_OPERATIONS=Ip,d.NumberOperations=fe,d.OPERATION_DECLARATIONS=LP,d.OperationState=wr,d.OutputMapParentChildRelation=Fu,d.OutputMapState=Sn,d.PARENT_AUTO_CALCULATION_FROM_CALLER_EXPLANATION=No,d.PASS_THROUGH_CALLABLE_ENTITIES_EXPLANATION=zn,d.PASS_THROUGH_CALLABLE_TYPES=Ue,d.PROPERTY_NOT_VALUE_READER_WRITTER_EXPLANATION=vu,d.ParallelExecutionOperation=PP,d.ParallelExecutionOperationInputIds=Tf,d.ParallelExecutionOperationOutputIds=Ef,d.PassThroughCallableEntityClass=p2,d.PersistedEntity=CP,d.PersistedEntityMethods=Ct,d.PrimitiveEntityState=Ut,d.PrimitiveTypes=I,d.PrimitiveValueState=Oi,d.ProjectState=N,d.PropertyState=Cr,d.RETURN_STATEMENT_RETURN_DECLARATIONS_EXPLANATION=U2,d.ReturnDeclarationState=Nt,d.ReturnStatementState=Fr,d.STANDALONE_CONDITIONS=Pb,d.STRING_OPERATIONS=ly,d.ScopeCompatibilityType=qo,d.SearchState=Lr,d.SequentialExecutionOperation=SP,d.SequentialExecutionOperationInputIds=Gf,d.SequentialExecutionOperationOutputIds=$f,d.SharedEntityErrorCode=P,d.SharedStateFunctionality=$A,d.SplitListOperationInputIds=Ay,d.SplitListOperationOutputIds=Py,d.StandaloneOperatorTypes=Vt,d.StringOperations=K,d.TERMINATION_TYPES=$e,d.USER_MANAGED_ENTITY_TYPES=MP,d.UserManagedEntityStateFunctionality=s2,d.VALUE_READING_ENTITIES_EXPLANATION=gu,d.VALUE_READING_TYPES=Bn,d.VALUE_WRITING_ENTITIES_EXPLANATION=jA,d.VALUE_WRITING_TYPES=Fe,d.VARIABLE_DATA_TYPE_INFERRANCE_EXPLANATION=Ru,d.VARIABLE_TYPES=ke,d.ValueAutogenerationType=qe,d.ValueDescriptorParentChildRelation=A,d.ValueDescriptorState=Ur,d.ValueReadingEntityClass=Va,d.ValueWritingEntityClass=La,d.VariableDeclarationState=Mr,d.VariableInputMapState=I2,d.VariableInstanceState=Vr,d.VariableOutputMapState=P2,d.WaitOperation=OP,d.WaitOperationInputIds=Bf,d.WaitOperationOutputIds=wf,d.appendToListOperation=Ha,d.appendToListOperationElementToAppendArgument=dl,d.appendToListOperationElementToAppendArgumentParentRef=uf,d.appendToListOperationElementToAppendArgumentRef=sf,d.appendToListOperationError=hf,d.appendToListOperationErrorParentRef=ff,d.appendToListOperationListArgument=cl,d.appendToListOperationListArgumentParentRef=df,d.appendToListOperationListArgumentRef=rf,d.appendToListOperationListDataType=af,d.appendToListOperationResultListDataType=cf,d.appendToListOperationResultListReturn=yf,d.appendToListOperationResultListReturnParentRef=pf,d.appendToListOperationResultListReturnRef=lf,d.appendToListOperationSecondListDataType=of,d.asGenerationActionExample=ln,d.booleanPrototype=_n,d.capitalizeFirstLetter=Do,d.checkAreCustomEntitiesCompatibleAsDataType=AA,d.checkAreDataTypesCompatible=Zt,d.checkArePropertiesCompatibleAsDataType=DA,d.checkIsBranchDependentButNotDirectlyOnBranch=Fa,d.checkIsBranchDependentOnBranch=z2,d.checkIsCallableEntityReachable=ja,d.checkIsCanvasEntity=p7,d.checkIsDetachedBranch=RP,d.checkIsDetachedBranchShallow=Gu,d.checkIsGlobalVariable=d7,d.checkIsGloballyDeclared=Lu,d.checkIsMethod=IP,d.checkIsNestedScope=ko,d.checkScopeCompatibility=Ua,d.countedLoopActionDescriptor=rs,d.countedLoopActionDescriptorDynamicReturnDeclaration=UT,d.countedLoopActionDescriptorDynamicReturnDeclarationParentRef=FT,d.countedLoopActionDescriptorStringArgumentDeclaration=$T,d.countedLoopActionDescriptorStringArgumentDeclarationDataType=LT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValue=MT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeDefaultValueParentRef=NT,d.countedLoopActionDescriptorStringArgumentDeclarationDataTypeParentRef=VT,d.countedLoopActionDescriptorStringArgumentDeclarationParentRef=GT,d.countedLoopBodyActionDescriptor=Ol,d.countedLoopBodyActionDescriptorAnyDynamicArgument=JT,d.countedLoopBodyActionDescriptorAnyDynamicArgumentParentRef=qT,d.countedLoopBodyActionDescriptorAnyDynamicReturn=YT,d.countedLoopBodyActionDescriptorAnyDynamicReturnParentRef=WT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Pl,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=jT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=xT,d.countedLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=kT,d.createCustomEntityFromJSONObject=Pu,d.createEntityError=z,d.createNewInstanceOperation=nr,d.createNewInstanceOperationEntityToInstanciateArgument=sh,d.createNewInstanceOperationEntityToInstanciateArgumentRef=rh,d.createNewInstanceOperationEntityToInstanciateDataType=ih,d.createNewInstanceOperationError=dh,d.createNewInstanceOperationErrorParentRef=ch,d.createNewInstanceOperationNewEntityDataArgument=nh,d.createNewInstanceOperationNewEntityDataArgumentDataType=th,d.createNewInstanceOperationNewEntityDataArgumentDataTypeParentRef=eh,d.createNewInstanceOperationNewEntityDataArgumentParentRef=Qf,d.createNewInstanceOperationOutputEntityDeclaration=lh,d.createNewInstanceOperationOutputEntityDeclarationParentRef=oh,d.createNewInstanceOperationRef=ah,d.createSemanticId=He,d.createStateFromGenerationTargetType=T7,d.createStateFromType=xt,d.createStateFromTypeAndSubscribe=R,d.cronJobBuiltInBaseEntity=jl,d.cronJobBuiltInBaseEntityExpressionProperty=vb,d.cronJobBuiltInBaseEntityExpressionPropertyDataTypeRef=nO,d.cronJobBuiltInBaseEntityExpressionPropertyRef=Rb,d.cronJobBuiltInBaseEntityRef=gb,d.cronJobTriggeredFunctionDeclarationBlueprint=xl,d.cronJobTriggeredFunctionDeclarationBlueprintParentRef=Eb,d.customEntityToZodSchema=Zb,d.dataTypeCompatibilityToErrorExplanation=ZA,d.datePrototype=pn,d.dateValueAutogenerationSchema=nd,d.deletePersistedEntityMethod=Ul,d.deletePersistedEntityMethodParentRef=ZE,d.deleteRootProject=L7,d.endpointBuiltInBaseEntity=ss,d.endpointBuiltInBaseEntityRef=rE,d.endpointBuiltInBaseEntityRefFour=$E,d.endpointBuiltInBaseEntityRefThree=pE,d.endpointBuiltInBaseEntityRefTwo=lE,d.endpointBuiltInCorsProperty=iE,d.endpointBuiltInCorsPropertyDataType=nE,d.endpointBuiltInCorsPropertyDataTypeRef=eE,d.endpointBuiltInCorsPropertyRef=tE,d.endpointBuiltInMethodProperty=Cl,d.endpointBuiltInMethodPropertyDataType=uE,d.endpointBuiltInMethodPropertyDataTypeRef=cE,d.endpointBuiltInMethodPropertyRef=dE,d.endpointBuiltInPathProperty=Sl,d.endpointBuiltInPathPropertyDataType=oE,d.endpointBuiltInPathPropertyDataTypeRef=aE,d.endpointBuiltInPathPropertyRef=sE,d.endpointPathParamsArgumentDeclaration=wl,d.endpointPathParamsArgumentDeclarationRef=vE,d.endpointPathParamsVariableDataType=IE,d.endpointPathParamsVariableDataTypeRef=gE,d.endpointReachedTriggerActionDescriptor=Gl,d.endpointReachedTriggerActionDescriptorRef=DE,d.endpointReachedTriggerActionDescriptorRefFour=OE,d.endpointReachedTriggerActionDescriptorRefThree=PE,d.endpointReachedTriggerActionDescriptorRefTwo=AE,d.endpointRequestBodyArgumentDeclaration=Nl,d.endpointRequestBodyArgumentDeclarationRef=mE,d.endpointRequestBodyVariableDataType=TE,d.endpointRequestHeadersArgumentDeclaration=Bl,d.endpointRequestHeadersArgumentDeclarationRef=fE,d.endpointRequestHeadersVariableDataType=hE,d.endpointRequestHeadersVariableDataTypeRef=yE,d.endpointRequestQueryParamsArgumentDeclaration=_l,d.endpointRequestQueryParamsArgumentDeclarationRef=bE,d.endpointRequestQueryParamsVariableDataType=RE,d.endpointRequestQueryParamsVariableDataTypeRef=EE,d.endpointResponseBodyDataType=LE,d.endpointResponseBodyReturnDeclaration=Ll,d.endpointResponseBodyReturnDeclarationRef=VE,d.endpointResponseCodeDataType=CE,d.endpointResponseCodeReturnDeclaration=Ml,d.endpointResponseCodeReturnDeclarationRef=SE,d.endpointResponseHeadersDataType=NE,d.endpointResponseHeadersDataTypeRef=wE,d.endpointResponseHeadersReturnDeclaration=Vl,d.endpointResponseHeadersReturnDeclarationRef=_E,d.endpointReturnStatementRef=BE,d.endpointReturnStatementRefThree=GE,d.endpointReturnStatementRefTwo=ME,d.enumOptionsProperty=Yu,d.enumOptionsPropertyDataType=Ju,d.enumOptionsPropertyDataTypeRef=ku,d.enumOptionsPropertyRef=qu,d.enumPrototype=Nn,d.enumPrototypeRef=Wu,d.executionBuiltInEntity=ql,d.executionBuiltInEntityAbortMethod=kl,d.executionBuiltInEntityAbortMethodParentRef=Ib,d.filterOutDuplicateEntities=g,d.filterOutDuplicateErrors=n9,d.findEntityFromKeys=QA,d.findReferenceToSelfInList=pP,d.findReferencesToSelfInProject=i7,d.flattenCalls=cn,d.flattenCanvasAncestorsUntil=$o,d.flattenCustomEntityExtensionAndImplementationTypes=TP,d.flattenCustomEntityExtensionTypes=xo,d.flattenCustomEntityExtensions=Nu,d.flattenCustomEntityImplementations=Mu,d.flattenCustomEntityImplementionTypes=Uo,d.flattenDerivedCanvasEntities=Ot,d.flattenDetachedBranch=vP,d.flattenElementCalls=we,d.flattenElementCallsOnTheSameScope=r7,d.flattenProjectElements=uP,d.flattenRelatedCanvasElementsOnTheLeft=mP,d.flattenRelatedCanvasElementsOnTheRight=hP,d.flattenVariableReads=dP,d.flattenVariableWrites=cP,d.flattenVariables=ie,d.fromZodParseToEntityGenerationErrors=mu,d.generate=nC,d.generateActionExample=x2,d.generateDataTypeEntityFromLiteralValue=eP,d.generateExecutionDataType=xk,d.generateMutablePropertiesExplanation=Co,d.generateRandomBoolean=vR,d.generateRandomDate=eR,d.generateRandomDateAfter=Kb,d.generateRandomDateBefore=Xb,d.generateRandomDateBetweenRange=Qb,d.generateRandomNumber=TR,d.generateRandomNumberAfter=fR,d.generateRandomNumberBefore=hR,d.generateRandomNumberBetweenRange=mR,d.generateRandomText=gR,d.generateRandomTextAfter=ER,d.generateRandomTextBefore=bR,d.generateRandomTextBetweenRange=RR,d.generateUniqueUUID=yR,d.getAllActionDescriptorsForConditions=Lo,d.getAllActionDescriptorsForGlobalEvents=Mo,d.getAllActionDescriptorsForLoops=Vo,d.getAllActionDescriptorsForOperations=J2,d.getAllGloballyDeclaredFunctionDeclarationsExplanation=YA,d.getBaseBuiltInEntities=Qn,d.getBaseSchemaBasedOnType=FA,d.getBuiltInEntityOwner=er,d.getCallableEntityReferenceSchema=Ye,d.getCallableEntityTypeSchema=uD,d.getCallerEntityReferenceSchema=o3,d.getCallerEntityTypeSchema=s3,d.getCalls=Su,d.getCanvasEntitiesDerivedFromInternalCalls=fP,d.getCanvasEntitiesDerivedFromWrites=Ci,d.getCanvasEntityDerivedFromValueReadingEntity=_u,d.getCanvasEntityReferenceSchema=D3,d.getCanvasEntityTypeSchema=I3,d.getChildrenEntityWithValues=K2,d.getCommonAncestor=Ou,d.getCommonChildren=tP,d.getDeclaration=Sr,d.getDeepestScope=AP,d.getDraggableCallableEntityReferenceSchema=yD,d.getDraggableCallableEntityTypeSchema=pD,d.getDraggableCallerEntityReferenceSchema=c3,d.getDraggableCallerEntityTypeSchema=l3,d.getDraggableExecutableEntityReferenceSchema=y3,d.getDraggableExecutableEntityTypeSchema=p3,d.getDraggablePassThroughCallableEntityReferenceSchema=mo,d.getDraggablePassThroughCallableEntityTypeSchema=ho,d.getDraggablePlayableEntityReferenceSchema=E3,d.getDraggablePlayableEntityTypeSchema=T3,d.getEntityArgumentDeclarations=Bu,d.getEntityInputMaps=yP,d.getEntityOutputMaps=o7,d.getEntityReferenceSchema=v3,d.getEntityReturnDeclarations=wu,d.getEntityTypeSchema=g3,d.getEntityWithLogicScopeReferenceSchema=Dn,d.getEntityWithLogicScopeTypeSchema=f3,d.getEntityWithValueReferenceSchema=dD,d.getEntityWithValueTypeSchema=a3,d.getEntryPointEntityReferenceSchema=We,d.getEntryPointEntityTypeSchema=Wn,d.getEventEntityReferenceSchema=yo,d.getEventEntityTypeSchema=po,d.getExecutableEntityReferenceSchema=u3,d.getExecutableEntityTypeSchema=d3,d.getExtendedBuiltInEntity=l7,d.getExtendedCustomEntity=bP,d.getGenerationTargetSchemaBasedOnType=UA,d.getHeadIfPartOfDetachedBranch=gP,d.getHighestScope=DP,d.getImplementedBuiltInEntity=c7,d.getIsInteractive=Vu,d.getLastInListOperation=ll,d.getLastInListOperationError=ef,d.getLastInListOperationErrorParentRef=Qy,d.getLastInListOperationInputListArgument=Zy,d.getLastInListOperationInputListArgumentParentRef=zy,d.getLastInListOperationInputListArgumentRef=Jy,d.getLastInListOperationInputListDataType=Wy,d.getLastInListOperationOutputElementDataType=Hy,d.getLastInListOperationOutputElementReturn=Xy,d.getLastInListOperationOutputElementReturnParentRef=Ky,d.getLastInListOperationOutputElementReturnRef=Yy,d.getLinkedEntitiesFromArgumentDeclaration=n7,d.getLowestPersistedEntityImplementation=EP,d.getParentCanvasEntities=Et,d.getParentCanvasEntity=Xe,d.getParentEntryPoint=Z2,d.getPassThroughCallableEntityReferenceSchema=he,d.getPassThroughCallableEntityTypeSchema=fo,d.getPlayableEntityReferenceSchema=m3,d.getPlayableEntityTypeSchema=h3,d.getProject=V7,d.getPrototypeByType=jo,d.getReferenceEntityId=w,d.getReferencedEntitiesStateOrErrors=wo,d.getReferencedEntityStateOrErrors=Tu,d.getRelatedCanvasElementsOnTheLeft=jr,d.getRelatedCanvasElementsOnTheRight=Xn,d.getRootEntryPointScopeOwner=$u,d.getScopeOwner=bt,d.getTerminationReferenceSchema=R3,d.getTerminationTypeSchema=b3,d.getUsedArgFromDeclaration=a7,d.getUsedReturnFromDeclaration=s7,d.getValueReadingEntityReferenceSchema=cD,d.getValueReadingEntityTypeSchema=In,d.getValueWritingEntityReferenceSchema=i3,d.getValueWritingEntityTypeSchema=Aa,d.getVariableFromInputMapping=rP,d.getVariableFromReturnVariablePointer=sP,d.getVariableReferenceSchema=Jn,d.getVariableTypeSchema=vr,d.getVariablesFromArgumentDeclarations=Fo,d.getVariablesFromInputMaps=iP,d.getVariablesFromOutputMapping=oP,d.getVariablesFromOutputMaps=lP,d.getVariablesFromReturnDeclarations=aP,d.getVariablesInSameOrHigherScope=ou,d.getWrites=Cu,d.groupCallsBasedOnParallelizableExecution=Q2,d.handleAfterEntityImplementationSideEffects=XA,d.handleBeforeEntityImplementationSideEffects=KA,d.httpRequestBodyArgument=Xa,d.httpRequestBodyArgumentRef=Lh,d.httpRequestBodyDataType=Gh,d.httpRequestHeadersArgument=Ka,d.httpRequestHeadersArgumentRef=Mh,d.httpRequestHeadersDataType=Vh,d.httpRequestMethodArgument=za,d.httpRequestMethodArgumentRef=_h,d.httpRequestMethodDataType=Nh,d.httpRequestMethodDataTypeRef=Bh,d.httpRequestOperation=Ni,d.httpRequestOperationErrorValueDescriptor=Tl,d.httpRequestOperationErrorValueDescriptorDatatype=nm,d.httpRequestOperationErrorValueDescriptorRef=tm,d.httpRequestOperationRef=Kh,d.httpRequestOperationRefEight=Qh,d.httpRequestOperationRefFive=zh,d.httpRequestOperationRefFour=Hh,d.httpRequestOperationRefNine=em,d.httpRequestOperationRefSeven=Xh,d.httpRequestOperationRefSix=Zh,d.httpRequestOperationRefThree=Yh,d.httpRequestOperationRefTwo=Wh,d.httpRequestQueryParamsArgument=hl,d.httpRequestQueryParamsArgumentRef=Sh,d.httpRequestQueryParamsDataType=Ch,d.httpRequestVariableURLArgument=Za,d.httpRequestVariableURLArgumentRef=Ph,d.httpRequestVariableURLDataType=Oh,d.httpRequestVariableURLDataTypeRef=Dh,d.httpResponseBodyReturnDataType=Jh,d.httpResponseBodyReturnDataTypeRef=kh,d.httpResponseBodyReturnReturn=_i,d.httpResponseBodyReturnReturnRef=qh,d.httpResponseCodeDataType=Fh,d.httpResponseCodeReturn=ml,d.httpResponseCodeReturnRef=$h,d.httpResponseHeadersDataType=jh,d.httpResponseHeadersDataTypeRef=Uh,d.httpResponseHeadersReturn=Qa,d.httpResponseHeadersReturnRef=xh,d.implement=Go,d.inferArgumentDeclarationDataType=PA,d.inferDataType=on,d.inferInputMapDataType=iu,d.inferOutputMapDataType=su,d.inferPropertyDataType=CA,d.inferReturnDeclarationDataType=au,d.inferValueDescriptorDataType=BA,d.inferVariableDeclarationDataType=SA,d.inferVariableInstanceDataType=OA,d.initProject=BP,d.iterateOverListActionDescriptorListArgumentDeclaration=Tm,d.iterateOverListActionDescriptorListArgumentDeclarationDataType=hm,d.iterateOverListActionDescriptorListArgumentDeclarationDataTypeParentRef=fm,d.iterateOverListActionDescriptorListArgumentDeclarationParentRef=mm,d.iterateOverListLoopActionDescriptor=ir,d.iterateOverListLoopActionDescriptorDynamicReturnDeclaration=bm,d.iterateOverListLoopActionDescriptorDynamicReturnDeclarationParentRef=Em,d.iterateOverListLoopBodyActionDescriptor=ts,d.iterateOverListLoopBodyActionDescriptorAnyDynamicArgument=Sm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicArgumentParentRef=Om,d.iterateOverListLoopBodyActionDescriptorAnyDynamicReturn=Bm,d.iterateOverListLoopBodyActionDescriptorAnyDynamicReturnParentRef=Cm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclaration=es,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=gm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=Rm,d.iterateOverListLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=vm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclaration=Pm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=Dm,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=Im,d.iterateOverListLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=Am,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclaration=Xm,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataType=Zm,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationDataTypeParentRef=zm,d.iterateOverObjectKeysActionDescriptorObjectArgumentDeclarationParentRef=Km,d.iterateOverObjectKeysLoopActionDescriptor=Vi,d.iterateOverObjectKeysLoopActionDescriptorDynamicReturnDeclaration=eT,d.iterateOverObjectKeysLoopActionDescriptorDynamicReturnDeclarationParentRef=Qm,d.iterateOverObjectKeysLoopBodyActionDescriptor=pT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicArgument=cT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicArgumentParentRef=lT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicReturn=uT,d.iterateOverObjectKeysLoopBodyActionDescriptorAnyDynamicReturnParentRef=dT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclaration=Dl,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=nT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=tT,d.iterateOverObjectKeysLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=rT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclaration=oT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=aT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=iT,d.iterateOverObjectKeysLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=sT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclaration=TT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataType=hT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationDataTypeParentRef=fT,d.iterateOverObjectValuesActionDescriptorObjectArgumentDeclarationParentRef=mT,d.iterateOverObjectValuesLoopActionDescriptor=Li,d.iterateOverObjectValuesLoopActionDescriptorDynamicReturnDeclaration=bT,d.iterateOverObjectValuesLoopActionDescriptorDynamicReturnDeclarationParentRef=ET,d.iterateOverObjectValuesLoopBodyActionDescriptor=wT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgument=ST,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicArgumentParentRef=OT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicReturn=BT,d.iterateOverObjectValuesLoopBodyActionDescriptorAnyDynamicReturnParentRef=CT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclaration=Al,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=gT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=RT,d.iterateOverObjectValuesLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=vT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclaration=PT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=DT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=IT,d.iterateOverObjectValuesLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=AT,d.iterateOverStringActionDescriptorDynamicReturnDeclaration=Gm,d.iterateOverStringActionDescriptorDynamicReturnDeclarationParentRef=Lm,d.iterateOverStringActionDescriptorStringArgumentDeclaration=Vm,d.iterateOverStringActionDescriptorStringArgumentDeclarationDataType=Nm,d.iterateOverStringActionDescriptorStringArgumentDeclarationDataTypeParentRef=_m,d.iterateOverStringActionDescriptorStringArgumentDeclarationParentRef=Mm,d.iterateOverStringLoopActionDescriptor=ns,d.iterateOverStringLoopBodyActionDescriptor=Il,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicArgument=Jm,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicArgumentParentRef=qm,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicReturn=Ym,d.iterateOverStringLoopBodyActionDescriptorAnyDynamicReturnParentRef=Wm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclaration=gl,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataType=Fm,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationDataTypeParentRef=$m,d.iterateOverStringLoopBodyActionDescriptorCurrentValueArgumentDeclarationParentRef=Um,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclaration=vl,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataType=jm,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationDataTypeParentRef=xm,d.iterateOverStringLoopBodyActionDescriptorIterationNumberArgumentDeclarationParentRef=km,d.joinListOperation=al,d.joinListOperationError=Dy,d.joinListOperationErrorParentRef=Iy,d.joinListOperationFirstListArgument=Ey,d.joinListOperationFirstListArgumentParentRef=Ty,d.joinListOperationFirstListArgumentRef=uy,d.joinListOperationFirstListDataType=py,d.joinListOperationResultListDataType=my,d.joinListOperationResultListReturn=vy,d.joinListOperationResultListReturnParentRef=gy,d.joinListOperationResultListReturnRef=hy,d.joinListOperationSecondListArgument=Ry,d.joinListOperationSecondListArgumentParentRef=by,d.joinListOperationSecondListArgumentRef=yy,d.joinListOperationSecondListDataType=fy,d.joinListWithLastSeparator=$,d.joinStringsOperation=wi,d.joinStringsOperationDynamicStringArgument=qp,d.joinStringsOperationDynamicStringArgumentParentRef=kp,d.joinStringsOperationDynamicStringArgumentRef=xp,d.joinStringsOperationDynamicStringDataType=jp,d.joinStringsOperationError=Up,d.joinStringsOperationErrorParentRef=Fp,d.joinStringsOperationFirstStringArgument=Wa,d.joinStringsOperationFirstStringArgumentParentRef=Bp,d.joinStringsOperationFirstStringArgumentRef=Dp,d.joinStringsOperationFirstStringDataType=Ap,d.joinStringsOperationResultStringDataType=Cp,d.joinStringsOperationResultStringReturn=Bi,d.joinStringsOperationResultStringReturnParentRef=$p,d.joinStringsOperationResultStringReturnRef=Sp,d.joinStringsOperationSecondStringArgument=Ya,d.joinStringsOperationSecondStringArgumentParentRef=Gp,d.joinStringsOperationSecondStringArgumentRef=Pp,d.joinStringsOperationSecondStringDataType=Op,d.joinStringsOperationSeparatorStringArgument=Lp,d.joinStringsOperationSeparatorStringArgumentParentRef=Vp,d.joinStringsOperationSeparatorStringArgumentRef=wp,d.joinStringsOperationSeparatorStringDataType=Mp,d.joinStringsOperationSeparatorStringDataTypeDefaultValue=Np,d.joinStringsOperationSeparatorStringDataTypeDefaultValueParentRef=_p,d.jsonPrototype=Ko,d.keyValueParamBuiltInBaseEntity=as,d.keyValueParamBuiltInBaseEntityNameProperty=ZT,d.keyValueParamBuiltInBaseEntityNamePropertyDataTypeRef=$P,d.keyValueParamBuiltInBaseEntityNamePropertyParentRef=zT,d.keyValueParamBuiltInBaseEntityNamePropertyRef=HT,d.keyValueParamBuiltInBaseEntityValueProperty=QT,d.keyValueParamBuiltInBaseEntityValuePropertyDataTypeRef=UP,d.keyValueParamBuiltInBaseEntityValuePropertyParentRef=XT,d.keyValueParamBuiltInBaseEntityValuePropertyRef=KT,d.lowercaseFirstLetter=IA,d.manualFlowActionDescriptorDeclarationArgumentDeclaration=bl,d.manualFlowActionDescriptorDeclarationArgumentDeclarationDataType=om,d.manualFlowActionDescriptorDeclarationArgumentDeclarationDataTypeParentRef=sm,d.manualFlowActionDescriptorDeclarationArgumentDeclarationParentRef=lm,d.manualFlowLoopActionDescriptor=El,d.manualFlowLoopActionDescriptorDynamicReturnDeclaration=am,d.manualFlowLoopActionDescriptorDynamicReturnDeclarationParentRef=im,d.manualFlowLoopBodyActionDescriptor=Rl,d.manualFlowLoopBodyActionDescriptorAnyDynamicArgument=dm,d.manualFlowLoopBodyActionDescriptorAnyDynamicArgumentParentRef=cm,d.manualFlowLoopBodyActionDescriptorAnyDynamicReturn=pm,d.manualFlowLoopBodyActionDescriptorAnyDynamicReturnParentRef=um,d.mapActionDescriptorToTypeItRepresents=y7,d.mergeEntityErrorsList=r9,d.mergeListOfEntities=u7,d.methodDefaultValue=wh,d.mockClientProject=xI,d.moreThanOrEqualCondition=Zr,d.moreThanOrEqualConditionLeftHandArgument=Cb,d.moreThanOrEqualConditionLeftHandArgumentParentRef=Sb,d.moreThanOrEqualConditionRightHandArgument=wb,d.moreThanOrEqualConditionRightHandArgumentParentRef=Bb,d.notEmptyCondition=cr,d.notEmptyConditionArgument=Ab,d.notEmptyConditionRef=Db,d.numberAdditionOperation=Ja,d.numberAdditionOperationDynamicSummandArgument=sp,d.numberAdditionOperationDynamicSummandArgumentType=ap,d.numberAdditionOperationDynamicSummandArgumentTypeParentRef=ip,d.numberAdditionOperationError=rp,d.numberAdditionOperationErrorParentRef=np,d.numberAdditionOperationFirstNumberArgument=Xo,d.numberAdditionOperationFirstNumberArgumentRef=Hu,d.numberAdditionOperationFirstNumberDataType=zu,d.numberAdditionOperationRef=ep,d.numberAdditionOperationRefThree=el,d.numberAdditionOperationRefTwo=tp,d.numberAdditionOperationResultNumberDataType=Qu,d.numberAdditionOperationResultNumberReturn=tl,d.numberAdditionOperationResultNumberReturnRef=Xu,d.numberAdditionOperationSecondNumberArgument=Qo,d.numberAdditionOperationSecondNumberArgumentRef=Zu,d.numberAdditionOperationSecondNumberDataType=Ku,d.numberPrototype=Q,d.numberSubtractionOperation=rl,d.numberSubtractionOperationDynamicSubtrahendArgument=vp,d.numberSubtractionOperationDynamicSubtrahendArgumentType=gp,d.numberSubtractionOperationDynamicSubtrahendArgumentTypeParentRef=Rp,d.numberSubtractionOperationError=bp,d.numberSubtractionOperationErrorParentRef=Ep,d.numberSubtractionOperationFirstNumberArgument=yp,d.numberSubtractionOperationFirstNumberArgumentRef=op,d.numberSubtractionOperationFirstNumberDataType=lp,d.numberSubtractionOperationRef=nl,d.numberSubtractionOperationRefThree=mp,d.numberSubtractionOperationRefTwo=fp,d.numberSubtractionOperationResultNumberDataType=pp,d.numberSubtractionOperationResultNumberReturn=Tp,d.numberSubtractionOperationResultNumberReturnRef=up,d.numberSubtractionOperationSecondNumberArgument=hp,d.numberSubtractionOperationSecondNumberArgumentRef=cp,d.numberSubtractionOperationSecondNumberDataType=dp,d.numberValueAutogenerationSchema=td,d.parallelExecutionOperation=qt,d.parallelExecutionOperationError=Cf,d.parallelExecutionOperationErrorParentRef=Sf,d.parallelExecutionOperationListOfExecutionResultsDataType=Af,d.parallelExecutionOperationListOfExecutionResultsReturn=pl,d.parallelExecutionOperationListOfExecutionResultsReturnRef=Df,d.parallelExecutionOperationListOfFunctionsArgument=ul,d.parallelExecutionOperationListOfFunctionsArgumentDatatype=If,d.parallelExecutionOperationListOfFunctionsArgumentRef=vf,d.parallelExecutionOperationListOfFunctionsBlueprint=gf,d.parallelExecutionOperationListOfFunctionsBlueprintDynamicInput=Rf,d.parallelExecutionOperationListOfFunctionsBlueprintDynamicOutput=bf,d.parallelExecutionOperationRef=Pf,d.parallelExecutionOperationRefThree=Of,d.persistedBuiltInBaseEntity=xe,d.persistedBuiltInBaseEntityCreatedAtProperty=yb,d.persistedBuiltInBaseEntityCreatedAtPropertyDataType=ub,d.persistedBuiltInBaseEntityCreatedAtPropertyDataTypeRef=eO,d.persistedBuiltInBaseEntityCreatedAtPropertyParentRef=pb,d.persistedBuiltInBaseEntityCreatedAtPropertyRef=db,d.persistedBuiltInBaseEntityDatabaseProperty=Fi,d.persistedBuiltInBaseEntityDatabasePropertyDataTypeRef=ZP,d.persistedBuiltInBaseEntityDatabasePropertyParentRef=tb,d.persistedBuiltInBaseEntityDatabasePropertyRef=eb,d.persistedBuiltInBaseEntityDeletedAtProperty=cb,d.persistedBuiltInBaseEntityDeletedAtPropertyDataType=ob,d.persistedBuiltInBaseEntityDeletedAtPropertyDataTypeRef=QP,d.persistedBuiltInBaseEntityDeletedAtPropertyParentRef=lb,d.persistedBuiltInBaseEntityDeletedAtPropertyRef=sb,d.persistedBuiltInBaseEntityIdentifierProperty=ab,d.persistedBuiltInBaseEntityIdentifierPropertyDataTypeRef=nb,d.persistedBuiltInBaseEntityIdentifierPropertyParentRef=ib,d.persistedBuiltInBaseEntityIdentifierPropertyRef=rb,d.persistedBuiltInBaseEntityUpdatedAtProperty=Tb,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataType=hb,d.persistedBuiltInBaseEntityUpdatedAtPropertyDataTypeRef=tO,d.persistedBuiltInBaseEntityUpdatedAtPropertyParentRef=mb,d.persistedBuiltInBaseEntityUpdatedAtPropertyRef=fb,d.processOutputGlobalValueDescriptorDataType=Mb,d.processOutputGlobalValueDescriptorReturn=Wl,d.processOutputGlobalValueDescriptorReturnRef=Nb,d.projectPublicationCompletedGlobalEvent=us,d.propertyToZodSchema=zb,d.relationalDatabaseBuiltInBaseEntity=Mn,d.relationalDatabaseBuiltInBaseEntityAutoscalingProperty=Fl,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyDataTypeRef=HE,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyParentRef=zE,d.relationalDatabaseBuiltInBaseEntityAutoscalingPropertyRef=YE,d.relationalDatabaseBuiltInBaseEntityDefaultProperty=$l,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyDataTypeRef=JE,d.relationalDatabaseBuiltInBaseEntityDefaultPropertyRef=WE,d.relationalDatabaseBuiltInBaseEntityIdentifierProperty=os,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyDataTypeRef=FE,d.relationalDatabaseBuiltInBaseEntityIdentifierPropertyRef=UE,d.relationalDatabaseBuiltInBaseEntityMinSizeProperty=ds,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyDataTypeRef=kE,d.relationalDatabaseBuiltInBaseEntityMinSizePropertyRef=qE,d.relationalDatabaseBuiltInBaseEntityPasswordProperty=cs,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyDataTypeRef=JP,d.relationalDatabaseBuiltInBaseEntityPasswordPropertyRef=jE,d.relationalDatabaseBuiltInBaseEntityRef=zr,d.relationalDatabaseBuiltInBaseEntityUsernameProperty=ls,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyDataTypeRef=kP,d.relationalDatabaseBuiltInBaseEntityUsernamePropertyRef=xE,d.resolveActionDescriptorName=GA,d.resolveBaseEntityName=_A,d.resolveBuiltInBaseEntityDataTypeLabel=NA,d.resolveConditionOperatorLabel=Oo,d.resolveCustomEntityDataTypeLabel=MA,d.resolveDataType=Ao,d.resolveDataTypeLabel=lu,d.resolveEntityDataTypeLabel=Jk,d.resolveEntityName=C,d.resolveFirstCallsSecond=e7,d.resolveFirstWritesSecond=t7,d.resolvePrimitiveEntityName=LA,d.resolveSearchName=VA,d.resolveVariableScope=jk,d.sequentialExecutionOperation=mn,d.sequentialExecutionOperationError=zf,d.sequentialExecutionOperationErrorParentRef=Hf,d.sequentialExecutionOperationListOfExecutionResultsDataType=Jf,d.sequentialExecutionOperationListOfExecutionResultsReturn=fl,d.sequentialExecutionOperationListOfExecutionResultsReturnParentRef=Yf,d.sequentialExecutionOperationListOfExecutionResultsReturnRef=qf,d.sequentialExecutionOperationListOfFunctionsArgument=yl,d.sequentialExecutionOperationListOfFunctionsArgumentDatatype=kf,d.sequentialExecutionOperationListOfFunctionsArgumentParentRef=Wf,d.sequentialExecutionOperationListOfFunctionsArgumentRef=jf,d.sequentialExecutionOperationListOfFunctionsBlueprint=xf,d.sequentialExecutionOperationListOfFunctionsBlueprintDynamicInput=Uf,d.sequentialExecutionOperationListOfFunctionsBlueprintDynamicOutput=Ff,d.softDeletePersistedEntityMethod=XE,d.softDeletePersistedEntityMethodParentRef=KE,d.sortCallsBasedOnExecutionDependencies=nP,d.sortChildrenEntitiesBasedOnExecutionDependencies=X2,d.splitListOperation=ol,d.splitListOperationError=jy,d.splitListOperationErrorParentRef=xy,d.splitListOperationFirstOutputListDataType=wy,d.splitListOperationFirstOutputListReturn=Gy,d.splitListOperationFirstOutputListReturnParentRef=Ly,d.splitListOperationFirstOutputListReturnRef=sl,d.splitListOperationInputListArgument=Ny,d.splitListOperationInputListArgumentParentRef=_y,d.splitListOperationInputListArgumentRef=Oy,d.splitListOperationInputListDataType=Sy,d.splitListOperationSecondOutputListDataType=$y,d.splitListOperationSecondOutputListReturn=Uy,d.splitListOperationSecondOutputListReturnParentRef=Fy,d.splitListOperationSplitIndexArgument=Vy,d.splitListOperationSplitIndexArgumentParentRef=My,d.splitListOperationSplitIndexArgumentRef=Cy,d.splitListOperationSplitIndexDataType=By,d.splitStringOperation=il,d.splitStringOperationError=oy,d.splitStringOperationErrorParentRef=sy,d.splitStringOperationFirstPartResultStringDataType=Zp,d.splitStringOperationFirstPartResultStringReturn=ay,d.splitStringOperationFirstPartResultStringReturnParentRef=iy,d.splitStringOperationFirstPartResultStringReturnRef=zp,d.splitStringOperationIndexArgument=ny,d.splitStringOperationIndexArgumentParentRef=ty,d.splitStringOperationIndexArgumentRef=Yp,d.splitStringOperationIndexDataType=Hp,d.splitStringOperationSecondPartResultStringDataType=Xp,d.splitStringOperationSecondPartResultStringReturn=VP,d.splitStringOperationSecondPartResultStringReturnParentRef=ry,d.splitStringOperationSecondPartResultStringReturnRef=Kp,d.splitStringOperationStringArgument=ey,d.splitStringOperationStringArgumentParentRef=Qp,d.splitStringOperationStringArgumentRef=Jp,d.splitStringOperationStringDataType=Wp,d.stringPrototype=F,d.stringValueAutogenerationSchema=ed,d.suggestNewIdForEntity=fu,d.test_primitive_entities_export=G7,d.toCamelCase=kk,d.toEntityState=Mt,d.toKebabCase=wA,d.toLowerCaseKebabCase=Po,d.toPascalCase=qk,d.untypedObjectPrototype=ze,d.updateErrorsList=ae,d.updateValueReader=xa,d.urlDefaultValue=Ah,d.uuidPrototype=qa,d.validateArgumentDeclarationName=pu,d.validateCalledByErrorIdInAction=k2,d.validateCalledByIdInAction=j2,d.validateCallers=WA,d.validateConditionEntityDeclaration=W2,d.validateCustomEntityName=So,d.validateDataOperation=rr,d.validateDataOperationDataToValidateArgument=fh,d.validateDataOperationDataToValidateArgumentParentRef=yh,d.validateDataOperationDataToValidateArgumentRef=uh,d.validateDataOperationDataToValidateDataType=ph,d.validateDataOperationEntityToMatchTypeArgument=Eh,d.validateDataOperationEntityToMatchTypeArgumentParentRef=Th,d.validateDataOperationEntityToMatchTypeArgumentRef=hh,d.validateDataOperationEntityToMatchTypeDataType=mh,d.validateDataOperationError=vh,d.validateDataOperationErrorParentRef=gh,d.validateDataOperationOutputEntityDeclaration=Rh,d.validateDataOperationOutputEntityDeclarationParentRef=bh,d.validateEntryCaller=JA,d.validateErrorCaller=qA,d.validateFunctionCallDeclaration=HA,d.validateFunctionDeclarationName=cu,d.validateGeneratedEntityParentIsNotBuiltInEntity=$2,d.validateGeneration=L2,d.validateGenerationTarget=Ne,d.validateGenerationUpdate=G2,d.validateLoopEntityDeclaration=Y2,d.validateName=Wk,d.validateOperationEntityDeclaration=zA,d.validatePropertyName=uu,d.validateReachability=Cn,d.validateReadsValueInActionPayload=q2,d.validateReferenceObject=Bo,d.validateReferenceToOne=Eu,d.validateReferences=Je,d.validateReturnDeclarationName=yu,d.validateSuccessCaller=kA,d.validateValueReaderGenerationUpdate=$a,d.validateValueWritter=Du,d.validateVariableDeclarationName=du,d.validateVariableInternalCallUse=Au,d.valueAutogenerationCurrentDateAndTimeSchema=kI,d.valueAutogenerationGenericSchema=Zs,d.valueAutogenerationOptions=rd,d.valueAutogenerationOptionsSchema=jI,d.valueAutogenerationRandomBooleanSchema=Qc,d.valueAutogenerationRandomDateBetweenSchema=XI,d.valueAutogenerationRandomDateFromSchema=ZI,d.valueAutogenerationRandomDateSchema=Qs,d.valueAutogenerationRandomDateUntilSchema=KI,d.valueAutogenerationRandomNumberBetweenSchema=WI,d.valueAutogenerationRandomNumberFromSchema=qI,d.valueAutogenerationRandomNumberSchema=Ks,d.valueAutogenerationRandomNumberUntilSchema=JI,d.valueAutogenerationRandomSchema=Ea,d.valueAutogenerationRandomTextBetweenSchema=zI,d.valueAutogenerationRandomTextFromSchema=YI,d.valueAutogenerationRandomTextSchema=Xs,d.valueAutogenerationRandomTextUntilSchema=HI,d.valueAutogenerationRangeValueTypesSchema=Ta,d.valueAutogenerationUniqueSchema=Xc,d.waitOperation=dt,d.waitOperationMillisecondsNumberArgument=tr,d.waitOperationMillisecondsNumberArgumentRef=_f,d.waitOperationMillisecondsNumberDataType=Nf,d.waitOperationOperationError=Lf,d.waitOperationOperationErrorParentRef=Vf,d.waitOperationRef=Mf,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elyx-code/project-logic-tree",
3
- "version": "0.0.6055",
3
+ "version": "0.0.6056",
4
4
  "author": "Sergio Herrero",
5
5
  "license": "UNLICENSED",
6
6
  "description": "An installable module which contains the type definitions and ephemeral state management for a projects' logic tree data structure",